返回

文章详情

展示 HN:OneCLI - 开源凭证网关,保密 AI 代理的机密

Hacker News2026年7月23日 15:42

AI 代理的秘密保险库。存储一次。随处注入。代理永远看不到密钥。网站 · 文档 · Discord OneCLI 是什么?OneCLI 是一个开放源代码的网关,它位于你的 AI 代理和它们所调用的服务之间。你不需要将 API 密钥硬编码进每个代理中,而是将凭证一次性存储在 OneCLI 中,网关会透明地注入它们。代理永远看不到机密。我们为什么要构建它:AI 代理需要调用数十个 API,但向每个代理提供原始凭证存在安全风险。OneCLI 通过一个处理身份验证的单一网关解决了这个问题,因此你可以在一个地方管理访问权限、更换密钥,并查看每个代理在做什么。它是如何工作的:你在 OneCLI 中存储真实的 API 凭证,并给你的代理提供占位符密钥(例如 FAKE_KEY)。当代理通过网关进行 HTTP 调用时,OneCLI 网关会将请求与正确的凭证匹配,将 FAKE_KEY 替换为 REAL_KEY,解密它们,然后注入到外发请求中。代理永远不会接触到真实的机密。它只需进行正常的 HTTP 调用,网关处理交换。架构 Rust 网关:快速的 HTTP 网关,拦截外发请求并注入凭证。代理通过 Proxy-Authorization 标头使用访问令牌进行身份验证。Web 仪表盘:用于管理代理、机密和权限的 Next.js 应用。提供网关用于解析每个请求注入哪些凭证的 API。秘密存储:AES-256-GCM 加密的凭证存储。机密仅在请求时解密,按主机和路径模式匹配,并作为标头或 URL 查询参数由网关注入。快速开始 运行 OneCLI 本地的最快方法:curl -fsSL https://onecli.sh/install | sh 或者,如果你更喜欢手动运行:git clone https://github.com/onecli/onecli.git cd onecli docker compose -f docker/docker-compose.yml up -d --wait 打开 http://localhost:10254,创建一个代理,添加你的机密,并将你的代理的 HTTP 网关指向 localhost:10255。快速开始在本地模式下运行 OneCLI(单用户,无需登录),因此不需要 .env 或 NEXTAUTH_SECRET。要为多个用户启用 Google OAuth,请设置 NEXTAUTH_SECRET 和 Google 凭证(请参阅配置)。功能 透明凭证注入:代理进行正常的 HTTP 调用,网关处理身份验证 加密的秘密存储:AES-256-GCM 静态加密,只有在请求时解密 主机和路径匹配:通过模式匹配将机密路由到正确的 API 端点 多代理支持:每个代理获得其自己的访问令牌,带有作用域权限 简单设置:curl -fsSL https://onecli.sh/install | sh 启动所有内容(应用程序 + PostgreSQL) 两种身份验证模式:单用户(无登录)用于本地使用,或团队的 Google OAuth Rust 网关:快速、安全的 HTTP 网关,带有 MITM 拦截 HTTPS 支持保险库集成:连接 Bitwarden(或其他密码管理器),实现按需凭证注入,而无需将机密存储在服务器上 项目结构 apps/ web/ # Next.js 应用(仪表盘 + API,端口 10254) gateway/ # Rust 网关(凭证注入,端口 10255) packages/ db/ # Prisma ORM + 迁移 ui/ # 共享 UI 组件(shadcn/ui) docker/ Dockerfile # 应用程序图像(网关 + Web) docker-compose.yml 本地开发先决条件 mise(安装 Node.js、pnpm 和其他工具) Rust(用于网关) Docker(用于 PostgreSQL) 设置 mise install pnpm install cp .env.example .env pnpm db:generate pnpm db:up # 启动 PostgreSQL pnpm db:migrate # 应用迁移 pnpm dev 仪表盘在 http://localhost:10254,网关在 http://localhost:10255。 命令 命令 描述 pnpm dev 在开发模式下启动 Web + 网关 pnpm build 生产构建 pnpm check lint + types + format pnpm db:up 启动 PostgreSQL(Docker) pnpm db:down 停止 PostgreSQL pnpm db:generate 生成 Prisma 客户端 pnpm db:migrate 运行数据库迁移 pnpm db:studio 打开 Prisma Studio 配置 所有环境变量在本地开发中都是可选的: 变量 描述 默认 DATABASE_URL PostgreSQL 连接字符串 请见 .env.example NEXTAUTH_SECRET 启用 Google OAuth(多用户) 单用户模式 GOOGLE_CLIENT_ID Google OAuth 客户端 ID — GOOGLE_CLIENT_SECRET Google OAuth 客户端密钥 — SECRET_ENCRYPTION_KEY AES-256-GCM 加密密钥 自动生成 贡献 我们欢迎贡献!请在开始之前阅读我们的贡献指南和行为规范。 许可证 Apache-2.0

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡