# 配色自检 demo(复制即用 · 覆盖全部 tag) 把下面的 prompt 粘进 DSH 发出去,就能一次点亮**所有能被 prompt 触发的配色类别** (26 类里的 12 类)。 > 另外 **14 类**(权限档位、进度圈四档、重试、压缩中、已停止、处理失败、计划模式控件) > **无法靠 prompt 触发** —— 它们是 UI 状态,只能手动操作。见 [§3 手动清单](#3-手动覆盖清单14-类只能手点)。 --- ## 1. 复制这段 prompt ````text 帮我做一次「配色自检」,目标是把 DSH 所有能触发的过程标签都点亮。 请严格按顺序执行下面 12 步,**每一步都必须产生真实的工具调用**,不要只在文字里描述、 不要跳过、不要合并步骤、不要改写我给的命令。所有操作只在 /tmp/dsh-demo 里进行, 结束后不要删除这个目录(我要截图)。 ### 第 1 步 → 期望标签「执行了命令」(低风险) 用 bash 建目录和 3 个文件: mkdir -p /tmp/dsh-demo && cd /tmp/dsh-demo && printf 'line1\nline2\nline3\n' > a.txt && printf 'b1\nb2\nb3\n' > b.txt && printf 'c1\nc2\nc3\n' > c.txt ### 第 2 步 → 期望「已读取文件」+「已搜索代码」+「执行了命令」(同一回合做三件事 → 出「混合活动」) 在同一个回合里同时做: 1) 读取 /tmp/dsh-demo/a.txt 2) 在 /tmp/dsh-demo 目录里搜索 line 3) 执行 ls -l /tmp/dsh-demo ### 第 3 步 → 期望标签「已读取图片」 先用 bash 把这个 base64 解码成图片: mkdir -p /tmp/dsh-demo && printf '%s' 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAATUlEQVR4nGM0LFjOQEvARFPTGUYtIAKMxgFBwIJLYu2uQgYSQbBbP6bgaBwQBKNBRBCMBhFBMBpEBMFoEA18EDGONrwIgdFkShDQPIgASl4F0Sp3LDoAAAAASUVORK5CYII=' | base64 -d > /tmp/dsh-demo/pic.png 然后用**图片读取工具**读取 /tmp/dsh-demo/pic.png(必须是图片读取,不是普通文本读)。 ### 第 4 步 → 期望标签「修改了文件」 把 /tmp/dsh-demo/b.txt 的第 2 行改成 line2-edited。 ### 第 5 步 → 期望标签「已写入文件」 新建 /tmp/dsh-demo/d.txt,内容写 3 行。 ### 第 6 步 → 期望「执行了命令」三档红 ⚠️ 下面三条只是把字符串打印出来,不会真的执行任何危险操作,专门用来测三档风险色。 请原样照抄执行,不要改写、不要替换、不要加参数: 低风险: echo "低风险示例:普通输出" 中风险: echo "中风险示例:这里提到 sudo 命令" 高风险: echo "高风险示例:这里提到 rm -rf / 命令" ### 第 7 步 → 期望标签「已搜索网页」 用 web 搜索工具搜 "AGENTS.md coding agent convention"。 ### 第 8 步 → 期望标签「已访问网页」 用**网页抓取工具**打开 https://example.com (必须是抓取,不是搜索)。 ### 第 9 步 → 期望标签「已协调子智能体」 起一个**子智能体**,让它只做一件事:回答 2+2 等于几,然后把它的回答转述给我。 ### 第 10 步 → 期望标签「更新了计划」 把上面这些步骤列成 todo 列表,全部标记为已完成。 ### 第 11 步 → 期望标签「向用户提出了问题」 用**向用户提问的工具**问我一个问题(给几个选项,比如"截图用浅色还是深色主题?"), 等我回答后再继续。 ### 第 12 步 → 期望标签「创建队友」/「已调用工具」 用 **Agent Teams 的创建队友工具**(`spawn_teammate`)创建一个队友,给它一个极简任务 (例如"只回答 2+3 等于几"),等它返回后把结果转述给我。 ⚠️ 这一步可能产生「创建队友」或「已调用工具」行 —— 具体哪个取决于内核对该工具的 活动映射。**两个都是我们要覆盖的标签,出现任意一个就算通过。** ### 第 13 步 → 收尾 用一句话总结这次自检覆盖了哪些标签。 ```` > ⚠️ 第 6 步的 `echo` 要**真的用 bash 执行**(不是复述)。 > 若对 `rm -rf /` 有顾虑,换成任意危险词(`mkfs`、`dd if=`、`shutdown`)效果一样。 --- ## 2. prompt 能覆盖的 12 类(共 26 类) | # | 类别 id | 界面标签 / 对象 | 由哪一步触发 | 浅色色值 | |---|---|---|---|---| | 1 | `thinking` | 分析 / 推理行;「更新了计划」 | 自动(任何回合) | `#8A4B9C` | | 2 | `commandLow` | 运行命令(低风险) | 第 1、2 步 | `#A7535A` | | 3 | `commandMid` | 运行命令(中风险) | 第 6 步 | `#C02C38` | | 4 | `commandHigh` | 运行命令(高风险) | 第 6 步 | `#DE2A18` | | 5 | `read` | 已读取文件 / **已读取图片** | 第 2、3 步 | `#3170A7` | | 6 | `write` | 已写入文件 / **修改了文件** | 第 4、5 步 | `#229453` | | 7 | `search` | 已搜索代码 | 第 2 步 | `#2C9678` | | 8 | `web` | 已搜索网页 / **已访问网页** | 第 7、8 步 | `#3C5AAC` | | 9 | `other` | 已协调子智能体 / 创建队友 / 已调用工具 / 向用户提出了问题 | 第 9、11、12 步 | 见注 | | 10 | `summary` | **混合活动**(多个活动合并的标题) | 第 2 步 | `#4A4F8C` | | 11 | `done` | 「已完成 · 用时」 | 回合正常结束 | `#2F6B4F` | | 12 | `meta` | 尾部「用量」「分支」 | 回合结束后自动 | `#5A6B7C` | ### 两个「可能不出现」的标签(取决于模型有哪些工具) | 内核标签 | 需要的工具 | 说明 | |---|---|---| | **运行了代码**(`done.code`) | 代码执行工具(如 `run_code`) | 当前模型没有该工具就不会出现。该标签归 `write`(绿) | | **创建队友** / **已调用工具** | `spawn_teammate` 等 Agent Teams 工具 | 第 12 步会尝试触发。若内核把该工具映射成 `subagents` 则显示「已协调子智能体」;若未登记在该映射表里则显示「已调用工具」。**两者都属于 `other`(中性色)** | > 这两个不是插件的问题,取决于**模型工具集**。看到时颜色按表中类别走。 --- ## 3. 手动覆盖清单(14 类只能手点) 这些是 **UI 状态**,prompt 触发不了,需要手动操作一次: | # | 类别 id | 界面标签 / 对象 | 怎么触发 | 浅色色值 | |---|---|---|---|---| | 1 | `perm-readonly` | 权限「仅可查看」 | 点输入框旁的权限选择器切到该档 | 随预设 | | 2 | `perm-workspace` | 权限「工作区内修改」 | 同上 | 随预设 | | 3 | `perm-full` | 权限「完全权限」 | 同上 | 随预设 | | 4 | `perm-auto` | 权限「Auto review」 | 同上 | 随预设 | | 5 | `ctl-permission` | 权限选择器**控件本身** | 同上(控件外框 / 图标) | 随预设 | | 6 | `ctl-plan` | **计划模式**控件 | 点输入框旁的计划模式开关 | 随预设 | | 7 | `usageLow` | 进度圈 **<35%** | 开个新会话(上下文占用低) | `#3F7A4A` 绿 | | 8 | `usageMid` | 进度圈 **35–49%** | 聊到上下文约 40% | `#87762A` 黄 | | 9 | `usageHigh` | 进度圈 **50–67%** | 聊到约 60% | `#9A5A22` 橙 | | 10 | `usageCritical` | 进度圈 **≥68%** | 聊到 68% 以上(临近自动压缩) | `#B0291F` 红 | | 11 | `compaction` | 「正在压缩…」 | 上下文压力过阈值时自动出现 | `#2F90B9` | | 12 | `retry` | 「已重试模型请求」 | 模型请求失败自动重试时出现 | `#986524` | | 13 | `turnError` | 「处理失败」 | 让一轮出错(如断网) | `#8A3A34` | | 14 | `turnStopped` | 「已停止」 | 生成中点停止按钮 | `#7A655A` | > 权限四档与进度圈四档是**固定语义色**(权限复用内容色系、进度圈绿→黄→橙→红); > 写"随预设"的表示由预设色库按语义色相挑,精确值随预设变化。 --- ## 4. 重点检查三处(前几轮修过的缺陷) 1. **第 6 步三条命令 = 三种深浅的红**(低偏暗哑 / 中更正 / 高最亮最浓)。 若三条一样,或出现**粉 / 洋红 / 橙**这类不同色相 → 分级色相漂移回归了。 2. **第 2 步那组标题是靛蓝**(`#4A4F8C`),不是蓝 / 绿 / 红里随便一个 → 多活动被正确识别为「混合活动」。 3. **最后一条消息尾部:只有「用量」和「分支」是彩色**,复制 / 点赞 / 点踩是灰的。 ## 5. 这份 demo 对应的历史缺陷(回归用) - 命令三档色相漂移(曾「低=藕粉 h330 / 中=洋红 h338 / 高=橙红 h12」,已修 `hueWindow` 40→20) - 混合活动标题跟着单一活动变色(同一件事因排列顺序不同变蓝 / 绿 / 红) - 尾部复制 / 点赞 / 点踩被一起染色 - 「访问 / 搜索网页」蓝色饱和度过高(`#4F84FF` s100 → 限幅到 s48) - 「已读取图片」「已协调子智能体」「已调用工具」「更新了计划」「向用户提出了问题」 这些标签曾**未被识别**(`ACTIVITY_LABELS` 只覆盖了内核 14 条文案里的 6 条) - **过程组内层行全灰**:内层行没有 `_title` 类、也没有任何 data-* 钩子, 旧规则一条都命中不到。已补 `[data-disclosure-row]` 规则,让内层行继承所属组颜色