ywsldxk/dsh-color-preview

ywsldxk★ 1JavaScriptLast synced: 2026-08-16

Open on GitHub

DeepSeek Harness 颜色预览插件:按需预览对话中提到的十六进制颜色

README excerpt

dsh-color-preview DeepSeek Harness 颜色预览插件: 按需 预览对话中提到的十六进制颜色。 当模型在对话中给出一个颜色代码(如 F59E0B )时,你只需要说一句「预览这个颜色」,对话流里就会渲染出一张 色块卡片 ——72px 真实色块 + RGB / HSL / WCAG 对比度 / 颜色名。 为什么做这个 Codex 终端里输入 F59E0B 会显示一个同字号的小色块,而 DeepSeek Harness 没有这个能力。我们本可以修改 markdown 渲染器全局扫描 hex ,但那会: - 引入常驻扫描的性能开销(每个 text 节点跑正则) - 产生误匹配( fff 、 123456 在代码、issue 编号里到处都是) - 需要 patch 编译产物,升级即被覆盖 这个插件选择了另一条路 :零扫描、零渲染开销,只有工具被调用才工作。这正是「按需」的含义——不常驻、不打扰、要的时候一秒钟出结果。 特性 - ✅ 按需触发 :模型给出色号 → 你说「预览」→ 卡片出现。不扫描、不常驻、零性能影响 - ✅ 真实色块 :对话流内渲染 72px 色块,暗色自动配白字、亮色配黑字 - ✅ 完整信息 :RGB / HSL / 白字对比度 / 黑字对比度 / 常用颜色名(中英双语) - ✅ 格式宽容 :支持 F59E0B (6 位)、 fff (3 位)、 ff000080 (8 位含透明度) - ✅ 纯增量 :注册在 tool.call.toolview 的开放 key 域,不替换任何官方 UI - ✅ 无源码改动 :纯 Cordis 动态插件机制,不动 node modules,升级不丢 安装 方法一:作为 preset 静态插件(推荐,持久) 1. 把 color-preview.mjs 复制到你的 agent preset 目录: 2. 在 agent.cordis.yml 里加一行(放在任意位置): 3. 重启 DSH,新建会话即可。 方法二:作为动态插件(临时体验) 如果你只是想试试,可以在 DSH 的创造模式(cordis preset)里用动态插件机制加载本文件的 host / client 两半。 使用 1. 对话里让模型给一个颜色(或自己提一个):「帮我看看 F59E0B 这个颜色」 2. 模型调用 color preview 工具 3. 对话流里出现色块卡片: 工作原理 关键点:Client 读取的 ToolCallBlock 字段是 callId / argsRaw / content ( RunningToolCall 与 ToolResultNode 两种形态),不是 arguments / result ——这是本插件调试中踩过的最大的坑。 兼容性 - DeepSeek Harness 0.1.0-rc.…

View full README on GitHub →
Tools / Devdsh-plugin

Category