SuperAPI AI 工具集

aomi-transact

智能体与模型

查看项目

更新于 10-16 04:09

技能介绍

用途

aomi-transact 是一套用于从自然语言提示驱动 Aomi CLI(@aomi-labs/client)的操作流程,面向构建自然语言加密/DeFi 智能体与 EVM MCP 插件的场景,可在 Claude Code、Cursor、Codex、Gemini 等宿主中使用。用户输入类似“在 Uniswap 上把 1 ETH 换成 USDC”的指令,智能体会选择正确的协议与合约,将 approve 与 swap 编排为批次,在分叉链上模拟,并返回一个待用户签名的排队钱包请求。钱包只会看到已经通过模拟的 calldata。

主要能力

  • 从终端与 Aomi 智能体对话。
  • 查询余额、价格、路由、报价或交易状态。
  • 构建、模拟、确认、签名或广播钱包请求。
  • 在签名前模拟一批待处理交易。
  • 查看或切换应用、模型、链或会话。
  • 查看或更改账户抽象设置(EIP-7702 / ERC-4337)。
  • 签名 EIP-712 类型化数据载荷(链下协议、意图填充器)。

CLI 以账户抽象为先:默认通过零配置 Alchemy 代理签名(无需提供者凭据),在以太坊主网使用 EIP-7702,在 L2 使用 ERC-4337。每次 aomi <subcommand> 调用都是启动、运行、退出,没有长期运行的进程。

使用方式

只读示例——价格查询:

aomi --prompt "what is the price of ETH?" --new-session

返回报价,不排队钱包请求。可用 aomi tx list 确认没有待处理项。

单笔交易流程——Lido 质押:

aomi chat "Stake 0.01 ETH with Lido to get stETH"
--public-key 0xUserAddress --chain 1 --new-session aomi tx list

在 Lido stETH 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 上调用 submit(address(0)),value = 0.01 ETH。无需 approve,单笔交易。到此停止,展示排队的交易详情,等待用户明确指令后再签名。

多步批次——Uniswap V3 兑换:

aomi chat "swap 1 USDC for WETH on Uniswap V3, send to my wallet"
--public-key 0xUserAddress --chain 1 --new-session aomi tx list # tx-1 = approve, tx-2 = swap aomi tx simulate tx-1 tx-2 # 多步流程必须执行

模拟器在分叉链上按顺序运行每笔交易,使 swap 步骤能看到 approve 的状态变化。不要单独签名第 2 步——那会回滚。模拟后停止,汇总批次,等待用户明确指令并指明两个 tx id 后再签名。

跨链——CCTP 以太坊 → Base:

aomi chat "Bridge 50 USDC from Ethereum to Base via CCTP. Recipient is my wallet."
--public-key 0xUserAddress --chain 1 --new-session aomi tx list aomi tx simulate tx-1 tx-2

模拟后停止,等待用户明确批准签名指定的 tx id。签名后,源链 burn 在 1-2 个区块内确认;目标链 mint 需要 Circle 的链下证明(约 13-19 分钟)。

授权与签名门控

仅限授权使用。该技能代表用户签名并广播链上交易。用户必须明确请求每个签名步骤。技能不会在没有用户明确请求且没有 aomi tx list 排队的对应 tx-N 的情况下运行 aomi tx sign。

签名门控:不要将 aomi tx sign 放入复制或可运行的多命令块中。在列出或模拟排队交易后停止,汇总 tx id、链、价值、接收方、calldata 用途和模拟结果,然后要求用户给出明确的签名指令(例如 sign tx-1)。只有在获得该单独批准后,才运行确切的签名命令。

适用场景

  • 在终端与 Aomi 智能体交互。
  • 查询链上数据(余额、价格、路由、报价、交易状态)。
  • 构建并模拟 DeFi 操作(如 Lido 质押、Uniswap 兑换、Aave 供应、CCTP 跨链桥)。
  • 在签名前对多步批次进行分叉链模拟。
  • 管理账户抽象设置与 EIP-712 类型化数据签名。

限制

  • 需要 @aomi-labs/client v0.1.30 或更新版本。旧版本缺少 --aa、--aa-provider、--aa-mode 和模拟门控。安装:npm install -g @aomi-labs/client,或按需运行 npx @aomi-labs/client@0.1.30 ...。
  • 需要活跃的后端连接。该技能驱动的 CLI 与 api.aomi.dev 通信。无网络访问时,只有本地读取命令(aomi tx list、aomi session log)可用。
  • L2 上的 AA 赞助不保证。零配置代理路径在 v0.1.30 中无法可靠地在 Base/Arbitrum/Optimism 上赞助。如果 EOA 在目标链上原生 gas 为 0,aomi tx sign 会返回 viem 的 insufficient funds for transfer。要么给 EOA 充值少量原生 gas,要么配置带赞助策略的真实 BYOK Alchemy/Pimlico 提供者。不要用 --eoa 重试——该路径也需要 gas。
  • 按会话注入密钥。需要提供者令牌的应用(binance、polymarket、dune 等)必须由用户在自己的 shell 中配置凭据,或通过 aomi secret add NAME=<value>。技能不会主动设置凭据。
  • 资金抽取向量被防护阻止。智能体拒绝 recipient/onBehalfOf/mintRecipient ≠ msg.sender 的 calldata。这是安全特性而非缺陷——应向用户展示该阻止,而不是重新表述提示。
  • 网络/RPC 故障。公共 RPC 可能限流(429)或认证失败(401)。生产签名时,用户必须通过 --rpc-url 提供可靠的、与链匹配的 RPC。
  • 实时交易的滑点与截止时间。带截止时间的路由(Across、Khalani 填充器)的报价可能在用户审查期间过期;智能体会用新的截止时间重建来自我修复,但用户应重新检查 aomi tx list 获取最新通过的批次。

最佳实践

  • 新任务的第一个命令默认使用 --new-session。任务中途复用它会导致开启新对话,智能体丢失刚给出的报价。
  • 在 aomi tx sign 之前始终执行 aomi tx list。永远不要假设聊天响应已排队交易。
  • 签名多步批次前始终执行 aomi tx simulate tx-1 tx-2 ...。单笔交易流程模拟可选,但模拟永远不会错。
  • 将签名命令排除在可运行示例之外。只有在用户单独明确批准并指明确切的排队 tx-N id 后,才展示或运行 aomi tx sign。
  • 只签名 Batch [...] 通过的交易。跳过早期失败尝试的孤儿交易(failed at step N: 0x...)。
  • 将 --rpc-url 与排队交易的链匹配,而不是会话链(--chain)——它们是独立的控制项。
  • 永远不要回显凭据值。技能仅用句柄名称或派生地址确认凭据设置。

授权免责声明

该技能可以签名并广播具有真实价值的链上交易。仅在您拥有的账户和您信任的网络上使用。该技能不托管资金;用户通过 --public-key 和底层钱包保留对签名密钥的完全控制。在运行 aomi tx sign 之前,请审查每个排队的 tx-N。

来源与资源

上游:aomi-labs/skills — MIT 许可 作者:Aomi Labs CLI:npm 上的 @aomi-labs/client 安全审查:aomi-transact/SECURITY.md — OWASP AST01–AST10 走查及捕获的扫描器报告

完整技能(含各流程示例:CCTP 桥、Aave 供应、Lido 质押、Uniswap 兑换)、AA 模式参考、资金抽取向量表、故障排除指南和 bash 工作流模板,见上游仓库。本条目仅为规范 SKILL.md,完整包需克隆上游。