DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在开发 DSH 插件时,开发者常面临运行时状态不可见、调试环境隔离困难、依赖真实浏览器进行契约测试效率低,以及无法预览客户端在槽位中的渲染效果等问题。dsh-plugin-devkit 是一套社区维护的开发工具集,旨在解决上述痛点。
它是什么¶
该插件提供了一套完整的 DSH 插件开发辅助工具,包括运行时检查器、隔离调试启动器、宿主契约测试器和客户端槽位预览器。它由 CkEFFAF 维护,目前包含 547 个单元测试。需要注意的是,该项目为社区维护,与 DeepSeek AI 无官方隶属关系。
核心功能¶
所有四个模块都打包在同一个 npm 包 @effaf/dsh-plugin-devkit 中:
- dsh-debugger (运行时检查器): 提供对实时组合状态的观察能力,支持通过
/debug命令和ctx.debugger接口进行查询。 - dsh-debug-boot (隔离调试启动): 允许通过 CLI 启动一个独立的 DSH 配置文件,确保调试过程不会干扰日常使用的环境。
- dsh-plugin-test (宿主契约测试): 提供虚拟 Cordis 宿主,用于断言宿主行为,无需依赖真实浏览器即可运行测试。
- dsh-plugin-preview (客户端槽位预览): 将客户端组件挂载到模拟的槽位环境中进行渲染。
安装与启用¶
在目标 DSH 配置文件中挂载插件:
dsh plugin --profile web add @effaf/dsh-plugin-devkit
安装后,三个命令行工具(debug-boot、dsh-plugin-test、dsh-plugin-preview)会出现在全局路径中:
npm install -g @effaf/dsh-plugin-devkit
典型用法¶
- 检查运行时状态: 在会话中发送
/debug health查看组合状态,或使用/debug trace <callId>追踪端到端的调用链路。 - 隔离测试环境: 使用
debug-bootCLI 创建一个临时的 DSH 配置文件进行测试。 - 断言宿主行为: 使用
dsh-plugin-testCLI 将插件挂载到虚拟的 Cordis 宿主上进行契约验证。 - 预览客户端渲染: 使用
dsh-plugin-previewCLI 在模拟的槽位外壳中渲染客户端组件。
适用场景与注意事项¶
- 环境要求: 需要安装 DSH 0.1.5-rc.2 及以上版本,以及 Node.js 22 或更新版本。
- 安全性: 插件在存储数据前会对敏感信息进行清理。
- 权限范围: 插件以当前 DSH 进程的权限运行,安装前请检查源码与许可证。
总结¶
dsh-plugin-devkit 提供了一套专注于观察、隔离、测试和预览的工具。它不破坏被观察的运行时,且所有敏感信息在进入缓冲区前已被脱敏。对于需要在 DSH 生态中进行插件开发的开发者来说,这是一套可以直接集成使用的实用工具。