OneCLI:开源AI智能体密钥安全网关,本地托管大模型API凭证防泄露

AI新闻 AI工具箱
60

一、OneCLI 是什么

OneCLI 是开源、面向AI Agent设计的凭证托管代理网关,采用Rust+Next.js双栈开发,核心定位是AI工具密钥统一安全中间件,解决各类AI客户端、智能体、开发工具直接硬编码API密钥导致的泄露、权限混乱、密钥难运维等行业痛点。

传统使用方式下,Cursor、Claude客户端、自定义AI脚本、MCP工具都会直接存储OpenAI、DeepSeek、云服务密钥,日志打印、提示词注入、代码泄露都会造成密钥被盗。OneCLI作为中间代理网关,统一接管所有API密钥加密存储,AI程序仅使用无效占位密钥发起请求,网关自动替换真实凭证转发请求,AI程序全程无法触碰原始密钥,从链路层面杜绝密钥外泄风险。

项目开源协议为Apache 2.0,支持本地单机个人使用、企业团队多人协同两套运行模式,提供一键脚本、Docker容器两种部署方案,内置可视化Web管理后台与完整调用审计系统。

OneCLI(图1)

二、核心功能特色

  1. 透明无感凭证注入
    无需修改AI工具、脚本代码,仅配置代理地址即可自动完成密钥替换,兼容curl、Python/JS代码、AI客户端、MCP协议、终端CLI全类型HTTP请求。

  2. AES-256-GCM全链路加密存储
    所有第三方API密钥落盘加密保存,仅请求转发瞬时解密,内存不持久留存明文密钥;支持自定义加密密钥,也可对接Bitwarden密码库动态拉取密钥,本地不长期存储密钥。

  3. 精细化多租户权限管控
    支持创建多组独立Agent访问令牌,基于请求域名+URL路径配置密钥访问规则,实现最小权限隔离;不同AI工具仅能调用授权范围内的服务接口。

  4. 双运行模式自由切换
    单机个人模式:免登录、无需OAuth配置,开箱即用;团队协作模式:接入Google OAuth多人登录,成员分级管理密钥与访问权限。

  5. 完整全量调用审计日志
    记录每一条AI发起的外部API请求,包含访问令牌、请求地址、调用时间、响应状态,可追溯异常调用行为,方便安全排查。

  6. 轻量化多方式部署
    提供curl一键安装脚本、Docker Compose容器部署两种主流方案,内置PostgreSQL数据库,无复杂环境依赖。

  7. 统一密钥运维管理
    一处集中管理所有大模型、云服务API密钥,密钥轮换、删除仅需在后台操作,无需逐个修改AI工具配置文件。

三、技术细节

3.1 整体分层架构

项目采用Monorepo单体仓库架构,分为三大核心模块:

  1. Gateway网关层(Rust开发,10255端口)
    高性能HTTPS代理服务,内存安全无内存泄漏,负责拦截所有代理请求、鉴权Agent令牌、匹配密钥规则、自动替换请求凭证、转发上游API请求,是整个系统流量核心。

  2. Web管理面板(Next.js+TS,10254端口)
    可视化后台管理系统,提供密钥录入、Agent令牌创建、权限规则配置、审计日志查询、OAuth登录配置等可视化操作,同时对外提供内部管理API供网关调用。

  3. 数据与加密存储层
    基于Prisma ORM+PostgreSQL持久化数据;密钥采用AES-256-GCM对称加密算法存储,加密密钥自动生成或用户自定义;支持对接外部密码管理器API,动态读取密钥。

3.2 技术栈占比

  • TypeScript:69.8%(管理后台、业务逻辑、数据库层)

  • Rust:29%(高性能代理网关)

  • Shell/配置文件:1.2%(部署脚本、容器配置)

3.3 关键配置与运行端口

  • Web后台访问端口:10254

  • Agent代理网关端口:10255

  • 数据库:PostgreSQL

  • 核心环境变量:DATABASE_URL数据库地址、SECRET_ENCRYPTION_KEY密钥加密串、OAuth登录配套Google客户端密钥(团队模式专用)

3.4 工作完整流程

  1. 用户在Web后台录入OpenAI、DeepSeek等平台真实API密钥;

  2. 创建Agent专属访问令牌,并配置该令牌可访问的服务域名;

  3. AI客户端/脚本配置HTTP代理地址为localhost:10255,代码中填写占位假密钥;

  4. AI程序发起模型调用请求,流量转发至OneCLI网关;

  5. 网关校验Agent令牌,匹配对应服务的真实密钥,替换请求内占位凭证;

  6. 携带真实密钥转发请求至大模型服务商,接收响应后原路返回AI程序;

  7. 网关记录本次调用完整日志,全程不向AI程序返回任何明文密钥。

OneCLI(图2)

四、应用场景

  1. 个人开发者本地AI工具安全管理
    使用Cursor、Claude桌面端、本地AI脚本、MCP工具的个人用户,避免密钥硬编码在配置文件,防止代码上传仓库泄露密钥。

  2. 企业AI开发团队协同开发
    多人共用大模型API资源,管理员统一托管密钥,为不同开发人员分配独立访问令牌,限制每个人可调用的模型接口,离职人员一键回收权限。

  3. 本地智能体项目安全部署
    自定义本地Agent、自动化AI工作流、终端AI脚本统一代理,规避日志打印、程序报错泄露API密钥风险。

  4. 密码库联动轻量化密钥方案
    搭配Bitwarden密码管理器,不在服务器长期存储密钥,网关仅调用时临时拉取,进一步提升服务端数据安全等级。

  5. 开源AI项目二次分发
    开源AI工具打包分发时无需内置任何密钥,用户本地部署OneCLI统一托管自有密钥,降低分发项目密钥泄露隐患。

五、使用方法

5.1 一键脚本快速安装(推荐个人使用)

打开终端执行一键安装命令,自动完成环境配置与服务启动:

curl -fsSL https://onecli.sh/install | sh

安装完成后,直接浏览器访问 http://localhost:10254 进入管理后台。

5.2 Docker容器部署(团队/服务器部署)

# 克隆项目仓库
git clone https://github.com/onecli/onecli.git
cd onecli
# 使用内置compose配置启动全套服务
docker compose -f docker/docker-compose.yml up -d --wait

容器启动完毕后,后台、网关端口与本地安装一致。

5.3 本地源码开发部署

  1. 安装mise工具统一管理开发环境依赖;

  2. 执行mise install加载Node、Rust环境;

  3. pnpm install安装前端依赖;

  4. 复制.env.example生成环境配置文件;

  5. 数据库初始化:pnpm db:generate && pnpm db:migrate

  6. 启动开发服务:pnpm dev,同时运行后台与网关。

5.4 基础使用步骤

  1. 进入Web后台,录入各大模型平台真实API密钥;

  2. 新建Agent访问令牌,配置允许访问的域名规则;

  3. 在AI客户端、代码脚本中配置代理地址 http://localhost:10255

  4. AI程序配置文件填入任意占位假密钥,正常发起模型调用即可。

六、竞品对比

选取2款同类API密钥代理/托管工具,从核心定位、加密方案、AI适配、部署难度、多租户能力维度对比:

对比维度 OneCLI KeyGate ProxyKey
核心定位 AI智能体专用密钥代理网关 通用API密钥转发代理 云侧密钥托管平台
加密存储 本地AES-256-GCM加密,支持外部密码库 明文内存缓存,本地弱加密 密钥存储第三方云端
AI工具适配 完美兼容Cursor、MCP、本地AI脚本、终端CLI 仅支持HTTP接口调用,无MCP适配 仅适配云端AI服务,本地客户端兼容性差
部署方式 一键脚本、Docker、源码部署,本地离线运行 仅Docker部署,依赖外部数据库 仅云平台,无本地私有化部署
多租户团队能力 内置Google OAuth多人登录,精细化路径权限 仅单用户模式,无团队管理 付费套餐支持多用户,私有化成本高
开源协议 Apache 2.0 完全开源 闭源免费版,高级功能付费 全闭源商业产品

OneCLI(图3)

七、常见问题解答

Q:OneCLI 必须联网才能使用吗?

A:不需要,单机模式完全离线本地运行,所有密钥存储、流量转发都在本地服务器完成,仅AI调用大模型时需要联网访问对应服务商接口。

Q:更换电脑重装 OneCLI,之前存储的密钥会丢失吗?

A:容器部署需备份PostgreSQL数据库数据,一键脚本本地模式密钥存储在本地加密数据库文件,迁移时备份对应数据库目录即可恢复全部密钥。

Q:是否支持对接国内大模型(通义千问、文心一言等)API密钥?

A:支持,仅需在后台录入对应平台API地址与密钥,配置域名访问规则,即可透明转发国内各大模型服务商请求。

Q:Agent占位密钥随便填写都能生效吗?

A:是的,网关仅识别代理流量中的访问令牌校验权限,请求内原始密钥字段会被自动替换,任意无效字符串作为占位密钥均可正常调用。

Q:开启团队OAuth模式后,普通成员能否查看完整明文密钥?

A:不能,后台做权限隔离,管理员可配置成员仅能使用密钥、不可查看明文密钥,仅管理员账号支持查看、编辑原始密钥。

Q:服务重启后加密密钥会失效,导致无法读取存储的API密钥怎么解决?

A:手动配置环境变量SECRET_ENCRYPTION_KEY自定义固定加密字符串,保存配置文件后重启服务,避免程序自动生成随机密钥导致解密失败。

八、相关链接

  1. GitHub仓库地址:https://github.com/onecli/onecli

  2. OneCLI官网地址:https://onecli.sh/

九、总结

OneCLI 是一款专为AI开发者与本地智能体场景打造的开源离线密钥代理网关,依托Rust高性能代理与可视化Next.js管理后台,以透明流量转发、高强度本地加密、细粒度权限管控为核心优势,兼顾个人单机轻量化使用与企业团队多人协同需求,无需改造现有AI工具即可解决API密钥泄露、批量运维困难、权限无法隔离等痛点,同时支持容器化私有化部署与外部密码管理工具联动,是本地AI开发流程中低成本、高安全的密钥托管解决方案。

打赏
THE END
作者头像
AI工具箱
一个喜欢收集AI工具的小萌新