前言¶
DeepSeek Harness(DSH)会把每个会话完整落在 $DSH_HOME/sessions/:目标、每轮输入输出、每次工具调用与报错。数据一直在磁盘上,但默认没有界面帮你归纳「常因为什么失败」「哪些会话可能偏离最初目标」。dsh-goal-ledger 是社区维护者 zhegemingzimeibanquan 发布的 DSH 插件,在设置面板里提供「目标台账」,只读本机会话日志做分析,不修改会话内容,也不上传除 embedding 请求文本以外的数据。
这是什么¶
一句话:审计你自己在 DSH 里的会话——哪些目标相对最初表述发生了漂移,工具调用在哪些错误特征上反复失败。
插件版本 0.4.0,MIT 许可证,源码与说明见 GitHub 仓库,社区目录页为 SkillHub 条目。SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」,本插件通过 npm 与可选市场索引分发。
核心功能¶
失败聚类(硬事实)¶
工具报错按错误特征聚簇,排序展示「最常因为什么失败」。实现上依赖 tool/result 事件里的 data.error(不是 data.ok)。README 写明:在一份实测样本(27 个目标 / 203 轮 / 6105 次调用 / 81 次失败)里,失败聚类被标为高可靠性信号;界面把「失败聚类」放在第一个标签页。
目标漂移(排序信号)¶
用 embedding 计算每轮输出相对最初目标的语义距离,用于挑出值得复查的会话。README 同样基于上述样本把 embedding 距离标为低可靠性:它衡量的是字面语义分离度,可能出现「词相近但答错了」距离仍低,或长技术任务因路径、报错文本等自然抬高距离。因此距离只用于排序候选,不用于判定对错;默认分档阈值 0.35 / 0.50 / 0.65 为启发式初值,可按自己的分布调整(文档指向 lib/client.js 的 band())。纯工具调用、无文字输出的轮次标记为 scorable: false,不参与均值。
设置面板六个标签页¶
分析完成后可在设置里切换查看(结果缓存到 $DSH_HOME/dsh-goal-ledger/snapshot.json):
- 漂移场:Canvas 光点图,一点一目标,半径为可计分轮次的平均距离;角度编码会话开始时间顺序;目标间连线表示目标向量相似度。
- 失败聚类:按次数排序,可展开原始错误与位置。
- 目标漂移:按平均距离排序并标注档位。
- 漂移轮次:单轮漂移最高的条目。
- 向量模型:配置 embedding 端点、模型、key 环境变量名,含连通性测试。
- 漂移纠正:可选在持续偏离时向后续系统提示注入提醒(默认关闭)。
漂移纠正(opt-in)¶
开启后,当某目标连续多轮超过距离阈值时,在轮次之间向系统提示插入提醒:引用最初目标、指出偏离、要求回到目标并保留已完成有效工作。默认不开启时,插件不向提示写入任何内容。参数默认:触发阈值 0.55、连续偏离 2 轮才提醒、提醒后冷却 3 轮;配置在 $DSH_HOME/dsh-goal-ledger/correction.json,挂在 agent 作用域,多会话互不干扰。正在跑的会话用 LiveScorer 读实时事件流,与离线分析同一套事件形状。
Embedding 与离线能力¶
失败聚类完全离线。距离打分需要网络与 embedding 凭据。默认复用火山 coding plan 相关配置;也可在「向量模型」或 $DSH_HOME/dsh-goal-ledger/config.json 修改。配置只存 key 的环境变量名,不存 key 本身;解析顺序为环境变量 → $DSH_HOME/.credentials.yaml 的 refs:。无 key 时仍可用失败聚类,界面会标注「嵌入:未配置」。
插件声明零运行时依赖,不引入第三方 npm 包。
安装与启用¶
系统要求¶
| 项 | 要求 |
|---|---|
| DSH | >= 0.2.1-rc.3(engines.dsh,低于此版本安装会被拒) |
| Node.js | >= 22 |
| 网络 | 可选;仅向量打分需要 |
从插件市场装(推荐)¶
DSH 插件市场读取你自行配置的索引地址。本包在 npm 发布,索引随包提供。在 设置 → 插件 → 发现(Discover) 里添加:
https://unpkg.com/dsh-goal-ledger@0.4.0/market-index.json
然后在市场里搜索「目标台账」或 dsh-goal-ledger 安装。README 说明选用 unpkg 是因为部分环境访问 raw.githubusercontent.com 不稳定,而 unpkg 可稳定拉取索引。
命令行装¶
# 从 npm 装(推荐,48 KB,秒级)
dsh plugin --profile desktop add dsh-goal-ledger
# 从 Git 装(固定 commit,不走 npm 缓存)
dsh plugin --profile desktop add git+https://github.com/zhegemingzimeibanquan/dsh-goal-ledger.git#f7669338eae9e15acb3a263890cc88d79e8ef0f1
本地开发目录安装示例(路径按你的机器修改):
dsh plugin --profile desktop add file:C:/Project/dsh-goal-ledger
装完重启 DSH 桌面端,设置面板会出现「目标台账」。
典型用法¶
- 打开 设置 → 目标台账。
- 点击「开始分析」。首次扫描约几十秒;若要做嵌入打分,需先配置 embedding 凭据(可在「向量模型」标签或
config.json完成)。 - 在六个标签页间切换查看失败聚类、漂移排序与漂移场;需要时在「漂移纠正」里按需开启并调整阈值。
- 下次打开会直接显示上次缓存的
snapshot.json,可重新分析刷新。
默认 embedding 相关项(可在配置中覆盖):
| 项 | 默认值 |
|---|---|
| base URL | https://ark.cn-beijing.volces.com/api/coding/v3 |
| model | doubao-embedding-vision(2048 维) |
| key 环境变量 | VOLCENGINE_CODING_PLAN_API_KEY |
| 批量大小 | 4(上限 10) |
任何兼容 OpenAI POST {baseUrl}/embeddings 的端点均可;内置火山方舟 / OpenAI / 硅基流动 / 阿里百炼等预设。
适用场景与注意¶
适合谁:长期在 DSH 桌面端跑 agent、会话多、想从本地日志里归纳工具失败模式,并用手动复查的方式筛「可能偏题」的会话,而不是依赖主观回忆翻日志。
使用注意:
- 插件以当前 DSH 进程的权限读取
$DSH_HOME下的会话与缓存;安装前应自行查看源码与 MIT 许可证,确认符合你的安全与合规要求。 - 不要把 embedding 距离当成自动质检的终判;README 的对比表明确把失败聚类放在更可信的一侧。
- 漂移纠正会改变后续轮次的系统提示内容,属于 opt-in;长技术任务可能触发误报,依赖连续轮次与冷却参数缓解。
- 社区目录星标等信息以站点为准;仓库 README 侧重功能与安装,不替代你对凭据与网络出站策略的审查。
结尾¶
dsh-goal-ledger 把 DSH 已在本地记录的会话,整理成失败聚类与目标距离两类视图,并可选地在运行中注入漂移提醒。若你要试用,可从 npm 或上述 market 索引安装,细节以 README 为准。
- 目录页:https://www.skillhub.cn/plugins/zhegemingzimeibanquan/dsh-goal-ledger
- GitHub:https://github.com/zhegemingzimeibanquan/dsh-goal-ledger