dsh-decision-engine:DSH 上的 System-1 决策守卫

前言

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)。

典型用法

  1. 按上文命令安装并启用 bundle,重启 DSH(npm 直装路径以你当前 DSH 文档为准)。
  2. 打开插件配置页,选择 服务提供方 与 模型,填写 API Key(custom 时填 Base URL 等四项)。
  3. 保持默认 shadow / 观察:先跑日常任务,在决策点列表与遥测里看判断是否合理。
  4. 对关键决策点改为 生效,并打开 真正拦截 后,再处理需要硬拦高风险工具调用的场景。

配置示例可参考仓库内的 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜