Rust实现的安全凭证库,专为AI Agent部署设计。解决Agent权限管理的实际问题。
AI Agent 的密钥保险库。只需存储一次,随处注入。Agent 永远看不到密钥。
网站 · 文档 · Discord
OneCLI 是一个开源网关,位于 AI Agent 与其调用的服务之间。无需把 API key 硬编码到每个 Agent 中,你只需在 OneCLI 中存储一次凭据,网关便会以透明方式注入这些凭据。Agent 永远看不到 secret。
为什么要构建它:AI Agent 需要调用数十个 API,但直接向每个 Agent 提供原始凭据会带来安全风险。OneCLI 通过统一处理身份验证的单一网关解决了这个问题,让你可以集中管理访问权限、轮换密钥,并查看每个 Agent 的行为。
工作原理:你将真实的 API 凭据存储在 OneCLI 中,并向 Agent 提供占位密钥(例如 FAKE_KEY)。当 Agent 通过网关发起 HTTP 调用时,OneCLI 网关会为请求匹配正确的凭据,将 FAKE_KEY 替换为 REAL_KEY,解密凭据,并将其注入出站请求。Agent 从始至终都不会接触真实 secret。它只需像平常一样发起 HTTP 调用,网关会负责完成替换。
Rust Gateway:高性能 HTTP 网关,可拦截出站请求并注入凭据。Agent 通过 Proxy-Authorization header,使用 access token 完成身份验证。
Web Dashboard:用于管理 Agent、secret 和权限的 Next.js 应用。它提供网关所需的 API,用于确定应为每个请求注入哪些凭据。
Secret Store:采用 AES-256-GCM 加密的凭据存储。Secret 仅在请求时解密,通过 host 和 path 模式进行匹配,并由网关以 header 或 URL query parameter 的形式注入。
在本地运行 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,创建一个 Agent,添加你的 secret,然后将 Agent 的 HTTP gateway 指向 localhost:10255。
Quick Start 会以 local mode 运行 OneCLI(单用户、无须登录),因此不需要 .env 或 NEXTAUTH_SECRET。如需为多用户启用 Google OAuth,请设置 NEXTAUTH_SECRET 和 Google 凭据(参见 Configuration)。
透明凭据注入:Agent 发起普通 HTTP 调用,由网关处理身份验证
加密 secret 存储:使用 AES-256-GCM 进行静态加密,仅在请求时解密
Host 与 path 匹配:通过模式匹配,将 secret 路由到正确的 API endpoint
多 Agent 支持:每个 Agent 都拥有自己的 access token,并具备限定范围的权限
轻松设置:运行 curl -fsSL https://onecli.sh/install | sh 即可启动所有组件(应用 + PostgreSQL)
两种身份验证模式:用于本地环境的单用户模式(无须登录),或用于团队的 Google OAuth
Rust gateway:快速、内存安全的 HTTP gateway,支持通过 MITM 拦截 HTTPS
Vault 集成:连接 Bitwarden(或其他密码管理器),无需在服务器上存储 secret,即可按需注入凭据
apps/
web/ # Next.js app (dashboard + API, port 10254)
gateway/ # Rust gateway (credential injection, port 10255)
packages/
db/ # Prisma ORM + migrations
ui/ # Shared UI components (shadcn/ui)
docker/
Dockerfile # App image (gateway + web)
docker-compose.yml
mise(用于安装 Node.js、pnpm 和其他工具)
Rust(用于 gateway)
Docker(用于 PostgreSQL)
mise install
pnpm install
cp .env.example .env
pnpm db:generate
pnpm db:up # Start PostgreSQL
pnpm db:migrate # Apply migrations
pnpm dev
Dashboard 位于 http://localhost:10254,gateway 位于 http://localhost:10255。
本地开发所需的所有环境变量均为可选项:
欢迎参与贡献!开始之前,请阅读我们的 Contributing Guide 和 Code of Conduct。