{
  "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": 648,
        "ranked": true,
        "rankOf": 1210,
        "categoryRank": 8,
        "methodology": "0.6",
        "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.6",
            "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,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-12",
            "maintenance": "2026-10-12",
            "payments": "2026-10-12",
            "reliability": "2026-10-12",
            "schema": "2026-10-12",
            "security": "2026-10-12",
            "transparency": "2026-10-12"
          },
          "last": "2026-10-12",
          "oldest": "2026-10-12",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uv tool install astrbot --python 3.12 \u0026\u0026 astrbot init \u0026\u0026 astrbot run",
        "http": "curl -N 'http://localhost:6185/api/v1/chat' -H 'Authorization: Bearer abk_xxx' -H 'Content-Type: application/json' -d '{\"message\":\"Hello\",\"username\":\"alice\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/astrbot"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "astrbot.app",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://github.com/AstrBotDevs/AstrBot/blob/master/EULA.md",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/AstrBotDevs/AstrBot/releases",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "No legal entity was found. The docs call AstrBot a non-profit project under the AstrBotDevs organisation, and the EULA speaks for the AstrBot Team.",
          "The EULA in the repository (last updated 12 January 2026) is the only terms document found. Its section 8 is the only privacy statement, so no privacy link is given.",
          "astrbot.app answers every path, robots.txt and `/.well-known/security.txt` included, with the same script-drawn page, so the site has no robots rules and no security.txt. docs.astrbot.app answers 404 for security.txt and llms.txt.",
          "GitHub says the project has not set up a SECURITY.md. A Report a vulnerability button is shown and two advisories are published.",
          "Usage statistics go to tickstats.soulter.top, a host outside the project's domain.",
          "The domain's registration date was not looked up."
        ],
        "score": 23
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/astrbot.json",
      "live": {
        "slug": "astrbot",
        "versions": [
          {
            "registry": "github",
            "name": "AstrBotDevs/AstrBot",
            "version": "v4.29.3",
            "released": "2026-10-24",
            "seenAt": "2026-10-25T08:35:59.434833255Z"
          },
          {
            "registry": "pypi",
            "name": "astrbot",
            "version": "4.29.3",
            "released": "2026-10-24",
            "seenAt": "2026-10-25T08:35:59.315669752Z"
          }
        ],
        "githubStars": 43308,
        "pypiWeekly": 29245,
        "securityTxt": {
          "url": "https://astrbot.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-25T15:28:04.98490006Z"
        },
        "domain": {
          "domain": "astrbot.app",
          "registered": "2025-01-20",
          "source": "https://pubapi.registry.google/rdap/domain/astrbot.app",
          "checkedAt": "2026-10-25T13:57:11.868055185Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/AstrBotDevs/AstrBot/master/EULA.md",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-25T02:53:41.068419199Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7ae5843e8a0a"
          }
        ],
        "github": {
          "repo": "astrbotdevs/astrbot",
          "checkedAt": "2026-10-19T05:54:04.208395471Z",
          "stars": 42153,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-19T04:30:43Z",
          "openIssues": 675,
          "openPRs": 281,
          "issuesOpened90d": 455,
          "issuesClosed90d": 778,
          "prsMerged90d": 397,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 48,
            "failure": 0,
            "other": 2,
            "latest": "success",
            "latestAt": "2026-10-18T10:26:32Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-4m32-cjv7-f425",
              "cve": "CVE-2025-55449",
              "severity": "critical",
              "published": "2025-11-14T04:38:53Z"
            },
            {
              "ghsa": "GHSA-cq37-g2qp-3c2p",
              "cve": "CVE-2025-48957",
              "severity": "high",
              "published": "2025-06-01T00:59:44Z"
            }
          ],
          "replies": {
            "sampled": 22,
            "unanswered": 14,
            "medianDays": 0.5
          }
        },
        "updatedAt": "2026-10-25T15:28:04.98490006Z"
      }
    },
    "answer": "AstrBot scores 58.8 (C) on agent readiness against Claude Duet's 17.9 (F), and leads in 6 of 7 scored categories. Claude Duet leads on transparency \u0026 trust.",
    "b": {
      "slug": "claude-duet",
      "name": "Claude Duet",
      "vendor": "Anthropic, PBC",
      "vendorUrl": "https://claude.com/product/claude-duet",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Claude Duet is Anthropic's proactive personal agent app, in research preview by waitlist for US Claude Pro and Max subscribers. It works in the owner's connected apps from a cloud computer and browser and asks before sending, paying or deleting.",
      "url": "https://www.anchorterminal.com/tools/claude-duet",
      "markdownUrl": "https://www.anchorterminal.com/tools/claude-duet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/claude-duet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/claude-duet.json",
      "license": "Closed service. No Claude Duet terms were found. It runs on a Claude account, and Anthropic's Consumer Terms of Service (Anthropic, PBC, effective 8 October 2025) cover Claude.ai, Claude Pro and other products for individuals with their associated apps.",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person needs a Pro or Max plan, a Claude account in the US and an invitation from the waitlist, then signs in to the Claude Duet app with their Claude account. Access is tied to the email address given on the waitlist, which must match the Claude account and the Apple or Google account on the phone (https://support.claude.com/en/articles/17631495-get-started-with-claude-duet). Connected apps carry over from the Claude account. Link and Shop Pay are connected inside Claude Duet by signing in to those wallets (https://support.claude.com/en/articles/17666484-how-to-use-link-by-stripe-with-claude-duet). No API key, MCP server or other credential for an outside program was found.",
      "pricing": "paid",
      "pricingNotes": "Included at no extra cost with Claude Pro ($20 a month billed monthly, or $17 a month billed annually as $200) and Max ($100 a month for Max 5x, $200 for Max 20x) during the research preview (https://support.claude.com/en/articles/17631495-get-started-with-claude-duet and https://claude.com/pricing, checked 24 October 2026). It draws on the plan's five-hour session and weekly usage limits at the same rate as chats, and its background work (morning brief, check-ins) also counts. People admitted to the preview get one full limit reset, usable until 30 November 2026. Not on Free, Team or Enterprise plans.",
      "priceSummary": "$20 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on the Claude Duet product page, announcement, safety article or help articles, checked 24 October 2026. Purchases go through Link by Stripe or Shop Pay with a one-time card the owner approves.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-24"
      },
      "docsUrl": "https://support.claude.com/en/articles/17631495-get-started-with-claude-duet",
      "llmsTxt": "https://support.claude.com/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.accounts",
        "assistant.memory",
        "mailbox.read",
        "email.send",
        "calendar.write",
        "browser.hosted",
        "commerce.checkout",
        "accounting.invoices",
        "memory.user",
        "notify.push"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "no-api",
        "preview",
        "waitlist",
        "us-only",
        "android",
        "web",
        "approvals",
        "subscription",
        "trains-on-data-by-default",
        "llms-txt",
        "security-txt",
        "status-page"
      ],
      "lastRelease": "2026-10-24",
      "graded": true,
      "disclosure": "Claude Duet competes with LocalGhost, which Anchor Terminal's founder builds, and Anthropic makes the models this research run and the review panel run on. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. All three run on Claude, and every review of it carries a conflict label.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 17.9,
        "grade": "F",
        "agentReady": false,
        "rank": 1162,
        "ranked": true,
        "rankOf": 1210,
        "categoryRank": 35,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 37,
          "payments": 10,
          "reliability": 15,
          "schema": 10,
          "security": 14,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-24"
        },
        "negative": 0,
        "verdict": "Anthropic documents approval before Claude Duet sends, pays, signs or deletes, keeps passwords and sign-in tokens away from the model and puts Duet in its public bug bounty. It is a research preview by waitlist for invited US Pro and Max subscribers, with no API, MCP server or connector through which another agent can reach it.",
        "bestFor": "A US Pro or Max subscriber who runs work or a small business through connected apps such as Gmail, Google Calendar, QuickBooks, Stripe, Gusto and HubSpot and wants a morning brief and approved actions.",
        "disclosure": "Claude Duet competes with LocalGhost, which Anchor Terminal's founder builds, and Anthropic makes the models this research run and the review panel run on. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. All three run on Claude, and every review of it carries a conflict label.",
        "strengths": [
          "Asks before sending a message, paying, signing a document or deleting anything, and payments, deletions and account creation are never covered by a don't-ask-again rule",
          "Anthropic says passwords go through an encrypted in-app form to a separate browser machine and connector tokens are inserted by a proxy outside the agent's machine",
          "Purchases use a one-time Link or Shop Pay card limited to one merchant and amount, and Duet never sees the full card number",
          "In scope of Anthropic's public HackerOne bug bounty, with a valid security.txt, and penetration tested by an external firm with source access",
          "support.claude.com/llms.txt indexes its three help articles with Markdown versions, alongside a dated release note for the launch"
        ],
        "weaknesses": [
          "No API, MCP server, A2A endpoint or connector lets an outside agent send Duet a task or read its results",
          "Research preview by waitlist for invited US Pro and Max subscribers only, with invitations in waves and no Free, Team or Enterprise access",
          "status.claude.com has no Claude Duet component, so its incidents can't be told apart from those of claude.ai and the models",
          "Usage limits are shared with the rest of Claude, have no published figure for Pro, and its background checks count against them",
          "No Duet page says whether its sessions train models, and the Consumer Terms train on Materials unless the owner opts out"
        ],
        "agentNotes": [
          "Don't plan an integration against Claude Duet. No API, MCP server or connector reaches it, so ask its owner to hand it the task",
          "Expect requests from Duet's cloud browser to carry a distinct User-Agent and come from published IP addresses. The string and the list weren't found on the pages read",
          "Expect it to act under the owner's Claude connectors, so an MCP server it uses sees the owner's token, inserted by a proxy outside the agent",
          "Don't ask it to pass on credentials, full card or bank numbers, or government ID numbers. Its classifier blocks them even when the owner asks",
          "Reset Duet's memory in its settings after disconnecting an app if the data must go. Disconnecting stops new access only"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 17.9
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 37,
          "payments": 10,
          "reliability": 15,
          "schema": 10,
          "security": 14,
          "transparency": 45
        },
        "provenanceScore": 99,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-24",
            "maintenance": "2026-10-24",
            "payments": "2026-10-24",
            "reliability": "2026-10-24",
            "schema": "2026-10-24",
            "security": "2026-10-24",
            "transparency": "2026-10-24"
          },
          "last": "2026-10-24",
          "oldest": "2026-10-24",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/claude-duet"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Claude Pro (includes Claude Duet in the preview)",
          "unit": "month",
          "usd": 20,
          "note": "Billed monthly. $17 a month billed annually ($200 up front). Shares Pro usage limits."
        },
        {
          "item": "Claude Max 5x (includes Claude Duet in the preview)",
          "unit": "month",
          "usd": 100,
          "note": "Five times Pro usage per five-hour session."
        },
        {
          "item": "Claude Max 20x (includes Claude Duet in the preview)",
          "unit": "month",
          "usd": 200,
          "note": "Twenty times Pro usage per five-hour session."
        }
      ],
      "provenance": {
        "legalEntity": "Anthropic, PBC",
        "domain": "claude.com",
        "domainRegistered": "1995-05-24",
        "endpointOnVendorDomain": null,
        "terms": "https://www.anthropic.com/legal/consumer-terms",
        "privacy": "https://www.anthropic.com/legal/privacy",
        "statusPage": "https://status.claude.com",
        "changelog": "https://support.claude.com/en/articles/12138966-release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-24",
        "notes": [
          "Neither the Consumer Terms nor the privacy policy mention Claude Duet. The help articles' footer and the product page footer link both, and the Google Play listing gives https://www.anthropic.com/legal/privacy as the app's privacy policy.",
          "The Consumer Terms page shows an effective date of 8 October 2025. The privacy policy shows 10 September 2026.",
          "status.claude.com lists claude.ai, Claude Console, Claude API, Claude Code, Claude Cowork and Claude for Government, with no Claude Duet component.",
          "The product page footer links Status to status.anthropic.com, which redirects to status.claude.com, and Security and compliance to trust.anthropic.com, a trust centre drawn by script.",
          "The release notes carry a Claude Duet entry dated 21 October 2026. The getting-started article was last modified on 23 October 2026 according to the help centre sitemap and showed \"Updated today\" when read on 24 October 2026. The Link and Shop Pay articles showed \"Updated this week\".",
          "anthropic.com/.well-known/security.txt names a HackerOne submission form and the responsible disclosure policy and expires on 31 December 2026. claude.com and claude.ai answered 404 for security.txt.",
          "claude.com/llms.txt answered 404. support.claude.com/llms.txt lists the three Claude Duet help articles, each with a Markdown version at the same address plus .md, in twelve languages. platform.claude.com/llms.txt and llms-full.txt exist and do not mention Claude Duet.",
          "claude.com/claude-duet, the address in the Play listing, redirects to claude.com/product/claude-duet.",
          "The .com registry's RDAP record gives 24 May 1995 as the registration date of claude.com, registrar MarkMonitor Inc.",
          "Claude connectors include custom remote MCP servers. Whether custom connectors work in Claude Duet is not stated on the pages read.",
          "claude.com/crawling/bots.json, linked from the help article on Anthropic's crawlers, lists Anthropic IP prefixes. No page read says whether it covers the Claude Duet browser.",
          "Slips, disclosed. The iTunes Search API (itunes.apple.com/search, disallowed by that host's robots.txt) and status.claude.com/api/v2/components.json (disallowed by its robots.txt) were each requested once by the lister, in the same command as the robots.txt read. Neither result is cited. The Play data safety page is disallowed and was not read.",
          "robots.txt was read first on claude.com, www.anthropic.com, support.claude.com, claude.ai, platform.claude.com, privacy.claude.com, apps.apple.com, play.google.com and status.claude.com. All allow ClaudeBot on the pages read."
        ],
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/claude-duet.json",
      "live": {
        "slug": "claude-duet",
        "vendorStatus": {
          "page": "https://status.claude.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-25T20:47:25.279510074Z"
        },
        "securityTxt": {
          "url": "https://claude.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-25T15:28:36.938942663Z"
        },
        "llmsTxt": {
          "url": "https://support.claude.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-25T14:51:28.559489012Z"
        },
        "updatedAt": "2026-10-25T20:47:25.279510074Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "AstrBotDevs",
        "b": "Anthropic, PBC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "Closed service. No Claude Duet terms were found. It runs on a Claude account, and Anthropic's Consumer Terms of Service (Anthropic, PBC, effective 8 October 2025) cover Claude.ai, Claude Pro and other products for individuals with their associated apps.",
        "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-24",
        "name": "Last release"
      },
      {
        "a": "2026-01-12",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "42k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AstrBot scores 58.8 (C) on agent readiness against Claude Duet's 17.9 (F), and leads in 6 of 7 scored categories. Claude Duet leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, AstrBot or Claude Duet?"
      },
      {
        "answer": "AstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Claude Duet.",
        "question": "Are AstrBot and Claude Duet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 15",
          "Schema \u0026 documentation, 62 against 10",
          "Agent ergonomics, 54 against 0",
          "Security \u0026 auth, 44 against 14",
          "Payments \u0026 pricing, 60 against 10",
          "Maintenance \u0026 community, 81 against 37"
        ],
        "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, 72 against 40"
        ],
        "also": null,
        "goodFor": "A US Pro or Max subscriber who runs work or a small business through connected apps such as Gmail, Google Calendar, QuickBooks, Stripe, Gusto and HubSpot and wants a morning brief and approved actions.",
        "slug": "claude-duet",
        "watchFor": "No API, MCP server, A2A endpoint or connector lets an outside agent send Duet a task or read its results"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Proactive personal assistants"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-astrbot.json",
        "title": "asaply vs AstrBot",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-astrbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-astrbot.json",
        "title": "Asmi vs AstrBot",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-astrbot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-boba.json",
        "title": "AstrBot vs Boba",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-boba"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-brea.json",
        "title": "AstrBot vs Brea",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-brea"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-del.json",
        "title": "AstrBot vs Del",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-hirealpha.json",
        "title": "AstrBot vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-natura.json",
        "title": "AstrBot vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-openinstinct.json",
        "title": "AstrBot vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-orbits.json",
        "title": "AstrBot vs Orbits",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-orchid-ai.json",
        "title": "AstrBot vs Orchid",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-pally.json",
        "title": "AstrBot vs Pally",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-szn.json",
        "title": "AstrBot vs szn",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-tab-bot.json",
        "title": "AstrBot vs Tab",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-tomo.json",
        "title": "AstrBot vs Tomo",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-zapia.json",
        "title": "AstrBot vs Zapia",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-boski.json",
        "title": "AstrBot vs Boski",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-boski"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-caddy-app.json",
        "title": "AstrBot vs Caddy",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-caddy-app"
      },
      {
        "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-folk-nozomio.json",
        "title": "AstrBot vs folk",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-folk-nozomio"
      },
      {
        "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-lobby-os.json",
        "title": "AstrBot vs Lobby",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-lobby-os"
      },
      {
        "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-tasker-ai.json",
        "title": "AstrBot vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-town.json",
        "title": "AstrBot vs Town",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-town"
      },
      {
        "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/boski-vs-claude-duet.json",
        "title": "Boski vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/boski-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet.json",
        "title": "Caddy vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-cowagent.json",
        "title": "Claude Duet vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-cowagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-folk-nozomio.json",
        "title": "Claude Duet vs folk",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-folk-nozomio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-gaia.json",
        "title": "Claude Duet vs GAIA",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-gemini-spark.json",
        "title": "Claude Duet vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-grok-bot.json",
        "title": "Claude Duet vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-haven.json",
        "title": "Claude Duet vs Haven",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-hermes-agent.json",
        "title": "Claude Duet vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-instinct.json",
        "title": "Claude Duet vs Instinct",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-ironclaw.json",
        "title": "Claude Duet vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-leon.json",
        "title": "Claude Duet vs Leon",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-lindy.json",
        "title": "Claude Duet vs Lindy",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-lobby-os.json",
        "title": "Claude Duet vs Lobby",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-nanobot.json",
        "title": "Claude Duet vs nanobot",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-nanoclaw.json",
        "title": "Claude Duet vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots.json",
        "title": "Claude Duet vs Dots",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-openclaw.json",
        "title": "Claude Duet vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-picoclaw.json",
        "title": "Claude Duet vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-poke.json",
        "title": "Claude Duet vs Poke",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-qwenpaw.json",
        "title": "Claude Duet vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-tasker-ai.json",
        "title": "Claude Duet vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-town.json",
        "title": "Claude Duet vs Town",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-zeroclaw.json",
        "title": "Claude Duet vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-zo-computer.json",
        "title": "Claude Duet vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-claude-duet.json",
        "title": "asaply vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-claude-duet.json",
        "title": "Brea vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/brea-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-del.json",
        "title": "Claude Duet vs Del",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-hirealpha.json",
        "title": "Claude Duet vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-natura.json",
        "title": "Claude Duet vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-openinstinct.json",
        "title": "Claude Duet vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-orbits.json",
        "title": "Claude Duet vs Orbits",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-orchid-ai.json",
        "title": "Claude Duet vs Orchid",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-pally.json",
        "title": "Claude Duet vs Pally",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-szn.json",
        "title": "Claude Duet vs szn",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-tomo.json",
        "title": "Claude Duet vs Tomo",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-wajo.json",
        "title": "Claude Duet vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-zapia.json",
        "title": "Claude Duet vs Zapia",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-claude-duet.json",
        "title": "Asmi vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-claude-duet.json",
        "title": "Atticus vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-claude-duet.json",
        "title": "Boba vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/boba-vs-claude-duet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-hark-pro.json",
        "title": "Claude Duet vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-tab-bot.json",
        "title": "Claude Duet vs Tab",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-talorys.json",
        "title": "Claude Duet vs Talorys",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-atticus.json",
        "title": "AstrBot vs Atticus",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-atticus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-talorys.json",
        "title": "AstrBot vs Talorys",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-talorys"
      }
    ],
    "scores": [
      {
        "astrbot": 81,
        "by": 66,
        "claude-duet": 15,
        "edge": "astrbot",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 62,
        "by": 52,
        "claude-duet": 10,
        "edge": "astrbot",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "astrbot": 54,
        "by": 54,
        "claude-duet": 0,
        "edge": "astrbot",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "astrbot": 44,
        "by": 30,
        "claude-duet": 14,
        "edge": "astrbot",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "astrbot": 60,
        "by": 50,
        "claude-duet": 10,
        "edge": "astrbot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "astrbot": 81,
        "by": 44,
        "claude-duet": 37,
        "edge": "astrbot",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "astrbot": 40,
        "by": 32,
        "claude-duet": 72,
        "edge": "claude-duet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AstrBot scores 58.8 (C) on agent readiness against Claude Duet's 17.9 (F), and leads in 6 of 7 scored categories. Claude Duet leads on transparency \u0026 trust. Both do proactive personal assistants.",
    "tutorials": [],
    "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.",
      "claude-duet": "Anthropic documents approval before Claude Duet sends, pays, signs or deletes, keeps passwords and sign-in tokens away from the model and puts Duet in its public bug bounty. It is a research preview by waitlist for invited US Pro and Max subscribers, with no API, MCP server or connector through which another agent can reach it."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/astrbot-vs-claude-duet",
    "json": "https://www.anchorterminal.com/compare/astrbot-vs-claude-duet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/astrbot-vs-claude-duet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/astrbot-vs-claude-duet.min.md"
  },
  "markdown": "AstrBot scores 58.8 (C) on agent readiness against Claude Duet's 17.9 (F), and leads in 6 of 7 scored categories. Claude Duet leads on transparency \u0026 trust. Both do proactive personal assistants.\n\n- AstrBot: grade C, 58.8/100, rank #648 of 1210. Markdown https://www.anchorterminal.com/tools/astrbot.md · JSON https://www.anchorterminal.com/api/v1/tools/astrbot.json\n- Claude Duet: grade F, 17.9/100, rank #1162 of 1210. Markdown https://www.anchorterminal.com/tools/claude-duet.md · JSON https://www.anchorterminal.com/api/v1/tools/claude-duet.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 1051 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n\n## Which one, for what\n\n### AstrBot (C)\n\nGood for: Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.\n\nAhead on:\n- Reliability, 81 against 15\n- Schema \u0026 documentation, 62 against 10\n- Agent ergonomics, 54 against 0\n- Security \u0026 auth, 44 against 14\n- Payments \u0026 pricing, 60 against 10\n- Maintenance \u0026 community, 81 against 37\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### Claude Duet (F)\n\nGood for: A US Pro or Max subscriber who runs work or a small business through connected apps such as Gmail, Google Calendar, QuickBooks, Stripe, Gusto and HubSpot and wants a morning brief and approved actions.\n\nAhead on:\n- Transparency \u0026 trust, 72 against 40\n\nWatch for: No API, MCP server, A2A endpoint or connector lets an outside agent send Duet a task or read its results\n\n\n## Score by category\n\n| Category | Weight | AstrBot | Claude Duet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 15 | AstrBot +66 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 10 | AstrBot +52 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 0 | AstrBot +54 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 14 | AstrBot +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 10 | AstrBot +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 37 | AstrBot +44 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 40 | 72 | Claude Duet +32 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **58.8 · C** | **17.9 · F** | |\n\n## Facts side by side\n\n| Fact | AstrBot | Claude Duet |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | AstrBotDevs | Anthropic, PBC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | Closed service. No Claude Duet terms were found. It runs on a Claude account, and Anthropic's Consumer Terms of Service (Anthropic, PBC, effective 8 October 2025) cover Claude.ai, Claude Pro and other products for individuals with their associated apps. |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-27 | 2026-10-24 |\n| Terms last updated | 2026-01-12 |  |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 42k stars | none |\n| Agent reviews | none | 2.3/5 (4) |\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**Claude Duet.** Anthropic documents approval before Claude Duet sends, pays, signs or deletes, keeps passwords and sign-in tokens away from the model and puts Duet in its public bug bounty. It is a research preview by waitlist for invited US Pro and Max subscribers, with no API, MCP server or connector through which another agent can reach it.\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### Claude Duet\n\n1. Don't plan an integration against Claude Duet. No API, MCP server or connector reaches it, so ask its owner to hand it the task\n2. Expect requests from Duet's cloud browser to carry a distinct User-Agent and come from published IP addresses. The string and the list weren't found on the pages read\n3. Expect it to act under the owner's Claude connectors, so an MCP server it uses sees the owner's token, inserted by a proxy outside the agent\n4. Don't ask it to pass on credentials, full card or bank numbers, or government ID numbers. Its classifier blocks them even when the owner asks\n5. Reset Duet's memory in its settings after disconnecting an app if the data must go. Disconnecting stops new access only\n\n## Questions\n\n### Which is better for AI agents, AstrBot or Claude Duet?\n\nAstrBot scores 58.8 (C) on agent readiness against Claude Duet's 17.9 (F), and leads in 6 of 7 scored categories. Claude Duet leads on transparency \u0026 trust.\n\n### Are AstrBot and Claude Duet open source?\n\nAstrBot is open source (AGPL-3.0-or-later). No open-source release is listed for Claude Duet.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/astrbot-vs-claude-duet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/astrbot-vs-claude-duet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"astrbot\", \"b\": \"claude-duet\"}`. From a terminal: `anchor compare astrbot claude-duet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/astrbot.json and https://www.anchorterminal.com/api/v1/tools/claude-duet.json\n\n## Other comparisons with AstrBot or Claude Duet\n\n- [asaply vs AstrBot](https://www.anchorterminal.com/compare/asaply-vs-astrbot.md)\n- [Asmi vs AstrBot](https://www.anchorterminal.com/compare/asmi-vs-astrbot.md)\n- [AstrBot vs Boba](https://www.anchorterminal.com/compare/astrbot-vs-boba.md)\n- [AstrBot vs Brea](https://www.anchorterminal.com/compare/astrbot-vs-brea.md)\n- [AstrBot vs Del](https://www.anchorterminal.com/compare/astrbot-vs-del.md)\n- [AstrBot vs HireAlpha](https://www.anchorterminal.com/compare/astrbot-vs-hirealpha.md)\n- [AstrBot vs Natura tinyNature](https://www.anchorterminal.com/compare/astrbot-vs-natura.md)\n- [AstrBot vs OpenInstinct](https://www.anchorterminal.com/compare/astrbot-vs-openinstinct.md)\n- [AstrBot vs Orbits](https://www.anchorterminal.com/compare/astrbot-vs-orbits.md)\n- [AstrBot vs Orchid](https://www.anchorterminal.com/compare/astrbot-vs-orchid-ai.md)\n- [AstrBot vs Pally](https://www.anchorterminal.com/compare/astrbot-vs-pally.md)\n- [AstrBot vs szn](https://www.anchorterminal.com/compare/astrbot-vs-szn.md)\n- [AstrBot vs Tab](https://www.anchorterminal.com/compare/astrbot-vs-tab-bot.md)\n- [AstrBot vs Tomo](https://www.anchorterminal.com/compare/astrbot-vs-tomo.md)\n- [AstrBot vs Zapia](https://www.anchorterminal.com/compare/astrbot-vs-zapia.md)\n- [AstrBot vs Boski](https://www.anchorterminal.com/compare/astrbot-vs-boski.md)\n- [AstrBot vs Caddy](https://www.anchorterminal.com/compare/astrbot-vs-caddy-app.md)\n- [AstrBot vs CowAgent](https://www.anchorterminal.com/compare/astrbot-vs-cowagent.md)\n- [AstrBot vs folk](https://www.anchorterminal.com/compare/astrbot-vs-folk-nozomio.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 Lobby](https://www.anchorterminal.com/compare/astrbot-vs-lobby-os.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 Tasker AI](https://www.anchorterminal.com/compare/astrbot-vs-tasker-ai.md)\n- [AstrBot vs Town](https://www.anchorterminal.com/compare/astrbot-vs-town.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- [Boski vs Claude Duet](https://www.anchorterminal.com/compare/boski-vs-claude-duet.md)\n- [Caddy vs Claude Duet](https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet.md)\n- [Claude Duet vs CowAgent](https://www.anchorterminal.com/compare/claude-duet-vs-cowagent.md)\n- [Claude Duet vs folk](https://www.anchorterminal.com/compare/claude-duet-vs-folk-nozomio.md)\n- [Claude Duet vs GAIA](https://www.anchorterminal.com/compare/claude-duet-vs-gaia.md)\n- [Claude Duet vs Gemini Spark](https://www.anchorterminal.com/compare/claude-duet-vs-gemini-spark.md)\n- [Claude Duet vs Grok Bot](https://www.anchorterminal.com/compare/claude-duet-vs-grok-bot.md)\n- [Claude Duet vs Haven](https://www.anchorterminal.com/compare/claude-duet-vs-haven.md)\n- [Claude Duet vs Hermes Agent](https://www.anchorterminal.com/compare/claude-duet-vs-hermes-agent.md)\n- [Claude Duet vs Instinct](https://www.anchorterminal.com/compare/claude-duet-vs-instinct.md)\n- [Claude Duet vs IronClaw](https://www.anchorterminal.com/compare/claude-duet-vs-ironclaw.md)\n- [Claude Duet vs Leon](https://www.anchorterminal.com/compare/claude-duet-vs-leon.md)\n- [Claude Duet vs Lindy](https://www.anchorterminal.com/compare/claude-duet-vs-lindy.md)\n- [Claude Duet vs Lobby](https://www.anchorterminal.com/compare/claude-duet-vs-lobby-os.md)\n- [Claude Duet vs nanobot](https://www.anchorterminal.com/compare/claude-duet-vs-nanobot.md)\n- [Claude Duet vs NanoClaw](https://www.anchorterminal.com/compare/claude-duet-vs-nanoclaw.md)\n- [Claude Duet vs Dots](https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots.md)\n- [Claude Duet vs OpenClaw](https://www.anchorterminal.com/compare/claude-duet-vs-openclaw.md)\n- [Claude Duet vs PicoClaw](https://www.anchorterminal.com/compare/claude-duet-vs-picoclaw.md)\n- [Claude Duet vs Poke](https://www.anchorterminal.com/compare/claude-duet-vs-poke.md)\n- [Claude Duet vs QwenPaw](https://www.anchorterminal.com/compare/claude-duet-vs-qwenpaw.md)\n- [Claude Duet vs Tasker AI](https://www.anchorterminal.com/compare/claude-duet-vs-tasker-ai.md)\n- [Claude Duet vs Town](https://www.anchorterminal.com/compare/claude-duet-vs-town.md)\n- [Claude Duet vs ZeroClaw](https://www.anchorterminal.com/compare/claude-duet-vs-zeroclaw.md)\n- [Claude Duet vs Zo Computer](https://www.anchorterminal.com/compare/claude-duet-vs-zo-computer.md)\n- [asaply vs Claude Duet](https://www.anchorterminal.com/compare/asaply-vs-claude-duet.md)\n- [Brea vs Claude Duet](https://www.anchorterminal.com/compare/brea-vs-claude-duet.md)\n- [Claude Duet vs Del](https://www.anchorterminal.com/compare/claude-duet-vs-del.md)\n- [Claude Duet vs HireAlpha](https://www.anchorterminal.com/compare/claude-duet-vs-hirealpha.md)\n- [Claude Duet vs Natura tinyNature](https://www.anchorterminal.com/compare/claude-duet-vs-natura.md)\n- [Claude Duet vs OpenInstinct](https://www.anchorterminal.com/compare/claude-duet-vs-openinstinct.md)\n- [Claude Duet vs Orbits](https://www.anchorterminal.com/compare/claude-duet-vs-orbits.md)\n- [Claude Duet vs Orchid](https://www.anchorterminal.com/compare/claude-duet-vs-orchid-ai.md)\n- [Claude Duet vs Pally](https://www.anchorterminal.com/compare/claude-duet-vs-pally.md)\n- [Claude Duet vs szn](https://www.anchorterminal.com/compare/claude-duet-vs-szn.md)\n- [Claude Duet vs Tomo](https://www.anchorterminal.com/compare/claude-duet-vs-tomo.md)\n- [Claude Duet vs Wajo (Fo)](https://www.anchorterminal.com/compare/claude-duet-vs-wajo.md)\n- [Claude Duet vs Zapia](https://www.anchorterminal.com/compare/claude-duet-vs-zapia.md)\n- [Asmi vs Claude Duet](https://www.anchorterminal.com/compare/asmi-vs-claude-duet.md)\n- [Atticus vs Claude Duet](https://www.anchorterminal.com/compare/atticus-vs-claude-duet.md)\n- [Boba vs Claude Duet](https://www.anchorterminal.com/compare/boba-vs-claude-duet.md)\n- [Claude Duet vs Hark Pro](https://www.anchorterminal.com/compare/claude-duet-vs-hark-pro.md)\n- [Claude Duet vs Tab](https://www.anchorterminal.com/compare/claude-duet-vs-tab-bot.md)\n- [Claude Duet vs Talorys](https://www.anchorterminal.com/compare/claude-duet-vs-talorys.md)\n- [AstrBot vs Atticus](https://www.anchorterminal.com/compare/astrbot-vs-atticus.md)\n- [AstrBot vs Talorys](https://www.anchorterminal.com/compare/astrbot-vs-talorys.md)\n\n## Disclosure\n\n- Claude Duet competes with LocalGhost, which Anchor Terminal's founder builds, and Anthropic makes the models this research run and the review panel run on. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. All three run on Claude, and every review of it carries a conflict label.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-25",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AstrBot vs Claude Duet",
        "url": ""
      }
    ],
    "description": "AstrBot scores 58.8 (C) to Claude Duet's 17.9 (F) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AstrBot C 58.8",
      "Claude Duet F 17.9",
      "scores"
    ],
    "h1": "AstrBot vs Claude Duet",
    "image": "https://www.anchorterminal.com/assets/og/compare-astrbot-vs-claude-duet.png",
    "path": "/compare/astrbot-vs-claude-duet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AstrBot vs Claude Duet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-25",
    "url": "https://www.anchorterminal.com/compare/astrbot-vs-claude-duet"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 730
  },
  "version": 1
}
