{
  "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 Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.",
    "b": {
      "slug": "poke",
      "name": "Poke",
      "vendor": "The Interaction Company of California Inc.",
      "vendorUrl": "https://poke.com",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Hosted personal assistant from The Interaction Company of California, reached by text on Apple Messages, WhatsApp, Telegram and RCS. It works across the owner's Gmail or Outlook mail, calendar, contacts and connected apps.",
      "url": "https://www.anchorterminal.com/tools/poke",
      "markdownUrl": "https://www.anchorterminal.com/tools/poke.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/poke.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/poke.json",
      "license": "Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "poke"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person signs up at poke.com and connects a Google or Microsoft account. The Poke API takes `Authorization: Bearer \u003ckey\u003e` with a V2 key created in Kitchen under API Keys. Keys are named, shown once, revocable one at a time and have no scopes. Older `pk_` keys work only on the deprecated endpoint. The CLI signs in with a browser device code and stores credentials in `~/.config/poke/credentials.json`. Third-party MCP servers are connected with an API key or OAuth (https://poke.com/docs/api; https://poke.com/docs/mcp-servers; https://poke.com/docs/creating-recipes).",
      "pricing": "freemium",
      "pricingNotes": "Free at $0 with no card. Pro is $19 a month and Ultra $199 a month on monthly billing. Free and Pro have a refilling usage allowance, with no figures published, and Poke continues in a lighter mode past it. Ultra includes a monthly credit pool (1 credit is $1 of usage), with top-ups and optional auto-reload. Poke Human is included with Ultra, with real-world expenses charged at cost. Model usage is not billed separately (https://poke.com/pricing; https://poke.com/docs/usage-and-resets; https://poke.com/faq, checked 2026-10-12).",
      "priceSummary": "$19 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the pricing page (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://poke.com/docs",
      "llmsTxt": "https://poke.com/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "agent.mcp-client"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "messaging",
        "imessage",
        "whatsapp",
        "telegram",
        "gmail",
        "outlook",
        "mcp-client",
        "api-key",
        "free-tier",
        "status-page",
        "llms-txt",
        "trains-on-data-by-default"
      ],
      "lastRelease": "2026-06-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37.6,
        "grade": "F",
        "agentReady": false,
        "rank": 955,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 30,
          "maintenance": 31,
          "payments": 30,
          "reliability": 51,
          "schema": 42,
          "security": 24,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected.",
        "bestFor": "One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.",
        "strengths": [
          "Answers on Apple Messages, WhatsApp, Telegram and RCS, with the channel chosen in settings, per the docs welcome page and FAQ",
          "Free plan with no card, Pro at $19 a month and Ultra at $199 a month, all published without a sign-in",
          "Connects any remote MCP server by URL, with API key or OAuth, and OAuth servers with Dynamic Client Registration need no setup",
          "status.poke.com lists App, Email, Integrations, three messaging channels and API, with two incidents from July to 12 October 2026",
          "Named API keys are created in Kitchen, shown once and revoked one at a time"
        ],
        "weaknesses": [
          "No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing",
          "Customer content, including email contents, may train AI models unless the user selects Maximum Privacy, per the privacy notice of 11 September 2026",
          "Model providers, sub-processors, hosting locations and where account tokens are stored are not named in the pages read",
          "An API key message is processed with full access to email, calendar and integrations. Keys have no scopes",
          "No security.txt, disclosure policy, bug bounty or certification was found on poke.com",
          "The terms forbid automated access for scraping and use for benchmarking or competitive analysis. This matters before any probe is run"
        ],
        "agentNotes": [
          "POST JSON to `https://poke.com/api/v1/inbound/api-message` with a Bearer key from Kitchen. Legacy `pk_` keys work only on the deprecated `/api/v1/inbound-sms/webhook`",
          "Expect only `{\"success\": true}` back. Poke's answer goes to the owner's message thread, not to the caller",
          "Do not retry a POST blindly. No idempotency key is documented, and a repeated message may make Poke act twice",
          "Treat an API key as full access to the owner's mail, calendar and integrations. Create one key per automation and revoke it when done",
          "Avoid the prefilled integration link with `apiKey` in the query string for real secrets. Enter the key in the form or use `npx poke@latest mcp add -k`"
        ],
        "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": 37.6
          }
        ],
        "editorialScores": {
          "ergonomics": 30,
          "maintenance": 31,
          "payments": 30,
          "reliability": 51,
          "schema": 42,
          "security": 24,
          "transparency": 34
        },
        "provenanceScore": 81
      },
      "connect": {
        "install": "npx poke@latest login",
        "http": "curl 'https://poke.com/api/v1/inbound/api-message' \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message\": \"test\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/poke"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 19,
          "note": "billed monthly, refilling usage allowance with no published figure"
        },
        {
          "item": "Ultra",
          "unit": "month",
          "usd": 199,
          "note": "billed monthly, includes a monthly credit pool and Poke Human"
        },
        {
          "item": "Ultra top-up credit",
          "unit": "credit",
          "usd": 1,
          "note": "1 credit is $1 of usage"
        }
      ],
      "provenance": {
        "legalEntity": "The Interaction Company of California Inc.",
        "domain": "poke.com",
        "domainRegistered": "1997-03-26",
        "endpointOnVendorDomain": true,
        "terms": "https://poke.com/terms",
        "privacy": "https://poke.com/privacy",
        "statusPage": "https://status.poke.com",
        "changelog": "https://poke.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The privacy notice (last updated 11 September 2026) names The Interaction Company of California Inc. and gives 169 Waverley St Apt B, Palo Alto, CA 94301 as the controller's address. The terms (last modified 17 March 2026) name The Interaction Company of California d/b/a Poke.",
          "Cognition announced on 23 July 2026 that The Interaction Company of California was joining it. The terms and privacy notice read on 12 October 2026 do not name Cognition.",
          "poke.com/.well-known/security.txt answered 404. poke.com/robots.txt also answered 404, so the host publishes no crawl rules.",
          "RDAP for poke.com gives a registration date of 1997-03-26 and NameCheap, Inc. as registrar.",
          "The API answers at poke.com/api/v1, on the vendor's domain."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/poke.json",
      "live": {
        "slug": "poke",
        "vendorStatus": {
          "page": "https://status.poke.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-12T18:57:01.261625139Z"
        },
        "updatedAt": "2026-10-12T18:57:01.261625139Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "The Interaction Company of California Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-06-25",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "2026-03-17",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-09-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "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": "yes",
        "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": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot scores 58.8 (C) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or Poke?"
      },
      {
        "answer": "AstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Poke.",
        "question": "Are AstrBot and Poke open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 51",
          "Schema \u0026 documentation, 62 against 42",
          "Agent ergonomics, 54 against 30",
          "Security \u0026 auth, 44 against 24",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 81 against 31"
        ],
        "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, 58 against 40"
        ],
        "also": null,
        "goodFor": "One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.",
        "slug": "poke",
        "watchFor": "No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Assistant proactive"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent.json",
        "title": "AstrBot vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-gaia.json",
        "title": "AstrBot vs GAIA",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark.json",
        "title": "AstrBot vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-grok-bot.json",
        "title": "AstrBot vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-haven.json",
        "title": "AstrBot vs Haven",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-hermes-agent.json",
        "title": "AstrBot vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-instinct.json",
        "title": "AstrBot vs Instinct",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-ironclaw.json",
        "title": "AstrBot vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-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-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-poke.json",
        "title": "CowAgent vs Poke",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-poke"
      },
      {
        "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/gemini-spark-vs-poke.json",
        "title": "Gemini Spark vs Poke",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-poke.json",
        "title": "Grok Bot vs Poke",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-poke.json",
        "title": "Haven vs Poke",
        "url": "https://www.anchorterminal.com/compare/haven-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-poke.json",
        "title": "Hermes Agent vs Poke",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-poke.json",
        "title": "Instinct vs Poke",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-poke.json",
        "title": "IronClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-poke.json",
        "title": "Leon vs Poke",
        "url": "https://www.anchorterminal.com/compare/leon-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-poke.json",
        "title": "Lindy vs Poke",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-poke.json",
        "title": "nanobot vs Poke",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke.json",
        "title": "NanoClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-poke.json",
        "title": "Dots vs Poke",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-poke.json",
        "title": "OpenClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/picoclaw-vs-poke.json",
        "title": "PicoClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/picoclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw.json",
        "title": "Poke vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-zeroclaw.json",
        "title": "Poke vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/poke-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-zo-computer.json",
        "title": "Poke vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/poke-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 30,
        "edge": "astrbot",
        "key": "reliability",
        "name": "Reliability",
        "poke": 51,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 20,
        "edge": "astrbot",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "poke": 42,
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 24,
        "edge": "astrbot",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "poke": 30,
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 20,
        "edge": "astrbot",
        "key": "security",
        "name": "Security \u0026 auth",
        "poke": 24,
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 30,
        "edge": "astrbot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "poke": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 50,
        "edge": "astrbot",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "poke": 31,
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 18,
        "edge": "poke",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "poke": 58,
        "weight": 7
      }
    ],
    "summary": "AstrBot scores 58.8 (C) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust. Both do assistant proactive.",
    "verdicts": {
      "astrbot": "Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.",
      "poke": "Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-poke",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-poke.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-poke.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-poke.min.md"
  },
  "markdown": "AstrBot scores 58.8 (C) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust. Both do assistant proactive.\n\n- AstrBot: grade C, 58.8/100, rank #584 of 986. Markdown https://www.anchorterminal.com/tools/astrbot.md · JSON https://www.anchorterminal.com/api/v1/tools/astrbot.json\n- Poke: grade F, 37.6/100, rank #955 of 986. Markdown https://www.anchorterminal.com/tools/poke.md · JSON https://www.anchorterminal.com/api/v1/tools/poke.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 51\n- Schema \u0026 documentation, 62 against 42\n- Agent ergonomics, 54 against 30\n- Security \u0026 auth, 44 against 24\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 81 against 31\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### Poke (F)\n\nGood for: One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.\n\nAhead on:\n- Transparency \u0026 trust, 58 against 40\n\nWatch for: No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing\n\n\n## Score by category\n\n| Category | Weight | AstrBot | Poke | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 51 | AstrBot +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 42 | AstrBot +20 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 30 | AstrBot +24 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 24 | AstrBot +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | AstrBot +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 31 | AstrBot +50 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 58 | Poke +18 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.8 · C** | **37.6 · F** | |\n\n## Facts side by side\n\n| Fact | AstrBot | Poke |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | AstrBotDevs | The Interaction Company of California Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-27 | 2026-06-25 |\n| Terms last updated | 2026-01-12 | 2026-03-17 |\n| Privacy policy last updated | no document linked | 2026-09-11 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\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 | 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**Poke.** Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected.\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### Poke\n\n1. POST JSON to `https://poke.com/api/v1/inbound/api-message` with a Bearer key from Kitchen. Legacy `pk_` keys work only on the deprecated `/api/v1/inbound-sms/webhook`\n2. Expect only `{\"success\": true}` back. Poke's answer goes to the owner's message thread, not to the caller\n3. Do not retry a POST blindly. No idempotency key is documented, and a repeated message may make Poke act twice\n4. Treat an API key as full access to the owner's mail, calendar and integrations. Create one key per automation and revoke it when done\n5. Avoid the prefilled integration link with `apiKey` in the query string for real secrets. Enter the key in the form or use `npx poke@latest mcp add -k`\n\n## Questions\n\n### Which is better for AI agents, AstrBot or Poke?\n\nAstrBot scores 58.8 (C) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.\n\n### Are AstrBot and Poke open source?\n\nAstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Poke.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-poke.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-poke.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"poke\"}`. From a terminal: `anchor compare astrbot poke`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/poke.json\n\n## Other comparisons with AstrBot or Poke\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 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 Poke](https://www.anchorterminal.com/compare/cowagent-vs-poke.md)\n- [GAIA vs Poke](https://www.anchorterminal.com/compare/gaia-vs-poke.md)\n- [Gemini Spark vs Poke](https://www.anchorterminal.com/compare/gemini-spark-vs-poke.md)\n- [Grok Bot vs Poke](https://www.anchorterminal.com/compare/grok-bot-vs-poke.md)\n- [Haven vs Poke](https://www.anchorterminal.com/compare/haven-vs-poke.md)\n- [Hermes Agent vs Poke](https://www.anchorterminal.com/compare/hermes-agent-vs-poke.md)\n- [Instinct vs Poke](https://www.anchorterminal.com/compare/instinct-vs-poke.md)\n- [IronClaw vs Poke](https://www.anchorterminal.com/compare/ironclaw-vs-poke.md)\n- [Leon vs Poke](https://www.anchorterminal.com/compare/leon-vs-poke.md)\n- [Lindy vs Poke](https://www.anchorterminal.com/compare/lindy-vs-poke.md)\n- [nanobot vs Poke](https://www.anchorterminal.com/compare/nanobot-vs-poke.md)\n- [NanoClaw vs Poke](https://www.anchorterminal.com/compare/nanoclaw-vs-poke.md)\n- [Dots vs Poke](https://www.anchorterminal.com/compare/openai-dots-vs-poke.md)\n- [OpenClaw vs Poke](https://www.anchorterminal.com/compare/openclaw-vs-poke.md)\n- [PicoClaw vs Poke](https://www.anchorterminal.com/compare/picoclaw-vs-poke.md)\n- [Poke vs QwenPaw](https://www.anchorterminal.com/compare/poke-vs-qwenpaw.md)\n- [Poke vs ZeroClaw](https://www.anchorterminal.com/compare/poke-vs-zeroclaw.md)\n- [Poke vs Zo Computer](https://www.anchorterminal.com/compare/poke-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 Poke",
        "url": ""
      }
    ],
    "description": "AstrBot scores 58.8 (C) to Poke's 37.6 (F) for assistant proactive. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "Poke F 37.6",
      "scores"
    ],
    "h1": "AstrBot vs Poke",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-poke.png",
    "path": "/compare/astrbot-vs-poke",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs Poke for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-poke"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 680
  },
  "version": 1
}
