前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在開發和長期運行智能體會話的過程中,開發者常面臨重啓繁瑣、時間戳過期、調試困難以及外部服務接入受限等實際問題。dsh-pouch 是一套爲 DSH 設計的實用、輕量且美觀的插件集合,旨在通過微小的功能擴展提升日常開發效率和交互體驗。
核心功能¶
這套插件集包含六個核心模塊,分別解決不同的場景痛點:
-
安全重啓機制
手動在終端重啓 DSH 進程會打斷當前會話,直接殺進程又會導致會話凍結。該插件提供/dsh-restart命令和dsh_restart代理工具。它會在後臺啓動一個異步分離的 Worker 進程,在返回響應前給予 3 秒的寬限期,確保會話能被幹淨地重啓。 -
時間上下文注入
模型沒有本地時鐘。如果會話跨過午夜,模型可能會繼續基於啓動時的舊日期進行推理。該插件會在每回合的開始階段,將主機的真實日期、時間和時區注入到代理上下文中,確保推理基於最新的時間信息。 -
Session ID 快捷複製
在 Web 界面中獲取當前的 Session UUID 用於調試或日誌追蹤通常需要查看 URL 或控制台。該插件在 Web 會話頭部的工具欄中注入了一個原生樣式的 Session ID 徽章,點擊即可自動複製到剪貼板。 -
Tavily 網絡搜索
DSH 的ctx.web能力需要具體的搜索提供商。該插件提供了基於 Tavily REST API 的實時網絡搜索支持。它通過ctx.web.registerSearchProvider接口註冊,並支持從環境變量TAVILY_API_KEY或 DSH 憑證服務中解析 API 密鑰。 -
LLM 請求頭自定義
DSH 會在所有請求中注入自身的User-Agent,這有時會干擾需要特定客戶端身份驗證的網關(例如騰訊 CodeBuddy)。該插件允許在settings.yaml的llm-headers節點中配置自定義請求頭。它提供了一個獨立的「Request Headers」設置頁面,支持覆蓋 DSH 的保留 Header、環境變量插值(${env:NAME})、按模型覆蓋以及刪除操作。 -
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 的核心架構,而是作爲貼片層增強了開發與交互的流暢度。