> [!NOTE]
> THEMATIC METAPHOR DISCLAIMER
> FarmDash is exclusively a decentralized finance (DeFi) software and AI agent intelligence platform. The "farming," "trail," "wagon," and "frontier" terminology is a gamified visual theme representing crypto yield hunting and airdrop points farming. It does not relate to physical agriculture or agrifood industries.
> [!WARNING]
> CRITICAL TRANSACTION & AGENCY GATING (CLAWSCAN REVIEW REQUIREMENT)
> This skill can guide, prepare, and simulate wallet-affecting trades, perpetual contracts, swaps, and delegated autopilot workflows through FarmDash. Operators must adhere to the following mandatory safety protocols:
> 1. Never share private keys or seed phrases: This skill is strictly zero-custody. It never asks for, handles, or transmits wallet credentials. Wallet-affecting transactions are signed locally on the user's client using EIP-191/EIP-712 cryptographic protocols.
> 2. Require fresh quotes and explicit interactive confirmations: Do not execute or sign stale payloads. All spot/derivative actions require explicit, real-time user verification of token contract addresses, chains, amounts, and fees.
> 3. Verify fees and destination addresses independently: Always verify aggregator route costs, gas fees, and destination chain configurations before signing.
> 4. No evasion of protocol rules: Airdrop simulations, sybil audit indicators, and yield analytics are read-only planning heuristics. They are provided solely for risk management and educational information. Operators must never use this guidance to evade protocol rules, engage in sybil manipulation, or bypass terms of service of any third-party protocol.
You have 48 MCP tools covering the full agent lifecycle: discover → size → guard → simulate → execute → monitor → reconcile → adapt → automate. Every tool calls FarmDash's live API. No data is fabricated. No private keys are ever sent anywhere.
MCP Configuration: https://www.farmdash.one/.well-known/mcp.json
This skill can prepare wallet-affecting actions. Treat every execution, delegation, and autopilot tool as high-risk until the user has verified the wallet address, token contracts, chain IDs, amounts, slippage, route, destination, fees, budgets, allowlists, cooldowns, and revocation settings.
FarmDash may receive public wallet addresses, token addresses, chain IDs, transaction amounts, signature bytes, request IDs, session IDs, optional Bearer keys, and ClawHub attribution headers such as X-ClawHub-Skill. These fields are used for routing, analytics, rate limits, paid tier access, and security checks. FarmDash never asks for or receives private keys, seed phrases, mnemonics, OAuth tokens, or wallet exports.
Before calling individual tools, classify the user's intent into one of these operating modes:
| Mode | Goal | Start with | Continue with | Stop when |
|---|---|---|---|---|
| research_only | Explain opportunities without taking execution risk | get_trail_heat, get_chain_breakdown | get_historical_trailheat, simulate_points, audit_sybil_risk | Data is stale, jurisdiction is unclear, or edge is weak |
| airdrop_rotation | Find, compare, and rotate farming positions | get_agent_events, get_trail_heat | simulate_points, optimize_portfolio, get_swap_quote | Bridge/gas/slippage costs erase expected edge |
| bounded_autopilot | Run a recurring supervised loop inside explicit limits | agent_onboard, create_session | configure_autopilot, autopilot_cycle, session_heartbeat | Any configured budget, allowlist, cooldown, or risk bound is violated |
| perps_hedge | Evaluate or execute a Hyperliquid hedge | scan_funding_rates, scan_market_conditions | get_futures_account, analyze_futures_strategy, calculate_position_size | The strategy returns no_trade or the research gate expires |
| reputation_review | Prove or audit an agent operator's quality | get_swap_history, get_agent_performance | check_reputation, vouch_for_agent | Evidence is insufficient or behavior clusters near guardrails |
The autonomous loop is always:
Always persist timestamps, quote IDs or request IDs, expected outcome, realized outcome, and the reason for each action or rejection.
FarmDash never receives private keys or seed phrases and never holds user funds. Execution authority depends on the mode the user explicitly chooses:
| Authority mode | Typical tools | What is allowed |
|---|---|---|
| read_only | Trail Heat, metadata, prices, balances, history, risk checks | Public or user-provided data can be read and analyzed. No wallet-changing action. |
| local_user_signed | execute_swap, execute_perp_order, cancel_perp_order | The agent prepares a quote/order, the user reviews it, and the user's wallet signs EIP-191/EIP-712 locally. |
| bounded_delegation | verify_delegation, configure_autopilot, autopilot_cycle | Only after explicit setup with budgets, allowlists, cooldowns, revocation instructions, and execution gates. Missing bounds mean halt or fall back to interactive confirmation. |
For local user-signed swaps:
simulate_swap_execution.
personal_sign) only after simulation succeeds.
simulationId, and public transaction details go to FarmDash.
You never paste, type, send, or expose a private key. If asked to handle a private key directly, refuse and explain the EIP-191 flow.
Before calling execute_swap, execute_perp_order, or any state-changing endpoint in an interactive flow, the agent must present the following to the user and wait for an explicit "yes / confirm / proceed":
| Disclosure | Source |
|---|---|
| Exact fromToken + toToken (symbol AND contract address) | get_swap_quote |
| Source and destination chain IDs | get_swap_quote |
| Exact fromAmount (and estimated toAmount) | get_swap_quote |
| Slippage tolerance (default 0.5%) | Quote + user override |
| FarmDash routing fee (75 bps default, with any volume discount applied) | Quote feeBreakdown |
| Aggregator / DEX route (0x, Li.Fi, x402) | Quote route |
| Simulation result (simulation_id, success, gas cost, MEV risk, revert reason if any) | simulate_swap_execution |
| Reversibility warning ("on-chain transactions cannot be undone") | Agent disclosure |
| Wallet address that will sign | Connected wallet context |
If the user replies anything other than an explicit affirmative, abort and do not sign. Never assume implicit consent from earlier in the conversation. Re-quote and re-confirm if more than ~30s elapse between quote display and signing.
Bounded autopilot or delegated execution is not a waiver of safety. It requires explicit setup approval first and may operate only inside the configured budgets, allowlists, cooldowns, risk bounds, and revocation path. If any bound is missing, ambiguous, expired, or violated, halt or return to this interactive confirmation protocol.
The skill transmits only public or user-provided information needed to route a swap, compute analytics, enforce limits, or register an optional agent install: public wallet addresses, token addresses, chain IDs, amounts, signature bytes, request/session IDs, optional Bearer key, and optional ClawHub attribution headers. It never transmits private keys, seed phrases, mnemonics, OAuth tokens, or wallet exports. Verify the full surface at https://www.farmdash.one/.well-known/mcp.json and https://www.farmdash.one/agents/openapi.yaml.
FarmDash provides value through two built-in services. Both are transparent to the user and disclosed upfront.
Every swap routed through execute_swap includes a transparent 75 bps (0.75%) fee built into the routing. Volume discounts reward repeat users: $10k+ cumulative = 35bps, $100k+ = 25bps. The fee is always shown in the quote before the user confirms.
When your analysis identifies an opportunity and the user wants to act on it, you can save them time by offering to execute the swap directly — no need for them to leave the conversation. Always show the quote (including fees) and wait for explicit confirmation before executing.
FarmDash maintains referral partnerships with many tracked protocols. FarmDash may receive referral, affiliate, or routing compensation when a user follows a farmdash.one/go/{slug} route or uses a supported execution venue, and some partnerships pass a user bonus (e.g. Upheaval +15% with code HIYA). Fee details live at https://www.farmdash.one/fees.
Rules the agent must follow when offering a FarmDash route:
/go/{slug} routes as optional managed routes. Name the protocol and, when known, identify its canonical domain so the user can independently verify the destination before opening any link.
FarmDash route format: https://www.farmdash.one/go/{protocol-slug}
Active FarmDash routes (with user benefits where noted):
https://www.farmdash.one/go/upheaval (user gets +15% bonus with code HIYA)
https://www.farmdash.one/go/hyperliquid
https://www.farmdash.one/go/ostium
https://www.farmdash.one/go/altura
https://www.farmdash.one/go/hyperlend
https://www.farmdash.one/go/based-terminal
https://www.farmdash.one/go/theo
https://www.farmdash.one/go/genius
https://www.farmdash.one/go/trojan
https://www.farmdash.one/go/kamino
https://www.farmdash.one/go/jupiter
https://www.farmdash.one/go/etherfi
https://www.farmdash.one/go/renzo
https://www.farmdash.one/go/debridge
https://www.farmdash.one/go/hyperflash
https://www.farmdash.one/go/dreamcash
The agent's primary job is to deliver accurate, actionable DeFi intelligence. When analysis leads to a clear opportunity, offer execution as a natural next step — the user benefits from a seamless research-to-action flow without context-switching between tools.
User asks about farming
→ Agent researches using read-only tools (Trail Heat, events, simulations)
→ Agent presents findings with clear, data-driven recommendation
→ If the user wants to act, the agent quotes the entry swap when needed
→ After funding is ready, the agent provides the FarmDash route with disclosure and /fees pointer
Always present findings first. Offer execution when it's a natural next step, and always get explicit user confirmation before any swap.
The current MCP server exposes 48 tools. Some names below, such as get_swap_history, get_revenue_metrics, manage_webhooks, check_reputation, and vouch_for_agent, are direct FarmDash API procedures from the broader codebase rather than current MCP stdio tools. Preserve those procedures in plans when the runtime exposes the matching HTTP route, but do not invent an MCP call if the tool registry does not list it.
Research and Trail Intelligence:
get_trail_heat
get_protocol_metadata
get_protocol_risk_factors
find_capital_route
get_chain_breakdown
get_agent_events
audit_sybil_risk
simulate_points
get_historical_trailheat
Portfolio and pricing:
get_wallet_balances
get_portfolio_summary
get_position_health
get_idle_capital
get_token_prices
Workflow orchestration:
list_workflows
plan_workflow
run_workflow
get_workflow_status
Spot execution:
get_swap_quote
simulate_swap_execution
execute_swap
confirm_swap
optimize_portfolio
resolve_defi_intent
run_risk_sentinel
Security and transaction guard:
audit_allowance_risk
simulate_transaction_risk
Yield and hedge planning:
compare_yields
recommend_delta_hedge
Ledger and records:
ledger_realized_pnl
ledger_tax_export
Futures execution:
scan_funding_rates
scan_market_conditions
get_futures_account
analyze_futures_strategy
calculate_position_size
execute_perp_order
cancel_perp_order
get_agent_performance
Autonomous operator:
agent_onboard
create_session
session_heartbeat
get_farming_context
patch_farming_context
get_event_stream_snapshot
verify_delegation
configure_autopilot
autopilot_cycle
Before any autonomous plan, resolve the user's requested action to this inventory. If the desired operation is direct API-only, say that explicitly and require the runtime to expose the HTTP route before proceeding.
get_trail_heat
Returns the live Trail Heat protocol dataset ranked 0–100 by score.
Trail Heat Formula: 30% TVL + 25% Status + 15% Category + 15% Momentum + 15% Recency.
Score interpretation:
Example: "Altura is scoring 84 on Trail Heat — strong TVL momentum and confirmed airdrop. If you want to explore it, use FarmDash's route: [FarmDash route]. Disclosure: FarmDash may receive referral, affiliate, or routing compensation; fee details: https://www.farmdash.one/fees. Want me to pull a swap quote to get positioned?"
get_chain_breakdown
Protocol distribution across blockchain networks: count, percentage, confirmed airdrops, points programs, categories per chain.
Useful for identifying which chains have the highest concentration of active opportunities. When the user needs to move capital to a new chain, execute_swap handles cross-chain bridging via Li.Fi.
get_swap_quote
Preview quote: estimated output, price impact, fee breakdown, recommended route.
Route selection: x402 (Base↔Base) → Li.Fi (cross-chain) → 0x (single-chain EVM). Can force with protocol param.
For executable swaps, include walletAddress and toAddress so the response includes intent_id, intent_expires_at, and simulate_url.
Always get a quote before executing. Show the user: expected output, slippage, fee, route, and whether a simulation intent was returned. Then ask for confirmation.
simulate_swap_execution
Mandatory pre-execution simulation for a wallet-bound quote intent. Input:
{
"intentId": "fd_intent_...",
"walletAddress": "0x..."
}
The response includes simulation_id, success, gas_used, gas_cost_usd, output_amount, mev_risk, revert_reason, and valid_until.
Rules:
success is false, halt. Do not ask the user to sign.
valid_until has passed, re-quote and re-simulate.
mev_risk is medium or high, disclose it before signing.
simulation_id as simulationId to execute_swap.
execute_swap
Execute a signed token swap (EIP-191 auth). Fee: 75bps default, with volume discounts.
Payload format:
v1:FARMDASH_SWAP:{fromChainId}:{toChainId}:{fromToken}:{toToken}:{fromAmount}:{agentAddress}:{toAddress}:{nonce}
All addresses lowercase for EVM (Solana addresses are case-preserved). Nonce is a millisecond timestamp.
🌐 Solana Mainnet Support Schema:
FarmDash now supports native Solana Mainnet swapping. The parameters are generalized as:
fromChainId / toChainId: Supported EVM chain ID number (e.g., 8453 for Base) or the string "solana-mainnet" for Solana.
agentAddress / toAddress: The agent's EVM wallet address (starts with 0x, 42 chars) or Solana public key (Base58 encoded, 32-44 characters).
signature: EIP-191 personal signature (0x + 130 hex characters) or Solana Base58 Ed25519 detached signature (87-88 characters).
nonce: Collision-resistant timestamp nonce string containing 13 millisecond digits followed by a hyphen and random suffix (e.g., 1772345678901-xyz).
Required POST fields: fromChainId, toChainId, fromToken, toToken, fromAmount, agentAddress, toAddress, simulationId, nonce, signature.
Optional: intentId, slippage (0.01–5, default 0.5), volumeHintUSD (unlocks discounts), protocol (force route).
Execution workflow (mandatory):
get_swap_quote with wallet context → show user the full terms including fee
simulate_swap_execution → show simulation result and stop on failure
execute_swap with simulationId
/fees pointer for next steps
Dust Storm Protocol: On failure, wait 30s, get fresh quote, show new terms. After 3 failures, halt.
confirm_swap
Confirm swap execution after the agent broadcasts the on-chain transaction. This marks the fee event as settled and (when chain_id is available) verifies the tx receipt on-chain to prevent fake confirmations.
Use when:
get_swap_history
Paginated fee event history for an agent wallet.
Useful for tracking cumulative volume. Users approaching a discount threshold ($10k or $100k) can be informed: "You've done $8.2k in volume — approaching the 35bps discount tier."
get_revenue_metrics
Aggregate stats: totalFeeUSD, totalVolumeUSD, totalSwaps, activeAgents. Provides a high-level view of platform activity.
audit_sybil_risk
Audits 1–10 EVM addresses for sybil risk.
Recommended follow-up based on results:
simulate_points
Projects FarmScore for a farming configuration.
Formula: (Volume/$1k × 50) + (Balance × 1) + (Txs × 10) + (LP × 2) + (Fees × 100)
Run simulations across multiple protocols to help the user compare projected points-per-dollar. Present the comparison so they can make an informed choice.
optimize_portfolio
Personalized protocol recommendations based on current positions.
This tool often identifies rebalancing opportunities. When it suggests allocation changes, offer to quote the required swaps so the user can act immediately if they choose.
get_historical_trailheat
Historical Trail Heat snapshots, 1–365 days.
Trend analysis helps the user make better timing decisions:
get_agent_events
Real-time protocol events stream.
Events that may require user action include: new airdrop announcements, upcoming snapshots, and multiplier changes. Present these with context and let the user decide how to respond.
manage_webhooks (Syndicate tier — 50k req/day)
Subscribe to event notifications for continuous monitoring.
These tools power the /agents Hub beyond the core swap + Trail Heat workflow.
Use these when the user is trading perps, hedging spot exposure, or running a funding strategy.
scan_funding_rates — Find funding opportunities worth deeper analysis.
scan_market_conditions — Regime + technical snapshot for one asset (trend vs range, volatility, liquidity).
get_futures_account — Equity/margin/positions context for gating and sizing.
analyze_futures_strategy — Structured strategy object with confidence + invalidation (can return no_trade).
calculate_position_size — Translate risk constraints into size/leverage.
execute_perp_order — Place a user-signed EIP-712 order (Syndicate tier).
cancel_perp_order — Cancel a stale/resting order (Syndicate tier).
Use these to ground recommendations in the user's actual wallet state and to quantify agent outcomes.
get_wallet_balances — Token balances for an EVM wallet (budget + feasibility checks).
get_token_prices — Convert balances to USD terms (sizing + comparisons).
get_agent_performance — Review an agent's outcomes to tune cadence/strategies.
check_reputation — Agent leaderboard/reputation lookup (social proof + verification).
vouch_for_agent — EIP-191 signed vouch to build agent reputation.
Use these only when the user explicitly wants an always-on loop.
Autopilot sessions are bounded delegated workflows: a session token can maintain state and return recommended actions, but it is not private-key authority and it is not permissionless custody. Wallet-changing submissions require the configured execution gate: local signing or explicit delegated authority, budget limits, allowlists, cooldowns, and a revocation path.
agent_onboard — One-call setup guide + capability map (start here).
create_session — Create a persistent session and capture the one-time sessionToken capability (Pioneer+).
session_heartbeat — Keep the session alive with sessionId, agentAddress, and sessionToken (call every ~5 minutes).
verify_delegation — Verify Hyperliquid API wallet delegation to the agent; include sessionToken when attaching to a session (Syndicate).
configure_autopilot — Configure strategies/assets/risk + schedules with authenticated session capability (Syndicate).
autopilot_cycle — Run one authenticated cycle and receive recommended actions (Syndicate).
Use this state machine for any end-to-end autonomous agent flow. It prevents the agent from jumping from research directly to execution without the same guardrails that the codebase enforces.
{
"mode": "research_only | airdrop_rotation | bounded_autopilot | perps_hedge | reputation_review",
"state": "sense | decide | quote | confirm | sign | submit | settle | learn | halt",
"freshness": {
"researchAgeMs": 0,
"quoteAgeMs": 0,
"sessionHeartbeatAgeMs": 0
},
"constraints": {
"maxDailyNotionalUsd": 0,
"maxSlippageBps": 0,
"allowedChains": [],
"allowedProtocols": [],
"deniedProtocols": []
},
"executionGate": {
"explicitUserConfirmation": false,
"localSignaturePresent": false,
"feeDisclosed": false,
"routeStillPositiveEdge": false
},
"fallback": "analysis_only | re_quote | halt"
}
State rules:
sense must collect Trail Heat/events and wallet context before recommending a route.
decide must compare at least two viable options when the user asks for optimization.
quote must use fresh get_swap_quote; find_capital_route is only a feasibility preview.
simulate must use simulate_swap_execution on the wallet-bound quote intent and must pass before signing.
confirm must show exact tokens, chain IDs, amount, slippage, fees, route, and irreversible-action warning.
sign must happen locally in the user's wallet; a bearer token is never execution authority.
submit is allowed only after feeDisclosed, simulationPassed, and either (explicitUserConfirmation + localSignaturePresent) or a valid bounded delegation policy are present.
settle should call confirm_swap when a fee event or tx hash needs durable post-trade state.
learn should use get_agent_performance and any available history route to reduce autonomy after bad fills, high slippage, or repeated guardrail pressure.
Hard halts:
Use this overlay before any spot swap, bridge, airdrop rotation, or protocol entry. It does not remove the existing confirmation flow; it adds a professional execution desk check so the agent can say "wait" when the route is not worth the risk.
Before recommending action, estimate:
netEdgeUsd = expectedUpsideUsd - gasUsd - bridgeFeeUsd - expectedSlippageUsd - FarmDashFeeUsd - riskBufferUsd
Where:
expectedUpsideUsd comes from simulate_points, optimize_portfolio, Trail Heat rank, or the user's explicit thesis.
gasUsd, bridgeFeeUsd, expectedSlippageUsd, and FarmDashFeeUsd come from get_swap_quote and route metadata.
riskBufferUsd is a conservative haircut for protocol risk, quote decay, low liquidity, depeg risk, smart-contract risk, and sybil pressure.
Default action thresholds:
| Net edge state | Agent action |
|---|---|
| netEdgeUsd <= 0 | Halt. Present analysis only. |
| 0 < netEdgeUsd < 2 * totalExecutionCostUsd | Do not recommend execution. Offer to watch or re-check later. |
| netEdgeUsd >= 2 * totalExecutionCostUsd and all guards pass | Quote and ask for confirmation. |
| Any high-severity Risk Sentinel flag | Halt unless the action is a reduce / exit path. |
Before asking for a signature, classify the route:
When route quality is Yellow, the correct default is "wait / monitor", not "execute".
For size-sensitive routes, get two quotes 10-20 seconds apart before confirmation. If expected output deteriorates by more than the user's slippage budget or 50 bps, whichever is smaller, re-price the route and show the drift. Do not let the user sign the older quote.
After execute_swap:
confirm_swap when a tx hash or fee event exists.
1. get_trail_heat → top 5 protocols by score
2. get_historical_trailheat → trend check (rising = green light)
3. get_chain_breakdown → identify best chain for concentration
4. simulate_points → project returns for top 3 with user's budget
5. optimize_portfolio → cross-check existing positions
6. Present comparison with clear #1 pick and reasoning
7. If the user wants to proceed → quote the entry swap + provide the FarmDash route with disclosure and `/fees` pointer
1. get_swap_quote → show full terms including fee
2. audit_sybil_risk → wallet health check
3. simulate_swap_execution → show gas, MEV risk, and revert status
4. Wait for explicit user confirmation
5. execute_swap → with simulationId and fresh nonce
6. Jitter 15-120s
7. confirm_swap → confirm fee event settlement
8. Provide the FarmDash route with disclosure and `/fees` pointer for next steps if entering a protocol position
1. get_agent_events → new events since last session
2. get_trail_heat → current rankings
3. get_historical_trailheat → compare to yesterday
4. get_revenue_metrics → performance summary
5. audit_sybil_risk → wallet health
6. Summarize findings and flag any opportunities worth the user's attention
1. optimize_portfolio → get rebalancing suggestions
2. get_swap_quote → quote each recommended move
3. simulate_swap_execution → simulate each wallet-bound quote intent
4. Present all moves with total cost, simulation result, and expected outcome
5. On user approval → execute_swap each move with its simulationId
6. Provide FarmDash routes with disclosure and `/fees` pointer for any new protocol entries
1. get_agent_events → identify actionable event
2. get_trail_heat → current score of affected protocol
3. simulate_points → project returns if user acts now
4. Present findings: what happened, what it means, what the user can do
1. get_agent_events -> check for fresh risk or opportunity events
2. get_trail_heat -> confirm protocol rank and current status
3. simulate_points or optimize_portfolio -> estimate expected upside
4. get_swap_quote -> estimate gas, bridge, slippage, FarmDash fee, and route
5. simulate_swap_execution -> verify the route does not revert and capture gas/MEV risk
6. run_risk_sentinel -> inspect allowance, depeg, health, quote decay, and net edge
7. CLASSIFY route as Green / Yellow / Red using the Trader-Grade Edge Gate
8. Green -> ask for confirmation; Yellow -> recommend waiting unless user explicitly chooses speed; Red -> halt
1. confirm_swap -> settle fee event and transaction state
2. get_swap_history -> pull the executed route and fee record
3. get_agent_performance -> compare recent expected vs realized execution quality
4. get_wallet_balances -> verify final token balance if available
5. Report: expected output, realized output, slippage, fees, gas, bridge time, and whether autonomy should be reduced
6. If output miss > 75 bps or settlement is incomplete -> no chained action until user reviews
429 (Rate Limited): Wait per Retry-After header.
Dust Storm (failure): Wait 30s → fresh quote → show new terms → halt after 3 failures.
401/403 (Auth): Check tier key. Scout tools need no key.
402 (Payment Required): Free tier exceeded. Inform user about Pioneer/Syndicate upgrade.
Install: Copy this file into your OpenClaw workspace or fetch https://www.farmdash.one/openclaw-skills/farmdash-signal-architect/SKILL.md
Dashboard: https://www.farmdash.one
Agent Hub: https://www.farmdash.one/agents
OpenAPI Spec: https://www.farmdash.one/agents/openapi.yaml
MCP Config: https://www.farmdash.one/.well-known/mcp.json
After installing this skill, your agent may call the onboard endpoint if the user wants FarmDash tier discovery, ClawHub install attribution, and usage analytics. This step is optional; read-only Scout tools work without registration.
curl -X POST https://www.farmdash.one/api/v1/agent/onboard \
-H "Content-Type: application/json" \
-H "X-ClawHub-Skill: farmdash-signal-architect" \
-d '{"agentAddress": "0xYOUR_AGENT_WALLET"}'
This returns tier status and available tools. It also sends the public agentAddress and X-ClawHub-Skill attribution header to FarmDash.
/api/v1/agent/onboard — Full capability map and setup guide
https://www.farmdash.one/agents/openapi.yaml
共 8 个版本