dsh-ssh-logs:通過 SSH 讀取已授權的遠程日誌

前言

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 工具,用於與日誌服務器交互:

  1. list_log_servers: 列出已配置的服務器別名。
  2. read_log: 讀取日誌文件內容。
  3. 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 個搜索匹配。

結尾

該插件爲 DSH 生態提供了一種安全的日誌檢索機制,適合需要在對話中快速查看服務器日誌的場景。相關目錄與源碼可查閱:

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

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

小夜