前言¶
DeepSeek Harness(DSH)通過插件機制擴展能力。在開發調試智能體時,往往需要訪問服務器上的日誌文件進行排查。直接給智能體開放 SSH 權限風險過高。dsh-ssh-logs 插件利用 DeepSeek Harness 內置的 @deepseek-ai/dsh-mcp-client 橋接,將 SSH 讀取能力封裝爲三個 MCP 工具。它通過固定別名管理服務器,確保智能體只能讀取預配置的日誌路徑,無法執行任意命令或修改文件。
插件定位¶
- 名稱: dsh-ssh-logs
- 類別: 聯網工具
- 功能: 允許在 DeepSeek Harness 會話中,通過 SSH 讀取已授權的遠程日誌。
- 維護者: 452926826
- 許可證: MIT
核心功能¶
該插件在 DSH 上下文中暴露三個 MCP 工具,用於與日誌服務器交互:
- list_log_servers: 列出已配置的服務器別名。
- read_log: 讀取日誌文件內容。
- search_log: 在日誌文件中搜索特定關鍵詞並返回上下文。
服務器配置基於固定別名,智能體無法指定任意主機或執行任意命令。每次文件讀取請求必須在已授權的日誌根目錄(log root)範圍內。
安裝與啓用¶
在 DSH 環境中執行以下命令安裝插件:
dsh plugin --profile web add github:452926826/dsh-ssh-logs
安裝後,需重啓 dsh web 進程並刷新頁面,使 Bundle 註冊的 MCP 客戶端生效。服務器和日誌路徑需提前配置。
典型用法¶
配置完成後,可以通過自然語言指令調用上述 MCP 工具:
-
讀取生產環境應用日誌根目錄下的最後 300 行:
> Read the last 300 lines of service/api.log from the app log root on production. -
在預發環境的日誌中搜索特定請求 ID 並展示上下文:
> Search logs/backend.log under staging/app for request-id=abc123 and include 3 lines of context.
注意事項¶
- 預配置限制: 服務器和日誌根目錄必須在安裝前配置完畢。插件拒絕相對路徑、反斜槓以及使用
..進行目錄遍歷。 - 權限與安全:
- SSH 連接強制使用
BatchMode=yes和StrictHostKeyChecking=yes,並指定顯式的known_hosts路徑。 - 服務器端必須使用專用的只讀賬號。
- 不支持密碼提示、sudo、任意命令執行、SFTP 寫入、文件刪除或修改操作。
- 輸出內容默認爲 128 KiB,硬性限制爲 4 MiB,單次請求最多讀取 5,000 行或返回 1,000 個搜索匹配。
- SSH 連接強制使用
結尾¶
該插件爲 DSH 生態提供了一種安全的日誌檢索機制,適合需要在對話中快速查看服務器日誌的場景。相關目錄與源碼可查閱: