前言¶
DeepSeek Harness(DSH)的智能體在運行時往往需要調用外部 SaaS 平臺(如 Slack、GitHub、Gmail 或 Stripe)。管理這些平臺的 API 密鑰,或者在沒有統一審批流程的情況下放行調用,是開發者常遇到的問題。
下面介紹 @agentvalet/dsh 插件。它作爲代理(Broker)運行,在智能體與平臺之間建立連接,強制執行所有者的授權與審批流程,且不將任何 API 密鑰存儲在運行智能體的機器上。
是什麼¶
插件名稱: @agentvalet/dsh
維護方: AgentValet
核心定位: 一個管控平臺訪問權限的插件。智能體通過它調用 AgentValet 代理連接的 SaaS 平臺,由代理負責校驗所有者的授權和審批狀態。
核心功能¶
- 代理訪問控制:由 AgentValet 代理統一評估授權和審批決策,而非在本地運行策略引擎。
- 零本地憑證:平臺憑證(如 Slack、GitHub 的密鑰)僅存儲在代理端,智能體所在機器上無任何密鑰殘留。
- 全操作工具集:提供列表、讀取、寫入和刪除四種操作的工具。
- 路由指令寫入:自動在
$DSH_HOME/AGENTS.md中寫入路由指令,指示平臺調用必須經過 AgentValet 代理,而非繞過。
安裝與啓用¶
使用 DSH 的包管理器安裝該插件:
dsh plugin --profile web add @agentvalet/dsh
安裝完成後,需要重啓或重新加載對應的 profile(配置文件),插件纔會生效。該插件包含 av-identity(agentvalet 服務)和 av-tools(四種工具)。
連接與配置¶
安裝但未連接的 profile 無法調用任何平臺,通常會返回“未連接”的錯誤。連接過程需要管理員在 AgentValet 控制台生成一次性的 Bootstrap Token。
- 在 AgentValet 儀表盤中爲新的智能體生成一個單次使用的 bootstrap token。
- 在終端運行連接命令:
AGENTVALET_BOOTSTRAP_TOKEN=<token> npx agentvalet-dsh-connect --profile web
上述命令會生成一對 RS256 密鑰對,並將公鑰發送至 AgentValet 的 /v1/agents/bind 接口。私鑰保留在本地,寫入 $DSH_HOME/agentvalet/<profile>.json(默認爲 ~/.dsh/agentvalet/...),權限爲 0600。
連接成功後,該智能體在儀表盤中默認爲“拒絕訪問”模式,必須由所有者授予特定平臺和作用域後才能調用。
路由指令:
連接操作同時會在 $DSH_HOME/AGENTS.md 中寫入一段路由指令,位於 <!-- agentvalet:start --> 和 <!-- agentvalet:end --> 之間。當 DSH 讀取該文件時,會根據此指令將平臺調用路由至 AgentValet 代理。該文件中的其他內容不會被修改。
工具¶
插件提供了四個工具,用於智能體與平臺交互:
| 工具名稱 | HTTP 方法 | 說明 |
|---|---|---|
agentvalet_list_platforms |
— | 列出當前已授權給該智能體的平臺和作用域。在發起任何平臺調用前應先調用此工具檢查權限。 |
agentvalet_read_platform |
GET | 從已授權平臺讀取數據。 |
agentvalet_write_platform |
POST (默認) / PUT / PATCH | 創建或更新數據。寫入操作通常需要所有者審批。 |
agentvalet_delete_platform |
DELETE | 刪除數據。此類操作通常需要所有者審批。 |
所有工具返回格式統一:成功返回 { ok: true, data },失敗返回 { ok: false, error }。這意味着無論是權限拒絕、待審批還是智能體被暫停,結果都是可讀的明文,便於智能體解釋和處理。
注意事項¶
- 無沙箱:該插件僅負責管控哪些平臺調用會成功,它不是沙箱的替代品,應與沙箱方案配合使用。
- 無子代理委託與作用域衰減:插件不支持智能體之間互相委託,也不支持將主代理的作用域衰減後重新簽發給子代理。
- 無本地策略引擎:所有的授權、作用域和審批決策均由 AgentValet 代理評估,插件運行所在機器不進行策略計算。
- 單次使用 Token:Bootstrap Token 是單次使用的。如果嘗試對已連接的 profile 重複運行連接命令,將會被拒絕,以防止審計歷史被混淆。
- 兼容性:插件兼容
>=0.1.0-rc.5 <0.2.0範圍內的 Harness 版本。已驗證兼容0.1.0-rc.7版本。
結語¶
@agentvalet/dsh 解決了 DSH 智能體訪問外部 SaaS 平臺時的憑證管理與審批痛點。它通過代理模式將控制權交還給所有者,並確保智能體機器上不留存任何敏感憑證。
- 插件目錄:SkillHub
- 源碼倉庫:GitHub - AgentValet/dsh-agentvalet