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