dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
伴航 Convoy for DeepSeek Harness — 内嵌在 DSH 里的 AI 自动纠偏层:危险命令改写、越界写入回滚、假完成重跑,全程零点击,只留可回溯回执。
▶ 60 秒演示视频 · 三场景 + 实时监督 + 设置页 + 回执面板 + 复盘,全程零点击。
for DeepSeek Harness · 给每个 AI 会话配一个不干活的「找茬同事」——它不抢活干,只在 agent 快要犯错时直接出手收掉,然后留一张回执。
状态:v0.5.0 · M1 达成(2026-10-22):T1.1–T1.7 全部完成,真机四轮复验零误报;L2 模型复核已接入宿主 llm 服务(路由跟随会话,可开关);npm test 99/99、npm run replay 3/3。
日期:2026-10-22 · zoe1 / 小蓝鲸
DSH 插件方向:AI 监督 AI。
现有 doctor/guard 类插件管的是「安装前检查、崩溃后修复」,teammate 管的是「分工干活」,没有人管运行过程中的语义级风险:危险命令、范围漂移、幻觉引用、假完成、验证缺失。
伴航旁路监听 DSH 会话事件,用「确定性规则 + 小模型 Reviewer」在关键节点判断,然后默认自动纠偏:安全改写命令、阻断高危操作、回滚范围外改动、补跑验证、循环降频、敏感信息脱敏。处理完只在界面上留一张回执——不弹确认、不等人点、不打断自动流程。
一句话差异:别人管「安装、启动、权限、事后」,伴航管「过程」;别人把用户叫回来,伴航直接把事办了。
dsh-convoy/
├─ README.md # 本文件
├─ package.json # DSH 插件清单(dsh.bundle.patch + dsh.client)
├─ cordis.patch.yml # bundle patch:把宿主半插入 composition
├─ index.js # 宿主半:/convoy/ 面板页 + /convoy/api/* 实时接口 + 监听 session/event
├─ client.js # 客户端半:右下角回执胶囊/面板 + 设置页 + 侧边栏 + 主面板
├─ install.mjs / install.cmd # 安装/卸载脚本(全部可回滚)
├─ src/
│ ├─ events/ # 事件层:多帧 zstd 解码、归一化、JSONL/总线双事件源
│ ├─ rules/ # L1 规则:W1 破坏性 / W2 路径越界 / W3 范围漂移 / W5 假完成
│ ├─ score/ # 信任分
│ ├─ receipts/ # 回执存储 + 复盘 markdown
│ ├─ reviewer/ # L2 Reviewer(schema / 预算 / 触发 / 降级 / live-model)
│ ├─ actions/ # AutoActionExecutor(nudge / git 回滚 / 重跑验证 / 脱敏)
│ ├─ host/ # 实时状态中枢 ConvoyHub + /convoy/api 路由
│ └─ pipeline.mjs # 回放/宿主共用的串联管线
├─ scripts/ # replay 回放器、真机会话探针、夹具生成
├─ fixtures/ # 三个真实形状事件流(删库 / 范围漂移 / 假完成)
├─ test/ # node:test(99 项)
├─ docs/
│ ├─ PRD.md # 产品需求(v0.5)
│ ├─ 工作计划表.md # 23 项任务 / 里程碑 / 风险
│ ├─ M0-技术设计.md # 事件模型 / 规则接口 / 自动动作 / 存储
│ └─ T1.7-冒烟记录.md # 真机冒烟四轮记录(误报证据 + 修复后复验)
├─ out/reviews/ # 三场景复盘样张(s1/s2/s3)
└─ demo/
└─ index.html # 单文件交互 Demo(浅色 · 无依赖 · 面板内打开)
安装(本机已完成过一次,重装/换机器用):
install.cmd(或在任意终端运行 node install.mjs)。脚本会:
package.json(package.json.bak-convoy-<时间戳>)"dsh-convoy": "link:<本目录绝对路径>" 与 dsh.profile.bundles 条目node_modules/dsh-convoypackage.json / pnpm-lock.yaml,不会把 DSH 弄坏/convoy/ 由插件自己提供。卸载 / 回滚:
node install.mjs --uninstall # 移除依赖与 bundles 条目,再跑一次 pnpm install
# 完全退出 DSH 再启动 → 胶囊、面板、路由全部消失
package.json,失败会还原;重复执行是幂等的(输出 profile already up to date)。package.json.bak-convoy-* 覆盖回 package.json,再 pnpm install。node install.mjs --dry-run / node install.mjs --uninstall --dry-run。安装/卸载演练已做:临时 profile 上 install → uninstall → 二次 uninstall 幂等 → 清理,全程未触碰真实 profile。本机注记见
docs/T1.7-冒烟记录.md。
右下角 伴航回执胶囊(蓝色小标 + 信任分 + 状态点):
llm 服务,路由跟随会话 request/header;无服务/无路由时显式待命)~/.dsh/convoy/config.json,回执按天追加 ~/.dsh/convoy/receipts/YYYY-MM-DD.jsonl,不上传任何会话内容。接口(都过 GUI 登录校验,浏览器直连返回 401 属预期):
| 路由 | 说明 |
|---|---|
GET /convoy/api/health | 存活 + 版本 + mode:"live" + L2 状态(enabled / standby-no-route / no-llm-service) |
POST /convoy/api/review/run | 立刻对指定会话跑一次 L2(调试/验证用) |
GET /convoy/api/state | 会话、信任分、回执统计、模式 |
GET /convoy/api/stream | SSE 推送,面板实时刷新用 |
GET /convoy/api/receipts?session=<id>&limit= | 回执列表 |
GET /convoy/api/review?session=<id>[&download=1] | 复盘 markdown |
GET|POST /convoy/api/config | 读取/修改监督模式与自动动作开关 |
POST /convoy/api/undo | 撤销(M0 诚实返回 not-executed:只生成了计划,未真实执行) |
入口:DSH 侧边栏「伴航 Convoy」(面板内 iframe)或浏览器直开 demo/index.html,内容一致。
for DeepSeek Harness;浅色背景,主色 #4D6BFE。Remove-Item -Recurse -Force $HOME 在执行前被改写成只删 ./tmp、./logs。src/payment.ts;伴航自动回滚该文件,保留设置页改动。.md。Demo 是纯前端模拟,不操作真实文件;它演示 M1 目标形态(执行前改写/阻断)。真实会话的监督结果看右下角胶囊——M0 自动动作只生成可撤销计划,不落盘执行(见 PRD 5.1)。
docs/PRD.md)node --test test/events.test.mjs test/rules.test.mjs test/score.test.mjs \
test/reviewer.test.mjs test/actions.test.mjs test/host.test.mjs # 99/99
node scripts/replay.mjs # 3/3 CHECK PASS(含信任分与复盘生成)
node scripts/replay.mjs --json # 机器可读:checks / decisions / score / plans
node scripts/probe-events.mjs # 解析本机最新真机会话:帧数/行数/事件直方图
node scripts/build-fixtures.mjs # 重新生成三份夹具
Node 24 下
node --test test/不支持目录,需显式列文件;定时器均已unref(),测试不会挂住进程。
已实现(T1.1–T1.7,M1)
session.v4.jsonl.zstd;按 magic 切帧逐帧解码(Node 单次 zstdDecompressSync 只出第一帧)。SessionNormalizer 做 seq 去重/缺口检测/工具归因;双事件源:总线(ctx.on('session/event') + snapshotEvents 补历史)与 JSONL tail(偏移量、半帧重试、轮转重置)。index.js 监听 session/event → ConvoyHub → L1 → 回执/信任分 → /convoy/api/state|stream|receipts|review|config|undo;会话暖启动 hydrate(静默,不重复生成回执);配置原子落 ~/.dsh/convoy/config.json。shell.overlay 右下角回执胶囊 + 展开面板(信任分/回执/证据/下载复盘,SSE 实时 + 轮询兜底);settings.section 模式与开关;保留侧边栏 + main Demo 面板。npm test → 99/99;npm run replay → 3/3;真机四轮冒烟,最终零误报(docs/T1.7-冒烟记录.md)。M0 边界 / M1 待做
apply=true + undo 真回滚;M0 只生成可撤销计划)llm 服务,跟随会话路由;每次复核只读、严格 JSON、证据门槛)dsh-convoy。#4D6BFE;浅色主题:白底 + 浅灰面板 + 少量语义色(红 #E5484D / 黄 #C77F00)。record 模式可先观察)out/video/convoy-60s.mp4,不入库)旧版本(v0.2「暗哨 watchpost」深色 Demo)保留在
C:\work\dsh-watchpost\作为存档;本目录为 v0.3→v0.5「伴航 Convoy」。