{
  "data": {
    "a": {
      "slug": "astrbot",
      "name": "AstrBot",
      "vendor": "AstrBotDevs",
      "vendorUrl": "https://astrbot.app",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "AstrBot is an open-source chatbot and agent program that the owner runs and connects to messaging platforms such as QQ, Telegram, Slack, Discord, Lark and WeCom, with scheduled tasks, MCP tools, plugins and a web admin panel.",
      "url": "https://www.anchorterminal.com/tools/astrbot",
      "markdownUrl": "https://www.anchorterminal.com/tools/astrbot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/astrbot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/astrbot.json",
      "repo": "https://github.com/AstrBotDevs/AstrBot",
      "license": "AGPL-3.0-or-later",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "astrbot"
        },
        {
          "registry": "oci",
          "name": "soulter/astrbot"
        }
      ],
      "auth": "mixed",
      "authNotes": "No account with the project. The web panel signs in with the user `astrbot` and a random initial password printed in the startup log, with optional TOTP and a login rate limit (https://github.com/AstrBotDevs/AstrBot/blob/master/docs/en/use/webui.md). Outside programs use `abk_` API keys created in Settings, OpenAPI, sent as `Authorization: Bearer` or `X-API-Key`, limited by 11 scopes and two sensitive sub-scopes and stored as PBKDF2 hashes (https://github.com/AstrBotDevs/AstrBot/blob/master/docs/en/dev/openapi.md). Messaging platform tokens and model provider keys are entered in the panel and kept in `data/cmd_config.json`.",
      "pricing": "free",
      "pricingNotes": "Free under AGPL-3.0 with nothing to buy. The EULA says the team sells no service and that a request for payment is a likely scam (https://github.com/AstrBotDevs/AstrBot/blob/master/EULA.md). The owner pays the model provider and any search or sandbox service, or nothing with a local model. The README links a paid third-party cloud host and several model resellers through referral links (checked 2026-10-12).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 41800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.astrbot.app",
      "openapi": "https://github.com/AstrBotDevs/AstrBot/blob/master/docs/public/openapi.json",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.self-hosted",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "free",
        "no-card",
        "python",
        "docker",
        "openapi",
        "agpl",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.8,
        "grade": "C",
        "agentReady": false,
        "rank": 584,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 81,
          "payments": 60,
          "reliability": 81,
          "schema": 62,
          "security": 44,
          "transparency": 40
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -2,
        "negativeNotes": [
          "2025-11-14. GHSA-4m32-cjv7-f425 (CVE-2025-55449, critical, 9.8), a hard-coded JWT signing key that let an unauthenticated attacker install a plugin and run commands on any reachable instance at 3.5.17 or earlier. Patched in 3.5.18 on 21 June 2025 and published five months later, inside the last 12 months. Fixed and documented, so the deduction decays to -2. https://github.com/AstrBotDevs/AstrBot/security/advisories/GHSA-4m32-cjv7-f425"
        ],
        "verdict": "Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.",
        "bestFor": "Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.",
        "strengths": [
          "Official adapters for 14 messaging platforms in the README table, among them QQ, Telegram, Slack, Discord, LINE, Lark, DingTalk and WeCom",
          "Agent shell, Python and file tools are off by default (`computer_use_runtime` is `none`) and limited to administrators when turned on",
          "HTTP API under `/api/v1` with a published OpenAPI file of 170 paths and API keys limited by 11 scopes, stored as PBKDF2 hashes",
          "About 15 tagged releases in the 90 days to 12 October 2026, each with a dated changelog file in English and Chinese",
          "Unit tests run on Linux, macOS and Windows, and the last master runs we saw on 12 October 2026 passed"
        ],
        "weaknesses": [
          "No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking",
          "No built-in mail, calendar or file-account connector and no long-term memory of the owner. Both depend on third-party plugins or MCP servers",
          "Usage statistics are on by default and include the hostname and an installation ID, while the EULA says nothing personally identifiable is collected",
          "The web panel listens on 0.0.0.0 by default, and the repository has no SECURITY.md or security.txt",
          "No prompt-injection guidance found, although group messages, web pages and MCP results all reach the model"
        ],
        "agentNotes": [
          "Set `ASTRBOT_DISABLE_METRICS=1` before the first start. Statistics, including the hostname, are sent to tickstats.soulter.top by default",
          "Set `dashboard.host` to 127.0.0.1 in `data/cmd_config.json`, or the `DASHBOARD_HOST` variable, unless remote access is intended. The default is 0.0.0.0",
          "Create an `abk_` key in Settings, OpenAPI with only the scopes needed, and send it as `Authorization: Bearer` or `X-API-Key`",
          "Include `username` in every `POST /api/v1/chat` body. Without the `chat:admin` scope an administrator ID is rejected",
          "Check Extensions, Future Tasks after asking for a schedule. One-off tasks are deleted after their run even when the run fails"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.8
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 81,
          "payments": 60,
          "reliability": 81,
          "schema": 62,
          "security": 44,
          "transparency": 56
        },
        "provenanceScore": 23
      },
      "connect": {
        "install": "uv tool install astrbot --python 3.12 \u0026\u0026 astrbot init \u0026\u0026 astrbot run",
        "http": "curl -N 'http://localhost:6185/api/v1/chat' -H 'Authorization: Bearer abk_xxx' -H 'Content-Type: application/json' -d '{\"message\":\"Hello\",\"username\":\"alice\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/astrbot"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "astrbot.app",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://github.com/AstrBotDevs/AstrBot/blob/master/EULA.md",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/AstrBotDevs/AstrBot/releases",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "No legal entity was found. The docs call AstrBot a non-profit project under the AstrBotDevs organisation, and the EULA speaks for the AstrBot Team.",
          "The EULA in the repository (last updated 12 January 2026) is the only terms document found. Its section 8 is the only privacy statement, so no privacy link is given.",
          "astrbot.app answers every path, robots.txt and `/.well-known/security.txt` included, with the same script-drawn page, so the site has no robots rules and no security.txt. docs.astrbot.app answers 404 for security.txt and llms.txt.",
          "GitHub says the project has not set up a SECURITY.md. A Report a vulnerability button is shown and two advisories are published.",
          "Usage statistics go to tickstats.soulter.top, a host outside the project's domain.",
          "The domain's registration date was not looked up."
        ],
        "score": 23
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/astrbot.json"
    },
    "answer": "AstrBot scores 58.8 (C) on agent readiness against Leon's 41 (E), and leads in 4 of 7 scored categories. Leon leads on transparency \u0026 trust.",
    "b": {
      "slug": "leon",
      "name": "Leon",
      "vendor": "Louis Grenard (Leon AI)",
      "vendorUrl": "https://getleon.ai",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "Open-source personal assistant by Louis Grenard that the owner runs on their own machine or server. The 2.0 Developer Preview adds an agent loop with tools, layered memory, computer use and a proactive pulse, reached through a web app.",
      "url": "https://www.anchorterminal.com/tools/leon",
      "markdownUrl": "https://www.anchorterminal.com/tools/leon.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/leon.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/leon.json",
      "repo": "https://github.com/leon-ai/leon",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@leon-ai/cli"
        }
      ],
      "auth": "none",
      "authNotes": "No account. The web app and the Socket.IO and HTTP interfaces accept any client unless `client_interface.auth.enabled` is set, after which a `\u003cprofile\u003e:\u003ctoken\u003e` credential from `LEON_PROFILE_TOKEN` is required. Model provider keys go in the profile `.env`. Connected apps use OAuth or a pasted token.",
      "pricing": "free",
      "pricingNotes": "Free and MIT, with nothing to buy. The project takes sponsorship. Model usage is billed by the provider the owner picks, or costs nothing with a local llama.cpp model.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the context documents or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 17568,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://github.com/leon-ai/leon/blob/develop/README.md",
      "capabilities": [
        "assistant.proactive",
        "assistant.self-hosted",
        "assistant.memory",
        "assistant.accounts"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "no-card",
        "typescript",
        "beta",
        "telemetry-default-on"
      ],
      "lastRelease": "2023-05-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41,
        "grade": "E",
        "agentReady": false,
        "rank": 934,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 14,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 15,
          "payments": 60,
          "reliability": 32,
          "schema": 33,
          "security": 34,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Connected-app credentials are encrypted per profile and the Gmail connection is read-only. The 2.0 Developer Preview has no tagged release, runs tools and a 30-minute proactive pulse with no approval step, listens on every network interface with client authentication off, and sends telemetry by default.",
        "bestFor": "A developer who wants a self-hosted assistant with memory, computer use and a local model, and who will read the source.",
        "strengths": [
          "MIT licence, with the whole server, web app, tools and skills in one public repository",
          "Connected-app credentials are stored per profile with AES-256-GCM, and the Gmail connection asks only for the `gmail.readonly` scope",
          "Runs with a local llama.cpp model or any of 11 hosted providers, so the owner chooses which company sees the content",
          "Tool allow and disable lists, a configurable iteration limit (256 by default) and per-profile tool-call logs",
          "At least 200 commits between 25 September and 12 October 2026, with a fresh-install check passing on develop three times a week"
        ],
        "weaknesses": [
          "No tagged release of the core since 1.0.0-beta.8 on 1 May 2023. The 2.0 Developer Preview is installed by cloning the develop branch",
          "No approval step before a tool call. Shell commands pass a blocklist of patterns, and the proactive pulse is on by default and runs one task every 30 minutes",
          "The server listens on 0.0.0.0 and client authentication is off in the sample config",
          "Telemetry is on in the sample config and posts an instance ID, versions and hardware details to telemetry.getleon.ai. The README and the docs pages read do not describe it",
          "No `SECURITY.md`, security.txt, privacy policy or 2.0 documentation, and no messaging-app channel or MCP client on the develop branch"
        ],
        "agentNotes": [
          "Clone the develop branch for 2.0. `npm install --global @leon-ai/cli` and docs.getleon.ai install and describe the legacy 1.0 betas",
          "Set `client_interface.auth.enabled: true` and a `LEON_PROFILE_TOKEN` before the machine joins a shared network. The server binds 0.0.0.0",
          "Set `telemetry_enabled: false` and `runtime.pulse_enabled: false` in the profile `config.yml` for an unattended or private run",
          "Use `availability.tools.allowed` to limit tools. Shell, file writes, computer use and browser control are otherwise available to the agent with no approval prompt",
          "Back up `LEON_CONNECTIONS_ENCRYPTION_KEY` from the profile `.env`. Without it the stored connections cannot be read"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 15,
          "payments": 60,
          "reliability": 32,
          "schema": 33,
          "security": 34,
          "transparency": 52
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "git clone https://github.com/leon-ai/leon.git \u0026\u0026 cd leon \u0026\u0026 npm install --global pnpm@latest \u0026\u0026 pnpm install \u0026\u0026 pnpm start"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/leon"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "No legal entity found. Copyright Louis Grenard",
        "domain": "getleon.ai",
        "domainRegistered": "2018-02-16",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/leon-ai/leon/blob/develop/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "`LICENSE.md` and the footer of getleon.ai read Copyright 2019 to present Louis Grenard. No company or foundation is named on the pages read.",
          "No terms of service or privacy policy was found on getleon.ai, docs.getleon.ai or in the repository, so no link is given and the MIT licence stands in.",
          "getleon.ai/.well-known/security.txt returns 404, and the repository has no `SECURITY.md`. The GitHub API lists no published security advisory.",
          "RDAP for getleon.ai gives a registration date of 2018-02-16.",
          "The assistant answers on the owner's own host. The only vendor endpoint the source names is telemetry.getleon.ai, which receives telemetry.",
          "`CHANGELOG.md` ends at 1.0.0-beta.8 of 1 May 2023. Changes to the 2.0 Developer Preview are recorded only as commits."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/leon.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "Louis Grenard (Leon AI)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2023-05-01",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "42k stars",
        "b": "18k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot scores 58.8 (C) on agent readiness against Leon's 41 (E), and leads in 4 of 7 scored categories. Leon leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or Leon?"
      },
      {
        "answer": "Yes. AstrBot is open source (AGPL-3.0-or-later). Leon is open source (MIT).",
        "question": "Are AstrBot and Leon open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 32",
          "Schema \u0026 documentation, 62 against 33",
          "Security \u0026 auth, 44 against 34",
          "Maintenance \u0026 community, 81 against 15"
        ],
        "also": null,
        "goodFor": "Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.",
        "slug": "astrbot",
        "watchFor": "No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 60 against 40"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A developer who wants a self-hosted assistant with memory, computer use and a local model, and who will read the source.",
        "slug": "leon",
        "watchFor": "No tagged release of the core since 1.0.0-beta.8 on 1 May 2023. The 2.0 Developer Preview is installed by cloning the develop branch"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Assistant proactive"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent.json",
        "title": "AstrBot vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-gaia.json",
        "title": "AstrBot vs GAIA",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark.json",
        "title": "AstrBot vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-grok-bot.json",
        "title": "AstrBot vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-haven.json",
        "title": "AstrBot vs Haven",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-hermes-agent.json",
        "title": "AstrBot vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-instinct.json",
        "title": "AstrBot vs Instinct",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-ironclaw.json",
        "title": "AstrBot vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-lindy.json",
        "title": "AstrBot vs Lindy",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-nanobot.json",
        "title": "AstrBot vs nanobot",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.json",
        "title": "AstrBot vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-openai-dots.json",
        "title": "AstrBot vs Dots",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-openclaw.json",
        "title": "AstrBot vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-picoclaw.json",
        "title": "AstrBot vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-poke.json",
        "title": "AstrBot vs Poke",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-qwenpaw.json",
        "title": "AstrBot vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-zeroclaw.json",
        "title": "AstrBot vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-zo-computer.json",
        "title": "AstrBot vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-leon.json",
        "title": "CowAgent vs Leon",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-leon.json",
        "title": "GAIA vs Leon",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-leon.json",
        "title": "Gemini Spark vs Leon",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-leon.json",
        "title": "Grok Bot vs Leon",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-leon.json",
        "title": "Haven vs Leon",
        "url": "https://www.anchorterminal.com/compare/haven-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-leon.json",
        "title": "Hermes Agent vs Leon",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-leon.json",
        "title": "Instinct vs Leon",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-leon.json",
        "title": "IronClaw vs Leon",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-lindy.json",
        "title": "Leon vs Lindy",
        "url": "https://www.anchorterminal.com/compare/leon-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-nanobot.json",
        "title": "Leon vs nanobot",
        "url": "https://www.anchorterminal.com/compare/leon-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw.json",
        "title": "Leon vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-openai-dots.json",
        "title": "Leon vs Dots",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-openclaw.json",
        "title": "Leon vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-picoclaw.json",
        "title": "Leon vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-poke.json",
        "title": "Leon vs Poke",
        "url": "https://www.anchorterminal.com/compare/leon-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-qwenpaw.json",
        "title": "Leon vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-zeroclaw.json",
        "title": "Leon vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-zo-computer.json",
        "title": "Leon vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/leon-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 49,
        "edge": "astrbot",
        "key": "reliability",
        "leon": 32,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 29,
        "edge": "astrbot",
        "key": "schema",
        "leon": 33,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 3,
        "edge": "leon",
        "key": "ergonomics",
        "leon": 57,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 10,
        "edge": "astrbot",
        "key": "security",
        "leon": 34,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "leon": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 66,
        "edge": "astrbot",
        "key": "maintenance",
        "leon": 15,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 20,
        "edge": "leon",
        "key": "transparency",
        "leon": 60,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AstrBot scores 58.8 (C) on agent readiness against Leon's 41 (E), and leads in 4 of 7 scored categories. Leon leads on transparency \u0026 trust. Both do assistant proactive.",
    "verdicts": {
      "astrbot": "Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.",
      "leon": "Connected-app credentials are encrypted per profile and the Gmail connection is read-only. The 2.0 Developer Preview has no tagged release, runs tools and a 30-minute proactive pulse with no approval step, listens on every network interface with client authentication off, and sends telemetry by default."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-leon",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-leon.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-leon.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-leon.min.md"
  },
  "markdown": "AstrBot scores 58.8 (C) on agent readiness against Leon's 41 (E), and leads in 4 of 7 scored categories. Leon leads on transparency \u0026 trust. Both do assistant proactive.\n\n- AstrBot: grade C, 58.8/100, rank #584 of 986. Markdown https://www.anchorterminal.com/tools/astrbot.md · JSON https://www.anchorterminal.com/api/v1/tools/astrbot.json\n- Leon: grade E, 41/100, rank #934 of 986. Markdown https://www.anchorterminal.com/tools/leon.md · JSON https://www.anchorterminal.com/api/v1/tools/leon.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 190 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n\n## Which one, for what\n\n### AstrBot (C)\n\nGood for: Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.\n\nAhead on:\n- Reliability, 81 against 32\n- Schema \u0026 documentation, 62 against 33\n- Security \u0026 auth, 44 against 34\n- Maintenance \u0026 community, 81 against 15\n\nWatch for: No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking\n\n### Leon (E)\n\nGood for: A developer who wants a self-hosted assistant with memory, computer use and a local model, and who will read the source.\n\nAhead on:\n- Transparency \u0026 trust, 60 against 40\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No tagged release of the core since 1.0.0-beta.8 on 1 May 2023. The 2.0 Developer Preview is installed by cloning the develop branch\n\n\n## Score by category\n\n| Category | Weight | AstrBot | Leon | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 32 | AstrBot +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 33 | AstrBot +29 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 57 | Leon +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 34 | AstrBot +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 15 | AstrBot +66 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 60 | Leon +20 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.8 · C** | **41 · E** | |\n\n## Facts side by side\n\n| Fact | AstrBot | Leon |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | AstrBotDevs | Louis Grenard (Leon AI) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-09-27 | 2023-05-01 |\n| Terms last updated | 2026-01-12 | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 42k stars | 18k stars |\n\n## Verdicts\n\n**AstrBot.** Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.\n\n**Leon.** Connected-app credentials are encrypted per profile and the Gmail connection is read-only. The 2.0 Developer Preview has no tagged release, runs tools and a 30-minute proactive pulse with no approval step, listens on every network interface with client authentication off, and sends telemetry by default.\n\n## Before you call either\n\n### AstrBot\n\n1. Set `ASTRBOT_DISABLE_METRICS=1` before the first start. Statistics, including the hostname, are sent to tickstats.soulter.top by default\n2. Set `dashboard.host` to 127.0.0.1 in `data/cmd_config.json`, or the `DASHBOARD_HOST` variable, unless remote access is intended. The default is 0.0.0.0\n3. Create an `abk_` key in Settings, OpenAPI with only the scopes needed, and send it as `Authorization: Bearer` or `X-API-Key`\n4. Include `username` in every `POST /api/v1/chat` body. Without the `chat:admin` scope an administrator ID is rejected\n5. Check Extensions, Future Tasks after asking for a schedule. One-off tasks are deleted after their run even when the run fails\n\n### Leon\n\n1. Clone the develop branch for 2.0. `npm install --global @leon-ai/cli` and docs.getleon.ai install and describe the legacy 1.0 betas\n2. Set `client_interface.auth.enabled: true` and a `LEON_PROFILE_TOKEN` before the machine joins a shared network. The server binds 0.0.0.0\n3. Set `telemetry_enabled: false` and `runtime.pulse_enabled: false` in the profile `config.yml` for an unattended or private run\n4. Use `availability.tools.allowed` to limit tools. Shell, file writes, computer use and browser control are otherwise available to the agent with no approval prompt\n5. Back up `LEON_CONNECTIONS_ENCRYPTION_KEY` from the profile `.env`. Without it the stored connections cannot be read\n\n## Questions\n\n### Which is better for AI agents, AstrBot or Leon?\n\nAstrBot scores 58.8 (C) on agent readiness against Leon's 41 (E), and leads in 4 of 7 scored categories. Leon leads on transparency \u0026 trust.\n\n### Are AstrBot and Leon open source?\n\nYes. AstrBot is open source (AGPL-3.0-or-later). Leon is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-leon.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-leon.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"leon\"}`. From a terminal: `anchor compare astrbot leon`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/leon.json\n\n## Other comparisons with AstrBot or Leon\n\n- [AstrBot vs CowAgent](https://www.anchorterminal.com/compare/astrbot-vs-cowagent.md)\n- [AstrBot vs GAIA](https://www.anchorterminal.com/compare/astrbot-vs-gaia.md)\n- [AstrBot vs Gemini Spark](https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark.md)\n- [AstrBot vs Grok Bot](https://www.anchorterminal.com/compare/astrbot-vs-grok-bot.md)\n- [AstrBot vs Haven](https://www.anchorterminal.com/compare/astrbot-vs-haven.md)\n- [AstrBot vs Hermes Agent](https://www.anchorterminal.com/compare/astrbot-vs-hermes-agent.md)\n- [AstrBot vs Instinct](https://www.anchorterminal.com/compare/astrbot-vs-instinct.md)\n- [AstrBot vs IronClaw](https://www.anchorterminal.com/compare/astrbot-vs-ironclaw.md)\n- [AstrBot vs Lindy](https://www.anchorterminal.com/compare/astrbot-vs-lindy.md)\n- [AstrBot vs nanobot](https://www.anchorterminal.com/compare/astrbot-vs-nanobot.md)\n- [AstrBot vs NanoClaw](https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.md)\n- [AstrBot vs Dots](https://www.anchorterminal.com/compare/astrbot-vs-openai-dots.md)\n- [AstrBot vs OpenClaw](https://www.anchorterminal.com/compare/astrbot-vs-openclaw.md)\n- [AstrBot vs PicoClaw](https://www.anchorterminal.com/compare/astrbot-vs-picoclaw.md)\n- [AstrBot vs Poke](https://www.anchorterminal.com/compare/astrbot-vs-poke.md)\n- [AstrBot vs QwenPaw](https://www.anchorterminal.com/compare/astrbot-vs-qwenpaw.md)\n- [AstrBot vs ZeroClaw](https://www.anchorterminal.com/compare/astrbot-vs-zeroclaw.md)\n- [AstrBot vs Zo Computer](https://www.anchorterminal.com/compare/astrbot-vs-zo-computer.md)\n- [CowAgent vs Leon](https://www.anchorterminal.com/compare/cowagent-vs-leon.md)\n- [GAIA vs Leon](https://www.anchorterminal.com/compare/gaia-vs-leon.md)\n- [Gemini Spark vs Leon](https://www.anchorterminal.com/compare/gemini-spark-vs-leon.md)\n- [Grok Bot vs Leon](https://www.anchorterminal.com/compare/grok-bot-vs-leon.md)\n- [Haven vs Leon](https://www.anchorterminal.com/compare/haven-vs-leon.md)\n- [Hermes Agent vs Leon](https://www.anchorterminal.com/compare/hermes-agent-vs-leon.md)\n- [Instinct vs Leon](https://www.anchorterminal.com/compare/instinct-vs-leon.md)\n- [IronClaw vs Leon](https://www.anchorterminal.com/compare/ironclaw-vs-leon.md)\n- [Leon vs Lindy](https://www.anchorterminal.com/compare/leon-vs-lindy.md)\n- [Leon vs nanobot](https://www.anchorterminal.com/compare/leon-vs-nanobot.md)\n- [Leon vs NanoClaw](https://www.anchorterminal.com/compare/leon-vs-nanoclaw.md)\n- [Leon vs Dots](https://www.anchorterminal.com/compare/leon-vs-openai-dots.md)\n- [Leon vs OpenClaw](https://www.anchorterminal.com/compare/leon-vs-openclaw.md)\n- [Leon vs PicoClaw](https://www.anchorterminal.com/compare/leon-vs-picoclaw.md)\n- [Leon vs Poke](https://www.anchorterminal.com/compare/leon-vs-poke.md)\n- [Leon vs QwenPaw](https://www.anchorterminal.com/compare/leon-vs-qwenpaw.md)\n- [Leon vs ZeroClaw](https://www.anchorterminal.com/compare/leon-vs-zeroclaw.md)\n- [Leon vs Zo Computer](https://www.anchorterminal.com/compare/leon-vs-zo-computer.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-12",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AstrBot vs Leon",
        "url": ""
      }
    ],
    "description": "AstrBot scores 58.8 (C) to Leon's 41 (E) for assistant proactive. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "Leon E 41",
      "scores"
    ],
    "h1": "AstrBot vs Leon",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-leon.png",
    "path": "/compare/astrbot-vs-leon",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs Leon for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-leon"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 580
  },
  "version": 1
}
