在 DeepSeek Harness (DSH) 的開發中,給 Agent 開放任意 HTTP 訪問權限等同於賦予其一個未經認證的代理能力,這極易引發 SSRF(服務器端請求僞造)等安全問題。dsh-worldsense 插件旨在解決這一痛點,爲 Agent 提供一個安全、受限且只讀的“現實感知層”。
插件介紹¶
這是一個由 guhanfei-ai 維護的聯網工具插件。它爲 DSH Agent 提供了六個只讀工具,用於觀察通用結構化的世界狀態(如部署 API、服務註冊表、業務數據等)。
核心價值在於將 Agent 與任意網絡請求解耦。管理員定義“世界有哪些窗口”,Agent 決定“現在看哪個窗口”,但 Agent 無法在牆上自己開一個洞。它通過限制響應大小、字段數量和計算確定性差異,確保感知過程是可控和可追溯的。
核心能力¶
插件提供以下六個只讀工具:
worldsense_sources:列出配置的源、終點、參數和字段別名(不包含密鑰)。worldsense_status:檢查單個源終點的可達性、延遲和 HTTP 狀態(不返回響應體)。worldsense_read:觀察當前狀態,返回一個帶來源信息的WorldObservation。worldsense_snapshot:將觀察結果保存到本地 SQLite 數據庫,返回快照 ID。worldsense_history:列出保存的快照元數據,支持按源、終點、時間過濾。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 進程權限運行,安裝前應檢查源碼與許可證。