核心用法
Confidant 是一款面向 AI 代理的人类密钥安全交接工具,用于替代「请把 API Key 发给我」这种危险操作。工作流程严格遵循「人机分离」原则:代理启动本地服务生成安全 URL → 在聊天中发送该 URL 给用户 → 用户在浏览器中独立提交密钥 → 代理静默确认并安全存储。
主要脚本:request-secret.sh 一键生成安全请求,支持自动保存到 ~/.config/<service>/api_key、设置环境变量、启动 localtunnel/ngrok 隧道等。check-server.sh 用于诊断服务状态。
显著优点
1. 零聊天暴露:密钥全程不经过聊天界面,杜绝历史记录、日志、截图泄露
2. 零配置隧道:--tunnel 自动启动 localtunnel,无需账户即可远程使用
3. 文件权限硬化:自动设置 chmod 600 保护存储的密钥
4. 一次一密:24 小时过期或提交后立即销毁,无持久化风险
5. 代理友好:脚本封装完整,Agent 无需理解底层 HTTP 交互
潜在缺点与局限性
- 依赖外部隧道:localtunnel 为第三方公共服务,虽无需账户但存在可用性风险;ngrok 需注册
- 本地端口占用:固定 3000 端口可能被其他服务占用
- 浏览器依赖:用户必须有图形浏览器或能访问 URL 的设备
- 无加密端到端:TLS 由隧道提供,本地传输为明文 HTTP
- 单点服务:无高可用设计,服务器崩溃需重新创建请求
适合人群
- 使用 Claude、ChatGPT 等对话式 AI 时需要配置 API 密钥的用户
- 远程/SSH 环境下需要安全传递凭证的开发者
- 企业合规要求禁止密钥入聊天记录的场景
常规风险
1. 钓鱼 URL:代理需确保用户认清合法域名(localtunnel 子域随机),防范中间人伪造表单
2. 隧道截断:localtunnel 公共实例理论上可被同服务其他用户扫描探测
3. 残留进程:异常退出时 Node 进程可能残留,需手动清理
4. 权限提升:保存路径若配置不当,可能写入其他用户可读的目录