DeepSeek Harness (DSH) 采用「一切皆插件」的架构。在构建模型智能体应用时,开发者常需要将 DSH Agent 通过 AG-UI 协议暴露给前端,或实现浏览器工具的跨进程调用。这涉及到 HTTP/SSE 网关、身份认证、状态同步以及资源管理的复杂逻辑。
dsh-ag-ui 是一个社区维护的 DeepSeek Harness Host 插件,作为 AG-UI 协议的网关,它提供认证的 HTTP/SSE 接口,将 DSH Agents 绑定到 AG-UI 线程,并处理文本流、工具事件及浏览器工具的代理。该插件由 CaiZongyuan 维护,遵循 MIT 许可证。
核心功能¶
该插件提供以下核心能力:
- 标准 Cordis Service 插件:作为标准服务插件暴露,通过
ctx.agUi访问。 - 浏览器工具代理:提供传输无关的 Agent 作用域浏览器工具代理,通过
ctx.browserTools访问。 - 认证网关:提供认证的 BFF 到网关请求,使用可信的租户和用户头。
- 线程绑定:将 AG-UI 线程绑定到 DSH Agent,使用进程本地的
(tenantId, userId, threadId)绑定。 - 双向共享状态:通过
RunAgentInput.state、ag_ui_update_state和STATE_SNAPSHOT支持双向共享状态。 - 工具卡片:为后端工具调用提供演示卡片,作为版本化的
dsh:tool:view自定义事件。 - 状态延续与承诺停车:支持前端工具 Promise 停车和跨 HTTP 运行的 ToolMessage 继续执行。
- 资源限制与清理:对请求、上下文、工具模式、事件缓冲区、线程和运行日志进行界限管理,并确保 Cordis 对路由、Agent、工具、计时器和待处理调用的完整清理。
- 运行与消息幂等性:确保运行和消息的幂等性。
安装与启用¶
安装该插件需要满足以下环境要求:Node.js 版本为 ^22.19.0 或 >=24.0.0。
通过 DSH Profile 安装插件:
dsh plugin --profile web add dsh-ag-ui
从 GitHub 仓库安装(用于发布前的本地开发):
dsh plugin --profile web add github:CaiZongyuan/dsh-ag-ui
配置与使用¶
插件安装后,环境变量是配置 AG-UI 网关的最短路径。必须配置的变量包括 provider、model 和 sharedSecret(sharedSecret 必须至少包含 16 个 UTF-8 字节)。
export DSH_AG_UI_PROVIDER='openai'
export DSH_AG_UI_MODEL='gpt-5.6-sol'
export DSH_AG_UI_SHARED_SECRET="$(openssl rand -hex 32)"
export DSH_AG_UI_PATH='/ag-ui' # 可选
dsh --profile web
也可以通过 Profile 中的 cordis.patch.yml 进行配置,这允许覆盖插件挂载的行:
- id: ag-ui
disabled: false
config:
provider: openai
model: gpt-5.6-sol
sharedSecret: !!js process.env.DSH_AG_UI_SHARED_SECRET
path: /ag-ui
maxThreads: 100
frontendToolTimeoutMs: 300000
适用场景与注意¶
- 适用场景:需要将 DSH Agents 暴露为 AG-UI 服务、需要集成浏览器工具或需要管理复杂 Agent 状态同步的开发者。
- 前置条件:安装前需确保 DSH Profile 包含标准 Host 服务、已注册的 DSH 模型提供者和模型,以及一个认证的 Backend-for-Frontend (BFF)。
- 生态组件:插件本身不包含 React 渲染器和嵌入适配器,这些功能由单独的
dsh-ag-ui-cards和dsh-ag-ui-adapter包提供。 - 社区性质:这是一个社区项目,非 DeepSeek 或 AG-UI 官方包。
总结¶
dsh-ag-ui 解决了 DSH 环境下 AG-UI 协议集成的核心工程问题,提供了从 Agent 执行到前端展示的完整链路支持。开发者可以通过简单的命令行安装,并结合环境变量或 YAML 配置快速启用网关功能。
- GitHub: https://github.com/CaiZongyuan/dsh-ag-ui
- 目录: https://www.skillhub.cn/plugins/CaiZongyuan/dsh-ag-ui