dsh-apirevise
Verifieddsh-apirevise · v0.1.0 · MIT · Web UI
API regression & acceptance workbench for DeepSeek Harness.
Install
dsh plugin add dsh-apirevise Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Readme
DSH API Revise
改后端不靠猜:接口快照、回归对比、逐项验收。
Pre-release v0.1.0。 已在 DSH Web 0.2.0-rc.2(Windows、Node 24)上验证。界面与报告为中文。真实模型闭环已于 2026-10-01 通过:基线快照 → 真实 DeepSeek V4-Flash 改后端 → 重跑 → 结构化 diff → 逐项验收 → 导出报告,模型环节未 mock,记录见 docs/real-model-validation.md。

这段 64 秒演示使用 2026-10-01 真实运行的截图(DSH Web 0.2.0-rc.2 + 真实 DeepSeek V4-Flash),不是连续录屏。详细记录见 docs/real-model-validation.md。
解决什么痛点: 用 DSH 改后端代码,改完不敢上线——不知道接口行为变了没有。DSH API Revise 在改之前把关键接口的响应快照下来,模型改完后一键重跑,前后响应的结构化差异(状态码 / 字段 / 数值,新旧值可追溯)与代码 diff 并排展示,你逐项验收后导出报告。
功能
- 手工登记端点:URL + 方法 + 可选请求头/请求体,全部在 DSH Web 面板里填写(不做流量捕获代理,那是 v2)。
- 快照基线:创建轮次时对每个端点发一次请求,把响应(状态码 / 头 / JSON 或文本体)保存为项目内
.dsh-apirevise/文件资产,同时保存一份有上限的后端源码快照。 - 发到当前会话:把「目标描述 + 受监控接口清单」生成请求,经 DSH 正常消息队列发到当前会话,让模型改后端代码。
- 重跑对比:模型改完后一键重新请求全部端点,输出结构化 diff——JSON 字段级差异(新增 / 删除 / 类型 / 数值变化,带新旧值与差值)、状态码变化高亮、纯文本体给行级 patch。
- 逐项验收:每个接口接受 / 继续修改;「继续修改」附反馈,反馈会带回下一次请求。源码在重跑后又变化时,旧对比不能用于验收,必须重新重跑;全部接口针对当前重跑版本逐项接受后才能「完成本轮验收」。
- 导出报告:Markdown + 单文件 HTML(内嵌 diff,XSS 转义 + CSP
default-src 'none')。diff 只呈现事实,不宣称“接口一定没坏”;验收是人类逐项做出的决定。
安装
Node 使用 22.19+(22.x 线)或 24。先按 官方文档 安装配置 DSH;模型密钥由 DSH 管理,本插件没有独立 API Key。
npm 安装(发布后)
dsh plugin --profile web add dsh-apirevise
源码安装
git clone https://github.com/Lostforest7/dsh-apirevise.git
cd dsh-apirevise
npm ci
npm run build
停止 DSH,把仓库注册进 Web profile 后重启:
dsh plugin --profile web add /absolute/path/to/dsh-apirevise
dsh web
仓库自带构建好的 lib/,DSH 无需运行打包脚本即可加载。
使用
- 本地启动后端(例如
node server.mjs,见 examples/api-server,端口 3000)。 - 在 DSH 里打开一个项目目录为该后端项目的会话,点右下角 API 接口验收台。
- 新建验收轮次:标题(这轮要改什么)、目标描述(会发给会话)、受监控接口。创建即快照基线。
- 点 生成请求,确认后 发送到当前会话,模型开始改后端。
- 模型改完后点 重跑对比:查看结构化差异与代码 diff;逐个接口 接受 或 继续修改(附反馈再发会话)。
- 全部接受后点 完成本轮验收,再 导出报告。
把 .dsh-apirevise/ 加入项目 .gitignore。
明确不做
- 不做流量捕获代理(v2 方向);不碰前端页面(那是 dsh-revise 的领地);不做测试框架/用例运行器(那是 dsh-test-workbench 的领地)。
- 不宣称“接口一定没坏”:diff 只呈现状态码/字段/数值的旧值→新值事实。
- 验证环节不 mock 模型:真实模型闭环记录见 docs/real-model-validation.md。
开发
npm ci
npm run check # typecheck + 单元测试 + 构建
npm run dev # 本地预览工作台(examples/api-server),http://127.0.0.1:4320
单元测试全部 fixture 化、离线可跑(仅回环 HTTP),无需 DSH、无需外网:tests/unit。
License
MIT