Skip to content

feat: 配置深度链接、用量趋势图、目录软链总览与防休眠#17

Merged
maguowei merged 23 commits into
mainfrom
dev
Jul 14, 2026
Merged

feat: 配置深度链接、用量趋势图、目录软链总览与防休眠#17
maguowei merged 23 commits into
mainfrom
dev

Conversation

@maguowei

Copy link
Copy Markdown
Owner

摘要

本 PR 将 dev 集成为一批面向配置管理与守护体验的增强,涵盖深度链接导入、用量可视化、目录总览、防休眠与多项修复/文档整理。

变更分组

feat(新功能)

  • deep-link:支持 code-manager:// 配置导入深度链接;钉死公网 DNS 解析并去重语言切换重复入队
  • usage:缓存命中率趋势图扩展为总体与各模型多系列
  • claude-overview:目录总览展示软链并只读跟随预览
  • sleep / tray:新增可选屏幕常亮,托盘与设置页同步切换;会话运行时阻止 macOS 空闲休眠,新增防止休眠三态开关
  • settings:防止休眠加实时生效徽标与切换 Toast 反馈;偏好权威值提升到 App,抽屉改为 prop 下发的编辑草稿

fix(修复)

  • profiles:重构模型测试结果列表展示与失败原因卡
  • projects:源码仓库 URL 改单行省略号避免窄卡片逐字符换行
  • settings:突出分段控件选中态并守卫工作区重拉竞态
  • claude-overview:同步预览 summary 样式契约测试

refactor / build / docs / chore

  • settings 偏好权威值重构
  • 升级 typescript 到 7.0.2 原生编译器
  • 精简发版/依赖升级技能并消重 rules
  • 清理已删除能力断链引用与冗余设计文档

验证

  • 改动范围已通过 make verify 本地门禁(lint-frontend / lint-rust / check / test-rust / test-frontend / bindings-check)
  • 工作区干净,dev 领先 main 22 个提交,无落后

maguowei and others added 23 commits July 5, 2026 21:55
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
三态模式 off/whileActive/always 持久化在 AppPreferences;whileActive 依据
running 类会话数(waiting 不计入)自动 acquire/release IOKit 电源断言,仅阻止
系统空闲休眠、不提权、不处理合盖。Settings 分段控件与主托盘子菜单均只在 macOS
渲染,退出时释放断言。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
后端新增 get_sleep_prevention_status 命令与 sleep-prevention-changed 事件,
active 翻转(会话起止/模式切换致断言 acquire/release)时广播;设置页挂载拉一次 +
订阅事件,实时展示「正在保持唤醒/空闲可休眠」徽标,切换成功补 Toast 反馈。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
会话保持唤醒时可连显示器一起不熄:正交布尔 keepDisplayAwake,
关(默认)用 PreventUserIdleSystemSleep 只挡系统、放任屏幕熄灭,
开时改用 PreventUserIdleDisplaySleep。托盘子菜单加可勾选项、
设置页加 Switch 与「含屏幕」徽标,并订阅 config-workspace-changed
让托盘改动实时刷新面板。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SegmentedControl 选中项改用主色高亮并覆盖 ghost hover,避免悬停时
被 accent 色盖住导致选中态不明显、快速切换看不到最新值。

loadWorkspace 增加请求序号守卫,并发/乱序重拉时只应用最新一次结果,
避免过期响应覆盖偏好开关的乐观更新。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
从 6.0.3 升级到原生 Go 实现的 tsc 7.0.2;随之 pnpm 拉入各平台
@typescript/typescript-* 二进制,并将其追加进 minimumReleaseAgeExclude
(同 vite@8.1.0 先例,放行 1 天龄的新发布)。make verify 全绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
将测试状态从模型行拆为独立「测试:」行,展示 Provider 合并后的有效
模型/effort,缩短耗时文案并补充批量 Toast、保存清状态与 Dialog 失败
原因卡,修复无模型覆盖时结果不可见与布局挤压。
扫描收录软链(目录可展开)、预览可跟随出界目标;写操作经软链路径仍拒绝。
二进制改扩展名黑名单,文本一律可预览;修复上下文菜单 portal 与软链提示 UI。
注册自定义 scheme 与单实例协作,支持内嵌 payload 与远端 HTTPS 导入;
导出可复制 Deep Link,预览确认后新建配置且不自动应用。
- 远端导入改用 resolve_to_addrs 将域名钉到已过滤的公网地址,关闭连接阶段二次 DNS 解析导致的 rebinding 打穿 SSRF 窗口
- 响应体改为流式限长读取,Content-Length 超 256KB 直接拒绝,避免先全量缓冲再校验
- 前端按 requestId 只入队一次,Toast/i18n 走 ref 保持回调稳定,修复语言切换重渲染导致的 deep link 重复解析
- 补充 resolve_public_socket_addrs 单测与 ProfilesPage 去重回归测试

Co-Authored-By: Claude <noreply@anthropic.com>
将命中率趋势从单一总体序列扩展为「总体+各模型」多序列,支持
图例显隐/单显、曲线与柱状两种图,并按输入侧 token 体量排序;
补充 CONTEXT.md 命中率术语定义与中英文案、对应测试。

Co-Authored-By: Claude <noreply@anthropic.com>
footer 元信息已改为 flex-wrap + gap-x/gap-y,更新源码契约断言以恢复 pre-push verify。
CI coverage-frontend 因全局分支覆盖率 74.61% 跌破 75% 门禁失败。
file-viewer-utils.ts 本次 PR 扩写但分支覆盖仅 38.98%,补齐软链标签、
预览页脚、编码映射与路径工具等纯函数的分支用例,分支覆盖率回到 75.14%。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@maguowei maguowei merged commit b9a0bb2 into main Jul 14, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant