dsh-worldsense:DeepSeek Harness 的安全只讀感知層

在 DeepSeek Harness (DSH) 的開發中,給 Agent 開放任意 HTTP 訪問權限等同於賦予其一個未經認證的代理能力,這極易引發 SSRF(服務器端請求僞造)等安全問題。dsh-worldsense 插件旨在解決這一痛點,爲 Agent 提供一個安全、受限且只讀的“現實感知層”。

插件介紹

這是一個由 guhanfei-ai 維護的聯網工具插件。它爲 DSH Agent 提供了六個只讀工具,用於觀察通用結構化的世界狀態(如部署 API、服務註冊表、業務數據等)。

核心價值在於將 Agent 與任意網絡請求解耦。管理員定義“世界有哪些窗口”,Agent 決定“現在看哪個窗口”,但 Agent 無法在牆上自己開一個洞。它通過限制響應大小、字段數量和計算確定性差異,確保感知過程是可控和可追溯的。

核心能力

插件提供以下六個只讀工具:

  1. worldsense_sources:列出配置的源、終點、參數和字段別名(不包含密鑰)。
  2. worldsense_status:檢查單個源終點的可達性、延遲和 HTTP 狀態(不返回響應體)。
  3. worldsense_read:觀察當前狀態,返回一個帶來源信息的 WorldObservation。
  4. worldsense_snapshot:將觀察結果保存到本地 SQLite 數據庫,返回快照 ID。
  5. worldsense_history:列出保存的快照元數據,支持按源、終點、時間過濾。
  6. worldsense_diff:計算兩個快照之間的確定性結構差異。

每次讀取都會受到響應字節數、字段數量等限制,超限部分如實標註爲 truncated。同時,插件爲每次觀察生成 SHA-256 內容哈希,確保可追溯性。

安裝與啓用

安裝命令如下:

npm install

配置源時,可在 DeepSeek Harness 的 Settings → Plugins 中進行圖形化配置,或直接編寫 JSON 文件。

使用示例

配置通常包含源 ID、類型(http-json)、基礎 URL、認證信息以及具體的端點路徑和字段映射。認證憑證引用自 DSH 憑證存儲,不會出現在工具輸出中。

例如,配置一個 GitHub 倉庫監控源:

{
  "sources": [
    {
      "id": "github-dsh-grafana",
      "type": "http-json",
      "baseUrl": "https://api.github.com",
      "auth": { "type": "bearer", "credential": "GITHUB_TOKEN" },
      "endpoints": {
        "repository": {
          "path": "/repos/guhanfei-ai/dsh-grafana",
          "fields": {
            "stars": "/stargazers_count",
            "forks": "/forks_count",
            "issues": "/open_issues_count",
            "updatedAt": "/updated_at"
          }
        }
      }
    }
  ]
}

典型工作流是:使用 worldsense_read 觀察狀態,使用 worldsense_snapshot 保存觀察結果,執行變更後再次讀取並使用 worldsense_diff 計算差異。

適用場景與注意

適用場景:
* 部署狀態:監控生產環境的版本、副本數和健康狀態。
* GitHub 反饋:讀取項目倉庫的 Star、Issue 等統計信息。
* 內部業務狀態:查詢訂單、收入等業務指標。

注意事項:
1. 權限隔離:Agent 永遠無法指定任意 URL、主機、端口、協議、路徑、HTTP 方法、Header 或憑證。
2. 安全限制:插件僅支持 GET 請求,不跟隨重定向。
3. 脫敏機制:密鑰的脫敏(redaction)是基於啓發式規則的,無法保證檢測所有敏感字段。
4. 權限邊界:插件不授權寫入操作,所有變更需由 Human Intent 插件處理。
5. 信任模型:插件不保證遠程 API 的數據是可信的,只負責提供帶來源的觀察結果。

插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。

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

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

小夜