dsh-plumb-identity:DeepSeek Harness 的代理級 plumb 會話身份

前言

DeepSeek Harness(DSH)將每個對話複用到一個 plumb serve 連接上。DSH 的 MCP 客戶端不發送身份:沒有按對話的會話 ID,也沒有按調用的 _meta。Plumb 的隔離層(代理工作區分片、讀取跟蹤、郵件尋址)依賴於聲明的身份,因此未識別的對話可以強制鎖定彼此的工作區。通常的緩解措施是在 ~/.dsh/AGENTS.md 中添加指令,但這僅適用於主對話。DSH 子代理在進程內運行,擁有獨立的系統提示詞且沒有父上下文,因此在結構上是匿名的。

dsh-plumb-identity 插件通過爲每個 DSH 對話、工作區和子代理提供穩定的 plumb 會話身份來解決這個問題。它在傳輸層強制執行此身份,而不是依賴指令。

安裝與啓用

此插件依賴運行中的 plumb 守護進程(plumb serve 可作爲名爲 plumb 的 MCP 服務器訪問)。

推薦方式:配置文件包安裝

插件默認安裝即包含 dsh.bundle 補丁,會自動掛載並應用默認配置。需在 web 和 headless 兩個 profile 下安裝:

dsh plugin --profile web add dsh-plumb-identity
dsh plugin --profile headless add dsh-plumb-identity

安裝後需重啓 dsh 進程,因爲運行中的進程不會重新讀取補丁層。

替代方式:手動補丁

若未安裝 bundle,需手動向 ~/.dsh/cordis.patch.yml 追加補丁行:

- insert:
    - id: dsh-plumb-identity
      name: dsh-plumb-identity
      config:
        serverName: plumb

開發調試

若指向本地 checkout,需先移除或禁用 bundle 掛載,避免重複 loader entry id:

- insert:
    - id: dsh-plumb-identity
      name: 'file:///absolute/path/to/dsh-plumb-identity/dsh-plumb-identity.mjs'
      config: { serverName: plumb, logEvents: true }

核心功能

  1. 穩定的會話身份:爲每個 DSH 對話、工作區和子代理提供穩定的 plumb 會話 ID。
  2. 傳輸層強制執行:在 MCP 傳輸層強制執行身份,而非依賴指令。
  3. 主動聲明:主動發送 session_start 請求,並在 tools/call 中添加 _meta 標記。
  4. 失敗開放:SDK 缺失或聲明被拒時,保持失敗開放,不會中斷工具調用。
  5. 配置靈活:支持通過配置項調整行爲,或使用 bundle 一鍵安裝。

配置項

所有配置均爲可選。插件默認使用 plumb 作爲 MCP 服務器名稱。

字段 默認值 說明
serverName plumb 需要保護的 MCP 服務器名稱(工具調用需匹配 mcp__<serverName>__*)
idPrefix dsh 生成的 ID 的第一段
purpose dsh 對話的 session_start purpose 標籤
subagentPurpose dsh-subagent 當會話頭部顯示 parentSession/delegationDepth 時的 purpose 標籤
detail brief 主動 session_start 的數據包大小
excludeEnv ["PAUTA_RUN_ID"] 當任一環境變量被設置時,完全排除該環境
connectMarker plumb 匹配 stdio 命令以識別 plumb 連接的子串
logEvents false 是否在每次調用時輸出 stamp/capture 的調試行
sdkPath DSH profile tree MCP SDK 的絕對路徑(client/index.js),用於非標準安裝

注意事項

  1. 依賴版本:需要 DSH 0.1.1-rc.2+ 和 plumb 0.17.x。
  2. 安裝衝突:安裝 bundle 和手動 insert 會產生衝突(重複 loader entry id)。若需切換方式,需先移除另一方式添加的條目。
  3. 環境排除:將 excludeEnv 設置爲 ['PAUTA_RUN_ID'] 時會完全排除該環境。被排除的環境不會掛載任何插件,其 plumb 調用將沒有任何身份,可能導致工作區 pin 衝突。
羽毛球分组比赛记分
小程序二维码

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

小夜