你的密钥存在操作系统钥匙串里,
不在提示词里,也不在仓库里
AgentsRoom 把 API 密钥、令牌和数据库密码存进一个本机密钥库,由你的操作系统钥匙串加密。你按名称引用它们,应用会在命令或智能体启动时完成解析。
别再因为这是解开智能体阻塞最快的办法,就把令牌粘进提示词。密钥只命名一次,其他地方一律写 {{secret:NAME}},值就留在它该待的地方。
AgentsRoom 如何让密钥既能被你的命令使用,又对索取它的智能体不可读。
每个项目最后都会攒下几个不能外传的值:一把支付密钥、一个数据库密码、一个部署令牌、一个预发布环境的 API 密钥。一旦 AI 编程智能体加入进来,这些值就会以最糟糕的方式开始流动。它们被粘进提示词去解开智能体的阻塞,被硬编码进智能体写的脚本,或者落进某个文件,三次提交之后就进了仓库。
AgentsRoom 密钥管理器给了它们一个统一的落脚点。一个密钥就是一个名称加一个值:你添加一次,AgentsRoom 会先通过你的操作系统钥匙串加密,然后才写到磁盘上。整个密钥库就是你主目录下的一个文件,以仅限属主的权限写入,绝不离开创建它的那台机器。
从此你再也不用碰那个值。你在开发命令或智能体环境里写 {{secret:NAME}},AgentsRoom 会在那条命令或那个智能体启动时替换成真实的值。你的智能体可以列出名称,也可以请求注入其中之一,这足够它们干活,而它们永远拿不到值本身。
为一台满是 AI 智能体的机器打造的密钥库
由操作系统加密,按名称引用,在最后一刻才解析。
由你的操作系统钥匙串加密
每个值都通过 Electron safeStorage 加密,也就是说加密密钥握在你的操作系统钥匙串手里,而不是 AgentsRoom 手里。应用只保存密文,需要时请系统解密,和你早已放心托付凭据的其他应用完全一样。
一个密钥库文件,仅限属主
你所有的密钥都存在 ~/.agentsroom/secrets.json 这一个密钥库里,以仅限属主的权限(0600)写入,每次变更都以原子方式替换。崩溃后不会留下写了一半的文件,机器上的其他用户账户也打不开它。
按名称引用,绝不按值
已保存的密钥以 {{secret:NAME}} 的形式使用:写在开发终端的命令行里,写在交给智能体的环境里,写在任何你原本要敲凭据的地方。你在屏幕上看到的、可以放心给同事看的,就是那个名称。
启动时在主进程中解析
替换发生在进程启动的那一刻,在 Electron 主进程内部。解析出的值只进入被启动命令的环境,不去别处:不进日志,不进界面,不进磁盘上的任何文件。
智能体看到名称,看不到值
AI 智能体可以列出你密钥的名称,并请求把其中一个注入到它即将运行的东西里。没有任何一条代码路径会把值交还给智能体、交给界面层或经由 MCP 送出。智能体拿引用干活,应用拿密钥干活。
没有钥匙串,就不存
如果机器无法提供可用的操作系统钥匙串,AgentsRoom 会拒绝保存这个密钥,而不是退回明文。一个会悄悄退化成普通文件的密钥库比没有密钥库更糟,所以这条退路根本不存在。
本机保存是设计使然,不是某个默认选项
你的密钥绝不会被发送到 AgentsRoom 的服务器。没有需要留意的同步开关,没有要退出的云端密钥库,除了你自己的磁盘,任何地方都没有你密钥的备份。密钥库在这台机器上创建,用操作系统钥匙串为这台机器保管的密钥加密,也就留在这里。单独把文件复制走,另一台机器打不开它。
“使用密钥”和“读取密钥”之间的分隔由代码强制,不是靠提示词里写一句嘱咐。界面层、MCP 工具和每一个智能体谈论密钥时都只用名称。只有 Electron 主进程会把引用变成值,而且只在它为你要求启动的进程构建环境时才这么做。叮嘱智能体小心对待凭据只是一种期望。压根没有一个返回凭据的函数,才是一种保证。
正因如此,让智能体去操作一个付费 API 或一个真实数据库才是合理的。智能体知道存在一个名为 STRIPE_SECRET_KEY 的密钥,也可以请求把它注入到自己要运行的命令里。它没法把它打印出来,没法把它抄进正在写的文件,也没法把它泄进存在别处的对话里。
从粘贴的令牌到具名的密钥
三步,之后那个值再也不会出现。
把密钥添加一次
给它起个名字,最后一次粘贴那个值。AgentsRoom 会通过操作系统钥匙串加密,并以仅限属主、原子替换的方式写入 ~/.agentsroom/secrets.json 里的密钥库。如果机器没有可用的钥匙串,应用会明确告诉你并拒绝保存,而不是写下明文。
用 {{secret:NAME}} 引用它
在原本放值的地方改用引用:启动开发服务器的那条命令,或者某个需要 API 令牌的智能体环境。存进你设置里的是引用,摊开来看也没关系。
让 AgentsRoom 在启动时解析
命令或智能体启动时,主进程会在那个进程的环境里把引用换成真实的值。你的工具链拿到了它需要的东西,而驱动它的智能体自始至终只知道那个名称。
当密钥管理器不再可有可无
粘贴一次凭据就演变成真实事故的那些场景。
需要真实密钥的开发服务器
没有支付密钥和数据库密码,你的开发服务器根本起不来。在启动命令里放 {{secret:NAME}} 而不是凭据,这条命令就变成了可以在会议中一直摆在屏幕上、不用心里一惊的东西。
调用付费 API 的智能体
智能体在工作时需要一个令牌去访问第三方 API。按名称把密钥加进它的环境:智能体拿到一个能用的环境,而令牌不在提示词里、不在对话里,也不在智能体接下来写的任何东西里。
不再落进仓库的密钥
常见的意外是凭据被写进某个配置文件,然后被之后的一次提交一并收走。按名称引用密钥,意味着仓库里跟踪的文件里只有一个名称,分支推上去时也就没什么可泄露的。
一台机器,多个项目
一个密钥库,由你的操作系统钥匙串保护,只有你的用户账户能读,服务你打开的每一个项目。每个项目只引用它需要的名称,谁也不用各自留一份散落的凭据副本。
智能体读不到密钥,又怎么用得上它?
因为使用凭据和读取凭据是两件不同的事,而 AgentsRoom 只为智能体实现了前一件。密钥库在 MCP 上只由一个工具暴露:secrets_list,而它返回的是名称。接下来,智能体在它需要的命令或环境里写下 {{secret:NAME}},替换由应用来执行,不是由智能体来执行。
刻意缺席的是反方向。没有任何 MCP 工具会返回密钥的值,界面层永远收不到,也没有任何东西会把它渲染回对话里。把引用变成真实的值发生在 Electron 主进程内部、进程启动的那一刻,结果只进入那个进程的环境,不去别处。
实际效果是,智能体可以对着真实数据库跑测试套件、调用付费 API 或部署到预发布环境,而没有一个凭据进入它的上下文。事后不用做任何脱敏,因为压根什么都没暴露过。
了解 AgentsRoom MCP常见问题
我的密钥存在哪里?
存在你主目录下 ~/.agentsroom/secrets.json 这一个密钥库文件里。每个值都通过 Electron safeStorage 加密,所以加密密钥握在你的操作系统钥匙串手里。文件以仅限属主的权限(0600)写入并原子替换,崩溃也不会让它只写了一半。
我的 AI 智能体能读到我的密钥吗?
不能。智能体可以列出你密钥的名称,并请求把其中一个注入到某条命令或某个环境里,这已经足够它把活干完。没有任何一条代码路径会把值返回给智能体、返回给界面层或经由 MCP 送出。解析只在 Electron 主进程中发生。
我的密钥会同步到 AgentsRoom 的服务器吗?
永远不会。密钥库在设计上就只属于本机。密钥不会被发送到 AgentsRoom 的服务器,不会备份到云端,也不会转发给移动应用。它们在你的机器上创建,为你的机器加密,也就留在那里。
我怎么在命令里使用一个密钥?
在原本写值的地方写 {{secret:NAME}}:开发终端的命令里,或者智能体的环境里。AgentsRoom 会在那个进程启动时替换成真实的值,而留在你设置里的始终是引用。
如果我的机器没有操作系统钥匙串会怎样?
AgentsRoom 会拒绝保存这个密钥。这里刻意没有把值以明文写到磁盘的兜底方案,因为一个会悄悄退化成普通文件的密钥库,只会给你加密的信心,却没有加密。
这会取代我项目里的环境变量文件吗?
它解决的是 AI 智能体一介入就开始扎心的那部分问题:把凭据挡在文件、提示词和对话之外。你的项目在运行时该有什么照旧,而值本身待在密钥库里、启动时注入,不再躺在一个智能体能读、一次提交能顺走的文件中。
如果有人复制走密钥库文件,他能读懂吗?
在另一台机器上不能。这些值是用你的操作系统钥匙串保管的密钥加密的,所以单独拿走的文件就是一堆密文。除此之外,密钥库以仅限属主的权限写入,同一台机器上的其他用户账户同样打不开。
我的智能体用哪个 MCP 工具来处理密钥?
secrets_list,而且只有它。它返回这台机器上保存的密钥名称,让智能体先知道有哪些密钥,再在一条开发命令里、或在它启动的某个进程的环境里以 {{secret:NAME}} 的形式引用其中之一。没有任何工具会返回值,所以智能体没有什么可打印、可抄进它正在写的文件,也没有什么可泄进对话里。当它需要的某个密钥还不存在时,它会请你在应用里添加,而不是请你把它粘进聊天框。
你可能还喜欢
数据库连接
保存你的 MySQL 和 MariaDB 连接,通过 SSH 隧道或 AWS SSM 会话访问私有子网里的数据库,让你的 AI 智能体经由 MCP 查询它。默认只读,每次调用一条语句,结果集有上限,密码永远到不了智能体手里。
SSH 连接
保存你的 SSH 连接,通过 SSH 打开内置终端,直接在远程服务器或 VPS 上运行 Claude Code、Codex 或 Antigravity CLI。支持 SSH 密钥或密码认证,按项目管理连接配置,无需额外的 SSH 客户端。
开发终端
按项目管理的终端管理器和进程启动器。一键启动后端、前端和工作进程,密钥在启动时注入,不用手输。
AgentsRoom MCP
让你的智能体驾驶 AgentsRoom 本身的 MCP 服务器:项目、终端、任务待办和连接,附带随之而来的护栏。
把访问权给智能体,把密钥留给自己
下载 AgentsRoom,把你的 API 密钥和密码搬进由操作系统钥匙串加密的密钥库,其他地方一律按名称引用。
配套应用:随时随地监控你的 Agent
使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。
把 Bug 和需求直接发送到您的公开待办清单。
AgentsRoom 实际运行一瞥。