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