{
  "data": {
    "a": {
      "slug": "nanoclaw",
      "name": "NanoClaw",
      "vendor": "NanoCo, Inc.",
      "vendorUrl": "https://nanoclaw.dev",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "Open-source personal assistant that the owner runs on their own machine. It answers on messaging apps, runs each agent session in a Docker container, keeps Markdown memory on disk and runs scheduled tasks.",
      "url": "https://www.anchorterminal.com/tools/nanoclaw",
      "markdownUrl": "https://www.anchorterminal.com/tools/nanoclaw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nanoclaw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nanoclaw.json",
      "repo": "https://github.com/nanocoai/nanoclaw",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account is needed to run it. Owners and admins are rows in a local `user_roles` table, and strangers are handled by each chat's `unknown_sender_policy` (https://docs.nanoclaw.dev/concepts/security). Model and service credentials are registered with a credential gateway on the host, OneCLI Agent Vault by default, which adds them to outbound HTTPS requests. Containers receive placeholders such as `onecli-managed` (https://docs.nanoclaw.dev/operate/credentials). Channel tokens stay in the host's `.env`. An optional free NanoClaw account, used for a prebuilt agent image and a managed Slack app, keeps its token in `~/.config/nanoclaw/account.json` with mode 0600 (https://github.com/nanocoai/nanoclaw/blob/main/README.md).",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing on sale. The optional NanoClaw account, the Echo image and the managed Slack app are free of charge per the terms of 31 July 2026 (https://nanoclaw.dev/terms). The owner pays the model provider through a Claude subscription, an API key or another provider, and any service a channel or tool uses, such as Dial. Since 2.4.0 Claude groups default to Opus 5.5 (checked 2026-10-12).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 30929,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.nanoclaw.dev",
      "llmsTxt": "https://docs.nanoclaw.dev/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client",
        "assistant.accounts"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "docker",
        "llms-txt"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.6,
        "grade": "B",
        "agentReady": false,
        "rank": 235,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 60,
          "reliability": 78,
          "schema": 82,
          "security": 74,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-09. Release 2026.10.0 fixed four symlink flaws through which a manipulated agent could make the host read, write or delete files outside its folders, plus an admin-command bypass, a cross-group read through `ncl` and a command injection in Mattermost setup. Fixed and described in the changelog within the week, but the advisories it links (GHSA-frvf-5rf5-89fq and seven others) were not public on 12 October 2026. -5. https://github.com/nanocoai/nanoclaw/blob/main/CHANGELOG.md"
        ],
        "verdict": "Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval.",
        "bestFor": "A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.",
        "strengths": [
          "Each session runs in a non-root Docker container with all capabilities dropped, and the project root and `.env` are never mounted",
          "API keys sit in a credential gateway on the host, which adds them to outbound requests, so the container holds only placeholders",
          "Installing packages, adding an MCP server and admitting a new chat each wait for an admin's approval, and no reachable approver means denial",
          "Memory is plain Markdown under `groups/\u003cfolder\u003e/memory/`, which the owner can read, edit or delete on the host",
          "The security page states what the design does not stop, including messages to wired chats and spending through granted credentials"
        ],
        "weaknesses": [
          "The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt",
          "Egress lockdown is off by default, so a container can reach the internet directly unless `NANOCLAW_EGRESS_LOCKDOWN=true` is set",
          "The 2026.10.0 changelog links eight advisories on the repository, and on 12 October 2026 the advisories page listed none and one linked advisory returned 404",
          "Setup sends events to PostHog unless `NANOCLAW_NO_DIAGNOSTICS=1` is set, and the privacy policy does not mention them",
          "The docs say trunk has no Gmail or Google Calendar integration, while the GitHub repository description still names Gmail",
          "294 open issues and 750 open pull requests on 12 October 2026, and 10 of the 12 newest open issues had no reply"
        ],
        "agentNotes": [
          "Install with `git clone` and `bash nanoclaw.sh`. There is no registry package, and setup needs Docker, Node 22 or later and a Claude or Codex credential",
          "Set `NANOCLAW_EGRESS_LOCKDOWN=true` before giving an agent credentials or an audience of strangers. The default leaves egress open",
          "Put chats with different audiences in separate agent groups. Every session of a group shares one read-write workspace and memory tree",
          "Turn on per-request approval for a secret in the gateway when its use should wait for a person. It is off unless configured",
          "On OneCLI installs, move the gateway to 1.42.0 by the upgrade guide before updating to 2026.10.0. The updater stops until that is done"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 78,
          "payments": 60,
          "reliability": 78,
          "schema": 82,
          "security": 74,
          "transparency": 77
        },
        "provenanceScore": 61,
        "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",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-12",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/nanocoai/nanoclaw.git nanoclaw-v2 \u0026\u0026 cd nanoclaw-v2 \u0026\u0026 bash nanoclaw.sh"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/nanoclaw"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "NanoCo, Inc.",
        "domain": "nanoclaw.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/nanocoai/nanoclaw/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The terms and privacy policy at nanoclaw.dev name NanoCo, Inc. and Delaware law. Both say they cover the website and the optional account, not the software, so neither is linked and the MIT licence stands in.",
          "nanoclaw.dev/.well-known/security.txt returned 404 on 12 October 2026. The repository's SECURITY.md points to GitHub private vulnerability reporting.",
          "There is no hosted endpoint. The assistant runs on the owner's machine, and the optional account service is at portal.nanoclaw.dev, which we did not open.",
          "The registration date of nanoclaw.dev was not checked."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nanoclaw.json",
      "live": {
        "slug": "nanoclaw",
        "versions": [
          {
            "registry": "github",
            "name": "nanocoai/nanoclaw",
            "version": "v2026.10.0",
            "released": "2026-10-09",
            "seenAt": "2026-10-30T14:30:56.667401741Z"
          }
        ],
        "githubStars": 31057,
        "securityTxt": {
          "url": "https://nanoclaw.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:39:29.981375292Z"
        },
        "llmsTxt": {
          "url": "https://docs.nanoclaw.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:08:10.685071274Z"
        },
        "domain": {
          "domain": "nanoclaw.dev",
          "registered": "2026-02-17",
          "source": "https://pubapi.registry.google/rdap/domain/nanoclaw.dev",
          "checkedAt": "2026-10-25T13:49:49.042180039Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/nanocoai/nanoclaw/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-30T05:49:41.772961805Z",
            "changedAt": "2026-10-23T01:56:34.666956201Z",
            "fingerprint": "f65fb1374835"
          }
        ],
        "github": {
          "repo": "nanocoai/nanoclaw",
          "checkedAt": "2026-10-26T07:49:08.020097509Z",
          "stars": 31016,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T07:00:33Z",
          "openIssues": 287,
          "openPRs": 737,
          "issuesOpened90d": 144,
          "issuesClosed90d": 156,
          "prsMerged90d": 417,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-26T07:01:48Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-vwj5-j44r-v364",
              "severity": "high",
              "published": "2026-10-13T17:35:58Z"
            },
            {
              "ghsa": "GHSA-hcfx-vmj7-xcx8",
              "severity": "high",
              "published": "2026-10-13T17:34:07Z"
            },
            {
              "ghsa": "GHSA-r7fr-2v6h-rhqf",
              "severity": "medium",
              "published": "2026-10-13T17:33:48Z"
            },
            {
              "ghsa": "GHSA-g3gp-6777-8p9g",
              "severity": "medium",
              "published": "2026-10-13T17:33:25Z"
            },
            {
              "ghsa": "GHSA-8w49-2gv4-3x6w",
              "severity": "high",
              "published": "2026-10-13T17:32:59Z"
            },
            {
              "ghsa": "GHSA-628g-jj3x-6mp9",
              "severity": "high",
              "published": "2026-10-13T17:32:37Z"
            },
            {
              "ghsa": "GHSA-9j3v-9hwg-v896",
              "severity": "medium",
              "published": "2026-10-13T17:30:15Z"
            },
            {
              "ghsa": "GHSA-7wx5-9p7v-wvhp",
              "severity": "high",
              "published": "2026-10-13T17:23:42Z"
            },
            {
              "ghsa": "GHSA-frvf-5rf5-89fq",
              "severity": "high",
              "published": "2026-10-13T17:19:18Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 20,
            "medianDays": 1.1
          }
        },
        "updatedAt": "2026-10-30T15:39:29.981375292Z"
      }
    },
    "answer": "NanoClaw scores 68.6 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in every scored category.",
    "b": {
      "slug": "openduet",
      "name": "OpenDuet",
      "vendor": "CopilotKit (Tawkit, Inc.)",
      "vendorUrl": "https://www.copilotkit.ai/openduet",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "OpenDuet is CopilotKit's open-source, self-hosted proactive assistant built on OpenBot. It sends a morning brief from Gmail and Google Calendar, runs tasks in its own browser container and pauses consequential actions for approval.",
      "url": "https://www.anchorterminal.com/tools/openduet",
      "markdownUrl": "https://www.anchorterminal.com/tools/openduet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openduet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openduet.json",
      "repo": "https://github.com/CopilotKit/OpenDuet",
      "license": "MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "The owner runs it from a clone. With no identity provider configured it runs as one fixed administrator with no sign-in and listens only on this machine (`OPENBOT_SINGLE_USER`, refused on a public address); configuring a provider turns sign-in on. The server will not start without `INTELLIGENCE_API_KEY`, a project key for CopilotKit Intelligence obtained through `npx copilotkit@latest login`, which opens a browser sign-in. A model key (OpenAI by default, Anthropic optional) goes in `.env`. Gmail and Calendar need a Google OAuth client an administrator registers, then each person connects their own account. An outside agent can be registered as a Bot over AG-UI (`type: remote-ag-ui`) with an optional write-only authorisation header.",
      "pricing": "freemium",
      "pricingNotes": "The repository is free under MIT. It needs CopilotKit Intelligence, which is free on the Developer plan (no card, 1,000 interactions a month hosted, or a Developer Edition for local non-production use on a renewable 30-day licence); pay as you go is $49 a month per organisation with 10,000 interactions, then graduated rates not shown on the pricing page. Model usage is billed by the model provider (https://www.copilotkit.ai/pricing, https://docs.copilotkit.ai/intelligence/plans, checked 2026-10-30).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the OpenBot docs or the CopilotKit pricing page (checked 2026-10-30). Intelligence's paid plans are billed monthly to a card.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1618,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/CopilotKit/OpenDuet#readme",
      "capabilities": [
        "assistant.proactive",
        "assistant.self-hosted",
        "assistant.accounts",
        "assistant.memory",
        "assistant.messaging",
        "agent.mcp-client",
        "mailbox.read",
        "mailbox.send",
        "calendar.read"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "typescript",
        "docker",
        "gmail",
        "slack",
        "teams",
        "mcp-client",
        "approvals",
        "telemetry-default-on",
        "pre-1.0",
        "free",
        "no-card",
        "new"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.5,
        "grade": "D",
        "agentReady": false,
        "rank": 962,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 37,
          "payments": 30,
          "reliability": 42,
          "schema": 58,
          "security": 59,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking.",
        "bestFor": "A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.",
        "strengths": [
          "MIT source, with everything OpenDuet-specific in one tenant folder over OpenBot's code",
          "One gateway evaluates policy and writes an audit row naming who started each run, exportable as CSV or OTLP",
          "Each Bot runs in its own container with an egress proxy that permits nothing until a policy arrives",
          "Payments, credential and security-setting changes are always handed to the person, and the reviewer fails closed",
          "Passwords go through a masked box, and stored credentials are encrypted, write-only and redacted from audit rows"
        ],
        "weaknesses": [
          "No release, tag, published image or deploy guide; the README marks it early development",
          "The server refuses to start without a CopilotKit Intelligence key, which needs a browser sign-in",
          "Writes other than payments, credentials and security settings run if the LLM reviewer passes them, unless the owner turns on asking",
          "Runtime telemetry is on by default at 100 per cent sampling, with a documented opt-out",
          "The latest CI run on main failed on 28 October 2026, and outside issues from 27 to 29 October mostly have no reply"
        ],
        "agentNotes": [
          "Follow the README's Quick start (`bun install`, `bash scripts/start.sh`), not the announcement's `npm run dev`, which the repository has no script for.",
          "Run `bun openbot/scripts/setup-learning.ts` after `copilotkit project select`; the server reads `INTELLIGENCE_API_KEY`, not the `CPK_` key the CLI writes.",
          "Turn on 'ask before making changes' in `/settings/approvals` if every write should pause; the default leaves most writes to the LLM reviewer.",
          "To bring your own agent, register it as a `remote-ag-ui` Bot in `agents.yaml`; its tool calls still pass through the gateway's policy and audit.",
          "Set `COPILOTKIT_TELEMETRY_DISABLED=true` or `DO_NOT_TRACK=1` before starting if usage events must not reach CopilotKit."
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.5
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 37,
          "payments": 30,
          "reliability": 42,
          "schema": 58,
          "security": 59,
          "transparency": 68
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/CopilotKit/OpenDuet.git \u0026\u0026 cd OpenDuet \u0026\u0026 cp .env.example .env \u0026\u0026 bun install \u0026\u0026 npx --yes copilotkit@latest login \u0026\u0026 npx --yes copilotkit@latest project select \u0026\u0026 bun openbot/scripts/setup-learning.ts \u0026\u0026 bash scripts/start.sh"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/openduet"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Tawkit, Inc. (d/b/a CopilotKit)",
        "domain": "copilotkit.ai",
        "domainRegistered": "2023-09-28",
        "endpointOnVendorDomain": null,
        "terms": "https://raw.githubusercontent.com/CopilotKit/OpenDuet/main/LICENSE",
        "privacy": "https://www.copilotkit.ai/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/CopilotKit/OpenDuet/blob/main/openbot/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The MIT licence reads Copyright (c) 2026 CopilotKit. CopilotKit's terms of service and privacy policy (effective 27 August 2026) name Tawkit, Inc., doing business as CopilotKit, governed by Delaware law. The Self-Service Agreement covers CopilotKit Intelligence, which OpenDuet requires.",
          "firstReleased is 2026-10-27, the date of CopilotKit's announcement post. The repository was created on 21 October 2026, but pull request #71 of 26 October ('remove internal material before OpenDuet goes public') shows it was not public before then, and there is no release or tag.",
          "The changelog is OpenBot's, vendored in `openbot/CHANGELOG.md`, with undated version sections from 0.0.1 to 0.2.0 and an Unreleased section. OpenDuet has no changelog of its own.",
          "https://www.copilotkit.ai/.well-known/security.txt answers 200 with the site's HTML, so no security.txt exists. Neither OpenDuet nor OpenBot has a SECURITY.md; CopilotKit's main repository has one naming security@copilotkit.ai.",
          "status.copilotkit.ai shows 'Copilot Cloud - API' and 'Web App' with 90-day uptime bars; it was not established that it covers Intelligence, and OpenDuet itself runs on the owner's machine.",
          "RDAP (Identity Digital) gives copilotkit.ai a registration date of 2023-09-28."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openduet.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "NanoCo, Inc.",
        "b": "CopilotKit (Tawkit, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-09",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-27",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "31k stars",
        "b": "1.6k stars",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "NanoClaw scores 68.6 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, NanoClaw or OpenDuet?"
      },
      {
        "answer": "Yes. NanoClaw is open source (MIT). OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement).",
        "question": "Are NanoClaw and OpenDuet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 78 against 42",
          "Schema \u0026 documentation, 82 against 58",
          "Agent ergonomics, 70 against 52",
          "Security \u0026 auth, 74 against 59",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 78 against 37"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.",
        "slug": "nanoclaw",
        "watchFor": "The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where NanoClaw loses 5 points for them"
        ],
        "goodFor": "A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.",
        "slug": "openduet",
        "watchFor": "No release, tag, published image or deploy guide; the README marks it early development"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Proactive personal assistants"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-nanoclaw.json",
        "title": "asaply vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-openduet.json",
        "title": "asaply vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-nanoclaw.json",
        "title": "Asmi vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-openduet.json",
        "title": "Asmi vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-nanoclaw.json",
        "title": "Boba vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/boba-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-openduet.json",
        "title": "Boba vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/boba-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-nanoclaw.json",
        "title": "Brea vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/brea-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-openduet.json",
        "title": "Brea vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/brea-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-nanoclaw.json",
        "title": "Del vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/del-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-openduet.json",
        "title": "Del vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/del-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-nanoclaw.json",
        "title": "HireAlpha vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-openduet.json",
        "title": "HireAlpha vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openinstinct.json",
        "title": "NanoClaw vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-orbits.json",
        "title": "NanoClaw vs Orbits",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-orchid-ai.json",
        "title": "NanoClaw vs Orchid",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-szn.json",
        "title": "NanoClaw vs szn",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-tab-bot.json",
        "title": "NanoClaw vs Tab",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-zapia.json",
        "title": "NanoClaw vs Zapia",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-openinstinct.json",
        "title": "OpenDuet vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-orbits.json",
        "title": "OpenDuet vs Orbits",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-orchid-ai.json",
        "title": "OpenDuet vs Orchid",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-szn.json",
        "title": "OpenDuet vs szn",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-tab-bot.json",
        "title": "OpenDuet vs Tab",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-zapia.json",
        "title": "OpenDuet vs Zapia",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-zapia"
      },
      {
        "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-openduet.json",
        "title": "AstrBot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-nanoclaw.json",
        "title": "Boski vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/boski-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-openduet.json",
        "title": "Boski vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/boski-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.json",
        "title": "Caddy vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet.json",
        "title": "Caddy vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Claude Duet vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "CowAgent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-nanoclaw.json",
        "title": "folk vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.json",
        "title": "folk vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.json",
        "title": "GAIA vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-openduet.json",
        "title": "GAIA vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.json",
        "title": "Gemini Spark vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.json",
        "title": "Gemini Spark vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw.json",
        "title": "Grok Bot vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-openduet.json",
        "title": "Grok Bot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-nanoclaw.json",
        "title": "Haven vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/haven-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-openduet.json",
        "title": "Haven vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/haven-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw.json",
        "title": "Hermes Agent vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.json",
        "title": "Hermes Agent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-nanoclaw.json",
        "title": "Instinct vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-openduet.json",
        "title": "Instinct vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw.json",
        "title": "IronClaw vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-openduet.json",
        "title": "IronClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw.json",
        "title": "Leon vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-openduet.json",
        "title": "Leon vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-nanoclaw.json",
        "title": "Lindy vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-openduet.json",
        "title": "Lindy vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "nanobot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.json",
        "title": "NanoClaw vs Dots",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw.json",
        "title": "NanoClaw vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw.json",
        "title": "NanoClaw vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke.json",
        "title": "NanoClaw vs Poke",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw.json",
        "title": "NanoClaw vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-tasker-ai.json",
        "title": "NanoClaw vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-town.json",
        "title": "NanoClaw vs Town",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw.json",
        "title": "NanoClaw vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-zo-computer.json",
        "title": "NanoClaw vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-openduet.json",
        "title": "Dots vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-openduet.json",
        "title": "OpenClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-picoclaw.json",
        "title": "OpenDuet vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-poke.json",
        "title": "OpenDuet vs Poke",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.json",
        "title": "OpenDuet vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-tasker-ai.json",
        "title": "OpenDuet vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-town.json",
        "title": "OpenDuet vs Town",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-zeroclaw.json",
        "title": "OpenDuet vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-zo-computer.json",
        "title": "OpenDuet vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-nanoclaw.json",
        "title": "Atticus vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-openduet.json",
        "title": "Atticus vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw.json",
        "title": "DeepTutor vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet.json",
        "title": "DeepTutor vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-nanoclaw.json",
        "title": "Hark Pro vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-openduet.json",
        "title": "Hark Pro vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.json",
        "title": "LearnHarness vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openduet.json",
        "title": "LearnHarness vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-talorys.json",
        "title": "NanoClaw vs Talorys",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-talorys.json",
        "title": "OpenDuet vs Talorys",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lobby-os-vs-nanoclaw.json",
        "title": "Lobby vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/lobby-os-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lobby-os-vs-openduet.json",
        "title": "Lobby vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/lobby-os-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-natura.json",
        "title": "NanoClaw vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-pally.json",
        "title": "NanoClaw vs Pally",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-tomo.json",
        "title": "NanoClaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-wajo.json",
        "title": "NanoClaw vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/natura-vs-openduet.json",
        "title": "Natura tinyNature vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/natura-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-pally.json",
        "title": "OpenDuet vs Pally",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-tomo.json",
        "title": "OpenDuet vs Tomo",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-wajo.json",
        "title": "OpenDuet vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-wajo"
      }
    ],
    "scores": [
      {
        "by": 36,
        "edge": "nanoclaw",
        "key": "reliability",
        "name": "Reliability",
        "nanoclaw": 78,
        "openduet": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "nanoclaw",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nanoclaw": 82,
        "openduet": 58,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "nanoclaw",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nanoclaw": 70,
        "openduet": 52,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "nanoclaw",
        "key": "security",
        "name": "Security \u0026 auth",
        "nanoclaw": 74,
        "openduet": 59,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "nanoclaw",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nanoclaw": 60,
        "openduet": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "nanoclaw",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nanoclaw": 78,
        "openduet": 37,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "nanoclaw",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nanoclaw": 69,
        "openduet": 68,
        "weight": 7
      }
    ],
    "summary": "NanoClaw scores 68.6 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in every scored category. Both do proactive personal assistants.",
    "tutorials": [],
    "verdicts": {
      "nanoclaw": "Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval.",
      "openduet": "Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet",
    "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.min.md"
  },
  "markdown": "NanoClaw scores 68.6 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in every scored category. Both do proactive personal assistants.\n\n- NanoClaw: grade B, 68.6/100, rank #235 of 1239. Markdown https://www.anchorterminal.com/tools/nanoclaw.md · JSON https://www.anchorterminal.com/api/v1/tools/nanoclaw.json\n- OpenDuet: grade D, 49.5/100, rank #962 of 1239. Markdown https://www.anchorterminal.com/tools/openduet.md · JSON https://www.anchorterminal.com/api/v1/tools/openduet.json\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 1196 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n\n## Which one, for what\n\n### NanoClaw (B)\n\nGood for: A technical owner who wants an assistant on their own machine, reachable from chat apps, with container isolation and scheduled tasks, and who is willing to keep a fork.\n\nAhead on:\n- Reliability, 78 against 42\n- Schema \u0026 documentation, 82 against 58\n- Agent ergonomics, 70 against 52\n- Security \u0026 auth, 74 against 59\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 78 against 37\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: The Claude provider runs with `permissionMode: 'bypassPermissions'`, so shell, file and web tools run inside the container with no prompt\n\n### OpenDuet (D)\n\nGood for: A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.\n\nAlso in its favour:\n- No incidents deducted, where NanoClaw loses 5 points for them\n\nWatch for: No release, tag, published image or deploy guide; the README marks it early development\n\n\n## Score by category\n\n| Category | Weight | NanoClaw | OpenDuet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 42 | NanoClaw +36 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 82 | 58 | NanoClaw +24 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 52 | NanoClaw +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 74 | 59 | NanoClaw +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | NanoClaw +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 37 | NanoClaw +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 68 | NanoClaw +1 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **68.6 · B** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | NanoClaw | OpenDuet |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | NanoCo, Inc. | CopilotKit (Tawkit, Inc.) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-09 | none |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | 2026-08-27 |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 31k stars | 1.6k stars |\n| Agent reviews | 3/5 (4) | none |\n\n## Verdicts\n\n**NanoClaw.** Each session runs in an unprivileged Docker container and API keys stay in a credential gateway on the host, so a manipulated agent cannot read them. Inside the container the agent runs with permission prompts off, network egress is open by default, and it can message any chat it is wired to without approval.\n\n**OpenDuet.** Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking.\n\n## Before you call either\n\n### NanoClaw\n\n1. Install with `git clone` and `bash nanoclaw.sh`. There is no registry package, and setup needs Docker, Node 22 or later and a Claude or Codex credential\n2. Set `NANOCLAW_EGRESS_LOCKDOWN=true` before giving an agent credentials or an audience of strangers. The default leaves egress open\n3. Put chats with different audiences in separate agent groups. Every session of a group shares one read-write workspace and memory tree\n4. Turn on per-request approval for a secret in the gateway when its use should wait for a person. It is off unless configured\n5. On OneCLI installs, move the gateway to 1.42.0 by the upgrade guide before updating to 2026.10.0. The updater stops until that is done\n\n### OpenDuet\n\n1. Follow the README's Quick start (`bun install`, `bash scripts/start.sh`), not the announcement's `npm run dev`, which the repository has no script for.\n2. Run `bun openbot/scripts/setup-learning.ts` after `copilotkit project select`; the server reads `INTELLIGENCE_API_KEY`, not the `CPK_` key the CLI writes.\n3. Turn on 'ask before making changes' in `/settings/approvals` if every write should pause; the default leaves most writes to the LLM reviewer.\n4. To bring your own agent, register it as a `remote-ag-ui` Bot in `agents.yaml`; its tool calls still pass through the gateway's policy and audit.\n5. Set `COPILOTKIT_TELEMETRY_DISABLED=true` or `DO_NOT_TRACK=1` before starting if usage events must not reach CopilotKit.\n\n## Questions\n\n### Which is better for AI agents, NanoClaw or OpenDuet?\n\nNanoClaw scores 68.6 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in every scored category.\n\n### Are NanoClaw and OpenDuet open source?\n\nYes. NanoClaw is open source (MIT). OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nanoclaw\", \"b\": \"openduet\"}`. From a terminal: `anchor compare nanoclaw openduet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nanoclaw.json and https://www.anchorterminal.com/api/v1/tools/openduet.json\n\n## Other comparisons with NanoClaw or OpenDuet\n\n- [asaply vs NanoClaw](https://www.anchorterminal.com/compare/asaply-vs-nanoclaw.md)\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [Asmi vs NanoClaw](https://www.anchorterminal.com/compare/asmi-vs-nanoclaw.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.md)\n- [Boba vs NanoClaw](https://www.anchorterminal.com/compare/boba-vs-nanoclaw.md)\n- [Boba vs OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Brea vs NanoClaw](https://www.anchorterminal.com/compare/brea-vs-nanoclaw.md)\n- [Brea vs OpenDuet](https://www.anchorterminal.com/compare/brea-vs-openduet.md)\n- [Del vs NanoClaw](https://www.anchorterminal.com/compare/del-vs-nanoclaw.md)\n- [Del vs OpenDuet](https://www.anchorterminal.com/compare/del-vs-openduet.md)\n- [HireAlpha vs NanoClaw](https://www.anchorterminal.com/compare/hirealpha-vs-nanoclaw.md)\n- [HireAlpha vs OpenDuet](https://www.anchorterminal.com/compare/hirealpha-vs-openduet.md)\n- [NanoClaw vs OpenInstinct](https://www.anchorterminal.com/compare/nanoclaw-vs-openinstinct.md)\n- [NanoClaw vs Orbits](https://www.anchorterminal.com/compare/nanoclaw-vs-orbits.md)\n- [NanoClaw vs Orchid](https://www.anchorterminal.com/compare/nanoclaw-vs-orchid-ai.md)\n- [NanoClaw vs szn](https://www.anchorterminal.com/compare/nanoclaw-vs-szn.md)\n- [NanoClaw vs Tab](https://www.anchorterminal.com/compare/nanoclaw-vs-tab-bot.md)\n- [NanoClaw vs Zapia](https://www.anchorterminal.com/compare/nanoclaw-vs-zapia.md)\n- [OpenDuet vs OpenInstinct](https://www.anchorterminal.com/compare/openduet-vs-openinstinct.md)\n- [OpenDuet vs Orbits](https://www.anchorterminal.com/compare/openduet-vs-orbits.md)\n- [OpenDuet vs Orchid](https://www.anchorterminal.com/compare/openduet-vs-orchid-ai.md)\n- [OpenDuet vs szn](https://www.anchorterminal.com/compare/openduet-vs-szn.md)\n- [OpenDuet vs Tab](https://www.anchorterminal.com/compare/openduet-vs-tab-bot.md)\n- [OpenDuet vs Zapia](https://www.anchorterminal.com/compare/openduet-vs-zapia.md)\n- [AstrBot vs NanoClaw](https://www.anchorterminal.com/compare/astrbot-vs-nanoclaw.md)\n- [AstrBot vs OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [Boski vs NanoClaw](https://www.anchorterminal.com/compare/boski-vs-nanoclaw.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Caddy vs NanoClaw](https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Claude Duet vs NanoClaw](https://www.anchorterminal.com/compare/claude-duet-vs-nanoclaw.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [CowAgent vs NanoClaw](https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw.md)\n- [CowAgent vs OpenDuet](https://www.anchorterminal.com/compare/cowagent-vs-openduet.md)\n- [folk vs NanoClaw](https://www.anchorterminal.com/compare/folk-nozomio-vs-nanoclaw.md)\n- [folk vs OpenDuet](https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.md)\n- [GAIA vs NanoClaw](https://www.anchorterminal.com/compare/gaia-vs-nanoclaw.md)\n- [GAIA vs OpenDuet](https://www.anchorterminal.com/compare/gaia-vs-openduet.md)\n- [Gemini Spark vs NanoClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.md)\n- [Gemini Spark vs OpenDuet](https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.md)\n- [Grok Bot vs NanoClaw](https://www.anchorterminal.com/compare/grok-bot-vs-nanoclaw.md)\n- [Grok Bot vs OpenDuet](https://www.anchorterminal.com/compare/grok-bot-vs-openduet.md)\n- [Haven vs NanoClaw](https://www.anchorterminal.com/compare/haven-vs-nanoclaw.md)\n- [Haven vs OpenDuet](https://www.anchorterminal.com/compare/haven-vs-openduet.md)\n- [Hermes Agent vs NanoClaw](https://www.anchorterminal.com/compare/hermes-agent-vs-nanoclaw.md)\n- [Hermes Agent vs OpenDuet](https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.md)\n- [Instinct vs NanoClaw](https://www.anchorterminal.com/compare/instinct-vs-nanoclaw.md)\n- [Instinct vs OpenDuet](https://www.anchorterminal.com/compare/instinct-vs-openduet.md)\n- [IronClaw vs NanoClaw](https://www.anchorterminal.com/compare/ironclaw-vs-nanoclaw.md)\n- [IronClaw vs OpenDuet](https://www.anchorterminal.com/compare/ironclaw-vs-openduet.md)\n- [Leon vs NanoClaw](https://www.anchorterminal.com/compare/leon-vs-nanoclaw.md)\n- [Leon vs OpenDuet](https://www.anchorterminal.com/compare/leon-vs-openduet.md)\n- [Lindy vs NanoClaw](https://www.anchorterminal.com/compare/lindy-vs-nanoclaw.md)\n- [Lindy vs OpenDuet](https://www.anchorterminal.com/compare/lindy-vs-openduet.md)\n- [nanobot vs NanoClaw](https://www.anchorterminal.com/compare/nanobot-vs-nanoclaw.md)\n- [nanobot vs OpenDuet](https://www.anchorterminal.com/compare/nanobot-vs-openduet.md)\n- [NanoClaw vs Dots](https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.md)\n- [NanoClaw vs OpenClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-openclaw.md)\n- [NanoClaw vs PicoClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-picoclaw.md)\n- [NanoClaw vs Poke](https://www.anchorterminal.com/compare/nanoclaw-vs-poke.md)\n- [NanoClaw vs QwenPaw](https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw.md)\n- [NanoClaw vs Tasker AI](https://www.anchorterminal.com/compare/nanoclaw-vs-tasker-ai.md)\n- [NanoClaw vs Town](https://www.anchorterminal.com/compare/nanoclaw-vs-town.md)\n- [NanoClaw vs ZeroClaw](https://www.anchorterminal.com/compare/nanoclaw-vs-zeroclaw.md)\n- [NanoClaw vs Zo Computer](https://www.anchorterminal.com/compare/nanoclaw-vs-zo-computer.md)\n- [Dots vs OpenDuet](https://www.anchorterminal.com/compare/openai-dots-vs-openduet.md)\n- [OpenClaw vs OpenDuet](https://www.anchorterminal.com/compare/openclaw-vs-openduet.md)\n- [OpenDuet vs PicoClaw](https://www.anchorterminal.com/compare/openduet-vs-picoclaw.md)\n- [OpenDuet vs Poke](https://www.anchorterminal.com/compare/openduet-vs-poke.md)\n- [OpenDuet vs QwenPaw](https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.md)\n- [OpenDuet vs Tasker AI](https://www.anchorterminal.com/compare/openduet-vs-tasker-ai.md)\n- [OpenDuet vs Town](https://www.anchorterminal.com/compare/openduet-vs-town.md)\n- [OpenDuet vs ZeroClaw](https://www.anchorterminal.com/compare/openduet-vs-zeroclaw.md)\n- [OpenDuet vs Zo Computer](https://www.anchorterminal.com/compare/openduet-vs-zo-computer.md)\n- [Atticus vs NanoClaw](https://www.anchorterminal.com/compare/atticus-vs-nanoclaw.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.md)\n- [DeepTutor vs NanoClaw](https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw.md)\n- [DeepTutor vs OpenDuet](https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md)\n- [Hark Pro vs NanoClaw](https://www.anchorterminal.com/compare/hark-pro-vs-nanoclaw.md)\n- [Hark Pro vs OpenDuet](https://www.anchorterminal.com/compare/hark-pro-vs-openduet.md)\n- [LearnHarness vs NanoClaw](https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.md)\n- [LearnHarness vs OpenDuet](https://www.anchorterminal.com/compare/learnharness-vs-openduet.md)\n- [NanoClaw vs Talorys](https://www.anchorterminal.com/compare/nanoclaw-vs-talorys.md)\n- [OpenDuet vs Talorys](https://www.anchorterminal.com/compare/openduet-vs-talorys.md)\n- [Lobby vs NanoClaw](https://www.anchorterminal.com/compare/lobby-os-vs-nanoclaw.md)\n- [Lobby vs OpenDuet](https://www.anchorterminal.com/compare/lobby-os-vs-openduet.md)\n- [NanoClaw vs Natura tinyNature](https://www.anchorterminal.com/compare/nanoclaw-vs-natura.md)\n- [NanoClaw vs Pally](https://www.anchorterminal.com/compare/nanoclaw-vs-pally.md)\n- [NanoClaw vs Tomo](https://www.anchorterminal.com/compare/nanoclaw-vs-tomo.md)\n- [NanoClaw vs Wajo (Fo)](https://www.anchorterminal.com/compare/nanoclaw-vs-wajo.md)\n- [Natura tinyNature vs OpenDuet](https://www.anchorterminal.com/compare/natura-vs-openduet.md)\n- [OpenDuet vs Pally](https://www.anchorterminal.com/compare/openduet-vs-pally.md)\n- [OpenDuet vs Tomo](https://www.anchorterminal.com/compare/openduet-vs-tomo.md)\n- [OpenDuet vs Wajo (Fo)](https://www.anchorterminal.com/compare/openduet-vs-wajo.md)\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-31",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "NanoClaw vs OpenDuet",
        "url": ""
      }
    ],
    "description": "NanoClaw scores 68.6 (B) to OpenDuet's 49.5 (D) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "NanoClaw B 68.6",
      "OpenDuet D 49.5",
      "scores"
    ],
    "h1": "NanoClaw vs OpenDuet",
    "image": "https://www.anchorterminal.com/assets/og/compare-nanoclaw-vs-openduet.png",
    "path": "/compare/nanoclaw-vs-openduet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "NanoClaw vs OpenDuet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 680
  },
  "version": 1
}
