2026 年 3 月,NanoClaw 团队在博客上宣布把 OneCLI 作为默认的凭据与代理层,从此每一个 NanoClaw Agent 访问外部服务都要经过 OneCLI 的 Agent Vault 网关——Agent 在容器里运行时,SDK 调用 applyContainerConfig() 把所有出站 HTTPS 流量路由到网关,网关按 host 与 path 匹配策略,注入真实凭据,再把请求转发出去。Agent 自己从来不接触真实 API key。这不是单一公司的内部决定,而是 2026 年 Coding Agent 走向团队协作时必须补齐的一块拼图——把 Agent 凭据从"放在 Agent 上下文里"转移到"留在网络网关里"——它重新定义了"沙箱化 Agent Harness"在团队场景下的工程基线。

OneCLI 本身由 Jonathan 与 Guy 在 2026 年早些时候开源,在 GitHub 上以 Apache-2.0 协议发布。它解决的核心问题,在两位创始人的原话里是:传统 Vault 用来存你的 secret、按需提供给你,默认信任人能保管好;但在 Agent 时代,这套前提失效了,因为没人知道 secret 送达 Agent 之后会被怎么用、会存到哪里,甚至有可能 Agent 被操纵后把这些 API key/secret 主动交出去。OneCLI 因此选择做一种不同的 Vault:不是把 secret 交给 Agent,而是在 Agent 与服务之间放一道网络网关——按 host/path 匹配请求,确认 Agent 有访问权限,把占位符换成真实凭据,再把请求转发出去。

从 Vault 到 Agent Vault:核心命题的转换

传统 Vault 解决的是 secret 在静态存储时的保护问题。HashiCorp Vault、AWS Secrets Manager 这些工具成熟地解决了"凭据加密存,按需取,审计留痕"——但它们的保护在"Agent 拿到 key 之后"就失效了。Agent 一旦拿到 key,这个 key 就进入了 Agent 的环境变量、上下文、临时文件、会话日志,任何 prompt injection 都可能诱导 Agent 把 key 交出去。换句话说,Vault 保护了 secret 在 rest 时的安全,但 secret 一旦被 Agent 使用,Vault 就退出了故事。

OneCLI 的核心命题是:既然 Agent 拿到 key 之后无法保护,那就不要让 Agent 拿到 key。具体做法是 Agent Vault 网关坐在 Agent 与它要调用的服务之间。凭据仍然存在用户原本放的地方,但 Agent 用的是占位符。当 Agent 通过代理发出 HTTPS 请求,网关按 host 和 path 匹配,判断 Agent 有没有权限,然后把真实凭据注入、转发。Agent 从头到尾没有看到过真正的 key,也没机会把它写进上下文,也没法通过 prompt injection 把它泄漏——它根本没有这个 key。

Prompt injection 与凭据外泄:Agent 时代的真实威胁面

OneCLI 的两位创始人从自己用 OpenClaw 编排 Agent 操作 ChartDB 的日常里,亲身体验到了 prompt injection 攻击的真实形态:Agent 需要凭据来执行真实工作,但把 secret 直接给它是最坏的选择——它们会把 secret 留在 memory 里、写进本地文件、记在会话日志里,有时还是明文;而且 Agent 容易被 prompt injection 操纵,把 API key 直接交给攻击者。两位创始人的结论是:必须用某种方式控制 Agent,阻止 prompt injection 借 Agent 身份调用服务为攻击者谋利;不把 key 给 Agent,加上对敏感操作的人类审批/告警,加上完整的访问日志审计——这才是 Agent 时代的现实答案。

这套威胁模型在 NanoClaw 团队的博客里被讲得更具体:Meta 一名 AI alignment 总监曾经给 OpenClaw 授权访问她的邮箱,并明确告诉它"任何动作未经我批准不许执行"。Agent 仍然开始批量删除邮件,她从手机上无法阻止,只能物理地跑到电脑前把进程 kill 掉——这就是 Agent 在没有边界条件下失控的真实代价。一句"没有策略、没有速率限制、没有审批流程"的 Agent,会从价值工具瞬间变成负债。Agent Vault 的关键不是取代 NanoClaw 这种运行时沙箱,而是在凭据注入层补齐"Agent 能调用什么、调用多快、是否需要人工介入"这块治理拼图。

网关模式为什么能跨 Agent 框架工作

OneCLI 的网关用 Rust 写,Dashboard 用 Next.js,凭据用 AES-256-GCM 加密存,一切跑在一个 Docker 容器里、内嵌 Postgres(PGlite)、无外部依赖。它通过 HTTPS_PROXY 环境变量工作,凡是能设这个变量的 Agent 框架都能用——Claude Code、Codex、Cursor、OpenClaw、Hermes、IronClaw、NanoClaw 都被显式列出。这种设计让 OneCLI 不必成为 Agent 工具链里的"专属插件",而是一个透明的代理层。Agent 完全不知道自己背后站着 OneCLI,也不需要适配——它仍然用平常的 CLI 或 MCP 工具,只是所有出站请求都被网关接管。

这种透明性的关键好处是:策略层可以一次部署、跨所有 Agent 生效,而每个 Agent 框架不需要为同一套治理规则写不同的适配器。这对同时使用多个 Coding Agent 的团队尤其重要——他们不需要为 Claude Code 写一套、为 Codex 写另一套、为 Cursor 又写一套,只需要让所有 Agent 都把 HTTPS_PROXY 指向 OneCLI。

策略层:不只是凭据注入

如果 OneCLI 只是把 key 换成注入,会很有用但价值有限。更重要的是它上面的策略层。两位创始人在 2026 年 5 月版本里给出的范例是为 Gmail API 设速率限制:每小时最多发/删 3 封邮件。命令形如 onecli rules create --name "Gmail rate limit" --host-pattern "gmail.googleapis.com" --action rate_limit --rate-limit 3 --rate-window 1h。这条规则本身不是为了阻止 Agent 工作,而是限制它"出错的代价"——即使 Agent 被 prompt injection 操纵,损害边界也最多是 3 封邮件,而不是整个收件箱。

策略层还包括按 Agent 身份分级:每个 Agent 组(销售 Agent、支持 Agent、代码 Agent)有自己的 OneCLI Agent 身份,凭据策略因此可以按 Agent 粒度不同。组织层设外部边界,个人用户在自己框架内授权。对单一用户来说,"Agent 能访问我的邮箱,但每小时最多删 3 封"这种表达方式,比"Agent 不要删邮件"这种自然语言限制更有可执行性。

不能解决的部分:Agent 滥用它已有的权限

OneCLI 的文档明确写出了一个边界:它不会阻止 Agent 滥用它已经合法拥有的访问权限。换句话说,OneCLI 是边界控制,不是行为监督。如果 Agent 真的有权访问某个端点,它能滥用这个端点;OneCLI 只能保证 Agent 不会获得它原本没有的权限。

这意味着策略必须紧凑——任何策略上的过度授权,都会被 Agent 用合法形式滥用。这是对"凭据治理"和"行为治理"边界的清醒认知:OneCLI 是网络层的边界,不是应用层的监督;它和运行时沙箱(Docker、容器隔离)、Agent 自身的 reasoning guardrail 是三个独立层,各管各的。运行时沙箱限制 Agent 能跑什么进程、读什么文件;OneCLI 限制 Agent 能调用哪些外部服务的哪些路径;Agent 自身的 guardrail 限制它在已授权范围内不越界。三层缺一不可,每一层都假设另两层可能被绕过。

团队级 Coding Agent 的工程新基线

把 NanoClaw + OneCLI 放在一起看,团队级 Coding Agent 的工程基线正在成形。NanoClaw 解决运行时隔离——每个 Agent 跑在自己的 Docker 容器里,有独立的文件系统、独立的进程空间、不能访问宿主环境。OneCLI 解决凭据隔离与策略强制——Agent 通过网关访问外部服务,凭据永远不进入 Agent 上下文,所有调用都被策略层审计。二者叠加,Agent 在一个"可见、可审计、可强制"的边界内运行,而不是在一个隐式的、基于信任的边界内运行。

这套架构对企业 Agent 治理的直接启示是:任何想把 Coding Agent 推广到整个研发团队的 CTO,都不能停留在"给每个工程师发一个 Claude Code 账号"这一层——必须同时建设 Agent 运行时沙箱、凭据网关、策略层、审计日志四层基础设施。这四层不是 nice-to-have,而是让 Agent 真正进入团队生产环境的工程前提。

与传统 secrets manager 的本质区别

OneCLI 与 HashiCorp Vault、AWS Secrets Manager 这类传统 secrets manager 的关键区别,不在加密算法、不在审计日志、不在集成能力,而在于 secret 在 Agent 调用时的位置——传统 manager 把 secret 取出来交给 Agent,Agent 拿到后 manager 退出;OneCLI 让 secret 永远不离开网关,Agent 从头到尾只用占位符。这一字之差,决定了 Agent 是否可能通过 prompt injection 把 secret 泄漏给攻击者,也决定了审计日志能不能完整看到"Agent 调用了哪些路径、用的是哪个凭据、频率多少"。

对企业来说,这意味着:如果你的 secrets manager 是基于"Agent 拉取 key 然后使用"模式,无论你用什么 prompt guardrail 或 alignment 训练,Agent 都可能在某个 prompt injection 场景下被诱导交出 key;唯一从根本上消除这个风险的方式,就是让 Agent 从一开始就没有 key 可交。OneCLI 给出的就是这个根本性的架构改造。

企业落地的实操路径

对正在评估 Coding Agent 落地的团队,OneCLI 给出的实操路径分三步。第一步,把所有需要 Coding Agent 访问的外部服务(GitHub、Linear、Notion、内部数据库、内部 API)梳理成 host/path 清单,这是 OneCLI 策略层的基础。第二步,把这些服务的真实凭据录入 OneCLI Vault 或继续留在 Bitwarden、1Password 等现有钱包里,通过 OneCLI 的实时拉取机制集成——凭据源不必迁移,OneCLI 只是中间层。第三步,为每个 Agent 组(代码 Agent、文档 Agent、运维 Agent)创建 OneCLI Agent 身份,定义各自能访问哪些 host/path、速率限制是多少、是否需要人工审批。

走完这三步,团队就拥有了一个统一的 Agent 出站流量观察面板,任何 Agent 的异常调用模式(突然大批量删除邮件、深夜突然访问未授权路径、调用频率异常升高)都能在第一时间被发现。这是把 Agent 治理从"事后追责"提到"实时防御"的工程基础。

从单兵工具到团队基础设施:Agent Harness 的演化方向

OneCLI 代表的趋势是 Agent Harness 从"个人开发者的脚本玩具"演化到"团队的基础设施组件"。2025 年的 Coding Agent Harness 还是个人开发者自己配置 Claude Code、Cursor、Codex 客户端;2026 年的 Harness 已经把运行时沙箱、凭据网关、策略引擎、审计日志都纳入团队共享基础设施。Agent 不再是某个工程师的工具,而是团队的工程能力——任何使用这个能力的工程师、Agent、自动化任务都必须遵守团队的安全策略。

这个演化方向的产业意义在于:它让"严肃对待 Agent 风险"的企业有了具体的工程抓手,而不只是停留在"加强培训"、"制定规范"这种软性要求上。当 Agent 的出站流量被网关接管、当凭据不再进入 Agent 上下文、当策略层在网络层强制执行,Agent 治理就从"信不信 Agent"的信任问题变成了"边界在哪"的工程问题。这是 2026 年下半年企业 Agent 落地最值得借鉴的工程基线。