From 0134a17cf2c6bf91cf71233003610bdac86f4ea4 Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Wed, 15 Apr 2026 18:23:12 +0800 Subject: [PATCH 1/8] Add general introduction and quick installation. --- docs/Agent-Wallet/QuickStart.md | 93 ++++++++- docs/BANK-OF-AI/Intro.md | 189 +++++++++++++++++ docs/BANK-OF-AI/QuickStart.md | 193 ++++++++++++++++++ .../image/bankofai-architecture.svg | 159 +++++++++++++++ .../MCP/SUNMCPServer/OfficialServerAccess.md | 43 +++- .../MCP/SUNMCPServer/QuickStart.md | 34 ++- .../MCP/TRONMCPServer/OfficialServerAccess.md | 42 +++- .../MCP/TRONMCPServer/QuickStart.md | 38 ++-- docs/McpServer-Skills/SKILLS/QuickStart.md | 101 ++++++++- .../SKILLS/image/conversational-install.png | Bin 0 -> 258137 bytes .../current.json | 4 + .../current/Agent-Wallet/QuickStart.md | 93 ++++++++- .../current/BANK-OF-AI/Intro.md | 189 +++++++++++++++++ .../current/BANK-OF-AI/QuickStart.md | 193 ++++++++++++++++++ .../image/bankofai-architecture.svg | 159 +++++++++++++++ .../MCP/SUNMCPServer/OfficialServerAccess.md | 43 +++- .../MCP/SUNMCPServer/QuickStart.md | 34 ++- .../MCP/TRONMCPServer/OfficialServerAccess.md | 42 +++- .../MCP/TRONMCPServer/QuickStart.md | 38 ++-- .../McpServer-Skills/SKILLS/QuickStart.md | 103 +++++++++- .../SKILLS/image/conversational-install.png | Bin 0 -> 319168 bytes .../current/sidebars.js | 9 + package.json | 2 +- sidebars.js | 9 + 24 files changed, 1713 insertions(+), 97 deletions(-) create mode 100644 docs/BANK-OF-AI/Intro.md create mode 100644 docs/BANK-OF-AI/QuickStart.md create mode 100644 docs/BANK-OF-AI/image/bankofai-architecture.svg create mode 100644 docs/McpServer-Skills/SKILLS/image/conversational-install.png create mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md create mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md create mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg create mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/image/conversational-install.png diff --git a/docs/Agent-Wallet/QuickStart.md b/docs/Agent-Wallet/QuickStart.md index 1a92242e..5e508e9c 100644 --- a/docs/Agent-Wallet/QuickStart.md +++ b/docs/Agent-Wallet/QuickStart.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Quick Start -Three steps, from zero to invoking your Agent-wallet in the OpenClaw chat box. No coding required, no gas fees — just copy and paste. +From zero to invoking your Agent-wallet in your AI agent chat. We provide two ways to create your wallet — **conversational setup is the easiest**, done entirely from your AI chat; **command-line setup** gives you the most precise control. :::tip Want CLI command details? This page only walks you through the shortest path. For password-free configuration, managing multiple wallets, signature types, and other advanced topics, see the [CLI Reference](./Developer/CLI-Reference.md). @@ -11,9 +11,82 @@ This page only walks you through the shortest path. For password-free configurat --- -## Step 1: Install and Initialize Your Wallet +## Method 1: Conversational Setup (Easiest) -### 1.1 Prepare Your Environment: Install Node.js +If you've already installed [the BANK OF AI skill suite](../McpServer-Skills/SKILLS/QuickStart.md) (which includes `agent-wallet` and `bankofai-guide`), creating a wallet takes just one prompt in your AI chat — the AI generates the password, creates the wallet, and saves the config for you, with no manual file editing. + +:::tip Prerequisites +- BANK OF AI skills installed (see [SKILLS Quick Start](../McpServer-Skills/SKILLS/QuickStart.md)) +- Your AI Agent supports shell command execution (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.) +::: + +**How it works:** + +1. Open your AI Agent chat +2. Copy and paste the following prompt: + + ``` + Create an AgentWallet + ``` + +3. The AI handles the entire flow automatically: + - **Checks current wallet status** — tells you whether one is already configured + - **Asks how to create it** — offers two options: + - **A. Quick setup (highly recommended)**: fully automated, ~10 seconds; auto-generates a secure password; encrypted wallet stored locally + - **B. Detailed setup**: manually pick wallet type; custom password; more configuration options +4. Reply `A` and the AI runs the three setup steps automatically: + - **Step 1**: Generate a secure password + - **Step 2**: Create the wallet + - **Step 3**: Retrieve the wallet addresses + +**When done, you'll see output like this:** + +```text +🎉 Agent Wallet created successfully! + +| Field | Detail | +| -------- | -------------------------- | +| Wallet ID| default_local_secure | +| Type | local_secure (encrypted) | +| Status | ✅ Active | + +Wallet addresses + +| Network | Address | +| ------- | --------------------------------------------------- | +| EVM | 0x1339Df9ac21E494b39Be47d012A3f33fb9188366 | +| TRON | TBisApdFay75x3FXNWiG8UE75KzhnFLceY | + +💡 The EVM address works on every EVM-compatible chain (Ethereum, BSC, Base, Polygon, Arbitrum, etc.) + +🔐 Wallet password + +$mU80m9fLYB5 + +⚠️ Important: +• This password encrypts the private key stored locally +• Signing transactions, resolving addresses, and every other operation requires this password +• The password is auto-saved to ~/.agent-wallet/runtime_secrets.json +• Back up the password yourself! If runtime_secrets is ever deleted, the password is the only way to recover the wallet +``` + +:::caution Back up your wallet password! +Even though the password is auto-saved to `~/.agent-wallet/runtime_secrets.json`, **you still must copy it separately** into a password manager (1Password, Bitwarden, etc.). If that file is ever accidentally deleted, your disk fails, or you reinstall your OS, the password is gone — and so is access to your wallet's assets, permanently. +::: + +:::tip Done — no env-var configuration needed +Conversational setup auto-saves the password to `~/.agent-wallet/runtime_secrets.json`, and your AI Agent reads it automatically when calling wallet functions. **You don't need to manually export `AGENT_WALLET_PASSWORD`.** If you'd rather use the env-var approach, see Method 2 below. +::: + +--- + +## Method 2: Command-Line Setup (Most Control) + +If you want to control every step yourself, or your environment doesn't support conversational install, follow the command-line flow below. + +### Step 1: Install and Initialize Your Wallet + +#### 1.1 Prepare Your Environment: Install Node.js Agent-wallet requires Node.js (a runtime environment, version >= 20) on your computer. @@ -42,7 +115,7 @@ nvm install 20 && nvm use 20 -### 1.2 Install Agent-wallet +#### 1.2 Install Agent-wallet ```bash npm install -g @bankofai/agent-wallet @@ -55,7 +128,7 @@ agent-wallet --help If you see the help output, you're good to go. -### 1.3 Create Your Agent-wallet Wallet +#### 1.3 Create Your Agent-wallet Wallet Run: ```bash @@ -95,11 +168,11 @@ Do this right now: --- -## Step 2: Feed the Password to Your AI (Critical!) +### Step 2: Feed the Password to Your AI (Critical!) -For OpenClaw to automatically use your wallet, you must configure the password in its runtime environment. Select the tab matching your operating system and **just copy-paste**: +For your AI agent to automatically use your wallet, you must configure the password in its runtime environment. Select the tab matching your operating system and **just copy-paste**: -### 2.1 Save and Activate the Password +#### 2.1 Save and Activate the Password @@ -167,13 +240,13 @@ export AGENT_WALLET_PASSWORD="P@ss$w0rd!" # actual value becomes "P@ss!" ``` ::: -### 2.2 Restart Your AI Backend Service +#### 2.2 Restart Your AI Backend Service :::danger Many people forget this step, then wonder why AI can't find the password! You just saved a new password, but the AI assistant running in the background hasn't refreshed yet — it's still blind to the change! You need to shut it down and restart it for the new password to take effect. ::: -Whether or not you currently have the OpenClaw backend service running, make sure to **shut it down**, then **restart it** from the same terminal window where you ran the commands above. +Whether or not you currently have your AI agent backend service running, make sure to **shut it down**, then **restart it** from the same terminal window where you ran the commands above. --- diff --git a/docs/BANK-OF-AI/Intro.md b/docs/BANK-OF-AI/Intro.md new file mode 100644 index 00000000..175ac041 --- /dev/null +++ b/docs/BANK-OF-AI/Intro.md @@ -0,0 +1,189 @@ +# Introduction + +## BANK OF AI in One Sentence + +**BANK OF AI is a complete infrastructure stack that lets your AI actually *do things* on the blockchain.** + +Think of your AI assistant as a brilliant new intern: smart, tireless, always available — but with no bank account, no understanding of Web3's "unwritten rules," and no way to pay for online services on its own. BANK OF AI's job is to upgrade that intern into a **licensed on-chain operator** — equipped with a complete playbook covering every on-chain scenario (Skills), a secure wallet, and a protocol layer that lets it autonomously buy services as needed. + +You don't need to write code, run scripts, or hop between dApps connecting wallets. You just give your AI the task — BANK OF AI handles everything underneath. + +--- + +## How Does a Single Sentence Reach the Blockchain? + +The flow is simpler than it looks — **you type one sentence into your AI client, and the diagram below is everything that happens next:** + +
+ +![BANK OF AI Architecture: How a user command reaches the blockchain](./image/bankofai-architecture.svg) + +
+ +**Step 1: The AI Agent understands what you said** + +You type a plain-language instruction into your AI client (OpenClaw / Cursor / Claude Code / Codex / ...) — something like *"swap 100 TRX for USDT."* The AI Agent is powered by **LLM Service** (one of GPT, Claude, Gemini, DeepSeek, Kimi, etc.), parses your intent, then decides which execution path to take. + +**Step 2: Choose one of two execution paths** + +Once the intent is clear, the AI Agent has two options: + +- **🌟 Via Skills (Business Orchestration Layer)** — covers the vast majority of use cases + Skills are pre-written "on-chain operation SOPs." The AI Agent picks the matching skill (e.g., the SunSwap Skill) and follows its standard flow: **check balance → verify approval → fetch quote → apply slippage protection → wait for your confirmation → call MCP Server to execute.** Complex multi-step operations collapse into "one sentence does it all" — no missed steps, no hidden pitfalls. + +- **⚙️ Bypass Skills, call MCP Server directly** + MCP Server provides standardized atomic-capability tools (both on-chain and off-chain). The AI Agent can call them without going through Skills. Note this path bypasses the Skills **orchestration layer** — **not the AI Agent itself**. The AI Agent is always the one initiating calls. Direct-call is fine for simple queries or custom developer flows; for complex transactions, approvals, or risk-sensitive operations, Skills are strongly recommended. + +**Step 3: Sign, settle, commit to chain** + +Whichever path is taken, the resulting transaction: **is signed locally by Agent-Wallet on your machine** (private key never leaves your computer; unified support for both EVM and TRON ecosystems) → **submitted to the blockchain**. + +**Step 4: The result flows back to the AI Agent** + +Once on-chain execution completes, **the result travels back up the same path to the AI Agent** — the blockchain returns a tx hash, status, and event logs; MCP Server parses them into structured data and passes them back to the AI Agent. **The AI Agent then generates a natural-language summary** from that structured data and attaches the transaction hash (for on-chain verification), all delivered through normal chat. + +For example: + +> ✅ Done — swapped 100 TRX for 350 USDT, fee 1.2 TRX. +> Tx hash: `0xabc123...def456` ([view on TronScan](https://tronscan.org)) + +The loop closes: **one sentence out, one readable sentence back**. You only ever talk to the AI Agent — no need to parse raw chain data yourself; meanwhile the tx hash is always visible for traceability and verification. + +**🔀 Cross-layer Capability: x402 + 8004** + +x402 (payment protocol) and 8004 (identity / reputation protocol) are **cross-layer capabilities** — they don't belong to any single layer but can be invoked at multiple points in the flow: + +- When MCP Server calls a paid off-chain API, x402 handles "pay-before-response" settlement +- When the AI Agent or a Skill needs to verify a counterparty Agent's identity, 8004 provides an on-chain reputation report +- When Skills orchestration needs to run a pre-check against a service provider's credit, 8004 is queried again + +--- + +## Core Modules (ordered from "most user-facing" → "deeper infrastructure") + +### 🧠 1. AI Agent — Your Primary Entry Point + +**This is what you actually "talk to."** In any AI client (OpenClaw / Cursor / Claude Code / etc.), you type a sentence and the AI Agent receives, understands, executes, and replies — to you the whole experience is just "chatting with AI." + +The AI Agent's intelligence comes from **LLM Service**, BANK OF AI's unified model gateway that aggregates GPT, Claude, Gemini, DeepSeek, Kimi, GLM, MiniMax, and other leading models behind a single API — **one API key for every top-tier model**, billed by usage. + +Whether you use OpenClaw, Cursor, Claude Code, or any other AI client, LLM Service connects you to all these brains. + +👉 Learn more: [LLM Service Introduction](../llmservice/introduction.md) + +--- + +### 🌟 2. Skills — The AI Agent's "On-chain Operation SOP Playbook" + +**This is the standard flow the AI Agent follows when handling most on-chain tasks.** You don't notice Skills directly, but every time you see the AI work fast and reliably, it's Skills doing the orchestration in the background. + +Skills are pre-written "on-chain operation SOPs for AI," covering common scenarios across the TRON ecosystem — SunSwap swaps, SunPerp perpetual futures, TronScan queries, TRC20 transfers, TRX staking & SR voting, USDD/JUST protocol, multi-sig permissions, x402 payments, BANK OF AI top-ups, and more. The skill set will keep expanding as the ecosystem grows. + +Example: a user says *"use 50 USDT to buy some TRX."* A vanilla AI might generate a transaction that fails immediately because USDT was never approved on SunSwap. An AI loaded with the SunSwap Skill walks the full SOP automatically — **check balance → check approval → quote → slippage protection → wait for confirmation → execute** — no step skipped. + +**You just talk to the AI Agent in plain language; Skills lets it compress complex multi-step on-chain operations into "one sentence done."** All the underlying MCP tool calls, wallet signatures, and contract parameter calculations are orchestrated automatically — you never need to know any of it. + +👉 Learn more: [Skills Introduction](../McpServer-Skills/SKILLS/Intro.md) + +--- + +### 🔐 3. Agent-Wallet — A Local Encrypted Vault Built for AI + +A brain and a playbook still aren't enough. To spend money or send transactions, your AI needs **its own wallet**. But pasting a private key into a plaintext config file is like writing your bank PIN on a sticky note — every program on your machine (malicious plugins, AI coding assistants, automation scripts) can read it in a heartbeat. + +Agent-Wallet is a local encrypted wallet purpose-built for AI agents. Your private key is encrypted and locked in a hidden directory; the AI only ever holds an unlock password. **Even if the password leaks, the encrypted file alone is useless. Even if the file is stolen, without the password it's just gibberish.** Two locks, orders of magnitude safer than plaintext keys. + +Around this encryption mechanism, Agent-Wallet ships the following core capabilities: + +- **Local Secure**: your private key is encrypted with industry-leading algorithms and stored in a hidden local directory (`~/.agent-wallet`); only the master password can unlock it +- **Local Signing**: all signing happens entirely on your machine — **100% offline** — your private key never leaves your computer +- **Multi-Wallet**: manage multiple wallets via CLI or SDK, switch the active wallet on demand, with full isolation between them +- **Multi-Chain**: a single unified interface covering both **EVM-compatible chains** (Ethereum / BSC / Polygon / Base / Arbitrum, etc.) and **TRON** (Mainnet / Nile / Shasta) — learn it once, use it across every supported chain + +Whenever Skills (or the AI Agent calling MCP directly) needs to send a transaction, Agent-Wallet signs it locally and passes only the signed payload outward — **the private key itself never leaves your machine**. + +👉 Learn more: [Agent-Wallet Introduction](../Agent-Wallet/Intro.md) + +--- + +### 💸 4. x402 — Teaching Your AI to "Pay for the Internet" (Cross-layer Capability) + +When your AI needs to call a **paid online service** (paid APIs, paid datasets), the traditional approach — register an account, link a credit card, configure an API key — simply doesn't work for an AI. + +x402 is an open payment protocol built on the HTTP `402 Payment Required` status code. When the AI sees a 402 response, it **automatically signs a small on-chain payment and instantly receives the content**. No account registration, no human in the loop, no pre-funding. + +x402 is a **cross-layer capability** — it doesn't belong to any single layer. Wherever "pay-before-response" is needed, x402 can be invoked: MCP Server calling a paid API can trigger it, the `x402-payment` Skill can trigger it explicitly, and the AI Agent itself can decide to trigger it. + +Currently supports TRON and BSC, with more chains on the roadmap. + +👉 Learn more: [x402 Protocol Introduction](../x402/index.md) + +--- + +### 🪪 5. 8004 — On-chain Identity + Reputation for Agents (Cross-layer Capability) + +As AI agents proliferate online, how do you know which ones are real, which are fake, and which can be trusted? The 8004 Protocol is Web3's "Agent Registry" — any agent can mint an identity NFT on-chain, bind its service endpoints (Web, MCP, DID), and accept feedback from other agents and users. + +Like x402, 8004 is a **cross-layer capability** that can be invoked at several points in the flow: the AI Agent can check reputation before calling an unknown service, Skills orchestration can run pre-flight risk checks, and MCP Servers can verify each other's identities — all using the same protocol. + +**In short, 8004 is the discovery + reputation layer for agents** — letting your AI pull a stranger's "credit report" on-chain before paying or granting authorization. + +👉 Learn more: [8004 Protocol Introduction](../8004/general.md) + +--- + +### ⚙️ 6. MCP Server — The Capability Provider Layer + +:::info Regular users can skip this section +MCP Server is the low-level capability interface that Skills calls under the hood. **In most cases you won't notice it's there** — Skills has already wrapped it cleanly. This section is mainly for developers who want to understand the architecture. +::: + +MCP Server (Model Context Protocol Server) is built on Anthropic's **Model Context Protocol** standard. It wraps various external capabilities into AI-callable standardized tools. By protocol design, MCP Server can carry both **on-chain capabilities** (queries, contract calls, transfer signing, etc.) and **off-chain capabilities** (price feeds, data queries, external APIs, etc.) — what each MCP Server actually exposes is entirely determined by its own implementation. + +**Relationship between Skills and MCP Server:** + +| Layer | Role | Responsibility | +|:---|:---|:---| +| **Skills** | Business Orchestration Layer | Stringing multi-step operations into SOPs, handling pre-checks and risk control | +| **MCP Server** | Capability Provider Layer | Exposing atomic capability tools to upper layers | + +BANK OF AI currently ships three core MCP Servers, all **focused on atomic on-chain operations**: + +- **TRON MCP Server**: atomic on-chain operations on TRON (query, transfer, contracts, staking, governance) +- **SUN MCP Server**: SunSwap V2/V3/V4 swap and liquidity capabilities +- **BSC MCP Server**: atomic on-chain operations on BNB Chain + +We plan to extend more MCP Servers as needed, covering off-chain data, third-party protocols, and other scenarios. + +Advanced developers can have the AI Agent bypass Skills and call MCP tools directly, but that means handling pre-checks, approvals, slippage, error recovery, and everything else yourself — exactly the things Skills automates for you. + +👉 Learn more: [MCP Server Introduction](../McpServer-Skills/MCP/Intro.md) + +--- + +### 🖥️ 7. SUN CLI — Developer Tool (CLI Interface to SUN MCP) + +SUN CLI isn't a standalone layer — it's the **command-line interface to SUN MCP Server's capabilities** (CLI interface to MCP Server), built for developers and automation scenarios. + +Prefer driving SunSwap from a terminal? Want to invoke SUN MCP from shell scripts or CI/CD pipelines? SUN CLI wraps quotes, swaps, liquidity, and position management into one-line commands with output that pipes cleanly into other tools. + +👉 Learn more: [SUN CLI Introduction](../McpServer-Skills/Tools/SUNCli/Intro.md) + +--- + +## Is BANK OF AI for Me? + +- **Web3 beginner:** Absolutely. Just say "agent install everything" in your AI client — everything else is configured automatically. After that, talk to your AI in plain English; no underlying details needed. +- **Web3 veteran:** Skip the "switch wallet → copy address → calculate slippage → wait for blocks" grind. Let the AI handle the repetitive work; you focus on strategy. +- **AI Agent developer:** BANK OF AI ships full SDKs, CLIs, APIs, and MCP-standard interfaces. Build your own AI agents on top, with complete on-chain capability and autonomous payment built in. +- **API service provider:** With x402, your paid APIs can be called and metered automatically by AI agents — no traditional account registration or credit-card binding required. Especially well-suited for micropayments, AI agents auto-calling paid services, and agent-to-agent settlement scenarios. + +--- + +## Ready? + +The entire BANK OF AI installation has been compressed into **one sentence** — just say to your AI: "**agent install everything**" + +That's it. The AI handles the rest: Skills, wallet setup, configuration across 9 AI clients — all in under a minute. + +👉 **[Go to Quick Start and activate your full BANK OF AI stack in 1 minute](./QuickStart.md)** diff --git a/docs/BANK-OF-AI/QuickStart.md b/docs/BANK-OF-AI/QuickStart.md new file mode 100644 index 00000000..a2cbc247 --- /dev/null +++ b/docs/BANK-OF-AI/QuickStart.md @@ -0,0 +1,193 @@ +# Quick Start + +**One sentence**, less than **1 minute**, and the entire BANK OF AI stack is installed on your machine — Agent-Wallet, MCP Servers, Skills, all in place, with 9 mainstream AI clients configured automatically. + +:::tip Things You Don't Have to Do +- ❌ No manual `npm install` for a dozen packages +- ❌ No installing Agent-Wallet / Skills / MCP Servers separately +- ❌ No configuring Cursor / Claude Code / VS Code one by one +- ❌ No technical knowledge required +::: + +--- + +## The Only Step: Say One Sentence to Your AI + +Open whichever AI client you're using (OpenClaw / Claude Code / Cursor / Codex / any of them) and send it this sentence: + +``` +agent install everything +``` + +Press Enter. **That's it — your part is done.** + +The AI takes over the entire installation flow from here. You just sit back and watch it set everything up. + +When it finishes, the AI prints an "Installed Components" summary so you can confirm everything is in place: + +``` +🎉 Agent install complete! +✅ Components installed +``` + +| Component | Status | Location | +| :--- | :--- | :--- | +| BankOfAI Skills | ✅ Installed | `~/.agents/skills/` | +| Agent Wallet CLI | ✅ Installed | Global npm | +| TRON MCP Server | ✅ Installed | 9 Agents | +| SUN MCP Server | ✅ Installed | 9 Agents | + +--- + +## What the AI Does Behind the Scenes + +So you know what's happening, here's everything the AI completes for you in that one minute: + +### Step 1: Install BANK OF AI Skills + +``` +✅ BankOfAI Skills installed successfully! +``` + +| Skill | Function | +| :--- | :--- | +| `agent-wallet` | Wallet management | +| `bankofai-guide` | Onboarding guide | +| `multi-sig-account-permissions` | TRON multi-sig | +| `recharge-skill` | BANK OF AI top-up | +| `sunperp-perpetual-futures-trading` | SunPerp futures | +| `sunswap-dex-trading` | SunSwap DEX | +| `trc20-token-toolkit` | TRC20 toolkit | +| `tronscan-data-lookup` | TronScan lookup | +| `trx-staking-sr-voting` | TRX staking & SR voting | +| `usdd-just-protocol` | USDD/JUST protocol | +| `x402-payment` | x402 payment | + +### Step 2: Install Agent Wallet CLI and MCP Servers + +``` +Now installing Agent Wallet CLI and MCP Servers... +``` + +Agent Wallet CLI is installed globally via npm; TRON MCP Server and SUN MCP Server are wired into every available AI client. + +### Step 3: Auto-Create the Local Encrypted Wallet + +``` +🧰 Wallet Information +``` + +| Field | Detail | +| :--- | :--- | +| Wallet ID | `default_local_secure` | +| Type | `local_secure` | +| Status | ✅ Active | + +| Network | Address | +| :--- | :--- | +| EVM | `0x1339...8366` | +| TRON | `TBisAp...FLceY` | + +Right after that, the AI displays your unique **master password** in the terminal — **only this one time**: + +``` +🔒 Wallet Password + +⚠️ Password auto-saved to ~/.agent-wallet/runtime_secrets.json — please back it up! +``` + +:::caution The master password is critical — back it up immediately +The master password is the **only credential** that unlocks your private key. The installer does two things: +1. **Auto-saves it to a local file** `~/.agent-wallet/runtime_secrets.json` so subsequent tools can read it directly +2. **Displays it in plaintext once in your terminal** — copy it down right away + +We strongly recommend **also saving it manually to a password manager** (1Password / Bitwarden / etc.). If the local file is ever lost or corrupted *and* you have no external backup, your wallet becomes **permanently unrecoverable** (no recovery mechanism, no support, no backdoors). + +⚠️ **Never** paste this password into chat tools, emails, screenshots, or public repos. +::: + +### Step 4: Configure MCP Servers + +``` +🔧 MCP Servers +``` + +| Server | URL | Status | +| :--- | :--- | :--- | +| TRON MCP | `https://tron-mcp-server.bankofai.io/mcp` | ✅ | +| SUN MCP | `https://sun-mcp-server.bankofai.io/mcp` | ✅ | + +:::info Connected to the official cloud service by default +The two URLs above are the **official cloud endpoints** hosted by BANK OF AI — ready to use out of the box, no self-hosting required. If you need a local private deployment (e.g. for data-isolation requirements), see [TRON MCP — Local Private Deployment](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) and [SUN MCP — Local Private Deployment](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md). +::: + +### Step 5: Sync to All AI Clients + +**Configured across 9 Agents:** Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot CLI, MCPorter, OpenCode, VS Code, Zed. + +If any of these is installed on your machine, it's wired up automatically — just open it and go, no extra setup needed. + +--- + +## Now What Can You Do? + +With the full stack in place, your AI instantly gains these capabilities — just talk to it in plain English: + +### 🔍 On-chain Data Lookup (Free) + +> "Check the TRX and USDT balances of my wallet." + +> "What happened in transaction abc123...?" + +> "What's TRON's current network TPS?" + +### 💸 TRC20 Token Transfer + +> "Send 10 USDT to TRecipientAddress..." + +### 🔁 SunSwap Swaps + +> "On Nile testnet, swap 100 TRX for USDT with 1% slippage." + +### 📈 SunPerp Futures Trading + +> "Open a 5x long on BTC-USDT with a 5% stop-loss." + +### 🗳️ TRX Staking & SR Voting + +> "Stake my 1000 TRX with super representative SR XXX." + +### 💰 Top Up BANK OF AI Account + +> "Check my BANK OF AI balance and top up 5 USDT." + +--- + +## Verify the Install + +Open your AI chat and ask: + +``` +What BANK OF AI Skills do I have installed? +``` + +If the AI can list every skill name — **congrats, the whole stack is live and ready to use.** + +--- + +## Three Rules for Beginners + +:::warning On-chain transactions are irreversible — remember these three rules +1. **Always practice on testnet first.** Run 1-2 transactions on Nile testnet, confirm the AI behaves exactly as expected, *then* go to mainnet. +2. **Carefully review the bill before every spending action.** +3. **Start small.** Even for operations you've already tested, use a small amount the first time you run them on mainnet to verify behavior. +::: + +--- + +## What's Next + +| I want to… | Go here | +| :--- | :--- | +| Understand the full architecture | [BANK OF AI Introduction](./Intro.md) | +| Dive into a specific component | [Agent-Wallet](../Agent-Wallet/Intro.md) · [MCP Server](../McpServer-Skills/MCP/Intro.md) · [Skills](../McpServer-Skills/SKILLS/Intro.md) · [x402](../x402/index.md) · [8004](../8004/general.md) · [LLM Service](../llmservice/introduction.md) | diff --git a/docs/BANK-OF-AI/image/bankofai-architecture.svg b/docs/BANK-OF-AI/image/bankofai-architecture.svg new file mode 100644 index 00000000..62fd969f --- /dev/null +++ b/docs/BANK-OF-AI/image/bankofai-architecture.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BANK OF AI — How User Commands Reach the Blockchain + + + + 📡 Protocol + Cross-layer + Capability + + + x402 + Pay-before-response + + + 8004 + Agent ID + Reputation + + Applies at multiple layers + · Paid service calls + · Identity verification + · Reputation checks + + + + + + + Result → AI Agent · Feedback + + + + + + 👤 You · One Sentence + "Swap 100 TRX for USDT" + + + + ↑ AI reply + ↓ Your command + + + + 🧠 AI Agent + Powered by LLM Service · GPT / Claude / Gemini / DeepSeek / Kimi ... + Understands your intent and chooses the execution path + + + + + + + Bypass Skills + Direct MCP call + + + + 🌟 Skills + Business Orchestration Layer + SunSwap · SunPerp · TronScan · TRC20 · Multi-Sig · Staking · x402 · ... + Auto SOP: balance → approval → quote → slippage → confirm → call MCP + + + + + + + ⚙️ MCP Server · Capability Provider Layer + Wraps on-chain and off-chain capabilities into AI-callable standardized tools + + + TRON MCP Server + On-chain query + tx + + + SUN MCP Server + SunSwap V2/V3/V4 + + + BSC MCP Server + BNB Chain + + + + + + + 🔐 Agent-Wallet · Local Secure Wallet + Private key never leaves your machine · Transactions signed locally + + + Local Secure + Encrypted storage + + + Local Signing + 100% offline + + + Multi-Wallet + Wallet management + + + Multi-Chain + EVM + TRON + + + + + + + ⛓️ Blockchain · TRON · BSC · ... + + + Legend: + + Standard path (Agent → Skills → MCP) + + Bypass Skills, direct MCP + + Result feedback + + Protocol cross-layer + diff --git a/docs/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md b/docs/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md index d0fa20a0..434ca786 100644 --- a/docs/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md +++ b/docs/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md @@ -26,9 +26,41 @@ The official cloud service only provides **read-only access**. It does **not sup ## How to Connect -### Quick Auto-Install +We provide three installation methods. **Pick the one that matches your level of comfort** — the conversational install is the easiest; the interactive install gives you the most control. -Simply tell your AI Agent to execute the following command: +### Method 1: Conversational Install (Easiest) + +If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you can install everything by **simply chatting with the AI** — no need to open a terminal yourself, no manual file copying. + +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + +**How it works:** + +1. Open your AI Agent chat +2. Copy and paste the following prompt: + + ``` + Run npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y to install the SUN MCP Server. + Note: Please install to the MCP config of the current Agent. + ``` + +3. The AI handles the entire flow automatically: + - Detects the remote MCP service URL + - Auto-detects which AI client is currently running + - Writes the `sun-mcp-server` entry into the right MCP config file (no manual JSON editing) + - Reports back with a ✅ confirmation when done + +Once the AI confirms the install, the SUN MCP Server is ready — you can start asking questions right away. + +:::tip Why this is the recommended path for beginners +You don't need to know what `npx`, `npm`, or "MCP config file" means. The AI handles every step including selecting the right config path for your client. +::: + +### Method 2: Quick Auto-Install (Command Line) + +If you have Node.js installed and prefer the command line, run the following directly in your terminal: ```bash npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y @@ -36,9 +68,9 @@ npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y The `-y` flag skips all interactive prompts and automatically installs to every AI tool detected on your computer. Once complete, it will show ✅ Installation complete! along with the list of agents it was installed to. -Once installation is complete, restart your AI Agent, and you can start interacting with SunSwap via SUN MCP Server. +Once installation is complete, you can start interacting with SunSwap via SUN MCP Server. -### Interactive Installation +### Method 3: Interactive Install (Most Control) If you want to choose which AI tools to install to, remove the `-y` flag: @@ -109,7 +141,7 @@ When you see output like this, SUN MCP Server has been successfully installed to └ Done! ``` -Once installation is complete, restart your AI Agent, and you can start interacting with SunSwap via SUN MCP Server. +Once installation is complete, you can start interacting with SunSwap via SUN MCP Server. --- @@ -126,7 +158,6 @@ If you receive a normal response, the connection is working. If you encounter issues, first confirm: 1. Node.js version >= 20.0.0 (run `node --version` to check) 2. Network can reach `sun-mcp-server.bankofai.io` -3. AI client has been fully quit and restarted (not just refreshed) --- diff --git a/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md b/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md index 3bdb6064..d9c66bf6 100644 --- a/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md +++ b/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md @@ -17,25 +17,39 @@ Before you get started, make sure you have: ## Install -Simply tell your AI Agent to execute the following command: +The easiest way to install is by **simply chatting with your AI Agent** — no need to open a terminal yourself, no manual file copying. If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you're set. -```bash -npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y -``` +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + +**How it works:** + +1. Open your AI Agent chat +2. Copy and paste the following prompt: + + ``` + Run npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y to install the SUN MCP Server. + Note: Please install to the MCP config of the current Agent. + ``` -The `-y` flag skips all interactive prompts and automatically installs to every AI tool detected on your computer. Once complete, it will show ✅ Installation complete! along with the list of agents it was installed to. +3. The AI handles the entire flow automatically: + - Detects the remote MCP service URL + - Auto-detects which AI client is currently running + - Writes the `sun-mcp-server` entry into the right MCP config file (no manual JSON editing) + - Reports back with a ✅ confirmation when done -After the command completes, restart your MCP client. +Once the AI confirms the install, the SUN MCP Server is ready — you can start asking questions right away. -:::tip Want to choose which AI tools to install to? -Remove the `-y` flag to enter interactive installation mode. See [Official Cloud Service Access](./OfficialServerAccess.md) for details. +:::tip Prefer the command line? +If you'd rather run the install yourself or need finer control (e.g. selecting which AI tools to install to), see [Official Cloud Service Access](./OfficialServerAccess.md) for the command-line and interactive options. ::: --- -## Restart and Test +## Test It Out -After completing the configuration, restart your MCP client. Then try the following query in a conversation: +Try the following query in a conversation: ``` Check the current prices of USDT and TRX on SunSwap diff --git a/docs/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md b/docs/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md index 18f0a6d4..de9f4449 100644 --- a/docs/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md +++ b/docs/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md @@ -45,9 +45,41 @@ The official cloud service only provides **read-only access**. It does **not sup ## How to Connect -### Quick Auto-Install +We provide three installation methods. **Pick the one that matches your level of comfort** — the conversational install is the easiest; the interactive install gives you the most control. -Simply tell your AI Agent to execute the following command: +### Method 1: Conversational Install (Easiest) + +If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you can install everything by **simply chatting with the AI** — no need to open a terminal yourself, no manual file copying. + +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + +**How it works:** + +1. Open your AI Agent chat +2. Copy and paste the following prompt: + + ``` + Run npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y to install the TRON MCP Server. + Note: Please install to the MCP config of the current Agent. + ``` + +3. The AI handles the entire flow automatically: + - Detects the remote MCP service URL + - Auto-detects which AI client is currently running + - Writes the `tron-mcp-server` entry into the right MCP config file (no manual JSON editing) + - Reports back with a ✅ confirmation when done + +Once the AI confirms the install, the TRON MCP Server is ready — you can start asking questions right away. + +:::tip Why this is the recommended path for beginners +You don't need to know what `npx`, `npm`, or "MCP config file" means. The AI handles every step including selecting the right config path for your client. +::: + +### Method 2: Quick Auto-Install (Command Line) + +If you have Node.js installed and prefer the command line, run the following directly in your terminal: ```bash npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y @@ -55,9 +87,9 @@ npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y The `-y` flag skips all interactive prompts and automatically installs to every AI tool detected on your computer. Once complete, it will show ✅ Installation complete! along with the list of agents it was installed to. -Once installation is complete, restart your AI Agent, and you can start interacting with the TRON blockchain via TRON MCP Server. +Once installation is complete, you can start interacting with the TRON blockchain via TRON MCP Server. -### Interactive Installation +### Method 3: Interactive Install (Most Control) If you want to choose which AI tools to install to, remove the `-y` flag: @@ -128,7 +160,7 @@ When you see output like this, TRON MCP Server has been successfully installed t └ Done! ``` -Once installation is complete, restart your AI Agent, and you can start interacting with the TRON blockchain via TRON MCP Server. +Once installation is complete, you can start interacting with the TRON blockchain via TRON MCP Server. --- diff --git a/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md b/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md index b4b3b722..523afc30 100644 --- a/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md +++ b/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md @@ -2,7 +2,7 @@ The goal of this page is simple: **get you connected in 1 minute and make your first blockchain query.** -We'll use the [official cloud service](./OfficialServerAccess.md) for this quick start. The cloud service is read-only — no dependencies to install, no wallet to configure, no API Key required. Just copy a config snippet into your AI client, restart, and start asking questions. +We'll use the [official cloud service](./OfficialServerAccess.md) for this quick start. The cloud service is read-only — no dependencies to install, no wallet to configure, no API Key required. Just copy a config snippet into your AI client and start asking questions. --- @@ -23,27 +23,39 @@ node --version # should output v20.x.x or higher ## Install -Simply tell your AI Agent to execute the following command: +The easiest way to install is by **simply chatting with your AI Agent** — no need to open a terminal yourself, no manual file copying. If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you're set. -```bash -npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y -``` +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + +**How it works:** -The `-y` flag skips all interactive prompts and automatically installs to every AI tool detected on your computer. Once complete, it will show ✅ Installation complete! along with the list of agents it was installed to. +1. Open your AI Agent chat +2. Copy and paste the following prompt: -After the command completes, restart your MCP client. + ``` + Run npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y to install the TRON MCP Server. + Note: Please install to the MCP config of the current Agent. + ``` -:::tip Want to choose which AI tools to install to? -Remove the `-y` flag to enter interactive installation mode. See [Official Cloud Service Access](./OfficialServerAccess.md) for details. +3. The AI handles the entire flow automatically: + - Detects the remote MCP service URL + - Auto-detects which AI client is currently running + - Writes the `tron-mcp-server` entry into the right MCP config file (no manual JSON editing) + - Reports back with a ✅ confirmation when done + +Once the AI confirms the install, the TRON MCP Server is ready — you can start asking questions right away. + +:::tip Prefer the command line? +If you'd rather run the install yourself or need finer control (e.g. selecting which AI tools to install to), see [Official Cloud Service Access](./OfficialServerAccess.md) for the command-line and interactive options. ::: --- -## Restart and Test - -After saving the configuration, **completely quit and restart** your AI client. After restarting, the client will automatically connect to TRON MCP Server. +## Test It Out -Then enter your first query in the chat: +Enter your first query in the chat: ``` Check the TRX balance of TRON address TXyz... diff --git a/docs/McpServer-Skills/SKILLS/QuickStart.md b/docs/McpServer-Skills/SKILLS/QuickStart.md index 207209f9..35c51376 100644 --- a/docs/McpServer-Skills/SKILLS/QuickStart.md +++ b/docs/McpServer-Skills/SKILLS/QuickStart.md @@ -6,9 +6,100 @@ Get your AI up and running with BANK OF AI SKILLS in **2 steps** and less than * ## Step 1: Install the Skills -### Quick Auto-Install +We provide three installation methods. **Pick the one that matches your level of comfort** — the conversational install is the easiest; the interactive install gives you the most control. -Simply tell your AI Agent to execute the following command: +### Method 1: Conversational Install (Easiest) + +If you're already using a Skills-compatible AI Agent (OpenClaw, a Telegram bot, web chat, or any client that supports running shell commands), you can install everything by **simply chatting with the AI** — no need to open a terminal yourself, no manual file copying. + +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + +**How it works:** + +1. Open your AI Agent chat +2. Copy and paste the following prompt: + + ``` + Run npx skills add BofAI/skills to install all BANK OF AI skills. After installation, use bankofai-guide to guide subsequent operations. + Note: Please install to the skill directory corresponding to the current Agent. + ``` + +3. The AI handles the entire flow automatically: + - Pulls the `BofAI/skills` repository + - Detects your current Agent's skills directory (e.g. `~/.openclaw/workspace/.agents/skills/`) + - Installs all 11 BANK OF AI skills (`agent-wallet`, `sunswap-dex-trading`, `x402-payment`, `bankofai-guide`, etc.) + - Invokes the `bankofai-guide` skill to onboard you: + - **Step 1**: Install the Agent Wallet CLI + - **Step 2**: Check your wallet state + - **Step 3**: If no wallet exists, prompt you to set one up (reply **A** = quick setup in ~10 seconds, reply **B** = skip for now and create later) + +**Example dialog:** + +![Conversational install via AI Agent](./image/conversational-install.png) + +Or in plain text, the response looks like: + +``` +> Run npx skills add BofAI/skills to install all BANK OF AI skills... + +✅ 11 BANK OF AI skills installed! + +Now using bankofai-guide for onboarding: + +🎉 BANK OF AI Skills Installation Complete! + +11 skills installed to ~/.openclaw/workspace/.agents/skills/: + +| Skill | Purpose | +|------------------------------------|---------------------| +| agent-wallet | Wallet management | +| bankofai-guide | Onboarding guide | +| multi-sig-account-permissions | TRON multi-sig | +| recharge-skill | BANK OF AI recharge | +| sunperp-perpetual-futures-trading | SunPerp trading | +| sunswap-dex-trading | SunSwap DEX | +| trc20-token-toolkit | TRC20 token tools | +| tronscan-data-lookup | TronScan queries | +| trx-staking-sr-voting | TRX staking | +| usdd-just-protocol | USDD/JUST protocol | +| x402-payment | x402 payments | + +Step 1: Install Agent Wallet CLI +✅ Agent Wallet CLI installed! + +Step 2: Check Wallet State + +📋 Wallet Status Check +Status: ⚠️ No wallets configured + +A wallet is required for transfers and trading. + +Would you like to set up a wallet now? + +A. Yes - Create a wallet (Quick setup recommended, ~10 seconds) +B. No - Skip for now, you can create one later + +Please reply A or B. +``` + +**After the prompt:** + +- Reply `A` → the AI walks you through wallet creation (quick setup recommended, ~10 seconds) +- Reply `B` → skip for now; you can create one any time later + +That's it — once the guide finishes, all skills are ready to use. + +:::tip Why this is the recommended path for beginners +You don't need to know what `npx`, `npm`, or "global install" mean. The AI handles every step including selecting the right skills directory for your platform, installing the wallet CLI, and onboarding you to your first wallet. +::: + +--- + +### Method 2: Quick Auto-Install (Command Line) + +If you have Node.js installed and prefer the command line, simply tell your AI Agent to execute the following command: ```bash npx skills add https://github.com/BofAI/skills -y -g @@ -16,7 +107,9 @@ npx skills add https://github.com/BofAI/skills -y -g The `-y` flag skips all interactive prompts and installs all available Skills by default. The `-g` flag enables global installation (available across all projects). Once complete, it will show ✅ Global installation complete! along with the full list of installed Skills. -### Interactive Installation +--- + +### Method 3: Interactive Install (Most Control) If you want to choose which Skills to install and the installation scope, remove the `-y -g` flags: @@ -28,7 +121,7 @@ npx skills add https://github.com/BofAI/skills This guide demonstrates the installation process using terminal commands as an example. ::: -#### Installation Walkthrough +#### Interactive Installation Walkthrough The installer will guide you through a few steps — just follow along: diff --git a/docs/McpServer-Skills/SKILLS/image/conversational-install.png b/docs/McpServer-Skills/SKILLS/image/conversational-install.png new file mode 100644 index 0000000000000000000000000000000000000000..2d574a7cf230f047c870e3249e1ed926ea23f742 GIT binary patch literal 258137 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.O>pe5eX;nGmh012ioLQIF^|W@#Y0L1kSv-!?vc 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 Y2Naq9-Sb^al7O_A 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 literal 0 HcmV?d00001 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json b/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json index d8a44366..c06951f4 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json @@ -3,6 +3,10 @@ "message": "当前", "description": "The label for version current" }, + "sidebar.docsSidebar.category.BANK OF AI": { + "message": "BANK OF AI", + "description": "The label for category BANK OF AI in sidebar docsSidebar" + }, "sidebar.docsSidebar.category.x402 Payment Protocol": { "message": "x402支付协议", "description": "The label for category x402 Payment Protocol in sidebar docsSidebar" diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md index 638d8d9a..34e6e138 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # 快速开始 -三步,从零到在 OpenClaw 聊天框里唤醒你的 Agent-wallet。不用写代码,不花一分钱 Gas 费——复制粘贴就行。 +从零到在 AI 代理对话框里唤醒你的 Agent-wallet。我们提供了两种创建钱包的方式——**对话式创建最简单**,全程在 AI 对话框里完成;**命令行创建**则给你最精细的控制。 :::tip 想看 CLI 命令细节? 本页只带你跑通最短路径。免密配置、管理多个钱包、签名类型等进阶内容,请看 [CLI 命令行手册](./Developer/CLI-Reference.md)。 @@ -11,9 +11,82 @@ import TabItem from '@theme/TabItem'; --- -## 第一步:安装并初始化钱包 +## 方式一:对话式创建(最简单) -### 1.1 准备环境:安装 Node.js +如果你已经安装了 [BANK OF AI 全部技能](../McpServer-Skills/SKILLS/QuickStart.md)(包含 `agent-wallet` 和 `bankofai-guide`),那么创建钱包只需要在 AI 对话框里发一句话就行——AI 会自动帮你生成密码、创建钱包、保存配置,全程无需手动改文件。 + +:::tip 前置依赖 +- 已安装 BANK OF AI 技能库(参见 [SKILLS 快速开始](../McpServer-Skills/SKILLS/QuickStart.md)) +- 你的 AI Agent 支持 shell 命令执行(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等) +::: + +**操作步骤:** + +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: + + ``` + 创建 AgentWallet 钱包 + ``` + +3. AI 会自动完成以下流程: + - **检查当前钱包状态**——告诉你是否已有配置 + - **询问创建方式**——给出两个选项: + - **A. 快速设置(强烈推荐)**:全自动,约 10 秒完成;自动生成安全密码;钱包加密存储在本地 + - **B. 详细设置**:手动选择钱包类型;自定义密码;更多配置选项 +4. 回复 `A` 即可,AI 会自动跑完三个步骤: + - **步骤 1**:生成安全密码 + - **步骤 2**:创建钱包 + - **步骤 3**:获取钱包地址 + +**完成后你会看到类似下面的输出:** + +```text +🎉 Agent Wallet 创建成功! + +| 项目 | 详情 | +| -------- | -------------------------- | +| 钱包 ID | default_local_secure | +| 类型 | local_secure(安全加密) | +| 状态 | ✅ 已激活 | + +钱包地址 + +| 网络 | 地址 | +| ---- | --------------------------------------------------- | +| EVM | 0x1339Df9ac21E494b39Be47d012A3f33fb9188366 | +| TRON | TBisApdFay75x3FXNWiG8UE75KzhnFLceY | + +💡 EVM 地址支持所有 EVM 兼容链 (Ethereum、BSC、Base、Polygon、Arbitrum 等) + +🔐 钱包密码 + +$mU80m9fLYB5 + +⚠️ 重要提示: +• 此密码用于加密本地存储的私钥 +• 签名交易、解析地址等所有操作都需要此密码 +• 密码已自动保存到 ~/.agent-wallet/runtime_secrets.json +• 请务必备份密码!如果 runtime_secrets 文件被删除,密码是恢复钱包的唯一方式 +``` + +:::caution 备份你的钱包密码! +即使密码已经被自动保存到 `~/.agent-wallet/runtime_secrets.json`,**你仍然必须把它单独抄一份**到密码管理器(1Password、Bitwarden 等)。这个文件一旦被误删、磁盘损坏或重装系统,密码就找不回来了——你的钱包资产也将永久无法访问。 +::: + +:::tip 完成即可用,无需配置环境变量 +对话式创建会自动把密码保存到 `~/.agent-wallet/runtime_secrets.json`,AI Agent 后续调用钱包时会自动读取,**无需手动配置 `AGENT_WALLET_PASSWORD` 环境变量**。如果你想了解环境变量配置方式,请看下面的"方式二"。 +::: + +--- + +## 方式二:命令行手动创建(最精细控制) + +如果你想自己掌控每个步骤,或者你的环境不支持对话式安装,可以按下面的命令行流程手动完成。 + +### 第一步:安装并初始化钱包 + +#### 1.1 准备环境:安装 Node.js Agent-wallet 需要你的电脑里有 Node.js(这是一个运行环境,版本需 >= 20)。 @@ -42,7 +115,7 @@ nvm install 20 && nvm use 20 -### 1.2 安装 Agent-wallet +#### 1.2 安装 Agent-wallet ```bash npm install -g @bankofai/agent-wallet @@ -55,7 +128,7 @@ agent-wallet --help 看到帮助信息就说明安装好了。 -### 1.3 创建你的 Agent-wallet 钱包 +#### 1.3 创建你的 Agent-wallet 钱包 运行: ```bash @@ -95,11 +168,11 @@ Active wallet: default_secure --- -## 第二步:把密码"喂"给 AI 代理(极其重要!) +### 第二步:把密码"喂"给 AI 代理(极其重要!) -为了让 OpenClaw 能自动使用你的钱包,你必须把密码配置到它的运行环境中。请根据你的电脑系统,选择对应的标签页,**无脑复制执行**即可。 +为了让你的 AI 代理能自动使用你的钱包,你必须把密码配置到它的运行环境中。请根据你的电脑系统,选择对应的标签页,**无脑复制执行**即可。 -### 2.1 保存并使密码生效 +#### 2.1 保存并使密码生效 @@ -167,13 +240,13 @@ export AGENT_WALLET_PASSWORD="P@ss$w0rd!" # 实际值变为 "P@ss!" ``` ::: -### 2.2 重启你的 AI 代理后台服务 +#### 2.2 重启你的 AI 代理后台服务 :::danger 这一步很多人忘了,结果 AI 代理死活读不到密码! 因为你刚才新存了密码,而正在后台运行的 AI 助手还没刷新——它还是个"瞎子"!只有关掉它重新启动,它才能"看"到你的新密码。 ::: -不管你现在是否正开着 OpenClaw 的后台服务,请务必将它**关闭**,然后在刚才执行过命令的终端窗口里,**重新启动**它。 +不管你现在是否正开着 AI 代理的后台服务,请务必将它**关闭**,然后在刚才执行过命令的终端窗口里,**重新启动**它。 --- diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md new file mode 100644 index 00000000..94dee393 --- /dev/null +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md @@ -0,0 +1,189 @@ +# 简介 + +## 一句话理解 BANK OF AI + +**BANK OF AI 是一整套让 AI 真正在区块链上"动起来"的基础设施。** + +把你的 AI 助手想象成一位刚毕业的实习生:聪明、勤快、随叫随到,但他既没有银行账户,也不懂 Web3 的"潜规则",更没法替你为付费服务自动结账。BANK OF AI 做的事情,就是把这位实习生升级成一个**"持证上岗"的链上理财顾问**——给他配一套覆盖所有链上场景的"标准作业手册"(Skills),一个安全的钱包,还有让他能自动付费购买服务的协议底座。 + +你不需要懂代码,不需要写脚本,也不需要在多个 dApp 之间反复切换。你只需要把任务交给 AI,剩下的全都由 BANK OF AI 这一整套基础设施在后台自动完成。 + +--- + +## 一条指令是怎么到达链上的? + +整个流程其实非常简单——**你在 AI 客户端里说一句话,这句话会按下面这张图走完全程:** + +
+ +![BANK OF AI 架构图:用户指令如何到达链上](./image/bankofai-architecture.svg) + +
+ +**第 1 步:AI Agent 理解你的话** + +你在 AI 客户端(OpenClaw / Cursor / Claude Code / Codex ……)里发出一句自然语言指令——比如"帮我把 100 TRX 换成 USDT"。AI Agent 由 **LLM Service** 驱动(背后是 GPT、Claude、Gemini、DeepSeek、Kimi 等顶级大模型中的某一个),负责理解你的意图,并决定后续的执行路径。 + +**第 2 步:选一条路径去执行** + +理解完之后,AI Agent 面前有两条路: + +- **🌟 走 Skills(业务编排层)**——覆盖绝大多数使用场景 + Skills 是预先编写好的"链上操作 SOP 手册"——AI Agent 从 Skills 中选择对应的技能(例如 SunSwap Skill),按照标准流程执行:**查余额 → 检查授权 → 报价 → 滑点保护 → 等你确认 → 调用 MCP Server 执行**。复杂的多步操作被压缩为"一句话完成",不会漏步骤,也能规避常见陷阱。 + +- **⚙️ 跳过 Skills,AI Agent 直接调用 MCP Server** + MCP Server 提供的是标准化的原子能力工具(链上 + 链下),AI Agent 可以不经过 Skills 直接调用。注意这里绕过的是 Skills 编排层,**不是 AI Agent 本身**——AI Agent 仍然是所有调用的发起方。直连适合简单查询或开发者自定义流程;涉及复杂交易、授权、风控时,建议走 Skills。 + +**第 3 步:签名、协议、上链** + +无论走哪条路,最终的交易都会:**经过 Agent-Wallet 在你本机本地签名**(私钥永不出本机,统一支持 EVM + TRON 双生态)→ **提交到区块链**。 + +**第 4 步:执行结果返回到 AI Agent** + +链上执行完成后,**结果会沿着原路径反向回到 AI Agent**——区块链返回的交易哈希、状态、事件日志先被 MCP Server 解析成结构化数据,再回传给 AI Agent。**AI Agent 基于这些结构化数据生成自然语言摘要**,并附上交易哈希(方便链上核查),通过正常对话告诉用户。 + +例如: + +> ✅ 成功,用 100 TRX 换到了 350 USDT,手续费 1.2 TRX。 +> 交易哈希:`0xabc123...def456`([在 TronScan 查看](https://tronscan.org)) + +整个流程形成闭环:**一句指令进去,一句可读的结果出来**。你始终只与 AI Agent 对话,无需自己解析链上原始数据;同时交易哈希始终可见,便于追溯和验证。 + +**🔀 横向能力:x402 + 8004 协议** + +x402(付费协议)和 8004(身份 / 信誉协议)是**横向能力**(Cross-layer Capability),不局限于某一层——它们可以在以下任何环节介入: + +- 当 MCP Server 调用链下付费 API 时,x402 完成"先付款、后响应"结算 +- 当 AI Agent 或 Skills 需要验证对方 Agent 身份时,8004 提供链上征信报告 +- 当 Skills 编排中需要检查服务提供方信誉时,同样查询 8004 + +--- + +## 核心模块(按"最常接触 → 越来越底层"排序) + +### 🧠 1. AI Agent — 你的主要入口点 + +**这是你真正"对话"的对象。** 在 OpenClaw / Cursor / Claude Code 等任意 AI 客户端里,你说一句话,AI Agent 接收、理解、执行、回复——整套流程对你来说就是"和 AI 聊天"这么简单。 + +AI Agent 的智力由 **LLM Service** 提供,这是 BANK OF AI 的统一模型接入层:把 GPT、Claude、Gemini、DeepSeek、Kimi、GLM、MiniMax 等主流大模型聚合到一个 API 网关下——**一个 API Key 即可调用所有模型**,按用量计费,接入简单且成本可控。 + +不管你用 OpenClaw、Cursor、Claude Code 还是其他 AI 客户端,都能通过 LLM Service 直连这些顶级大脑。 + +👉 详见:[LLM Service 简介](../llmservice/introduction.md) + +--- + +### 🌟 2. Skills — AI Agent 的"链上操作 SOP 手册" + +**这是 AI Agent 完成绝大多数链上任务时遵循的标准流程。** 你感知不到 Skills 的存在,但你看到的"AI 干活又稳又快",背后正是 Skills 在编排。 + +Skills 是一套预先编写好的"AI 链上操作 SOP 手册",覆盖 TRON 生态常见的使用场景——SunSwap 兑换、SunPerp 合约、TronScan 查询、TRC20 转账、TRX 质押投票、USDD/JUST 协议、多签权限、x402 支付、BANK OF AI 充值……随着生态发展还会持续扩充。 + +举例说明:用户说"花 50 USDT 买点 TRX"。普通 AI 可能直接生成一段交易代码,由于未授权 SunSwap 而当场报错;装了 SunSwap Skill 的 AI 则会按 SOP 自动执行——**查余额 → 检查授权 → 报价 → 滑点保护 → 等你确认 → 执行交易**,每一步都不遗漏。 + +**你只需用自然语言告诉 AI Agent,Skills 会让它把复杂的多步链上操作压缩为"一句话完成"。** 背后涉及的 MCP 工具调用、钱包签名、合约参数计算,全部由 Skills 自动编排——你无需关心任何底层细节。 + +👉 详见:[Skills 简介](../McpServer-Skills/SKILLS/Intro.md) + +--- + +### 🔐 3. Agent-Wallet — AI 专属的本地加密保险箱 + +有了大脑和手册还不够,AI 需要花钱、需要转账,必须拥有一个**属于自己的钱包**。但如果把私钥以明文形式写在配置文件里,就等于把银行卡密码公开放置——任何运行在你电脑上的程序(恶意插件、AI 编程助手、自动化脚本)都有可能在极短时间内读取并窃取。 + +Agent-Wallet 是专为 AI 设计的本地加密钱包——你的私钥被加密锁在本地的隐藏目录中,AI 只持有一个"解锁密码"。**即便密码泄漏,没有加密文件依然无法解密;即便文件被窃取,没有密码也只是一段无法解读的密文。** 双重保险,安全等级比明文私钥高出数个数量级。 + +围绕这套加密机制,Agent-Wallet 提供以下核心能力: + +- **Local Secure(加密本地存储)**:私钥会被行业顶级的算法加密,存放在本机的隐藏目录(`~/.agent-wallet`),需主密码才能解锁 +- **Local Signing(本地离线签名)**:所有签名操作完全在你本机完成,**100% 离线**,私钥永远不离开你的电脑 +- **Multi-Wallet(多钱包管理)**:通过 CLI 或 SDK 可同时管理多个钱包,按需切换活跃钱包,互不干扰 +- **Multi-Chain(多链统一接口)**:同一套接口同时覆盖 **EVM 系**(Ethereum / BSC / Polygon / Base / Arbitrum 等)和 **TRON 系**(Mainnet / Nile / Shasta),学一次即可在多条链上通用 + +每当 Skills(或 AI Agent 直连 MCP 时)需要发一笔交易,Agent-Wallet 在本地完成签名后只把签好的结果传出去——**私钥本身永远不出本机**。 + +👉 详见:[Agent-Wallet 简介](../Agent-Wallet/Intro.md) + +--- + +### 💸 4. x402 — 让 AI 自己学会"付费上网"(横向能力) + +当你的 AI 需要去调用某个**收费的在线服务**(比如付费 API、付费数据集),传统做法是你提前注册账号、绑定信用卡、配置 API Key——这套流程对 AI 来说根本走不通。 + +x402 是基于 HTTP `402 Payment Required` 状态码的开放支付协议,让 AI 在收到"需要付费"的回应后**自动在链上签一笔小额支付,然后立刻拿到内容**。整个过程不用注册账号,不用人工介入,也不用提前充值。 + +x402 是一种**横向能力(Cross-layer Capability)**——它不属于某一固定层,哪里需要"先付款、后响应",哪里就可以触发 x402:MCP Server 调用付费 API 时可以触发,Skills 里的 x402-payment 技能可以显式触发,AI Agent 自己决定付费调用时也可以触发。 + +支持 TRON、BSC,未来还会扩展到更多链。 + +👉 详见:[x402 协议简介](../x402/index.md) + +--- + +### 🪪 5. 8004 — Agent 的链上身份证 + 信誉系统(横向能力) + +互联网世界里,AI Agent 越来越多,但你怎么知道某个 Agent 是真是假、值不值得信任?8004 协议是 Web3 上的"Agent 注册局"——任何 Agent 都可以在链上铸造一个身份 NFT,绑定自己的服务端点(Web、MCP、DID),并接受其他 Agent 和用户的反馈。 + +和 x402 一样,8004 也是**横向能力**,可以在整个流程的多个环节介入:AI Agent 调用陌生服务前查询对方信誉、Skills 编排中做前置风控校验、MCP Server 之间互相验证身份——都用的是这套协议。 + +**简单说,8004 是 Agent 的发现机制 + 信誉系统**——让你的 AI 在付费或授权之前,先去链上查一下对方的"征信报告"。 + +👉 详见:[8004 协议简介](../8004/general.md) + +--- + +### ⚙️ 6. MCP Server — 能力提供层 + +:::info 一般用户可以跳过这一节 +MCP Server 是 Skills 调用的底层能力接口,**大多数情况下你感受不到它的存在**——Skills 已在上层完成了封装。这一节主要写给希望深入了解架构的开发者。 +::: + +MCP Server(Model Context Protocol Server)基于 Anthropic 提出的 **Model Context Protocol** 标准,把各类外部能力封装成 AI 可调用的标准化工具。从协议设计上,MCP Server 既可以承载**链上能力**(链上查询、合约调用、转账签名等),也可以承载**链下能力**(价格源、数据查询、外部 API 等)——具体包含哪些工具完全取决于每个 MCP Server 的实现。 + +**Skills 与 MCP Server 的关系:** + +| 层 | 角色 | 负责什么 | +|:---|:---|:---| +| **Skills** | 业务编排层(Orchestration) | 把多步操作按 SOP 串起来、处理前置检查和风控 | +| **MCP Server** | 能力提供层(Capability Provider) | 提供原子能力工具给上层调用 | + +BANK OF AI 目前提供的三套核心 MCP Server **聚焦于链上原子操作**: + +- **TRON MCP Server**:TRON 链上原子操作能力(查询、转账、合约、质押、治理) +- **SUN MCP Server**:SunSwap V2/V3/V4 兑换与流动性能力 +- **BSC MCP Server**:BNB Chain 链上原子操作能力 + +未来我们会按需扩展更多 MCP Server,包括链下数据、第三方协议等场景。 + +高级开发者可以让 AI Agent 绕过 Skills 直接调用 MCP 工具,但这意味着你需要自行处理前置检查、授权、滑点、错误恢复等所有流程——而这些正是 Skills 已经为你自动化的环节。 + +👉 详见:[MCP Server 简介](../McpServer-Skills/MCP/Intro.md) + +--- + +### 🖥️ 7. SUN CLI — Developer Tool(给开发者的命令行入口) + +SUN CLI 不是一层独立的服务,而是 **SUN MCP Server 能力的命令行入口**(CLI interface to MCP Server)——专为开发者和自动化场景设计。 + +如果你习惯使用命令行操作 SunSwap,或者需要在 shell 脚本、CI/CD 流水线中调用 SUN MCP 的能力,SUN CLI 把查价、报价、兑换、加流动性、管理头寸等操作封装为一行命令即可完成,输出可直接 pipe 到其他工具。 + +👉 详见:[SUN CLI 简介](../McpServer-Skills/Tools/SUNCli/Intro.md) + +--- + +## 我适合用 BANK OF AI 吗? + +- **Web3 新手:** 完全没问题。在 AI 客户端里说一句"agent 一键安装",剩下的全部自动完成;之后用自然语言对话即可,无需了解底层细节。 +- **Web3 老手:** 可以告别"切钱包 + 复制地址 + 算滑点 + 等区块"的繁琐流程,让 AI 接管所有重复性工作,自己专注策略。 +- **AI Agent 开发者:** 整套 BANK OF AI 提供完整的 SDK、CLI、API 和 MCP 标准接口——你可以基于它构建自己的 AI Agent,让 Agent 拥有完整的链上能力和自动支付能力。 +- **API 服务提供方:** x402 协议让你的付费 API 可以被 AI Agent 自动调用并按次计费,不需要传统的账号注册、信用卡绑定流程,特别适合微支付、AI Agent 自动调用付费服务、以及 Agent 之间自动结算等场景。 + +--- + +## 准备好了吗? + +整套 BANK OF AI 的安装和配置已经被压缩到**一句话**——你只需要对你的 AI 助手说:"**agent 一键安装**"。 + +剩下的会全部自动完成:安装 Skills、配置钱包、同步到 9 个 AI 客户端,全程不到 1 分钟。 + +👉 **[前往快速开始,1 分钟激活你的 BANK OF AI](./QuickStart.md)** diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md new file mode 100644 index 00000000..cd279c84 --- /dev/null +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md @@ -0,0 +1,193 @@ +# 快速开始 + +只需 **1 句话**,不到 **1 分钟**,整套 BANK OF AI 自动安装到你的电脑上——Agent-Wallet、MCP Server、Skills 全部就位,9 个主流 AI 客户端同步配置完成。 + +:::tip 你不需要做的事情 +- ❌ 无需手动 `npm install` 多个依赖 +- ❌ 无需分别安装 Agent-Wallet / Skills / MCP Server +- ❌ 无需逐个配置 Cursor / Claude Code / VS Code +- ❌ 无需了解任何技术细节 +::: + +--- + +## 唯一的一步:对你的 AI 说一句话 + +打开你正在用的 AI 客户端(OpenClaw / Claude Code / Cursor / Codex 等任意一个),把下面这句话发给它: + +``` +agent 一键安装 +``` + +按下回车,**你的操作到此为止。** + +接下来 AI 会自动接管整个安装流程,全程无需你介入——你只需要观察整个过程逐步完成。 + +安装完成后,AI 会输出一份"已安装组件"清单,确认全部就位: + +``` +🎉 Agent 一键安装完成! +✅ 已安装组件 +``` + +| 组件 | 状态 | 位置 | +| :--- | :--- | :--- | +| BankOfAI Skills | ✅ 已安装 | `~/.agents/skills/` | +| Agent Wallet CLI | ✅ 已安装 | 全局 npm | +| TRON MCP Server | ✅ 已安装 | 9 个 Agents | +| SUN MCP Server | ✅ 已安装 | 9 个 Agents | + +--- + +## AI 在背后完成了什么? + +为了让你对整个过程有清晰的了解,下面是 AI 在这 1 分钟内替你完成的所有工作: + +### 第 1 步:安装 BANK OF AI Skills + +``` +✅ BankOfAI Skills 安装成功! +``` + +| Skill | 功能 | +| :--- | :--- | +| `agent-wallet` | 钱包管理 | +| `bankofai-guide` | 引导指南 | +| `multi-sig-account-permissions` | TRON 多签 | +| `recharge-skill` | BANK OF AI 充值 | +| `sunperp-perpetual-futures-trading` | SunPerp 期货 | +| `sunswap-dex-trading` | SunSwap DEX | +| `trc20-token-toolkit` | TRC20 工具 | +| `tronscan-data-lookup` | TronScan 查询 | +| `trx-staking-sr-voting` | TRX 质押投票 | +| `usdd-just-protocol` | USDD/JUST 协议 | +| `x402-payment` | x402 支付 | + +### 第 2 步:安装 Agent Wallet CLI 和 MCP Servers + +``` +现在安装 Agent Wallet CLI 和 MCP Servers... +``` + +Agent Wallet CLI 全局安装到 npm,TRON MCP Server 和 SUN MCP Server 接入到所有可用的 AI 客户端。 + +### 第 3 步:自动创建本地加密钱包 + +``` +🧰 钱包信息 +``` + +| 项目 | 详情 | +| :--- | :--- | +| 钱包 ID | `default_local_secure` | +| 类型 | `local_secure` | +| 状态 | ✅ 已激活 | + +| 网络 | 地址 | +| :--- | :--- | +| EVM | `0x1339...8366` | +| TRON | `TBisAp...FLceY` | + +紧接着,AI 会在终端**仅这一次**展示你的专属**主密码**: + +``` +🔒 钱包密码 +<此处会显示你的专属主密码> +⚠️ 密码已自动保存到 ~/.agent-wallet/runtime_secrets.json,请妥善备份! +``` + +:::caution 主密码非常重要,请立即妥善备份 +主密码是解锁你私钥的**唯一凭证**。安装器会做两件事: +1. **自动保存到本地文件** `~/.agent-wallet/runtime_secrets.json`,方便后续工具直接读取 +2. **在终端明文展示一次**——你需要立即把它复制下来 + +强烈建议你**同时手动保存到密码管理器**(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将**永久无法解锁**(没有备份找回机制,没有客服,没有后门)。 + +⚠️ **切勿**把这个密码发到聊天工具、邮件、截图或公开仓库中。 +::: + +### 第 4 步:配置 MCP Servers + +``` +🔧 MCP Servers +``` + +| Server | URL | 状态 | +| :--- | :--- | :--- | +| TRON MCP | `https://tron-mcp-server.bankofai.io/mcp` | ✅ | +| SUN MCP | `https://sun-mcp-server.bankofai.io/mcp` | ✅ | + +:::info 默认接入官方云服务 +上面两个 URL 是 BANK OF AI 提供的**官方云服务端点**,开箱即用,无需自行部署。如果你需要本地私有化部署(例如对数据隔离有更高要求),请参考 [TRON MCP 本地私有化部署](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) 和 [SUN MCP 本地私有化部署](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md)。 +::: + +### 第 5 步:批量同步到所有 AI 客户端 + +**已配置到 9 个 Agents:** Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot CLI、MCPorter、OpenCode、VS Code、Zed + +只要其中任何一个已安装在你的电脑上,都会被自动完成配置——打开即可使用,无需再单独设置。 + +--- + +## 安装完成后,你可以做什么? + +所有组件就位后,你的 AI 立刻获得了以下能力——直接用自然语言描述需求即可: + +### 🔍 链上数据查询(完全免费) + +> "查一下我钱包地址的 TRX 和 USDT 余额。" + +> "查看这笔交易 abc123... 的执行结果。" + +> "当前 TRON 全网 TPS 是多少?" + +### 💸 TRC20 代币转账 + +> "帮我转 10 USDT 到 TRecipientAddress... 这个地址。" + +### 🔁 SunSwap 兑换 + +> "在 Nile 测试网上把 100 TRX 换成 USDT,滑点 1%。" + +### 📈 SunPerp 期货交易 + +> "用 5 倍杠杆开一张 BTC-USDT 的多单,亏损 5% 自动止损。" + +### 🗳️ TRX 质押投票 + +> "把我的 1000 TRX 质押给超级代表 SR XXX。" + +### 💰 给 BANK OF AI 充值 + +> "查看我的 BANK OF AI 账户余额,并充值 5 USDT。" + +--- + +## 验证安装 + +打开 AI 对话框,发送一句: + +``` +查一下我当前安装了哪些 BANK OF AI Skills? +``` + +如果 AI 能列出所有技能包的名称——**恭喜,所有组件已经就位,可以开始使用。** + +--- + +## 新手三条铁律 + +:::warning 链上交易不可逆,请牢记以下三条 +1. **务必先在测试网验证。** 在 Nile 测试网上先执行 1-2 笔测试交易,确认 AI 行为完全符合预期后,再切换到主网。 +2. **每一笔花费操作前,请仔细核对 AI 给出的账单。** +3. **从小额开始。** 即便是已经测试过的操作,首次在主网执行时也建议使用小额资金验证。 +::: + +--- + +## 下一步 + +| 我想… | 去这里 | +| :--- | :--- | +| 了解整体架构 | [BANK OF AI 简介](./Intro.md) | +| 深入了解某个组件 | [Agent-Wallet](../Agent-Wallet/Intro.md) · [MCP Server](../McpServer-Skills/MCP/Intro.md) · [Skills](../McpServer-Skills/SKILLS/Intro.md) · [x402](../x402/index.md) · [8004](../8004/general.md) · [LLM Service](../llmservice/introduction.md) | diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg new file mode 100644 index 00000000..5a00a42f --- /dev/null +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BANK OF AI — 用户指令如何到达链上 + + + + 📡 Protocol + 横向能力 + Cross-layer + + + x402 + Pay-before-response + + + 8004 + Agent ID + Reputation + + 可在多层介入 + · 调用付费服务 + · 身份认证 + · 信誉验证 + + + + + + + 执行结果 → AI Agent · Result Feedback + + + + + + 👤 You · 你说一句话 + "帮我把 100 TRX 换成 USDT" + + + + ↑ AI 回复 + ↓ 你的指令 + + + + 🧠 AI Agent + 由 LLM Service 驱动 · GPT / Claude / Gemini / DeepSeek / Kimi ... + 理解你的意图,决定走哪条路径执行 + + + + + + + 跳过 Skills + Bypass Skills + + + + 🌟 Skills + 业务编排层 · Business Orchestration Layer + SunSwap · SunPerp · TronScan · TRC20 · Multi-Sig · Staking · x402 · ... + 自动编排:查余额 → 检查授权 → 报价 → 滑点保护 → 等确认 → 调用 MCP 执行 + + + + + + + ⚙️ MCP Server · 能力提供层 · Capability Provider + 将链上与链下能力封装为 AI 可调用的标准化工具 + + + TRON MCP Server + 链上查询 + 交易 + + + SUN MCP Server + SunSwap V2/V3/V4 + + + BSC MCP Server + BNB Chain + + + + + + + 🔐 Agent-Wallet · Local Secure Wallet · 本地加密钱包 + 私钥永不出本机 · 交易在本地签名 + + + Local Secure + 加密本地存储 + + + Local Signing + 本地离线签名 + + + Multi-Wallet + 多钱包管理 + + + Multi-Chain + EVM + TRON + + + + + + + ⛓️ Blockchain · TRON · BSC · ... + + + 图例 / Legend: + + 标准路径(Agent → Skills → MCP) + + 跳过 Skills 直连 MCP + + 执行结果反馈 + + Protocol 横向介入 + diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md index 1aa5514b..97778db6 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/OfficialServerAccess.md @@ -32,9 +32,41 @@ ## 如何接入官方云服务? -### 一键自动安装 +我们提供了三种安装方式。**根据你的使用习惯选一种即可**——对话式安装最简单;交互式安装控制最精细。 -只需告诉你的 AI Agent 执行以下命令: +### 方式一:对话式安装(最简单) + +如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),你可以**直接在对话框里让 AI 完成安装**——不用自己打开终端,不用手动复制文件。 + +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + +**操作步骤:** + +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: + + ``` + 运行 npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y 安装 SUN MCP Server。 + 注意:请安装到当前 Agent 对应的 MCP 配置中。 + ``` + +3. AI 会自动完成以下流程(无需人工干预): + - 识别远程 MCP 服务地址 + - 自动检测当前正在使用的 AI 客户端 + - 把 `sun-mcp-server` 配置写入对应的 MCP 配置文件(无需手动改 JSON) + - 完成后给出 ✅ 确认信息 + +AI 给出 ✅ 确认后,SUN MCP Server 就已就位,可以直接开始提问。 + +:::tip 这是新手最推荐的路径 +你不需要懂 `npx`、`npm` 是什么,也不用关心 MCP 配置文件在哪里。AI 会处理每一步,包括为你的客户端选对配置文件路径。 +::: + +### 方式二:一键自动安装(命令行) + +如果你已经装好 Node.js 并习惯使用命令行,直接在终端运行以下命令: ```bash npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y @@ -42,9 +74,9 @@ npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y `-y` 参数会跳过所有交互选择,自动安装到你电脑上检测到的所有 AI 工具中。安装完成后会显示 ✅ 安装完成!以及安装到了哪些 Agent。 -安装完成后,重启 AI Agent,即可使用 SUN MCP Server 开始与 SunSwap 交互。 +安装完成后,即可使用 SUN MCP Server 开始与 SunSwap 交互。 -### 交互式安装 +### 方式三:交互式安装(最精细控制) 如果你想手动选择安装到哪些 AI 工具,去掉 `-y` 参数即可: @@ -115,7 +147,7 @@ npx add-mcp https://sun-mcp-server.bankofai.io/mcp └ Done! ``` -安装完成后,重启 AI Agent,即可使用 SUN MCP Server 开始与 SunSwap 交互。 +安装完成后,即可使用 SUN MCP Server 开始与 SunSwap 交互。 --- @@ -132,7 +164,6 @@ npx add-mcp https://sun-mcp-server.bankofai.io/mcp 如遇到问题,请先确认: 1. Node.js 版本 >= 20.0.0(运行 `node --version` 检查) 2. 网络能正常访问 `sun-mcp-server.bankofai.io` -3. AI 客户端已完全退出重启(不是刷新) --- diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md index f79aed61..eaa80074 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md @@ -17,25 +17,39 @@ ## 安装 -只需告诉你的 AI Agent 执行以下命令: +最简单的安装方式是**直接在 AI Agent 对话框里让 AI 完成**——不用自己打开终端,不用手动复制文件。如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),这一步即可搞定。 -```bash -npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y -``` +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + +**操作步骤:** + +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: + + ``` + 运行 npx add-mcp https://sun-mcp-server.bankofai.io/mcp -y 安装 SUN MCP Server。 + 注意:请安装到当前 Agent 对应的 MCP 配置中。 + ``` -`-y` 参数会跳过所有交互选择,自动安装到你电脑上检测到的所有 AI 工具中。安装完成后会显示 ✅ 安装完成!以及安装到了哪些 Agent。 +3. AI 会自动完成以下流程(无需人工干预): + - 识别远程 MCP 服务地址 + - 自动检测当前正在使用的 AI 客户端 + - 把 `sun-mcp-server` 配置写入对应的 MCP 配置文件(无需手动改 JSON) + - 完成后给出 ✅ 确认信息 -命令完成后,重启你的 MCP 客户端。 +AI 给出 ✅ 确认后,SUN MCP Server 就已就位,可以直接开始提问。 -:::tip 想手动选择安装到哪些 AI 工具? -去掉 `-y` 参数即可进入交互式安装,详见[官方云服务接入](./OfficialServerAccess.md)。 +:::tip 想用命令行? +如果你更习惯自己跑命令或需要更精细的控制(比如手动选择要安装到哪些 AI 工具),请参阅[官方云服务接入](./OfficialServerAccess.md)里的命令行和交互式安装方式。 ::: --- -## 重启并测试 +## 试用一下 -完成配置后,重启你的 MCP 客户端。然后在对话中尝试以下查询: +在对话中尝试以下查询: ``` 查一下 SunSwap 上 USDT 和 TRX 的当前价格 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md index 8b3d8a51..335d85ec 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/OfficialServerAccess.md @@ -45,9 +45,41 @@ ## 如何接入官方云服务? -### 一键自动安装 +我们提供了三种安装方式。**根据你的使用习惯选一种即可**——对话式安装最简单;交互式安装控制最精细。 -只需告诉你的 AI Agent 执行以下命令: +### 方式一:对话式安装(最简单) + +如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),你可以**直接在对话框里让 AI 完成安装**——不用自己打开终端,不用手动复制文件。 + +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + +**操作步骤:** + +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: + + ``` + 运行 npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y 安装 TRON MCP Server。 + 注意:请安装到当前 Agent 对应的 MCP 配置中。 + ``` + +3. AI 会自动完成以下流程(无需人工干预): + - 识别远程 MCP 服务地址 + - 自动检测当前正在使用的 AI 客户端 + - 把 `tron-mcp-server` 配置写入对应的 MCP 配置文件(无需手动改 JSON) + - 完成后给出 ✅ 确认信息 + +AI 给出 ✅ 确认后,TRON MCP Server 就已就位,可以直接开始提问。 + +:::tip 这是新手最推荐的路径 +你不需要懂 `npx`、`npm` 是什么,也不用关心 MCP 配置文件在哪里。AI 会处理每一步,包括为你的客户端选对配置文件路径。 +::: + +### 方式二:一键自动安装(命令行) + +如果你已经装好 Node.js 并习惯使用命令行,直接在终端运行以下命令: ```bash npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y @@ -55,9 +87,9 @@ npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y `-y` 参数会跳过所有交互选择,自动安装到你电脑上检测到的所有 AI 工具中。安装完成后会显示 ✅ 安装完成!以及安装到了哪些 Agent。 -安装完成后,重启 AI Agent,即可使用 TRON MCP Server 开始与 TRON 区块链交互。 +安装完成后,即可使用 TRON MCP Server 开始与 TRON 区块链交互。 -### 交互式安装 +### 方式三:交互式安装(最精细控制) 如果你想手动选择安装到哪些 AI 工具,去掉 `-y` 参数即可: @@ -128,7 +160,7 @@ npx add-mcp https://tron-mcp-server.bankofai.io/mcp └ Done! ``` -安装完成后,重启 AI Agent,即可使用 TRON MCP Server 开始与 TRON 区块链交互。 +安装完成后,即可使用 TRON MCP Server 开始与 TRON 区块链交互。 --- diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md index 88c67c1d..81265574 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md @@ -2,7 +2,7 @@ 这个页面的目标很简单:**让你在 1 分钟内完成接入,发起第一次区块链查询。** -我们会使用[官方云服务](./OfficialServerAccess.md)来完成这次快速体验。云服务是只读的,不需要安装任何依赖、不需要配置钱包、不需要申请 API Key——你只需要把一段配置复制到 AI 客户端,重启,然后开始提问。 +我们会使用[官方云服务](./OfficialServerAccess.md)来完成这次快速体验。云服务是只读的,不需要安装任何依赖、不需要配置钱包、不需要申请 API Key——你只需要把一段配置复制到 AI 客户端,就能开始提问。 --- @@ -23,27 +23,39 @@ node --version # 应输出 v20.x.x 或更高 ## 安装 -只需告诉你的 AI Agent 执行以下命令: +最简单的安装方式是**直接在 AI Agent 对话框里让 AI 完成**——不用自己打开终端,不用手动复制文件。如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),这一步即可搞定。 -```bash -npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y -``` +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + +**操作步骤:** -`-y` 参数会跳过所有交互选择,自动安装到你电脑上检测到的所有 AI 工具中。安装完成后会显示 ✅ 安装完成!以及安装到了哪些 Agent。 +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: -命令完成后,重启你的 MCP 客户端。 + ``` + 运行 npx add-mcp https://tron-mcp-server.bankofai.io/mcp -y 安装 TRON MCP Server。 + 注意:请安装到当前 Agent 对应的 MCP 配置中。 + ``` -:::tip 想手动选择安装到哪些 AI 工具? -去掉 `-y` 参数即可进入交互式安装,详见[官方云服务接入](./OfficialServerAccess.md)。 +3. AI 会自动完成以下流程(无需人工干预): + - 识别远程 MCP 服务地址 + - 自动检测当前正在使用的 AI 客户端 + - 把 `tron-mcp-server` 配置写入对应的 MCP 配置文件(无需手动改 JSON) + - 完成后给出 ✅ 确认信息 + +AI 给出 ✅ 确认后,TRON MCP Server 就已就位,可以直接开始提问。 + +:::tip 想用命令行? +如果你更习惯自己跑命令或需要更精细的控制(比如手动选择要安装到哪些 AI 工具),请参阅[官方云服务接入](./OfficialServerAccess.md)里的命令行和交互式安装方式。 ::: --- -## 重启并测试 - -保存配置后,**完全退出并重新启动** AI 客户端。重启后客户端会自动连接 TRON MCP Server。 +## 试用一下 -然后在对话框中输入你的第一条查询: +在对话框中输入你的第一条查询: ``` 查一下 TRON 地址 TXyz... 的 TRX 余额 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md index 5309c762..814898d8 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md @@ -6,9 +6,102 @@ ## 第 1 步:安装技能库 -### 一键自动安装 +我们提供了三种安装方式。**根据你的使用习惯选一种即可**——对话式安装最简单;交互式安装控制最精细。 -只需告诉你的 AI Agent 执行以下命令: +### 方式一:对话式安装(最简单) + +如果你已经在使用支持 Skills 的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面,或任何能执行 shell 命令的客户端),你可以**直接在对话框里让 AI 完成安装**——不用自己打开终端,不用手动复制文件。 + +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + +**操作步骤:** + +1. 打开你的 AI Agent 对话框 +2. 复制下面这段 prompt 发送给 AI: + + ``` + 运行 npx skills add BofAI/skills 安装 BANK OF AI 全部技能,安装完成后使用 bankofai-guide 进行引导后续操作。 + 注意:请安装到当前 Agent 对应的 skill 目录 + ``` + +3. AI 会自动完成以下流程(无需人工干预): + - 拉取 `BofAI/skills` 仓库 + - 自动检测当前 Agent 对应的 skills 目录(如 `~/.openclaw/workspace/.agents/skills/`) + - 安装全部 11 个 BANK OF AI 技能(`agent-wallet`、`sunswap-dex-trading`、`x402-payment`、`bankofai-guide` 等) + - 调用 `bankofai-guide` 技能进行引导: + - **步骤 1**:安装 Agent Wallet CLI + - **步骤 2**:检查钱包状态 + - **步骤 3**:如果还没有钱包,引导你立即创建(选项 **A** = 自动快速设置,约 10 秒;选项 **B** = 稍后设置) + +**示例对话:** + +![通过 AI Agent 对话式安装](./image/conversational-install.png) + +或者纯文本展示,AI 的回复大致如下: + +``` +> 运行 npx skills add BofAI/skills 安装 BANK OF AI 全部技能... + +✅ 11 个 BANK OF AI 技能安装完成! + +🎉 BANK OF AI 技能安装完成! + +已成功安装 11 个技能到 ~/.openclaw/workspace/.agents/skills/: + +| 技能 | 用途 | +|-----------------------------------|-------------------| +| agent-wallet | 通用钱包管理 | +| bankofai-guide | 本引导技能 | +| multi-sig-account-permissions | TRON 多签权限 | +| recharge-skill | BANK OF AI 充值 | +| sunperp-perpetual-futures-trading | SunPerp 永续合约 | +| sunswap-dex-trading | SunSwap DEX 交易 | +| trc20-token-toolkit | TRC20 代币工具 | +| tronscan-data-lookup | TronScan 数据查询 | +| trx-staking-sr-voting | TRX 质押投票 | +| usdd-just-protocol | USDD/JUST 协议 | +| x402-payment | x402 支付 | + +步骤 1: 安装 Agent Wallet CLI +✅ Agent Wallet CLI 安装完成! + +步骤 2: 检查钱包状态 + +📋 钱包状态检查 +当前状态:⚠️ 没有配置钱包 + +要进行转账和交易,你需要创建一个 Agent Wallet。 + +请选择: + +A. 立即创建钱包(推荐) + • 快速设置:全自动,约 10 秒完成 + • 详细设置:自定义配置 + +B. 稍后设置 + • 你可以随时回来创建钱包 + +请回复 A 或 B。 +``` + +**完成后选择:** + +- 输入 `A` → AI 引导你完成钱包创建(自动或自定义) +- 输入 `B` → 跳过钱包配置,需要时再回来创建 + +引导走完后,所有技能即可正常使用。 + +:::tip 这是新手最推荐的路径 +你不需要懂 `npx`、`npm` 是什么,也不用关心"全局安装"是什么意思。AI 会处理每一步,包括为你的平台选对 skills 目录、安装钱包 CLI、引导你完成首个钱包配置。 +::: + +--- + +### 方式二:一键自动安装(命令行) + +如果你已经装好 Node.js 并习惯使用命令行,告诉你的 AI Agent 执行以下命令: ```bash npx skills add https://github.com/BofAI/skills -y -g @@ -16,7 +109,9 @@ npx skills add https://github.com/BofAI/skills -y -g `-y` 参数会跳过所有交互选择,默认安装所有 Skills;`-g` 参数表示全局安装(所有项目都可使用)。安装完成后会显示 ✅ 全局安装完成!以及安装的所有 Skills 列表。 -### 交互式安装 +--- + +### 方式三:交互式安装(最精细控制) 如果你想手动选择安装哪些 Skills 以及安装范围,去掉 `-y -g` 参数即可: @@ -28,7 +123,7 @@ npx skills add https://github.com/BofAI/skills 本文档以在终端中运行命令为例展示安装过程。 ::: -#### 安装过程详解 +#### 交互式安装步骤详解 安装器会引导你完成以下几步,照着做就行: diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/image/conversational-install.png b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/image/conversational-install.png new file mode 100644 index 0000000000000000000000000000000000000000..11732377e15c2ad5ac2d3f9341989d7ad7382cdf GIT binary patch literal 319168 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�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 literal 0 HcmV?d00001 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/sidebars.js b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/sidebars.js index 57c95301..1106c181 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/sidebars.js +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/sidebars.js @@ -1,6 +1,15 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { docsSidebar: [ + { + type: 'category', + label: 'BANK OF AI', + collapsed: false, + items: [ + 'BANK-OF-AI/Intro', + 'BANK-OF-AI/QuickStart', + ], + }, { type: 'category', label: 'x402 Payment Protocol', diff --git a/package.json b/package.json index da1a7c21..17f3a9ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@x402-tron/docs", - "version": "1.2.8", + "version": "1.2.9", "description": "x402-tron documentation", "license": "MIT", "scripts": { diff --git a/sidebars.js b/sidebars.js index ccb7e0f8..2642fa34 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1,6 +1,15 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { docsSidebar: [ + { + type: 'category', + label: 'BANK OF AI', + collapsed: false, + items: [ + 'BANK-OF-AI/Intro', + 'BANK-OF-AI/QuickStart', + ], + }, { type: 'category', label: 'x402 Payment Protocol', From 86022bebdea28a400e4e1fc320fd1e0e49cf513e Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Thu, 16 Apr 2026 17:07:40 +0800 Subject: [PATCH 2/8] add bankofai --- docs/BANK-OF-AI/Intro.md | 265 +++++++++------ docs/BANK-OF-AI/QuickStart.md | 303 +++++++++++------- .../image/bankofai-architecture.svg | 148 +++------ .../current/BANK-OF-AI/Intro.md | 265 +++++++++------ .../current/BANK-OF-AI/QuickStart.md | 291 +++++++++++------ .../image/bankofai-architecture.svg | 150 +++------ 6 files changed, 815 insertions(+), 607 deletions(-) diff --git a/docs/BANK-OF-AI/Intro.md b/docs/BANK-OF-AI/Intro.md index 175ac041..5b58c8aa 100644 --- a/docs/BANK-OF-AI/Intro.md +++ b/docs/BANK-OF-AI/Intro.md @@ -2,188 +2,271 @@ ## BANK OF AI in One Sentence -**BANK OF AI is a complete infrastructure stack that lets your AI actually *do things* on the blockchain.** +**BANK OF AI is the infrastructure that gives AI real Web3 capabilities.** -Think of your AI assistant as a brilliant new intern: smart, tireless, always available — but with no bank account, no understanding of Web3's "unwritten rules," and no way to pay for online services on its own. BANK OF AI's job is to upgrade that intern into a **licensed on-chain operator** — equipped with a complete playbook covering every on-chain scenario (Skills), a secure wallet, and a protocol layer that lets it autonomously buy services as needed. +Core positioning: **Your Web3 Gateway to AI.** -You don't need to write code, run scripts, or hop between dApps connecting wallets. You just give your AI the task — BANK OF AI handles everything underneath. +BANK OF AI gives your AI four core capabilities: + +- 💸 **Payment** — pay in crypto (x402) +- 🪪 **Identity** — a verifiable on-chain identity and reputation (8004) +- ⚙️ **Action** — the full set of on-chain atomic capabilities, plus orchestration (Skills + MCP Server + Agent Wallet) +- 🧠 **Cognition** — one unified entry point to all leading LLMs (LLM Service) + +You don't need to write code, switch wallets, or hop between multiple dApps — just hand the task to your AI, and BANK OF AI's full stack does the rest in the background. --- -## How Does a Single Sentence Reach the Blockchain? +## The BANK OF AI Product Matrix -The flow is simpler than it looks — **you type one sentence into your AI client, and the diagram below is everything that happens next:** +BANK OF AI is made up of **4 layers**: -

+- **🧠 Model Layer | Top AI in One Account** — LLM Service (BANKOFAI APP + API Gateway), a single entry point to every leading LLM +- **🛤️ Protocol Layer | Payment. Verify. Build.** — x402 Payment · 8004 Protocol, two open protocols connecting AI and Web3 +- **🔧 Tool Layer | Everything Your Agent Needs** — Agent Wallet · Skills · MCP Server, the full toolkit giving your AI on-chain signing, operational SOPs, and protocol wrappers +- **🌐 Ecosystem Layer | AI Agent Ecosystem** — Third-party MCP Servers and Skills across TRON / Ethereum / BNB Chain, all plugged into the same protocols -![BANK OF AI Architecture: How a user command reaches the blockchain](./image/bankofai-architecture.svg) +Each layer is usable on its own, or composable with the others — pick what you need. -
+--- -**Step 1: The AI Agent understands what you said** +## 🧠 Model Layer | Top AI in One Account -You type a plain-language instruction into your AI client (OpenClaw / Cursor / Claude Code / Codex / ...) — something like *"swap 100 TRX for USDT."* The AI Agent is powered by **LLM Service** (one of GPT, Claude, Gemini, DeepSeek, Kimi, etc.), parses your intent, then decides which execution path to take. +### LLM Service — A Unified Entry Point to Every Leading LLM -**Step 2: Choose one of two execution paths** +**LLM Service is BANK OF AI's model-access layer.** It aggregates GPT, Claude, Gemini, DeepSeek, Kimi, GLM, MiniMax, and other leading models under a single account, exposed two ways: -Once the intent is clear, the AI Agent has two options: +- **BANKOFAI APP** (the official app, corresponding to the `BANKOFAI APP →` button in the top-right of the website): an AI Chat app for end users — open [chat.bankofai.io/chat](https://chat.bankofai.io/chat) and use it directly, switch models on demand +- **API Gateway** (one API key for every model): a unified API for developers, billed by usage, OpenAI-compatible, usable from any OpenAI-compatible third-party AI client -- **🌟 Via Skills (Business Orchestration Layer)** — covers the vast majority of use cases - Skills are pre-written "on-chain operation SOPs." The AI Agent picks the matching skill (e.g., the SunSwap Skill) and follows its standard flow: **check balance → verify approval → fetch quote → apply slippage protection → wait for your confirmation → call MCP Server to execute.** Complex multi-step operations collapse into "one sentence does it all" — no missed steps, no hidden pitfalls. +**Key points**: fund with crypto (TRON / BNB Chain), pay-as-you-go, no card linking, no subscription. -- **⚙️ Bypass Skills, call MCP Server directly** - MCP Server provides standardized atomic-capability tools (both on-chain and off-chain). The AI Agent can call them without going through Skills. Note this path bypasses the Skills **orchestration layer** — **not the AI Agent itself**. The AI Agent is always the one initiating calls. Direct-call is fine for simple queries or custom developer flows; for complex transactions, approvals, or risk-sensitive operations, Skills are strongly recommended. +👉 Learn more: [LLM Service Introduction](../llmservice/introduction.md) -**Step 3: Sign, settle, commit to chain** +--- -Whichever path is taken, the resulting transaction: **is signed locally by Agent-Wallet on your machine** (private key never leaves your computer; unified support for both EVM and TRON ecosystems) → **submitted to the blockchain**. +## 🛤️ Protocol Layer | Payment. Verify. Build. -**Step 4: The result flows back to the AI Agent** +With the model layer in place, AI is still just a "brain." To let it spend on-chain and be verified, you first need two open protocols: **x402 defines how payments get made**, and **8004 defines who each Agent is.** -Once on-chain execution completes, **the result travels back up the same path to the AI Agent** — the blockchain returns a tx hash, status, and event logs; MCP Server parses them into structured data and passes them back to the AI Agent. **The AI Agent then generates a natural-language summary** from that structured data and attaches the transaction hash (for on-chain verification), all delivered through normal chat. +### 01 · x402 Payment — One Line of Code for On-chain Payments -For example: +**An open payment protocol built on an extension of HTTP `402 Payment Required`.** When AI calls a paid service, it automatically signs a small on-chain payment and instantly receives the content — no account, no credit card, no pre-funding. -> ✅ Done — swapped 100 TRX for 350 USDT, fee 1.2 TRX. -> Tx hash: `0xabc123...def456` ([view on TronScan](https://tronscan.org)) +- **Currently supports**: TRON, BNB Chain (more chains rolling out) +- **SDK components**: Client SDK · Server SDK · Facilitator -The loop closes: **one sentence out, one readable sentence back**. You only ever talk to the AI Agent — no need to parse raw chain data yourself; meanwhile the tx hash is always visible for traceability and verification. +**Typical scenarios**: -**🔀 Cross-layer Capability: x402 + 8004** +- MCP Server calls a paid off-chain API +- The `x402-payment` Skill triggers payment explicitly +- An AI Agent autonomously decides to buy paid content +- **Agent-to-Agent auto-settlement** — pay-per-call between two AIs -x402 (payment protocol) and 8004 (identity / reputation protocol) are **cross-layer capabilities** — they don't belong to any single layer but can be invoked at multiple points in the flow: +> ⚙️ **Dependency**: The x402 SDK uses [Agent-Wallet](#03--agent-wallet--ais-local-signing-layer) to parse and manage wallet credentials — installing x402 pulls in agent-wallet automatically. -- When MCP Server calls a paid off-chain API, x402 handles "pay-before-response" settlement -- When the AI Agent or a Skill needs to verify a counterparty Agent's identity, 8004 provides an on-chain reputation report -- When Skills orchestration needs to run a pre-check against a service provider's credit, 8004 is queried again +👉 Learn more: [x402 Protocol Introduction](../x402/index.md) --- -## Core Modules (ordered from "most user-facing" → "deeper infrastructure") +### 02 · 8004 Protocol — On-chain Identity and Reputation for AI Agents -### 🧠 1. AI Agent — Your Primary Entry Point +**A Web3-native "Agent Registry + Reputation System."** Any Agent can mint an identity NFT on-chain, bind its service endpoints (Web / MCP / DID), and openly accept feedback from other Agents and users. -**This is what you actually "talk to."** In any AI client (OpenClaw / Cursor / Claude Code / etc.), you type a sentence and the AI Agent receives, understands, executes, and replies — to you the whole experience is just "chatting with AI." +It solves one core question: **as AI Agents proliferate, how do you know which ones you can trust?** -The AI Agent's intelligence comes from **LLM Service**, BANK OF AI's unified model gateway that aggregates GPT, Claude, Gemini, DeepSeek, Kimi, GLM, MiniMax, and other leading models behind a single API — **one API key for every top-tier model**, billed by usage. +- **Standard metadata**: name, capability claims, service endpoints +- **Verifiable credentials**: signatures + rotation policy +- **Chain support**: TRON · BNB Chain -Whether you use OpenClaw, Cursor, Claude Code, or any other AI client, LLM Service connects you to all these brains. +**Typical uses**: -👉 Learn more: [LLM Service Introduction](../llmservice/introduction.md) +- An AI Agent checks a stranger's on-chain reputation before calling its service +- Skills orchestration runs a pre-flight risk check +- MCP Servers verify each other's identity +- Check a counterparty's reputation before paying or granting authorization + +8004 is a **horizontal protocol** — any step that needs "identity verification" or "reputation lookup" can call it; it isn't tied to a specific layer. + +👉 Learn more: [8004 Protocol Introduction](../8004/general.md) --- -### 🌟 2. Skills — The AI Agent's "On-chain Operation SOP Playbook" +## 🔧 Tool Layer | Everything Your Agent Needs + +The protocol layer is in place — now AI needs tools to actually use those protocols. **A single `npx skills add` command** gives your AI on-chain signing (Agent Wallet), on-chain operation SOPs (Skills), and protocol wrappers (MCP Server) all at once — the three things an AI needs to perform any on-chain operation. + +### 03 · Agent Wallet — AI's Local Signing Layer -**This is the standard flow the AI Agent follows when handling most on-chain tasks.** You don't notice Skills directly, but every time you see the AI work fast and reliably, it's Skills doing the orchestration in the background. +**Agent Wallet is the AI Agent's local encrypted wallet**, providing unified signing for every Skill, MCP Server, and the x402 SDK. -Skills are pre-written "on-chain operation SOPs for AI," covering common scenarios across the TRON ecosystem — SunSwap swaps, SunPerp perpetual futures, TronScan queries, TRC20 transfers, TRX staking & SR voting, USDD/JUST protocol, multi-sig permissions, x402 payments, BANK OF AI top-ups, and more. The skill set will keep expanding as the ecosystem grows. +Your private key is encrypted and locked in a hidden local directory; the AI only ever holds an unlock password. **Even if the password leaks, the encrypted file alone is useless. Even if the file is stolen, without the password it's just gibberish.** -Example: a user says *"use 50 USDT to buy some TRX."* A vanilla AI might generate a transaction that fails immediately because USDT was never approved on SunSwap. An AI loaded with the SunSwap Skill walks the full SOP automatically — **check balance → check approval → quote → slippage protection → wait for confirmation → execute** — no step skipped. +- 🔒 **Encrypted storage**: Keystore encryption + `local_secure` mode, 100% local and offline +- 🔑 **Flexible import**: create new, or import from private key / mnemonic +- 🔄 **Multi-wallet switching**: manage multiple wallets and switch the active account any time +- ⛓️ **Multi-chain signing**: TRON + every EVM-compatible chain (Ethereum / BSC / Polygon / Base / Arbitrum…) -**You just talk to the AI Agent in plain language; Skills lets it compress complex multi-step on-chain operations into "one sentence done."** All the underlying MCP tool calls, wallet signatures, and contract parameter calculations are orchestrated automatically — you never need to know any of it. +```bash +npm i @bankofai/agent-wallet +``` -👉 Learn more: [Skills Introduction](../McpServer-Skills/SKILLS/Intro.md) +> 💡 **Who depends on Agent-Wallet**: +> - **x402 SDK** — parses payment credentials, signs x402 micropayments (pulled in automatically when x402 is installed) +> - **Skills** — whenever an on-chain operation needs a signature +> - **MCP Servers** (when self-hosted) — write-type tools read the local wallet before executing + +**What users see**: when you first follow the [Quick Start](./QuickStart.md), Agent-Wallet is created and configured for you automatically — most users never touch it directly. + +👉 Learn more: [Agent-Wallet Introduction](../Agent-Wallet/Intro.md) --- -### 🔐 3. Agent-Wallet — A Local Encrypted Vault Built for AI +### 04 · Skills — The SOP Playbook for AI On-chain Operations -A brain and a playbook still aren't enough. To spend money or send transactions, your AI needs **its own wallet**. But pasting a private key into a plaintext config file is like writing your bank PIN on a sticky note — every program on your machine (malicious plugins, AI coding assistants, automation scripts) can read it in a heartbeat. +**Skills are pre-written standard operating procedures for AI on-chain actions.** The AI Agent follows the Skill's SOP step by step — **check balance → check approval → fetch quote → apply slippage protection → wait for your confirmation → call MCP Server to execute** — nothing skipped, common pitfalls avoided. -Agent-Wallet is a local encrypted wallet purpose-built for AI agents. Your private key is encrypted and locked in a hidden directory; the AI only ever holds an unlock password. **Even if the password leaks, the encrypted file alone is useless. Even if the file is stolen, without the password it's just gibberish.** Two locks, orders of magnitude safer than plaintext keys. +Example: a user says "use 50 USDT to buy some TRX." A vanilla AI might generate a transaction that fails because USDT was never approved on SunSwap. An AI loaded with the `sunswap-dex-trading` Skill walks the full SOP automatically. -Around this encryption mechanism, Agent-Wallet ships the following core capabilities: +**BankOfAI Skills suite** (growing alongside the ecosystem): -- **Local Secure**: your private key is encrypted with industry-leading algorithms and stored in a hidden local directory (`~/.agent-wallet`); only the master password can unlock it -- **Local Signing**: all signing happens entirely on your machine — **100% offline** — your private key never leaves your computer -- **Multi-Wallet**: manage multiple wallets via CLI or SDK, switch the active wallet on demand, with full isolation between them -- **Multi-Chain**: a single unified interface covering both **EVM-compatible chains** (Ethereum / BSC / Polygon / Base / Arbitrum, etc.) and **TRON** (Mainnet / Nile / Shasta) — learn it once, use it across every supported chain +| Skill | Covers | +| :-- | :-- | +| `agent-wallet` | Wallet management | +| `bankofai-guide` | Onboarding new users through setup | +| `sunswap-dex-trading` | SunSwap V2/V3/V4 swaps | +| `sunperp-perpetual-futures-trading` | SunPerp perpetual futures | +| `trc20-token-toolkit` | TRC20 token toolkit | +| `tronscan-data-lookup` | TronScan on-chain data lookup | +| `trx-staking-sr-voting` | TRX staking + SR voting | +| `usdd-just-protocol` | USDD / JUST protocol | +| `multi-sig-account-permissions` | TRON multi-sig and permissions | +| `x402-payment` | x402 payment | +| `recharge-skill` | BANK OF AI account top-up | -Whenever Skills (or the AI Agent calling MCP directly) needs to send a transaction, Agent-Wallet signs it locally and passes only the signed payload outward — **the private key itself never leaves your machine**. +**Key properties**: one sentence installs every Skill; invoked in natural language; automatically calls the underlying MCP Server to execute atomic on-chain operations. -👉 Learn more: [Agent-Wallet Introduction](../Agent-Wallet/Intro.md) +👉 Learn more: [Skills Introduction](../McpServer-Skills/SKILLS/Intro.md) · [Quick Start](./QuickStart.md) --- -### 💸 4. x402 — Teaching Your AI to "Pay for the Internet" (Cross-layer Capability) +### 05 · MCP Server — The On-chain Atomic Capability Interface + +**MCP Server (Model Context Protocol Server)** is built on Anthropic's MCP standard. It wraps on-chain and off-chain capabilities into standardized, AI-callable tools. -When your AI needs to call a **paid online service** (paid APIs, paid datasets), the traditional approach — register an account, link a credit card, configure an API key — simply doesn't work for an AI. +**Relationship between Skills and MCP Server:** -x402 is an open payment protocol built on the HTTP `402 Payment Required` status code. When the AI sees a 402 response, it **automatically signs a small on-chain payment and instantly receives the content**. No account registration, no human in the loop, no pre-funding. +| Layer | Role | Responsibility | +| :-- | :-- | :-- | +| **Skills** | Business Orchestration Layer | Stringing multi-step operations into SOPs, handling pre-checks and risk control | +| **MCP Server** | Capability Provider Layer | Exposing atomic capability tools for upper layers to call | -x402 is a **cross-layer capability** — it doesn't belong to any single layer. Wherever "pay-before-response" is needed, x402 can be invoked: MCP Server calling a paid API can trigger it, the `x402-payment` Skill can trigger it explicitly, and the AI Agent itself can decide to trigger it. +BANK OF AI officially ships three **MCP Servers**, all pointed at BANK OF AI's official cloud endpoints by default — ready to use out of the box: -Currently supports TRON and BSC, with more chains on the roadmap. +- **TRON MCP Server** — atomic TRON on-chain operations (query, transfer, contracts, staking, governance), 60+ tools. Supports local private deployment +- **SUN MCP Server** — SunSwap V2/V3/V4 swap and liquidity capabilities, 20+ tools. Supports local private deployment. Also ships **[SUN CLI](../McpServer-Skills/Tools/SUNCli/Intro.md)** — a command-line implementation fully equivalent to SUN MCP Server's capabilities, for scripting / automation / CI-CD scenarios +- **BSC MCP Server** — atomic on-chain operations for BNB Chain -👉 Learn more: [x402 Protocol Introduction](../x402/index.md) +> 💡 **Private deployment**: Skills call MCP Server via the official cloud endpoints by default — no separate install needed. For local deployment, see each MCP Server's deployment guide. + +> ⚙️ **Dependency**: A self-hosted MCP Server needs Agent-Wallet configured first — the wallet determines which identity the AI uses for on-chain actions. Without a wallet, write-type tools return an error. + +Beyond BANK OF AI's official MCP Servers, the ecosystem has more third-party MCP Servers and Skills — see [🌐 Ecosystem Layer](#-ecosystem-layer--ai-agent-ecosystem) below. + +👉 Learn more: [MCP Server Introduction](../McpServer-Skills/MCP/Intro.md) --- -### 🪪 5. 8004 — On-chain Identity + Reputation for Agents (Cross-layer Capability) +## 🌐 Ecosystem Layer | AI Agent Ecosystem -As AI agents proliferate online, how do you know which ones are real, which are fake, and which can be trusted? The 8004 Protocol is Web3's "Agent Registry" — any agent can mint an identity NFT on-chain, bind its service endpoints (Web, MCP, DID), and accept feedback from other agents and users. +Beyond BANK OF AI's own products, the ecosystem already includes several leading DeFi / data protocols across 3 chains — each shipping a **production-grade MCP Server or Skills** that AI can install and use immediately. -Like x402, 8004 is a **cross-layer capability** that can be invoked at several points in the flow: the AI Agent can check reputation before calling an unknown service, Skills orchestration can run pre-flight risk checks, and MCP Servers can verify each other's identities — all using the same protocol. +### 🔴 TRON -**In short, 8004 is the discovery + reputation layer for agents** — letting your AI pull a stranger's "credit report" on-chain before paying or granting authorization. +| Product | Provider | Capabilities | Install | +| :-- | :-- | :-- | :-- | +| **TRON MCP Server** | Bank of AI | Transfer / Contract / Staking / Governance, 60+ tools | `npx -y @bankofai/mcp-server-tron` | +| **SUN MCP Server** | Bank of AI | Swap / Liquidity / Farming, V2/V3/V4, 20+ tools | `npx -y @bankofai/sun-mcp-server` | +| **JustLend MCP Server** | JustLend DAO | Lend / Borrow / Staking / Governance, 50 tools | `npx -y @justlend/mcp-server-justlend` | +| **TronScan MCP Server** | TronScan | Query / Analytics / Security, 119 tools | `https://mcp.tronscan.org/mcp` | -👉 Learn more: [8004 Protocol Introduction](../8004/general.md) +### 🔵 Ethereum + +| Product | Provider | Capabilities | Install | +| :-- | :-- | :-- | :-- | +| **Etherscan** | Etherscan Official | Query / Tracking / Analytics, 60+ chains | `npx skills add https://docs.etherscan.io` | +| **Uniswap AI** | Uniswap Labs | Swap / Liquidity / V4 Hooks / 5 Plugins | `npx skills add Uniswap/uniswap-ai` | + +### 🟡 BNB Chain + +| Product | Provider | Capabilities | Install | +| :-- | :-- | :-- | :-- | +| **BNB Chain** | BNB Chain Official | Transfer / Contract / Query / 8004 identity registry | `npx skills add bnb-chain/bnbchain-skills` | +| **PancakeSwap AI** | PancakeSwap Official | Swap / Liquidity / Farming, 3 Skills · 8 chains | `npx skills add pancakeswap/pancakeswap-ai` | +| **ListaDAO** | ListaDAO Official | Lending / Staking / CDP, 3 Skills · 9 MCP tools | `npx skills add lista-dao/lista-skills` | + +> 💡 The ecosystem is expanding — refer to the official **[AI Agent Ecosystem](https://bankofai.io)** page for the latest list. --- -### ⚙️ 6. MCP Server — The Capability Provider Layer +## How BANK OF AI Layers Work Together -:::info Regular users can skip this section -MCP Server is the low-level capability interface that Skills calls under the hood. **In most cases you won't notice it's there** — Skills has already wrapped it cleanly. This section is mainly for developers who want to understand the architecture. -::: +The sections above covered what each of the 4 layers does. Below is what happens when they collaborate on a real operation — a **TRC20 transfer**, the most common case. -MCP Server (Model Context Protocol Server) is built on Anthropic's **Model Context Protocol** standard. It wraps various external capabilities into AI-callable standardized tools. By protocol design, MCP Server can carry both **on-chain capabilities** (queries, contract calls, transfer signing, etc.) and **off-chain capabilities** (price feeds, data queries, external APIs, etc.) — what each MCP Server actually exposes is entirely determined by its own implementation. +
-**Relationship between Skills and MCP Server:** +![AI Agent completes a TRC20 transfer through natural conversation](./image/bankofai-architecture.svg) -| Layer | Role | Responsibility | -|:---|:---|:---| -| **Skills** | Business Orchestration Layer | Stringing multi-step operations into SOPs, handling pre-checks and risk control | -| **MCP Server** | Capability Provider Layer | Exposing atomic capability tools to upper layers | +
-BANK OF AI currently ships three core MCP Servers, all **focused on atomic on-chain operations**: +**① Model Layer · Understanding Intent** -- **TRON MCP Server**: atomic on-chain operations on TRON (query, transfer, contracts, staking, governance) -- **SUN MCP Server**: SunSwap V2/V3/V4 swap and liquidity capabilities -- **BSC MCP Server**: atomic on-chain operations on BNB Chain +In any AI client (BANKOFAI APP / OpenClaw / Cursor / Claude Code / Codex / Telegram / …), you type a sentence: -We plan to extend more MCP Servers as needed, covering off-chain data, third-party protocols, and other scenarios. +> Transfer 100 TRX to address `T....XXXXX` -Advanced developers can have the AI Agent bypass Skills and call MCP tools directly, but that means handling pre-checks, approvals, slippage, error recovery, and everything else yourself — exactly the things Skills automates for you. +The AI client is powered by **LLM Service**, recognizes this as a TRC20 / TRX transfer, and decides to call the `trc20-token-toolkit` Skill. -👉 Learn more: [MCP Server Introduction](../McpServer-Skills/MCP/Intro.md) +**② Tool Layer · Skills Orchestration** ---- +`trc20-token-toolkit` walks its SOP step by step: **check balance → validate the recipient address → build the transaction → wait for your confirmation.** If any step fails (insufficient balance, malformed address, etc.), it stops immediately and returns the reason. -### 🖥️ 7. SUN CLI — Developer Tool (CLI Interface to SUN MCP) +**③ Tool Layer · MCP + Wallet · Build · Sign · Submit** -SUN CLI isn't a standalone layer — it's the **command-line interface to SUN MCP Server's capabilities** (CLI interface to MCP Server), built for developers and automation scenarios. +The Skill calls **TRON MCP Server** to assemble the TRC20 transfer, hands it to **Agent-Wallet** for local signing on your machine (**private keys never leave your computer**), and submits it to TRON Mainnet. -Prefer driving SunSwap from a terminal? Want to invoke SUN MCP from shell scripts or CI/CD pipelines? SUN CLI wraps quotes, swaps, liquidity, and position management into one-line commands with output that pipes cleanly into other tools. +**④ Return · The result travels back to the AI Agent** -👉 Learn more: [SUN CLI Introduction](../McpServer-Skills/Tools/SUNCli/Intro.md) +Once on-chain execution completes, the tx hash, status, and event logs travel back along the same path — MCP Server parses them into structured data, and the AI Agent turns that into a natural-language summary: + +> ✅ Transferred 100 TRX to `T....XXXXX`. Fee: 1.1 TRX. +> Tx hash: `0xabc123...def456` ([view on TronScan](https://tronscan.org)) + +:::tip When do the other two layers engage? +This example only involves the **Model Layer** and **Tool Layer**. The other two kick in by scenario: + +- **🛤️ Protocol Layer**: **x402** activates when a payment is involved (calling a paid API, subscribing to an Agent service, etc.); **8004** activates when verifying an unfamiliar Agent's identity or looking up its reputation +- **🌐 Ecosystem Layer**: when you need to go cross-chain or call a third-party protocol (e.g. swapping on Ethereum via **Uniswap AI**, staking on BNB Chain via **ListaDAO**), the AI Agent calls the corresponding third-party MCP Server / Skills — the flow is identical to this example, just with a different MCP Server at the target chain +::: --- ## Is BANK OF AI for Me? -- **Web3 beginner:** Absolutely. Just say "agent install everything" in your AI client — everything else is configured automatically. After that, talk to your AI in plain English; no underlying details needed. -- **Web3 veteran:** Skip the "switch wallet → copy address → calculate slippage → wait for blocks" grind. Let the AI handle the repetitive work; you focus on strategy. -- **AI Agent developer:** BANK OF AI ships full SDKs, CLIs, APIs, and MCP-standard interfaces. Build your own AI agents on top, with complete on-chain capability and autonomous payment built in. -- **API service provider:** With x402, your paid APIs can be called and metered automatically by AI agents — no traditional account registration or credit-card binding required. Especially well-suited for micropayments, AI agents auto-calling paid services, and agent-to-agent settlement scenarios. +- **Web3 beginner:** Absolutely. Paste one install command into your AI client, and everything else is configured automatically; from there, plain-language conversation is all you need — no underlying knowledge required. +- **Web3 veteran:** Skip the "switch wallet → copy address → calculate slippage → wait for blocks" grind. Let AI handle the repetitive work; you focus on strategy. +- **AI Agent developer:** Full SDKs, CLIs, APIs, and MCP-standard interfaces — build your own AI Agents on top of BANK OF AI, giving them on-chain capability and autonomous payment. +- **API service provider:** With x402, your paid APIs can be called by AI and billed per call automatically — no traditional account registration, no credit-card binding required. Especially well-suited for micropayments and agent-to-agent settlement. --- ## Ready? -The entire BANK OF AI installation has been compressed into **one sentence** — just say to your AI: "**agent install everything**" +Want your AI client to gain BANK OF AI's on-chain capabilities? Just **two steps**, under **1 minute**: + +1. Paste one install command into your AI assistant — AI automatically installs every BANK OF AI Skill and the Agent Wallet CLI +2. Reply with a single **`A`** — AI automatically creates your local encrypted wallet -That's it. The AI handles the rest: Skills, wallet setup, configuration across 9 AI clients — all in under a minute. +For standalone integration of **LLM Service / x402 / 8004**, or **local private deployment of MCP Server / using SUN CLI**, refer to each product's own docs. -👉 **[Go to Quick Start and activate your full BANK OF AI stack in 1 minute](./QuickStart.md)** +👉 **[Go to Quick Start](./QuickStart.md)** diff --git a/docs/BANK-OF-AI/QuickStart.md b/docs/BANK-OF-AI/QuickStart.md index a2cbc247..d216252f 100644 --- a/docs/BANK-OF-AI/QuickStart.md +++ b/docs/BANK-OF-AI/QuickStart.md @@ -1,186 +1,269 @@ # Quick Start -**One sentence**, less than **1 minute**, and the entire BANK OF AI stack is installed on your machine — Agent-Wallet, MCP Servers, Skills, all in place, with 9 mainstream AI clients configured automatically. +Want your AI client to gain BANK OF AI's on-chain capabilities? Just **two steps**, under **1 minute**: -:::tip Things You Don't Have to Do -- ❌ No manual `npm install` for a dozen packages -- ❌ No installing Agent-Wallet / Skills / MCP Servers separately -- ❌ No configuring Cursor / Claude Code / VS Code one by one -- ❌ No technical knowledge required -::: - ---- +1. **Paste the install command** → AI installs every Skill, checks wallet status, and asks whether to create a wallet +2. **Reply with `A`** → AI automatically creates your local encrypted wallet -## The Only Step: Say One Sentence to Your AI +:::tip This doc only covers the "Tool Layer" path +**The full BANK OF AI product matrix is more than Skills.** To use the other products independently or to self-host the lower layers, see: -Open whichever AI client you're using (OpenClaw / Claude Code / Cursor / Codex / any of them) and send it this sentence: +- **LLM Service** (model-access layer): use BANKOFAI APP directly, or connect to the unified API Gateway → [LLM Service Introduction](../llmservice/introduction.md) +- **x402 Payment** (payment protocol): let AI auto-settle micropayments on-chain → [x402 Protocol Introduction](../x402/index.md) +- **8004 Protocol** (identity + reputation): on-chain reputation lookup for Agents → [8004 Protocol Introduction](../8004/general.md) +- **MCP Server local private deployment**: Skills call MCP Server through BANK OF AI's official cloud endpoints by default — no separate install needed. For local deployment, see [TRON MCP — Local Private Deployment](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP — Local Private Deployment](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP — Installation](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) +- **SUN CLI**: a command-line tool with capabilities equivalent to SUN MCP Server, for scripting / automation / CI-CD → [SUN CLI Quick Start](../McpServer-Skills/Tools/SUNCli/QuickStart.md) +::: -``` -agent install everything -``` +--- -Press Enter. **That's it — your part is done.** +## Step 1: Paste the Install Command -The AI takes over the entire installation flow from here. You just sit back and watch it set everything up. +### What You Type -When it finishes, the AI prints an "Installed Components" summary so you can confirm everything is in place: +Open whichever AI client you use (OpenClaw / Claude Code / Cursor / Codex / any of them) and paste this command in: ``` -🎉 Agent install complete! -✅ Components installed +Run npx skills add BofAI/skills to install every BANK OF AI Skill. After the install completes, run bankofai-guide to walk me through the next steps. +Note: please install into this Agent's own skills directory. ``` -| Component | Status | Location | -| :--- | :--- | :--- | -| BankOfAI Skills | ✅ Installed | `~/.agents/skills/` | -| Agent Wallet CLI | ✅ Installed | Global npm | -| TRON MCP Server | ✅ Installed | 9 Agents | -| SUN MCP Server | ✅ Installed | 9 Agents | +:::tip You can also send this via Telegram +If you've already wired Telegram into OpenClaw, send the same command in your Telegram chat — the result is identical to pasting it into the desktop client. +::: + +### What the AI Outputs + +The AI takes over the whole flow — installs the Skills, runs `bankofai-guide` to check your environment, prints a summary, and asks whether to create a wallet: + +> Got it — here we go. +> +> The command enters interactive mode to let me pick the Skills: I'll use the `-y` flag (without `-g`) so it selects everything by default and installs into this Agent's directory: +> +> ✅ **11 Skills installed.** (installed into this Agent's skills directory) +> +> Now running `bankofai-guide` to walk you through setup… +> +> ─── +> +> **📋 Section A — Post-install Onboarding** +> - Step 1: Install Agent Wallet CLI +> - Step 2: Check wallet status +> +> ─── +> +> ✅ **Skills installed.** +> Location: `~/.openclaw/workspace/.agents/skills/` (this Agent's directory) +> +> | # | Skill | +> | :-- | :-- | +> | 1 | `agent-wallet` | +> | 2 | `bankofai-guide` | +> | 3 | `multi-sig-account-permissions` | +> | 4 | `recharge-skill` | +> | 5 | `sunperp-perpetual-futures-trading` | +> | 6 | `sunswap-dex-trading` | +> | 7 | `trc20-token-toolkit` | +> | 8 | `tronscan-data-lookup` | +> | 9 | `trx-staking-sr-voting` | +> | 10 | `usdd-just-protocol` | +> | 11 | `x402-payment` | +> +> **📋 Current status** +> +> | Component | Status | +> | :-- | :-- | +> | Agent Wallet CLI | ✅ Installed | +> | Wallet | ⚠️ Not configured | +> +> **💼 Wallet setup** +> +> Note: you need a wallet for transfers and transactions (token swaps, transfers, balance checks, etc.). +> +> **Set up a wallet now?** +> +> **A. Create now (recommended, ~10 seconds)** +> - Quick setup, secure password auto-generated +> - Ready to use every BankOfAI feature right after creation +> +> **B. Create later** +> - You can run `bankofai-guide` again any time to continue setup +> - Until then, only read-only query features are available +> +> Please reply **A** or **B**. --- -## What the AI Does Behind the Scenes +## Step 2: Reply with `A` -So you know what's happening, here's everything the AI completes for you in that one minute: +### What You Type -### Step 1: Install BANK OF AI Skills +In the AI chat, type: ``` -✅ BankOfAI Skills installed successfully! +A ``` -| Skill | Function | -| :--- | :--- | -| `agent-wallet` | Wallet management | -| `bankofai-guide` | Onboarding guide | -| `multi-sig-account-permissions` | TRON multi-sig | -| `recharge-skill` | BANK OF AI top-up | -| `sunperp-perpetual-futures-trading` | SunPerp futures | -| `sunswap-dex-trading` | SunSwap DEX | -| `trc20-token-toolkit` | TRC20 toolkit | -| `tronscan-data-lookup` | TronScan lookup | -| `trx-staking-sr-voting` | TRX staking & SR voting | -| `usdd-just-protocol` | USDD/JUST protocol | -| `x402-payment` | x402 payment | - -### Step 2: Install Agent Wallet CLI and MCP Servers - -``` -Now installing Agent Wallet CLI and MCP Servers... -``` +:::info If you chose `B` +The AI skips wallet creation and this step ends. When you're ready, you can trigger **conversational wallet creation** right in the AI chat at any time — no need to re-run the install command. See [Agent-Wallet Quick Start · Option 1: Conversational Creation](../Agent-Wallet/QuickStart.md). +::: -Agent Wallet CLI is installed globally via npm; TRON MCP Server and SUN MCP Server are wired into every available AI client. +### What the AI Outputs + +The AI walks through the full wallet-creation flow and, at the end, shows your wallet info, addresses, master password, and suggested next steps — all in one message: + +> Got it — running quick-setup wallet creation. +> +> - Step 1: Generate a secure password +> - Step 2: Create the wallet +> - Step 3: Fetch the wallet address +> +> ─── +> +> **🎉 Wallet created.** +> +> **💼 Wallet info** +> +> | Field | Detail | +> | :-- | :-- | +> | Wallet ID | `default_local_secure` | +> | Type | `local_secure` (locally encrypted) | +> | Status | ✅ Active | +> +> **📍 Wallet addresses** +> +> | Network | Address | +> | :-- | :-- | +> | EVM | `0x7858...4bCA` | +> | TRON | `TLwYeH...q8usz` | +> +> 💡 **Tip**: the EVM address works across every EVM-compatible chain (Ethereum, BSC, Base, Polygon, Arbitrum, etc.). +> +> ─── +> +> **🔐 Wallet password** +> +> ``` +> +> ``` +> +> **⚠️ Important safety notes:** +> - This password encrypts the locally-stored private key +> - Every transaction, signature, or address query needs this password +> - It's auto-saved to `~/.agent-wallet/runtime_secrets.json` for convenience +> - **Please back it up!** If the runtime secrets file is deleted, this password is the only way to recover the wallet +> +> ─── +> +> **🚀 Next steps** +> +> Your wallet is ready. You can now: +> +> 1. **Top up USDT** → send USDT (TRC20) to your TRON address `TLwYeH...q8usz` +> 2. **Check balance** → use TronScan to view TRX and token balances +> 3. **Transfer / swap** → use SunSwap for token swaps or transfers +> +> **Onboarding complete. 🎉** +> +> Want me to check a balance or do anything else? -### Step 3: Auto-Create the Local Encrypted Wallet +:::caution The master password is critical — back it up immediately +The master password is shown **exactly once** here. It's auto-saved to `~/.agent-wallet/runtime_secrets.json` locally, but we strongly recommend **also saving it manually in a password manager** (1Password / Bitwarden / etc.). If the local file is ever lost or corrupted *and* you have no external backup, your wallet becomes **permanently unrecoverable** (no recovery mechanism, no support, no backdoors). -``` -🧰 Wallet Information -``` +⚠️ **Never** paste this password into chat tools, emails, screenshots, or public repos. +::: -| Field | Detail | -| :--- | :--- | -| Wallet ID | `default_local_secure` | -| Type | `local_secure` | -| Status | ✅ Active | +--- -| Network | Address | -| :--- | :--- | -| EVM | `0x1339...8366` | -| TRON | `TBisAp...FLceY` | +## Verify the Install -Right after that, the AI displays your unique **master password** in the terminal — **only this one time**: +Open your AI chat and send: ``` -🔒 Wallet Password - -⚠️ Password auto-saved to ~/.agent-wallet/runtime_secrets.json — please back it up! +Which BANK OF AI Skills do I have installed right now? ``` -:::caution The master password is critical — back it up immediately -The master password is the **only credential** that unlocks your private key. The installer does two things: -1. **Auto-saves it to a local file** `~/.agent-wallet/runtime_secrets.json` so subsequent tools can read it directly -2. **Displays it in plaintext once in your terminal** — copy it down right away +If the AI can list every Skill by name — **congrats, the full stack is live and ready to use.** -We strongly recommend **also saving it manually to a password manager** (1Password / Bitwarden / etc.). If the local file is ever lost or corrupted *and* you have no external backup, your wallet becomes **permanently unrecoverable** (no recovery mechanism, no support, no backdoors). +--- -⚠️ **Never** paste this password into chat tools, emails, screenshots, or public repos. -::: +## Typical Scenarios -### Step 4: Configure MCP Servers +Here's one scenario showing AI and on-chain infrastructure collaborating **through natural conversation** to complete a complex task — the user says one sentence, the AI orchestrates via Skills, Agent Wallet signs locally, x402 settles the payment, and a structured result comes back. -``` -🔧 MCP Servers -``` +### Top Up BANK OF AI Account (x402 auto-settlement) -| Server | URL | Status | -| :--- | :--- | :--- | -| TRON MCP | `https://tron-mcp-server.bankofai.io/mcp` | ✅ | -| SUN MCP | `https://sun-mcp-server.bankofai.io/mcp` | ✅ | +**🧑 You:** Buy APIKEY Credits On BANK OF AI With USDT -:::info Connected to the official cloud service by default -The two URLs above are the **official cloud endpoints** hosted by BANK OF AI — ready to use out of the box, no self-hosting required. If you need a local private deployment (e.g. for data-isolation requirements), see [TRON MCP — Local Private Deployment](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) and [SUN MCP — Local Private Deployment](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md). -::: +**🤖 BANK OF AI Agent** (TRON Mainnet): -### Step 5: Sync to All AI Clients +> BANK OF AI settles APIKEY top-ups via the **x402** protocol. This top-up package is **10 USDT (TRON network)** — I'll debit your wallet and credit the quota. +> +> ✅ **x402 payment of 10 USDT confirmed on TRON** +> +> Done! Your APIKEY balance is updated: +> +> | Item | Value | +> | :-- | :-- | +> | Service | BANK OF AI API | +> | Protocol | x402 | +> | Paid | 10 USDT | +> | Credits added | **+500,000** | +> | APIKEY quota | **750,000 credits** | -**Configured across 9 Agents:** Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot CLI, MCPorter, OpenCode, VS Code, Zed. +**🧑 You:** Check My USDT Balance -If any of these is installed on your machine, it's wired up automatically — just open it and go, no extra setup needed. +**🤖:** Your Current Balance: **4,692 USDT** (Mainnet) + +**Products involved**: `recharge-skill` + `x402-payment` (Skills) → TRON MCP Server → Agent Wallet + +:::tip What does this scenario illustrate? +- **Natural language is the operation** — from start to finish the user connected no wallet and touched no frontend +- **Skills handle orchestration** — the AI walks the SOP automatically: pay, sign, credit the quota +- **Agent Wallet handles security** — every signature happens locally and offline; the private key never leaves your machine +- **x402 engages on demand** — whenever payment is involved, x402 handles "pay-before-response" automatically +::: --- -## Now What Can You Do? +## What Else Can You Do? -With the full stack in place, your AI instantly gains these capabilities — just talk to it in plain English: +Just describe what you want in plain language: ### 🔍 On-chain Data Lookup (Free) > "Check the TRX and USDT balances of my wallet." -> "What happened in transaction abc123...?" +> "What happened in transaction abc123…?" > "What's TRON's current network TPS?" ### 💸 TRC20 Token Transfer -> "Send 10 USDT to TRecipientAddress..." +> "Send 10 USDT to TRecipientAddress…" ### 🔁 SunSwap Swaps > "On Nile testnet, swap 100 TRX for USDT with 1% slippage." -### 📈 SunPerp Futures Trading +### 📈 SunPerp Futures > "Open a 5x long on BTC-USDT with a 5% stop-loss." ### 🗳️ TRX Staking & SR Voting -> "Stake my 1000 TRX with super representative SR XXX." - -### 💰 Top Up BANK OF AI Account - -> "Check my BANK OF AI balance and top up 5 USDT." - ---- - -## Verify the Install - -Open your AI chat and ask: +> "Stake my 1,000 TRX with super representative SR XXX." -``` -What BANK OF AI Skills do I have installed? -``` -If the AI can list every skill name — **congrats, the whole stack is live and ready to use.** --- ## Three Rules for Beginners :::warning On-chain transactions are irreversible — remember these three rules -1. **Always practice on testnet first.** Run 1-2 transactions on Nile testnet, confirm the AI behaves exactly as expected, *then* go to mainnet. -2. **Carefully review the bill before every spending action.** -3. **Start small.** Even for operations you've already tested, use a small amount the first time you run them on mainnet to verify behavior. +1. **Always practice on testnet first.** Run 1–2 transactions on Nile testnet, confirm the AI behaves exactly as expected, *then* switch to mainnet. +2. **Review the AI's bill before every spending action.** +3. **Start small.** Even for operations you've tested, use a small amount the first time you run them on mainnet. ::: --- diff --git a/docs/BANK-OF-AI/image/bankofai-architecture.svg b/docs/BANK-OF-AI/image/bankofai-architecture.svg index 62fd969f..931d8592 100644 --- a/docs/BANK-OF-AI/image/bankofai-architecture.svg +++ b/docs/BANK-OF-AI/image/bankofai-architecture.svg @@ -1,4 +1,4 @@ - + @@ -6,9 +6,6 @@ - - - @@ -27,133 +24,74 @@ - - - - - BANK OF AI — How User Commands Reach the Blockchain - - - - 📡 Protocol - Cross-layer - Capability - - - x402 - Pay-before-response - - - 8004 - Agent ID + Reputation - - Applies at multiple layers - · Paid service calls - · Identity verification - · Reputation checks - - - + How BANK OF AI Layers Work Together + Example: TRC20 Transfer · Transfer 100 TRX - - Result → AI Agent · Feedback + + Result → AI Agent - - 👤 You · One Sentence - "Swap 100 TRX for USDT" + + 👤 You · Natural-Language Command + "Transfer 100 TRX to address T....XXXXX" - - ↑ AI reply - ↓ Your command + + ↑ AI reply + ↓ Your command - - 🧠 AI Agent - Powered by LLM Service · GPT / Claude / Gemini / DeepSeek / Kimi ... - Understands your intent and chooses the execution path + + 🧠 AI Agent + Powered by LLM Service · GPT / Claude / Gemini / DeepSeek / Kimi ... + Parses the intent, picks the matching Skill - - + + - - - Bypass Skills - Direct MCP call - - - - 🌟 Skills - Business Orchestration Layer - SunSwap · SunPerp · TronScan · TRC20 · Multi-Sig · Staking · x402 · ... - Auto SOP: balance → approval → quote → slippage → confirm → call MCP + + + 🌟 Skills · trc20-token-toolkit + Business Orchestration Layer + SOP: check balance → validate address → build tx → wait for confirmation - - - - - ⚙️ MCP Server · Capability Provider Layer - Wraps on-chain and off-chain capabilities into AI-callable standardized tools - - - TRON MCP Server - On-chain query + tx - - - SUN MCP Server - SunSwap V2/V3/V4 + - - BSC MCP Server - BNB Chain + + + ⚙️ TRON MCP Server + Capability Provider Layer · On-chain atomic capability tools + This example: build the TRC20 transfer transaction - + - - 🔐 Agent-Wallet · Local Secure Wallet - Private key never leaves your machine · Transactions signed locally - - - Local Secure - Encrypted storage - - - Local Signing - 100% offline - - - Multi-Wallet - Wallet management - - - Multi-Chain - EVM + TRON + + 🔐 Agent-Wallet · Local Encrypted Wallet + Private key never leaves your machine · Signed locally, then submitted on-chain + This example: local signing of the TRC20 transfer transaction - + - - ⛓️ Blockchain · TRON · BSC · ... + + ⛓️ TRON Blockchain - Legend: - - Standard path (Agent → Skills → MCP) - - Bypass Skills, direct MCP - - Result feedback - - Protocol cross-layer + Legend: + + Skills orchestration + + Sign / submit + + Result feedback diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md index 94dee393..7e85edec 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md @@ -2,188 +2,271 @@ ## 一句话理解 BANK OF AI -**BANK OF AI 是一整套让 AI 真正在区块链上"动起来"的基础设施。** +**BANK OF AI 是让 AI 真正拥有 Web3 能力的基础设施。** -把你的 AI 助手想象成一位刚毕业的实习生:聪明、勤快、随叫随到,但他既没有银行账户,也不懂 Web3 的"潜规则",更没法替你为付费服务自动结账。BANK OF AI 做的事情,就是把这位实习生升级成一个**"持证上岗"的链上理财顾问**——给他配一套覆盖所有链上场景的"标准作业手册"(Skills),一个安全的钱包,还有让他能自动付费购买服务的协议底座。 +核心定位:**Your Web3 Gateway to AI** —— 你的 Web3 AI 门户。 -你不需要懂代码,不需要写脚本,也不需要在多个 dApp 之间反复切换。你只需要把任务交给 AI,剩下的全都由 BANK OF AI 这一整套基础设施在后台自动完成。 +BANK OF AI 让你的 AI 获得 4 项核心能力: + +- 💸 **付款能力**:会用加密货币付款(x402) +- 🪪 **身份能力**:拥有可验证的链上身份与信誉(8004) +- ⚙️ **行动能力**:掌握完整的链上原子能力与编排(Skills + MCP Server + Agent Wallet) +- 🧠 **认知能力**:统一接入主流顶级大模型(LLM Service) + +你不需要懂代码,不需要切钱包,不需要在多个 dApp 之间反复跳转——把任务交给 AI,剩下的由 BANK OF AI 这一整套基础设施在后台完成。 --- -## 一条指令是怎么到达链上的? +## BANK OF AI 的产品矩阵 -整个流程其实非常简单——**你在 AI 客户端里说一句话,这句话会按下面这张图走完全程:** +BANK OF AI 由 **4 层** 组成: -
+- **🧠 模型层 | Top AI in One Account** —— LLM Service(BANKOFAI APP + API Gateway),主流大模型的统一入口 +- **🛤️ 协议层 | Payment. Verify. Build.** —— x402 Payment · 8004 Protocol,连接 AI 与 Web3 的两套开放协议 +- **🔧 工具层 | Everything Your Agent Needs** —— Agent Wallet · Skills · MCP Server,让 AI 获得链上签名、操作 SOP 与协议封装的完整工具包 +- **🌐 生态层 | AI Agent Ecosystem** —— 基于同一套协议开放接入的 TRON / Ethereum / BNB Chain 第三方 MCP Server 与 Skills -![BANK OF AI 架构图:用户指令如何到达链上](./image/bankofai-architecture.svg) +每一层都可以独立使用,也可以组合起来——按需取用。 -
+--- -**第 1 步:AI Agent 理解你的话** +## 🧠 模型层 | Top AI in One Account -你在 AI 客户端(OpenClaw / Cursor / Claude Code / Codex ……)里发出一句自然语言指令——比如"帮我把 100 TRX 换成 USDT"。AI Agent 由 **LLM Service** 驱动(背后是 GPT、Claude、Gemini、DeepSeek、Kimi 等顶级大模型中的某一个),负责理解你的意图,并决定后续的执行路径。 +### LLM Service — 主流大模型的统一入口 -**第 2 步:选一条路径去执行** +**LLM Service 是 BANK OF AI 的模型接入层**,把 GPT、Claude、Gemini、DeepSeek、Kimi、GLM、MiniMax 等主流大模型聚合到一个账户下,提供两种使用方式: -理解完之后,AI Agent 面前有两条路: +- **BANKOFAI APP**(官方应用,对应官网右上角 `BANKOFAI APP →` 按钮):面向终端用户的 AI Chat 应用,打开 [chat.bankofai.io/chat](https://chat.bankofai.io/chat) 直接使用,随需切换模型 +- **API Gateway**(一套 API Key 调所有模型):面向开发者的统一 API,按用量计费,兼容 OpenAI 协议,可接入任意兼容 OpenAI 协议的第三方 AI 客户端 -- **🌟 走 Skills(业务编排层)**——覆盖绝大多数使用场景 - Skills 是预先编写好的"链上操作 SOP 手册"——AI Agent 从 Skills 中选择对应的技能(例如 SunSwap Skill),按照标准流程执行:**查余额 → 检查授权 → 报价 → 滑点保护 → 等你确认 → 调用 MCP Server 执行**。复杂的多步操作被压缩为"一句话完成",不会漏步骤,也能规避常见陷阱。 +**核心特点**:加密货币充值(TRON / BNB Chain)、按用量付费(Pay-as-you-go)、不绑卡、不订阅。 -- **⚙️ 跳过 Skills,AI Agent 直接调用 MCP Server** - MCP Server 提供的是标准化的原子能力工具(链上 + 链下),AI Agent 可以不经过 Skills 直接调用。注意这里绕过的是 Skills 编排层,**不是 AI Agent 本身**——AI Agent 仍然是所有调用的发起方。直连适合简单查询或开发者自定义流程;涉及复杂交易、授权、风控时,建议走 Skills。 +👉 详见:[LLM Service 简介](../llmservice/introduction.md) -**第 3 步:签名、协议、上链** +--- -无论走哪条路,最终的交易都会:**经过 Agent-Wallet 在你本机本地签名**(私钥永不出本机,统一支持 EVM + TRON 双生态)→ **提交到区块链**。 +## 🛤️ 协议层 | Payment. Verify. Build. -**第 4 步:执行结果返回到 AI Agent** +有了模型层,AI 还只是一个"大脑"——要让 AI 能在链上花钱、被验证,得先约定两套公开协议:**x402 解决钱怎么收**,**8004 解决 Agent 是谁**。 -链上执行完成后,**结果会沿着原路径反向回到 AI Agent**——区块链返回的交易哈希、状态、事件日志先被 MCP Server 解析成结构化数据,再回传给 AI Agent。**AI Agent 基于这些结构化数据生成自然语言摘要**,并附上交易哈希(方便链上核查),通过正常对话告诉用户。 +### 01 · x402 Payment — 一行代码接入链上支付 -例如: +**基于 HTTP `402 Payment Required` 扩展的开放支付协议**——让 AI 在调用付费服务时自动在链上签一笔小额支付、立刻拿到内容,无需账号、无需信用卡、无需预充值。 -> ✅ 成功,用 100 TRX 换到了 350 USDT,手续费 1.2 TRX。 -> 交易哈希:`0xabc123...def456`([在 TronScan 查看](https://tronscan.org)) +- **当前支持**:TRON、BNB Chain(更多公链陆续接入) +- **SDK 组件**:Client SDK · Server SDK · Facilitator -整个流程形成闭环:**一句指令进去,一句可读的结果出来**。你始终只与 AI Agent 对话,无需自己解析链上原始数据;同时交易哈希始终可见,便于追溯和验证。 +**典型场景**: -**🔀 横向能力:x402 + 8004 协议** +- MCP Server 调用链下付费 API +- Skills 中的 `x402-payment` 显式发起支付 +- AI Agent 自主决定购买付费内容 +- **Agent 对 Agent 自动结算** —— 两个 AI 之间的按次计费 -x402(付费协议)和 8004(身份 / 信誉协议)是**横向能力**(Cross-layer Capability),不局限于某一层——它们可以在以下任何环节介入: +> ⚙️ **依赖关系**:x402 SDK 通过 [Agent-Wallet](#03--agent-wallet--ai-的本地签名层) 解析和管理钱包凭证——安装 x402 时会自动把 agent-wallet 作为依赖一起装上。 -- 当 MCP Server 调用链下付费 API 时,x402 完成"先付款、后响应"结算 -- 当 AI Agent 或 Skills 需要验证对方 Agent 身份时,8004 提供链上征信报告 -- 当 Skills 编排中需要检查服务提供方信誉时,同样查询 8004 +👉 详见:[x402 协议简介](../x402/index.md) --- -## 核心模块(按"最常接触 → 越来越底层"排序) +### 02 · 8004 Protocol — AI Agent 的链上身份与信誉 -### 🧠 1. AI Agent — 你的主要入口点 +**Web3 上的「Agent 注册局 + 信誉系统」**——任何 Agent 都可以在链上铸造一个身份 NFT,绑定自己的服务端点(Web / MCP / DID),并公开接受其他 Agent 和用户的反馈。 -**这是你真正"对话"的对象。** 在 OpenClaw / Cursor / Claude Code 等任意 AI 客户端里,你说一句话,AI Agent 接收、理解、执行、回复——整套流程对你来说就是"和 AI 聊天"这么简单。 +它解决一个核心问题:**AI Agent 越来越多,你怎么知道某个 Agent 可不可信?** -AI Agent 的智力由 **LLM Service** 提供,这是 BANK OF AI 的统一模型接入层:把 GPT、Claude、Gemini、DeepSeek、Kimi、GLM、MiniMax 等主流大模型聚合到一个 API 网关下——**一个 API Key 即可调用所有模型**,按用量计费,接入简单且成本可控。 +- **标准元数据**:名称、能力声明、服务端点 +- **可验证凭证**:签名 + 轮换策略 +- **链支持**:TRON · BNB Chain -不管你用 OpenClaw、Cursor、Claude Code 还是其他 AI 客户端,都能通过 LLM Service 直连这些顶级大脑。 +**典型用法**: -👉 详见:[LLM Service 简介](../llmservice/introduction.md) +- AI Agent 调用陌生服务前,先查对方的链上征信 +- Skills 编排中做前置风控校验 +- MCP Server 之间互相验证身份 +- 付费 / 授权之前查对方的信誉评级 + +8004 是**横向协议**——任何需要"验证身份"或"查信誉"的环节都可以调用,不绑定特定层。 + +👉 详见:[8004 协议简介](../8004/general.md) --- -### 🌟 2. Skills — AI Agent 的"链上操作 SOP 手册" +## 🔧 工具层 | Everything Your Agent Needs + +协议层搭好了,还差一套工具让 AI 真正把协议用起来。**一条 `npx skills add` 命令**,就能让 AI 同时获得链上签名(Agent Wallet)、链上操作 SOP(Skills)、链上协议封装(MCP Server)——这三件事是 AI 完成任意链上操作所需的全部。 + +### 03 · Agent Wallet — AI 的本地签名层 -**这是 AI Agent 完成绝大多数链上任务时遵循的标准流程。** 你感知不到 Skills 的存在,但你看到的"AI 干活又稳又快",背后正是 Skills 在编排。 +**Agent Wallet 是 AI Agent 的本地加密钱包**,为所有 Skills、MCP Server、x402 SDK 提供统一的签名能力。 -Skills 是一套预先编写好的"AI 链上操作 SOP 手册",覆盖 TRON 生态常见的使用场景——SunSwap 兑换、SunPerp 合约、TronScan 查询、TRC20 转账、TRX 质押投票、USDD/JUST 协议、多签权限、x402 支付、BANK OF AI 充值……随着生态发展还会持续扩充。 +私钥被加密锁在本地隐藏目录中,AI 只持有一个"解锁密码"。**即便密码泄漏,没有加密文件依然无法解密;即便文件被窃取,没有密码也只是一段无法解读的密文。** -举例说明:用户说"花 50 USDT 买点 TRX"。普通 AI 可能直接生成一段交易代码,由于未授权 SunSwap 而当场报错;装了 SunSwap Skill 的 AI 则会按 SOP 自动执行——**查余额 → 检查授权 → 报价 → 滑点保护 → 等你确认 → 执行交易**,每一步都不遗漏。 +- 🔒 **加密存储**:Keystore 加密 + `local_secure` 模式,100% 本地离线 +- 🔑 **灵活导入**:新建、导入私钥或助记词 +- 🔄 **多钱包切换**:管理多个钱包,随时切换活跃账户 +- ⛓️ **多链签名**:TRON + 全部 EVM 兼容链(Ethereum / BSC / Polygon / Base / Arbitrum…) -**你只需用自然语言告诉 AI Agent,Skills 会让它把复杂的多步链上操作压缩为"一句话完成"。** 背后涉及的 MCP 工具调用、钱包签名、合约参数计算,全部由 Skills 自动编排——你无需关心任何底层细节。 +```bash +npm i @bankofai/agent-wallet +``` -👉 详见:[Skills 简介](../McpServer-Skills/SKILLS/Intro.md) +> 💡 **谁在依赖 Agent-Wallet**: +> - **x402 SDK** —— 解析支付凭证、签发 x402 小额支付(安装 x402 时自动带入) +> - **Skills** —— 执行需要签名的链上操作时 +> - **MCP Server** 私有化部署时 —— 写入类工具执行前读取本机钱包签名 + +**用户感知**:首次按 [快速开始](./QuickStart.md) 走一遍时,Agent-Wallet 会自动创建并配置好——大多数用户不需要单独接触它。 + +👉 详见:[Agent-Wallet 简介](../Agent-Wallet/Intro.md) --- -### 🔐 3. Agent-Wallet — AI 专属的本地加密保险箱 +### 04 · Skills — AI 链上操作的 SOP 手册 -有了大脑和手册还不够,AI 需要花钱、需要转账,必须拥有一个**属于自己的钱包**。但如果把私钥以明文形式写在配置文件里,就等于把银行卡密码公开放置——任何运行在你电脑上的程序(恶意插件、AI 编程助手、自动化脚本)都有可能在极短时间内读取并窃取。 +**Skills 是一套预先编写好的 AI 链上操作标准作业流程。** AI Agent 按 Skills 的 SOP 逐步执行——**查余额 → 检查授权 → 报价 → 滑点保护 → 等你确认 → 调用 MCP Server 执行**,一步不漏,规避常见陷阱。 -Agent-Wallet 是专为 AI 设计的本地加密钱包——你的私钥被加密锁在本地的隐藏目录中,AI 只持有一个"解锁密码"。**即便密码泄漏,没有加密文件依然无法解密;即便文件被窃取,没有密码也只是一段无法解读的密文。** 双重保险,安全等级比明文私钥高出数个数量级。 +举例:用户说"花 50 USDT 买点 TRX"。没装 Skills 的 AI 可能直接生成一段交易代码,因未授权 SunSwap 而报错;装了 `sunswap-dex-trading` Skill 的 AI 会严格按 SOP 自动完成所有前置与确认步骤。 -围绕这套加密机制,Agent-Wallet 提供以下核心能力: +**BankOfAI Skills 套件**(随生态持续扩展): -- **Local Secure(加密本地存储)**:私钥会被行业顶级的算法加密,存放在本机的隐藏目录(`~/.agent-wallet`),需主密码才能解锁 -- **Local Signing(本地离线签名)**:所有签名操作完全在你本机完成,**100% 离线**,私钥永远不离开你的电脑 -- **Multi-Wallet(多钱包管理)**:通过 CLI 或 SDK 可同时管理多个钱包,按需切换活跃钱包,互不干扰 -- **Multi-Chain(多链统一接口)**:同一套接口同时覆盖 **EVM 系**(Ethereum / BSC / Polygon / Base / Arbitrum 等)和 **TRON 系**(Mainnet / Nile / Shasta),学一次即可在多条链上通用 +| Skill | 覆盖场景 | +| :-- | :-- | +| `agent-wallet` | 钱包管理 | +| `bankofai-guide` | 引导新用户完成安装配置 | +| `sunswap-dex-trading` | SunSwap V2/V3/V4 兑换 | +| `sunperp-perpetual-futures-trading` | SunPerp 永续合约 | +| `trc20-token-toolkit` | TRC20 代币工具 | +| `tronscan-data-lookup` | TronScan 链上数据查询 | +| `trx-staking-sr-voting` | TRX 质押 + SR 投票 | +| `usdd-just-protocol` | USDD / JUST 协议 | +| `multi-sig-account-permissions` | TRON 多签与权限 | +| `x402-payment` | x402 支付 | +| `recharge-skill` | BANK OF AI 账户充值 | -每当 Skills(或 AI Agent 直连 MCP 时)需要发一笔交易,Agent-Wallet 在本地完成签名后只把签好的结果传出去——**私钥本身永远不出本机**。 +**关键特性**:一句话安装全部 Skills;自然语言调用;自动调用下层 MCP Server 完成链上原子操作。 -👉 详见:[Agent-Wallet 简介](../Agent-Wallet/Intro.md) +👉 详见:[Skills 简介](../McpServer-Skills/SKILLS/Intro.md) · [快速开始](./QuickStart.md) --- -### 💸 4. x402 — 让 AI 自己学会"付费上网"(横向能力) +### 05 · MCP Server — 链上原子能力接口层 + +**MCP Server(Model Context Protocol Server)** 基于 Anthropic 的 MCP 标准,把链上与链下能力封装成 AI 可调用的标准化工具。 -当你的 AI 需要去调用某个**收费的在线服务**(比如付费 API、付费数据集),传统做法是你提前注册账号、绑定信用卡、配置 API Key——这套流程对 AI 来说根本走不通。 +**Skills 与 MCP Server 的关系:** -x402 是基于 HTTP `402 Payment Required` 状态码的开放支付协议,让 AI 在收到"需要付费"的回应后**自动在链上签一笔小额支付,然后立刻拿到内容**。整个过程不用注册账号,不用人工介入,也不用提前充值。 +| 层 | 角色 | 负责什么 | +| :-- | :-- | :-- | +| **Skills** | 业务编排层(Orchestration) | 把多步操作按 SOP 串起来,处理前置检查和风控 | +| **MCP Server** | 能力提供层(Capability Provider) | 提供原子能力工具给上层调用 | -x402 是一种**横向能力(Cross-layer Capability)**——它不属于某一固定层,哪里需要"先付款、后响应",哪里就可以触发 x402:MCP Server 调用付费 API 时可以触发,Skills 里的 x402-payment 技能可以显式触发,AI Agent 自己决定付费调用时也可以触发。 +BANK OF AI 官方提供三套 **MCP Server**,默认接入 BANK OF AI 官方云服务端点,开箱即用: -支持 TRON、BSC,未来还会扩展到更多链。 +- **TRON MCP Server** — TRON 链上原子操作(查询、转账、合约、质押、治理),60+ 工具。支持本地私有化部署 +- **SUN MCP Server** — SunSwap V2/V3/V4 兑换与流动性,20+ 工具。支持本地私有化部署。另提供 **[SUN CLI](../McpServer-Skills/Tools/SUNCli/Intro.md)**——与 SUN MCP Server 能力完全对等的命令行实现,面向脚本 / 自动化 / CI-CD 场景 +- **BSC MCP Server** — BNB Chain 链上原子操作 -👉 详见:[x402 协议简介](../x402/index.md) +> 💡 **私有化部署**:Skills 默认通过官方云端点调用 MCP Server,无需单独安装;若需本地部署,参考对应 MCP Server 的部署文档。 + +> ⚙️ **依赖关系**:MCP Server 私有化部署时需先配置 Agent-Wallet——钱包决定了 AI 以哪个身份执行链上操作。若未配置钱包,写入类工具执行时会返回错误提示。 + +除了 BANK OF AI 官方的 MCP Server,生态中还有更多第三方 MCP Server 和 Skills,见下方 [🌐 生态层](#-生态层--ai-agent-ecosystem)。 + +👉 详见:[MCP Server 简介](../McpServer-Skills/MCP/Intro.md) --- -### 🪪 5. 8004 — Agent 的链上身份证 + 信誉系统(横向能力) +## 🌐 生态层 | AI Agent Ecosystem -互联网世界里,AI Agent 越来越多,但你怎么知道某个 Agent 是真是假、值不值得信任?8004 协议是 Web3 上的"Agent 注册局"——任何 Agent 都可以在链上铸造一个身份 NFT,绑定自己的服务端点(Web、MCP、DID),并接受其他 Agent 和用户的反馈。 +除了 BANK OF AI 官方的产品,整个生态已接入跨 3 条链的多个主流 DeFi / 数据协议——每一家都提供**生产级的 MCP Server 或 Skills**,AI 安装后立即能用。 -和 x402 一样,8004 也是**横向能力**,可以在整个流程的多个环节介入:AI Agent 调用陌生服务前查询对方信誉、Skills 编排中做前置风控校验、MCP Server 之间互相验证身份——都用的是这套协议。 +### 🔴 TRON -**简单说,8004 是 Agent 的发现机制 + 信誉系统**——让你的 AI 在付费或授权之前,先去链上查一下对方的"征信报告"。 +| 产品 | 提供方 | 覆盖能力 | 安装 | +| :-- | :-- | :-- | :-- | +| **TRON MCP Server** | Bank of AI | Transfer / Contract / Staking / Governance,60+ 工具 | `npx -y @bankofai/mcp-server-tron` | +| **SUN MCP Server** | Bank of AI | Swap / Liquidity / Farming,V2/V3/V4,20+ 工具 | `npx -y @bankofai/sun-mcp-server` | +| **JustLend MCP Server** | JustLend DAO | Lend / Borrow / Staking / Governance,50 工具 | `npx -y @justlend/mcp-server-justlend` | +| **TronScan MCP Server** | TronScan | Query / Analytics / Security,119 工具 | `https://mcp.tronscan.org/mcp` | -👉 详见:[8004 协议简介](../8004/general.md) +### 🔵 Ethereum + +| 产品 | 提供方 | 覆盖能力 | 安装 | +| :-- | :-- | :-- | :-- | +| **Etherscan** | Etherscan Official | Query / Tracking / Analytics,60+ 链 | `npx skills add https://docs.etherscan.io` | +| **Uniswap AI** | Uniswap Labs | Swap / Liquidity / V4 Hooks / 5 Plugins | `npx skills add Uniswap/uniswap-ai` | + +### 🟡 BNB Chain + +| 产品 | 提供方 | 覆盖能力 | 安装 | +| :-- | :-- | :-- | :-- | +| **BNB Chain** | BNB Chain Official | Transfer / Contract / Query / 8004 身份注册 | `npx skills add bnb-chain/bnbchain-skills` | +| **PancakeSwap AI** | PancakeSwap Official | Swap / Liquidity / Farming,3 Skills · 8 链 | `npx skills add pancakeswap/pancakeswap-ai` | +| **ListaDAO** | ListaDAO Official | Lending / Staking / CDP,3 Skills · 9 MCP 工具 | `npx skills add lista-dao/lista-skills` | + +> 💡 生态持续扩张中,以官网 **[AI Agent Ecosystem](https://bankofai.io)** 为准。 --- -### ⚙️ 6. MCP Server — 能力提供层 +## BANK OF AI 的协作流程 -:::info 一般用户可以跳过这一节 -MCP Server 是 Skills 调用的底层能力接口,**大多数情况下你感受不到它的存在**——Skills 已在上层完成了封装。这一节主要写给希望深入了解架构的开发者。 -::: +前面介绍了 4 层各自的分工——下面看它们在一次真实操作中如何协作。用 **TRC20 转账** 这个最常见场景举例。 -MCP Server(Model Context Protocol Server)基于 Anthropic 提出的 **Model Context Protocol** 标准,把各类外部能力封装成 AI 可调用的标准化工具。从协议设计上,MCP Server 既可以承载**链上能力**(链上查询、合约调用、转账签名等),也可以承载**链下能力**(价格源、数据查询、外部 API 等)——具体包含哪些工具完全取决于每个 MCP Server 的实现。 +
-**Skills 与 MCP Server 的关系:** +![AI 智能体通过自然对话完成 TRC20 转账的工作流程](./image/bankofai-architecture.svg) -| 层 | 角色 | 负责什么 | -|:---|:---|:---| -| **Skills** | 业务编排层(Orchestration) | 把多步操作按 SOP 串起来、处理前置检查和风控 | -| **MCP Server** | 能力提供层(Capability Provider) | 提供原子能力工具给上层调用 | +
-BANK OF AI 目前提供的三套核心 MCP Server **聚焦于链上原子操作**: +**① 模型层 · 理解意图** -- **TRON MCP Server**:TRON 链上原子操作能力(查询、转账、合约、质押、治理) -- **SUN MCP Server**:SunSwap V2/V3/V4 兑换与流动性能力 -- **BSC MCP Server**:BNB Chain 链上原子操作能力 +你在任意 AI 客户端(BANKOFAI APP / OpenClaw / Cursor / Claude Code / Codex / Telegram 等)里发一句话: -未来我们会按需扩展更多 MCP Server,包括链下数据、第三方协议等场景。 +> 向地址 `T....XXXXX` 转 100 TRX -高级开发者可以让 AI Agent 绕过 Skills 直接调用 MCP 工具,但这意味着你需要自行处理前置检查、授权、滑点、错误恢复等所有流程——而这些正是 Skills 已经为你自动化的环节。 +AI 客户端由 **LLM Service** 驱动,识别出这是一笔 TRC20 / TRX 转账,决定调用 `trc20-token-toolkit` 这个 Skill。 -👉 详见:[MCP Server 简介](../McpServer-Skills/MCP/Intro.md) +**② 工具层 · Skills 编排** ---- +`trc20-token-toolkit` 按 SOP 逐步推进:**查余额 → 校验收款地址 → 构造交易 → 等你确认**。任何一步不通过(余额不足、地址格式错等)都会立即停下并把原因返回给你。 -### 🖥️ 7. SUN CLI — Developer Tool(给开发者的命令行入口) +**③ 工具层 · MCP + Wallet · 构造 · 签名 · 上链** -SUN CLI 不是一层独立的服务,而是 **SUN MCP Server 能力的命令行入口**(CLI interface to MCP Server)——专为开发者和自动化场景设计。 +Skill 调用 **TRON MCP Server** 组装这笔 TRC20 转账交易,然后交给 **Agent-Wallet** 在你本机本地完成签名(**私钥永不出本机**),最后提交到 TRON 主网。 -如果你习惯使用命令行操作 SunSwap,或者需要在 shell 脚本、CI/CD 流水线中调用 SUN MCP 的能力,SUN CLI 把查价、报价、兑换、加流动性、管理头寸等操作封装为一行命令即可完成,输出可直接 pipe 到其他工具。 +**④ 返回 · 结果沿原路径回到 AI 智能体** -👉 详见:[SUN CLI 简介](../McpServer-Skills/Tools/SUNCli/Intro.md) +链上执行完成后,交易哈希、状态、事件日志沿原路径反向返回——MCP Server 解析成结构化数据,AI 智能体再生成自然语言摘要: + +> ✅ 已向 `T....XXXXX` 转账 100 TRX。手续费 1.1 TRX。 +> 交易哈希:`0xabc123...def456`([在 TronScan 查看](https://tronscan.org)) + +:::tip 另外两层什么时候登场? +本例只涉及 **模型层** 和 **工具层**。其他两层按场景触发: + +- **🛤️ 协议层**:**涉及付费**时(调用付费 API、订阅 Agent 服务等)走 **x402**;**验证陌生 Agent 身份或查信誉**时走 **8004** +- **🌐 生态层**:当你需要跨链或调用第三方协议(如 **Uniswap AI** 在以太坊兑换、**ListaDAO** 在 BNB Chain 质押)时,AI 智能体会调用对应的第三方 MCP Server / Skills——流程与本例一致,只是把 TRON MCP 换成目标链的 MCP Server +::: --- ## 我适合用 BANK OF AI 吗? -- **Web3 新手:** 完全没问题。在 AI 客户端里说一句"agent 一键安装",剩下的全部自动完成;之后用自然语言对话即可,无需了解底层细节。 -- **Web3 老手:** 可以告别"切钱包 + 复制地址 + 算滑点 + 等区块"的繁琐流程,让 AI 接管所有重复性工作,自己专注策略。 -- **AI Agent 开发者:** 整套 BANK OF AI 提供完整的 SDK、CLI、API 和 MCP 标准接口——你可以基于它构建自己的 AI Agent,让 Agent 拥有完整的链上能力和自动支付能力。 -- **API 服务提供方:** x402 协议让你的付费 API 可以被 AI Agent 自动调用并按次计费,不需要传统的账号注册、信用卡绑定流程,特别适合微支付、AI Agent 自动调用付费服务、以及 Agent 之间自动结算等场景。 +- **Web3 新手:** 完全没问题。把一段安装指令粘贴给 AI 客户端,剩下的全部自动完成;之后用自然语言对话即可,无需了解底层细节。 +- **Web3 老手:** 可以告别「切钱包 + 复制地址 + 算滑点 + 等区块」的繁琐流程,让 AI 接管所有重复性工作,自己专注策略。 +- **AI Agent 开发者:** 完整的 SDK、CLI、API 和 MCP 标准接口——你可以基于 BANK OF AI 构建自己的 AI Agent,让 Agent 拥有链上能力和自动支付能力。 +- **API 服务提供方:** x402 协议让你的付费 API 被 AI 自动调用并按次计费,不需要传统账号注册、信用卡绑定流程,特别适合微支付和 Agent 对 Agent 自动结算场景。 --- ## 准备好了吗? -整套 BANK OF AI 的安装和配置已经被压缩到**一句话**——你只需要对你的 AI 助手说:"**agent 一键安装**"。 +想让你的 AI 客户端拥有 BANK OF AI 链上能力,只需**两步**,不到 **1 分钟**: + +1. 把一段安装指令粘贴给你的 AI 助手——AI 自动安装 BANK OF AI 全部 Skills 和 Agent Wallet CLI +2. 回复一个 **`A`**——AI 自动创建本地加密钱包 -剩下的会全部自动完成:安装 Skills、配置钱包、同步到 9 个 AI 客户端,全程不到 1 分钟。 +如需独立接入 **LLM Service / x402 / 8004** 或对 MCP Server 做**本地私有化部署 / 使用 SUN CLI**,请参考对应产品的文档。 -👉 **[前往快速开始,1 分钟激活你的 BANK OF AI](./QuickStart.md)** +👉 **[前往快速开始](./QuickStart.md)** diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md index cd279c84..202409a2 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md @@ -1,137 +1,234 @@ # 快速开始 -只需 **1 句话**,不到 **1 分钟**,整套 BANK OF AI 自动安装到你的电脑上——Agent-Wallet、MCP Server、Skills 全部就位,9 个主流 AI 客户端同步配置完成。 +想让你的 AI 客户端拥有 BANK OF AI 链上能力,只需**两步**,不到 **1 分钟**: -:::tip 你不需要做的事情 -- ❌ 无需手动 `npm install` 多个依赖 -- ❌ 无需分别安装 Agent-Wallet / Skills / MCP Server -- ❌ 无需逐个配置 Cursor / Claude Code / VS Code -- ❌ 无需了解任何技术细节 -::: - ---- +1. **粘贴安装指令** → AI 自动完成 Skills 安装 + 检查钱包状态,询问是否创建钱包 +2. **回复 `A`** → AI 自动创建本地加密钱包 -## 唯一的一步:对你的 AI 说一句话 +:::tip 本文只覆盖「工具层」这一条路径 +**BANK OF AI 的完整产品矩阵不止 Skills**——如需独立使用其他产品或对底层做私有化部署,请分别参考: -打开你正在用的 AI 客户端(OpenClaw / Claude Code / Cursor / Codex 等任意一个),把下面这句话发给它: +- **LLM Service**(模型接入层):直接使用 BANKOFAI APP 或接入统一 API Gateway → [LLM Service 简介](../llmservice/introduction.md) +- **x402 Payment**(支付协议):让 AI 自动在链上完成小额付款 → [x402 协议简介](../x402/index.md) +- **8004 Protocol**(身份与信誉):Agent 链上征信查询 → [8004 协议简介](../8004/general.md) +- **MCP Server 本地私有化部署**:Skills 默认通过 BANK OF AI 官方云端点调用 MCP Server,无需单独安装;若需本地部署,参考 [TRON MCP 本地私有化部署](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP 本地私有化部署](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP 安装](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) +- **SUN CLI**:与 SUN MCP Server 能力对等的命令行工具,面向脚本/自动化/CI-CD 场景 → [SUN CLI 快速开始](../McpServer-Skills/Tools/SUNCli/QuickStart.md) +::: -``` -agent 一键安装 -``` +--- -按下回车,**你的操作到此为止。** +## 第 1 步:粘贴安装指令 -接下来 AI 会自动接管整个安装流程,全程无需你介入——你只需要观察整个过程逐步完成。 +### 你输入 -安装完成后,AI 会输出一份"已安装组件"清单,确认全部就位: +打开你正在用的 AI 客户端(OpenClaw / Claude Code / Cursor / Codex 等任意一个),把下面这段指令完整粘贴进去: ``` -🎉 Agent 一键安装完成! -✅ 已安装组件 +运行 npx skills add BofAI/skills 安装 BANK OF AI 全部技能,安装完成后使用 bankofai-guide 进行引导后续操作。 +注意:请安装到当前 Agent 对应的 skill 目录 ``` -| 组件 | 状态 | 位置 | -| :--- | :--- | :--- | -| BankOfAI Skills | ✅ 已安装 | `~/.agents/skills/` | -| Agent Wallet CLI | ✅ 已安装 | 全局 npm | -| TRON MCP Server | ✅ 已安装 | 9 个 Agents | -| SUN MCP Server | ✅ 已安装 | 9 个 Agents | - ---- +:::tip 也可以在 Telegram 里发送 +如果你已经在 OpenClaw 中配置了 Telegram,同样可以直接在 Telegram 对话窗口中发送这段指令——效果与在桌面客户端中粘贴完全一致。 +::: -## AI 在背后完成了什么? +### AI 的输出 + +AI 会自动接管整个流程,依次完成 Skills 安装、调用 `bankofai-guide` 检查环境、输出清单并询问是否创建钱包: + +> 好的!我来按照你的要求安装。 +> +> 命令进入交互模式,让我选择全部技能:让我使用 `-y` 参数但不使用 `-g`,这样应该能默认选择全部并安装到当前 Agent 目录: +> +> ✅ **11 个 Skills 安装完成!**(安装到当前 Agent skill 目录) +> +> 现在使用 `bankofai-guide` 进行引导... +> +> ─── +> +> **📋 Section A — 安装后引导** +> - 步骤 1:安装 Agent Wallet CLI +> - 步骤 2:检查钱包状态 +> +> ─── +> +> ✅ **Skills 安装完成!** +> 安装位置:`~/.openclaw/workspace/.agents/skills/`(当前 Agent 目录) +> +> | # | Skill 名称 | +> | :-- | :-- | +> | 1 | `agent-wallet` | +> | 2 | `bankofai-guide` | +> | 3 | `multi-sig-account-permissions` | +> | 4 | `recharge-skill` | +> | 5 | `sunperp-perpetual-futures-trading` | +> | 6 | `sunswap-dex-trading` | +> | 7 | `trc20-token-toolkit` | +> | 8 | `tronscan-data-lookup` | +> | 9 | `trx-staking-sr-voting` | +> | 10 | `usdd-just-protocol` | +> | 11 | `x402-payment` | +> +> **📋 当前状态** +> +> | 组件 | 状态 | +> | :-- | :-- | +> | Agent Wallet CLI | ✅ 已安装 | +> | 钱包 | ⚠️ 未配置 | +> +> **💼 钱包设置** +> +> 提示:需要一个钱包来进行转账和交易(如代币兑换、转账、查询余额等)。 +> +> **是否立即设置钱包?** +> +> **A. 立即创建(推荐,约 10 秒)** +> - 快速设置,自动生成安全密码 +> - 创建后即可使用所有 BankOfAI 功能 +> +> **B. 稍后再创建** +> - 可以稍后再次运行 `bankofai-guide` 继续设置 +> - 目前只能使用只读查询功能 +> +> 请回复 **A** 或 **B**。 -为了让你对整个过程有清晰的了解,下面是 AI 在这 1 分钟内替你完成的所有工作: +--- -### 第 1 步:安装 BANK OF AI Skills +## 第 2 步:回复 `A` -``` -✅ BankOfAI Skills 安装成功! -``` +### 你输入 -| Skill | 功能 | -| :--- | :--- | -| `agent-wallet` | 钱包管理 | -| `bankofai-guide` | 引导指南 | -| `multi-sig-account-permissions` | TRON 多签 | -| `recharge-skill` | BANK OF AI 充值 | -| `sunperp-perpetual-futures-trading` | SunPerp 期货 | -| `sunswap-dex-trading` | SunSwap DEX | -| `trc20-token-toolkit` | TRC20 工具 | -| `tronscan-data-lookup` | TronScan 查询 | -| `trx-staking-sr-voting` | TRX 质押投票 | -| `usdd-just-protocol` | USDD/JUST 协议 | -| `x402-payment` | x402 支付 | - -### 第 2 步:安装 Agent Wallet CLI 和 MCP Servers +在 AI 对话框中直接输入: ``` -现在安装 Agent Wallet CLI 和 MCP Servers... +A ``` -Agent Wallet CLI 全局安装到 npm,TRON MCP Server 和 SUN MCP Server 接入到所有可用的 AI 客户端。 +:::info 如果你选择了 `B` +AI 会跳过钱包创建流程,本步骤到此结束。等你准备好时,随时可以在 AI 对话框里触发**对话式创建**——无需重新运行安装指令。详见 [Agent-Wallet 快速开始 · 方式一:对话式创建](../Agent-Wallet/QuickStart.md)。 +::: -### 第 3 步:自动创建本地加密钱包 +### AI 的输出 + +AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息、地址、主密码和后续可做的事情: + +> 好的!执行快速设置创建钱包。 +> +> - 步骤 1:生成安全密码 +> - 步骤 2:创建钱包 +> - 步骤 3:获取钱包地址 +> +> ─── +> +> **🎉 钱包创建成功!** +> +> **💼 钱包信息** +> +> | 项目 | 详情 | +> | :-- | :-- | +> | 钱包 ID | `default_local_secure` | +> | 类型 | `local_secure`(本地加密) | +> | 状态 | ✅ 已激活 | +> +> **📍 钱包地址** +> +> | 网络 | 地址 | +> | :-- | :-- | +> | EVM | `0x7858...4bCA` | +> | TRON | `TLwYeH...q8usz` | +> +> 💡 **提示**:EVM 地址可用于所有 EVM 兼容链(Ethereum、BSC、Base、Polygon、Arbitrum 等)。 +> +> ─── +> +> **🔐 钱包密码** +> +> ``` +> <此处会显示你的专属主密码> +> ``` +> +> **⚠️ 重要安全提示:** +> - 此密码用于加密本地存储的私钥 +> - 进行任何交易、签名、查询地址等操作都需要此密码 +> - 密码已自动保存到 `~/.agent-wallet/runtime_secrets.json` 方便使用 +> - **请务必备份密码!** 如果 runtime secrets 文件被删除,密码是恢复钱包的唯一方式 +> +> ─── +> +> **🚀 下一步** +> +> 钱包已准备就绪!你现在可以: +> +> 1. **充值 USDT** → 向 TRON 地址 `TLwYeH...q8usz` 充值 USDT (TRC20) +> 2. **查询余额** → 使用 TronScan 查看 TRX 和代币余额 +> 3. **转账/兑换** → 使用 SunSwap 进行代币兑换或转账 +> +> **引导完成!🎉** +> +> 需要我帮你查询余额或进行其他操作吗? + +:::caution 主密码非常重要,请立即备份 +主密码**仅在此处展示一次**。虽然会自动保存到本地的 `~/.agent-wallet/runtime_secrets.json`,但强烈建议你**同时手动保存到密码管理器**(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将**永久无法解锁**(没有备份找回机制,没有客服,没有后门)。 -``` -🧰 钱包信息 -``` +⚠️ **切勿**把这个密码发到聊天工具、邮件、截图或公开仓库中。 +::: -| 项目 | 详情 | -| :--- | :--- | -| 钱包 ID | `default_local_secure` | -| 类型 | `local_secure` | -| 状态 | ✅ 已激活 | +--- -| 网络 | 地址 | -| :--- | :--- | -| EVM | `0x1339...8366` | -| TRON | `TBisAp...FLceY` | +## 验证安装 -紧接着,AI 会在终端**仅这一次**展示你的专属**主密码**: +打开 AI 对话框,发送一句: ``` -🔒 钱包密码 -<此处会显示你的专属主密码> -⚠️ 密码已自动保存到 ~/.agent-wallet/runtime_secrets.json,请妥善备份! +查一下我当前安装了哪些 BANK OF AI Skills? ``` -:::caution 主密码非常重要,请立即妥善备份 -主密码是解锁你私钥的**唯一凭证**。安装器会做两件事: -1. **自动保存到本地文件** `~/.agent-wallet/runtime_secrets.json`,方便后续工具直接读取 -2. **在终端明文展示一次**——你需要立即把它复制下来 +如果 AI 能列出所有技能包的名称——**恭喜,所有组件已经就位,可以开始使用。** -强烈建议你**同时手动保存到密码管理器**(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将**永久无法解锁**(没有备份找回机制,没有客服,没有后门)。 +--- -⚠️ **切勿**把这个密码发到聊天工具、邮件、截图或公开仓库中。 -::: +## 典型使用场景 -### 第 4 步:配置 MCP Servers +下面这个场景展示 AI 与链上基础设施**通过自然对话**完成复杂任务的完整流程——用户只说一句话,AI 自动调用 Skills 编排流程、Agent Wallet 本地签名、x402 协议结算,返回结构化结果。 -``` -🔧 MCP Servers -``` +### 给 BANK OF AI 充值(x402 自动结算) -| Server | URL | 状态 | -| :--- | :--- | :--- | -| TRON MCP | `https://tron-mcp-server.bankofai.io/mcp` | ✅ | -| SUN MCP | `https://sun-mcp-server.bankofai.io/mcp` | ✅ | +**🧑 你:** Buy APIKEY Credits On BANK OF AI With USDT -:::info 默认接入官方云服务 -上面两个 URL 是 BANK OF AI 提供的**官方云服务端点**,开箱即用,无需自行部署。如果你需要本地私有化部署(例如对数据隔离有更高要求),请参考 [TRON MCP 本地私有化部署](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) 和 [SUN MCP 本地私有化部署](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md)。 -::: +**🤖 BANK OF AI Agent**(TRON Mainnet): + +> BANK OF AI 通过 **x402** 协议结算 APIKEY 充值。本次充值包为 **10 USDT(TRON 网络)**——我将从你的钱包扣款并写入额度。 +> +> ✅ **x402 payment of 10 USDT confirmed on TRON** +> +> Done!你的 APIKEY 余额已更新: +> +> | 项 | 值 | +> | :-- | :-- | +> | Service | BANK OF AI API | +> | Protocol | x402 | +> | Paid | 10 USDT | +> | Credits added | **+500,000** | +> | APIKEY quota | **750,000 credits** | -### 第 5 步:批量同步到所有 AI 客户端 +**🧑 你:** Check My USDT Balance -**已配置到 9 个 Agents:** Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot CLI、MCPorter、OpenCode、VS Code、Zed +**🤖:** Your Current Balance: **4,692 USDT**(Mainnet) -只要其中任何一个已安装在你的电脑上,都会被自动完成配置——打开即可使用,无需再单独设置。 +**涉及的产品链路**:`recharge-skill` + `x402-payment`(Skills)→ TRON MCP Server → Agent Wallet + +:::tip 这个场景说明了什么? +- **自然语言即操作** —— 用户从头到尾没连过钱包、没做任何前端操作 +- **Skills 负责编排** —— AI 按 SOP 自动完成付款、签名、额度写入 +- **Agent Wallet 负责安全** —— 所有签名在本机离线完成,私钥永不出本机 +- **x402 按需介入** —— 涉及付费时由 x402 自动完成"先付款、后响应" +::: --- -## 安装完成后,你可以做什么? +## 你还可以做什么? -所有组件就位后,你的 AI 立刻获得了以下能力——直接用自然语言描述需求即可: +直接用自然语言描述需求即可: ### 🔍 链上数据查询(完全免费) @@ -157,21 +254,7 @@ Agent Wallet CLI 全局安装到 npm,TRON MCP Server 和 SUN MCP Server 接入 > "把我的 1000 TRX 质押给超级代表 SR XXX。" -### 💰 给 BANK OF AI 充值 - -> "查看我的 BANK OF AI 账户余额,并充值 5 USDT。" ---- - -## 验证安装 - -打开 AI 对话框,发送一句: - -``` -查一下我当前安装了哪些 BANK OF AI Skills? -``` - -如果 AI 能列出所有技能包的名称——**恭喜,所有组件已经就位,可以开始使用。** --- diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg index 5a00a42f..25bf4688 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/image/bankofai-architecture.svg @@ -1,4 +1,4 @@ - + @@ -6,9 +6,6 @@ - - - @@ -27,133 +24,74 @@ - - - - - BANK OF AI — 用户指令如何到达链上 - - - - 📡 Protocol - 横向能力 - Cross-layer - - - x402 - Pay-before-response - - - 8004 - Agent ID + Reputation - - 可在多层介入 - · 调用付费服务 - · 身份认证 - · 信誉验证 - - - + BANK OF AI 的协作流程 + 示例:TRC20 转账 · Transfer 100 TRX - - 执行结果 → AI Agent · Result Feedback + + 执行结果 → AI 智能体 - - 👤 You · 你说一句话 - "帮我把 100 TRX 换成 USDT" + + 👤 你 · 自然语言指令 + "向地址 T....XXXXX 转 100 TRX" - - - ↑ AI 回复 - ↓ 你的指令 + + + ↑ AI 回复 + ↓ 你的指令 - - 🧠 AI Agent - 由 LLM Service 驱动 · GPT / Claude / Gemini / DeepSeek / Kimi ... - 理解你的意图,决定走哪条路径执行 + + 🧠 AI 智能体 + 由 LLM Service 驱动 · GPT / Claude / Gemini / DeepSeek / Kimi ... + 理解意图,调用对应的 Skill - - + + - - - 跳过 Skills - Bypass Skills - - - - 🌟 Skills - 业务编排层 · Business Orchestration Layer - SunSwap · SunPerp · TronScan · TRC20 · Multi-Sig · Staking · x402 · ... - 自动编排:查余额 → 检查授权 → 报价 → 滑点保护 → 等确认 → 调用 MCP 执行 + + + 🌟 Skills · trc20-token-toolkit + 业务编排层 · Business Orchestration Layer + SOP:查余额 → 校验地址 → 构造交易 → 等你确认 - - - - - ⚙️ MCP Server · 能力提供层 · Capability Provider - 将链上与链下能力封装为 AI 可调用的标准化工具 - - - TRON MCP Server - 链上查询 + 交易 - - - SUN MCP Server - SunSwap V2/V3/V4 + - - BSC MCP Server - BNB Chain + + + ⚙️ TRON MCP Server + 能力提供层 · 提供链上原子能力工具 + 本例调用:构造 TRC20 转账交易 - + - - 🔐 Agent-Wallet · Local Secure Wallet · 本地加密钱包 - 私钥永不出本机 · 交易在本地签名 - - - Local Secure - 加密本地存储 - - - Local Signing - 本地离线签名 - - - Multi-Wallet - 多钱包管理 - - - Multi-Chain - EVM + TRON + + 🔐 Agent-Wallet · 本地加密钱包 + 私钥永不出本机 · 交易在本地签名后提交上链 + 本例:对 TRC20 转账交易执行本地签名 - + - - ⛓️ Blockchain · TRON · BSC · ... + + ⛓️ TRON Blockchain - 图例 / Legend: - - 标准路径(Agent → Skills → MCP) - - 跳过 Skills 直连 MCP - - 执行结果反馈 - - Protocol 横向介入 + 图例 / Legend: + + Skills 编排 + + 签名 / 上链 + + 执行结果反馈 From 2248ef77c015d186edc176fae3efc6b110cedbca Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Thu, 16 Apr 2026 19:29:37 +0800 Subject: [PATCH 3/8] add bankofai --- docs/BANK-OF-AI/QuickStart.md | 121 ++++++------------ .../current/BANK-OF-AI/QuickStart.md | 121 ++++++------------ 2 files changed, 76 insertions(+), 166 deletions(-) diff --git a/docs/BANK-OF-AI/QuickStart.md b/docs/BANK-OF-AI/QuickStart.md index d216252f..63955aaa 100644 --- a/docs/BANK-OF-AI/QuickStart.md +++ b/docs/BANK-OF-AI/QuickStart.md @@ -3,38 +3,23 @@ Want your AI client to gain BANK OF AI's on-chain capabilities? Just **two steps**, under **1 minute**: 1. **Paste the install command** → AI installs every Skill, checks wallet status, and asks whether to create a wallet -2. **Reply with `A`** → AI automatically creates your local encrypted wallet - -:::tip This doc only covers the "Tool Layer" path -**The full BANK OF AI product matrix is more than Skills.** To use the other products independently or to self-host the lower layers, see: - -- **LLM Service** (model-access layer): use BANKOFAI APP directly, or connect to the unified API Gateway → [LLM Service Introduction](../llmservice/introduction.md) -- **x402 Payment** (payment protocol): let AI auto-settle micropayments on-chain → [x402 Protocol Introduction](../x402/index.md) -- **8004 Protocol** (identity + reputation): on-chain reputation lookup for Agents → [8004 Protocol Introduction](../8004/general.md) -- **MCP Server local private deployment**: Skills call MCP Server through BANK OF AI's official cloud endpoints by default — no separate install needed. For local deployment, see [TRON MCP — Local Private Deployment](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP — Local Private Deployment](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP — Installation](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) -- **SUN CLI**: a command-line tool with capabilities equivalent to SUN MCP Server, for scripting / automation / CI-CD → [SUN CLI Quick Start](../McpServer-Skills/Tools/SUNCli/QuickStart.md) -::: +2. **Confirm wallet creation** → AI automatically creates your local encrypted wallet --- ## Step 1: Paste the Install Command -### What You Type - -Open whichever AI client you use (OpenClaw / Claude Code / Cursor / Codex / any of them) and paste this command in: +Open whichever AI client you use (OpenClaw / Claude Code / Cursor / Codex / etc.) and paste this command in: ``` Run npx skills add BofAI/skills to install every BANK OF AI Skill. After the install completes, run bankofai-guide to walk me through the next steps. Note: please install into this Agent's own skills directory. ``` -:::tip You can also send this via Telegram -If you've already wired Telegram into OpenClaw, send the same command in your Telegram chat — the result is identical to pasting it into the desktop client. -::: +The AI will install the Skills and then ask whether to create a wallet. -### What the AI Outputs - -The AI takes over the whole flow — installs the Skills, runs `bankofai-guide` to check your environment, prints a summary, and asks whether to create a wallet: +
+Show example AI output > Got it — here we go. > @@ -92,25 +77,16 @@ The AI takes over the whole flow — installs the Skills, runs `bankofai-guide` > > Please reply **A** or **B**. ---- - -## Step 2: Reply with `A` +
-### What You Type - -In the AI chat, type: - -``` -A -``` +--- -:::info If you chose `B` -The AI skips wallet creation and this step ends. When you're ready, you can trigger **conversational wallet creation** right in the AI chat at any time — no need to re-run the install command. See [Agent-Wallet Quick Start · Option 1: Conversational Creation](../Agent-Wallet/QuickStart.md). -::: +## Step 2: Confirm Wallet Creation -### What the AI Outputs +Confirm wallet creation however the AI prompts you (e.g. reply "create", "go ahead", or whichever option the AI offers). The AI will create your local encrypted wallet and, in one message, show your wallet info, addresses, master password, and suggested next steps. -The AI walks through the full wallet-creation flow and, at the end, shows your wallet info, addresses, master password, and suggested next steps — all in one message: +
+Show example AI output > Got it — running quick-setup wallet creation. > @@ -167,11 +143,7 @@ The AI walks through the full wallet-creation flow and, at the end, shows your w > > Want me to check a balance or do anything else? -:::caution The master password is critical — back it up immediately -The master password is shown **exactly once** here. It's auto-saved to `~/.agent-wallet/runtime_secrets.json` locally, but we strongly recommend **also saving it manually in a password manager** (1Password / Bitwarden / etc.). If the local file is ever lost or corrupted *and* you have no external backup, your wallet becomes **permanently unrecoverable** (no recovery mechanism, no support, no backdoors). - -⚠️ **Never** paste this password into chat tools, emails, screenshots, or public repos. -::: +
--- @@ -180,48 +152,13 @@ The master password is shown **exactly once** here. It's auto-saved to `~/.agent Open your AI chat and send: ``` -Which BANK OF AI Skills do I have installed right now? +Check the TRX and USDT balances of the wallet address you just created. ``` -If the AI can list every Skill by name — **congrats, the full stack is live and ready to use.** - ---- - -## Typical Scenarios - -Here's one scenario showing AI and on-chain infrastructure collaborating **through natural conversation** to complete a complex task — the user says one sentence, the AI orchestrates via Skills, Agent Wallet signs locally, x402 settles the payment, and a structured result comes back. +If the AI returns a structured balance result — **congrats, the full stack is live and ready to use.** -### Top Up BANK OF AI Account (x402 auto-settlement) - -**🧑 You:** Buy APIKEY Credits On BANK OF AI With USDT - -**🤖 BANK OF AI Agent** (TRON Mainnet): - -> BANK OF AI settles APIKEY top-ups via the **x402** protocol. This top-up package is **10 USDT (TRON network)** — I'll debit your wallet and credit the quota. -> -> ✅ **x402 payment of 10 USDT confirmed on TRON** -> -> Done! Your APIKEY balance is updated: -> -> | Item | Value | -> | :-- | :-- | -> | Service | BANK OF AI API | -> | Protocol | x402 | -> | Paid | 10 USDT | -> | Credits added | **+500,000** | -> | APIKEY quota | **750,000 credits** | - -**🧑 You:** Check My USDT Balance - -**🤖:** Your Current Balance: **4,692 USDT** (Mainnet) - -**Products involved**: `recharge-skill` + `x402-payment` (Skills) → TRON MCP Server → Agent Wallet - -:::tip What does this scenario illustrate? -- **Natural language is the operation** — from start to finish the user connected no wallet and touched no frontend -- **Skills handle orchestration** — the AI walks the SOP automatically: pay, sign, credit the quota -- **Agent Wallet handles security** — every signature happens locally and offline; the private key never leaves your machine -- **x402 engages on demand** — whenever payment is involved, x402 handles "pay-before-response" automatically +:::note What a brand-new wallet may show +A TRON address that has never received any transfer is considered **not activated**, so the query may report **balance 0 / account not activated**. This is completely normal for a fresh wallet and doesn't prevent you from using BANK OF AI. ::: --- @@ -232,8 +169,6 @@ Just describe what you want in plain language: ### 🔍 On-chain Data Lookup (Free) -> "Check the TRX and USDT balances of my wallet." - > "What happened in transaction abc123…?" > "What's TRON's current network TPS?" @@ -258,14 +193,34 @@ Just describe what you want in plain language: --- -## Three Rules for Beginners +## A Few Reminders -:::warning On-chain transactions are irreversible — remember these three rules +:::warning Three Rules for Beginners · On-chain transactions are irreversible 1. **Always practice on testnet first.** Run 1–2 transactions on Nile testnet, confirm the AI behaves exactly as expected, *then* switch to mainnet. 2. **Review the AI's bill before every spending action.** 3. **Start small.** Even for operations you've tested, use a small amount the first time you run them on mainnet. ::: +:::caution The master password is critical — back it up immediately +The master password is shown **exactly once in Step 2**. It's auto-saved to `~/.agent-wallet/runtime_secrets.json` locally, but we strongly recommend **also saving it manually in a password manager** (1Password / Bitwarden / etc.). If the local file is ever lost or corrupted *and* you have no external backup, your wallet becomes **permanently unrecoverable** (no recovery mechanism, no support, no backdoors). + +⚠️ **Never** paste this password into chat tools, emails, screenshots, or public repos. +::: + +:::info If you skip wallet creation in Step 2 +The AI skips wallet creation. When you're ready, you can trigger **conversational wallet creation** right in the AI chat at any time — no need to re-run the install command. See [Agent-Wallet Quick Start · Option 1: Conversational Creation](../Agent-Wallet/QuickStart.md). +::: + +:::tip Want to use the other products independently, or self-host? +**The full BANK OF AI product matrix is more than Skills.** To use the other products independently or to self-host the lower layers, see: + +- **LLM Service** (model-access layer): use BANKOFAI APP directly, or connect to the unified API Gateway → [LLM Service Introduction](../llmservice/introduction.md) +- **x402 Payment** (payment protocol): let AI auto-settle micropayments on-chain → [x402 Protocol Introduction](../x402/index.md) +- **8004 Protocol** (identity + reputation): on-chain reputation lookup for Agents → [8004 Protocol Introduction](../8004/general.md) +- **MCP Server local private deployment**: Skills call MCP Server through BANK OF AI's official cloud endpoints by default — no separate install needed. For local deployment, see [TRON MCP — Local Private Deployment](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP — Local Private Deployment](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP — Installation](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) +- **SUN CLI**: a command-line tool with capabilities equivalent to SUN MCP Server, for scripting / automation / CI-CD → [SUN CLI Quick Start](../McpServer-Skills/Tools/SUNCli/QuickStart.md) +::: + --- ## What's Next diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md index 202409a2..ea80234c 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md @@ -3,38 +3,23 @@ 想让你的 AI 客户端拥有 BANK OF AI 链上能力,只需**两步**,不到 **1 分钟**: 1. **粘贴安装指令** → AI 自动完成 Skills 安装 + 检查钱包状态,询问是否创建钱包 -2. **回复 `A`** → AI 自动创建本地加密钱包 - -:::tip 本文只覆盖「工具层」这一条路径 -**BANK OF AI 的完整产品矩阵不止 Skills**——如需独立使用其他产品或对底层做私有化部署,请分别参考: - -- **LLM Service**(模型接入层):直接使用 BANKOFAI APP 或接入统一 API Gateway → [LLM Service 简介](../llmservice/introduction.md) -- **x402 Payment**(支付协议):让 AI 自动在链上完成小额付款 → [x402 协议简介](../x402/index.md) -- **8004 Protocol**(身份与信誉):Agent 链上征信查询 → [8004 协议简介](../8004/general.md) -- **MCP Server 本地私有化部署**:Skills 默认通过 BANK OF AI 官方云端点调用 MCP Server,无需单独安装;若需本地部署,参考 [TRON MCP 本地私有化部署](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP 本地私有化部署](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP 安装](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) -- **SUN CLI**:与 SUN MCP Server 能力对等的命令行工具,面向脚本/自动化/CI-CD 场景 → [SUN CLI 快速开始](../McpServer-Skills/Tools/SUNCli/QuickStart.md) -::: +2. **确认创建钱包** → AI 自动创建本地加密钱包 --- ## 第 1 步:粘贴安装指令 -### 你输入 - -打开你正在用的 AI 客户端(OpenClaw / Claude Code / Cursor / Codex 等任意一个),把下面这段指令完整粘贴进去: +在你正在用的 AI 客户端(OpenClaw / Claude Code / Cursor / Codex 等)里粘贴这段指令: ``` 运行 npx skills add BofAI/skills 安装 BANK OF AI 全部技能,安装完成后使用 bankofai-guide 进行引导后续操作。 注意:请安装到当前 Agent 对应的 skill 目录 ``` -:::tip 也可以在 Telegram 里发送 -如果你已经在 OpenClaw 中配置了 Telegram,同样可以直接在 Telegram 对话窗口中发送这段指令——效果与在桌面客户端中粘贴完全一致。 -::: +AI 会自动安装 Skills,随后问你是否创建钱包。 -### AI 的输出 - -AI 会自动接管整个流程,依次完成 Skills 安装、调用 `bankofai-guide` 检查环境、输出清单并询问是否创建钱包: +
+展开 AI 输出示例 > 好的!我来按照你的要求安装。 > @@ -92,25 +77,16 @@ AI 会自动接管整个流程,依次完成 Skills 安装、调用 `bankofai-g > > 请回复 **A** 或 **B**。 ---- - -## 第 2 步:回复 `A` +
-### 你输入 - -在 AI 对话框中直接输入: - -``` -A -``` +--- -:::info 如果你选择了 `B` -AI 会跳过钱包创建流程,本步骤到此结束。等你准备好时,随时可以在 AI 对话框里触发**对话式创建**——无需重新运行安装指令。详见 [Agent-Wallet 快速开始 · 方式一:对话式创建](../Agent-Wallet/QuickStart.md)。 -::: +## 第 2 步:确认创建钱包 -### AI 的输出 +根据 AI 的提示确认创建钱包(比如回复「创建」「继续」或 AI 给出的选项),AI 会自动创建本地加密钱包,并展示钱包信息、地址、主密码和后续可做的事情。 -AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息、地址、主密码和后续可做的事情: +
+展开 AI 输出示例 > 好的!执行快速设置创建钱包。 > @@ -167,11 +143,7 @@ AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息 > > 需要我帮你查询余额或进行其他操作吗? -:::caution 主密码非常重要,请立即备份 -主密码**仅在此处展示一次**。虽然会自动保存到本地的 `~/.agent-wallet/runtime_secrets.json`,但强烈建议你**同时手动保存到密码管理器**(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将**永久无法解锁**(没有备份找回机制,没有客服,没有后门)。 - -⚠️ **切勿**把这个密码发到聊天工具、邮件、截图或公开仓库中。 -::: +
--- @@ -180,48 +152,13 @@ AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息 打开 AI 对话框,发送一句: ``` -查一下我当前安装了哪些 BANK OF AI Skills? +查一下刚刚创建钱包地址的 TRX 和 USDT 余额。 ``` -如果 AI 能列出所有技能包的名称——**恭喜,所有组件已经就位,可以开始使用。** - ---- - -## 典型使用场景 - -下面这个场景展示 AI 与链上基础设施**通过自然对话**完成复杂任务的完整流程——用户只说一句话,AI 自动调用 Skills 编排流程、Agent Wallet 本地签名、x402 协议结算,返回结构化结果。 +如果 AI 能返回结构化的余额结果——**恭喜,所有组件已经就位,可以开始使用。** -### 给 BANK OF AI 充值(x402 自动结算) - -**🧑 你:** Buy APIKEY Credits On BANK OF AI With USDT - -**🤖 BANK OF AI Agent**(TRON Mainnet): - -> BANK OF AI 通过 **x402** 协议结算 APIKEY 充值。本次充值包为 **10 USDT(TRON 网络)**——我将从你的钱包扣款并写入额度。 -> -> ✅ **x402 payment of 10 USDT confirmed on TRON** -> -> Done!你的 APIKEY 余额已更新: -> -> | 项 | 值 | -> | :-- | :-- | -> | Service | BANK OF AI API | -> | Protocol | x402 | -> | Paid | 10 USDT | -> | Credits added | **+500,000** | -> | APIKEY quota | **750,000 credits** | - -**🧑 你:** Check My USDT Balance - -**🤖:** Your Current Balance: **4,692 USDT**(Mainnet) - -**涉及的产品链路**:`recharge-skill` + `x402-payment`(Skills)→ TRON MCP Server → Agent Wallet - -:::tip 这个场景说明了什么? -- **自然语言即操作** —— 用户从头到尾没连过钱包、没做任何前端操作 -- **Skills 负责编排** —— AI 按 SOP 自动完成付款、签名、额度写入 -- **Agent Wallet 负责安全** —— 所有签名在本机离线完成,私钥永不出本机 -- **x402 按需介入** —— 涉及付费时由 x402 自动完成"先付款、后响应" +:::note 新钱包可能出现的情况 +刚创建的 TRON 地址在首次收到转账前处于「未激活」状态,查询结果可能会显示 **余额 0 / 账户未激活**——这都是正常的,不影响你继续使用 BANK OF AI。 ::: --- @@ -232,8 +169,6 @@ AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息 ### 🔍 链上数据查询(完全免费) -> "查一下我钱包地址的 TRX 和 USDT 余额。" - > "查看这笔交易 abc123... 的执行结果。" > "当前 TRON 全网 TPS 是多少?" @@ -258,14 +193,34 @@ AI 会自动完成钱包创建的全部步骤,并一次性展示钱包信息 --- -## 新手三条铁律 +## 几条提醒 -:::warning 链上交易不可逆,请牢记以下三条 +:::warning 新手三条铁律 · 链上交易不可逆 1. **务必先在测试网验证。** 在 Nile 测试网上先执行 1-2 笔测试交易,确认 AI 行为完全符合预期后,再切换到主网。 2. **每一笔花费操作前,请仔细核对 AI 给出的账单。** 3. **从小额开始。** 即便是已经测试过的操作,首次在主网执行时也建议使用小额资金验证。 ::: +:::caution 主密码非常重要,请立即备份 +主密码**仅在第 2 步展示一次**。虽然会自动保存到本地的 `~/.agent-wallet/runtime_secrets.json`,但强烈建议你**同时手动保存到密码管理器**(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将**永久无法解锁**(没有备份找回机制,没有客服,没有后门)。 + +⚠️ **切勿**把这个密码发到聊天工具、邮件、截图或公开仓库中。 +::: + +:::info 如果你在第 2 步暂时不想创建钱包 +AI 会跳过钱包创建流程。等你准备好时,随时可以在 AI 对话框里触发**对话式创建**——无需重新运行安装指令。详见 [Agent-Wallet 快速开始 · 方式一:对话式创建](../Agent-Wallet/QuickStart.md)。 +::: + +:::tip 想独立使用其他产品或自行部署? +**BANK OF AI 的完整产品矩阵不止 Skills**——如需独立使用其他产品或对底层做私有化部署,请分别参考: + +- **LLM Service**(模型接入层):直接使用 BANKOFAI APP 或接入统一 API Gateway → [LLM Service 简介](../llmservice/introduction.md) +- **x402 Payment**(支付协议):让 AI 自动在链上完成小额付款 → [x402 协议简介](../x402/index.md) +- **8004 Protocol**(身份与信誉):Agent 链上征信查询 → [8004 协议简介](../8004/general.md) +- **MCP Server 本地私有化部署**:Skills 默认通过 BANK OF AI 官方云端点调用 MCP Server,无需单独安装;若需本地部署,参考 [TRON MCP 本地私有化部署](../McpServer-Skills/MCP/TRONMCPServer/LocalPrivatizedDeployment.md) · [SUN MCP 本地私有化部署](../McpServer-Skills/MCP/SUNMCPServer/LocalPrivatizedDeployment.md) · [BSC MCP 安装](../McpServer-Skills/MCP/BSCMCPServer/Installation.md) +- **SUN CLI**:与 SUN MCP Server 能力对等的命令行工具,面向脚本/自动化/CI-CD 场景 → [SUN CLI 快速开始](../McpServer-Skills/Tools/SUNCli/QuickStart.md) +::: + --- ## 下一步 From a72b6615055aad0014b21cb2776b15406dc05b34 Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Thu, 16 Apr 2026 19:37:31 +0800 Subject: [PATCH 4/8] add bankofai --- docs/BANK-OF-AI/QuickStart.md | 2 +- .../current/BANK-OF-AI/QuickStart.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/BANK-OF-AI/QuickStart.md b/docs/BANK-OF-AI/QuickStart.md index 63955aaa..90821a49 100644 --- a/docs/BANK-OF-AI/QuickStart.md +++ b/docs/BANK-OF-AI/QuickStart.md @@ -155,7 +155,7 @@ Open your AI chat and send: Check the TRX and USDT balances of the wallet address you just created. ``` -If the AI returns a structured balance result — **congrats, the full stack is live and ready to use.** +If the AI returns the balance — **congrats, the full stack is live and ready to use.** :::note What a brand-new wallet may show A TRON address that has never received any transfer is considered **not activated**, so the query may report **balance 0 / account not activated**. This is completely normal for a fresh wallet and doesn't prevent you from using BANK OF AI. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md index ea80234c..adcad31e 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/QuickStart.md @@ -155,7 +155,7 @@ AI 会自动安装 Skills,随后问你是否创建钱包。 查一下刚刚创建钱包地址的 TRX 和 USDT 余额。 ``` -如果 AI 能返回结构化的余额结果——**恭喜,所有组件已经就位,可以开始使用。** +如果 AI 能返回余额结果——**恭喜,所有组件已经就位,可以开始使用。** :::note 新钱包可能出现的情况 刚创建的 TRON 地址在首次收到转账前处于「未激活」状态,查询结果可能会显示 **余额 0 / 账户未激活**——这都是正常的,不影响你继续使用 BANK OF AI。 From c7c6683c256c2228d14e446a7654efb26d3b40d4 Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Thu, 16 Apr 2026 20:05:13 +0800 Subject: [PATCH 5/8] add bankofai --- docs/Agent-Wallet/QuickStart.md | 44 ++---------- .../MCP/SUNMCPServer/QuickStart.md | 4 -- .../MCP/TRONMCPServer/QuickStart.md | 4 -- docs/McpServer-Skills/SKILLS/QuickStart.md | 68 ++---------------- .../current/Agent-Wallet/QuickStart.md | 44 ++---------- .../MCP/SUNMCPServer/QuickStart.md | 4 -- .../MCP/TRONMCPServer/QuickStart.md | 4 -- .../McpServer-Skills/SKILLS/QuickStart.md | 70 ++----------------- 8 files changed, 20 insertions(+), 222 deletions(-) diff --git a/docs/Agent-Wallet/QuickStart.md b/docs/Agent-Wallet/QuickStart.md index 5e508e9c..5f936eee 100644 --- a/docs/Agent-Wallet/QuickStart.md +++ b/docs/Agent-Wallet/QuickStart.md @@ -5,8 +5,9 @@ import TabItem from '@theme/TabItem'; From zero to invoking your Agent-wallet in your AI agent chat. We provide two ways to create your wallet — **conversational setup is the easiest**, done entirely from your AI chat; **command-line setup** gives you the most precise control. -:::tip Want CLI command details? -This page only walks you through the shortest path. For password-free configuration, managing multiple wallets, signature types, and other advanced topics, see the [CLI Reference](./Developer/CLI-Reference.md). +:::tip Prerequisites & CLI command details +- Your AI Agent supports shell command execution (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.) +- This page only walks you through the shortest path. For password-free configuration, managing multiple wallets, signature types, and other advanced topics, see the [CLI Reference](./Developer/CLI-Reference.md). ::: --- @@ -15,11 +16,6 @@ This page only walks you through the shortest path. For password-free configurat If you've already installed [the BANK OF AI skill suite](../McpServer-Skills/SKILLS/QuickStart.md) (which includes `agent-wallet` and `bankofai-guide`), creating a wallet takes just one prompt in your AI chat — the AI generates the password, creates the wallet, and saves the config for you, with no manual file editing. -:::tip Prerequisites -- BANK OF AI skills installed (see [SKILLS Quick Start](../McpServer-Skills/SKILLS/QuickStart.md)) -- Your AI Agent supports shell command execution (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.) -::: - **How it works:** 1. Open your AI Agent chat @@ -39,39 +35,11 @@ If you've already installed [the BANK OF AI skill suite](../McpServer-Skills/SKI - **Step 2**: Create the wallet - **Step 3**: Retrieve the wallet addresses -**When done, you'll see output like this:** - -```text -🎉 Agent Wallet created successfully! - -| Field | Detail | -| -------- | -------------------------- | -| Wallet ID| default_local_secure | -| Type | local_secure (encrypted) | -| Status | ✅ Active | -Wallet addresses - -| Network | Address | -| ------- | --------------------------------------------------- | -| EVM | 0x1339Df9ac21E494b39Be47d012A3f33fb9188366 | -| TRON | TBisApdFay75x3FXNWiG8UE75KzhnFLceY | - -💡 The EVM address works on every EVM-compatible chain (Ethereum, BSC, Base, Polygon, Arbitrum, etc.) - -🔐 Wallet password - -$mU80m9fLYB5 - -⚠️ Important: -• This password encrypts the private key stored locally -• Signing transactions, resolving addresses, and every other operation requires this password -• The password is auto-saved to ~/.agent-wallet/runtime_secrets.json -• Back up the password yourself! If runtime_secrets is ever deleted, the password is the only way to recover the wallet -``` +:::caution Your master password is critical — back it up immediately +The master password is only shown once. Although it is auto-saved to `~/.agent-wallet/runtime_secrets.json`, you should also save it manually to a password manager (1Password, Bitwarden, etc.). If the local file is lost or corrupted and you have no external backup, your wallet will be permanently locked — there is no recovery mechanism, no support team, and no backdoor. -:::caution Back up your wallet password! -Even though the password is auto-saved to `~/.agent-wallet/runtime_secrets.json`, **you still must copy it separately** into a password manager (1Password, Bitwarden, etc.). If that file is ever accidentally deleted, your disk fails, or you reinstall your OS, the password is gone — and so is access to your wallet's assets, permanently. +⚠️ Never share this password via chat, email, screenshots, or public repositories. ::: :::tip Done — no env-var configuration needed diff --git a/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md b/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md index d9c66bf6..6f1a689a 100644 --- a/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md +++ b/docs/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md @@ -19,10 +19,6 @@ Before you get started, make sure you have: The easiest way to install is by **simply chatting with your AI Agent** — no need to open a terminal yourself, no manual file copying. If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you're set. -:::tip Prerequisite -**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. -::: - **How it works:** 1. Open your AI Agent chat diff --git a/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md b/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md index 523afc30..0b5c458a 100644 --- a/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md +++ b/docs/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md @@ -25,10 +25,6 @@ node --version # should output v20.x.x or higher The easiest way to install is by **simply chatting with your AI Agent** — no need to open a terminal yourself, no manual file copying. If you're already using an AI Agent that can run shell commands (OpenClaw, a Telegram bot, web chat, Claude Code, Cursor, etc.), you're set. -:::tip Prerequisite -**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. -::: - **How it works:** 1. Open your AI Agent chat diff --git a/docs/McpServer-Skills/SKILLS/QuickStart.md b/docs/McpServer-Skills/SKILLS/QuickStart.md index 35c51376..594a4fc5 100644 --- a/docs/McpServer-Skills/SKILLS/QuickStart.md +++ b/docs/McpServer-Skills/SKILLS/QuickStart.md @@ -4,6 +4,10 @@ Get your AI up and running with BANK OF AI SKILLS in **2 steps** and less than * --- +:::tip Prerequisite +**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. +::: + ## Step 1: Install the Skills We provide three installation methods. **Pick the one that matches your level of comfort** — the conversational install is the easiest; the interactive install gives you the most control. @@ -12,10 +16,6 @@ We provide three installation methods. **Pick the one that matches your level of If you're already using a Skills-compatible AI Agent (OpenClaw, a Telegram bot, web chat, or any client that supports running shell commands), you can install everything by **simply chatting with the AI** — no need to open a terminal yourself, no manual file copying. -:::tip Prerequisite -**Node.js is required** on the machine where the AI Agent runs (the Agent uses `npx` under the hood). If Node.js isn't installed yet, grab the LTS installer from [nodejs.org](https://nodejs.org) — install once, double-click and follow the prompts. -::: - **How it works:** 1. Open your AI Agent chat @@ -30,66 +30,6 @@ If you're already using a Skills-compatible AI Agent (OpenClaw, a Telegram bot, - Pulls the `BofAI/skills` repository - Detects your current Agent's skills directory (e.g. `~/.openclaw/workspace/.agents/skills/`) - Installs all 11 BANK OF AI skills (`agent-wallet`, `sunswap-dex-trading`, `x402-payment`, `bankofai-guide`, etc.) - - Invokes the `bankofai-guide` skill to onboard you: - - **Step 1**: Install the Agent Wallet CLI - - **Step 2**: Check your wallet state - - **Step 3**: If no wallet exists, prompt you to set one up (reply **A** = quick setup in ~10 seconds, reply **B** = skip for now and create later) - -**Example dialog:** - -![Conversational install via AI Agent](./image/conversational-install.png) - -Or in plain text, the response looks like: - -``` -> Run npx skills add BofAI/skills to install all BANK OF AI skills... - -✅ 11 BANK OF AI skills installed! - -Now using bankofai-guide for onboarding: - -🎉 BANK OF AI Skills Installation Complete! - -11 skills installed to ~/.openclaw/workspace/.agents/skills/: - -| Skill | Purpose | -|------------------------------------|---------------------| -| agent-wallet | Wallet management | -| bankofai-guide | Onboarding guide | -| multi-sig-account-permissions | TRON multi-sig | -| recharge-skill | BANK OF AI recharge | -| sunperp-perpetual-futures-trading | SunPerp trading | -| sunswap-dex-trading | SunSwap DEX | -| trc20-token-toolkit | TRC20 token tools | -| tronscan-data-lookup | TronScan queries | -| trx-staking-sr-voting | TRX staking | -| usdd-just-protocol | USDD/JUST protocol | -| x402-payment | x402 payments | - -Step 1: Install Agent Wallet CLI -✅ Agent Wallet CLI installed! - -Step 2: Check Wallet State - -📋 Wallet Status Check -Status: ⚠️ No wallets configured - -A wallet is required for transfers and trading. - -Would you like to set up a wallet now? - -A. Yes - Create a wallet (Quick setup recommended, ~10 seconds) -B. No - Skip for now, you can create one later - -Please reply A or B. -``` - -**After the prompt:** - -- Reply `A` → the AI walks you through wallet creation (quick setup recommended, ~10 seconds) -- Reply `B` → skip for now; you can create one any time later - -That's it — once the guide finishes, all skills are ready to use. :::tip Why this is the recommended path for beginners You don't need to know what `npx`, `npm`, or "global install" mean. The AI handles every step including selecting the right skills directory for your platform, installing the wallet CLI, and onboarding you to your first wallet. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md index 34e6e138..db1e253e 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/Agent-Wallet/QuickStart.md @@ -5,8 +5,9 @@ import TabItem from '@theme/TabItem'; 从零到在 AI 代理对话框里唤醒你的 Agent-wallet。我们提供了两种创建钱包的方式——**对话式创建最简单**,全程在 AI 对话框里完成;**命令行创建**则给你最精细的控制。 -:::tip 想看 CLI 命令细节? -本页只带你跑通最短路径。免密配置、管理多个钱包、签名类型等进阶内容,请看 [CLI 命令行手册](./Developer/CLI-Reference.md)。 +:::tip 前置依赖 & CLI 命令细节 +- 你的 AI Agent 支持 shell 命令执行(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等) +- 本页只带你跑通最短路径。免密配置、管理多个钱包、签名类型等进阶内容,请看 [CLI 命令行手册](./Developer/CLI-Reference.md)。 ::: --- @@ -15,11 +16,6 @@ import TabItem from '@theme/TabItem'; 如果你已经安装了 [BANK OF AI 全部技能](../McpServer-Skills/SKILLS/QuickStart.md)(包含 `agent-wallet` 和 `bankofai-guide`),那么创建钱包只需要在 AI 对话框里发一句话就行——AI 会自动帮你生成密码、创建钱包、保存配置,全程无需手动改文件。 -:::tip 前置依赖 -- 已安装 BANK OF AI 技能库(参见 [SKILLS 快速开始](../McpServer-Skills/SKILLS/QuickStart.md)) -- 你的 AI Agent 支持 shell 命令执行(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等) -::: - **操作步骤:** 1. 打开你的 AI Agent 对话框 @@ -39,39 +35,11 @@ import TabItem from '@theme/TabItem'; - **步骤 2**:创建钱包 - **步骤 3**:获取钱包地址 -**完成后你会看到类似下面的输出:** - -```text -🎉 Agent Wallet 创建成功! - -| 项目 | 详情 | -| -------- | -------------------------- | -| 钱包 ID | default_local_secure | -| 类型 | local_secure(安全加密) | -| 状态 | ✅ 已激活 | -钱包地址 - -| 网络 | 地址 | -| ---- | --------------------------------------------------- | -| EVM | 0x1339Df9ac21E494b39Be47d012A3f33fb9188366 | -| TRON | TBisApdFay75x3FXNWiG8UE75KzhnFLceY | - -💡 EVM 地址支持所有 EVM 兼容链 (Ethereum、BSC、Base、Polygon、Arbitrum 等) - -🔐 钱包密码 - -$mU80m9fLYB5 - -⚠️ 重要提示: -• 此密码用于加密本地存储的私钥 -• 签名交易、解析地址等所有操作都需要此密码 -• 密码已自动保存到 ~/.agent-wallet/runtime_secrets.json -• 请务必备份密码!如果 runtime_secrets 文件被删除,密码是恢复钱包的唯一方式 -``` +:::caution 主密码非常重要,请立即备份 +主密码仅展示一次。虽然会自动保存到本地的 `~/.agent-wallet/runtime_secrets.json`,但强烈建议你同时手动保存到密码管理器(1Password / Bitwarden 等)——一旦本地文件丢失或损坏,且没有外部备份,你的钱包将永久无法解锁(没有备份找回机制,没有客服,没有后门)。 -:::caution 备份你的钱包密码! -即使密码已经被自动保存到 `~/.agent-wallet/runtime_secrets.json`,**你仍然必须把它单独抄一份**到密码管理器(1Password、Bitwarden 等)。这个文件一旦被误删、磁盘损坏或重装系统,密码就找不回来了——你的钱包资产也将永久无法访问。 +⚠️ 切勿把这个密码发到聊天工具、邮件、截图或公开仓库中。 ::: :::tip 完成即可用,无需配置环境变量 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md index eaa80074..b2e13812 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/SUNMCPServer/QuickStart.md @@ -19,10 +19,6 @@ 最简单的安装方式是**直接在 AI Agent 对话框里让 AI 完成**——不用自己打开终端,不用手动复制文件。如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),这一步即可搞定。 -:::tip 前置依赖 -**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 -::: - **操作步骤:** 1. 打开你的 AI Agent 对话框 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md index 81265574..79ef15e0 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/MCP/TRONMCPServer/QuickStart.md @@ -25,10 +25,6 @@ node --version # 应输出 v20.x.x 或更高 最简单的安装方式是**直接在 AI Agent 对话框里让 AI 完成**——不用自己打开终端,不用手动复制文件。如果你已经在使用支持 shell 命令的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面、Claude Code、Cursor 等),这一步即可搞定。 -:::tip 前置依赖 -**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 -::: - **操作步骤:** 1. 打开你的 AI Agent 对话框 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md index 814898d8..f86cc27e 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/QuickStart.md @@ -4,6 +4,10 @@ --- +:::tip 前置依赖 +**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 +::: + ## 第 1 步:安装技能库 我们提供了三种安装方式。**根据你的使用习惯选一种即可**——对话式安装最简单;交互式安装控制最精细。 @@ -12,10 +16,6 @@ 如果你已经在使用支持 Skills 的 AI Agent(OpenClaw、Telegram Bot、Web 聊天页面,或任何能执行 shell 命令的客户端),你可以**直接在对话框里让 AI 完成安装**——不用自己打开终端,不用手动复制文件。 -:::tip 前置依赖 -**需要在 AI Agent 运行的机器上安装 Node.js**(Agent 内部会调用 `npx`)。如果还没装,去 [nodejs.org](https://nodejs.org) 下载 LTS 安装包,双击按提示装一次即可,后续无需再操作。 -::: - **操作步骤:** 1. 打开你的 AI Agent 对话框 @@ -30,68 +30,6 @@ - 拉取 `BofAI/skills` 仓库 - 自动检测当前 Agent 对应的 skills 目录(如 `~/.openclaw/workspace/.agents/skills/`) - 安装全部 11 个 BANK OF AI 技能(`agent-wallet`、`sunswap-dex-trading`、`x402-payment`、`bankofai-guide` 等) - - 调用 `bankofai-guide` 技能进行引导: - - **步骤 1**:安装 Agent Wallet CLI - - **步骤 2**:检查钱包状态 - - **步骤 3**:如果还没有钱包,引导你立即创建(选项 **A** = 自动快速设置,约 10 秒;选项 **B** = 稍后设置) - -**示例对话:** - -![通过 AI Agent 对话式安装](./image/conversational-install.png) - -或者纯文本展示,AI 的回复大致如下: - -``` -> 运行 npx skills add BofAI/skills 安装 BANK OF AI 全部技能... - -✅ 11 个 BANK OF AI 技能安装完成! - -🎉 BANK OF AI 技能安装完成! - -已成功安装 11 个技能到 ~/.openclaw/workspace/.agents/skills/: - -| 技能 | 用途 | -|-----------------------------------|-------------------| -| agent-wallet | 通用钱包管理 | -| bankofai-guide | 本引导技能 | -| multi-sig-account-permissions | TRON 多签权限 | -| recharge-skill | BANK OF AI 充值 | -| sunperp-perpetual-futures-trading | SunPerp 永续合约 | -| sunswap-dex-trading | SunSwap DEX 交易 | -| trc20-token-toolkit | TRC20 代币工具 | -| tronscan-data-lookup | TronScan 数据查询 | -| trx-staking-sr-voting | TRX 质押投票 | -| usdd-just-protocol | USDD/JUST 协议 | -| x402-payment | x402 支付 | - -步骤 1: 安装 Agent Wallet CLI -✅ Agent Wallet CLI 安装完成! - -步骤 2: 检查钱包状态 - -📋 钱包状态检查 -当前状态:⚠️ 没有配置钱包 - -要进行转账和交易,你需要创建一个 Agent Wallet。 - -请选择: - -A. 立即创建钱包(推荐) - • 快速设置:全自动,约 10 秒完成 - • 详细设置:自定义配置 - -B. 稍后设置 - • 你可以随时回来创建钱包 - -请回复 A 或 B。 -``` - -**完成后选择:** - -- 输入 `A` → AI 引导你完成钱包创建(自动或自定义) -- 输入 `B` → 跳过钱包配置,需要时再回来创建 - -引导走完后,所有技能即可正常使用。 :::tip 这是新手最推荐的路径 你不需要懂 `npx`、`npm` 是什么,也不用关心"全局安装"是什么意思。AI 会处理每一步,包括为你的平台选对 skills 目录、安装钱包 CLI、引导你完成首个钱包配置。 From c53bdfe2a7c3e5dc14a6a20168dbb0f06912ad1c Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Thu, 16 Apr 2026 20:20:22 +0800 Subject: [PATCH 6/8] add skills --- docs/McpServer-Skills/SKILLS/BANKOFAISkill.md | 83 +++++++++++++++++++ docs/McpServer-Skills/SKILLS/Intro.md | 18 +++- .../McpServer-Skills/SKILLS/BANKOFAISkill.md | 83 +++++++++++++++++++ .../current/McpServer-Skills/SKILLS/Intro.md | 18 +++- 4 files changed, 200 insertions(+), 2 deletions(-) diff --git a/docs/McpServer-Skills/SKILLS/BANKOFAISkill.md b/docs/McpServer-Skills/SKILLS/BANKOFAISkill.md index 98a0ab21..1b000d61 100644 --- a/docs/McpServer-Skills/SKILLS/BANKOFAISkill.md +++ b/docs/McpServer-Skills/SKILLS/BANKOFAISkill.md @@ -21,6 +21,8 @@ BANK OF AI SKILLS can operate on **real on-chain assets**. Blockchain transactio | **sunperp-skill** | Market data, open/close positions, withdrawals | Market data: none. Trading: SunPerp API keys | | **tronscan-skill** | Look up accounts, transactions, tokens, blocks, network stats | Recommended: TronScan API key (may throttle without one) | | **trc20-toolkit-skill** | Transfer tokens, check balances, manage approvals for any TRC20 token | Read-only: none. Transfers/approvals: wallet credentials | +| **usdd-skill** | USDD stablecoin — PSM swaps (1:1 USDT ↔ USDD), vault queries, balance checks | Read-only: none. PSM swaps: wallet credentials | +| **trx-staking-skill** | Stake TRX, vote for Super Representatives, claim voting rewards | Wallet credentials | | **multisig-permissions** | Multi-sig permission setup, key management, co-signed proposals | Wallet credentials (owner key for permission changes) | | **x402-payment** | On-chain "pay-first" auto-settlement | Wallet credentials | | **recharge-skill** | Balance, order history, account top-up | BANK OF AI API key | @@ -234,6 +236,87 @@ Need to check balances, transfer tokens, or manage approvals for any TRC20 token --- +## usdd-skill {#usdd-skill} + +Want to work with **USDD**, TRON's over-collateralized stablecoin? This skill handles the JUST Protocol's Peg Stability Module (PSM) for 1:1 USDT ↔ USDD swaps, reads vault (CDP) positions and protocol parameters, and checks USDD/USDT/USDC/TRX/JST balances. + +**Completely safe — looking only, no spending:** + +> Show me PSM state: current fees, USDT reserves, and USDD total supply. + +> Check my USDD, USDT, and JST balances. + +> Show all USDD vault types (TRX-A, TRX-B, sTRX-A, USDT-A, etc.) with their debt ceilings and stability fees. + +> Show me CDP position #42 — collateral locked, debt, and collateralization ratio. + +**Requires your confirmation (AI shows the bill first):** + +> Swap 1000 USDT for 1000 USDD via the PSM (zero fee). + +> Redeem 500 USDD back to 500 USDT via the PSM. + +**Real-world scenarios:** + +> Getting into USDD for the first time? Try: "Sell 1000 USDT for USDD via PSM" — 1:1 swap, currently zero fee, auto-handles TRC20 approval. + +> Checking vault health? Try: "Show me all vault types and their current stability fees." (TRX-A/B/C = 5%, sTRX-A = 1%, USDT-A = 0%) + +> Following a specific CDP? Try: "Check CDP #42's collateralization ratio." + +:::tip PSM vs. vaults +The PSM gives you **instant 1:1 USDT ↔ USDD** swaps — the easiest way to get USDD. Vault/CDP positions (minting USDD against collateral like TRX) are read-only in this skill — you can query them but not open, draw, or repay directly. +::: + +:::caution PSM reserves can be depleted +Before redeeming USDD for USDT, check `psm-info` — if USDT reserves are low, `buyGem` may fail. The skill handles 18-decimal USDD vs. 6-decimal USDT normalization automatically. +::: + +--- + +## trx-staking-skill {#trx-staking-skill} + +Want to earn rewards by participating in TRON's governance? This skill stakes TRX for **TRON Power (TP)**, votes for Super Representatives (SRs), and claims voting rewards. TRON uses Delegated Proof of Stake — the top 27 SRs produce blocks and distribute rewards proportionally to their voters every 6 hours. + +**Completely safe — looking only, no spending:** + +> Show my staking overview: TRON Power, frozen TRX, current votes, and pending rewards. + +> List the top 27 active Super Representatives. + +> Show the top 50 SRs including partners. + +> Check the staking status for address TXX.... + +**Requires your confirmation:** + +> Vote all my TRON Power for SR address TSRAddress. + +> Split my votes 60% to TSR1 and 40% to TSR2. + +> Claim my pending voting rewards. + +**Real-world scenarios:** + +> First time voting? Try: "List the top 10 SRs, then dry-run a vote for TSRAddress before confirming." + +> Want to diversify? Try: "Split my votes 50/50 between TSR1 and TSR2." Each vote transaction replaces all previous votes — the new slate is complete. + +> Collecting rewards? Try: "Check my pending rewards, then claim them." Rewards are separate from unstake withdrawals. + +:::tip Key facts +- 1 frozen TRX = 1 TRON Power (TP) +- Voting rewards are distributed every 6 hours +- Votes **replace** all previous votes — each vote is a full slate +- Stake 2.0 compatible: reads `frozenV2[]` and uses `voteWitnessAccount` +::: + +:::danger 14-day unbonding period +When TRX is unstaked (via the companion staking flow), it enters a **14-day cooldown** during which it is locked and earns no resources or voting power. After 14 days, you must manually call `withdrawExpireUnfreeze` to reclaim the TRX — it does not return automatically. Unstaking also removes the corresponding TRON Power, which invalidates any active votes that depend on it. +::: + +--- + ## multisig-permissions {#multisig-permissions} Want to add multi-signature protection to your TRON account? This skill manages TRON's native three-tier permission model (Owner, Active, Witness) — configure keys, set thresholds, scope operation permissions, and coordinate multi-party co-signing. Perfect for team wallets or restricting your AI agent to DeFi-only operations. diff --git a/docs/McpServer-Skills/SKILLS/Intro.md b/docs/McpServer-Skills/SKILLS/Intro.md index 4df5b376..078af66f 100644 --- a/docs/McpServer-Skills/SKILLS/Intro.md +++ b/docs/McpServer-Skills/SKILLS/Intro.md @@ -57,7 +57,7 @@ No. Skills use an **on-demand, lightweight architecture** — the AI only loads ## What Can Skills Do for You? -Eight core skills covering the most common scenarios in the TRON ecosystem. Each one comes with a ready-to-use sample prompt — copy it into your AI chat and hit enter to try it out. +Ten core skills covering the most common scenarios in the TRON ecosystem. Each one comes with a ready-to-use sample prompt — copy it into your AI chat and hit enter to try it out. ### 🔑 Secure Wallet Management @@ -99,6 +99,22 @@ Check balances, transfer tokens, manage approvals for any TRC20 token — USDT, 💡 For more token operations, see: [**trc20-toolkit-skill**](./BANKOFAISkill.md#trc20-toolkit-skill) +### 💵 USDD Stablecoin & JUST Protocol + +Swap USDT ↔ USDD at 1:1 via the Peg Stability Module (zero fee currently), check USDD/USDT/USDC/TRX/JST balances, and read vault (CDP) positions and protocol parameters. + +> 🗣️ "Sell 1000 USDT for USDD via the PSM" or "Show me all USDD vault types and their stability fees." + +💡 For PSM swaps and vault queries, see: [**usdd-skill**](./BANKOFAISkill.md#usdd-skill) + +### 🗳️ TRX Staking & SR Voting + +Stake TRX for TRON Power, vote for Super Representatives, and claim voting rewards. Stake 2.0 compatible — top 27 SRs distribute block rewards every 6 hours proportionally to their voters. + +> 🗣️ "Show my TRON Power and current votes, then list the top 10 SRs." or "Claim my pending voting rewards." + +💡 For staking, voting, and reward flows, see: [**trx-staking-skill**](./BANKOFAISkill.md#trx-staking-skill) + ### 🔐 Multi-Sig & Account Permissions Set up multi-signature security for your TRON account — configure keys, thresholds, and co-sign transactions. Perfect for teams or for restricting your AI agent to DeFi-only operations. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/BANKOFAISkill.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/BANKOFAISkill.md index 9a0aa29f..d4a650c7 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/BANKOFAISkill.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/BANKOFAISkill.md @@ -21,6 +21,8 @@ BANK OF AI SKILLS 可以操作**真实的链上资产**。区块链交易一旦 | **sunperp-skill** | 看行情、开仓、平仓、提现 | 看行情不需要;交易需要 SunPerp 密钥 | | **tronscan-skill** | 查账户、交易、代币、区块、全网数据 | 建议配置 TronScan API 密钥(不配可能卡顿) | | **trc20-toolkit-skill** | 转代币、查余额、管理授权,支持任意 TRC20 代币 | 查询不需要;转账/授权需要钱包凭证 | +| **usdd-skill** | USDD 稳定币——PSM 1:1 USDT ↔ USDD 兑换、金库查询、余额查看 | 查询不需要;PSM 兑换需要钱包凭证 | +| **trx-staking-skill** | 质押 TRX、投票给超级代表、领取投票奖励 | 需要钱包凭证 | | **multisig-permissions** | 多签权限配置、密钥管理、多方共签提案 | 需要钱包凭证(权限变更需要 Owner 密钥) | | **x402-payment** | 链上"先付后用"自动结算 | 需要钱包凭证 | | **recharge-skill** | 查余额、看订单、充值 | 需要 BANK OF AI 密钥 | @@ -234,6 +236,87 @@ Agent Wallet 会用主密码加密你的私钥。即使别人拿到了你的文 --- +## usdd-skill {#usdd-skill} + +想玩转 TRON 生态的超额抵押稳定币 **USDD**?这个技能基于 JUST Protocol,支持通过 PSM(Peg Stability Module)进行 1:1 USDT ↔ USDD 兑换,查询金库(CDP)仓位和协议参数,查看 USDD/USDT/USDC/TRX/JST 余额。 + +**绝对安全,只看不花钱:** + +> 帮我看看 PSM 当前状态:费率、USDT 储备金、USDD 总供应量。 + +> 查一下我的 USDD、USDT 和 JST 余额。 + +> 列出所有 USDD 金库类型(TRX-A、TRX-B、sTRX-A、USDT-A 等),以及它们的债务上限和稳定费率。 + +> 查一下 CDP 仓位 #42 的抵押品、债务和抵押率。 + +**需要你确认才会执行(AI 会先把账单给你看):** + +> 通过 PSM 用 1000 USDT 兑换 1000 USDD(零手续费)。 + +> 通过 PSM 把 500 USDD 赎回成 500 USDT。 + +**实战场景:** + +> 第一次接触 USDD? "帮我通过 PSM 用 1000 USDT 换成 USDD"——1:1 兑换,目前零手续费,自动处理 TRC20 授权。 + +> 查看金库健康度? "帮我列出所有金库类型和它们的稳定费率。"(TRX-A/B/C = 5%,sTRX-A = 1%,USDT-A = 0%) + +> 关注某个具体 CDP? "查一下 CDP #42 的抵押率。" + +:::tip PSM vs. 金库 +PSM 支持 **USDT ↔ USDD 即时 1:1 兑换**——是获取 USDD 最简单的方式。金库/CDP 仓位(通过抵押 TRX 等资产铸造 USDD)在本技能中为只读——你可以查询,但不能直接开仓、抵押、还款。 +::: + +:::caution PSM 储备可能枯竭 +用 USDD 赎回 USDT 前,先用 `psm-info` 查一下——如果 USDT 储备不足,`buyGem` 会失败。USDD(18 位精度)和 USDT(6 位精度)的差异,技能会自动处理。 +::: + +--- + +## trx-staking-skill {#trx-staking-skill} + +想通过参与 TRON 治理赚取收益?这个技能帮你质押 TRX 换取 **TRON Power(TP)**、投票给超级代表(SR),以及领取投票奖励。TRON 采用 DPoS(委托权益证明)——得票前 27 名的超级代表负责出块,并按得票比例每 6 小时分配一次奖励给投票人。 + +**绝对安全,只看不花钱:** + +> 帮我查看我的质押概况:TRON Power、冻结的 TRX、当前投票情况和待领取奖励。 + +> 列出排名前 27 的活跃超级代表。 + +> 列出排名前 50 的超级代表(包括合作伙伴节点)。 + +> 查询地址 TXX... 的质押状态。 + +**需要你确认才会执行:** + +> 把我的 TRON Power 全部投票给 SR 地址 TSRAddress。 + +> 把我的票拆分:60% 给 TSR1,40% 给 TSR2。 + +> 帮我领取待结算的投票奖励。 + +**实战场景:** + +> 第一次投票? "帮我列出前 10 名超级代表,然后 dry-run 一次投票 TSRAddress 再确认。" + +> 想分散投票? "帮我把票 50/50 分给 TSR1 和 TSR2。"每次投票都会**完整替换**之前的投票——每次提交的都是新的全量投票清单。 + +> 领取奖励? "查一下我的待领取奖励,然后领取。"(奖励和解锁提取是两回事) + +:::tip 关键知识点 +- 1 个冻结的 TRX = 1 TRON Power(TP) +- 投票奖励每 6 小时分配一次 +- 投票会**完全替换**之前的投票——每次都是新的全量清单 +- 兼容 Stake 2.0:读取 `frozenV2[]`,使用 `voteWitnessAccount` +::: + +:::danger 14 天解锁期 +当 TRX 被解除质押后(通过配套的质押流程),会进入 **14 天冷冻期**——期间既不产生任何资源,也不贡献任何投票权。14 天后,你必须手动调用 `withdrawExpireUnfreeze` 才能把 TRX 取回——不会自动到账。同时,解除质押会移除对应的 TRON Power,导致依赖这部分票数的投票失效。 +::: + +--- + ## multisig-permissions {#multisig-permissions} 想给你的 TRON 账户加上多重签名保护?这个技能帮你管理 TRON 原生的三级权限模型(Owner、Active、Witness)——配置密钥、设定签名阈值、限定操作范围,然后通过"发起提案 → 审批签名 → 执行"的流程完成多方共签。非常适合团队钱包,或者限制 AI 只能做 DeFi 操作。 diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/Intro.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/Intro.md index f8ae722a..87160ecc 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/Intro.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/McpServer-Skills/SKILLS/Intro.md @@ -57,7 +57,7 @@ ## 目前 Skills 能帮你干什么? -八大核心技能,覆盖 TRON 生态最常用的场景。每个技能都配了一句"参考话术"——复制到 AI 对话框里回车就能体验。 +十大核心技能,覆盖 TRON 生态最常用的场景。每个技能都配了一句"参考话术"——复制到 AI 对话框里回车就能体验。 ### 🔑 安全钱包管理 @@ -99,6 +99,22 @@ 💡 如需了解更多代币操作,请查看:[**trc20-toolkit-skill**](./BANKOFAISkill.md#trc20-toolkit-skill) +### 💵 USDD 稳定币与 JUST 协议 + +通过 PSM(Peg Stability Module)进行 1:1 的 USDT ↔ USDD 兑换(目前零手续费),查看 USDD/USDT/USDC/TRX/JST 余额,以及查询金库(CDP)仓位和协议参数。 + +> 🗣️ "帮我通过 PSM 用 1000 USDT 换成 USDD" 或 "帮我列出所有 USDD 金库类型和它们的稳定费率。" + +💡 如需了解 PSM 兑换和金库查询,请查看:[**usdd-skill**](./BANKOFAISkill.md#usdd-skill) + +### 🗳️ TRX 质押与超级代表投票 + +质押 TRX 换取 TRON Power,给超级代表投票,领取投票奖励。兼容 Stake 2.0——得票前 27 名的超级代表每 6 小时按得票比例分配区块奖励给投票人。 + +> 🗣️ "查一下我的 TRON Power 和当前投票情况,然后列出前 10 名超级代表。" 或 "帮我领取待结算的投票奖励。" + +💡 如需了解质押、投票与奖励流程,请查看:[**trx-staking-skill**](./BANKOFAISkill.md#trx-staking-skill) + ### 🔐 多签与账户权限管理 给你的 TRON 账户加上多重签名保护——配置密钥、设定阈值、协调多方共签。非常适合团队钱包,或者限制 AI 只能执行 DeFi 操作。 From f4914e01ebf3389314098d73fd2c99aac4de272e Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Fri, 17 Apr 2026 15:06:41 +0800 Subject: [PATCH 7/8] add bankofai --- docs/BANK-OF-AI/Intro.md | 57 ++++++------------- .../current/BANK-OF-AI/Intro.md | 57 ++++++------------- 2 files changed, 34 insertions(+), 80 deletions(-) diff --git a/docs/BANK-OF-AI/Intro.md b/docs/BANK-OF-AI/Intro.md index 5b58c8aa..9d57cc46 100644 --- a/docs/BANK-OF-AI/Intro.md +++ b/docs/BANK-OF-AI/Intro.md @@ -2,18 +2,16 @@ ## BANK OF AI in One Sentence -**BANK OF AI is the infrastructure that gives AI real Web3 capabilities.** +**BANK OF AI — Your Web3 Gateway to AI.** -Core positioning: **Your Web3 Gateway to AI.** - -BANK OF AI gives your AI four core capabilities: +One entry point gives your AI four core capabilities at once: - 💸 **Payment** — pay in crypto (x402) - 🪪 **Identity** — a verifiable on-chain identity and reputation (8004) -- ⚙️ **Action** — the full set of on-chain atomic capabilities, plus orchestration (Skills + MCP Server + Agent Wallet) -- 🧠 **Cognition** — one unified entry point to all leading LLMs (LLM Service) +- ⚙️ **Action** — call the full set of on-chain atomic capabilities, plus orchestration (Skills + MCP Server + Agent Wallet) +- 🧠 **Cognition** — every top-tier LLM in one account (LLM Service) -You don't need to write code, switch wallets, or hop between multiple dApps — just hand the task to your AI, and BANK OF AI's full stack does the rest in the background. +You don't need to write code, switch wallets, or hop between multiple dApps — just hand the task to your AI, and BANK OF AI lines up payment, identity, action, and brain for it. --- @@ -39,7 +37,7 @@ Each layer is usable on its own, or composable with the others — pick what you - **BANKOFAI APP** (the official app, corresponding to the `BANKOFAI APP →` button in the top-right of the website): an AI Chat app for end users — open [chat.bankofai.io/chat](https://chat.bankofai.io/chat) and use it directly, switch models on demand - **API Gateway** (one API key for every model): a unified API for developers, billed by usage, OpenAI-compatible, usable from any OpenAI-compatible third-party AI client -**Key points**: fund with crypto (TRON / BNB Chain), pay-as-you-go, no card linking, no subscription. +**Key points**: fund with crypto (supports TRON, BNB Chain, Ethereum, Base, Arbitrum, Optimism, Polygon), pay-as-you-go, no card linking, no subscription. 👉 Learn more: [LLM Service Introduction](../llmservice/introduction.md) @@ -94,7 +92,7 @@ It solves one core question: **as AI Agents proliferate, how do you know which o ## 🔧 Tool Layer | Everything Your Agent Needs -The protocol layer is in place — now AI needs tools to actually use those protocols. **A single `npx skills add` command** gives your AI on-chain signing (Agent Wallet), on-chain operation SOPs (Skills), and protocol wrappers (MCP Server) all at once — the three things an AI needs to perform any on-chain operation. +The protocol layer is in place — now AI needs tools to actually use those protocols. For any on-chain operation, AI needs three things: **on-chain signing (Agent Wallet), on-chain operation SOPs (Skills), and protocol wrappers (MCP Server)**. ### 03 · Agent Wallet — AI's Local Signing Layer @@ -107,10 +105,6 @@ Your private key is encrypted and locked in a hidden local directory; the AI onl - 🔄 **Multi-wallet switching**: manage multiple wallets and switch the active account any time - ⛓️ **Multi-chain signing**: TRON + every EVM-compatible chain (Ethereum / BSC / Polygon / Base / Arbitrum…) -```bash -npm i @bankofai/agent-wallet -``` - > 💡 **Who depends on Agent-Wallet**: > - **x402 SDK** — parses payment credentials, signs x402 micropayments (pulled in automatically when x402 is installed) > - **Skills** — whenever an on-chain operation needs a signature @@ -128,23 +122,7 @@ npm i @bankofai/agent-wallet Example: a user says "use 50 USDT to buy some TRX." A vanilla AI might generate a transaction that fails because USDT was never approved on SunSwap. An AI loaded with the `sunswap-dex-trading` Skill walks the full SOP automatically. -**BankOfAI Skills suite** (growing alongside the ecosystem): - -| Skill | Covers | -| :-- | :-- | -| `agent-wallet` | Wallet management | -| `bankofai-guide` | Onboarding new users through setup | -| `sunswap-dex-trading` | SunSwap V2/V3/V4 swaps | -| `sunperp-perpetual-futures-trading` | SunPerp perpetual futures | -| `trc20-token-toolkit` | TRC20 token toolkit | -| `tronscan-data-lookup` | TronScan on-chain data lookup | -| `trx-staking-sr-voting` | TRX staking + SR voting | -| `usdd-just-protocol` | USDD / JUST protocol | -| `multi-sig-account-permissions` | TRON multi-sig and permissions | -| `x402-payment` | x402 payment | -| `recharge-skill` | BANK OF AI account top-up | - -**Key properties**: one sentence installs every Skill; invoked in natural language; automatically calls the underlying MCP Server to execute atomic on-chain operations. +**Key properties**: one sentence installs every Skill; invoked in natural language; automatically calls the underlying MCP Server to execute atomic on-chain operations. The BANK OF AI Skills suite covers wallet management, SunSwap swaps, SunPerp perpetuals, the TRC20 toolkit, TronScan lookups, TRX staking + SR voting, USDD/JUST, multi-sig permissions, x402 payments, and more — and keeps growing alongside the ecosystem. 👉 Learn more: [Skills Introduction](../McpServer-Skills/SKILLS/Intro.md) · [Quick Start](./QuickStart.md) @@ -161,17 +139,16 @@ Example: a user says "use 50 USDT to buy some TRX." A vanilla AI might generate | **Skills** | Business Orchestration Layer | Stringing multi-step operations into SOPs, handling pre-checks and risk control | | **MCP Server** | Capability Provider Layer | Exposing atomic capability tools for upper layers to call | -BANK OF AI officially ships three **MCP Servers**, all pointed at BANK OF AI's official cloud endpoints by default — ready to use out of the box: +BANK OF AI ships two **MCP Servers**, pointed at BANK OF AI cloud endpoints by default — ready to use out of the box: - **TRON MCP Server** — atomic TRON on-chain operations (query, transfer, contracts, staking, governance), 60+ tools. Supports local private deployment - **SUN MCP Server** — SunSwap V2/V3/V4 swap and liquidity capabilities, 20+ tools. Supports local private deployment. Also ships **[SUN CLI](../McpServer-Skills/Tools/SUNCli/Intro.md)** — a command-line implementation fully equivalent to SUN MCP Server's capabilities, for scripting / automation / CI-CD scenarios -- **BSC MCP Server** — atomic on-chain operations for BNB Chain > 💡 **Private deployment**: Skills call MCP Server via the official cloud endpoints by default — no separate install needed. For local deployment, see each MCP Server's deployment guide. > ⚙️ **Dependency**: A self-hosted MCP Server needs Agent-Wallet configured first — the wallet determines which identity the AI uses for on-chain actions. Without a wallet, write-type tools return an error. -Beyond BANK OF AI's official MCP Servers, the ecosystem has more third-party MCP Servers and Skills — see [🌐 Ecosystem Layer](#-ecosystem-layer--ai-agent-ecosystem) below. +Beyond BANK OF AI's first-party MCP Servers, the ecosystem has more third-party MCP Servers and Skills — see [🌐 Ecosystem Layer](#-ecosystem-layer--ai-agent-ecosystem) below. 👉 Learn more: [MCP Server Introduction](../McpServer-Skills/MCP/Intro.md) @@ -179,14 +156,14 @@ Beyond BANK OF AI's official MCP Servers, the ecosystem has more third-party MCP ## 🌐 Ecosystem Layer | AI Agent Ecosystem -Beyond BANK OF AI's own products, the ecosystem already includes several leading DeFi / data protocols across 3 chains — each shipping a **production-grade MCP Server or Skills** that AI can install and use immediately. +Beyond BANK OF AI's first-party products, the ecosystem already includes several leading DeFi / data protocols across 3 chains — each shipping a **production-grade MCP Server or Skills** that AI can install and use immediately. ### 🔴 TRON | Product | Provider | Capabilities | Install | | :-- | :-- | :-- | :-- | -| **TRON MCP Server** | Bank of AI | Transfer / Contract / Staking / Governance, 60+ tools | `npx -y @bankofai/mcp-server-tron` | -| **SUN MCP Server** | Bank of AI | Swap / Liquidity / Farming, V2/V3/V4, 20+ tools | `npx -y @bankofai/sun-mcp-server` | +| **TRON MCP Server** | BANK OF AI | Transfer / Contract / Staking / Governance, 60+ tools | `npx -y @bankofai/mcp-server-tron` | +| **SUN MCP Server** | BANK OF AI | Swap / Liquidity / Farming, V2/V3/V4, 20+ tools | `npx -y @bankofai/sun-mcp-server` | | **JustLend MCP Server** | JustLend DAO | Lend / Borrow / Staking / Governance, 50 tools | `npx -y @justlend/mcp-server-justlend` | | **TronScan MCP Server** | TronScan | Query / Analytics / Security, 119 tools | `https://mcp.tronscan.org/mcp` | @@ -221,7 +198,7 @@ The sections above covered what each of the 4 layers does. Below is what happens **① Model Layer · Understanding Intent** -In any AI client (BANKOFAI APP / OpenClaw / Cursor / Claude Code / Codex / Telegram / …), you type a sentence: +In any AI client (OpenClaw / Cursor / Claude Code / Codex / …), you type a sentence: > Transfer 100 TRX to address `T....XXXXX` @@ -246,7 +223,7 @@ Once on-chain execution completes, the tx hash, status, and event logs travel ba This example only involves the **Model Layer** and **Tool Layer**. The other two kick in by scenario: - **🛤️ Protocol Layer**: **x402** activates when a payment is involved (calling a paid API, subscribing to an Agent service, etc.); **8004** activates when verifying an unfamiliar Agent's identity or looking up its reputation -- **🌐 Ecosystem Layer**: when you need to go cross-chain or call a third-party protocol (e.g. swapping on Ethereum via **Uniswap AI**, staking on BNB Chain via **ListaDAO**), the AI Agent calls the corresponding third-party MCP Server / Skills — the flow is identical to this example, just with a different MCP Server at the target chain +- **🌐 Ecosystem Layer**: when you need to call a third-party protocol (e.g. swapping on Ethereum via **Uniswap AI**, staking on BNB Chain via **ListaDAO**), the AI Agent calls the corresponding third-party MCP Server / Skills — the flow is identical to this example, just with a different MCP Server at the target chain ::: --- @@ -264,8 +241,8 @@ This example only involves the **Model Layer** and **Tool Layer**. The other two Want your AI client to gain BANK OF AI's on-chain capabilities? Just **two steps**, under **1 minute**: -1. Paste one install command into your AI assistant — AI automatically installs every BANK OF AI Skill and the Agent Wallet CLI -2. Reply with a single **`A`** — AI automatically creates your local encrypted wallet +1. **Paste the install command** → AI installs Skills, checks wallet status, and asks whether to create a wallet +2. **Confirm wallet creation** → AI automatically creates your local encrypted wallet For standalone integration of **LLM Service / x402 / 8004**, or **local private deployment of MCP Server / using SUN CLI**, refer to each product's own docs. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md index 7e85edec..ef0e361b 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/BANK-OF-AI/Intro.md @@ -2,18 +2,16 @@ ## 一句话理解 BANK OF AI -**BANK OF AI 是让 AI 真正拥有 Web3 能力的基础设施。** +**BANK OF AI —— Your Web3 Gateway to AI,你的 Web3 AI 门户。** -核心定位:**Your Web3 Gateway to AI** —— 你的 Web3 AI 门户。 - -BANK OF AI 让你的 AI 获得 4 项核心能力: +一个入口,让你的 AI 同时拥有 4 项核心能力: - 💸 **付款能力**:会用加密货币付款(x402) - 🪪 **身份能力**:拥有可验证的链上身份与信誉(8004) -- ⚙️ **行动能力**:掌握完整的链上原子能力与编排(Skills + MCP Server + Agent Wallet) -- 🧠 **认知能力**:统一接入主流顶级大模型(LLM Service) +- ⚙️ **行动能力**:调用完整的链上原子能力与编排(Skills + MCP Server + Agent Wallet) +- 🧠 **认知能力**:一号通享顶级大模型(LLM Service) -你不需要懂代码,不需要切钱包,不需要在多个 dApp 之间反复跳转——把任务交给 AI,剩下的由 BANK OF AI 这一整套基础设施在后台完成。 +你不需要懂代码,不需要切钱包,不需要在多个 dApp 之间反复跳转——把任务交给 AI,BANK OF AI 替它接好支付、身份、行动与大脑。 --- @@ -39,7 +37,7 @@ BANK OF AI 由 **4 层** 组成: - **BANKOFAI APP**(官方应用,对应官网右上角 `BANKOFAI APP →` 按钮):面向终端用户的 AI Chat 应用,打开 [chat.bankofai.io/chat](https://chat.bankofai.io/chat) 直接使用,随需切换模型 - **API Gateway**(一套 API Key 调所有模型):面向开发者的统一 API,按用量计费,兼容 OpenAI 协议,可接入任意兼容 OpenAI 协议的第三方 AI 客户端 -**核心特点**:加密货币充值(TRON / BNB Chain)、按用量付费(Pay-as-you-go)、不绑卡、不订阅。 +**核心特点**:加密货币充值(支持 TRON、BNB Chain、Ethereum、Base、Arbitrum、Optimism、Polygon)、按用量付费(Pay-as-you-go)、不绑卡、不订阅。 👉 详见:[LLM Service 简介](../llmservice/introduction.md) @@ -94,7 +92,7 @@ BANK OF AI 由 **4 层** 组成: ## 🔧 工具层 | Everything Your Agent Needs -协议层搭好了,还差一套工具让 AI 真正把协议用起来。**一条 `npx skills add` 命令**,就能让 AI 同时获得链上签名(Agent Wallet)、链上操作 SOP(Skills)、链上协议封装(MCP Server)——这三件事是 AI 完成任意链上操作所需的全部。 +协议层搭好了,还差一套工具让 AI 真正把协议用起来。AI 完成任意链上操作,需要三件事:**链上签名(Agent Wallet)、链上操作 SOP(Skills)、链上协议封装(MCP Server)**。 ### 03 · Agent Wallet — AI 的本地签名层 @@ -107,10 +105,6 @@ BANK OF AI 由 **4 层** 组成: - 🔄 **多钱包切换**:管理多个钱包,随时切换活跃账户 - ⛓️ **多链签名**:TRON + 全部 EVM 兼容链(Ethereum / BSC / Polygon / Base / Arbitrum…) -```bash -npm i @bankofai/agent-wallet -``` - > 💡 **谁在依赖 Agent-Wallet**: > - **x402 SDK** —— 解析支付凭证、签发 x402 小额支付(安装 x402 时自动带入) > - **Skills** —— 执行需要签名的链上操作时 @@ -128,23 +122,7 @@ npm i @bankofai/agent-wallet 举例:用户说"花 50 USDT 买点 TRX"。没装 Skills 的 AI 可能直接生成一段交易代码,因未授权 SunSwap 而报错;装了 `sunswap-dex-trading` Skill 的 AI 会严格按 SOP 自动完成所有前置与确认步骤。 -**BankOfAI Skills 套件**(随生态持续扩展): - -| Skill | 覆盖场景 | -| :-- | :-- | -| `agent-wallet` | 钱包管理 | -| `bankofai-guide` | 引导新用户完成安装配置 | -| `sunswap-dex-trading` | SunSwap V2/V3/V4 兑换 | -| `sunperp-perpetual-futures-trading` | SunPerp 永续合约 | -| `trc20-token-toolkit` | TRC20 代币工具 | -| `tronscan-data-lookup` | TronScan 链上数据查询 | -| `trx-staking-sr-voting` | TRX 质押 + SR 投票 | -| `usdd-just-protocol` | USDD / JUST 协议 | -| `multi-sig-account-permissions` | TRON 多签与权限 | -| `x402-payment` | x402 支付 | -| `recharge-skill` | BANK OF AI 账户充值 | - -**关键特性**:一句话安装全部 Skills;自然语言调用;自动调用下层 MCP Server 完成链上原子操作。 +**关键特性**:一句话安装全部 Skills;自然语言调用;自动调用下层 MCP Server 完成链上原子操作。BANK OF AI Skills 套件覆盖钱包管理、SunSwap 兑换、SunPerp 永续、TRC20 工具、TronScan 查询、TRX 质押投票、USDD/JUST、多签权限、x402 支付等场景,并随生态持续扩展。 👉 详见:[Skills 简介](../McpServer-Skills/SKILLS/Intro.md) · [快速开始](./QuickStart.md) @@ -161,17 +139,16 @@ npm i @bankofai/agent-wallet | **Skills** | 业务编排层(Orchestration) | 把多步操作按 SOP 串起来,处理前置检查和风控 | | **MCP Server** | 能力提供层(Capability Provider) | 提供原子能力工具给上层调用 | -BANK OF AI 官方提供三套 **MCP Server**,默认接入 BANK OF AI 官方云服务端点,开箱即用: +BANK OF AI 提供两套 **MCP Server**,默认接入 BANK OF AI 云服务端点,开箱即用: - **TRON MCP Server** — TRON 链上原子操作(查询、转账、合约、质押、治理),60+ 工具。支持本地私有化部署 - **SUN MCP Server** — SunSwap V2/V3/V4 兑换与流动性,20+ 工具。支持本地私有化部署。另提供 **[SUN CLI](../McpServer-Skills/Tools/SUNCli/Intro.md)**——与 SUN MCP Server 能力完全对等的命令行实现,面向脚本 / 自动化 / CI-CD 场景 -- **BSC MCP Server** — BNB Chain 链上原子操作 > 💡 **私有化部署**:Skills 默认通过官方云端点调用 MCP Server,无需单独安装;若需本地部署,参考对应 MCP Server 的部署文档。 > ⚙️ **依赖关系**:MCP Server 私有化部署时需先配置 Agent-Wallet——钱包决定了 AI 以哪个身份执行链上操作。若未配置钱包,写入类工具执行时会返回错误提示。 -除了 BANK OF AI 官方的 MCP Server,生态中还有更多第三方 MCP Server 和 Skills,见下方 [🌐 生态层](#-生态层--ai-agent-ecosystem)。 +除了 BANK OF AI 自研的 MCP Server,生态中还有更多第三方 MCP Server 和 Skills,见下方 [🌐 生态层](#-生态层--ai-agent-ecosystem)。 👉 详见:[MCP Server 简介](../McpServer-Skills/MCP/Intro.md) @@ -179,14 +156,14 @@ BANK OF AI 官方提供三套 **MCP Server**,默认接入 BANK OF AI 官方云 ## 🌐 生态层 | AI Agent Ecosystem -除了 BANK OF AI 官方的产品,整个生态已接入跨 3 条链的多个主流 DeFi / 数据协议——每一家都提供**生产级的 MCP Server 或 Skills**,AI 安装后立即能用。 +除了 BANK OF AI 自研的产品,整个生态已接入跨 3 条链的多个主流 DeFi / 数据协议——每一家都提供**生产级的 MCP Server 或 Skills**,AI 安装后立即能用。 ### 🔴 TRON | 产品 | 提供方 | 覆盖能力 | 安装 | | :-- | :-- | :-- | :-- | -| **TRON MCP Server** | Bank of AI | Transfer / Contract / Staking / Governance,60+ 工具 | `npx -y @bankofai/mcp-server-tron` | -| **SUN MCP Server** | Bank of AI | Swap / Liquidity / Farming,V2/V3/V4,20+ 工具 | `npx -y @bankofai/sun-mcp-server` | +| **TRON MCP Server** | BANK OF AI | Transfer / Contract / Staking / Governance,60+ 工具 | `npx -y @bankofai/mcp-server-tron` | +| **SUN MCP Server** | BANK OF AI | Swap / Liquidity / Farming,V2/V3/V4,20+ 工具 | `npx -y @bankofai/sun-mcp-server` | | **JustLend MCP Server** | JustLend DAO | Lend / Borrow / Staking / Governance,50 工具 | `npx -y @justlend/mcp-server-justlend` | | **TronScan MCP Server** | TronScan | Query / Analytics / Security,119 工具 | `https://mcp.tronscan.org/mcp` | @@ -221,7 +198,7 @@ BANK OF AI 官方提供三套 **MCP Server**,默认接入 BANK OF AI 官方云 **① 模型层 · 理解意图** -你在任意 AI 客户端(BANKOFAI APP / OpenClaw / Cursor / Claude Code / Codex / Telegram 等)里发一句话: +你在任意 AI 客户端(OpenClaw / Cursor / Claude Code / Codex 等)里发一句话: > 向地址 `T....XXXXX` 转 100 TRX @@ -246,7 +223,7 @@ Skill 调用 **TRON MCP Server** 组装这笔 TRC20 转账交易,然后交给 本例只涉及 **模型层** 和 **工具层**。其他两层按场景触发: - **🛤️ 协议层**:**涉及付费**时(调用付费 API、订阅 Agent 服务等)走 **x402**;**验证陌生 Agent 身份或查信誉**时走 **8004** -- **🌐 生态层**:当你需要跨链或调用第三方协议(如 **Uniswap AI** 在以太坊兑换、**ListaDAO** 在 BNB Chain 质押)时,AI 智能体会调用对应的第三方 MCP Server / Skills——流程与本例一致,只是把 TRON MCP 换成目标链的 MCP Server +- **🌐 生态层**:当你需要调用第三方协议(如 **Uniswap AI** 在以太坊兑换、**ListaDAO** 在 BNB Chain 质押)时,AI 智能体会调用对应的第三方 MCP Server / Skills——流程与本例一致,只是把 TRON MCP 换成目标链的 MCP Server ::: --- @@ -264,8 +241,8 @@ Skill 调用 **TRON MCP Server** 组装这笔 TRC20 转账交易,然后交给 想让你的 AI 客户端拥有 BANK OF AI 链上能力,只需**两步**,不到 **1 分钟**: -1. 把一段安装指令粘贴给你的 AI 助手——AI 自动安装 BANK OF AI 全部 Skills 和 Agent Wallet CLI -2. 回复一个 **`A`**——AI 自动创建本地加密钱包 +1. **粘贴安装指令** → AI 自动完成 Skills 安装 + 检查钱包状态,询问是否创建钱包 +2. **确认创建钱包** → AI 自动创建本地加密钱包 如需独立接入 **LLM Service / x402 / 8004** 或对 MCP Server 做**本地私有化部署 / 使用 SUN CLI**,请参考对应产品的文档。 From 6fda8c808bad54f5c1303e0beed02acc9055fcfc Mon Sep 17 00:00:00 2001 From: jerryji-prog Date: Fri, 17 Apr 2026 15:23:26 +0800 Subject: [PATCH 8/8] add bankofai version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 17f3a9ca..8bc3ea10 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@x402-tron/docs", - "version": "1.2.9", + "version": "1.2.10", "description": "x402-tron documentation", "license": "MIT", "scripts": {