前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构:能力靠插件叠加,但不同 DSH 版本之间的配置 schema、服务名、peer 声明差异会让「能装上」和「能跑起来」变成两件事。社区目录里一条条看说明、手动改 package.json 再试,成本高且不可复用。
dsh-autofit 是维护者 AdamPlatin123 发布的工作流类 DSH 插件(npm 包名 dsh-autofit,当前版本 0.4.0,MIT)。定位是:在隔离环境里做 L1/L2 试装,能机械或规则修好的自动修,修不好的交给受护栏约束的 agent;通过组合包 UI 或 CLI 接入,并与 DSH Plugin Radar 的索引叠加。下文按「是什么 → 怎么用 → 注意点」展开。
这是什么¶
一句话:在不碰你当前 profile 的前提下,对任意来源的 DSH 插件做试装与兼容判定,必要时生成 +autofit.N 修复版再安装。
仓库内主要模块(README 原文划分):
- 组合包(插件页内):添加插件菜单「Install with Autofit…」、Autofit 标签页(awesome 索引 + 雷达判定目录)、详情页 Autofit check;新装插件约 1 分钟内后台补测。
dsh-autofit/probe:零依赖 L1/L2 试装器。dsh-autofit/autofix:试装 → 规则修复 → 重打包 → 再试装(最多 3 轮)。dsh-autofit/describe:L0 静态画像(类型、目标 profile、影响、运行要求)。scripts/build-index.mjs:把雷达运行级判定叠到 format-1 市场索引上。
目录页:SkillHub - dsh-autofit(社区插件站点,与 DeepSeek / 幻方无官方从属关系)。源码与文档:GitHub - AdamPlatin123/dsh-autofit。
核心功能¶
试装:probe(L1 / L2)¶
L1 为真实安装;L2 在 host 与 client 两端尝试加载。每次试装使用临时 DSH_HOME 与全新 web profile。
命令行示例:
npx dsh-autofit probe <插件 spec> # npm 名[@版本]、git spec、tarball 或目录
npx dsh-autofit probe dsh-foo@1.2.0 --json
npx dsh-autofit probe dsh-foo --exempt # 原生版本拒装时,在临时 home 内豁免后继续测
npx dsh-autofit probe dsh-foo --allow-builds node-pty
npx dsh-autofit probe dsh-foo --bin /path/to/other/dsh # 对另一个 DSH 版本试装
npx dsh-autofit host # 当前 DSH 的版本、参数与能力分档
程序化调用时,r.verdict 可取 pass | fail | incompatible | infra-fail | inconclusive | not-published;r.layers.L1 / L2.host / L2.client 与 r.codes(如 schema-additional-properties、native-build)供后续修复阶梯使用。
隔离与边界(README 明确说明): 安装阶段沿用调用方 npm 源与代理;加载阶段用最小化环境。L2 会在本机执行插件代码,不是安全沙箱;有容器时可用 --home 与 --phase install|boot 拆分联网安装与断网加载。client 端经 Node 内置 WebSocket 走 Chrome DevTools 协议,依赖本机 Chrome / Edge / Chromium(可用环境变量 DSH_AUTOFIT_BROWSER);无浏览器时 client 标为 unverified。
DSH 版本档位(实测 0.0.1-rc.5 至 0.2.2-alpha.3):full(≥0.2.1)、standard(0.1.5–0.2.0)、basic(≤0.1.2),probe 行为随档位变化(如原生版本拒装识别、host 失败是否 fatal、client 是否完整执行)。
修复:autofix 阶梯与 agent¶
npx dsh-autofit fix <插件 spec> [--allow-builds node-pty] [--json]
规则层级(README 表格摘要):
| 层级 | 作用(节选) |
|---|---|
| A 机械 | 放宽 peer / engines.dsh;旧 patch 写法改为顶层列表等 |
| B 规则 | schema 补 additionalProperties;工具补 output;已知服务改名(仅改 inject 与取服务处) |
| C 需授权 | 被拦下的依赖构建脚本,用户批准后带 allowBuilds 重试 |
| D agent | 规则不足时用 DSH 默认 llm 开修复对话 |
修复版为本地 tarball,版本形如 <版本>+autofit.N,package.json 的 autofit 字段记录来源与改动;原包不修改,未通过试装的不提供安装。规则修好的版本组合包会直接安装;agent 修好的需在小窗查看 diff 后点「安装修复版」。
agent 仅有 list_files / read_file / write_file / replace_in_file / run_trial / finish,且 run_trial 通过才算修好;lib/autofix/guard.js 限制对 package.json 关键字段、bundle patch、.register 等危险改动。
组合包 UI 工作流¶
装 dsh-autofit 组合包后,典型路径包括:
- 「添加插件」→「Install with Autofit…」:输入 npm、git、tarball 或本地路径,点「Install with autofix」;右下角小窗依次试装、规则修复、agent 修复、安装,可最小化或关闭,任务后台继续。
- Autofit 标签页:浏览带雷达判定的卡片,每张可「Install with autofix」。
- 插件详情:Autofit check 区块与标题旁标签;任意入口安装的插件约 1 分钟内后台自动补测。
跨版本入口(README 2026-11-06 表):0.2.1-rc.2 至 0.2.2-rc.1 等多版本在插件页 Autofit 标签、添加菜单、详情区块可用;更早版本对应 Autofit Installer 或设置里的 Autofit 标签。
安装与启用¶
先在 web profile 安装组合包(命令须与 README 一致):
dsh plugin --profile web add dsh-autofit # 或在 DSH 插件页「Add plugin」里输入 dsh-autofit
dsh --profile web # 插件页 → Add plugin 下拉 / Autofit 标签页
桌面版(官方 DeepSeek Harness 或社区 DSH Desktop):只能在应用内插件页「Add plugin」输入 dsh-autofit,往 desktop profile 安装;内置运行时版本可能与全局 CLI 不同,probe 会按应用内 DSH 实测(README 对官方 0.2.2-rc.1、社区 2.0.x 等有记录)。
仅 CLI、不装组合包时,可单独使用:
npx dsh-autofit probe <插件>
npx dsh-autofit fix <插件>
包要求 Node >=22(package.json 的 engines)。
典型用法¶
场景一:装社区插件前先判定
npx dsh-autofit probe dsh-foo@1.2.0 --json
根据 verdict 与 codes 决定是直接 dsh plugin add 还是走 fix。
场景二:在 DSH 插件页一键 autofix
打开 web profile 插件页 → Autofit 或 Install with Autofit… → 输入包名或路径 → 等待小窗完成试装与修复阶梯。
场景三:对比另一套 DSH 版本
npx dsh-autofit probe dsh-foo --bin /path/to/other/dsh
场景四:开发侧生成雷达叠加索引
维护者本地:
node scripts/build-index.mjs # 生成雷达叠加索引
适用场景与注意¶
适合谁: 经常从 npm、git、本地目录试装 DSH 插件的开发者;需要在一台机器上对齐多个 DSH 版本(含桌面内置运行时)的兼容结论时;希望把 Radar 目录上的「能不能跑」与安装动作串成一条工作流的用户。
务必注意:
- 插件与 probe 的 L2 阶段以当前 DSH 进程权限在本机执行代码,安装前应阅读目标插件源码与许可证,勿把试装当作恶意代码隔离。
- agent 修复会改插件副本并可能引入行为变化;规则自动安装的改动记录在
autofit字段,agent 版需你确认 diff 后再装。 - 桌面版 UI 自动化验证尚未完整(README:首次引导与「只能从应用内安装」限制);CLI
probe/fix与组合包能力以你已安装的 DSH / 桌面版本为准查阅 README 实测表。 - autofix 实测数据(如 DSH 0.2.1-rc.2 下 9 个插件中 5 个规则修好)来自作者实验环境,你的网络、模型与插件版本可能不同。
结尾¶
dsh-autofit 把「装之前先实测、装不上尝试规则与 agent 修复、有更新可先试」收进 DSH 插件页与 npx 两条入口,并与 Plugin Radar 索引联动,减少手工改 manifest 的重复劳动。查阅详情与 issue:
- 目录页:https://www.skillhub.cn/plugins/AdamPlatin123/dsh-autofit
- GitHub:https://github.com/AdamPlatin123/dsh-autofit