{
  "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 GAIA's 49.5 (D), and leads in 4 of 7 scored categories. GAIA leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "gaia",
      "name": "GAIA",
      "vendor": "The Experience Company",
      "vendorUrl": "https://heygaia.io",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "GAIA is a personal AI assistant from The Experience Company for email, calendar, todos and scheduled workflows. It runs as a hosted service at heygaia.io with messaging bots, and its source is published for noncommercial self-hosting.",
      "url": "https://www.anchorterminal.com/tools/gaia",
      "markdownUrl": "https://www.anchorterminal.com/tools/gaia.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gaia.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gaia.json",
      "repo": "https://github.com/theexperiencecompany/gaia",
      "license": "PolyForm-Noncommercial-1.0.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@heygaia/cli"
        }
      ],
      "auth": "oauth",
      "authNotes": "People sign in to the hosted app in a browser, and the backend uses WorkOS for sign-in. Integrations connect by OAuth on the provider's consent screen, through Composio for built-in ones, and Gmail asks for the `gmail.modify` scope. Custom MCP servers take no auth, a bearer token or OAuth 2.1 with PKCE and dynamic client registration, with tokens Fernet-encrypted in PostgreSQL. Bot users link a chat identity with `/auth`. No API key for outside callers was found (https://github.com/theexperiencecompany/gaia/blob/master/apps/api/app/config/oauth_config.py; https://docs.heygaia.io/guides/adding-mcp-integrations).",
      "pricing": "paid",
      "pricingNotes": "Pro is $30 a month on the pricing page, the only plan shown there, and its FAQ says GAIA is a paid product. The README and docs also describe a Free plan with daily caps and an Enterprise plan by contact, so whether a new account can use the hosted service without paying was not established. Payments run through Dodo Payments. Self-hosting is free for noncommercial use, plus model usage and a WorkOS account (https://heygaia.io/pricing; https://docs.heygaia.io/guides/usage-subscription; checked 2026-10-12).",
      "priceSummary": "$30 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the backend source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 308,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.heygaia.io",
      "llmsTxt": "https://docs.heygaia.io/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client"
      ],
      "tags": [
        "hosted",
        "source-available",
        "noncommercial-licence",
        "self-hosted",
        "messaging",
        "imessage",
        "whatsapp",
        "telegram",
        "slack",
        "discord",
        "gmail",
        "mcp-client",
        "status-page",
        "llms-txt",
        "approval-off-by-default"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.5,
        "grade": "D",
        "agentReady": false,
        "rank": 813,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 78,
          "payments": 20,
          "reliability": 67,
          "schema": 51,
          "security": 54,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -5,
        "negativeNotes": [
          "-3. The release notes of 26 August 2026 say GAIA pauses and asks before a tool that deletes, sends or overwrites, the privacy policy (7 August 2026) says destructive actions require explicit approval, and the pricing page says anything outward-facing waits for the owner's OK. The source at `api-v0.24.0` (14 September 2026) and on master sets the default mode to `always_allow`, commented as nothing gated until flipped after launch. Read from source, not from a live account. https://github.com/theexperiencecompany/gaia/blob/master/apps/api/app/models/hil_models.py",
          "-2. The pricing page FAQ, read on 12 October 2026, says GAIA never shares data with model providers. Section 3.1 of the privacy policy says content, files and data from connected accounts are shared with third-party AI model providers. https://heygaia.io/pricing and https://heygaia.io/privacy"
        ],
        "verdict": "GAIA's source is public, so its approval gate, memory store and token handling can be read. Three approval modes and per-tool overrides exist, but the default mode in the source runs every action unasked, which the privacy policy and release notes do not say. Pro costs $30 a month and self-hosting is limited to noncommercial use.",
        "bestFor": "It suits one person who wants mail triage, meeting briefs, todos and scheduled workflows from one assistant reachable on WhatsApp, Telegram, Slack, Discord or iMessage, and who wants to read the source.",
        "strengths": [
          "The whole product is in a public repository under PolyForm Noncommercial 1.0.0, including the approval gate, memory engine and five messaging bots.",
          "Approval settings have three modes and per-tool overrides, and adding an MCP server, pairing a device or disconnecting an account asks in every mode.",
          "Memory is visible in Settings as facts, a journal, four documents and a graph, and each item can be edited or deleted, with a clear-all control.",
          "A BetterStack status page covers the API, web app and four bots, and lists no incident in the 90 days to 12 October 2026.",
          "Three sets of tagged releases in the 90 days to 12 October 2026, the latest on 14 September, with 91 commits on master in the last 30 days."
        ],
        "weaknesses": [
          "The default approval mode in the source is `always_allow`, commented as nothing gated, while the privacy policy and the 26 August release notes say destructive actions wait for approval.",
          "The pricing page FAQ says data is never shared with model providers. The privacy policy says content, including data from connected accounts, is shared with them.",
          "The README lists a Free plan at $0 forever, while the pricing page shows only Pro and says GAIA is a paid product.",
          "Gmail connects with the `gmail.modify` scope, and built-in integrations run through Composio, so a third party holds those OAuth connections.",
          "No security.txt, bug bounty, certification, subprocessor list or DPA was found, and self-hosting needs a WorkOS account and five data services.",
          "The Terms of Service forbid automated systems accessing the Service. Recorded as a fact, and it matters before any probe is run."
        ],
        "agentNotes": [
          "Set Settings \u003e Approvals to Always ask or Auto before connecting mail. The default in the source runs every action, including send and delete, without asking.",
          "Expect no public API on the hosted service. The backend turns off its OpenAPI document in production, so reach GAIA through its apps, bots or CLI.",
          "Check the plan before relying on the hosted service. The README and docs describe a Free plan, and the pricing page says GAIA is a paid product.",
          "For self-hosting, prepare Docker, Node.js 20, a WorkOS account and a model key first, and confirm the use is noncommercial under the licence.",
          "Add outside tools as MCP servers by URL on the Integrations page. GAIA asks before adding a server in every approval mode."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.5
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 78,
          "payments": 20,
          "reliability": 67,
          "schema": 51,
          "security": 54,
          "transparency": 50
        },
        "provenanceScore": 70
      },
      "connect": {
        "install": "npm install -g @heygaia/cli \u0026\u0026 gaia init   # choose Self-Host (Docker), then open http://localhost:3000"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/gaia"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 30,
          "note": "billed monthly, with usage limits the pricing page does not state"
        }
      ],
      "provenance": {
        "legalEntity": "The Experience Company, Inc.",
        "domain": "heygaia.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://heygaia.io/terms",
        "privacy": "https://heygaia.io/privacy",
        "statusPage": "https://status.heygaia.io",
        "changelog": "https://docs.heygaia.io/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The Terms of Service (effective 14 August 2026) name The Experience Company, Inc., a Delaware corporation. Neither the terms nor the privacy policy gives a postal address.",
          "The privacy policy (effective 7 August 2026) gives support@heygaia.so as its contact, a different domain from heygaia.io, where the README's security and contact addresses sit.",
          "heygaia.io/.well-known/security.txt returned 404 on 12 October 2026. The repository's SECURITY.md gives an email address for reports.",
          "The status page lists api.heygaia.io as the backend. We sent nothing to that host.",
          "heygaia.io's robots.txt allows every path and names ClaudeBot, Claude-Web and anthropic-ai with Allow. docs.heygaia.io carries Content-Signal ai-input=yes. status.heygaia.io returned an empty robots.txt.",
          "The domain's registration date was not looked up."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gaia.json",
      "live": {
        "slug": "gaia",
        "vendorStatus": {
          "page": "https://status.heygaia.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-12T17:28:08.466725732Z"
        },
        "updatedAt": "2026-10-12T17:28:08.466725732Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "The Experience Company",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "PolyForm-Noncommercial-1.0.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "2026-08-14",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-07",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "42k stars",
        "b": "308 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot scores 58.8 (C) on agent readiness against GAIA's 49.5 (D), and leads in 4 of 7 scored categories. GAIA leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or GAIA?"
      },
      {
        "answer": "AstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for GAIA.",
        "question": "Are AstrBot and GAIA open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 67",
          "Schema \u0026 documentation, 62 against 51",
          "Payments \u0026 pricing, 60 against 20"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "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": [
          "Security \u0026 auth, 54 against 44",
          "Transparency \u0026 trust, 60 against 40"
        ],
        "also": null,
        "goodFor": "It suits one person who wants mail triage, meeting briefs, todos and scheduled workflows from one assistant reachable on WhatsApp, Telegram, Slack, Discord or iMessage, and who wants to read the source.",
        "slug": "gaia",
        "watchFor": "The default approval mode in the source is `always_allow`, commented as nothing gated, while the privacy policy and the 26 August release notes say destructive actions wait for approval."
      }
    ],
    "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-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-leon.json",
        "title": "AstrBot vs Leon",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-leon"
      },
      {
        "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-gaia.json",
        "title": "CowAgent vs GAIA",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-gemini-spark.json",
        "title": "GAIA vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-grok-bot.json",
        "title": "GAIA vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-haven.json",
        "title": "GAIA vs Haven",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-hermes-agent.json",
        "title": "GAIA vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-instinct.json",
        "title": "GAIA vs Instinct",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-ironclaw.json",
        "title": "GAIA vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-ironclaw"
      },
      {
        "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/gaia-vs-lindy.json",
        "title": "GAIA vs Lindy",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-nanobot.json",
        "title": "GAIA vs nanobot",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.json",
        "title": "GAIA vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-openai-dots.json",
        "title": "GAIA vs Dots",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-openclaw.json",
        "title": "GAIA vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-picoclaw.json",
        "title": "GAIA vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-poke.json",
        "title": "GAIA vs Poke",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-qwenpaw.json",
        "title": "GAIA vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-zeroclaw.json",
        "title": "GAIA vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-zo-computer.json",
        "title": "GAIA vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 14,
        "edge": "astrbot",
        "gaia": 67,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 11,
        "edge": "astrbot",
        "gaia": 51,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 0,
        "edge": "",
        "gaia": 54,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 10,
        "edge": "gaia",
        "gaia": 54,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 40,
        "edge": "astrbot",
        "gaia": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 3,
        "edge": "astrbot",
        "gaia": 78,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 20,
        "edge": "gaia",
        "gaia": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AstrBot scores 58.8 (C) on agent readiness against GAIA's 49.5 (D), and leads in 4 of 7 scored categories. GAIA leads on security \u0026 auth and 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.",
      "gaia": "GAIA's source is public, so its approval gate, memory store and token handling can be read. Three approval modes and per-tool overrides exist, but the default mode in the source runs every action unasked, which the privacy policy and release notes do not say. Pro costs $30 a month and self-hosting is limited to noncommercial use."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-gaia",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-gaia.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-gaia.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-gaia.min.md"
  },
  "markdown": "AstrBot scores 58.8 (C) on agent readiness against GAIA's 49.5 (D), and leads in 4 of 7 scored categories. GAIA leads on security \u0026 auth and 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- GAIA: grade D, 49.5/100, rank #813 of 986. Markdown https://www.anchorterminal.com/tools/gaia.md · JSON https://www.anchorterminal.com/api/v1/tools/gaia.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 67\n- Schema \u0026 documentation, 62 against 51\n- Payments \u0026 pricing, 60 against 20\n\nAlso in its favour:\n- Free to start without a card\n- Open source\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### GAIA (D)\n\nGood for: It suits one person who wants mail triage, meeting briefs, todos and scheduled workflows from one assistant reachable on WhatsApp, Telegram, Slack, Discord or iMessage, and who wants to read the source.\n\nAhead on:\n- Security \u0026 auth, 54 against 44\n- Transparency \u0026 trust, 60 against 40\n\nWatch for: The default approval mode in the source is `always_allow`, commented as nothing gated, while the privacy policy and the 26 August release notes say destructive actions wait for approval.\n\n\n## Score by category\n\n| Category | Weight | AstrBot | GAIA | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 67 | AstrBot +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 51 | AstrBot +11 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 54 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 54 | GAIA +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 20 | AstrBot +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 78 | AstrBot +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 60 | GAIA +20 |\n| Negative events | ≤15 | -2 | -5 | |\n| **Total** | | **58.8 · C** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | AstrBot | GAIA |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | AstrBotDevs | The Experience Company |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | PolyForm-Noncommercial-1.0.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-27 | 2026-09-14 |\n| Terms last updated | 2026-01-12 | 2026-08-14 |\n| Privacy policy last updated | no document linked | 2026-08-07 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 42k stars | 308 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**GAIA.** GAIA's source is public, so its approval gate, memory store and token handling can be read. Three approval modes and per-tool overrides exist, but the default mode in the source runs every action unasked, which the privacy policy and release notes do not say. Pro costs $30 a month and self-hosting is limited to noncommercial use.\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### GAIA\n\n1. Set Settings \u003e Approvals to Always ask or Auto before connecting mail. The default in the source runs every action, including send and delete, without asking.\n2. Expect no public API on the hosted service. The backend turns off its OpenAPI document in production, so reach GAIA through its apps, bots or CLI.\n3. Check the plan before relying on the hosted service. The README and docs describe a Free plan, and the pricing page says GAIA is a paid product.\n4. For self-hosting, prepare Docker, Node.js 20, a WorkOS account and a model key first, and confirm the use is noncommercial under the licence.\n5. Add outside tools as MCP servers by URL on the Integrations page. GAIA asks before adding a server in every approval mode.\n\n## Questions\n\n### Which is better for AI agents, AstrBot or GAIA?\n\nAstrBot scores 58.8 (C) on agent readiness against GAIA's 49.5 (D), and leads in 4 of 7 scored categories. GAIA leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are AstrBot and GAIA open source?\n\nAstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for GAIA.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-gaia.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-gaia.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"gaia\"}`. From a terminal: `anchor compare astrbot gaia`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/gaia.json\n\n## Other comparisons with AstrBot or GAIA\n\n- [AstrBot vs CowAgent](https://www.anchorterminal.com/compare/astrbot-vs-cowagent.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 Leon](https://www.anchorterminal.com/compare/astrbot-vs-leon.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 GAIA](https://www.anchorterminal.com/compare/cowagent-vs-gaia.md)\n- [GAIA vs Gemini Spark](https://www.anchorterminal.com/compare/gaia-vs-gemini-spark.md)\n- [GAIA vs Grok Bot](https://www.anchorterminal.com/compare/gaia-vs-grok-bot.md)\n- [GAIA vs Haven](https://www.anchorterminal.com/compare/gaia-vs-haven.md)\n- [GAIA vs Hermes Agent](https://www.anchorterminal.com/compare/gaia-vs-hermes-agent.md)\n- [GAIA vs Instinct](https://www.anchorterminal.com/compare/gaia-vs-instinct.md)\n- [GAIA vs IronClaw](https://www.anchorterminal.com/compare/gaia-vs-ironclaw.md)\n- [GAIA vs Leon](https://www.anchorterminal.com/compare/gaia-vs-leon.md)\n- [GAIA vs Lindy](https://www.anchorterminal.com/compare/gaia-vs-lindy.md)\n- [GAIA vs nanobot](https://www.anchorterminal.com/compare/gaia-vs-nanobot.md)\n- [GAIA vs NanoClaw](https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.md)\n- [GAIA vs Dots](https://www.anchorterminal.com/compare/gaia-vs-openai-dots.md)\n- [GAIA vs OpenClaw](https://www.anchorterminal.com/compare/gaia-vs-openclaw.md)\n- [GAIA vs PicoClaw](https://www.anchorterminal.com/compare/gaia-vs-picoclaw.md)\n- [GAIA vs Poke](https://www.anchorterminal.com/compare/gaia-vs-poke.md)\n- [GAIA vs QwenPaw](https://www.anchorterminal.com/compare/gaia-vs-qwenpaw.md)\n- [GAIA vs ZeroClaw](https://www.anchorterminal.com/compare/gaia-vs-zeroclaw.md)\n- [GAIA vs Zo Computer](https://www.anchorterminal.com/compare/gaia-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 GAIA",
        "url": ""
      }
    ],
    "description": "AstrBot scores 58.8 (C) to GAIA's 49.5 (D) for assistant proactive. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "GAIA D 49.5",
      "scores"
    ],
    "h1": "AstrBot vs GAIA",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-gaia.png",
    "path": "/compare/astrbot-vs-gaia",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs GAIA for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-gaia"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 630
  },
  "version": 1
}
