自动化与运维 secret-managementcredential-injectionrust-gatewayvaulthttp-gatewayencryption

OneCLI

面向AI代理的加密凭据网关,一次存储,随处注入,代理永不接触密钥。

FollowAgents 评估 · FARS-2.1
不推荐
28/ 100 五分制 1.4 / 5
1 2 3 4 5 6
1信任安全5 / 29 · 0.9/5

证据显示:README描述了最小权限原则(代理使用占位密钥,网关注入真实密钥),但未提供实现细节或权限模型文档。用户确认机制未提及,任何操作前无确认步骤。数据流透明度部分:README解释了请求如何被拦截和注入,但未提供审计日志或监控细节。敏感数据处理:声称AES-256-GCM加密,但未提供密钥管理细节或安全审计。依赖安全:未提及依赖漏洞扫描或安全策略。外部影响:安装脚本通过curl执行,存在供应链风险,但未提供校验和或签名验证。回滚:未提及任何回滚机制。来源归属:未提供作者或维护者信息。扣分原因:缺乏实现细节和文档支持。

2可靠稳定3 / 14 · 1.1/5

证据显示:自洽性方面,README描述的功能与项目结构基本一致,但未提供详细的架构图或数据流图。依赖可用性:依赖项在package.json中列出,但未提供版本锁定或完整性校验。失败消息:未提供错误处理或用户提示的文档。扣分原因:缺乏错误处理文档和依赖完整性验证。

3适用触发4 / 18 · 1.1/5

证据显示:目标受众明确(AI代理开发者),使用场景描述清晰。能力边界:README说明了网关和仪表盘的功能,但未明确限制或边界。触发精度:未提供详细的配置或触发条件文档。环境适配:提供了本地开发和Docker部署说明,但未提供生产环境部署指南。扣分原因:缺乏详细的配置和边界文档。

4规范维护8 / 18 · 2.2/5

证据显示:信息架构清晰,有项目结构说明。安装说明详细,包括快速开始和本地开发。命名稳定性:版本号存在,但未提供命名规范。示例和FAQ:README提供了基本示例,但无FAQ。已知限制:未提及。许可证:Apache-2.0,有LICENSE文件。版本变更日志:未提供CHANGELOG。维护责任:未明确维护者或贡献指南。扣分原因:缺乏已知限制、FAQ和变更日志。

5有效结果6 / 13 · 2.3/5

证据显示:输出可用性:README提供了使用示例,但未提供详细的API文档。边际价值:解决了AI代理凭证管理的痛点,具有明确价值。成本效益:开源免费,但部署和维护成本未评估。扣分原因:缺乏详细的API文档和成本分析。

6证据核验2 / 8 · 1.3/5

证据显示:声明可追溯性:README中的声明部分有文档支持,但未提供测试结果。跨来源验证:未提供第三方验证或独立测试。事实与推断分离:README区分了功能描述和架构说明,但未明确标注推断。扣分原因:缺乏测试证据和独立验证。

证据充分度: 评估于 2026年8月9日 审查版本 84ccaf74ce63
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、依赖安全审查、回滚或恢复路径、来源归属可核验
使用前请注意
  • 安装脚本通过curl执行,存在供应链风险,建议验证校验和。
  • 未提供依赖漏洞扫描或安全审计,需自行评估。
  • 未提供回滚机制,升级前需备份。
  • 未提供已知限制,生产使用需谨慎。
评估证据 [1][2][3][4][5]
查看完整评分方法 →

这个 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 等密码管理器集成,用于按需注入而无需在服务器上存储秘密。

  1. 本地开发人员希望在本地运行 AI 代理,同时避免在代码或环境变量中暴露 API 密钥。
  2. 团队希望集中管理多个 AI 代理的 API 密钥,并能够独立轮换和撤销访问权限。
  3. 安全敏感组织要求敏感凭据绝不能直接暴露给 AI 代理,而是通过加密网关注入。
  4. 使用 Bitwarden 的管理员希望为 AI 代理提供按需的凭据注入,而无需在服务器上存储秘密。
  5. 希望审计 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 凭据。

常见问题

OneCLI 如何保证秘密在传输过程中安全?
秘密在存储时使用 AES-256-GCM 加密,并在请求时通过 Rust 网关注入,代理不会直接接触明文密钥。HTTPS 流量通过网关的中间人拦截来注入凭据,但需要代理信任 OneCLI 的证书。
OneCLI 支持哪些身份验证方式?
默认支持单用户模式(无需登录),适合本地开发。若要支持多用户,可配置 Google OAuth(设置 NEXTAUTH_SECRET 和 Google 客户端 ID/密钥)。
我能否将 OneCLI 与现有的密码管理器(如 Bitwarden)集成?
可以。OneCLI 提供 vault 集成,允许连接到 Bitwarden 等密码管理器,实现按需凭据注入,而无需在 OneCLI 服务器上存储秘密。具体配置参见 docs/vault-integration.md。
OneCLI 是否支持所有 API 协议?
目前主要针对 HTTP(S) 出站请求进行凭据注入,通过主机和路径模式匹配。非 HTTP 协议可能不受支持。

相关 Agents