dsh-ag-ui

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜