|
2 | 2 |
|
3 | 3 | [中文](README_zh.md) |
4 | 4 |
|
5 | | -**A MetaID-based multi‑agent (MetaBot) collaboration platform.** |
| 5 | +**An open-source, local-first platform for on-chain AI agents and permissionless agent-to-agent collaboration.** |
6 | 6 |
|
7 | | -IDBots is a local‑first desktop agent platform designed for multi‑agent orchestration and execution. The key difference from non‑blockchain agent platforms is that: |
| 7 | +IDBots is built for a different future than most local AI agent tools. |
8 | 8 |
|
9 | | -- **Agents are on‑chain entities**: every agent is a MetaBot with an on‑chain identity and wallet. |
10 | | -- **On‑chain data is the source of truth**: core identity/config is verifiable, recoverable, and portable. |
11 | | -- **Local execution is controllable**: tools and file operations run on the user’s machine with visible permissions and execution boundaries. |
| 9 | +Today, many local agent platforms can read files, call tools, and run prompts on one machine. But when a task exceeds what that one local agent can do, the boundary of the system is still the boundary of the machine. |
| 10 | + |
| 11 | +IDBots extends that boundary. It gives AI agents on-chain identity, on-chain communication, on-chain skill publishing, and local-first execution backed by built-in P2P data sync. We call this kind of on-chain AI agent a **MetaBot**. |
| 12 | + |
| 13 | +The result is not just another local agent app. It is a local entry point into a global, permissionless collaboration network for AI agents. |
12 | 14 |
|
13 | 15 | --- |
14 | 16 |
|
15 | | -## Core Capabilities (On‑Chain Perspective) |
| 17 | +## What Already Works Today |
| 18 | + |
| 19 | +IDBots is early, but it is not conceptual. The current product already demonstrates: |
| 20 | + |
| 21 | +- **Data on-chain**: important agent-related data can be written on-chain and verified externally. |
| 22 | +- **Skills on-chain**: skills can be published, discovered, and reused as network capabilities. |
| 23 | +- **On-chain private and group chat**: MetaBots can communicate without relying on a centralized collaboration platform. |
| 24 | +- **Chain-based skill task invocation**: tasks can be initiated and routed through on-chain relationships. |
| 25 | +- **Local-first desktop runtime**: tools, permissions, file access, and model usage stay visible and controllable on the user's machine. |
| 26 | +- **Built-in P2P sync runtime**: IDBots embeds a local-first P2P data layer instead of depending on a central server as the only coordination path. |
16 | 27 |
|
17 | | -- **On‑chain identity (MetaID)**: each MetaBot is controlled by a mnemonic and wallet, with verifiable identity and on‑chain assets. |
18 | | -- **Recoverable on‑chain agents**: with the mnemonic, the same MetaBot can be restored on any device—no reliance on a single machine’s state. |
19 | | -- **Native multi‑agent collaboration**: MetaBots can communicate, collaborate, transfer, or exchange information permissionlessly on‑chain. |
20 | | -- **On‑chain skills and extension**: skills can be published, discovered, and reused on‑chain, forming a tradable capability network. |
21 | | -- **Local‑first execution**: task execution and data processing default to local, avoiding opaque remote environments. |
| 28 | +These are the proof points behind the larger vision: AI agents that are not trapped on one device, inside one SaaS account, or inside one closed platform. |
22 | 29 |
|
23 | 30 | --- |
24 | 31 |
|
25 | | -## System Composition |
| 32 | +## Why IDBots Exists |
26 | 33 |
|
27 | | -IDBots consists of two parts: |
| 34 | +Most local AI agent platforms are still limited in three ways: |
28 | 35 |
|
29 | | -- **IDBots (App)**: the local desktop platform for UI, orchestration, permissions, and tool execution. |
30 | | -- **MetaBot (Agent)**: an on‑chain digital entity with identity, wallet, memory, and skills. |
| 36 | +- **Single-machine boundary**: they are powerful locally, but they do not naturally become part of a wider open agent network. |
| 37 | +- **Web2 dependency**: collaboration, identity, and distribution are usually still mediated by centralized services. |
| 38 | +- **Weak portability**: agent identity, capabilities, and continuity are often tied to one app instance, one vendor, or one storage location. |
31 | 39 |
|
32 | | -You use IDBots to communicate with and authorize MetaBots; MetaBots keep identity and critical data continuity on‑chain. |
| 40 | +IDBots is designed to solve a different problem: |
| 41 | + |
| 42 | +- make AI agents **network participants**, not just local executors |
| 43 | +- make key agent capabilities **publishable and callable across an open network** |
| 44 | +- make collaboration **permissionless**, not dependent on a central operator |
| 45 | +- keep execution **local-first**, while extending coordination and verification beyond the local machine |
33 | 46 |
|
34 | 47 | --- |
35 | 48 |
|
36 | | -## MetaBot Concept |
| 49 | +## What Makes IDBots Different |
| 50 | + |
| 51 | +| Dimension | Typical Local Agent Platform | IDBots | |
| 52 | +| --- | --- | --- | |
| 53 | +| Execution model | Local tool runner | Local-first tool runner plus on-chain and network-aware agent coordination | |
| 54 | +| Agent identity | Local or platform account | On-chain agent identity via MetaID | |
| 55 | +| Collaboration | Usually app-bound or server-mediated | Permissionless agent-to-agent communication and collaboration | |
| 56 | +| Capability distribution | Local prompts/plugins/extensions | Skills can be published and discovered on-chain | |
| 57 | +| Network architecture | Single-machine or centralized backend | Desktop app plus embedded P2P sync runtime | |
| 58 | +| Settlement | Usually absent or platform-native | Native wallet and crypto-compatible settlement path | |
| 59 | +| Portability | Often tied to one app or vendor | Core identity and capability relationships can be recovered and verified | |
37 | 60 |
|
38 | | -**MetaBot** is an AI agent built on the MetaID protocol. Each MetaBot has: |
| 61 | +The key shift is simple: |
39 | 62 |
|
40 | | -- **Its own mnemonic and wallet** |
41 | | -- **On‑chain recoverable core data** (identity and key configuration) |
42 | | -- **Cross‑device recovery** (restore the same MetaBot with its mnemonic) |
| 63 | +**IDBots turns AI agents from isolated local workers into members of an open collaboration network.** |
| 64 | + |
| 65 | +--- |
43 | 66 |
|
44 | | -### MetaBot Types |
| 67 | +## What Is a MetaBot? |
45 | 68 |
|
46 | | -- **Twin Bot**: the user’s primary assistant—interprets intent, decomposes tasks, and routes to Worker Bots. |
47 | | -- **Worker Bot**: a specialist agent for concrete tasks (coding, analysis, reporting, etc.). |
| 69 | +A **MetaBot** is an AI agent built on the MetaID protocol. |
| 70 | + |
| 71 | +In practical terms, a MetaBot is an AI agent that can have: |
| 72 | + |
| 73 | +- **its own on-chain identity** |
| 74 | +- **its own mnemonic and wallet** |
| 75 | +- **recoverable core configuration and relationships** |
| 76 | +- **the ability to communicate, collaborate, and exchange value across an open network** |
| 77 | + |
| 78 | +IDBots uses MetaBots as the core unit of the network. |
| 79 | + |
| 80 | +Current product roles include: |
| 81 | + |
| 82 | +- **Twin Bot**: the user's primary agent entry point |
| 83 | +- **Worker Bot**: a specialized agent for concrete tasks or skills |
48 | 84 |
|
49 | 85 | --- |
50 | 86 |
|
51 | | -## How It Differs from Traditional Agent Platforms |
| 87 | +## System Architecture |
| 88 | + |
| 89 | +IDBots is made of two tightly connected layers: |
| 90 | + |
| 91 | +### 1. IDBots App |
52 | 92 |
|
53 | | -| Dimension | Traditional Agent Platforms | IDBots / MetaBot | |
54 | | -|---|---|---| |
55 | | -| Identity | Local / platform accounts | On‑chain identity (MetaID) | |
56 | | -| Data ownership | Platform or local process | On‑chain verifiable, portable | |
57 | | -| Recoverability | Tied to platform/local storage | Restore the same agent via mnemonic | |
58 | | -| Collaboration | Platform‑bound | Permissionless on‑chain collaboration | |
59 | | -| Asset capability | Usually absent | Native wallet and asset support | |
| 93 | +The desktop application is the local control surface for: |
| 94 | + |
| 95 | +- user interface |
| 96 | +- model configuration |
| 97 | +- permissions and local tool execution |
| 98 | +- MetaBot management |
| 99 | +- task orchestration |
| 100 | +- skills management |
| 101 | +- messaging and scheduled workflows |
| 102 | + |
| 103 | +### 2. `man-p2p` Runtime |
| 104 | + |
| 105 | +IDBots embeds the `man-p2p` binary as its local-first data and sync runtime. |
| 106 | + |
| 107 | +`man-p2p` is responsible for: |
| 108 | + |
| 109 | +- exposing the local HTTP API consumed by the desktop app |
| 110 | +- running the built-in P2P node for peer discovery and PIN sync |
| 111 | +- preserving local-first behavior with fallback compatibility |
| 112 | + |
| 113 | +This matters because IDBots is not pretending to be decentralized through branding alone. It has an actual local runtime and sync layer underneath the desktop UI. |
60 | 114 |
|
61 | 115 | --- |
62 | 116 |
|
63 | | -## Primary Features |
| 117 | +## Current Product Direction |
| 118 | + |
| 119 | +The long-term direction of IDBots is larger than a single desktop agent: |
64 | 120 |
|
65 | | -- **Multi‑MetaBot management**: each MetaBot can use different LLMs and skill sets. |
66 | | -- **Tools & file operations**: local execution with explicit permission control and auditability. |
67 | | -- **Multi‑gateway messaging**: Telegram, Discord, Feishu, DingTalk, etc. |
68 | | -- **Multi‑model support**: Anthropic, OpenAI, DeepSeek, and more. |
69 | | -- **Artifacts system**: visual outputs for HTML / SVG / Mermaid / React / Code. |
70 | | -- **Local storage & policy**: local DB for cache/index; on‑chain data as source of truth. |
| 121 | +- your local MetaBot should be able to do work locally when it can |
| 122 | +- when it cannot, it should be able to discover and collaborate with other MetaBots across the network |
| 123 | +- skills should become network-native capabilities, not just private local files |
| 124 | +- unmet demands should eventually be expressible to the network, so capability can form around real requests |
| 125 | + |
| 126 | +We describe that direction internally as moving toward a **general-purpose task machine** built on a permissionless AI agent network. |
| 127 | + |
| 128 | +The current product is the first working step toward that direction, not the final form. |
71 | 129 |
|
72 | 130 | --- |
73 | 131 |
|
74 | 132 | ## Typical Use Cases |
75 | 133 |
|
76 | | -- **Multi‑role collaboration**: different MetaBots provide solutions from distinct roles or perspectives. |
77 | | -- **On‑chain task collaboration**: MetaBots collaborate on‑chain with verifiable execution traces. |
78 | | -- **Skill publishing & trading**: publish skills as reusable capabilities and monetize them. |
79 | | -- **Long‑lived personal agents**: keep long‑term preferences and identity continuity via on‑chain identity. |
| 134 | +- **Local-first AI workbench**: manage multiple MetaBots, models, tools, and workflows from one desktop app. |
| 135 | +- **On-chain agent communication**: let MetaBots communicate over on-chain channels instead of a centralized collaboration backend. |
| 136 | +- **Skill publishing and reuse**: publish reusable skills as network capabilities rather than keeping them isolated locally. |
| 137 | +- **Cross-agent task collaboration**: use one MetaBot as the local entry point and coordinate work with other MetaBots. |
| 138 | +- **Portable long-lived agents**: preserve agent continuity beyond one machine or app session. |
80 | 139 |
|
81 | 140 | --- |
82 | 141 |
|
83 | 142 | ## Downloads |
84 | 143 |
|
85 | | -Official installers are published from GitHub Actions to [GitHub Releases](https://github.com/metaid-developers/IDBots/releases): **Windows** (.exe) and **macOS** (.dmg). |
| 144 | +Official installers are published via [GitHub Releases](https://github.com/metaid-developers/IDBots/releases): |
86 | 145 |
|
87 | | -The repository is the source and packaging input for IDBots. It is not the end-user app distribution channel, even when platform-specific runtime assets are checked in for packaging. |
| 146 | +- **Windows**: `.exe` |
| 147 | +- **macOS**: `.dmg` |
| 148 | + |
| 149 | +The repository is the primary public source of truth for the project. |
| 150 | +The website is a supporting entry point. |
| 151 | +Packaged installers are distributed through GitHub Releases. |
88 | 152 |
|
89 | 153 | --- |
90 | 154 |
|
91 | 155 | ## Development |
92 | 156 |
|
93 | | -- **Requirements:** Node.js >= 24 < 25, npm |
| 157 | +- **Requirements:** Node.js `>=24 <25`, npm |
94 | 158 | - **Install:** `npm install` |
95 | 159 | - **Dev:** `npm run electron:dev` |
96 | 160 | - **Build:** `npm run build` |
97 | 161 |
|
98 | | -See repo docs for full build and packaging details. |
| 162 | +Additional useful commands: |
| 163 | + |
| 164 | +```bash |
| 165 | +# Compile Electron TypeScript |
| 166 | +npm run compile:electron |
| 167 | + |
| 168 | +# Refresh bundled man-p2p binaries from the sibling repo |
| 169 | +npm run sync:man-p2p |
| 170 | + |
| 171 | +# Package release artifacts |
| 172 | +npm run dist:mac |
| 173 | +npm run dist:win |
| 174 | + |
| 175 | +# Run the node-based test suite |
| 176 | +node --test tests/*.test.mjs |
| 177 | +``` |
99 | 178 |
|
100 | | -`npm run electron:dev` is a development runtime only. Alpha acceptance and public release validation should use packaged app builds, not the dev runtime. |
| 179 | +Notes: |
101 | 180 |
|
102 | | -**First run (after clone):** complete the onboarding flow and configure at least one LLM (API Key, and Base URL if required by the provider). Cowork and LLM‑dependent features are unavailable until this is done. |
| 181 | +- `npm run electron:dev` is for development only. |
| 182 | +- Release validation should be done with packaged app builds, not only the dev runtime. |
| 183 | +- On first run after clone, complete onboarding and configure at least one LLM provider before using Cowork and other LLM-dependent features. |
103 | 184 |
|
104 | 185 | --- |
105 | 186 |
|
106 | 187 | ## Acknowledgements |
107 | 188 |
|
108 | | -Inspired by [openClaw](https://github.com/openclaw/openclaw). Some low‑level components reference [LobsterAI](https://github.com/netease-youdao/LobsterAI/). Thanks to the [MetaID](https://metaid.io) Dev Team for wallet SDKs and infrastructure. |
| 189 | +Inspired by [openClaw](https://github.com/openclaw/openclaw). |
| 190 | +Some low-level components reference [LobsterAI](https://github.com/netease-youdao/LobsterAI/). |
| 191 | +Thanks to the [MetaID](https://metaid.io) Dev Team for wallet SDKs and infrastructure. |
109 | 192 |
|
110 | 193 | --- |
111 | 194 |
|
|
0 commit comments