跳至內容
0%

別再把私鑰貼到 Cursor:如何讓你的 coding agent 擁有錢包

發布於 2026年7月29日閱讀時間 2 分鐘

別再把私鑰貼進 Cursor:如何為你的 coding agent 配置錢包

你正深陷在一次開發工作中。你在 Cursor 裡的 agent 已經寫好合約呼叫、選好網路,準備發送一筆測試交易。計畫與一筆已簽署的交易之間,只差一件事:一把金鑰。於是你把私鑰貼進 agent 能讀取的 .env 檔案裡,然後繼續開發。

正是這一步,讓許多資深開發者不敢讓 AI 碰任何涉及真實資金的事。私鑰是全有或全無的東西。一旦 agent 能讀到它,它就能動用該錢包裡的所有資產,在任何鏈上,永久生效,無法撤銷。而 agent 本質上是機率性的:大多數時候表現很好,偶爾也會自信滿滿地犯錯。

有更好的做法。你可以給 agent 一個錢包,但不把金鑰交給它。以下說明 Alchemy CLI 中的 agent wallets 如何運作,以及真正的限制在哪裡。

問題出在金鑰,不是 agent

把 agent 當成風險來源很誘人,但 agent 其實不是真正的問題。私鑰從一開始就不是為了被共享而設計的。它沒有「最多能發送多少」、「只能在這些鏈上」、「只在接下來一小時內有效」或「現在立刻停止」這些概念。它是一個能授予全部控制權的單一秘密,而使用它的唯一方式就是把它暴露出來。

到目前為止,開發者只有兩種選擇,而兩者都有實際代價。你可以把金鑰貼進 .env,接受 agent 對資金擁有完全控制權,這讓你隨時可能因為一個失誤的提示詞而讓錢包被掏空。或者你可以把一個 wallet SDK 接進自訂後端,自行重建驗證、簽署與撤銷機制,這是大多數團隊不該承擔的數週工作量。第一種太冒險,第二種太昂貴。

你真正想要的,其實更接近你在整個技術堆疊裡對「存取權限」的既有思維方式。你不會直接交出 root 密碼,而是核發一個有範圍限制的憑證,設定它能做什麼,並在用完後撤銷它。錢包也應該以同樣的方式運作。

Agent wallets 如何運作

Alchemy CLI 中的 agent wallets 讓你可以從 dashboard 建立錢包、授予你的終端機一個有範圍限制且有時效的 session,並讓 agent 從命令列發送真實交易。私鑰從不接觸 CLI、不接觸 Alchemy,也從不會出現在 .env 檔案裡。可以把它想成三層,各自由不同的一方掌控。

託管層:金鑰由別人保管

錢包的私鑰由我們的嵌入式錢包合作夥伴 Privy 保管在他們自己的基礎設施上。它不在你的筆電裡,不在你的程式庫裡,也不在我們的系統裡。這就是改變風險計算的關鍵。你原本打算貼進 .env 的那個秘密,現在變成一個你和 agent 都不會直接經手的東西。

Session 層:agent 拿到的是權限,不是秘密

當你執行 alchemy wallet connect 時,CLI 會在你的機器上產生一組全新的 P-256 金鑰對,其中的私鑰部分永遠不會離開這台裝置。你的瀏覽器會開啟 Alchemy dashboard,讓你選擇錢包並核准一個 session。核准動作會把你 CLI 的公鑰加為該錢包的簽署者,並限定特定的權限範圍與你所設定的到期時間。

從那之後,每一次簽署呼叫都是一個兩步驟的挑戰(challenge)。我們的後端會組出 Privy 所預期的確切 payload,你的 CLI 會在本機對這些精確的位元組進行簽署,之後請求才會送達 Privy。如果該 session 已過期、已被撤銷,或未通過任何綁定檢查,下一次簽署嘗試會在還沒離開我們的基礎設施之前就被拒絕。agent 是透過你定義的 session 在行動,而不是透過它自己握有的秘密。

控制層:你握有終止開關

dashboard 是唯一能建立或撤銷錢包的地方,而撤銷只需一鍵,立即生效。你也可以從終端機執行 alchemy wallet disconnect。如果某個 session 開始做你沒預期的事,你可以終止它,簽署行為就會停止。你永遠不必只能寄望 session 表現正常,因為你隨時都能終止它。

Agent 實際能做什麼

Session 一旦啟用,agent 就擁有完整的交易操作範圍。在 EVM 鏈上,它可以發送原生代幣與 ERC-20、進行合約呼叫、管理 ERC-20 授權、執行 swap,以及在各主網之間 bridge。在 Solana 上,它可以發送 SOL 與 SPL 代幣。交易都透過我們的 Wallet APIs 執行,因此透過 Gas Manager 的 gas 代付、batching、自動重試,以及 ERC-20 gas 支付也都一併具備。

由於 CLI 本身就是為 agent 設計的工具介面,你的 agent 會自行掌握這些指令。--json 旗標會回傳結構化輸出,--no-interactive 讓指令不會卡在互動式提示上,而 alchemy agent-prompt 會輸出一份描述每個指令、旗標與錯誤代碼的 JSON 文件。把它放進 system prompt,agent 就能一次學會整個操作範圍。不需要整合任何 SDK,也不需要靠它從文件中推測。

適合誰,以及適用的流程

這適合那些生活在 Cursor 或 Claude Code 裡、並進行鏈上開發的開發者:正在整合 DeFi 協議、串接付款流程,或測試合約的人,他們希望 agent 能真正發送交易,而不是在需要簽署的那一刻就卡住。如果你曾經讓 agent 寫完程式碼後,自己手動完成鏈上的部分,這個功能正好補上了那個缺口。以下兩種流程展現了它的價值所在。

第一種是「開發-測試」循環。你正在對接某個協議,agent 已經寫好程式碼。要知道它是否真的可行,就需要有人發送真實交易:把資金存入合約、呼叫它、檢查結果狀態、調整,然後再跑一次。手動進行這件事意味著你要親自核准並貼上每一筆交易,而這正是你當初引入 agent 想去除的繁瑣工作。有了 session,你可以建立一個錢包、存入少量餘額、核准一個有效期短的 session,然後讓 agent 跑完整個循環。它發送交易、讀取結果、反覆迭代,你則在旁觀察,而當 session 到期時,它的存取權限也會自動結束。

第二種是執行多步驟鏈上任務的 agent。有些工作是一連串步驟而非單一呼叫:在主網上 swap 一種代幣、把所得 bridge 到 L2,再存入某個部位。你可以描述想要的結果,讓 agent 透過 session 執行這些步驟,而不必自己一一操作。Session 限制的是 agent 能使用哪些權限、能用多久——而不是它能動用多少金額——所以請依任務所需為錢包注資、設定較短的到期時間,並在完成後撤銷。

誠實看待它的限制

一個經手資金的工具,如果製作者對其限制之處交代清楚,會更容易讓人信任。以下是幾個在你於正式環境中依賴它之前,值得了解的限制。

Gas 與手續費代付政策管控的是交易手續費,而不是錢包的支出上限,所以不要把 Gas Manager 的政策當成 agent 能動用金額的上限。Swap 與 bridge 目前僅支援 EVM 主網。Session signer 不會直接對原始的 EVM 交易進行簽署;動作是透過 Alchemy Wallet API 呼叫來執行的,例如 wallet_prepareCalls 與 wallet_sendCalls。而 session 的範圍就是你在 dashboard 中設定的那樣——你所設的到期時間與權限範圍才是真正的界線,而不是一個建議。

這些都不是變通做法,而是系統原本設計的運作方式。錢包握有託管權,session 承載授權,而你則保有終止它的能力。

開始使用

CLI 中的 agent wallets 現已上線,沒有候補名單,也沒有獨立的付費方案。你需要 Node 22 或以上版本,以及一個 Alchemy 帳號。三道指令就能讓你擁有一個可由 agent 操控的錢包:

bash
Copied
npm i -g @alchemy/cli@latest alchemy auth alchemy wallet connect --mode session

connect 這一步會開啟 dashboard,讓你核准 session 並設定它的權限範圍與到期時間。在執行任何會改變狀態的工作流程之前,先讓 agent 驗證 session:

bash
Copied
alchemy --json --no-interactive wallet status --verify

工作完成後,結束 session:

bash
Copied
alchemy wallet disconnect

在鏈上打造最具挑戰性產品的團隊,早已在使用 Alchemy,每年在 100 多條鏈上處理超過一兆美元的交易量。agent wallets 的意義在於,同一套基礎設施如今也支援你交給程式開發 agent 的錢包,而不必交出金鑰。與其把私鑰貼進 Cursor,你現在可以給 agent 一個有範圍限制的 session,並隨時保有撤銷它的能力。

閱讀 agent wallets 文件、了解 Alchemy for agents,或 安裝 CLI 親自試試看。

常見問答

我要如何在不分享私鑰的情況下,給 AI 程式開發 agent 一個錢包?

在 Alchemy dashboard 中建立一個錢包,然後在終端機執行 alchemy wallet connect --mode session。CLI 會產生本機金鑰對,dashboard 則核准一個有範圍限制且有時效的 session。Agent 透過該 session 發送交易,而私鑰則留在錢包供應商那裡,永遠不會被暴露。

私鑰實際上儲存在哪裡?

錢包的私鑰由 Alchemy 的嵌入式錢包合作夥伴 Privy 保管在他們自己的基礎設施上。它從不會寫入你的機器、你的程式庫,或 .env 檔案,也不會接觸 CLI 或 Alchemy 自己的系統。你的 agent 是透過一個已核准的 session 來行動,而不是透過金鑰本身。

我可以撤銷 agent 對錢包的存取權限嗎?

可以。你可以從 Alchemy dashboard 一鍵撤銷 session,或在終端機執行 alchemy wallet disconnect。撤銷會立即生效,該 session 之後的任何簽署嘗試都會被拒絕。Session 也會在你核准時設定的時間自動到期。

Agent wallet 能讓 agent 做什麼?

在 EVM 鏈上,agent 可以發送原生代幣與 ERC-20、進行合約呼叫、管理授權、執行 swap,以及在主網之間 bridge。在 Solana 上,它可以發送 SOL 與 SPL 代幣。交易都透過 Alchemy 的 Wallet APIs 執行,因此 gas 代付、batching、重試,以及 ERC-20 gas 支付都可以使用。

代付政策能限制 agent 花多少錢嗎?

不能。Gas 與手續費代付政策管控的是交易手續費,而不是錢包餘額,它們不是支出上限。真正限制 agent 能做什麼的,是你在 dashboard 中為 session 設定的權限與到期時間,所以請審慎設定 session 的範圍。

我需要準備什麼才能開始?

你需要 Node 22 或以上版本,以及一個 Alchemy 帳號。CLI 中的 agent wallets 現已上線,沒有候補名單,也沒有獨立的付費方案。用 npm i -g @alchemy/cli@latest 安裝,執行 alchemy auth,再用 alchemy wallet connect --mode session 從 dashboard 核准一個 session。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。