AI 智能體可以執行真實的操作:刪除數據、部署服務、花費資金、發送消息。擁有運行工具的能力並不代表人類授予了授權。現有的人機交互機制通常驗證模糊的事實(“人類觸碰了傳感器”),然後給予智能體一個通用的 verified = true,通常有效一段時間。這無法將批准綁定到精確的操作。批准 rm -rf ./test-data 會靜默授權 rm -rf ./production-data。dsh-human-intent 填補了這一空白。
這是什麼¶
guhanfei-ai/dsh-human-intent 是一個 DSH 插件,用於驗證人類意圖並對 AI 智能體的操作進行加密授權。
它確保授權是精確動作綁定的、加密簽名的、一次性的、過期的且可審計的。該插件通過將人類批准與要執行的特定命令精確綁定,解決了“能力 != 權限”的問題。
安裝與啓用¶
在本地開發環境中,使用以下命令安裝插件:
dsh plugin --profile web add link:/Users/you/dsh-human-intent
核心功能¶
插件提供了以下核心能力:
- 精確動作綁定:批准被哈希並簽名,覆蓋精確的工具、目標和參數;任何變異都會使其失效。
- 加密簽名:使用 WebAuthn(平臺認證器、通行密鑰或安全密鑰)進行全服務器端驗證。
- 一次性與過期:授權確切執行一次,且請求和收據具有短的有效期。
- 可審計:本地追加日誌記錄所有狀態轉換。
- 策略執行:通過
tools/pre-execute策略鉤子保護特定的protectedTools。 - API 與 UI:提供
human_intent_request、human_intent_verify、human_intent_status接口,以及 Better Sidebar 審批面板和 WebAuthn UI。
典型用法¶
在安裝並運行 DSH 客戶端後,可以通過以下命令進行交互和調試:
- 運行交互式演示:
npm run demo
這會打開瀏覽器進行註冊(Touch ID / Windows Hello / passkey),展示智能體提出破壞性命令、人類批准/拒絕以及終端輸出加密結果的全過程。
- 啓動批准服務器:
npm run serve
默認運行在 `http://localhost:8787`。
- 檢查收據:
驗證收據的結構、完整性和簽名。
node bin/dsh-human-intent.js inspect receipt.json
- 讀取審計日誌:
查看本地存儲的審計記錄。
node bin/dsh-human-intent.js audit
適用場景與注意¶
- 環境要求:需要 Node.js >= 20.11。
- 本地開發:DSH 客戶端 UI 必須從
localhost提供服務,WebAuthn 功能纔可用。DSH 主機來源必須在配置的allowedOrigins中。 - 安全模型:本項目不是指紋識別系統,也不識別具體的自然人。WebAuthn 證明的是持有註冊憑據的用戶執行了用戶驗證手勢(User Verification),而不是證明特定自然人的身份。
- 概念區分:請注意“Capability”(智能體擁有調用工具的能力)與“Authority”(人類授予的執行權限)的區別。該插件只解決後者。
總結¶
該插件爲 DSH 插件生態提供了一個基於 WebAuthn 的安全人機交互層。它通過密碼學手段將人類批准與具體操作強綁定,確保智能體只能執行明確授權的動作。