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 的安全人机交互层。它通过密码学手段将人类批准与具体操作强绑定,确保智能体只能执行明确授权的动作。