对比已有 DSH 会话,或在两套 Agent Preset 之间运行受控 A/B 试验,展示对齐时间线、配对指标差值、显式验收结果与可导出的报告。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-compare
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:yminghua/dsh-plugin-compare
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
对比运行,检查证据。
dsh-plugin-compare 用已有 Session 或受控 A/B 运行对比 DeepSeek Harness 插件与 Preset,并把真实执行证据整理成并排时间线、指标差异、显式成功检查和可分享的对比报告。
安装
需要 Node.js 22.19+ 和 DSH Web profile。从 npm 安装稳定版:
dsh plugin --profile web add dsh-plugin-compare
dsh web
next 通道只用于明确宣布的预发布版本;仅在参与预发布测试时选择它:
dsh plugin --profile web add dsh-plugin-compare@next
在同一个 profile 中升级或卸载:
dsh plugin --profile web update dsh-plugin-compare
dsh plugin --profile web remove dsh-plugin-compare
安装、升级或卸载后,请用 Ctrl+C 停止正在运行的 Web Host,再重新执行 dsh web。启动后可在 DSH Web 中打开 Compare 面板。
跟着 example 跑一次
从 完整演示教程 开始:准备故障结算项目,对比标准模式和 dsh-expert-mode,查看验收结果,再保存截图与报告。仓库已收录审核后的真实运行 HTML 报告和 截图。教程标出了每一步的截图时机;样例无需第三方依赖,Agent 运行仍会消耗模型额度。在仓库根目录运行 node example/prepare.mjs 即可创建新的演示工作区,不会改动固定样例或旧工作区。
当前状态
稳定版 0.1.x 既能比较两个历史 Session,也能运行一组受控 Baseline / Candidate。受控运行会为两边显式选择同一个已配置的 provider/model,复制两份源工作区,分别挂载选择的 Agent Preset,提交完全相同的提示,并可在两边执行同一个成功检查命令、采集当时的 Git 状态和 tracked diff。报告包含同步时间线、持久化文件 diff、显式检查结果,以及默认脱敏的 JSON、自包含 HTML 和 SVG/PNG 对比卡片。详见 路线图。
历史 Session 只展示日志里持久化的 write / edit diff;不会拿当前工作区状态冒充历史 Git 证据。Git 状态只在受控运行的临时副本中采集。
受控运行支持 1–10 组配对试验,并交替哪一边先执行。界面展示显式检查通过次数,以及耗时和 Token 的配对差值均值、中位数;至少两组时给出 Student-t 95% 区间。JSON 会保留每组的 Session ID 和原始配对观察,便于复算。这个区间描述小样本假设下观察到的波动,不会自动宣布 winner,也不能单独证明因果。复制时会排除依赖目录、拒绝指向工作区外部的符号链接,并且不会复制 Git worktree 的指针文件。
受控 Agent 会显式收到所选 provider/model。如果 Agent 在完成任务前失败,结构化错误会直接显示并写入导出报告,成功检查会标记为 not-run,整个比较会标记为无效,不再把未修改代码的测试失败误当成 Preset 结果。
分享前的隐私检查
导出内容可能包含提示词、源码路径、代码 diff、命令输出、provider/model 名称和 Session ID。自动脱敏只是尽力匹配,不代表已经通过隐私审查。分享 HTML、JSON、SVG、PNG 或截图前,必须逐项检查,并按需移除凭证、账户信息、私有 URL、个人路径和非公开源码。脱敏数量为零,只表示没有命中当前配置的规则。
开发
参与开发需要 Node.js 22.19+ 和 pnpm 11.19。
pnpm install
pnpm verify
安装本地版本到 DSH Web:
dsh plugin --profile web add link:/absolute/path/to/dsh-plugin-compare
dsh web
目录边界
src/core/:与 DSH 无关的比较、指标、脱敏逻辑src/index.ts:DSH Host 事件适配src/client/:Web UI、同步时间线和对比报告导出test/:核心行为与事件折叠测试docs/:架构、信任边界和路线图
当前开发基线为 DSH 0.1.1-rc.2。DSH 仍处于快速迭代阶段,每次发布都必须重新执行真实服务契约测试。
CI 会分别验证最低支持版本和 npm 动态 latest:真实安装插件、启动 Web Host 并读取客户端 bundle。详情见 兼容性说明。
License
MIT
链接
同类插件
yjh051108/dsh-routing-suite★ 7176
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3626
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 312
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
lire1131/dsh-undo-savepoint★ 154
DSH 撤销/回退系统:配置变更自动存档,一键撤销/恢复/回退到任意版本,支持 WebUI 与离线 CLI/GUI 工具(DSH 启动失败也能救)。
Fishquito7/dsh-skill-mcp-panel★ 124
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
kanneiren/dsh-network-settings★ 109
可视化 DSH 进程在 Windows 或 WSL 上的网络链路(DNS/TCP/TLS/HTTP 分层探测),检测失效的代理配置,并提供带快照回滚的安全修复。

社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。