DeepSeek Harness v0.2.1-alpha.1:Mods、插件创建与 Web 部署

作者
DeepSeekAgent.io 编辑部
发布
更新

DeepSeek Harness v0.2.1-alpha.1 于 2026 年 10 月 3 日发布。它不是新的 npm 默认版本:latest 与 next 仍指向 0.2.0-rc.2,需要明确安装 0.2.1-alpha.1 或使用 alpha 通道才能获得本次功能。

这次更新把重点放在三个方向:实验性 Claude Code Mods 兼容层、让 Agent 直接进入 Creator 模式创建插件,以及面向反向代理部署的 --public-url。同时,DSH 重新设计了主动压缩余量、会话调试工具和部分插件扩展点,升级前需要检查自定义 Profile 与插件。

重点变化

范围更新
Claude Code Mods新增实验性兼容层,把 Mod 的 Hook 链映射到 DSH 扩展点
插件创建Plugin Manager 可将未发送草稿带入 Creator 模式,让 Agent 创建 DSH Plugin
Web 部署--public-url 支持公开域名和带路径前缀的反向代理地址
Developer Tools可选工具包提供原始 Session 日志、正文定位和 Host 调试视图
会话体验支持新会话预填草稿,切换工作区时保留文件、目录和 Session 引用
长会话为主动压缩预留输出空间和额外上下文余量
Automation正式并入 Web,提醒工具只进入 Standard、Creator 与 PTC

Claude Code Mods:验证兼容边界,不是完整替代

官方将这项能力定义为 alpha 阶段的接口兼容验证。DSH 使用 defineMod 把 Mod 的 register(on, options) 包装为 Cordis Plugin,再把部分事件和 $ 方法映射到 Harness 服务。

当前可以覆盖 session.start、prompt.submit、turn.start、tool.call、turn.complete、command.run、ui.render 与 session.end 等路径,也能注册命令和工具、读取 Session 信息、操作工作区文件并在输入框上方绘制 UI。

但它没有完整实现 Claude Code 的所有事件、Pane、Telemetry、Managed Tier 和设置接口。官方样例中的 Token Weather、Blast Radius 与 Replay Theater 可以通过 Bridge 运行;依赖 agent.spawn、prompt.context、Telemetry 或完整 Pane 的大型 Mod 仍不能直接迁移。

另一个重要边界是安全:Mod 与普通 DSH Plugin 一样在 Host 进程内运行,不受 Agent 沙箱保护。它可以访问进程环境、网络、文件和工具,因此只能加载你愿意当作本机代码执行的 Mod。

让 Agent 创建插件

Plugin Manager 的 Add plugin 菜单新增“让 Agent 创建插件”。这个入口会关闭菜单、切换到 Creator 模式,并保留当前未发送草稿;真正发送需求后才开始执行。

这改善了此前“先退出当前上下文,再手动进入 Creator”的割裂流程,但没有取消安装审查。生成的 Bundle 仍需要检查:

  1. package.json 与 cordis.yml 声明;
  2. Host 端代码拥有的文件、网络和进程权限;
  3. 依赖安装时的 Build Script;
  4. 插件卸载、禁用和 HMR 后是否能正确释放资源;
  5. 多语言名称、说明和图标是否随包导出。

--public-url 解决了哪一层问题

DSH Web 仍监听 loopback,--public-url 只是告诉浏览器、界面和模型“用户实际访问的外部地址是什么”。例如:

dsh --profile web \
  --public-url https://app.example/ui/ \
  --trusted-host app.example

--public-url 不会把监听器暴露到公网,也不会自动信任域名。反向代理仍需保留浏览器可见的 Host、剥离 /ui/ 前缀、转发 WebSocket Upgrade,并把 Cookie Path 改写到挂载路径。--trusted-host 负责允许该 authority 访问 API,启动链接里的 Token 与签名 Cookie 才负责认证。

Developer Tools 与会话可观察性

新的可选 Developer Tools Bundle 可以查看原始 Session 日志,在折叠后的对话组与正文之间双向定位,并打开 Host 诊断工具。它适合排查“界面显示一轮,但底层写入了哪些事件”“工具调用为什么没有出现在预期组”等问题。

调试视图可能包含提示词、工具参数、路径和响应内容,不应在共享屏幕或工单中直接暴露完整日志。第三方 Session 标签页即使关闭内置 Developer Tools 也可能继续存在,应按插件自身权限处理。

Compaction 不再只看窗口比例

0.2.1-alpha.1 的主动压缩会结合模型真实上下文窗口 W、请求输出预留 O 和额外余量计算触发点:

floor(min(W × thresholdRatio, W − O − headroomTokens))

默认 thresholdRatio 为 0.8,headroomTokens 为 65,536。这意味着即使历史尚未达到窗口的 80%,只要继续生成一次完整输出后可能没有空间完成摘要,DSH 也会更早压缩。模型容量由实际 Provider 路由解析,切换 Provider 或模型后会重新计算。

需要迁移的插件接口

本次包含两项明确的破坏性变化:

  • 移除运行时 invariant 插件及各包的 ./invariant 导出;
  • 输入区旧 stats 扩展拆为 activity 与 usage 两个入口。

使用这些入口的第三方插件和自定义 Profile 必须更新。启用新 Bundle 后缺少依赖、禁用或卸载后依赖映射残留的问题已经修复,但替换已安装包的版本仍需要重启。

是否应该升级

普通用户继续使用 npm latest 的 0.2.0-rc.2 更稳妥。以下场景适合单独 Profile 测试 alpha:

  • 正在研究 Claude Code Mods 与 DSH Plugin 的迁移;
  • 需要在子路径反向代理后正确公告 Web 地址;
  • 开发插件并需要原始 Session 与 Host 调试能力;
  • 长会话频繁接近窗口上限,想验证新的主动压缩策略。

升级前备份 Profile 与 Session,固定完整版本号,并验证现有插件的 invariant、统计栏入口、HMR 卸载和依赖解析。

相关阅读

参考资料