← 返回列表
未验证
用 LLM 评估出错回合并渲染蓝色建议卡片
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/25 · 已提供中文文档
DSH 插件:turn advisor 通过 LLM 评估错误轮次,并渲染一张和谐的蓝色卡片。官方捆绑包,通过 `dsh plugin --profile web add github:haoliangwu/dsh-advisor` 安装
综合分
27.7
GitHub 分
27.7
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/haoliangwu/dsh-advisor.git数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-advisor
DSH 的回合顾问——通过 LLM 评估每个回合(默认:出错时),并在聊天中渲染一张全宽的浅蓝色建议卡片。
一个用于 DeepSeek Harness 的 host+client 捆绑插件。host 部分监听 session/event 中的 turn/end,使用可配置的提示词调用 ctx.llm.stream(),并追加 advisor/eval(仅日志)。浏览器部分为 advisor/eval 注册一个 ConversationNodeDefinition,以及一个带键的 conversation.chat.node 渲染器(advisor)——一张和谐蓝色的全宽卡片(#e3eefc/#3b6ea5,无红绿灯配色),并通过图标区分结论。
- 仅日志评估。 结论以 advisor/eval 追加——这是一个没有 surfaceOp 的仅日志节点,因此 agent 永远看不到它。
- 默认出错时评估。 evaluateOn: ['error'](默认)意味着只有失败的回合才会消耗 LLM 调用;['all'] 则选择每个回合都评估。
- 和谐,而非警示。 单一蓝色系(#e3eefc / #3b6ea5),仅通过图标区分结论——没有红/黄/绿红绿灯。
- 一行安装。 构建好的 lib/ 已提交,因此 dsh plugin add 无需构建步骤即可运行。
安装
dsh plugin --profile web add github:haoliangwu/dsh-advisor
构建好的 lib/ 已提交,因此 git 安装只需一行——无需 prepare 脚本,无需 allowBuilds 权限。安装后重启 dsh --profile web(bundle 层叠在启动时组合)。
配置
在你的 profile 的 cordis.patch.yml(~/.dsh/profiles/web/cordis.patch.yml)中:
- id: dsh-advisor
config:
When to evaluate: ['error'] (default) or ['all']
evaluateOn: ['error']
Optional explicit route; fallback is session's current model (request/header)
provider: deepseek-official
model: deepseek-chat
Optional prompt template with {turn} and {transcript} placeholders
promptTemplate: |
Evaluate turn {turn}...
Transcript:
{transcript}
evaluateOn 接受任何 turn/end 原因类型(completed、error、aborted、blocked、max-tokens、interrupted)或 all。空列表将禁用评估。
promptTemplate 默认为一个硬编码的 JSON 模板,请求 {"verdict":"ok"|"needs-attention"|"off-track","issues":[],"advice":"..."}。JSON 解析失败会降级为 needs-attention,并将 advice 设为原始输出。
完全禁用:
- id: dsh-advisor
disabled: true
工作原理
- Host: ctx.on('session/event') 根据 evaluateOn 过滤 turn/end;从 session.deriveMessages()(最后 10 条)和 requestHeader/requestContext 路由(或显式的 provider/model)构建简短转录;调用 ctx.llm.stream() 并解析 verdict/issues/advice;追加 advisor/eval 仅日志(无 surfaceOp,可忽略)。
- 客户端: ConversationNodeDefinition(kind: advisor,target: chat)每轮匹配 advisor/eval 并构建 chatNode('advisor', …);AdvisorCard 渲染一个全宽的浅蓝色卡片,带有蓝色系图标(○ / ◐ / ◉)和感知区域设置的判定标签(advisor 命名空间,中文/英文)。
- 卡片样式: 背景 #e3eefc,边框 #c3dbf5,文本 #3b6ea5 色系;图标变体在同一色相内区分判定(浅填充 → 实心填充),绝不使用红/黄/绿。
从源码构建
pnpm install
pnpm build # emits lib/index.js, lib/invariant.js, lib/client.js + sourcemaps
pnpm typecheck # tsc --noEmit
lib/ 已提交,因此 git 安装无需构建步骤即可工作。更改源码后,运行 pnpm build 并提交更新后的 lib/。
许可证
MIT扫码进群