DeepSeek Harness 插件:dsh-pouch

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在開發和長期運行智能體會話的過程中,開發者常面臨重啓繁瑣、時間戳過期、調試困難以及外部服務接入受限等實際問題。dsh-pouch 是一套爲 DSH 設計的實用、輕量且美觀的插件集合,旨在通過微小的功能擴展提升日常開發效率和交互體驗。

核心功能

這套插件集包含六個核心模塊,分別解決不同的場景痛點:

  1. 安全重啓機制
    手動在終端重啓 DSH 進程會打斷當前會話,直接殺進程又會導致會話凍結。該插件提供 /dsh-restart 命令和 dsh_restart 代理工具。它會在後臺啓動一個異步分離的 Worker 進程,在返回響應前給予 3 秒的寬限期,確保會話能被幹淨地重啓。

  2. 時間上下文注入
    模型沒有本地時鐘。如果會話跨過午夜,模型可能會繼續基於啓動時的舊日期進行推理。該插件會在每回合的開始階段,將主機的真實日期、時間和時區注入到代理上下文中,確保推理基於最新的時間信息。

  3. Session ID 快捷複製
    在 Web 界面中獲取當前的 Session UUID 用於調試或日誌追蹤通常需要查看 URL 或控制台。該插件在 Web 會話頭部的工具欄中注入了一個原生樣式的 Session ID 徽章,點擊即可自動複製到剪貼板。

  4. Tavily 網絡搜索
    DSH 的 ctx.web 能力需要具體的搜索提供商。該插件提供了基於 Tavily REST API 的實時網絡搜索支持。它通過 ctx.web.registerSearchProvider 接口註冊,並支持從環境變量 TAVILY_API_KEY 或 DSH 憑證服務中解析 API 密鑰。

  5. LLM 請求頭自定義
    DSH 會在所有請求中注入自身的 User-Agent,這有時會干擾需要特定客戶端身份驗證的網關(例如騰訊 CodeBuddy)。該插件允許在 settings.yaml 的 llm-headers 節點中配置自定義請求頭。它提供了一個獨立的「Request Headers」設置頁面,支持覆蓋 DSH 的保留 Header、環境變量插值(${env:NAME})、按模型覆蓋以及刪除操作。

  6. MCP 服務器控制台
    官方配置 MCP 服務器需要在 cordis.patch.yml 中靜態配置,缺乏 GUI 且難以動態修改。該插件提供了一個基於 Web 的 MCP 服務器控制台,支持運行時添加、編輯、啓用、禁用、重新連接或刪除服務器。它支持每工具開關、通過 SSE 實時查看狀態,以及 JSON 格式的 mcpServers 導入。

安裝與啓用

通過 DSH CLI 安裝是推薦的方式,DSH 會自動下載、打包並掛載所有插件。

dsh plugin --profile web add @moon16u/dsh-pouch

使用示例

重啓 DSH 進程
在會話中直接調用工具或命令即可:

/dsh-restart

或者調用代理工具:

dsh_restart()

啓用網絡搜索
確保已配置 TAVILY_API_KEY,插件加載後,即可在代理代碼中使用 ctx.web 進行搜索。

配置自定義 Header
在 DSH 的 settings.yaml 中配置 llm-headers:

llm-headers:
  # 自定義 User-Agent
  User-Agent: "MyAgent/1.0"
  # 支持環境變量插值
  X-Custom-Header: "${env:MY_HEADER}"

注意事項

  • 版本兼容性:該插件集當前專爲 DSH 0.1.5-rc.1 構建。llm-headers 插件通過讀取 connection.api 或 remote.llm/settings 命名空間來適配不同的 DSH 版本。
  • 協議依賴:MCP 協議相關的代碼完全基於官方的 @deepseek-ai/dsh-mcp-client 實現,不包含額外的 MCP 協議實現。
  • 安全檢查:插件以當前 DSH 進程的權限運行。在安裝前,建議檢查其 GitHub 源碼以確保符合安全標準。
  • 許可證:該插件集採用 MIT 許可證開源。

總結

dsh-pouch 通過解決重啓、時間同步、調試便利性以及外部服務(如網絡搜索和 MCP)接入這幾個高頻痛點,爲 DSH 用戶提供了開箱即用的工具箱。它不改變 DSH 的核心架構,而是作爲貼片層增強了開發與交互的流暢度。

羽毛球分组比赛记分
小程序二维码

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

小夜