你的金鑰存在作業系統鑰匙串裡,
不在提示詞裡,也不在儲存庫裡
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 實際執行一瞥。