Solana Agent Ops 技能
这是介于“我的机器人在我笔记本上能跑”和“我的机器人在主网上无人值守运行却不亏钱”之间的关键层。
它假设你已经知道如何构建交易。它所涵盖的是让代理在生产环境中存活的一切:可靠地落地交易、安全地持有和操作多个签名者密钥、确保重试不会重复花费、保持在 RPC 限制以下、支持调度器运行,以及在造成损害前自行停止。
对于核心交易构建、@solana/kit 以及程序和客户端模式,请参考 solana-dev-skill。本技能是其上的运维附加组件;它不重复教学如何构建指令。
何时使用此技能
当用户遇到以下情况时,应使用此技能:
- 构建或运营一个无需人工监视即可签名并发送交易的机器人、看守者或代理
- 询问交易为何未落地:被丢弃、区块哈希过期或从未被确认
- 运行多个签名者钱包,并担心密钥存储、资金补充或轮换
- 担心重试可能导致重复花费,或某个操作可能执行两次
- 遇到来自 RPC 提供商的 429 或速率限制
- 将代理置于 cron 或调度器上,并希望其安全失败
- 为现有机器人添加监控、告警、熔断器或资金上限
如果任务是单次交易构建(构建指令、CPI、PDA),则属于 solana-dev-skill 的范畴,而非此处。
任务路由
请仅读取你需要的文件。每个任务只读一个主要文件。
| 任务 | 读取文件 |
|---|---|
| 交易被丢弃/过期/未落地/缓慢 | transaction-landing.md |
| 计算单元大小 + 优先费用 | transaction-landing.md |
| Jito 捆绑包 / MEV / 原子化多交易 | transaction-landing.md |
| 管理 N 个签名者钱包、密钥存储、资金补充 | keypair-fleet.md |
| “这个是否已经运行过?”/防止重复执行 | idempotency.md |
| 429 错误、RPC 预算、端点故障转移 | rate-limiting.md |
| 在 cron 上运行/每周期单次运行/退出码 | scheduling.md |
| 健康检查、余额/失败告警、仪表盘 | monitoring.md |
| 熔断器、资金上限、断路器、预演 | safety.md |
| 官方文档、RPC 提供商、库 | resources.md |
运行模型(请先阅读)
每个生产代理都应围绕四个不变量构建。模块文件也围绕强制执行它们组织:
- 发送前先模拟。仿真失败的交易也会在链上失败,因此可以免费发现。(transaction-landing.md)
- 每次发送都是幂等的。如果进程在操作中途崩溃并重启,重放它绝不能导致两次操作。这意味着需要幂等键加上链上或状态存储检查,而不是心存侥幸。(idempotency.md)
- 每周期资金有上限。资金上限、滑点界限和基于异常的断路器,所有这些都在代码中强制执行,而不依赖你的头脑。(safety.md)
- 每周期单次运行,干净退出。调度器会重新调用你,因此一个因临时 RPC 波动而非零退出的进程会在凌晨 3 点无缘无故地把你叫醒。(scheduling.md)
默认技术栈(2026 年 6 月)
- 客户端:
@solana/kit(web3.js v2)。web3.js v1 的模式在生态系统仍在使用的场景中会注明。 - 运行时:Node 22+ / TypeScript 5.5+。对于需要高速的看守者,也会提供 Rust 模式。
- RPC:供应商中立。Helius、Triton 和 QuickNode 的特定内容会被标记,而非强制要求。
- 捆绑:Jito(
jito-ts或区块引擎 REST),可选,用于原子性和 MEV 保护。 - 调度:纯 cron、systemd 定时器、GitHub Actions 或 serverless cron,全部为每周期单次运行。
有关上述各项的规范链接,请参见 resources.md。
相关工具包技能(请勿重复)
- 将代理构建为框架:SendAI
solana-agent-kit。本技能是其上的运维层。 - RPC 供应商 API(Helius Sender、优先费用 API、Laserstream):Helius 技能。本技能保持供应商中立,并告诉你哪个供应商功能解决哪个运维问题。
- 用于金库和升级权限的多签密钥托管:Squads 技能。本技能覆盖运维签名者舰队托管,即发送日常交易的热密钥,这属于不同的问题。