{
  "data": {
    "a": {
      "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"
    },
    "answer": "QwenPaw scores 62.4 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 6 of 7 scored categories. OpenDuet leads on transparency \u0026 trust.",
    "b": {
      "slug": "qwenpaw",
      "name": "QwenPaw",
      "vendor": "AgentScope",
      "vendorUrl": "https://qwenpaw.agentscope.io",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "Open-source personal assistant from the AgentScope team that the owner runs on their own machine or server. It answers on chat apps, runs scheduled and proactive tasks, manages a mailbox over IMAP and SMTP, and keeps memory as Markdown files.",
      "url": "https://www.anchorterminal.com/tools/qwenpaw",
      "markdownUrl": "https://www.anchorterminal.com/tools/qwenpaw.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/qwenpaw.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/qwenpaw.json",
      "repo": "https://github.com/agentscope-ai/QwenPaw",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "qwenpaw"
        },
        {
          "registry": "oci",
          "name": "agentscope/qwenpaw"
        }
      ],
      "auth": "none",
      "authNotes": "No account. The Console and API bind to 127.0.0.1:8088 with login off by default. `QWENPAW_AUTH_ENABLED=true` adds one admin account with a salted SHA-256 password hash and a signed token valid for seven days, and requests from localhost skip it. Each channel takes its own bot credentials, and the mailbox takes an IMAP and SMTP authorisation code or app password.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0 with nothing to buy. Model usage is billed by whichever provider the owner configures, and local models through llama.cpp, Ollama or LM Studio need no key. The README describes a hosted deployment on AgentScope Platform as free. That platform's pages are script-drawn and its terms and limits were not read (checked 2026-10-12).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs source or the dependency list (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 35621,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://qwenpaw.agentscope.io/docs",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "docker",
        "desktop-app",
        "mcp",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.4,
        "grade": "B",
        "agentReady": false,
        "rank": 506,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 73,
          "payments": 60,
          "reliability": 70,
          "schema": 68,
          "security": 60,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-11. Version 2.2.1 began enforcing each MCP server's tool allowlist on the agent runtime path (commit f2a292d of 4 September, #7504). Before it, a tool the owner had disabled on an MCP client could still be invoked by the agent. Fixed and listed in the release notes, with no security advisory, -2. https://github.com/agentscope-ai/QwenPaw/pull/7504",
          "2026-09-03. Version 2.2.0 blocked shell line-continuation variants that bypassed sensitive-path protections (#7472). Fixed and listed in the release notes, with no security advisory, -1. https://github.com/agentscope-ai/QwenPaw/blob/main/website/public/release-notes/v2.2.0.md"
        ],
        "verdict": "Mail tools ask for approval by default, automatic mail handling may not delete permanently, and the security docs list what each sandbox backend fails to enforce. Usage data is sent by default, the default approval level passes every tool call no rule flags, and no privacy policy or security advisory is published.",
        "bestFor": "One person who wants an assistant on Chinese and Western chat apps with scheduled digests, a consumer mailbox and file-based memory, on their own machine and with a model of their choice.",
        "strengths": [
          "New mail driver cards default to the `ask` policy, and automatic mail handling may not call `delete_message` or write to unknown recipients",
          "Kernel sandbox on macOS, Linux and Windows, with a documented list of constraints each backend does not enforce",
          "Model keys, mail credentials and environment secrets are encrypted with a master key held in the OS keychain or a 0600 file",
          "Memory is plain Markdown in the agent workspace that the owner can read, edit and remove",
          "Four stable releases in the 90 days to 12 October 2026, each with dated release notes"
        ],
        "weaknesses": [
          "Usage data is on by default, `qwenpaw init --defaults` accepts it without a prompt, and the opt-out variable is absent from the README and docs",
          "The default approval level AUTO asks only for tool calls a guard rule flags, and `/proactive` skips approval prompts entirely",
          "Channel direct-message and group policies default to `open`, and Console login is off by default",
          "No privacy policy, terms of service or security.txt on qwenpaw.agentscope.io, and no published GitHub security advisory",
          "Inside containers the sandbox falls back to `mode=none`, which the docs say enforces no isolation",
          "671 open issues and 381 open pull requests on 12 October 2026, and the Tests workflow on main had not completed a run since 30 September"
        ],
        "agentNotes": [
          "Set `QWENPAW_TELEMETRY_DISABLED=true` before `qwenpaw init --defaults` or `qwenpaw app`. Both send usage data without asking",
          "Set `approval_level` to `STRICT` or `SMART` in `agent.json`. The default `AUTO` runs every tool call no guard rule flags",
          "Set `dm_policy` and `group_policy` to `allowlist` with `allow_from` on each channel. Both default to `open`",
          "Set `QWENPAW_AUTH_ENABLED=true` before binding beyond 127.0.0.1. Requests from localhost skip login even then",
          "Keep mail tools on `ask` for `send_message`, `delete_message` and `delete_thread`, and turn on Mail Access Control with automatic handling"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 73,
          "payments": 60,
          "reliability": 70,
          "schema": 68,
          "security": 60,
          "transparency": 58
        },
        "provenanceScore": 58,
        "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": "pip install qwenpaw \u0026\u0026 qwenpaw init --defaults \u0026\u0026 qwenpaw app   # Python 3.11 to 3.13; or: docker pull agentscope/qwenpaw:latest",
        "http": "curl -X POST http://localhost:8088/api/console/chat -H \"Content-Type: application/json\" -H \"X-Agent-Id: default\" -d '{\"input\": [...]}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/qwenpaw"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Qwenpaw PRIVATE LIMITED",
        "domain": "agentscope.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://qwenpaw.agentscope.io/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The site footer in the repository's website source reads © 2026 Qwenpaw PRIVATE LIMITED. The LICENSE file names The QwenPaw Authors, and the README credits the AgentScope team.",
          "SECURITY.md sends vulnerability reports to the Alibaba Security Response Centre. We found no other first-hand statement of ownership by Alibaba.",
          "The site links a Usage Policy dated 26 August 2026 and no terms of service or privacy policy, so both links are left out and the Apache-2.0 licence stands in.",
          "qwenpaw.agentscope.io answered 404 for robots.txt, llms.txt and /.well-known/security.txt on 12 October 2026.",
          "No hosted endpoint is graded. A self-hosted instance answers on its owner's own host. We did not look up the domain's registration date."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/qwenpaw.json",
      "live": {
        "slug": "qwenpaw",
        "versions": [
          {
            "registry": "github",
            "name": "agentscope-ai/QwenPaw",
            "version": "v2.2.2.post1",
            "released": "2026-10-22",
            "seenAt": "2026-10-30T14:40:30.202481312Z"
          },
          {
            "registry": "pypi",
            "name": "qwenpaw",
            "version": "2.2.2.post1",
            "released": "2026-10-22",
            "seenAt": "2026-10-30T14:40:28.201920797Z"
          }
        ],
        "githubStars": 37005,
        "pypiWeekly": 6002,
        "securityTxt": {
          "url": "https://agentscope.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:38:17.243013426Z"
        },
        "domain": {
          "domain": "agentscope.io",
          "checkedAt": "2026-10-25T14:05:08.651487695Z"
        },
        "pages": [
          {
            "url": "https://qwenpaw.agentscope.io/release-notes",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-30T05:46:52.099856896Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "github": {
          "repo": "agentscope-ai/qwenpaw",
          "checkedAt": "2026-10-26T07:08:22.236751997Z",
          "stars": 36257,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T06:27:59Z",
          "openIssues": 716,
          "openPRs": 426,
          "issuesOpened90d": 778,
          "issuesClosed90d": 687,
          "prsMerged90d": 664,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 48,
            "failure": 0,
            "other": 2,
            "latest": "success",
            "latestAt": "2026-10-26T06:42:16Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 15,
            "medianDays": 0
          }
        },
        "updatedAt": "2026-10-30T15:38:17.243013426Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "CopilotKit (Tawkit, Inc.)",
        "b": "AgentScope",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-09-11",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-27",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.6k stars",
        "b": "36k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "QwenPaw scores 62.4 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 6 of 7 scored categories. OpenDuet leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, OpenDuet or QwenPaw?"
      },
      {
        "answer": "Yes. OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement). QwenPaw is open source (Apache-2.0).",
        "question": "Are OpenDuet and QwenPaw open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 68 against 58"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where QwenPaw loses 3 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"
      },
      {
        "aheadOn": [
          "Reliability, 70 against 42",
          "Schema \u0026 documentation, 68 against 58",
          "Agent ergonomics, 67 against 52",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 73 against 37"
        ],
        "also": [
          "No key needed to call it",
          "Runs on your own machine"
        ],
        "goodFor": "One person who wants an assistant on Chinese and Western chat apps with scheduled digests, a consumer mailbox and file-based memory, on their own machine and with a model of their choice.",
        "slug": "qwenpaw",
        "watchFor": "Usage data is on by default, `qwenpaw init --defaults` accepts it without a prompt, and the opt-out variable is absent from the README and docs"
      }
    ],
    "job": {
      "capability": "assistant.proactive",
      "name": "Proactive personal assistants"
    },
    "others": [
      {
        "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/asaply-vs-qwenpaw.json",
        "title": "asaply vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-qwenpaw"
      },
      {
        "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/asmi-vs-qwenpaw.json",
        "title": "Asmi vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-qwenpaw"
      },
      {
        "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/boba-vs-qwenpaw.json",
        "title": "Boba vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/boba-vs-qwenpaw"
      },
      {
        "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/brea-vs-qwenpaw.json",
        "title": "Brea vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/brea-vs-qwenpaw"
      },
      {
        "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/del-vs-qwenpaw.json",
        "title": "Del vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/del-vs-qwenpaw"
      },
      {
        "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/hirealpha-vs-qwenpaw.json",
        "title": "HireAlpha vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-qwenpaw"
      },
      {
        "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/openinstinct-vs-qwenpaw.json",
        "title": "OpenInstinct vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openinstinct-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orbits-vs-qwenpaw.json",
        "title": "Orbits vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/orbits-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orchid-ai-vs-qwenpaw.json",
        "title": "Orchid vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/orchid-ai-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-szn.json",
        "title": "QwenPaw vs szn",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-tab-bot.json",
        "title": "QwenPaw vs Tab",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-zapia.json",
        "title": "QwenPaw vs Zapia",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-zapia"
      },
      {
        "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/astrbot-vs-qwenpaw.json",
        "title": "AstrBot vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-qwenpaw"
      },
      {
        "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/boski-vs-qwenpaw.json",
        "title": "Boski vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/boski-vs-qwenpaw"
      },
      {
        "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/caddy-app-vs-qwenpaw.json",
        "title": "Caddy vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw"
      },
      {
        "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/claude-duet-vs-qwenpaw.json",
        "title": "Claude Duet vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openduet.json",
        "title": "CowAgent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
      },
      {
        "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/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/folk-nozomio-vs-qwenpaw.json",
        "title": "folk vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-qwenpaw"
      },
      {
        "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/gaia-vs-qwenpaw.json",
        "title": "GAIA vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-qwenpaw"
      },
      {
        "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/gemini-spark-vs-qwenpaw.json",
        "title": "Gemini Spark vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-qwenpaw"
      },
      {
        "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/grok-bot-vs-qwenpaw.json",
        "title": "Grok Bot vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-qwenpaw"
      },
      {
        "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/haven-vs-qwenpaw.json",
        "title": "Haven vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/haven-vs-qwenpaw"
      },
      {
        "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/hermes-agent-vs-qwenpaw.json",
        "title": "Hermes Agent vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-qwenpaw"
      },
      {
        "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/instinct-vs-qwenpaw.json",
        "title": "Instinct vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-qwenpaw"
      },
      {
        "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/ironclaw-vs-qwenpaw.json",
        "title": "IronClaw vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-qwenpaw"
      },
      {
        "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/leon-vs-qwenpaw.json",
        "title": "Leon vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/leon-vs-qwenpaw"
      },
      {
        "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/lindy-vs-qwenpaw.json",
        "title": "Lindy vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-qwenpaw"
      },
      {
        "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/nanobot-vs-qwenpaw.json",
        "title": "nanobot vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.json",
        "title": "NanoClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet"
      },
      {
        "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/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/openai-dots-vs-qwenpaw.json",
        "title": "Dots vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-qwenpaw"
      },
      {
        "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/openclaw-vs-qwenpaw.json",
        "title": "OpenClaw vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-qwenpaw"
      },
      {
        "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-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/picoclaw-vs-qwenpaw.json",
        "title": "PicoClaw vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/picoclaw-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw.json",
        "title": "Poke vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/poke-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-tasker-ai.json",
        "title": "QwenPaw vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-town.json",
        "title": "QwenPaw vs Town",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-zeroclaw.json",
        "title": "QwenPaw vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-zo-computer.json",
        "title": "QwenPaw vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-zo-computer"
      },
      {
        "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/atticus-vs-qwenpaw.json",
        "title": "Atticus vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-qwenpaw"
      },
      {
        "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/deeptutor-vs-qwenpaw.json",
        "title": "DeepTutor vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-qwenpaw"
      },
      {
        "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/hark-pro-vs-qwenpaw.json",
        "title": "Hark Pro vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-qwenpaw"
      },
      {
        "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/learnharness-vs-qwenpaw.json",
        "title": "LearnHarness vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw"
      },
      {
        "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/qwenpaw-vs-talorys.json",
        "title": "QwenPaw vs Talorys",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-talorys"
      },
      {
        "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/lobby-os-vs-qwenpaw.json",
        "title": "Lobby vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/lobby-os-vs-qwenpaw"
      },
      {
        "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/natura-vs-qwenpaw.json",
        "title": "Natura tinyNature vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/natura-vs-qwenpaw"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pally-vs-qwenpaw.json",
        "title": "Pally vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/pally-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-tomo.json",
        "title": "QwenPaw vs Tomo",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-wajo.json",
        "title": "QwenPaw vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-wajo"
      }
    ],
    "scores": [
      {
        "by": 28,
        "edge": "qwenpaw",
        "key": "reliability",
        "name": "Reliability",
        "openduet": 42,
        "qwenpaw": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "qwenpaw",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openduet": 58,
        "qwenpaw": 68,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "qwenpaw",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openduet": 52,
        "qwenpaw": 67,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "qwenpaw",
        "key": "security",
        "name": "Security \u0026 auth",
        "openduet": 59,
        "qwenpaw": 60,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "qwenpaw",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openduet": 30,
        "qwenpaw": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "edge": "qwenpaw",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openduet": 37,
        "qwenpaw": 73,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "openduet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openduet": 68,
        "qwenpaw": 58,
        "weight": 7
      }
    ],
    "summary": "QwenPaw scores 62.4 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 6 of 7 scored categories. OpenDuet leads on transparency \u0026 trust. Both do proactive personal assistants.",
    "tutorials": [],
    "verdicts": {
      "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.",
      "qwenpaw": "Mail tools ask for approval by default, automatic mail handling may not delete permanently, and the security docs list what each sandbox backend fails to enforce. Usage data is sent by default, the default approval level passes every tool call no rule flags, and no privacy policy or security advisory is published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw",
    "json": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.min.md"
  },
  "markdown": "QwenPaw scores 62.4 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 6 of 7 scored categories. OpenDuet leads on transparency \u0026 trust. Both do proactive personal assistants.\n\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- QwenPaw: grade B, 62.4/100, rank #506 of 1239. Markdown https://www.anchorterminal.com/tools/qwenpaw.md · JSON https://www.anchorterminal.com/api/v1/tools/qwenpaw.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### 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\nAhead on:\n- Transparency \u0026 trust, 68 against 58\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where QwenPaw loses 3 points for them\n\nWatch for: No release, tag, published image or deploy guide; the README marks it early development\n\n### QwenPaw (B)\n\nGood for: One person who wants an assistant on Chinese and Western chat apps with scheduled digests, a consumer mailbox and file-based memory, on their own machine and with a model of their choice.\n\nAhead on:\n- Reliability, 70 against 42\n- Schema \u0026 documentation, 68 against 58\n- Agent ergonomics, 67 against 52\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 73 against 37\n\nAlso in its favour:\n- No key needed to call it\n- Runs on your own machine\n\nWatch for: Usage data is on by default, `qwenpaw init --defaults` accepts it without a prompt, and the opt-out variable is absent from the README and docs\n\n\n## Score by category\n\n| Category | Weight | OpenDuet | QwenPaw | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 70 | QwenPaw +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 68 | QwenPaw +10 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 67 | QwenPaw +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 60 | QwenPaw +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 60 | QwenPaw +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 37 | 73 | QwenPaw +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 58 | OpenDuet +10 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **49.5 · D** | **62.4 · B** | |\n\n## Facts side by side\n\n| Fact | OpenDuet | QwenPaw |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | CopilotKit (Tawkit, Inc.) | AgentScope |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP, stdio |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | none | 2026-09-11 |\n| Terms last updated | couldn't be read | no document linked |\n| Privacy policy last updated | 2026-08-27 | no document linked |\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 | 1.6k stars | 36k stars |\n| Agent reviews | none | 2.8/5 (4) |\n\n## Verdicts\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**QwenPaw.** Mail tools ask for approval by default, automatic mail handling may not delete permanently, and the security docs list what each sandbox backend fails to enforce. Usage data is sent by default, the default approval level passes every tool call no rule flags, and no privacy policy or security advisory is published.\n\n## Before you call either\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### QwenPaw\n\n1. Set `QWENPAW_TELEMETRY_DISABLED=true` before `qwenpaw init --defaults` or `qwenpaw app`. Both send usage data without asking\n2. Set `approval_level` to `STRICT` or `SMART` in `agent.json`. The default `AUTO` runs every tool call no guard rule flags\n3. Set `dm_policy` and `group_policy` to `allowlist` with `allow_from` on each channel. Both default to `open`\n4. Set `QWENPAW_AUTH_ENABLED=true` before binding beyond 127.0.0.1. Requests from localhost skip login even then\n5. Keep mail tools on `ask` for `send_message`, `delete_message` and `delete_thread`, and turn on Mail Access Control with automatic handling\n\n## Questions\n\n### Which is better for AI agents, OpenDuet or QwenPaw?\n\nQwenPaw scores 62.4 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 6 of 7 scored categories. OpenDuet leads on transparency \u0026 trust.\n\n### Are OpenDuet and QwenPaw open source?\n\nYes. OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement). QwenPaw is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openduet\", \"b\": \"qwenpaw\"}`. From a terminal: `anchor compare openduet qwenpaw`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openduet.json and https://www.anchorterminal.com/api/v1/tools/qwenpaw.json\n\n## Other comparisons with OpenDuet or QwenPaw\n\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [asaply vs QwenPaw](https://www.anchorterminal.com/compare/asaply-vs-qwenpaw.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.md)\n- [Asmi vs QwenPaw](https://www.anchorterminal.com/compare/asmi-vs-qwenpaw.md)\n- [Boba vs OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Boba vs QwenPaw](https://www.anchorterminal.com/compare/boba-vs-qwenpaw.md)\n- [Brea vs OpenDuet](https://www.anchorterminal.com/compare/brea-vs-openduet.md)\n- [Brea vs QwenPaw](https://www.anchorterminal.com/compare/brea-vs-qwenpaw.md)\n- [Del vs OpenDuet](https://www.anchorterminal.com/compare/del-vs-openduet.md)\n- [Del vs QwenPaw](https://www.anchorterminal.com/compare/del-vs-qwenpaw.md)\n- [HireAlpha vs OpenDuet](https://www.anchorterminal.com/compare/hirealpha-vs-openduet.md)\n- [HireAlpha vs QwenPaw](https://www.anchorterminal.com/compare/hirealpha-vs-qwenpaw.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- [OpenInstinct vs QwenPaw](https://www.anchorterminal.com/compare/openinstinct-vs-qwenpaw.md)\n- [Orbits vs QwenPaw](https://www.anchorterminal.com/compare/orbits-vs-qwenpaw.md)\n- [Orchid vs QwenPaw](https://www.anchorterminal.com/compare/orchid-ai-vs-qwenpaw.md)\n- [QwenPaw vs szn](https://www.anchorterminal.com/compare/qwenpaw-vs-szn.md)\n- [QwenPaw vs Tab](https://www.anchorterminal.com/compare/qwenpaw-vs-tab-bot.md)\n- [QwenPaw vs Zapia](https://www.anchorterminal.com/compare/qwenpaw-vs-zapia.md)\n- [AstrBot vs OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [AstrBot vs QwenPaw](https://www.anchorterminal.com/compare/astrbot-vs-qwenpaw.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Boski vs QwenPaw](https://www.anchorterminal.com/compare/boski-vs-qwenpaw.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Caddy vs QwenPaw](https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [Claude Duet vs QwenPaw](https://www.anchorterminal.com/compare/claude-duet-vs-qwenpaw.md)\n- [CowAgent vs OpenDuet](https://www.anchorterminal.com/compare/cowagent-vs-openduet.md)\n- [CowAgent vs QwenPaw](https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw.md)\n- [folk vs OpenDuet](https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.md)\n- [folk vs QwenPaw](https://www.anchorterminal.com/compare/folk-nozomio-vs-qwenpaw.md)\n- [GAIA vs OpenDuet](https://www.anchorterminal.com/compare/gaia-vs-openduet.md)\n- [GAIA vs QwenPaw](https://www.anchorterminal.com/compare/gaia-vs-qwenpaw.md)\n- [Gemini Spark vs OpenDuet](https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.md)\n- [Gemini Spark vs QwenPaw](https://www.anchorterminal.com/compare/gemini-spark-vs-qwenpaw.md)\n- [Grok Bot vs OpenDuet](https://www.anchorterminal.com/compare/grok-bot-vs-openduet.md)\n- [Grok Bot vs QwenPaw](https://www.anchorterminal.com/compare/grok-bot-vs-qwenpaw.md)\n- [Haven vs OpenDuet](https://www.anchorterminal.com/compare/haven-vs-openduet.md)\n- [Haven vs QwenPaw](https://www.anchorterminal.com/compare/haven-vs-qwenpaw.md)\n- [Hermes Agent vs OpenDuet](https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.md)\n- [Hermes Agent vs QwenPaw](https://www.anchorterminal.com/compare/hermes-agent-vs-qwenpaw.md)\n- [Instinct vs OpenDuet](https://www.anchorterminal.com/compare/instinct-vs-openduet.md)\n- [Instinct vs QwenPaw](https://www.anchorterminal.com/compare/instinct-vs-qwenpaw.md)\n- [IronClaw vs OpenDuet](https://www.anchorterminal.com/compare/ironclaw-vs-openduet.md)\n- [IronClaw vs QwenPaw](https://www.anchorterminal.com/compare/ironclaw-vs-qwenpaw.md)\n- [Leon vs OpenDuet](https://www.anchorterminal.com/compare/leon-vs-openduet.md)\n- [Leon vs QwenPaw](https://www.anchorterminal.com/compare/leon-vs-qwenpaw.md)\n- [Lindy vs OpenDuet](https://www.anchorterminal.com/compare/lindy-vs-openduet.md)\n- [Lindy vs QwenPaw](https://www.anchorterminal.com/compare/lindy-vs-qwenpaw.md)\n- [nanobot vs OpenDuet](https://www.anchorterminal.com/compare/nanobot-vs-openduet.md)\n- [nanobot vs QwenPaw](https://www.anchorterminal.com/compare/nanobot-vs-qwenpaw.md)\n- [NanoClaw vs OpenDuet](https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.md)\n- [NanoClaw vs QwenPaw](https://www.anchorterminal.com/compare/nanoclaw-vs-qwenpaw.md)\n- [Dots vs OpenDuet](https://www.anchorterminal.com/compare/openai-dots-vs-openduet.md)\n- [Dots vs QwenPaw](https://www.anchorterminal.com/compare/openai-dots-vs-qwenpaw.md)\n- [OpenClaw vs OpenDuet](https://www.anchorterminal.com/compare/openclaw-vs-openduet.md)\n- [OpenClaw vs QwenPaw](https://www.anchorterminal.com/compare/openclaw-vs-qwenpaw.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 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- [PicoClaw vs QwenPaw](https://www.anchorterminal.com/compare/picoclaw-vs-qwenpaw.md)\n- [Poke vs QwenPaw](https://www.anchorterminal.com/compare/poke-vs-qwenpaw.md)\n- [QwenPaw vs Tasker AI](https://www.anchorterminal.com/compare/qwenpaw-vs-tasker-ai.md)\n- [QwenPaw vs Town](https://www.anchorterminal.com/compare/qwenpaw-vs-town.md)\n- [QwenPaw vs ZeroClaw](https://www.anchorterminal.com/compare/qwenpaw-vs-zeroclaw.md)\n- [QwenPaw vs Zo Computer](https://www.anchorterminal.com/compare/qwenpaw-vs-zo-computer.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.md)\n- [Atticus vs QwenPaw](https://www.anchorterminal.com/compare/atticus-vs-qwenpaw.md)\n- [DeepTutor vs OpenDuet](https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md)\n- [DeepTutor vs QwenPaw](https://www.anchorterminal.com/compare/deeptutor-vs-qwenpaw.md)\n- [Hark Pro vs OpenDuet](https://www.anchorterminal.com/compare/hark-pro-vs-openduet.md)\n- [Hark Pro vs QwenPaw](https://www.anchorterminal.com/compare/hark-pro-vs-qwenpaw.md)\n- [LearnHarness vs OpenDuet](https://www.anchorterminal.com/compare/learnharness-vs-openduet.md)\n- [LearnHarness vs QwenPaw](https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw.md)\n- [OpenDuet vs Talorys](https://www.anchorterminal.com/compare/openduet-vs-talorys.md)\n- [QwenPaw vs Talorys](https://www.anchorterminal.com/compare/qwenpaw-vs-talorys.md)\n- [Lobby vs OpenDuet](https://www.anchorterminal.com/compare/lobby-os-vs-openduet.md)\n- [Lobby vs QwenPaw](https://www.anchorterminal.com/compare/lobby-os-vs-qwenpaw.md)\n- [Natura tinyNature vs OpenDuet](https://www.anchorterminal.com/compare/natura-vs-openduet.md)\n- [Natura tinyNature vs QwenPaw](https://www.anchorterminal.com/compare/natura-vs-qwenpaw.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- [Pally vs QwenPaw](https://www.anchorterminal.com/compare/pally-vs-qwenpaw.md)\n- [QwenPaw vs Tomo](https://www.anchorterminal.com/compare/qwenpaw-vs-tomo.md)\n- [QwenPaw vs Wajo (Fo)](https://www.anchorterminal.com/compare/qwenpaw-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": "OpenDuet vs QwenPaw",
        "url": ""
      }
    ],
    "description": "QwenPaw scores 62.4 (B) to OpenDuet's 49.5 (D) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenDuet D 49.5",
      "QwenPaw B 62.4",
      "scores"
    ],
    "h1": "OpenDuet vs QwenPaw",
    "image": "https://www.anchorterminal.com/assets/og/compare-openduet-vs-qwenpaw.png",
    "path": "/compare/openduet-vs-qwenpaw",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenDuet vs QwenPaw for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 730
  },
  "version": 1
}
