dsh-refine
已验证dsh-refine · v1.0.3 · MIT · Web 界面
DeepSeek Harness (dsh) plugin: /refine command + settings panel for the dsh-continual-harness self-refinement engine — entry browsing, refinement history timeline, one-click rollback, auto-gate audit; engine optional at runtime.
安装
dsh plugin add dsh-refine 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
说明文档
dsh-refine
English | 简体中文
DeepSeek Harness (dsh) 的 continual harness 精炼 UX 层:提供 /refine 人类命令与
设置面板(精炼条目浏览、历史时间线、一键回滚、auto-gate 审计)。底层驱动
dsh-continual-harness 引擎,
运行时引擎可选--未装引擎时所有操作优雅降级为可执行指引。
本项目是一份对 prime-agent
/refine 思想的移植与实践,面向 dsh 生态。
特性
/refine命令:status/list [kind]/history [n]/rollback <id>/ 自由文本精炼指令- 设置面板:精炼 Harness 时间线、条目浏览、一键回滚、auto-gate 审计
- 会话历史兼容:引擎写入的
harness/refinement会话事件自动注册进宿主读取器, 精炼过的会话日志依然可加载(不依赖数据迁移) - 引擎可选:未挂载引擎时给出可操作的安装指引,不报错、不污染会话
环境要求
- Node.js ≥ 18
- dsh 0.1.0-rc.6+(含
@deepseek-ai/dsh-home-paths、@deepseek-ai/dsh-typert-protocol)
安装
在 dsh profile(如 ~/.dsh/profiles/web/cordis.yml)中挂载本包与引擎:
plugins:
- dsh-continual-harness # 引擎(可选,但装了才能真触发精炼)
- dsh-refine # 本 UX 层(必须)
或直接用 link: 指向本地 checkout 进行开发:
plugins:
- link:/path/to/dsh-refine
重启 dsh web 后生效(宿主侧改动需要重启,客户端面板改动可在 pnpm run dev:web
运行时热更)。
用法
命令
| 输入 | 说明 |
|---|---|
/refine status |
引擎/回滚状态总览 |
/refine list [kind] |
列出当前条目(可过滤 prompt/memory/skill/subagent) |
/refine history [n] |
最近精炼历史(默认 10 条,上限 50) |
/refine rollback <id> |
回滚一次已提交的精炼(id 见 history) |
/refine <任意指令> |
触发一次引擎精炼,立即返回;结果稍后在面板/history 中呈现 |
/refine <文字>的语义是把文字当作精炼指令交给引擎规划。普通聊天请求请直接在 输入框发送,不要带/前缀。
面板
设置 -> 精炼 Harness:浏览条目、查看历史时间线、一键回滚、auto-gate 审计。
工作原理
/refine 命令 ──► dsh-commands ──► dsh-refine (lib/index.js)
│ │
│ tools.execute('harness_refine', {signal})
▼ ▼
command/run+done dsh-continual-harness 引擎
│ │
└── harness/refinement 会话事件
- 指令触发为后台 fire-and-forget:同步校验引擎/agent,随即 ack,避免长时间锁住
输入框;引擎结果落在面板历史时间线与
/refine history。 - 回滚为同步:只应用已存的逆编辑,无 LLM 往返。
- 会话事件兼容:
lib/compat.js把harness/refinement注册进宿主读取器的已知事件 集合(KNOWN_SESSION_EVENT_TYPES),一处注册同时治愈旧日志与未来写入。
开发
npm install
npm run lint # ESLint(lib/ + smoke-host.mjs)
npm test # 冒烟测试(不依赖引擎;dsh 在 PATH 上时额外验证宿主注册)
冒烟测试是封闭式的:~/.dsh/harness 缺少引擎 ESP 文件时自动生成最小 fixture。用
DSH_HOME=/tmp/fresh npm test 可以在干净目录下复现 CI 环境。
开发规范(提交格式、changelog 政策、发布流程)见 CONTRIBUTING.md;安全漏洞上报方式见 SECURITY.md。
License
MIT © dushaobindoudou