前言¶
DeepSeek Harness(DSH)把能力拆成插件,智能体在对话里会频繁调用工具、路由模型、压缩上下文。这些步骤若全靠主模型临场判断,成本高,也缺少一层可单独开关、可观测的「快思考」护栏。社区维护者 zuosus 的 dsh-decision-engine 面向同一类需求:在 Harness 多个决策点挂一层轻量判断,默认只记录、不打断工作流;需要时再打开询问或拦截。
这是什么¶
dsh-decision-engine 是给 DeepSeek Harness 用的决策插件,README 将其定位为 System-1 决策守卫:在每次工具调用前(以及插件实现的其它决策点)用独立的小模型回答结构化问题,再决定放行、询问或拦截。简介中的 “Jev-like decision plugin” 与仓库关键词里的 jev、system-1 一致,指与 System-1 风格 API 对接的决策层,而非替换 DSH 主对话模型。
维护者:zuosus。分类:工作流(SkillHub 目录)。许可证:MIT(见仓库 package.json)。项目曾用名 dsh-startlux-decision / dsh-startlux-guard,0.4.0 起更名为当前名称并加入 provider 抽象;0.5.0 起配置文件由 startlux.yml 改为 config.yml,升级时旧文件可自动迁移。
核心功能¶
工具调用前的四问(守卫逻辑)¶
文档说明:守卫在工具调用前让决策模型回答四个维度——风险、可逆性、任务相关性、注入嫌疑,据此 allow / ask / block。默认运行模式为 shadow:只记录判断,不会打断你当前的会话与工具链。
九个可单独开关的决策点¶
package.json 的 description 写明:插件实现了 九个决策点,且每个点可单独切换,包括工具授权、模型路由、委派、压缩、轮次延续、检索、技能选择、会话标题、COT 翻译等(英文原文中的 tool authorization、model routing、delegation、compaction 等)。配置页里「决策模型参与点」列表为每个点提供 关闭 / 观察 / 生效 三态;另有 启用守卫、真正拦截 两个总开关,与 shadow / enforce 语义配合使用。
任意 System-1 风格 API¶
决策请求走 system-one 协议 形状:内置 provider 预设(配置页下拉含 system one、bamboonode、custom),也可填 custom 的 Base URL(自建 llama.cpp / vLLM、企业网关、第三方中转等)。换 provider 不改变各决策点的解析逻辑;配置页提供 测试端点,回显实际 POST 地址、HTTP 状态与响应体。
配置与数据目录¶
- 图形配置:插件 → 已安装 → dsh-decision-engine → 点进该插件,在「包含的组件」上方出现 Decision Engine 卡片(布局参考内置
dsh-rewind-plugin)。修改后即时落盘到config.yml,一般无需重启 DSH。 - 数据目录:
$DSH_HOME/dsh-decision-engine/;未设置DSH_HOME时默认为~/.dsh/dsh-decision-engine/(Windows 上为家目录下.dsh\dsh-decision-engine\,与@deepseek-ai/dsh-home-paths规则一致)。 - 思考模式下拉:
never/auto/always,用于在决策质量与 token 消耗之间取舍(README「省 token 的手段」一节有说明,此处不展开未截断的细则)。 - 配置页还展示缓存命中率、各决策点的 token 与延迟统计。
从旧版迁移¶
若曾使用 startlux 时代目录,插件启动时会尝试一次性迁移:只搬 配置文件 与 telemetry.jsonl,新目录已有 config.yml 则不再覆盖;权限保持 600(配置可能含明文 key)。仓库提供 node scripts/migrate-profile.mjs(默认预览,--write 写入并备份)用于 profile 侧 bundle 迁移,与 npm 安装路径不同,按需使用。
安装与启用¶
推荐从 npm 安装:
dsh plugin add dsh-decision-engine
或手动装进某个 profile(示例路径为 desktop):
cd ~/.dsh/profiles/desktop
pnpm add dsh-decision-engine
然后在 profile 的 package.json → dsh.profile.bundles 中加入 "dsh-decision-engine",重启 DSH。
运行环境要求:Node.js >= 20.3.0(package.json engines)。
典型用法¶
- 按上文命令安装并启用 bundle,重启 DSH(npm 直装路径以你当前 DSH 文档为准)。
- 打开插件配置页,选择 服务提供方 与 模型,填写 API Key(custom 时填 Base URL 等四项)。
- 保持默认 shadow / 观察:先跑日常任务,在决策点列表与遥测里看判断是否合理。
- 对关键决策点改为 生效,并打开 真正拦截 后,再处理需要硬拦高风险工具调用的场景。
配置示例可参考仓库内的 config.example.yml;密钥勿提交版本库。
适用场景与注意¶
适合谁:希望在 DSH 工作流里加一层廉价、可观测的 System-1 判断——尤其是工具授权与注入嫌疑——又不想默认打断开发的 Harness 用户。
注意:
- 插件与 DSH 进程同权限运行,安装前请自行审阅 GitHub 源码 与 MIT 许可证。
- 「真正拦截」打开后,错误配置或模型误判可能阻断合法工具调用;建议先用 shadow / 观察验证。
- SkillHub 目录(zuosus/dsh-decision-engine)为社区索引,与 DeepSeek / 幻方无官方从属关系;星标与版本以你安装时的 npm / 仓库为准(资料中 package 版本为 0.9.0)。
结尾¶
dsh-decision-engine 把 System-1 式快判断接到 DSH 多个决策点上,默认 shadow 只记不打断,需要时再 enforce。进一步了解可看项目站 dsh.zuos.us/dsh-decision-engine/,或仓库 github.com/zuosus/dsh-decision-engine。