前言¶
DeepSeek Harness(DSH)把提示词、工具、预设乃至智能体循环都做成可替换的插件。改完一条 house rule、换一版 prompt 之后,常见做法是凭手感试几句,或者依赖 undo / rollback 在改坏时再撤。官方叙事里缺的一环是:先提出改动,再用 Eval 衡量它是否真的更好。
dsh-touchstone(试金石)就是填这个空:用同一套金标准用例,把「当前配置」和「候选改动」并排跑一遍,规则检查加可选 LLM 裁判打分,给出 before→after 报告。好就留,不好就撤;最终是否采纳仍由你决定。
插件由 Hwayn-pixel 维护,MIT 许可,分类为工作流;在 DSH 桌面端与 Web 均可使用。社区目录页:https://www.skillhub.cn/plugins/Hwayn-pixel/dsh-touchstone ,源码:https://github.com/Hwayn-pixel/dsh-touchstone 。
这是什么¶
试金石是挂在 DSH 上的评测插件:不 patch harness,只走公开的 ctx.llm.stream() 接口,不依赖内部服务,因此在 DSH 0.1.x(Web)与 0.2(桌面)上都能跑。
一次运行会产出类似下面的对账表:
case current candidate change
lead-with-answer 0% 100% +100%
并给出基于证据的结论:Better, keep it. / Regressed, revert. / No real difference. 分数只代表你配置的那些用例,不是全局真理。
四个核心概念¶
| 概念 | 含义 |
|---|---|
| Case(用例) | 一条发给智能体的 prompt,加上若干检查项 |
| Check(检查) | 对输出的断言:必须包含、不得包含、正则、或 LLM judge |
| Candidate(候选) | 想试的 prompt 片段,append 叠在当前之上,或 replace 替换;对照组是内置的 current(无改动) |
| Report(报告) | 候选均分减基线均分,逐用例 delta 加总评 |
检查项可设 weight(默认 1),得分为加权通过率。文档建议:优先用规则检查;LLM judge 多一次模型调用,也有偏差。
安装与启用¶
按使用环境选 profile 安装(命令来自官方 README):
dsh plugin --profile desktop add dsh-touchstone # desktop app
dsh plugin --profile web add dsh-touchstone # web UI
安装后重启 DSH。
在设置里打开:桌面端左下角账户菜单 → 设置(或 Ctrl + ,),左侧点 试金石。字段在失焦时自动保存(输入后点别处或 Tab)。
在 DSH 设置中为 dsh-touchstone 配置运行用的 provider / model / temperature / maxOutput;可选单独配置裁判模型 judgeProvider / judgeModel(留空则与运行模型相同)。
用例、候选与最近 40 次运行记录在 $DSH_HOME/touchstone/bench.json(DSH_HOME 默认为 ~/.dsh)。删除该文件可重置,会自动重建。
典型用法(约 5 分钟)¶
- 在「金标准用例」下点 + 加一条用例:填 name、prompt(你会发给智能体的话),再 + 加一条检查项,例如选 必须包含 并写上期望出现的词。
- 在「候选方案」下点 + 加一个候选:填 name、prompt(想试的规则或前缀),mode 选
append或replace。 - 在候选旁点 跑一遍 (Run),到 对账 (Report) 查看逐用例分数与总评。
可复现示例(来自 README):
| 字段 | 值 |
|---|---|
| case · name | opening format |
| case · prompt | Introduce artificial intelligence in one sentence. |
| case · check | must contain → 笔记: |
| candidate · name | prefix marker |
| candidate · prompt | Every answer must begin with exactly 「笔记:」, then continue normally. |
| candidate · mode | append |
跑完后可能看到:opening format 从 current 0% 到 candidate 100%,总评 Better, keep it. 说明的是:在当前配置下指令未生效,在候选下生效——而不是「我觉得可以」。
一次运行内部在做什么¶
- 对所有 已启用 用例 × 你勾选的候选(外加始终参与的 current)各构造一次模型调用:
system为候选 prompt,messages为用例 prompt,经ctx.llm.stream()取文本与 usage。 - 规则检查在进程内执行;LLM judge 再各多一次模型调用。
- 写入本次 run 并返回报告。
插件只读配置、只调模型,不读写你的工作区文件。
适用场景与限制¶
适合:改 prompt、house rule、预设措辞等「同一输入下输出是否更符合预期」的文本层验证。
不适合:需要真实副作用的工具实现变更——这里不会跑完整 agent loop,也给不出工具链是否仍正确的证据。
成本:每个用例 × 每个候选一次模型调用;检查项若含 LLM judge 再加调用。用例少、输出短时较快较省;可从一两条例开始。
候选对比:每个候选都与 current 比;若要两个候选互比,可在相同用例与基线下并排看两份报告。
插件以当前 DSH 进程的权限运行;安装前建议浏览源码与 MIT 许可证,确认行为符合预期。SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-touchstone 把 DSH 自进化里缺的那半环——评测——做成薄而可复用的工作流:金标准用例、候选并排、规则优先打分、证据化留撤。改 prompt 或规则前先跑一遍,比纯手感或事后 rollback 更省时间。
- 目录页:https://www.skillhub.cn/plugins/Hwayn-pixel/dsh-touchstone
- GitHub:https://github.com/Hwayn-pixel/dsh-touchstone