AgentSecrets 是一款专为 AI 代理设计的零知识凭证管理系统,其核心理念是让智能代理在不接触任何敏感信息的前提下完成整个凭据生命周期管理。与传统需要人工输入密钥的工具不同,AgentSecrets 通过操作系统级安全存储(如 macOS Keychain、Windows Credential Manager)和端到端加密技术,确保 API 密钥等敏感数据永远不出现在代理的上下文或日志中。代理仅能操作凭据的名称和操作指令,而实际值由系统安全托管。这种设计既满足了自动化运维的需求,又从根本上杜绝了凭据泄露的风险。 该工具不仅是一个简单的密钥仓库,更是一套完整的 secrets 基础设施。它支持工作区与项目的层级组织,提供凭据同步、漂移检测、审计追踪等功能。代理可以自主创建项目、切换环境、验证凭据状态,并在执行 API 调用前自动检查所需密钥是否存在。当检测到本地与云端凭据不一致时,系统会提示进行同步,保障生产环境的配置一致性。所有 API 请求均通过专用命令 `agentsecrets call` 发起,支持 Bearer Token、自定义 Header、查询参数等多种认证方式,并自动拦截响应体中的凭据回显,将其替换为 `[REDACTED_BY_AGENTSECRETS]`,实现纵深防御。 此外,AgentSecrets 还提供 HTTP 代理模式和环境变量注入功能,可无缝集成到各类开发框架和 CLI 工具中。例如,运行 `agentsecrets env — stripe mcp` 即可将 Stripe MCP 所需的密钥作为环境变量注入子进程,无需手动导出。系统内置零信任访问控制,默认阻止未授权域名请求,需用户主动授权特定域名后方可通信。这一切都建立在开源透明的基础上,代码托管于 GitHub,采用 MIT 许可证,确保用户对其安全性拥有完全知情权和控制权。
核心功能特点
- 零知识架构:代理全程不接触凭据明文,仅处理名称和操作指令
- 全生命周期管理:自主完成账户初始化、工作区/项目管理、凭据设置与同步
- 安全 API 调用:统一 `call` 命令支持多种认证模式,自动拦截凭据回显
- 环境变量注入:通过 `env` 命令将密钥动态注入子进程,避免硬编码
- 零信任网络:默认阻止未授权域名,需用户显式授权才能建立连接
- 完整审计日志:记录操作时间、目标 URL、使用的密钥名及响应时间,绝不包含值
适用场景
AgentSecrets 特别适合需要频繁调用外部 API 但又不希望暴露密钥的开发场景。例如,在自动化部署流程中,CI/CD 脚本可通过 `agentsecrets secrets pull` 拉取最新凭据,再结合 `agentsecrets call` 完成服务状态检查或资源更新,整个过程无需在代码库中存储任何密钥。对于多团队协作项目,管理员可在工作区内邀请成员并分配权限,所有操作均有迹可循,便于事后追溯。 另一个典型用例是本地开发调试。开发者常需在多个服务间切换测试,比如同时使用 Stripe、OpenAI 和 SendGrid。传统做法是在 `.env` 文件中写入密钥,存在误提交风险。而 AgentSecrets 允许代理根据当前激活的项目自动注入正确的密钥到终端会话,运行 `agentsecrets env — npm run dev` 后,Node.js 应用便能直接读取环境变量中的凭据,安全可靠且无需修改配置文件。 在企业级环境中,AgentSecrets 的零信任策略尤其有价值。假设某代理试图向未知域名发送请求,系统会立即返回 403 错误,并提示用户执行 `agentsecrets workspace allowlist add api.example.com` 来解除限制。这种强制性的访问控制有效防止了恶意行为或配置错误导致的横向移动。同时,代理还能定期执行 `secrets diff` 检查本地与云端是否一致,发现差异时自动建议同步,确保生产环境与测试环境的一致性。无论是个人开发者还是大型团队,AgentSecrets 都能在不牺牲便利性的前提下大幅提升凭证管理的安全性与可维护性。
