---
title: "给 AI agent 一个钱包,但不给它你的密钥"
description: "Alchemy CLI 中的 agent wallets 让开发者可以为 coding agent 授予有范围和时间限制的链上交易权限,而无需暴露私钥。"
---

# 给 AI agent 一个钱包,但不给它你的密钥

<ImageBlock
  src="https://media.alchemy.com/blog/agent-wallets-cli-hero-16x9-20260821.png"
  alt="Alchemy CLI 中的 Agent 钱包"
  width={1920}
  height={1080}
  priority
/>

[AI agents](https://www.alchemy.com/dapps/best/ai-agents)现在可以在链上发送、兑换、跨链和存款,直接从你的终端操作,全程无需持有私钥。

今天我们在 Alchemy CLI 中发布了 agent wallets。开发者可以从 Alchemy 控制台创建钱包,授予 CLI 有限范围、有时限的访问权限,让 agent 从命令行执行真实的交易。控制台是创建或撤销钱包的唯一位置。钱包的私钥不会经过 CLI,不会经过 Alchemy,也不会存放在 `.env` 文件中。

<ExternalVideo
  url="https://www.youtube.com/watch?v=NNbvdo-JCw4"
  provider="youtube"
  providerUid="NNbvdo-JCw4"
/>

在上面的演示中,Claude 找到了 USDC 最佳的 [Aave](https://www.alchemy.com/dapps/aave) 市场,将资金跨链转移到正确的链上,并存入资金池。在此之前,这样的工作流要么需要自定义的 agent 代码持有私钥,要么需要在 wallet SDK 和编码助手之间手工搭建集成。现在只需几条命令和控制台上的一次点击。

## 此前 agent 是如何在链上完成交易的

在此之前,开发者通常有两条可行路径,但都算不上好的默认选择。一种是将私钥直接粘贴进 `.env`,并接受 agent 现在对这些资金拥有完全控制权;另一种是把 wallet SDK 接入自定义后端,自己重新实现鉴权、签名和撤销逻辑。第一种方案只要一次意外的 prompt 就可能导致钱包被清空。第二种方案则要耗费数周工作量,而这本不该是大多数团队需要做的事。

CLI 中的 agent wallets 取代了这两种方案。你通过 Alchemy 控制台保留对钱包的托管权。agent 获得的是你从终端批准的、有限范围的会话。你可以一键撤销该会话。

## 工作原理

这套架构将职责拆分为三部分。[Privy](https://www.privy.io/) 是我们的嵌入式钱包合作伙伴,负责安全持有钱包的私钥。我们负责 CLI 会话以及中间的验证层。你则通过控制台掌握批准和撤销的控制权。

当你运行 `alchemy wallet connect` 时,CLI 会在你的机器上生成一个全新的 P-256 密钥对。私钥不会离开该设备。你的浏览器会打开 Alchemy 控制台,你可以在此创建或选择要让 agent 使用的钱包,并批准该会话。批准操作会将你 CLI 的公钥作为签名者附加到该钱包上,该权限被限定在特定能力范围内,并受你在控制台中设置的会话有效期约束。

每次签名调用都是两步验证:Alchemy 的后端构建 Privy 所期望的标准 payload,你的 CLI 在本地对确切的字节进行签名,只有这样请求才会到达 Privy。如果会话过期、在控制台中被撤销,或未通过任何绑定校验,下一次签名尝试会在离开我们的基础设施之前就被拒绝。撤销是一键操作,立即生效。

会话一旦生效,agent 就可以访问完整的交易能力面:发送、兑换、跨链、合约调用。交易都通过我们的 [Wallet APIs](https://www.alchemy.com/docs/wallets) 完成,因此 gas 赞助、批处理、自动重试、ERC-20 gas 支付以及跨链兑换都随之可用。此前已经封装了我们 [Data APIs](https://www.alchemy.com/docs/data) 用于查询的同一个 CLI,现在会通过你授权的钱包发送交易。

## 从一开始就为编码 agent 而构建

Alchemy CLI 从设计之初就是面向 AI agent 的工具界面。两个标志体现了这一点:`--json` 返回结构化输出供解析使用,`--no-interactive` 则禁用提示,让命令永远不会因等待输入而阻塞。此外还有一个 `alchemy agent-prompt` 命令,它会输出一份 JSON 文档,描述每一条命令、每一个标志、每一个错误代码以及可运行的示例。把它放进 system prompt 中,你的 agent 就能一次性学会完整的界面。

这意味着 agent 会自动掌握新的钱包命令。无需集成 SDK,无需解读文档页面,也无需通过 prompt engineering 教模型理解新命令的工作方式。CLI 会自己告诉 agent。

## 今天可用的内容

CLI 中的 agent wallets 现已上线,没有等待名单,也没有单独的层级。你需要 Node 22 或更高版本以及一个 Alchemy 账户。会话和钱包管理界面位于控制台;交易界面位于终端。

<CodeSnippet
  language="bash"
  code={`npm i -g @alchemy/cli@latest
alchemy auth
alchemy wallet connect`}
/>

三条命令,你就拥有了一个可供 agent 操控、随时可用的钱包。完整的参考文档,包括每一条命令、每一个标志以及每一个支持的网络,都在 [CLI docs](https://www.alchemy.com/docs/alchemy-cli) 中。

如果你构建的 agent 需要在链上执行操作,CLI 就是我们希望你使用的界面。[Install the CLI](https://www.alchemy.com/docs/alchemy-cli) 并 [sign in to the dashboard](https://dashboard.alchemy.com/)。
