前言¶
DSH 的理念是“一切皆插件”。在已有多个插件可用时,agent 的实际使用仍可能不稳定:有时该用的插件没有用,有时需要靠模型临时判断。dsh-capability-index 要解决的是“插件库利用率是否可预期”这个问题:任务型请求命中触发规则后,自动注入可能适用的 Top-K 插件提示块,并把插件作者声明的 use_when / not_for 能力说明带入提示。最终是否调用工具,决策权仍在模型。
这是什么¶
dsh-capability-index 是 DeepSeek Harness(dsh)的元插件。它不直接替代工具对比类插件,而是在任务型请求发生时,给主会话一份当前插件库的提示快照。
当前状态为 v0.2 / early version,许可证为 MIT。仓库地址为:
- 目录页:https://www.skillhub.cn/plugins/777-Zen/dsh-capability-index
- GitHub:https://github.com/777-Zen/dsh-capability-index
核心功能¶
触发后注入 Top-K 提示¶
当任务型请求命中触发规则后,插件会注入可能适用的 Top-K 插件提示块。提示块会带上插件作者声明的 use_when / not_for 能力说明。
通过 runtime-context 通道注入¶
插件通过 dsh 原生 runtime-context 通道注入。提示只在内容变化时替换,不逐轮堆积。
三级合议¶
插件的决策链路为三级合议:
- 语义向量召回作为主信号。
- 规则词表守门过滤。
- 灰色地带注入冲突提示,由模型终判。
语义向量召回使用 bge-small-zh-v1.5,q8 量化,约 24MB 本地权重。向量命中默认阈值为 0.58。语义召回支持异步预取,并可降级为纯规则。
not_for 守门闸¶
在推荐落定前,插件会对候选做双信号核对。确定性冲突会被硬拦移除;模糊地带会降位并警示。模型终判权不变。
只读边界与索引口径¶
插件是只读 + 建议性质:
- 不改写其他插件的工具定义。
- 不强制调用。
- 不自动下载/安装缺失插件。
- 不替代
dsh-tool-search。
索引口径为当前会话模型可见工具集:tools.schemas(agent)。不可见工具不进索引。
安装与启用¶
先确认你在 DSH checkout 根目录。安装命令如下,其中 <path> 需替换为本目录绝对路径:
pnpm dsh plugin --profile <name> add <path>\dsh-capability-index
安装一次后,用下面命令确认是否进入了插件树:
pnpm dsh --profile <name> --dump-config | Select-String capability-index
重启 web 应用后生效。之后在“设置 → Plugins”页应可见本插件条目。
关闭或开启时,在 profile 补丁层把对应行置为禁用,再重启:
disabled: true
会话粒度开关走 dsh 的 preset 机制。未启用时不加载任何代码。
典型用法¶
在仓库内运行回归:
npm run verify
运行模拟器:
npm run simulate
当前回归状态为:80 过 / 0 挂 / 2 known-fail。
配置项¶
插件支持 cordis.patch.yml 的 config.embed、notForGate、decisionLog 可选配置。字段如下:
config:
embed:
enabled:
model:
dtype:
cacheDir:
endpoint:
threshold:
notForGate:
enabled:
hardSim:
softSim:
demoteFactor:
decisionLog:
enabled:
说明:
embed.enabled控制语义嵌入开关。embed.model、embed.dtype对应语义模型与量化类型。embed.cacheDir用于本地权重缓存目录。embed.endpoint用于权重下载端点。embed.threshold为向量命中阈值,默认0.58。notForGate控制not_for守门闸相关参数。decisionLog.enabled控制决策日志是否落盘。
决策日志纯本地写入 decisions.jsonl,可关闭。决策日志与向量权重缓存均存本地:
DSH_HOME/.cache/dsh-capability-index/
向量权重仅首次经 hf-mirror 下载一次。
适用场景与注意¶
适合在 DSH 会话中希望减少插件漏用的开发者。使用前注意以下事实:
- 插件以当前 dsh 进程权限运行。安装前应检查源码与
MIT许可证。 - dsh 目前处于 developer preview。正式发布时,注入通道、声明约定与触发表词表都可能有兼容性变化。
- 依赖
@huggingface/transformers由部署环境提供;缺失时降级。 - 提示面向主会话注入;子代理会话不接收提示块。
- 实验证据样本规模小,结论是方向性的,不构成统计显著性验证。
- 决策日志与向量权重缓存均存本地,无数据上传。