{
  "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 and CowAgent score within a point of each other on agent readiness, 58.8 (C) and 58.5 (C). CowAgent leads on schema \u0026 documentation, agent ergonomics and transparency \u0026 trust.",
    "b": {
      "slug": "cowagent",
      "name": "CowAgent",
      "vendor": "zhayujie",
      "vendorUrl": "https://cowagent.ai",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "CowAgent is an open-source AI assistant that its owner runs on a computer or server. It plans tasks, runs tools and skills, keeps long-term memory in local files and answers on a web console and messaging apps.",
      "url": "https://www.anchorterminal.com/tools/cowagent",
      "markdownUrl": "https://www.anchorterminal.com/tools/cowagent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cowagent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cowagent.json",
      "repo": "https://github.com/zhayujie/CowAgent",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "zhayujie/chatgpt-on-wechat"
        }
      ],
      "auth": "mixed",
      "authNotes": "No account. The web console listens on 127.0.0.1 with no password by default, and `web_password` adds a login whose session lasts 30 days. `external_api_token` is one Bearer token for the OpenAI-compatible endpoint, which stays off while the token is empty (https://docs.cowagent.ai/channels/web). Messaging channels use each platform's bot token or app secret in `config.json`. Model keys go in `config.json` or environment variables.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy to run it. The owner pays the configured model provider, or nothing with a local model behind an OpenAI-compatible endpoint. The README names LinkAI as a seller of managed hosting, and link-ai.tech did not answer on 12 October 2026, so its prices were not read.",
      "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": 47400,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.cowagent.ai/intro/index",
      "llmsTxt": "https://docs.cowagent.ai/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client",
        "assistant.accounts"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "no-card",
        "llms-txt",
        "docker",
        "python",
        "openai-compatible"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 591,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 83,
          "payments": 60,
          "reliability": 84,
          "schema": 67,
          "security": 43,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-07-31. Issue #2998 reports that a member of a Feishu group asked the bot for local files and it sent the owner's documents into the group. This is the reporter's account and we did not reproduce it. We confirmed in the master source on 12 October 2026 that group channels accept every group, that full-access is the default and that the proposed sender gating is absent. Open and unfixed, -3. https://github.com/zhayujie/CowAgent/issues/2998",
          "2026-07-29. Version 2.1.5 fixed a chain in which injected content led the agent to rewrite the MCP config, run arbitrary commands and take keys, and fixed the `edit` tool reaching `~/.cow/.env`. Both are described in the release notes with no advisory. Fixed and documented, -2. https://docs.cowagent.ai/releases/v2.1.5"
        ],
        "verdict": "MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot.",
        "bestFor": "One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.",
        "strengths": [
          "Memory is plain Markdown under `~/cow` (`MEMORY.md`, `memory/YYYY-MM-DD.md`), readable and removable by the owner",
          "Three permission modes per session (read-only, workspace-write, full-access), with a global default in `agent_permission_mode`",
          "The web console binds to 127.0.0.1 by default, and the cloud client loads only when `use_linkai` and a deployment id are both set",
          "Seven tagged releases between 20 July and 30 September 2026, each with dated notes in the docs",
          "Tests run on Python 3.11 and 3.13 for every push to master, and the 15 newest master runs we saw passed on 12 October 2026"
        ],
        "weaknesses": [
          "Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call",
          "The permission checks read arguments and are not an OS sandbox, as the source says. The `bash` blocklist covers only root deletion, disk wiping and power commands",
          "Issue #2998, open since 31 July 2026, reports the bot sending the owner's local documents into a Feishu group. Its fix is not on master",
          "No setting limits which Telegram, Slack or Discord users may message the bot, and those channels reply in every group",
          "No SECURITY.md, security.txt, privacy policy or terms. Model keys sit in `config.json` and MCP keys in `mcp.json` as plain text"
        ],
        "agentNotes": [
          "Set `agent_permission_mode` to `workspace-write` or `read-only` before connecting any channel. Source and Docker installs default to `full-access`",
          "Keep the bot out of group chats that include other people. Any member who mentions it reaches the same tools as the owner",
          "Set `web_password` before changing `web_host` to `0.0.0.0`. The password is empty by default",
          "Set `external_api_token` to enable `POST /v1/chat/completions`, and send `conversation_id` to keep one session. The `model` field does not select a model",
          "Run it in a container for a hard boundary. The docs and the source both say the permission modes are not isolation"
        ],
        "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.5
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 83,
          "payments": 60,
          "reliability": 84,
          "schema": 67,
          "security": 43,
          "transparency": 62
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "bash \u003c(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)   # or: curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml \u0026\u0026 docker compose up -d",
        "http": "curl http://localhost:9899/v1/chat/completions -H \"Authorization: Bearer $TOKEN\" -H \"Content-Type: application/json\" -d '{\"model\":\"cowagent\",\"conversation_id\":\"example-conversation\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/cowagent"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "cowagent.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.cowagent.ai/releases/overview",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "No company or legal entity is named for CowAgent. The licence names zhayujie, and the cowagent.ai footer reads Copyright 2026 CowAgent.",
          "The README lists sales@simple-future.tech and LinkAI (link-ai.tech) for enterprise services and managed hosting. link-ai.tech did not answer our robots.txt request on 12 October 2026, so none of its pages were read.",
          "cowagent.ai links no terms and no privacy policy. Its sitemap lists the home, download and blog pages only.",
          "cowagent.ai answers `/.well-known/security.txt` and `/llms.txt` with the home page, so neither file exists. docs.cowagent.ai serves an llms.txt.",
          "The registration date of cowagent.ai was not looked up."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cowagent.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "zhayujie",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "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": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-09-30",
        "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": "47k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot and CowAgent score within a point of each other on agent readiness, 58.8 (C) and 58.5 (C). CowAgent leads on schema \u0026 documentation, agent ergonomics and transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or CowAgent?"
      },
      {
        "answer": "Yes. AstrBot is open source (AGPL-3.0-or-later). CowAgent is open source (MIT).",
        "question": "Are AstrBot and CowAgent 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, 67 against 62",
          "Agent ergonomics, 59 against 54",
          "Transparency \u0026 trust, 45 against 40"
        ],
        "also": null,
        "goodFor": "One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.",
        "slug": "cowagent",
        "watchFor": "Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Assistant proactive"
    },
    "others": [
      {
        "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-gaia.json",
        "title": "CowAgent vs GAIA",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark.json",
        "title": "CowAgent vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-grok-bot.json",
        "title": "CowAgent vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-haven.json",
        "title": "CowAgent vs Haven",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent.json",
        "title": "CowAgent vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-instinct.json",
        "title": "CowAgent vs Instinct",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-ironclaw.json",
        "title": "CowAgent vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-leon.json",
        "title": "CowAgent vs Leon",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-lindy.json",
        "title": "CowAgent vs Lindy",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-nanobot.json",
        "title": "CowAgent vs nanobot",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-nanobot"
      },
      {
        "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/cowagent-vs-openai-dots.json",
        "title": "CowAgent vs Dots",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openclaw.json",
        "title": "CowAgent vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-picoclaw.json",
        "title": "CowAgent vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-picoclaw"
      },
      {
        "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/cowagent-vs-qwenpaw.json",
        "title": "CowAgent vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw.json",
        "title": "CowAgent vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-zo-computer.json",
        "title": "CowAgent vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 3,
        "cowagent": 84,
        "edge": "cowagent",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 5,
        "cowagent": 67,
        "edge": "cowagent",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 5,
        "cowagent": 59,
        "edge": "cowagent",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 1,
        "cowagent": 43,
        "edge": "astrbot",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 0,
        "cowagent": 60,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 2,
        "cowagent": 83,
        "edge": "cowagent",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 5,
        "cowagent": 45,
        "edge": "cowagent",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AstrBot and CowAgent score within a point of each other on agent readiness, 58.8 (C) and 58.5 (C). CowAgent leads on schema \u0026 documentation, agent ergonomics and transparency \u0026 trust. Both do assistant proactive.",
    "verdicts": {
      "astrbot": "Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.",
      "cowagent": "MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent.md",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent.min.md"
  },
  "markdown": "AstrBot and CowAgent score within a point of each other on agent readiness, 58.8 (C) and 58.5 (C). CowAgent leads on schema \u0026 documentation, agent ergonomics and transparency \u0026 trust. Both do assistant proactive.\n\n- AstrBot: grade C, 58.8/100, rank #584 of 986. Markdown https://www.anchorterminal.com/tools/astrbot.md · JSON https://www.anchorterminal.com/api/v1/tools/astrbot.json\n- CowAgent: grade C, 58.5/100, rank #591 of 986. Markdown https://www.anchorterminal.com/tools/cowagent.md · JSON https://www.anchorterminal.com/api/v1/tools/cowagent.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### CowAgent (C)\n\nGood for: One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.\n\nAhead on:\n- Schema \u0026 documentation, 67 against 62\n- Agent ergonomics, 59 against 54\n- Transparency \u0026 trust, 45 against 40\n\nWatch for: Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call\n\n\n## Score by category\n\n| Category | Weight | AstrBot | CowAgent | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 84 | CowAgent +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 67 | CowAgent +5 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 59 | CowAgent +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 43 | AstrBot +1 |\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 | 83 | CowAgent +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 45 | CowAgent +5 |\n| Negative events | ≤15 | -2 | -5 | |\n| **Total** | | **58.8 · C** | **58.5 · C** | |\n\n## Facts side by side\n\n| Fact | AstrBot | CowAgent |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | AstrBotDevs | zhayujie |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | MIT |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-09-27 | 2026-09-30 |\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 | 47k 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**CowAgent.** MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot.\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### CowAgent\n\n1. Set `agent_permission_mode` to `workspace-write` or `read-only` before connecting any channel. Source and Docker installs default to `full-access`\n2. Keep the bot out of group chats that include other people. Any member who mentions it reaches the same tools as the owner\n3. Set `web_password` before changing `web_host` to `0.0.0.0`. The password is empty by default\n4. Set `external_api_token` to enable `POST /v1/chat/completions`, and send `conversation_id` to keep one session. The `model` field does not select a model\n5. Run it in a container for a hard boundary. The docs and the source both say the permission modes are not isolation\n\n## Questions\n\n### Which is better for AI agents, AstrBot or CowAgent?\n\nAstrBot and CowAgent score within a point of each other on agent readiness, 58.8 (C) and 58.5 (C). CowAgent leads on schema \u0026 documentation, agent ergonomics and transparency \u0026 trust.\n\n### Are AstrBot and CowAgent open source?\n\nYes. AstrBot is open source (AGPL-3.0-or-later). CowAgent is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-cowagent.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-cowagent.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"cowagent\"}`. From a terminal: `anchor compare astrbot cowagent`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/cowagent.json\n\n## Other comparisons with AstrBot or CowAgent\n\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 GAIA](https://www.anchorterminal.com/compare/cowagent-vs-gaia.md)\n- [CowAgent vs Gemini Spark](https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark.md)\n- [CowAgent vs Grok Bot](https://www.anchorterminal.com/compare/cowagent-vs-grok-bot.md)\n- [CowAgent vs Haven](https://www.anchorterminal.com/compare/cowagent-vs-haven.md)\n- [CowAgent vs Hermes Agent](https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent.md)\n- [CowAgent vs Instinct](https://www.anchorterminal.com/compare/cowagent-vs-instinct.md)\n- [CowAgent vs IronClaw](https://www.anchorterminal.com/compare/cowagent-vs-ironclaw.md)\n- [CowAgent vs Leon](https://www.anchorterminal.com/compare/cowagent-vs-leon.md)\n- [CowAgent vs Lindy](https://www.anchorterminal.com/compare/cowagent-vs-lindy.md)\n- [CowAgent vs nanobot](https://www.anchorterminal.com/compare/cowagent-vs-nanobot.md)\n- [CowAgent vs NanoClaw](https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw.md)\n- [CowAgent vs Dots](https://www.anchorterminal.com/compare/cowagent-vs-openai-dots.md)\n- [CowAgent vs OpenClaw](https://www.anchorterminal.com/compare/cowagent-vs-openclaw.md)\n- [CowAgent vs PicoClaw](https://www.anchorterminal.com/compare/cowagent-vs-picoclaw.md)\n- [CowAgent vs Poke](https://www.anchorterminal.com/compare/cowagent-vs-poke.md)\n- [CowAgent vs QwenPaw](https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw.md)\n- [CowAgent vs ZeroClaw](https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw.md)\n- [CowAgent vs Zo Computer](https://www.anchorterminal.com/compare/cowagent-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 CowAgent",
        "url": ""
      }
    ],
    "description": "AstrBot and CowAgent score within a point of each other for assistant proactive, 58.8 and 58.5 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "CowAgent C 58.5",
      "scores"
    ],
    "h1": "AstrBot vs CowAgent",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-cowagent.png",
    "path": "/compare/astrbot-vs-cowagent",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs CowAgent for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 630
  },
  "version": 1
}
