让AI调用API却不泄露密钥?这个开源项目想成为Agent时代的1Password
你有没有想过这个问题:让 AI 帮你发邮件、查数据、调第三方 API——但你怎么保证它不会顺手把你的 API Key 泄露出去?
这不是杞人忧天。2026 年了,AI Agent 正在从”玩具”变成真正的生产力工具,连接各种 SaaS、数据源、内部系统。但每连接一个服务,就需要 API Key 或者 OAuth 凭证。你敢把这些 Key 直接塞给 AI 吗?
大多数人的做法是:算了,不用这个功能了。
agent.pw 想要解决的就是这个问题——让 AI 干活,但不给它偷看钥匙的机会。
它的核心思路
你可以把 agent.pw 理解成”AI 时代的 1Password”。它的本质是一个凭证保险库(Credential Vault),专门给 AI Agent 设计的。
具体怎么工作的?分三层:
第一层:凭证存储
你的 API Key、OAuth Token 存在 agent.pw 的加密数据库里,用 AES-GCM 加密存储,Agent 永远碰不到明文。Agent 能拿到的只是一个”连接路径”(比如 acme.connections.github),而不是真实的密钥。
第二层:OAuth 全生命周期
传统 API 集成,Token 过期了需要手动刷新,Agent 根本处理不了。agent.pw 自动处理 PKCE 授权、Token 自动刷新、撤销流程。它还支持 RFC 9728 发现协议,连接时自动探测最合适的认证方式。
第三层:权限边界
这个最关键——它可以给 Agent 分配”范围受限”的访问令牌。比如我授权 Agent 只能读取 GitHub repos,不能写代码;只能访问 Notion 某个数据库,不能碰其他页面。这些权限在密钥层面就隔离了,Agent 想越界都做不到。
为什么这个时间点值得关注
因为 2026 年,Multi-Agent 系统正在爆发。
一个复杂的 AI 工作流,往往需要多个 Agent 协作——研究 Agent 查资料、代码 Agent 写实现、审核 Agent 做合规检查。每个 Agent 都可能需要访问不同的系统。如果每个 Agent 都直接持有密钥,那密钥管理就是一场噩梦。
agent.pw 提供了一个中心化的凭证管理层,所有 Agent 的外部访问都经过它。你甚至可以按项目、按 Agent 类型分配完全隔离的凭证路径。
实际用起来什么样
假设你要让一个 AI Agent 帮你管理 GitHub Issues。
正常流程:你把 GitHub Personal Access Token 塞给 Agent → Agent 可能打印日志时暴露 → 可能被 Prompt 注入攻击偷走。
用 agent.pw:你把 Token 存在 agent.pw 的 github.issues-bot 路径下,配置好只读权限 → Agent 调用 agentPw.connect.resolveHeaders() 获取凭证 → 实际请求时 Token 根本不经过 Agent 的 Prompt 上下文。
一句话:凭证在外面,Agent 只负责干活。
安装和使用
# 通过 Smithery CLI 安装
npx skills add https://github.com/smithery-ai/agent.pw
# 或者 npm 安装
npm install agent.pw
核心 API 很简洁:
import { createAgentPw } from "agent.pw";
// 连接并自动处理 OAuth
const prepared = await agentPw.connect.prepare({
path: "github.issues-bot",
resource: "https://api.github.com",
});
// 已有的凭证直接返回,没有则触发 OAuth 流程
if (prepared.kind === "ready") {
return prepared.headers; // Agent 拿到的是临时的、作用域受限的凭证
}
// 处理 OAuth 授权回调
const session = await agentPw.connect.startOAuth({
path: "github.issues-bot",
option: selectedOption,
redirectUri: "https://your-app.com/oauth/callback",
});
适合谁用
说实话,目前上手门槛不低——你需要懂 TypeScript、了解 OAuth、还要能自己搭数据库。所以它现在的用户画像更偏向开发者/架构师,而不是普通用户。
但这个方向是绝对正确的。凭证安全是 AI Agent 走向生产环境必须翻越的一座山,而 agent.pw 给出了一个相当优雅的解法。
GitHub:https://github.com/smithery-ai/agent.pw
评论区
登录后可评论。