跳到正文
dsh-market 浏览插件 GitHub EN

xianyuyijinban/boardwise#dsh-plugin

立创 EDA Pro(EasyEDA Pro)原理图离线审查,给 dsh 加四个工具——一次性 checkup 报告、架构骨架、本机安装体检,以及只读优先的在线编辑器桥,全部由本机 boardwise CLI 驱动。

Star 数 ★ 7 分类 工具与能力 收录于 2026-10-01

安装

在 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 解析顺序

  1. 环境变量 BOARDWISE_EXE —— 指向 boardwise.exe,或指向一个装了 boardwise 的 Python 解释器 (名字像 python/py 时自动补 -m boardwise.cli)。指向不存在的文件 = 报错,不会悄悄换别的 (R3:找不到就停下来说,不自行替代)。
  2. PATH 上的 boardwise(Windows 依次试 boardwise.exe / .cmd / .bat)。
  3. 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-tools peerDep 自 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 只是语义边界, 不等于实测边界)。cordis peerDep ^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 的独立冒烟脚本,真机只读:

  1. boardwise_doctor:真连 daemon(127.0.0.1:61190),断言真报告(有 PASS 行、提到 daemon);
  2. boardwise_arch file=tests/fixtures/ch340_golden.epro2:离线骨架 + TODO 槽位 + 轨计数;
  3. boardwise_checkup --file 同一夹具,--out 进临时目录:断言 report.json / architecture.md 真存在且有内容,且结果里标 [present],另解析 report.json 校验结构;
  4. 三条错误路径:文件不存在(spawn 前拒绝)、BOARDWISE_EXE 指向不存在的文件、 PATH 上什么都没有——各自断言明确报错文案。

它不碰在线编辑器写动作,也不调 bridge 任何动作。

非目标

不做 dsh 客户端(浏览器半边)插件、不做主题/UI、不发 npm registry、 不在 TS 侧实现任何审查逻辑、不提供写操作工具(edit apply 走 CLI)。 dsh SKILL 加载机制与本仓库 SKILL.md 的衔接是后续任务,本插件只负责工具面。

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。