Autonomous Agent Skills技能使用说明
2026-03-28
新闻来源:网淘吧
围观:14
电脑广告
手机广告
CornerStone MCP x402 技能(适用于代理)
此技能为您(代理)提供了一套工具,用于:创建和管理 Aptos 与 EVM 钱包、检查余额,以及调用 x402 付费的 MCP 工具(股票预测、回测、银行账户关联、代理/借款人评分)。支付是自动进行的——当付费工具返回 402 状态码时,该技能会透明地完成签名、验证、结算并重试。您只需调用工具;结果就会返回。
快速入门工作流程
首次使用时请按此顺序操作,之后可直接跳转到您需要的工具:
- 检查钱包→ 调用
`get_wallet_addresses`(无需参数)。 - 如果为空→ 调用
`create_aptos_wallet`然后`create_evm_wallet`。 - 注资→ 调用
`credit_aptos_wallet`(Aptos 测试网水龙头)和`fund_evm_wallet`(EVM水龙头使用说明)。 - 告知用户将返回的地址加入白名单,网址为
https://arnstein.ch/flow.html。 - 检查余额→ 调用
balance_aptos(必须有USDC用于预测/回测)和/或balance_evm(必须有ETH用于银行账户关联)。 - 使用付费工具→
run_prediction、run_backtest、link_bank_account,或评分工具。
重要提示:如果地址未充值且未加入白名单,付费工具将因钱包/白名单错误而失败。请务必先验证钱包和余额。
工具参考
钱包管理工具(本地)
获取钱包地址
- 参数:无
- 返回值:
{ aptos: [{ address, network }], evm: [{ address, network }] }— 可能返回空数组。 - 使用时机:在任何钱包或付费工具操作之前,始终首先调用此函数。用于确定已存在的钱包。
- 决策逻辑:如果两个数组都为空 → 创建钱包。如果只有一个为空 → 创建缺失的那个。如果两个都有条目 → 进行余额检查或使用付费工具。
创建Aptos钱包
- 参数:
{ force?: boolean, network?: "testnet" | "mainnet" }— 默认值:force=false, network=testnet。 - 返回值:
{ success, address, network, message }或{ success: false, message, addresses }如果钱包已存在且force=false。 - 使用时机:当
获取钱包地址返回空Aptos数组,或者用户请求新钱包。 - 错误处理:如果
success: false并且钱包已存在,要么使用现有钱包,要么使用force: true重试以添加另一个。
创建EVM钱包
- 参数:
{ force?: boolean, network?: "testnet" | "mainnet" }— 默认值:force=false,network=testnet。 - 返回:
{ success, address, network, message }或{ success: false, message, addresses }。 - 与
create_aptos_wallet模式相同。
为Aptos钱包充值
- 参数:
{ amount_octas?: number }— 默认值为 100,000,000 (= 1 APT)。 - 在开发网上的返回结果:
{ success: true, address }(由程序化水龙头提供资金)。 - 在测试网上的返回结果:
{ success: true, address, faucet_url }(仅提供说明;无程序化水龙头)。 - 前提条件:Aptos 钱包必须存在(需先
创建 Aptos 钱包)。 - 注意:提供的 APT 用于支付 gas 费;工具使用 USDC 支付(约 6 美分)。用户可能需要单独获取测试网 USDC。
为 EVM 钱包注资
- 参数:无
- 返回:
{ success: true, address, faucet_url, message }(手动注资说明)。 - 前提条件:EVM 钱包必须存在(
创建EVM钱包首先)。 - 注意:返回一个Base Sepolia测试网水龙头URL。用户必须手动注资;没有程序化的水龙头。
余额工具(本地)
balance_aptos
- 参数:无
- 返回:
{ address, balances: { usdc, apt } }或{ error }。 - 使用时机:在调用
run_prediction、run_backtest或评分工具之前,以确认有足够的USDC。
balance_evm
- 参数:
{ chain?: string }— 默认为"base"。支持:base、baseSepolia,以太坊,Polygon,Arbitrum,Optimism. - 返回:
{ 地址, 链, 余额, 符号 }或{ 错误 }. - 使用时机:在调用
link_bank_account之前,以确认 Base Sepolia 上有足够的 ETH。 - 注意:对于测试网工具,请使用
chain: "baseSepolia".
付费 MCP 工具 (x402 — 支付自动处理)
所有付费工具均接受 Aptos 和 EVM 支付。系统会自动选择最佳选项或遵循
首选支付顺序你永远不会看到402错误——只需调用工具并获取结果或错误信息。
运行预测
- 参数:
{ 代码: 字符串, 预测期?: 数值 }——代码为股票代码(例如"AAPL"),预测期为天数(默认30天)。 - 返回:预测结果对象(包含预测数据、置信区间等)或
{ 错误 }。 - 成本:约6美分USDC(Aptos或EVM链)。
- 前提条件:已注资且通过白名单验证的Aptos或EVM钱包。
- 调用示例:
运行预测({ 代码: "AAPL", 预测期: 30 })
运行回测
- 参数:
{ 代码: 字符串, 开始日期?: 字符串, 结束日期?: 字符串, 策略?: 字符串 }——日期格式为"YYYY-MM-DD",策略默认为"chronos"。 - 返回:回测结果(收益率、回撤、夏普比率等)或
{ error }。 - 成本:约6美分USDC。
- 调用示例:
run_backtest({ symbol: "TSLA", startDate: "2024-01-01", endDate: "2024-12-31", strategy: "chronos" })
link_bank_account
- 参数:无
- 返回:
{ link_token }或用于Plaid银行链接的账户ID,或{ error }。 - 成本:约5美分(EVM/Base)。
- 前提条件:已注资并列入白名单的EVM钱包(测试网使用Base Sepolia)。
get_agent_reputation_score
- 参数:
{ agent_address?: string, payer_wallet?: string }— 两者均为可选;如果省略,则使用配置的钱包。 - 返回:
{ 声誉分数: 数字 }(例如 100)或若不在许可名单中则返回 403,或{ 错误 }。 - 成本:通过 x402 约 6 美分,或使用贷方积分免费(需传递
支付方钱包)。
获取借款人分数
- 参数:
{ 代理地址?: 字符串, 支付方钱包?: 字符串 }— 模式相同。 - 返回:
{ 分数: 数字 }(基础值 100;关联银行后更高)或{ 错误 }。 - 成本:通过 x402 约 6 美分,或使用贷方积分免费。
通过电子邮件获取代理声誉分数
- 参数:
{ 电子邮件: 字符串, 支付方钱包?: 字符串 }— 将电子邮件解析为许可名单中的代理。 - 返回:
{ reputation_score: number }或{ error }。 - 前提条件:
SCORE_BY_EMAIL_ENABLED必须在服务器上设置。费用较高。
get_borrower_score_by_email
- 参数:
{ email: string, payer_wallet?: string }— 模式相同。 - 返回:
{ score: number }或{ error }。 - 前提条件:
SCORE_BY_EMAIL_ENABLED必须在服务器上设置。费用较高。
常见任务决策树
"为 X 运行预测"
get_wallet_addresses
→ aptos empty? → create_aptos_wallet → credit_aptos_wallet → tell user to whitelist
→ aptos exists? → balance_aptos
→ has USDC? → run_prediction({ symbol: "X", horizon: 30 })
→ no USDC? → tell user to fund USDC, provide address
"关联银行账户"
get_wallet_addresses
→ evm empty? → create_evm_wallet → fund_evm_wallet → tell user to whitelist
→ evm exists? → balance_evm({ chain: "baseSepolia" })
→ has ETH? → link_bank_account
→ no ETH? → fund_evm_wallet (returns faucet URL)
"获取我的评分"
get_wallet_addresses
→ has aptos or evm? → get_agent_reputation_score + get_borrower_score
→ neither? → create wallets first, whitelist, then query
错误处理
| 错误模式 | 含义 | 操作建议 |
|---|---|---|
"未找到 Aptos 钱包" | 钱包文件缺失 | 调用create_aptos_wallet |
"未找到 EVM 钱包" | 钱包文件缺失 | 调用create_evm_wallet |
"已存在。使用 force: true" | 钱包已存在,未覆盖 | 使用现有钱包,或传递force: true以添加另一个 |
"支付验证失败" | 余额不足或资产错误 | 检查余额;告知用户为钱包充值 |
"未配置 Aptos 钱包"/"未配置 EVM 钱包" | 付费工具需要钱包但钱包不存在 | 创建缺失的钱包类型 |
"不支持的链" | 链名称无效,用于balance_evm | 请使用以下之一:base, baseSepolia, ethereum, polygon, arbitrum, optimism |
"超时 300 秒后" | MCP 调用耗时过长 | 请重试一次;服务器可能负载较高 |
"403"或"不在允许列表中" | 钱包未在白名单中 | 请告知用户在以下网址将地址加入白名单:https://arnstein.ch/flow.html |
设置(供安装此技能的人员使用)
- 安装:
npm install从仓库根目录执行。复制.env.example至.env。 - 配置:设置钱包路径(
APTOS_WALLET_PATH,EVM_WALLET_PATH或EVM_PRIVATE_KEY). - 钱包:通过工具创建 (
create_aptos_wallet,create_evm_wallet) 或 CLI (node src/setup-aptos.js,node src/setup.js)。在https://arnstein.ch/flow.html为所有地址注资并加入白名单。
CLI 命令(从仓库根目录执行)
| 任务 | 命令 |
|---|---|
| 生成 Aptos 钱包 | npm run setup:aptos |
| 生成 EVM 钱包 | npm run setup |
| 显示白名单地址 | npm run addresses |
| 为 Aptos(开发网)充值 | npm run credit:aptos(设置APTOS_FAUCET_NETWORK=devnet) |
| EVM 余额查询 | npm run balance -- <链名称> |
| 转账 ETH/代币 | npm run transfer -- <链名称> <接收地址> <金额> [代币地址] |
| 代币兑换(Odos) | npm run swap -- <链名称> <源代币> <目标代币> <金额> |
| 运行技能演示 | npx cornerstone-agent "为 AAPL 运行 30 天预测" |
| 验证 Aptos 钱包 | npm run attest:aptos |
| 验证 EVM 钱包 | npm run attest:evm |
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~