{
  "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": "NanoClaw scores 68.3 (B) on agent readiness against AstrBot's 58.8 (C), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "nanoclaw",
      "name": "NanoClaw",
      "vendor": "NanoCo, Inc.",
      "vendorUrl": "https://nanoclaw.dev",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "Open-source personal assistant that the owner runs on their own machine. It answers on messaging apps, runs each agent session in a Docker container, keeps Markdown memory on disk and runs scheduled tasks.",
      "url": "https://www.anchorterminal.com/tools/nanoclaw",
      "markdownUrl": "https://www.anchorterminal.com/tools/nanoclaw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nanoclaw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nanoclaw.json",
      "repo": "https://github.com/nanocoai/nanoclaw",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account is needed to run it. Owners and admins are rows in a local `user_roles` table, and strangers are handled by each chat's `unknown_sender_policy` (https://docs.nanoclaw.dev/concepts/security). Model and service credentials are registered with a credential gateway on the host, OneCLI Agent Vault by default, which adds them to outbound HTTPS requests. Containers receive placeholders such as `onecli-managed` (https://docs.nanoclaw.dev/operate/credentials). Channel tokens stay in the host's `.env`. An optional free NanoClaw account, used for a prebuilt agent image and a managed Slack app, keeps its token in `~/.config/nanoclaw/account.json` with mode 0600 (https://github.com/nanocoai/nanoclaw/blob/main/README.md).",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing on sale. The optional NanoClaw account, the Echo image and the managed Slack app are free of charge per the terms of 31 July 2026 (https://nanoclaw.dev/terms). The owner pays the model provider through a Claude subscription, an API key or another provider, and any service a channel or tool uses, such as Dial. Since 2.4.0 Claude groups default to Opus 5.5 (checked 2026-10-12).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 30929,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.nanoclaw.dev",
      "llmsTxt": "https://docs.nanoclaw.dev/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client",
        "assistant.accounts"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "docker",
        "llms-txt"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 229,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 60,
          "reliability": 78,
          "schema": 82,
          "security": 74,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-09. Release 2026.10.0 fixed four symlink flaws through which a manipulated agent could make the host read, write or delete files outside its folders, plus an admin-command bypass, a cross-group read through `ncl` and a command injection in Mattermost setup. Fixed and described in the changelog within the week, but the advisories it links (GHSA-frvf-5rf5-89fq and seven others) were not public on 12 October 2026. -5. https://github.com/nanocoai/nanoclaw/blob/main/CHANGELOG.md"
        ],
        "verdict": "Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval.",
        "bestFor": "A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.",
        "strengths": [
          "Each session runs in a non-root Docker container with all capabilities dropped, and the project root and `.env` are never mounted",
          "API keys sit in a credential gateway on the host, which adds them to outbound requests, so the container holds only placeholders",
          "Installing packages, adding an MCP server and admitting a new chat each wait for an admin's approval, and no reachable approver means denial",
          "Memory is plain Markdown under `groups/\u003cfolder\u003e/memory/`, which the owner can read, edit or delete on the host",
          "The security page states what the design does not stop, including messages to wired chats and spending through granted credentials"
        ],
        "weaknesses": [
          "The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt",
          "Egress lockdown is off by default, so a container can reach the internet directly unless `NANOCLAW_EGRESS_LOCKDOWN=true` is set",
          "The 2026.10.0 changelog links eight advisories on the repository, and on 12 October 2026 the advisories page listed none and one linked advisory returned 404",
          "Setup sends events to PostHog unless `NANOCLAW_NO_DIAGNOSTICS=1` is set, and the privacy policy does not mention them",
          "The docs say trunk has no Gmail or Google Calendar integration, while the GitHub repository description still names Gmail",
          "294 open issues and 750 open pull requests on 12 October 2026, and 10 of the 12 newest open issues had no reply"
        ],
        "agentNotes": [
          "Install with `git clone` and `bash nanoclaw.sh`. There is no registry package, and setup needs Docker, Node 22 or later and a Claude or Codex credential",
          "Set `NANOCLAW_EGRESS_LOCKDOWN=true` before giving an agent credentials or an audience of strangers. The default leaves egress open",
          "Put chats with different audiences in separate agent groups. Every session of a group shares one read-write workspace and memory tree",
          "Turn on per-request approval for a secret in the gateway when its use should wait for a person. It is off unless configured",
          "On OneCLI installs, move the gateway to 1.42.0 by the upgrade guide before updating to 2026.10.0. The updater stops until that is done"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 60,
          "reliability": 78,
          "schema": 82,
          "security": 74,
          "transparency": 77
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2 \u0026\u0026 cd nanoclaw-v2 \u0026\u0026 bash nanoclaw.sh"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/nanoclaw"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "NanoCo, Inc.",
        "domain": "nanoclaw.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/nanocoai/nanoclaw/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The terms and privacy policy at nanoclaw.dev name NanoCo, Inc. and Delaware law. Both say they cover the website and the optional account, not the software, so neither is linked and the MIT licence stands in.",
          "nanoclaw.dev/.well-known/security.txt returned 404 on 12 October 2026. The repository's SECURITY.md points to GitHub private vulnerability reporting.",
          "There is no hosted endpoint. The assistant runs on the owner's machine, and the optional account service is at portal.nanoclaw.dev, which we did not open.",
          "The registration date of nanoclaw.dev was not checked."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nanoclaw.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "NanoCo, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-10-09",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "42k stars",
        "b": "31k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "NanoClaw scores 68.3 (B) on agent readiness against AstrBot's 58.8 (C), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, AstrBot or NanoClaw?"
      },
      {
        "answer": "Yes. AstrBot is open source (AGPL-3.0-or-later). NanoClaw is open source (MIT).",
        "question": "Are AstrBot and NanoClaw open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.",
        "slug": "astrbot",
        "watchFor": "No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 82 against 62",
          "Agent ergonomics, 70 against 54",
          "Security \u0026 auth, 74 against 44",
          "Transparency \u0026 trust, 65 against 40"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.",
        "slug": "nanoclaw",
        "watchFor": "The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt"
      }
    ],
    "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-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-nanoclaw.json",
        "title": "CowAgent vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.json",
        "title": "GAIA vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.json",
        "title": "Gemini Spark vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw.json",
        "title": "Grok Bot vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-nanoclaw.json",
        "title": "Haven vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/haven-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw.json",
        "title": "Hermes Agent vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-nanoclaw.json",
        "title": "Instinct vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw.json",
        "title": "IronClaw vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw.json",
        "title": "Leon vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-nanoclaw.json",
        "title": "Lindy vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw.json",
        "title": "nanobot vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.json",
        "title": "NanoClaw vs Dots",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw.json",
        "title": "NanoClaw vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw.json",
        "title": "NanoClaw vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw"
      },
      {
        "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/nanoclaw-vs-qwenpaw.json",
        "title": "NanoClaw vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw.json",
        "title": "NanoClaw vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-zo-computer.json",
        "title": "NanoClaw vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 3,
        "edge": "astrbot",
        "key": "reliability",
        "name": "Reliability",
        "nanoclaw": 78,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 20,
        "edge": "nanoclaw",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nanoclaw": 82,
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 16,
        "edge": "nanoclaw",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nanoclaw": 70,
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 30,
        "edge": "nanoclaw",
        "key": "security",
        "name": "Security \u0026 auth",
        "nanoclaw": 74,
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nanoclaw": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 3,
        "edge": "astrbot",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nanoclaw": 78,
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 25,
        "edge": "nanoclaw",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nanoclaw": 65,
        "weight": 7
      }
    ],
    "summary": "NanoClaw scores 68.3 (B) on agent readiness against AstrBot's 58.8 (C), and leads in 4 of 7 scored categories. 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.",
      "nanoclaw": "Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.min.md"
  },
  "markdown": "NanoClaw scores 68.3 (B) on agent readiness against AstrBot's 58.8 (C), and leads in 4 of 7 scored categories. 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- NanoClaw: grade B, 68.3/100, rank #229 of 986. Markdown https://www.anchorterminal.com/tools/nanoclaw.md · JSON https://www.anchorterminal.com/api/v1/tools/nanoclaw.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\nWatch for: No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking\n\n### NanoClaw (B)\n\nGood for: A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.\n\nAhead on:\n- Schema \u0026 documentation, 82 against 62\n- Agent ergonomics, 70 against 54\n- Security \u0026 auth, 74 against 44\n- Transparency \u0026 trust, 65 against 40\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt\n\n\n## Score by category\n\n| Category | Weight | AstrBot | NanoClaw | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 78 | AstrBot +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 82 | NanoClaw +20 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 70 | NanoClaw +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 74 | NanoClaw +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 78 | AstrBot +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 65 | NanoClaw +25 |\n| Negative events | ≤15 | -2 | -5 | |\n| **Total** | | **58.8 · C** | **68.3 · B** | |\n\n## Facts side by side\n\n| Fact | AstrBot | NanoClaw |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | AstrBotDevs | NanoCo, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-27 | 2026-10-09 |\n| Terms last updated | 2026-01-12 | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 42k stars | 31k stars |\n\n## Verdicts\n\n**AstrBot.** Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.\n\n**NanoClaw.** Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval.\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### NanoClaw\n\n1. Install with `git clone` and `bash nanoclaw.sh`. There is no registry package, and setup needs Docker, Node 22 or later and a Claude or Codex credential\n2. Set `NANOCLAW_EGRESS_LOCKDOWN=true` before giving an agent credentials or an audience of strangers. The default leaves egress open\n3. Put chats with different audiences in separate agent groups. Every session of a group shares one read-write workspace and memory tree\n4. Turn on per-request approval for a secret in the gateway when its use should wait for a person. It is off unless configured\n5. On OneCLI installs, move the gateway to 1.42.0 by the upgrade guide before updating to 2026.10.0. The updater stops until that is done\n\n## Questions\n\n### Which is better for AI agents, AstrBot or NanoClaw?\n\nNanoClaw scores 68.3 (B) on agent readiness against AstrBot's 58.8 (C), and leads in 4 of 7 scored categories.\n\n### Are AstrBot and NanoClaw open source?\n\nYes. AstrBot is open source (AGPL-3.0-or-later). NanoClaw is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"nanoclaw\"}`. From a terminal: `anchor compare astrbot nanoclaw`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/nanoclaw.json\n\n## Other comparisons with AstrBot or NanoClaw\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 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 NanoClaw](https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw.md)\n- [GAIA vs NanoClaw](https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.md)\n- [Gemini Spark vs NanoClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.md)\n- [Grok Bot vs NanoClaw](https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw.md)\n- [Haven vs NanoClaw](https://www.anchorterminal.com/compare/haven-vs-nanoclaw.md)\n- [Hermes Agent vs NanoClaw](https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw.md)\n- [Instinct vs NanoClaw](https://www.anchorterminal.com/compare/instinct-vs-nanoclaw.md)\n- [IronClaw vs NanoClaw](https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw.md)\n- [Leon vs NanoClaw](https://www.anchorterminal.com/compare/leon-vs-nanoclaw.md)\n- [Lindy vs NanoClaw](https://www.anchorterminal.com/compare/lindy-vs-nanoclaw.md)\n- [nanobot vs NanoClaw](https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw.md)\n- [NanoClaw vs Dots](https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.md)\n- [NanoClaw vs OpenClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw.md)\n- [NanoClaw vs PicoClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw.md)\n- [NanoClaw vs Poke](https://www.anchorterminal.com/compare/nanoclaw-vs-poke.md)\n- [NanoClaw vs QwenPaw](https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw.md)\n- [NanoClaw vs ZeroClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw.md)\n- [NanoClaw vs Zo Computer](https://www.anchorterminal.com/compare/nanoclaw-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 NanoClaw",
        "url": ""
      }
    ],
    "description": "NanoClaw scores 68.3 (B) to AstrBot's 58.8 (C) for assistant proactive. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "NanoClaw B 68.3",
      "scores"
    ],
    "h1": "AstrBot vs NanoClaw",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-nanoclaw.png",
    "path": "/compare/astrbot-vs-nanoclaw",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs NanoClaw for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 580
  },
  "version": 1
}
