{
  "data": {
    "a": {
      "slug": "nanobot",
      "name": "nanobot",
      "vendor": "HKUDS",
      "vendorUrl": "https://nanobot.wiki",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "nanobot is an open-source, self-hosted personal AI agent written in Python by HKUDS. It runs as a gateway on the owner's machine and answers in a web UI, a terminal and chat apps, with tools, memory and scheduled automations.",
      "url": "https://www.anchorterminal.com/tools/nanobot",
      "markdownUrl": "https://www.anchorterminal.com/tools/nanobot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nanobot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nanobot.json",
      "repo": "https://github.com/HKUDS/nanobot",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "nanobot-ai"
        }
      ],
      "auth": "none",
      "authNotes": "No account with the project. The owner supplies model provider keys or an OAuth sign-in, and bot tokens or mailbox passwords for each channel, in `~/.nanobot/config.json`. The WebUI on localhost needs no password, and binding to all interfaces requires a token.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy from the project. The owner pays the model provider, or nothing with a local model. The optional Render deployment needs a paid Render service.",
      "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": 49000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://nanobot.wiki/docs/latest/getting-started/nanobot-overview",
      "llmsTxt": "https://nanobot.wiki/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.memory",
        "assistant.self-hosted",
        "assistant.accounts",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "mit",
        "llms-txt",
        "docker",
        "alpha"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.4,
        "grade": "B",
        "agentReady": false,
        "rank": 446,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 82,
          "payments": 60,
          "reliability": 70,
          "schema": 77,
          "security": 63,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-09-02. GHSA-vc5v-6vwm-wf9m (critical, 9.3, no CVE). Web fetch did not block internal addresses, so cloud metadata and internal services could be read without authentication in versions before 0.3.0. Fixed in 0.3.0 of 25 July and published, -2. https://github.com/HKUDS/nanobot/security/advisories/GHSA-vc5v-6vwm-wf9m",
          "2026-03-27. GHSA-4gmr-2vc8-7qh3 (CVE-2026-33654, high). A spoofed email could inject instructions through email polling with no user action, up to command execution, in 0.1.4.post5 and earlier. Fixed in 0.1.4.post6 and published, more than six months ago, -2. https://github.com/HKUDS/nanobot/security/advisories/GHSA-4gmr-2vc8-7qh3",
          "2026-03-11. GHSA-g6cf-xjwr-pm77 (CVE-2026-31977, critical, 9.0). A sender ID containing `|` passed the `allowFrom` check in versions before 0.1.4.post4. Fixed and published, more than six months ago, -1. https://github.com/HKUDS/nanobot/security/advisories/GHSA-g6cf-xjwr-pm77",
          "2026-04-14 and 2026-05-24. GHSA-v5j3-4q66-58cf (CVE-2026-35589, high, 8.0), cross-site WebSocket hijacking of the WhatsApp bridge, fixed in 0.1.5, and GHSA-3f63-vcp3-hvqr (CVE-2026-48716, high, 8.7), file write through a WhatsApp document name. Both fixed and published, -1 together. https://github.com/HKUDS/nanobot/security/advisories"
        ],
        "verdict": "nanobot runs on the owner's machine under the MIT licence, with no telemetry found in its source and memory kept as files the owner can read and restore. No per-action approval step was found, and the shell sandbox and workspace restriction are off by default. Five security advisories were published between March and September 2026, all with fixes.",
        "bestFor": "A technical owner who wants an assistant on their own machine across many chat apps, with file-based memory and a free choice of model.",
        "strengths": [
          "MIT licence, runs on the owner's machine, and no telemetry code was found in the source at v0.3.5",
          "Long-term memory is plain files (`USER.md`, `SOUL.md`, `memory/MEMORY.md`) versioned with Git, with `/dream-log` and `/dream-restore` to inspect and roll back",
          "Chat channels deny unknown senders by default since v0.1.4.post4, with pairing codes the owner approves",
          "Email requires SPF and DKIM results from a named receiving service since v0.3.5, and mailbox access stays off until `consentGranted` is set",
          "Optional `bwrap` (Linux) and `seatbelt` (macOS) sandboxes for shell commands, and an SSRF guard on web fetches and HTTP MCP connections"
        ],
        "weaknesses": [
          "No per-action approval was found in the docs or source. The agent sends messages, runs shell commands and edits files without asking",
          "`tools.restrictToWorkspace` defaults to false and `tools.exec.sandbox` to empty. Neither sandbox restricts network access, and Windows has none",
          "Five advisories published from 11 March to 2 September 2026, two rated critical, among them an allowlist bypass and unauthenticated SSRF in web fetch",
          "SECURITY.md lists plain-text API keys in `config.json`, no rate limiting and limited security event logging as known limitations",
          "Version 0.3.5 with an Alpha classifier, 214 open issues and 614 open pull requests on 12 October 2026"
        ],
        "agentNotes": [
          "Set `tools.restrictToWorkspace` to true and `tools.exec.sandbox` to `bwrap` or `seatbelt` before giving it real accounts. Both are off by default",
          "Run 0.3.0 or later. Earlier versions carry the published SSRF flaw in web fetch (GHSA-vc5v-6vwm-wf9m)",
          "Keep `allowFrom` narrow on every channel and never set `[\"*\"]` on Email, which has no pairing",
          "Write secrets as `${VAR}` references in `~/.nanobot/config.json`. Plain values are stored in clear text",
          "Use `nanobot -m \"...\"` for a one-shot run, and keep `nanobot gateway` running for channels, schedules and heartbeat"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 82,
          "payments": 60,
          "reliability": 70,
          "schema": 77,
          "security": 63,
          "transparency": 69
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "python -m pip install nanobot-ai   # or: uv tool install nanobot-ai   # then: nanobot webui",
        "headless": {
          "command": "nanobot -m \"$TASK\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/nanobot"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "nanobot.wiki",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/HKUDS/nanobot/releases",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "No legal entity is named. The repository belongs to the GitHub organisation HKUDS, which a published advisory title calls the Hong Kong University Data Intelligence Lab. pyproject.toml names Xubin Ren and the nanobot contributors as authors.",
          "nanobot.wiki has no terms or privacy page linked from its home page or llms.txt, and `/.well-known/security.txt` answered with the site's not-found page on 12 October 2026.",
          "SECURITY.md in the repository asks for reports through a private GitHub advisory or by email and aims to respond within 48 hours.",
          "There is no hosted endpoint. A gateway answers on its owner's own host."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nanobot.json"
    },
    "answer": "nanobot scores 62.4 (B) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.",
    "b": {
      "slug": "poke",
      "name": "Poke",
      "vendor": "The Interaction Company of California Inc.",
      "vendorUrl": "https://poke.com",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Hosted personal assistant from The Interaction Company of California, reached by text on Apple Messages, WhatsApp, Telegram and RCS. It works across the owner's Gmail or Outlook mail, calendar, contacts and connected apps.",
      "url": "https://www.anchorterminal.com/tools/poke",
      "markdownUrl": "https://www.anchorterminal.com/tools/poke.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/poke.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/poke.json",
      "license": "Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "poke"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person signs up at poke.com and connects a Google or Microsoft account. The Poke API takes `Authorization: Bearer \u003ckey\u003e` with a V2 key created in Kitchen under API Keys. Keys are named, shown once, revocable one at a time and have no scopes. Older `pk_` keys work only on the deprecated endpoint. The CLI signs in with a browser device code and stores credentials in `~/.config/poke/credentials.json`. Third-party MCP servers are connected with an API key or OAuth (https://poke.com/docs/api; https://poke.com/docs/mcp-servers; https://poke.com/docs/creating-recipes).",
      "pricing": "freemium",
      "pricingNotes": "Free at $0 with no card. Pro is $19 a month and Ultra $199 a month on monthly billing. Free and Pro have a refilling usage allowance, with no figures published, and Poke continues in a lighter mode past it. Ultra includes a monthly credit pool (1 credit is $1 of usage), with top-ups and optional auto-reload. Poke Human is included with Ultra, with real-world expenses charged at cost. Model usage is not billed separately (https://poke.com/pricing; https://poke.com/docs/usage-and-resets; https://poke.com/faq, checked 2026-10-12).",
      "priceSummary": "$19 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the pricing page (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://poke.com/docs",
      "llmsTxt": "https://poke.com/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "agent.mcp-client"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "messaging",
        "imessage",
        "whatsapp",
        "telegram",
        "gmail",
        "outlook",
        "mcp-client",
        "api-key",
        "free-tier",
        "status-page",
        "llms-txt",
        "trains-on-data-by-default"
      ],
      "lastRelease": "2026-06-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37.6,
        "grade": "F",
        "agentReady": false,
        "rank": 955,
        "ranked": true,
        "rankOf": 986,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 30,
          "maintenance": 31,
          "payments": 30,
          "reliability": 51,
          "schema": 42,
          "security": 24,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected.",
        "bestFor": "One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.",
        "strengths": [
          "Answers on Apple Messages, WhatsApp, Telegram and RCS, with the channel chosen in settings, per the docs welcome page and FAQ",
          "Free plan with no card, Pro at $19 a month and Ultra at $199 a month, all published without a sign-in",
          "Connects any remote MCP server by URL, with API key or OAuth, and OAuth servers with Dynamic Client Registration need no setup",
          "status.poke.com lists App, Email, Integrations, three messaging channels and API, with two incidents from July to 12 October 2026",
          "Named API keys are created in Kitchen, shown once and revoked one at a time"
        ],
        "weaknesses": [
          "No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing",
          "Customer content, including email contents, may train AI models unless the user selects Maximum Privacy, per the privacy notice of 11 September 2026",
          "Model providers, sub-processors, hosting locations and where account tokens are stored are not named in the pages read",
          "An API key message is processed with full access to email, calendar and integrations. Keys have no scopes",
          "No security.txt, disclosure policy, bug bounty or certification was found on poke.com",
          "The terms forbid automated access for scraping and use for benchmarking or competitive analysis. This matters before any probe is run"
        ],
        "agentNotes": [
          "POST JSON to `https://poke.com/api/v1/inbound/api-message` with a Bearer key from Kitchen. Legacy `pk_` keys work only on the deprecated `/api/v1/inbound-sms/webhook`",
          "Expect only `{\"success\": true}` back. Poke's answer goes to the owner's message thread, not to the caller",
          "Do not retry a POST blindly. No idempotency key is documented, and a repeated message may make Poke act twice",
          "Treat an API key as full access to the owner's mail, calendar and integrations. Create one key per automation and revoke it when done",
          "Avoid the prefilled integration link with `apiKey` in the query string for real secrets. Enter the key in the form or use `npx poke@latest mcp add -k`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37.6
          }
        ],
        "editorialScores": {
          "ergonomics": 30,
          "maintenance": 31,
          "payments": 30,
          "reliability": 51,
          "schema": 42,
          "security": 24,
          "transparency": 34
        },
        "provenanceScore": 81
      },
      "connect": {
        "install": "npx poke@latest login",
        "http": "curl 'https://poke.com/api/v1/inbound/api-message' \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message\": \"test\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/poke"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro",
          "unit": "month",
          "usd": 19,
          "note": "billed monthly, refilling usage allowance with no published figure"
        },
        {
          "item": "Ultra",
          "unit": "month",
          "usd": 199,
          "note": "billed monthly, includes a monthly credit pool and Poke Human"
        },
        {
          "item": "Ultra top-up credit",
          "unit": "credit",
          "usd": 1,
          "note": "1 credit is $1 of usage"
        }
      ],
      "provenance": {
        "legalEntity": "The Interaction Company of California Inc.",
        "domain": "poke.com",
        "domainRegistered": "1997-03-26",
        "endpointOnVendorDomain": true,
        "terms": "https://poke.com/terms",
        "privacy": "https://poke.com/privacy",
        "statusPage": "https://status.poke.com",
        "changelog": "https://poke.com/docs/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The privacy notice (last updated 11 September 2026) names The Interaction Company of California Inc. and gives 169 Waverley St Apt B, Palo Alto, CA 94301 as the controller's address. The terms (last modified 17 March 2026) name The Interaction Company of California d/b/a Poke.",
          "Cognition announced on 23 July 2026 that The Interaction Company of California was joining it. The terms and privacy notice read on 12 October 2026 do not name Cognition.",
          "poke.com/.well-known/security.txt answered 404. poke.com/robots.txt also answered 404, so the host publishes no crawl rules.",
          "RDAP for poke.com gives a registration date of 1997-03-26 and NameCheap, Inc. as registrar.",
          "The API answers at poke.com/api/v1, on the vendor's domain."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/poke.json",
      "live": {
        "slug": "poke",
        "vendorStatus": {
          "page": "https://status.poke.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-12T18:57:01.261625139Z"
        },
        "updatedAt": "2026-10-12T18:57:01.261625139Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "HKUDS",
        "b": "The Interaction Company of California Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-15",
        "b": "2026-06-25",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-03-17",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-09-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "49k stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "nanobot scores 62.4 (B) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, nanobot or Poke?"
      },
      {
        "answer": "nanobot is open source (MIT). No open-source release is listed for Poke.",
        "question": "Are nanobot and Poke open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 51",
          "Schema \u0026 documentation, 77 against 42",
          "Agent ergonomics, 74 against 30",
          "Security \u0026 auth, 63 against 24",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 82 against 31"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A technical owner who wants an assistant on their own machine across many chat apps, with file-based memory and a free choice of model.",
        "slug": "nanobot",
        "watchFor": "No per-action approval was found in the docs or source. The agent sends messages, runs shell commands and edits files without asking"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 58 against 48"
        ],
        "also": [
          "No incidents deducted, where nanobot loses 6 points for them"
        ],
        "goodFor": "One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.",
        "slug": "poke",
        "watchFor": "No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Assistant proactive"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-nanobot.json",
        "title": "AstrBot vs nanobot",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-nanobot"
      },
      {
        "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/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-poke.json",
        "title": "CowAgent vs Poke",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-nanobot.json",
        "title": "GAIA vs nanobot",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-poke.json",
        "title": "GAIA vs Poke",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot.json",
        "title": "Gemini Spark vs nanobot",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-poke.json",
        "title": "Gemini Spark vs Poke",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-nanobot.json",
        "title": "Grok Bot vs nanobot",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-poke.json",
        "title": "Grok Bot vs Poke",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-nanobot.json",
        "title": "Haven vs nanobot",
        "url": "https://www.anchorterminal.com/compare/haven-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-poke.json",
        "title": "Haven vs Poke",
        "url": "https://www.anchorterminal.com/compare/haven-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanobot.json",
        "title": "Hermes Agent vs nanobot",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-poke.json",
        "title": "Hermes Agent vs Poke",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-nanobot.json",
        "title": "Instinct vs nanobot",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-poke.json",
        "title": "Instinct vs Poke",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-nanobot.json",
        "title": "IronClaw vs nanobot",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-poke.json",
        "title": "IronClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-nanobot.json",
        "title": "Leon vs nanobot",
        "url": "https://www.anchorterminal.com/compare/leon-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-poke.json",
        "title": "Leon vs Poke",
        "url": "https://www.anchorterminal.com/compare/leon-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-nanobot.json",
        "title": "Lindy vs nanobot",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-poke.json",
        "title": "Lindy vs Poke",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw.json",
        "title": "nanobot vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-openai-dots.json",
        "title": "nanobot vs Dots",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-openclaw.json",
        "title": "nanobot vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-picoclaw.json",
        "title": "nanobot vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-qwenpaw.json",
        "title": "nanobot vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-zeroclaw.json",
        "title": "nanobot vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-zo-computer.json",
        "title": "nanobot vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke.json",
        "title": "NanoClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-poke.json",
        "title": "Dots vs Poke",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-poke.json",
        "title": "OpenClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/picoclaw-vs-poke.json",
        "title": "PicoClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/picoclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw.json",
        "title": "Poke vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-zeroclaw.json",
        "title": "Poke vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/poke-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-zo-computer.json",
        "title": "Poke vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/poke-vs-zo-computer"
      }
    ],
    "scores": [
      {
        "by": 19,
        "edge": "nanobot",
        "key": "reliability",
        "name": "Reliability",
        "nanobot": 70,
        "poke": 51,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "nanobot",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nanobot": 77,
        "poke": 42,
        "weight": 13
      },
      {
        "by": 44,
        "edge": "nanobot",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nanobot": 74,
        "poke": 30,
        "weight": 13
      },
      {
        "by": 39,
        "edge": "nanobot",
        "key": "security",
        "name": "Security \u0026 auth",
        "nanobot": 63,
        "poke": 24,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "nanobot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nanobot": 60,
        "poke": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 51,
        "edge": "nanobot",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nanobot": 82,
        "poke": 31,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "poke",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nanobot": 48,
        "poke": 58,
        "weight": 7
      }
    ],
    "summary": "nanobot scores 62.4 (B) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust. Both do assistant proactive.",
    "verdicts": {
      "nanobot": "nanobot runs on the owner's machine under the MIT licence, with no telemetry found in its source and memory kept as files the owner can read and restore. No per-action approval step was found, and the shell sandbox and workspace restriction are off by default. Five security advisories were published between March and September 2026, all with fixes.",
      "poke": "Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nanobot-vs-poke",
    "json": "https://www.anchorterminal.com/compare/nanobot-vs-poke.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nanobot-vs-poke.md",
    "slim": "https://www.anchorterminal.com/compare/nanobot-vs-poke.min.md"
  },
  "markdown": "nanobot scores 62.4 (B) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust. Both do assistant proactive.\n\n- nanobot: grade B, 62.4/100, rank #446 of 986. Markdown https://www.anchorterminal.com/tools/nanobot.md · JSON https://www.anchorterminal.com/api/v1/tools/nanobot.json\n- Poke: grade F, 37.6/100, rank #955 of 986. Markdown https://www.anchorterminal.com/tools/poke.md · JSON https://www.anchorterminal.com/api/v1/tools/poke.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 190 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n\n## Which one, for what\n\n### nanobot (B)\n\nGood for: A technical owner who wants an assistant on their own machine across many chat apps, with file-based memory and a free choice of model.\n\nAhead on:\n- Reliability, 70 against 51\n- Schema \u0026 documentation, 77 against 42\n- Agent ergonomics, 74 against 30\n- Security \u0026 auth, 63 against 24\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 82 against 31\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: No per-action approval was found in the docs or source. The agent sends messages, runs shell commands and edits files without asking\n\n### Poke (F)\n\nGood for: One person who wants an assistant in their text messages that reads and drafts mail, manages a calendar and reaches other apps through MCP.\n\nAhead on:\n- Transparency \u0026 trust, 58 against 48\n\nAlso in its favour:\n- No incidents deducted, where nanobot loses 6 points for them\n\nWatch for: No documented setting for which actions need approval before Poke sends, deletes or spends. Release notes mention email draft approval only in passing\n\n\n## Score by category\n\n| Category | Weight | nanobot | Poke | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 51 | nanobot +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 42 | nanobot +35 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 30 | nanobot +44 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 24 | nanobot +39 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | nanobot +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 31 | nanobot +51 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 48 | 58 | Poke +10 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **62.4 · B** | **37.6 · F** | |\n\n## Facts side by side\n\n| Fact | nanobot | Poke |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | HKUDS | The Interaction Company of California Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Proprietary service under Poke's Terms of Service. The `poke` npm package (CLI and Node.js SDK) declares MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-15 | 2026-06-25 |\n| Terms last updated | no document linked | 2026-03-17 |\n| Privacy policy last updated | no document linked | 2026-09-11 |\n| Customer content may train models |  | yes |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 49k stars | none |\n\n## Verdicts\n\n**nanobot.** nanobot runs on the owner's machine under the MIT licence, with no telemetry found in its source and memory kept as files the owner can read and restore. No per-action approval step was found, and the shell sandbox and workspace restriction are off by default. Five security advisories were published between March and September 2026, all with fixes.\n\n**Poke.** Hosted assistant that answers in Apple Messages, WhatsApp, Telegram and RCS and acts in Gmail, Outlook, calendars and MCP servers. Plan prices and a status page are public. No approval settings, credential storage, model providers or retention periods are documented, and customer content trains models unless Maximum Privacy is selected.\n\n## Before you call either\n\n### nanobot\n\n1. Set `tools.restrictToWorkspace` to true and `tools.exec.sandbox` to `bwrap` or `seatbelt` before giving it real accounts. Both are off by default\n2. Run 0.3.0 or later. Earlier versions carry the published SSRF flaw in web fetch (GHSA-vc5v-6vwm-wf9m)\n3. Keep `allowFrom` narrow on every channel and never set `[\"*\"]` on Email, which has no pairing\n4. Write secrets as `${VAR}` references in `~/.nanobot/config.json`. Plain values are stored in clear text\n5. Use `nanobot -m \"...\"` for a one-shot run, and keep `nanobot gateway` running for channels, schedules and heartbeat\n\n### Poke\n\n1. POST JSON to `https://poke.com/api/v1/inbound/api-message` with a Bearer key from Kitchen. Legacy `pk_` keys work only on the deprecated `/api/v1/inbound-sms/webhook`\n2. Expect only `{\"success\": true}` back. Poke's answer goes to the owner's message thread, not to the caller\n3. Do not retry a POST blindly. No idempotency key is documented, and a repeated message may make Poke act twice\n4. Treat an API key as full access to the owner's mail, calendar and integrations. Create one key per automation and revoke it when done\n5. Avoid the prefilled integration link with `apiKey` in the query string for real secrets. Enter the key in the form or use `npx poke@latest mcp add -k`\n\n## Questions\n\n### Which is better for AI agents, nanobot or Poke?\n\nnanobot scores 62.4 (B) on agent readiness against Poke's 37.6 (F), and leads in 6 of 7 scored categories. Poke leads on transparency \u0026 trust.\n\n### Are nanobot and Poke open source?\n\nnanobot is open source (MIT). No open-source release is listed for Poke.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nanobot-vs-poke.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nanobot-vs-poke.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nanobot\", \"b\": \"poke\"}`. From a terminal: `anchor compare nanobot poke`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nanobot.json and https://www.anchorterminal.com/api/v1/tools/poke.json\n\n## Other comparisons with nanobot or Poke\n\n- [AstrBot vs nanobot](https://www.anchorterminal.com/compare/astrbot-vs-nanobot.md)\n- [AstrBot vs Poke](https://www.anchorterminal.com/compare/astrbot-vs-poke.md)\n- [CowAgent vs nanobot](https://www.anchorterminal.com/compare/cowagent-vs-nanobot.md)\n- [CowAgent vs Poke](https://www.anchorterminal.com/compare/cowagent-vs-poke.md)\n- [GAIA vs nanobot](https://www.anchorterminal.com/compare/gaia-vs-nanobot.md)\n- [GAIA vs Poke](https://www.anchorterminal.com/compare/gaia-vs-poke.md)\n- [Gemini Spark vs nanobot](https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot.md)\n- [Gemini Spark vs Poke](https://www.anchorterminal.com/compare/gemini-spark-vs-poke.md)\n- [Grok Bot vs nanobot](https://www.anchorterminal.com/compare/grok-bot-vs-nanobot.md)\n- [Grok Bot vs Poke](https://www.anchorterminal.com/compare/grok-bot-vs-poke.md)\n- [Haven vs nanobot](https://www.anchorterminal.com/compare/haven-vs-nanobot.md)\n- [Haven vs Poke](https://www.anchorterminal.com/compare/haven-vs-poke.md)\n- [Hermes Agent vs nanobot](https://www.anchorterminal.com/compare/hermes-agent-vs-nanobot.md)\n- [Hermes Agent vs Poke](https://www.anchorterminal.com/compare/hermes-agent-vs-poke.md)\n- [Instinct vs nanobot](https://www.anchorterminal.com/compare/instinct-vs-nanobot.md)\n- [Instinct vs Poke](https://www.anchorterminal.com/compare/instinct-vs-poke.md)\n- [IronClaw vs nanobot](https://www.anchorterminal.com/compare/ironclaw-vs-nanobot.md)\n- [IronClaw vs Poke](https://www.anchorterminal.com/compare/ironclaw-vs-poke.md)\n- [Leon vs nanobot](https://www.anchorterminal.com/compare/leon-vs-nanobot.md)\n- [Leon vs Poke](https://www.anchorterminal.com/compare/leon-vs-poke.md)\n- [Lindy vs nanobot](https://www.anchorterminal.com/compare/lindy-vs-nanobot.md)\n- [Lindy vs Poke](https://www.anchorterminal.com/compare/lindy-vs-poke.md)\n- [nanobot vs NanoClaw](https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw.md)\n- [nanobot vs Dots](https://www.anchorterminal.com/compare/nanobot-vs-openai-dots.md)\n- [nanobot vs OpenClaw](https://www.anchorterminal.com/compare/nanobot-vs-openclaw.md)\n- [nanobot vs PicoClaw](https://www.anchorterminal.com/compare/nanobot-vs-picoclaw.md)\n- [nanobot vs QwenPaw](https://www.anchorterminal.com/compare/nanobot-vs-qwenpaw.md)\n- [nanobot vs ZeroClaw](https://www.anchorterminal.com/compare/nanobot-vs-zeroclaw.md)\n- [nanobot vs Zo Computer](https://www.anchorterminal.com/compare/nanobot-vs-zo-computer.md)\n- [NanoClaw vs Poke](https://www.anchorterminal.com/compare/nanoclaw-vs-poke.md)\n- [Dots vs Poke](https://www.anchorterminal.com/compare/openai-dots-vs-poke.md)\n- [OpenClaw vs Poke](https://www.anchorterminal.com/compare/openclaw-vs-poke.md)\n- [PicoClaw vs Poke](https://www.anchorterminal.com/compare/picoclaw-vs-poke.md)\n- [Poke vs QwenPaw](https://www.anchorterminal.com/compare/poke-vs-qwenpaw.md)\n- [Poke vs ZeroClaw](https://www.anchorterminal.com/compare/poke-vs-zeroclaw.md)\n- [Poke vs Zo Computer](https://www.anchorterminal.com/compare/poke-vs-zo-computer.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-12",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "nanobot vs Poke",
        "url": ""
      }
    ],
    "description": "nanobot scores 62.4 (B) to Poke's 37.6 (F) for assistant proactive. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "nanobot B 62.4",
      "Poke F 37.6",
      "scores"
    ],
    "h1": "nanobot vs Poke",
    "image": "https://www.anchorterminal.com/assets/og/compare-nanobot-vs-poke.png",
    "path": "/compare/nanobot-vs-poke",
    "published": "2026-10-01",
    "section": "tools",
    "title": "nanobot vs Poke for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-12",
    "url": "https://www.anchorterminal.com/compare/nanobot-vs-poke"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 680
  },
  "version": 1
}
