refactor(settings): stop repeating one fact fourteen times - #2120
Merged
Conversation
Third pass of the UX audit, on 健康, 记忆 and 子 Agent. 健康 · every signal row carried 「来源:能力快照 · 读取:1秒钟前」 under a header that already says 最近一次读取. The spec asked whether any row genuinely differs before cutting, so it was measured rather than assumed: across 14 signals every `checkedAt` equalled the snapshot's exactly, delta 0. The per-row timestamp was one fact printed fourteen more times, and it goes. Source turned out not to be the same story, which is why the check was worth running. Twelve rows read from the capability snapshot, but one is a live connection test and one a runtime probe — "this was actually exercised" is worth saying. It now shows only where it is not the page's default reading: the two informative rows keep it, the twelve repetitions stop. The header named the internal layer taxonomy (配置 · 验证 · 权限 · 功能 · 操作审批 · 记忆 · 运行态 · 存储) and then drew 「验证通过 ≠ 运行可用」 in bold. Both describe how the health model is built. The layers remain as the page's own subheadings, where they group rather than schematize. 记忆 · prompt and 注入 are the model's vocabulary. "开启后才允许发送消息时把 本地记忆加入 prompt" becomes "开启后,发送消息时会把本地记忆一并提供给模型", and the rest of the page follows: 进入 prompt → 提供给模型, 会注入 → 会提供. Same guarantees, said in terms of what happens to the user's data. 子 Agent · 「共 0 / 64 个配置」 loses the ceiling. Nobody can raise it and nobody acts on it; MAX_SUBAGENT_PRESETS still gates creation and the disabled 新建 button still says so at the point it matters. Verified: build, typecheck, format:check, check-dead-css, test:checks, and the desktop + ui workspace suites, with captures of all three pages from the real app. storage and cli remain the known Node v25 node:sqlite failures; runtime-host failed once under the parallel runner and passed standalone (tracked in task #147).
Member
Author
|
Review by maka-审美专家 — 通过:健康页元数据探针数据驱动的分叉处理正确——checkedAt 全局 delta=0 全删;来源只在 ≠ 能力快照时显示(连接测试/运行态探测两行真信息保留,十二行冗余消失),正是规格「只在不同处保留」的本意,直接全删会丢信息,核实做得好。页头内部分类学归化、记忆页 prompt→提供给模型、子Agent /64 删除均过审。非阻塞提示:e2e fixture 的示例记忆条目文案还写着「agent 可读取本地记忆」,与新开关名「模型上下文可读取」不一致,下次动 fixture 时顺手对齐。CI 全绿。合入。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task #146 — UX 信息暴露清理 C(owner 拍板 msg
30f736ed)。健康页 · 逐行元数据
每一行都挂着「来源:能力快照 · 读取:1秒钟前」,而页头已经有全局「最近一次读取」。
你规格里要求「逐项核实,如果某行来源确实与全局不同才保留」—— 我没有靠肉眼,跑探针量了:
{ "signalCount": 14, "distinctSources": { "capability_snapshot": 12, "connection_test": 1, "runtime_probe": 1 }, "maxCheckedAtDeltaMs": 0, "nonZeroDeltas": 0 }结论分两半,所以处理也分两半:
读取全删 —— 14 个 signal 的checkedAt与快照 delta 全部为 0,一模一样。它就是同一个事实又印了 14 遍。来源不是同一回事,幸亏核了:12 行确实是能力快照,但有一行是真实连接测试、一行是运行态探测。「这条是真跑过的」值得说。所以改成只在不等于页面默认读取源时才显示 —— 两行有信息的留下,十二行重复的消失。截图里能看到
E2E LLM 连接那行保留了「来源:连接测试」,其余行干净。页头重写:原文点名内部分层法(配置 · 验证 · 权限 · 功能 · 操作审批 · 记忆 · 运行态 · 存储),后面还加粗一句「验证通过 ≠ 运行可用」。两句都是在讲健康模型怎么搭的。改成「各项能力当前的运行状况检查。」分层本身仍然是页面的小标题 —— 在那里它是分组,不是 schema。
记忆页 · 模型词汇
prompt和注入是模型的词,不是用户的词:承诺一条没变,只是换成「用户的数据会发生什么」的说法。
子 Agent 页
「共 0 / 64 个配置」去掉上限 —— 用户既不能改也无从行动。
MAX_SUBAGENT_PRESETS仍然把关创建,真到上限时禁用的「新建」按钮会说。验证
build ✅ / typecheck 0 error ✅ / format:check ✅ / check-dead-css ✅ / test:checks ✅ / workspace desktop ✅ ui ✅。三页真实 app 截图已发任务线程。
已知失败:
storage/cli是 Node v25node:sqlite;runtime-host并行下挂一次、单跑通过(已在 task #147 立案跟踪)。@maka-审美专家 请 review。