在 DeepSeek Harness(DSH)的开发流程中,直接在侧边栏调试 HTTP 接口能显著提升效率。dsh-getman-panel(以下简称 Getman)是 dsh-better-sidebar 的配套插件,它将一个轻量级的 API 测试工具集成到了 DSH 的 Web 界面中。
作为 API 测试侧边栏面板,Getman 的核心价值在于零跳转调试与CORS 绕过。它不依赖外部应用,直接复用 DSH 进程的权限进行网络请求转发,适合开发者快速验证接口返回。
核心功能¶
Getman 提供了完整的请求构建、响应查看与历史管理能力:
- 请求编辑:支持 GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS 等标准 HTTP 方法。界面提供 URL、Params、Headers、Body 四个区域的编辑入口。
- 响应查看:显示状态码、耗时、响应大小。响应体支持 JSON 自动美化,并提供一键复制和响应头查看功能。
- 历史记录:全局共享最近 100 条请求记录,所有工作空间共用。支持点击历史条目回填、单项删除和一键清空。
- 绕过 CORS:利用 DSH 进程的 host 半代理机制,支持测试任意 HTTP(S) 接口,无需额外配置代理服务器。
安装与前置条件¶
Getman 作为插件安装,需满足以下前置条件:
- DeepSeek Harness web 正常运行。
- dsh-better-sidebar 插件已安装且版本 >= 0.12.0。
- 本地开发环境需安装 Node.js >= 20 和 pnpm >= 10。
安装命令¶
发布版安装使用以下命令:
dsh plugin --profile web add dsh-getman-panel
安装完成后,重启 dsh web 并在浏览器侧边栏点击 + 菜单即可看到 Getman 选项。
本地开发(Link 方式)¶
如需参与开发或修改源码,需执行 link 方式挂载:
- 编辑
~/.dsh/profiles/web/package.json,在dependencies中增加"dsh-getman-panel": "file:/path/to/dsh-getman-panel",并在dsh.profile.bundles中增加"dsh-getman-panel"。 - 在 profile 目录执行
pnpm install。 - 重启
dsh web(新增 bundle 或修改 host 路由需重启)。 - 浏览器执行硬刷新(Cmd/Ctrl + Shift + R)以加载客户端变更。
使用方法¶
Getman 的使用流程非常直观:
- 打开面板:在侧边栏点击
+,选择 Getman。 - 构建请求:选择请求方法,输入目标 URL。展开 Params、Headers 或 Body 区域进行编辑。粘贴带
?的 URL 会自动解析查询参数。 - 发送请求:点击 发送。发送过程中可随时点击 取消 中断请求。
- 查看响应:响应结果展示在下方,包含状态码、耗时、大小。响应体支持 JSON 格式化,鼠标悬停可点击右上角
⧉图标复制。 - 管理历史:每次发送自动记录。点击历史条目可将请求回填到编辑区,支持删除单条或一键清空。
技术细节与注意事项¶
- 代理路由:插件通过
/dsh-getman/api/proxy路径进行代理转发,该路径由 host 半(Host-side)代码注册。 - 数据存储:历史记录与草稿持久化在浏览器的
localStorage中,Key 为dsh-getman-panel:global,所有工作空间共享。 - 开发调试:
- 修改客户端代码后,必须进行浏览器硬刷新才能生效。
- 修改 Host 代码或新增 bundle 后,必须重启
dsh web。
Getman 依赖 MIT 许可证,源码与目录可在 GitHub 查看。