{
  "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": 585,
        "ranked": true,
        "rankOf": 993,
        "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",
      "live": {
        "slug": "astrbot",
        "versions": [
          {
            "registry": "github",
            "name": "AstrBotDevs/AstrBot",
            "version": "v4.29.0-beta.2",
            "released": "2026-10-10",
            "seenAt": "2026-10-12T21:48:45.09446183Z"
          },
          {
            "registry": "pypi",
            "name": "astrbot",
            "version": "4.28.2",
            "released": "2026-09-27",
            "seenAt": "2026-10-12T21:48:44.901664851Z"
          }
        ],
        "githubStars": 41782,
        "pypiWeekly": 3040,
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/AstrBotDevs/AstrBot/master/EULA.md",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-12T19:57:17.960034624Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7ae5843e8a0a"
          }
        ],
        "updatedAt": "2026-10-12T21:48:45.09446183Z"
      }
    },
    "answer": "AstrBot scores 58.8 (C) on agent readiness against Tomo's 13.1 (F), and leads in 6 of 7 scored categories. Tomo leads on transparency \u0026 trust.",
    "b": {
      "slug": "tomo",
      "name": "Tomo",
      "vendor": "Mapo Labs, Inc.",
      "vendorUrl": "https://www.tomo.ai",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Tomo is a personal AI from Mapo Labs that a person texts over iMessage or uses in its iOS app. It remembers goals, checks in first, joins group chats, sets reminders and connects to the owner's calendar and email.",
      "url": "https://www.anchorterminal.com/tools/tomo",
      "markdownUrl": "https://www.anchorterminal.com/tools/tomo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tomo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tomo.json",
      "license": "Closed service under Tomo's Terms of Service (Mapo Labs, Inc., last updated 24 September 2026).",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person starts by texting Tomo, signs in at tomo.ai/login or in the iOS app, and the account is tied to their phone number (https://www.tomo.ai/about). No API key, MCP server or other programmatic access was found.",
      "pricing": "paid",
      "pricingNotes": "The base plan starts at $19.99 a month, with other plans that raise messaging limits, and the site says prices may vary by user and promotion (https://www.tomo.ai/about). The App Store lists in-app purchases named Tomo Pro at $19.99 and $119.99 (https://apps.apple.com/us/app/tomo-your-personal-ai/id6757726935), checked 12 October 2026. No free plan was found. Payments run through Stripe.",
      "priceSummary": "$19.99 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on tomo.ai, checked 12 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "capabilities": [
        "assistant.accounts",
        "assistant.messaging",
        "assistant.memory",
        "messaging.inbound",
        "calendar.write",
        "mailbox.read",
        "notify.push",
        "memory.user",
        "web.search"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "paid",
        "ios"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "disclosure": "Tomo competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 13.1,
        "grade": "F",
        "agentReady": false,
        "rank": 989,
        "ranked": true,
        "rankOf": 993,
        "categoryRank": 25,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 54,
          "payments": 10,
          "reliability": 15,
          "schema": 0,
          "security": 0,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Tomo is a hosted personal AI over iMessage and an iOS app, centred on goals, check-ins and reminders, with regular iOS releases since April 2026. No outside agent can call it, there's no free plan, and no status page, security contact or subprocessor list was found.",
        "bestFor": "People who want accountability, check-ins and reminders by text, including in group chats.",
        "disclosure": "Tomo competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "In iMessage group chats it shares only busy times from a connected calendar, not event details.",
          "Google Workspace and health data are excluded from AI training, per the privacy policy.",
          "Complete deletion requests are processed within 30 days.",
          "Eight iOS releases between 31 July and 29 September 2026."
        ],
        "weaknesses": [
          "No API, MCP server or A2A endpoint for an outside agent.",
          "No free plan or trial found, and prices may vary by user.",
          "No status page, security.txt or security contact found.",
          "The privacy policy shares visitor identifiers with Meta, TikTok and Snap for ad targeting."
        ],
        "agentNotes": [
          "Don't plan to call Tomo from another agent. It answers only the owner's iMessage, group chats it's added to and the iOS app.",
          "Tell the owner that adding Tomo to a group chat applies its terms to every participant."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 13.1
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 54,
          "payments": 10,
          "reliability": 15,
          "schema": 0,
          "security": 0,
          "transparency": 33
        },
        "provenanceScore": 60
      },
      "letme": {
        "capability": "https://letme.dev/assistant.accounts",
        "tool": "https://letme.dev/tomo"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Tomo base plan",
          "unit": "month",
          "usd": 19.99,
          "note": "Starting price on tomo.ai. Prices may vary by user and promotion."
        }
      ],
      "provenance": {
        "legalEntity": "Mapo Labs, Inc.",
        "domain": "tomo.ai",
        "domainRegistered": "2020-12-14",
        "endpointOnVendorDomain": null,
        "terms": "https://www.tomo.ai/terms",
        "privacy": "https://www.tomo.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "tomo.ai redirects to www.tomo.ai. The footer links mapolabs.com.",
          "tomo.ai/.well-known/security.txt and tomo.ai/llms.txt redirect to the login page.",
          "No status page or changelog was found.",
          "RDAP gives a registration date of 2020-12-14 for tomo.ai."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tomo.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "Mapo Labs, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "Closed service under Tomo's Terms of Service (Mapo Labs, Inc., last updated 24 September 2026).",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "",
        "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": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot scores 58.8 (C) on agent readiness against Tomo's 13.1 (F), and leads in 6 of 7 scored categories. Tomo leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or Tomo?"
      },
      {
        "answer": "AstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Tomo.",
        "question": "Are AstrBot and Tomo open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 15",
          "Schema \u0026 documentation, 62 against 0",
          "Agent ergonomics, 54 against 0",
          "Security \u0026 auth, 44 against 0",
          "Payments \u0026 pricing, 60 against 10",
          "Maintenance \u0026 community, 81 against 54"
        ],
        "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": [
          "Transparency \u0026 trust, 47 against 40"
        ],
        "also": null,
        "goodFor": "People who want accountability, check-ins and reminders by text, including in group chats.",
        "slug": "tomo",
        "watchFor": "No API, MCP server or A2A endpoint for an outside agent."
      }
    ],
    "job": {
      "capability": "assistant.messaging",
      "name": "Assistants reached by message"
    },
    "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-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-tomo.json",
        "title": "CowAgent vs Tomo",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-tomo.json",
        "title": "GAIA vs Tomo",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-tomo.json",
        "title": "Gemini Spark vs Tomo",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-tomo.json",
        "title": "Grok Bot vs Tomo",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-tomo.json",
        "title": "Haven vs Tomo",
        "url": "https://www.anchorterminal.com/compare/haven-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-tomo.json",
        "title": "Hermes Agent vs Tomo",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-tomo.json",
        "title": "Instinct vs Tomo",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-tomo.json",
        "title": "IronClaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-tomo.json",
        "title": "Leon vs Tomo",
        "url": "https://www.anchorterminal.com/compare/leon-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-tomo.json",
        "title": "Lindy vs Tomo",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-tomo.json",
        "title": "nanobot vs Tomo",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-tomo.json",
        "title": "NanoClaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/natura-vs-tomo.json",
        "title": "Natura tinyNature vs Tomo",
        "url": "https://www.anchorterminal.com/compare/natura-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-tomo.json",
        "title": "Dots vs Tomo",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-tomo.json",
        "title": "OpenClaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pally-vs-tomo.json",
        "title": "Pally vs Tomo",
        "url": "https://www.anchorterminal.com/compare/pally-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-tomo.json",
        "title": "Poke vs Tomo",
        "url": "https://www.anchorterminal.com/compare/poke-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-tomo.json",
        "title": "QwenPaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomo-vs-wajo.json",
        "title": "Tomo vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/tomo-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomo-vs-zeroclaw.json",
        "title": "Tomo vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/tomo-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomo-vs-zo-computer.json",
        "title": "Tomo vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/tomo-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/talorys-vs-tomo.json",
        "title": "Talorys vs Tomo",
        "url": "https://www.anchorterminal.com/compare/talorys-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-natura.json",
        "title": "AstrBot vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-pally.json",
        "title": "AstrBot vs Pally",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/picoclaw-vs-tomo.json",
        "title": "PicoClaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/picoclaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-talorys.json",
        "title": "AstrBot vs Talorys",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-talorys"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 66,
        "edge": "astrbot",
        "key": "reliability",
        "name": "Reliability",
        "tomo": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 62,
        "edge": "astrbot",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tomo": 0,
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 54,
        "edge": "astrbot",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tomo": 0,
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 44,
        "edge": "astrbot",
        "key": "security",
        "name": "Security \u0026 auth",
        "tomo": 0,
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 50,
        "edge": "astrbot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tomo": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 27,
        "edge": "astrbot",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tomo": 54,
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 7,
        "edge": "tomo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tomo": 47,
        "weight": 7
      }
    ],
    "summary": "AstrBot scores 58.8 (C) on agent readiness against Tomo's 13.1 (F), and leads in 6 of 7 scored categories. Tomo leads on transparency \u0026 trust. Both do assistants reached by message.",
    "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.",
      "tomo": "Tomo is a hosted personal AI over iMessage and an iOS app, centred on goals, check-ins and reminders, with regular iOS releases since April 2026. No outside agent can call it, there's no free plan, and no status page, security contact or subprocessor list was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-tomo",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-tomo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-tomo.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-tomo.min.md"
  },
  "markdown": "AstrBot scores 58.8 (C) on agent readiness against Tomo's 13.1 (F), and leads in 6 of 7 scored categories. Tomo leads on transparency \u0026 trust. Both do assistants reached by message.\n\n- AstrBot: grade C, 58.8/100, rank #585 of 993. Markdown https://www.anchorterminal.com/tools/astrbot.md · JSON https://www.anchorterminal.com/api/v1/tools/astrbot.json\n- Tomo: grade F, 13.1/100, rank #989 of 993. Markdown https://www.anchorterminal.com/tools/tomo.md · JSON https://www.anchorterminal.com/api/v1/tools/tomo.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 314 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 15\n- Schema \u0026 documentation, 62 against 0\n- Agent ergonomics, 54 against 0\n- Security \u0026 auth, 44 against 0\n- Payments \u0026 pricing, 60 against 10\n- Maintenance \u0026 community, 81 against 54\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### Tomo (F)\n\nGood for: People who want accountability, check-ins and reminders by text, including in group chats.\n\nAhead on:\n- Transparency \u0026 trust, 47 against 40\n\nWatch for: No API, MCP server or A2A endpoint for an outside agent.\n\n\n## Score by category\n\n| Category | Weight | AstrBot | Tomo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 15 | AstrBot +66 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 0 | AstrBot +62 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 0 | AstrBot +54 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 0 | AstrBot +44 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 10 | AstrBot +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 54 | AstrBot +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 47 | Tomo +7 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.8 · C** | **13.1 · F** | |\n\n## Facts side by side\n\n| Fact | AstrBot | Tomo |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | AstrBotDevs | Mapo Labs, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | Closed service under Tomo's Terms of Service (Mapo Labs, Inc., last updated 24 September 2026). |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-09-27 | 2026-09-29 |\n| Terms last updated | 2026-01-12 |  |\n| Privacy policy last updated | 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 | none |\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**Tomo.** Tomo is a hosted personal AI over iMessage and an iOS app, centred on goals, check-ins and reminders, with regular iOS releases since April 2026. No outside agent can call it, there's no free plan, and no status page, security contact or subprocessor list was found.\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### Tomo\n\n1. Don't plan to call Tomo from another agent. It answers only the owner's iMessage, group chats it's added to and the iOS app.\n2. Tell the owner that adding Tomo to a group chat applies its terms to every participant.\n\n## Questions\n\n### Which is better for AI agents, AstrBot or Tomo?\n\nAstrBot scores 58.8 (C) on agent readiness against Tomo's 13.1 (F), and leads in 6 of 7 scored categories. Tomo leads on transparency \u0026 trust.\n\n### Are AstrBot and Tomo open source?\n\nAstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Tomo.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-tomo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-tomo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"tomo\"}`. From a terminal: `anchor compare astrbot tomo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/tomo.json\n\n## Other comparisons with AstrBot or Tomo\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 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 Tomo](https://www.anchorterminal.com/compare/cowagent-vs-tomo.md)\n- [GAIA vs Tomo](https://www.anchorterminal.com/compare/gaia-vs-tomo.md)\n- [Gemini Spark vs Tomo](https://www.anchorterminal.com/compare/gemini-spark-vs-tomo.md)\n- [Grok Bot vs Tomo](https://www.anchorterminal.com/compare/grok-bot-vs-tomo.md)\n- [Haven vs Tomo](https://www.anchorterminal.com/compare/haven-vs-tomo.md)\n- [Hermes Agent vs Tomo](https://www.anchorterminal.com/compare/hermes-agent-vs-tomo.md)\n- [Instinct vs Tomo](https://www.anchorterminal.com/compare/instinct-vs-tomo.md)\n- [IronClaw vs Tomo](https://www.anchorterminal.com/compare/ironclaw-vs-tomo.md)\n- [Leon vs Tomo](https://www.anchorterminal.com/compare/leon-vs-tomo.md)\n- [Lindy vs Tomo](https://www.anchorterminal.com/compare/lindy-vs-tomo.md)\n- [nanobot vs Tomo](https://www.anchorterminal.com/compare/nanobot-vs-tomo.md)\n- [NanoClaw vs Tomo](https://www.anchorterminal.com/compare/nanoclaw-vs-tomo.md)\n- [Natura tinyNature vs Tomo](https://www.anchorterminal.com/compare/natura-vs-tomo.md)\n- [Dots vs Tomo](https://www.anchorterminal.com/compare/openai-dots-vs-tomo.md)\n- [OpenClaw vs Tomo](https://www.anchorterminal.com/compare/openclaw-vs-tomo.md)\n- [Pally vs Tomo](https://www.anchorterminal.com/compare/pally-vs-tomo.md)\n- [Poke vs Tomo](https://www.anchorterminal.com/compare/poke-vs-tomo.md)\n- [QwenPaw vs Tomo](https://www.anchorterminal.com/compare/qwenpaw-vs-tomo.md)\n- [Tomo vs Wajo (Fo)](https://www.anchorterminal.com/compare/tomo-vs-wajo.md)\n- [Tomo vs ZeroClaw](https://www.anchorterminal.com/compare/tomo-vs-zeroclaw.md)\n- [Tomo vs Zo Computer](https://www.anchorterminal.com/compare/tomo-vs-zo-computer.md)\n- [Talorys vs Tomo](https://www.anchorterminal.com/compare/talorys-vs-tomo.md)\n- [AstrBot vs Natura tinyNature](https://www.anchorterminal.com/compare/astrbot-vs-natura.md)\n- [AstrBot vs Pally](https://www.anchorterminal.com/compare/astrbot-vs-pally.md)\n- [PicoClaw vs Tomo](https://www.anchorterminal.com/compare/picoclaw-vs-tomo.md)\n- [AstrBot vs Talorys](https://www.anchorterminal.com/compare/astrbot-vs-talorys.md)\n\n## Disclosure\n\n- Tomo competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\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 Tomo",
        "url": ""
      }
    ],
    "description": "AstrBot scores 58.8 (C) to Tomo's 13.1 (F) for assistants reached by message. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "Tomo F 13.1",
      "scores"
    ],
    "h1": "AstrBot vs Tomo",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-tomo.png",
    "path": "/compare/astrbot-vs-tomo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs Tomo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-tomo"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 630
  },
  "version": 1
}
