安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add "https://github.com/xianyuyijinban/boardwise/releases/download/v0.4.26/boardwise-dsh-0.1.1.tgz"
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。
截图
README
DeepSeek Harness(dsh)的 boardwise 插件:在 dsh 里直接调 boardwise 的审查工具面 ——
checkup(一次审查出报告)、arch(架构骨架)、doctor(本机安装体检)、
bridge(连接器动作逃生舱),不用切窗口。
薄适配层,零逻辑复制:插件只 spawn 本机 boardwise CLI,把 stdout / exit code / 产物路径包装成 tool 返回值。解析器、规则引擎、报告——全在 Python 侧; TS 里不重算任何审查结论(任务书 045 §1)。
工具面
| 工具 | 包装的命令 | 关键参数 | timeoutMs |
|---|---|---|---|
boardwise_checkup |
checkup [--file F | --project P | --instance I] --out D |
file / project / instance 三选一,out 可选 |
600 000 |
boardwise_arch |
arch <file> [--out] |
file 必填 |
120 000 |
boardwise_doctor |
doctor [--project/--instance] |
可选寻址 | 60 000 |
boardwise_bridge |
bridge call --action A --params J [--project/--instance] |
action/params 必填 |
120 000 |
统一约定:
- 参数原样透传,插件不解释。唯一的前置校验:
file路径必须存在(不存在 → 执行前拒绝, 不 spawn);bridge的params必须是合法 JSON 对象字面量;checkup必须恰好指定 一个目标(file或project/instance),不替模型猜窗口。 - 只读优先:三个工作流工具全只读。
boardwise_bridge是逃生舱(探针与诊断), 描述里写明优先用只读动作;写动作走 CLI,服从既有的真机身份纪律。 - 返回值 =
exit code+cli(怎么找到的)+command+ 产物路径(report.json/report.md/architecture.md,逐个标present/MISSING)+ stdout(必要时 stderr)。 非零 exit 是结果不是失败(doctor / checkup 就用 exit 报告状态);checkup的3= 说不清(在线状态读不出来,或completion.verdict是incomplete—— 审查没看全:空模型 / 器件缺手册未审 / 骨架没生成 / 覆盖有缺口),不是通过(073)。 - stdout 截断:超过 32KB 时留头 16KB + 尾 16KB,中间标出丢了多少字节;stdout/stderr 里
任何 token 形状的值一律打码(
token=***)——daemon token 永不进日志或返回值。 - 运行时零依赖(只用 node 内置模块);
@deepseek-ai/cordis与@deepseek-ai/dsh-tools是 peerDependencies,由 dsh profile 提供。
CLI 解析顺序
- 环境变量
BOARDWISE_EXE—— 指向boardwise.exe,或指向一个装了 boardwise 的 Python 解释器 (名字像python/py时自动补-m boardwise.cli)。指向不存在的文件 = 报错,不会悄悄换别的 (R3:找不到就停下来说,不自行替代)。 - PATH 上的
boardwise(Windows 依次试boardwise.exe/.cmd/.bat)。 - PATH 上的
python/py+-m boardwise.cli(开发机 fallback;该解释器没装 boardwise 时, 结果里会附一行 hint 让你改用BOARDWISE_EXE)。
三条都没有 → 报错文案直接给出三出路(装 exe / 设 env / 用仓库 venv)。
安装
cd <boardwise 仓库>/dsh-plugin
npm install
npm run typecheck && npm test && npm run build
npm pack # 产出 boardwise-dsh-<version>.tgz
装进 profile(tarball 方式,不进 npm registry):
dsh plugin --profile web add file:E:/boardwise/dsh-plugin/boardwise-dsh-0.1.1.tgz
# headless / desktop 是**不同** profile,各装一次
dsh plugin --profile headless add file:E:/boardwise/dsh-plugin/boardwise-dsh-0.1.1.tgz
包内 dsh.bundle.patch 会把本插件插进 profile 的 layer stack(row id tool-boardwise)。
验证:
dsh --profile web --dump-config | grep tool-boardwise
让模型跑一次 boardwise_doctor:daemon 在线应看到 PASS 行与逐项结论;
多窗口在线时那 4 项会写「未验证」(daemon 设计上不猜窗口),
用 project= / instance= 指定一个窗口即转 PASS。
已验证的 dsh 版本
| dsh | 结果 | 证据 |
|---|---|---|
0.1.7-rc.2 |
✔ 全通 | 2026-09-29 实测:plugin add exit 0、bundle patch 生效、4 工具注册 4/4、boardwise_arch 真调 exit 0 |
0.2.0-rc.1 |
✔ 全通 | 同一轮实测,输出与 0.1.7-rc.2 逐字节相同 |
原始日志与结论:outputs/066_dsh_matrix/VERDICT.md(零 FAIL 格)。
- peer 范围:
@deepseek-ai/dsh-toolspeerDep 自 0.1.1 起是三分支范围>=0.0.1-rc.1 <0.3.0 || >=0.1.7-rc.2 <0.2.0-0 || >=0.2.0-rc.1 <0.3.0-0(0.1.0 是<0.2.0)。为什么必须分三段:node-semver 只放行「范围里存在同 major.minor.patch、且自身带预发布标签的比较符」的预发布版本,所以单段<0.3.0看着宽、 实际把0.1.7-rc.2/0.2.0-rc.1静默排除(npm 路径报ERESOLVE);把这两版的 tuple 显式列进||分支,npm 消费者才装得上。 - 覆盖表(npm 自带 semver 实测):
0.0.1-rc.1✔、0.1.7-rc.2✔、0.2.0-rc.1✔、0.1.7✔、0.2.0✔、0.3.0✘。更老的 rc(0.1.0-rc.6、0.1.5-rc.x之类)不在 npm 路径覆盖内——每一版都要自己的同 tuple 分支,而它们从未实跑过;dsh 自己的 profile 安装走 pnpm(autoInstallPeers: false,不强制 peer),不受这条边界影响。 - 未验证区间:低于
0.1.0-rc.6的 dsh 从未实跑过(peerDep 下界0.0.1-rc.1只是语义边界, 不等于实测边界)。cordispeerDep^4.0.1未动(实测 4.0.4 类型与插件内完全一致)。
开发
npm run typecheck # tsc --noEmit(src 为唯一被检查的源码)
npm test # vitest run tests —— 48 例(mock spawn,不起真进程)
npm run build # → lib/
npm run smoke # 独立冒烟:import lib/index.js,真起 CLI(见下)
npm run smoke 是任务书 §2 的独立冒烟脚本,真机只读:
boardwise_doctor:真连 daemon(127.0.0.1:61190),断言真报告(有 PASS 行、提到 daemon);boardwise_arch file=tests/fixtures/ch340_golden.epro2:离线骨架 + TODO 槽位 + 轨计数;boardwise_checkup --file同一夹具,--out进临时目录:断言report.json/architecture.md真存在且有内容,且结果里标[present],另解析 report.json 校验结构;- 三条错误路径:文件不存在(spawn 前拒绝)、
BOARDWISE_EXE指向不存在的文件、 PATH 上什么都没有——各自断言明确报错文案。
它不碰在线编辑器写动作,也不调 bridge 任何动作。
非目标
不做 dsh 客户端(浏览器半边)插件、不做主题/UI、不发 npm registry、 不在 TS 侧实现任何审查逻辑、不提供写操作工具(edit apply 走 CLI)。 dsh SKILL 加载机制与本仓库 SKILL.md 的衔接是后续任务,本插件只负责工具面。
评论
评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。