OneCLI
面向AI代理的加密凭据网关,一次存储,随处注入,代理永不接触密钥。
证据显示:README描述了最小权限原则(代理使用占位密钥,网关注入真实密钥),但未提供实现细节或权限模型文档。用户确认机制未提及,任何操作前无确认步骤。数据流透明度部分:README解释了请求如何被拦截和注入,但未提供审计日志或监控细节。敏感数据处理:声称AES-256-GCM加密,但未提供密钥管理细节或安全审计。依赖安全:未提及依赖漏洞扫描或安全策略。外部影响:安装脚本通过curl执行,存在供应链风险,但未提供校验和或签名验证。回滚:未提及任何回滚机制。来源归属:未提供作者或维护者信息。扣分原因:缺乏实现细节和文档支持。
证据显示:自洽性方面,README描述的功能与项目结构基本一致,但未提供详细的架构图或数据流图。依赖可用性:依赖项在package.json中列出,但未提供版本锁定或完整性校验。失败消息:未提供错误处理或用户提示的文档。扣分原因:缺乏错误处理文档和依赖完整性验证。
证据显示:目标受众明确(AI代理开发者),使用场景描述清晰。能力边界:README说明了网关和仪表盘的功能,但未明确限制或边界。触发精度:未提供详细的配置或触发条件文档。环境适配:提供了本地开发和Docker部署说明,但未提供生产环境部署指南。扣分原因:缺乏详细的配置和边界文档。
证据显示:信息架构清晰,有项目结构说明。安装说明详细,包括快速开始和本地开发。命名稳定性:版本号存在,但未提供命名规范。示例和FAQ:README提供了基本示例,但无FAQ。已知限制:未提及。许可证:Apache-2.0,有LICENSE文件。版本变更日志:未提供CHANGELOG。维护责任:未明确维护者或贡献指南。扣分原因:缺乏已知限制、FAQ和变更日志。
证据显示:输出可用性:README提供了使用示例,但未提供详细的API文档。边际价值:解决了AI代理凭证管理的痛点,具有明确价值。成本效益:开源免费,但部署和维护成本未评估。扣分原因:缺乏详细的API文档和成本分析。
证据显示:声明可追溯性:README中的声明部分有文档支持,但未提供测试结果。跨来源验证:未提供第三方验证或独立测试。事实与推断分离:README区分了功能描述和架构说明,但未明确标注推断。扣分原因:缺乏测试证据和独立验证。
- 安装脚本通过curl执行,存在供应链风险,建议验证校验和。
- 未提供依赖漏洞扫描或安全审计,需自行评估。
- 未提供回滚机制,升级前需备份。
- 未提供已知限制,生产使用需谨慎。
这个 Agent 能做什么,适合哪些场景?
OneCLI 是一个开源的凭据网关,位于 AI 代理与外部服务之间。它使用 Rust 构建的高速网关(apps/gateway)拦截出站 HTTP 请求,并在运行时将占位符密钥替换为真实凭据。真实密钥以 AES-256-GCM 加密存储在秘密存储中,仅在请求时解密,并按主机和路径模式匹配注入。管理界面是 Next.js Web 仪表盘(apps/web),用于管理代理、秘密和权限。OneCLI 支持本地单用户模式(无需登录)和 Google OAuth 多用户模式。部署可通过 Docker Compose 或一键安装脚本快速完成。该项目采用 Apache-2.0 许可证。
OneCLI 运行一个 Rust 网关(监听端口 10255),拦截 AI 代理的出站 HTTP 请求。代理使用占位符密钥(如 FAKE_KEY)进行身份验证,如果代理使用 HTTPS,则网关通过中间人拦截,将占位符替换为从加密存储中提取的 REAL_KEY,并将真实凭据作为请求头或 URL 查询参数注入。Web 仪表盘(端口 10254)提供界面来创建代理、添加秘密和配置权限。网关通过仪表盘提供的 API 解析要注入的凭据。秘密存储使用 AES-256-GCM 加密,只有在请求时才会解密。OneCLI 还支持与 Bitwarden 等密码管理器集成,用于按需注入而无需在服务器上存储秘密。
- 本地开发人员希望在本地运行 AI 代理,同时避免在代码或环境变量中暴露 API 密钥。
- 团队希望集中管理多个 AI 代理的 API 密钥,并能够独立轮换和撤销访问权限。
- 安全敏感组织要求敏感凭据绝不能直接暴露给 AI 代理,而是通过加密网关注入。
- 使用 Bitwarden 的管理员希望为 AI 代理提供按需的凭据注入,而无需在服务器上存储秘密。
- 希望审计 AI 代理对第三方 API 调用和访问模式的用户。
这个 Agent 有哪些优点和局限?
- 透明注入:代理无需修改即可使用普通 HTTP 调用,网关处理身份验证。
- 加密存储:AES-256-GCM 加密,仅在请求时解密,降低泄露风险。
- 多代理支持:每个代理有独立访问令牌和权限范围。
- 支持与 Bitwarden 集成,可按需注入凭据。
- 需要维护额外的网关组件(Rust 网关和 Web 仪表盘)和基础设施(PostgreSQL)。
- HTTPS 拦截需要代理配置信任 OneCLI 的证书,可能带来兼容性问题。
- 没有自带身份提供者,多用户需要依赖 Google OAuth。
- 作为相对较新的项目,可能缺少成熟生态和社区支持。
如何安装或部署这个 Agent?
默认安装方式:运行 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 创建代理并添加秘密,网关监听 localhost:10255。
如何使用这个 Agent?
安装后,在 Web 仪表盘(端口 10254)中创建代理,获取访问令牌。在仪表盘中为代理配置秘密,指定主机和路径模式。将代理的 HTTP 网关设置为 localhost:10255,并在请求中使用占位符密钥。网关将自动用真实凭据替换占位符。对于多用户模式,设置 NEXTAUTH_SECRET 和 Google OAuth 凭据。