{
  "data": {
    "a": {
      "slug": "cowagent",
      "name": "CowAgent",
      "vendor": "zhayujie",
      "vendorUrl": "https://cowagent.ai",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "CowAgent is an open-source AI assistant that its owner runs on a computer or server. It plans tasks, runs tools and skills, keeps long-term memory in local files and answers on a web console and messaging apps.",
      "url": "https://www.anchorterminal.com/tools/cowagent",
      "markdownUrl": "https://www.anchorterminal.com/tools/cowagent.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cowagent.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cowagent.json",
      "repo": "https://github.com/zhayujie/CowAgent",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "zhayujie/chatgpt-on-wechat"
        }
      ],
      "auth": "mixed",
      "authNotes": "No account. The web console listens on 127.0.0.1 with no password by default, and `web_password` adds a login whose session lasts 30 days. `external_api_token` is one Bearer token for the OpenAI-compatible endpoint, which stays off while the token is empty (https://docs.cowagent.ai/channels/web). Messaging channels use each platform's bot token or app secret in `config.json`. Model keys go in `config.json` or environment variables.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy to run it. The owner pays the configured model provider, or nothing with a local model behind an OpenAI-compatible endpoint. The README names LinkAI as a seller of managed hosting, and link-ai.tech did not answer on 12 October 2026, so its prices were not read.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 47400,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://docs.cowagent.ai/intro/index",
      "llmsTxt": "https://docs.cowagent.ai/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.memory",
        "assistant.self-hosted",
        "agent.mcp-client",
        "assistant.accounts"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "no-card",
        "llms-txt",
        "docker",
        "python",
        "openai-compatible"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 671,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 83,
          "payments": 60,
          "reliability": 84,
          "schema": 67,
          "security": 43,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-07-31. Issue #2998 reports that a member of a Feishu group asked the bot for local files and it sent the owner's documents into the group. This is the reporter's account and we did not reproduce it. We confirmed in the master source on 12 October 2026 that group channels accept every group, that full-access is the default and that the proposed sender gating is absent. Open and unfixed, -3. https://github.com/zhayujie/CowAgent/issues/2998",
          "2026-07-29. Version 2.1.5 fixed a chain in which injected content led the agent to rewrite the MCP config, run arbitrary commands and take keys, and fixed the `edit` tool reaching `~/.cow/.env`. Both are described in the release notes with no advisory. Fixed and documented, -2. https://docs.cowagent.ai/releases/v2.1.5"
        ],
        "verdict": "MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot.",
        "bestFor": "One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.",
        "strengths": [
          "Memory is plain Markdown under `~/cow` (`MEMORY.md`, `memory/YYYY-MM-DD.md`), readable and removable by the owner",
          "Three permission modes per session (read-only, workspace-write, full-access), with a global default in `agent_permission_mode`",
          "The web console binds to 127.0.0.1 by default, and the cloud client loads only when `use_linkai` and a deployment id are both set",
          "Seven tagged releases between 20 July and 30 September 2026, each with dated notes in the docs",
          "Tests run on Python 3.11 and 3.13 for every push to master, and the 15 newest master runs we saw passed on 12 October 2026"
        ],
        "weaknesses": [
          "Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call",
          "The permission checks read arguments and are not an OS sandbox, as the source says. The `bash` blocklist covers only root deletion, disk wiping and power commands",
          "Issue #2998, open since 31 July 2026, reports the bot sending the owner's local documents into a Feishu group. Its fix is not on master",
          "No setting limits which Telegram, Slack or Discord users may message the bot, and those channels reply in every group",
          "No SECURITY.md, security.txt, privacy policy or terms. Model keys sit in `config.json` and MCP keys in `mcp.json` as plain text"
        ],
        "agentNotes": [
          "Set `agent_permission_mode` to `workspace-write` or `read-only` before connecting any channel. Source and Docker installs default to `full-access`",
          "Keep the bot out of group chats that include other people. Any member who mentions it reaches the same tools as the owner",
          "Set `web_password` before changing `web_host` to `0.0.0.0`. The password is empty by default",
          "Set `external_api_token` to enable `POST /v1/chat/completions`, and send `conversation_id` to keep one session. The `model` field does not select a model",
          "Run it in a container for a hard boundary. The docs and the source both say the permission modes are not isolation"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 83,
          "payments": 60,
          "reliability": 84,
          "schema": 67,
          "security": 43,
          "transparency": 62
        },
        "provenanceScore": 31,
        "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": "bash \u003c(curl -fsSL https://cdn.link-ai.tech/code/cow/run.sh)   # or: curl -O https://cdn.link-ai.tech/code/cow/docker-compose.yml \u0026\u0026 docker compose up -d",
        "http": "curl http://localhost:9899/v1/chat/completions -H \"Authorization: Bearer $TOKEN\" -H \"Content-Type: application/json\" -d '{\"model\":\"cowagent\",\"conversation_id\":\"example-conversation\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/cowagent"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "cowagent.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.cowagent.ai/releases/overview",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "No company or legal entity is named for CowAgent. The licence names zhayujie, and the cowagent.ai footer reads Copyright 2026 CowAgent.",
          "The README lists sales@simple-future.tech and LinkAI (link-ai.tech) for enterprise services and managed hosting. link-ai.tech did not answer our robots.txt request on 12 October 2026, so none of its pages were read.",
          "cowagent.ai links no terms and no privacy policy. Its sitemap lists the home, download and blog pages only.",
          "cowagent.ai answers `/.well-known/security.txt` and `/llms.txt` with the home page, so neither file exists. docs.cowagent.ai serves an llms.txt.",
          "The registration date of cowagent.ai was not looked up."
        ],
        "score": 31
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cowagent.json",
      "live": {
        "slug": "cowagent",
        "versions": [
          {
            "registry": "github",
            "name": "zhayujie/CowAgent",
            "version": "2.2.2",
            "released": "2026-10-30",
            "seenAt": "2026-10-30T14:06:42.172567293Z"
          }
        ],
        "githubStars": 47692,
        "securityTxt": {
          "url": "https://cowagent.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:39:33.738494769Z"
        },
        "llmsTxt": {
          "url": "https://docs.cowagent.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:07:12.455980932Z"
        },
        "domain": {
          "domain": "cowagent.ai",
          "registered": "2026-02-06",
          "source": "https://rdap.identitydigital.services/rdap/domain/cowagent.ai",
          "checkedAt": "2026-10-25T13:49:06.264453079Z"
        },
        "pages": [
          {
            "url": "https://docs.cowagent.ai/releases/overview",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:36:59.264972446Z",
            "changedAt": "2026-10-30T05:36:59.264972446Z",
            "fingerprint": "5ba7778e728e"
          }
        ],
        "github": {
          "repo": "zhayujie/cowagent",
          "checkedAt": "2026-10-26T08:20:10.101686627Z",
          "stars": 47600,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-25T02:44:27Z",
          "openIssues": 15,
          "openPRs": 29,
          "issuesOpened90d": 135,
          "issuesClosed90d": 138,
          "prsMerged90d": 593,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 46,
            "failure": 4,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-25T02:51:00Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-qwjc-xv6c-mqfx",
              "severity": "medium",
              "published": "2025-11-28T03:49:52Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 2,
            "medianDays": 1.1
          }
        },
        "updatedAt": "2026-10-30T15:39:33.738494769Z"
      }
    },
    "answer": "CowAgent scores 58.7 (C) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.",
    "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": "zhayujie",
        "b": "CopilotKit (Tawkit, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "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": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "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": "47k stars",
        "b": "1.6k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "CowAgent scores 58.7 (C) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, CowAgent or OpenDuet?"
      },
      {
        "answer": "Yes. CowAgent 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 CowAgent and OpenDuet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 42",
          "Schema \u0026 documentation, 67 against 58",
          "Agent ergonomics, 59 against 52",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 83 against 37"
        ],
        "also": null,
        "goodFor": "One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.",
        "slug": "cowagent",
        "watchFor": "Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 59 against 43",
          "Transparency \u0026 trust, 68 against 47"
        ],
        "also": [
          "No incidents deducted, where CowAgent 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-cowagent.json",
        "title": "asaply vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Asmi vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Boba vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/boba-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Brea vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/brea-vs-cowagent"
      },
      {
        "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/cowagent-vs-del.json",
        "title": "CowAgent vs Del",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-hirealpha.json",
        "title": "CowAgent vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openinstinct.json",
        "title": "CowAgent vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-orbits.json",
        "title": "CowAgent vs Orbits",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-orchid-ai.json",
        "title": "CowAgent vs Orchid",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-szn.json",
        "title": "CowAgent vs szn",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-tab-bot.json",
        "title": "CowAgent vs Tab",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-zapia.json",
        "title": "CowAgent vs Zapia",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-zapia"
      },
      {
        "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-openduet.json",
        "title": "HireAlpha vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-openduet"
      },
      {
        "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-cowagent.json",
        "title": "AstrBot vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Boski vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/boski-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Caddy vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-cowagent"
      },
      {
        "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-cowagent.json",
        "title": "Claude Duet vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-cowagent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-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-folk-nozomio.json",
        "title": "CowAgent vs folk",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-folk-nozomio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-gaia.json",
        "title": "CowAgent vs GAIA",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark.json",
        "title": "CowAgent vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-grok-bot.json",
        "title": "CowAgent vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-haven.json",
        "title": "CowAgent vs Haven",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent.json",
        "title": "CowAgent vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-instinct.json",
        "title": "CowAgent vs Instinct",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-ironclaw.json",
        "title": "CowAgent vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-leon.json",
        "title": "CowAgent vs Leon",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-lindy.json",
        "title": "CowAgent vs Lindy",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-lobby-os.json",
        "title": "CowAgent vs Lobby",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-nanobot.json",
        "title": "CowAgent vs nanobot",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw.json",
        "title": "CowAgent vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openai-dots.json",
        "title": "CowAgent vs Dots",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openclaw.json",
        "title": "CowAgent vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-picoclaw.json",
        "title": "CowAgent vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-poke.json",
        "title": "CowAgent vs Poke",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw.json",
        "title": "CowAgent vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-tasker-ai.json",
        "title": "CowAgent vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-town.json",
        "title": "CowAgent vs Town",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw.json",
        "title": "CowAgent vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-zo-computer.json",
        "title": "CowAgent vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-openduet.json",
        "title": "GAIA vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openduet"
      },
      {
        "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-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-openduet.json",
        "title": "Haven vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/haven-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Instinct vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Leon vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "nanobot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openduet"
      },
      {
        "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/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-cowagent.json",
        "title": "Atticus vs CowAgent",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-cowagent"
      },
      {
        "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/cowagent-vs-deeptutor.json",
        "title": "CowAgent vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-hark-pro.json",
        "title": "CowAgent vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness.json",
        "title": "CowAgent vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-talorys.json",
        "title": "CowAgent vs Talorys",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-talorys"
      },
      {
        "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-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-openduet.json",
        "title": "LearnHarness vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openduet"
      },
      {
        "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/cowagent-vs-natura.json",
        "title": "CowAgent vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-pally.json",
        "title": "CowAgent vs Pally",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-tomo.json",
        "title": "CowAgent vs Tomo",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-wajo.json",
        "title": "CowAgent vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-wajo"
      },
      {
        "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/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": 42,
        "cowagent": 84,
        "edge": "cowagent",
        "key": "reliability",
        "name": "Reliability",
        "openduet": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "cowagent": 67,
        "edge": "cowagent",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openduet": 58,
        "weight": 13
      },
      {
        "by": 7,
        "cowagent": 59,
        "edge": "cowagent",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openduet": 52,
        "weight": 13
      },
      {
        "by": 16,
        "cowagent": 43,
        "edge": "openduet",
        "key": "security",
        "name": "Security \u0026 auth",
        "openduet": 59,
        "weight": 14
      },
      {
        "by": 30,
        "cowagent": 60,
        "edge": "cowagent",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openduet": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 46,
        "cowagent": 83,
        "edge": "cowagent",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openduet": 37,
        "weight": 7
      },
      {
        "by": 21,
        "cowagent": 47,
        "edge": "openduet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openduet": 68,
        "weight": 7
      }
    ],
    "summary": "CowAgent scores 58.7 (C) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust. Both do proactive personal assistants.",
    "tutorials": [],
    "verdicts": {
      "cowagent": "MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot.",
      "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/cowagent-vs-openduet",
    "json": "https://www.anchorterminal.com/compare/cowagent-vs-openduet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cowagent-vs-openduet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/cowagent-vs-openduet.min.md"
  },
  "markdown": "CowAgent scores 58.7 (C) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust. Both do proactive personal assistants.\n\n- CowAgent: grade C, 58.7/100, rank #671 of 1239. Markdown https://www.anchorterminal.com/tools/cowagent.md · JSON https://www.anchorterminal.com/api/v1/tools/cowagent.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### CowAgent (C)\n\nGood for: One technical owner who wants an assistant on WeChat, Feishu, DingTalk, Telegram, Slack or Discord with memory in local files and a choice of Chinese and Western model providers.\n\nAhead on:\n- Reliability, 84 against 42\n- Schema \u0026 documentation, 67 against 58\n- Agent ergonomics, 59 against 52\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 83 against 37\n\nWatch for: Source and Docker installs default to full-access, and no mode asks the owner before a shell command, a file send or an MCP call\n\n### 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- Security \u0026 auth, 59 against 43\n- Transparency \u0026 trust, 68 against 47\n\nAlso in its favour:\n- No incidents deducted, where CowAgent 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 | CowAgent | OpenDuet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 42 | CowAgent +42 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 58 | CowAgent +9 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 52 | CowAgent +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 59 | OpenDuet +16 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | CowAgent +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 37 | CowAgent +46 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 68 | OpenDuet +21 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **58.7 · C** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | CowAgent | OpenDuet |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | zhayujie | CopilotKit (Tawkit, Inc.) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP |  |\n| Auth | OAuth or key | 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 | yes | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-30 | 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 | 47k stars | 1.6k stars |\n\n## Verdicts\n\n**CowAgent.** MIT software with seven releases in 90 days, memory kept as plain files in the owner's workspace and three per-session permission modes. Source and Docker installs default to full-access, no action asks for approval, and an open report of 31 July 2026 says group members could reach the owner's files through the bot.\n\n**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### CowAgent\n\n1. Set `agent_permission_mode` to `workspace-write` or `read-only` before connecting any channel. Source and Docker installs default to `full-access`\n2. Keep the bot out of group chats that include other people. Any member who mentions it reaches the same tools as the owner\n3. Set `web_password` before changing `web_host` to `0.0.0.0`. The password is empty by default\n4. Set `external_api_token` to enable `POST /v1/chat/completions`, and send `conversation_id` to keep one session. The `model` field does not select a model\n5. Run it in a container for a hard boundary. The docs and the source both say the permission modes are not isolation\n\n### 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, CowAgent or OpenDuet?\n\nCowAgent scores 58.7 (C) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are CowAgent and OpenDuet open source?\n\nYes. CowAgent 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/cowagent-vs-openduet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cowagent-vs-openduet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cowagent\", \"b\": \"openduet\"}`. From a terminal: `anchor compare cowagent openduet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cowagent.json and https://www.anchorterminal.com/api/v1/tools/openduet.json\n\n## Other comparisons with CowAgent or OpenDuet\n\n- [asaply vs CowAgent](https://www.anchorterminal.com/compare/asaply-vs-cowagent.md)\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [Asmi vs CowAgent](https://www.anchorterminal.com/compare/asmi-vs-cowagent.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.md)\n- [Boba vs CowAgent](https://www.anchorterminal.com/compare/boba-vs-cowagent.md)\n- [Boba vs OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Brea vs CowAgent](https://www.anchorterminal.com/compare/brea-vs-cowagent.md)\n- [Brea vs OpenDuet](https://www.anchorterminal.com/compare/brea-vs-openduet.md)\n- [CowAgent vs Del](https://www.anchorterminal.com/compare/cowagent-vs-del.md)\n- [CowAgent vs HireAlpha](https://www.anchorterminal.com/compare/cowagent-vs-hirealpha.md)\n- [CowAgent vs OpenInstinct](https://www.anchorterminal.com/compare/cowagent-vs-openinstinct.md)\n- [CowAgent vs Orbits](https://www.anchorterminal.com/compare/cowagent-vs-orbits.md)\n- [CowAgent vs Orchid](https://www.anchorterminal.com/compare/cowagent-vs-orchid-ai.md)\n- [CowAgent vs szn](https://www.anchorterminal.com/compare/cowagent-vs-szn.md)\n- [CowAgent vs Tab](https://www.anchorterminal.com/compare/cowagent-vs-tab-bot.md)\n- [CowAgent vs Zapia](https://www.anchorterminal.com/compare/cowagent-vs-zapia.md)\n- [Del vs OpenDuet](https://www.anchorterminal.com/compare/del-vs-openduet.md)\n- [HireAlpha vs OpenDuet](https://www.anchorterminal.com/compare/hirealpha-vs-openduet.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 CowAgent](https://www.anchorterminal.com/compare/astrbot-vs-cowagent.md)\n- [AstrBot vs OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [Boski vs CowAgent](https://www.anchorterminal.com/compare/boski-vs-cowagent.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Caddy vs CowAgent](https://www.anchorterminal.com/compare/caddy-app-vs-cowagent.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Claude Duet vs CowAgent](https://www.anchorterminal.com/compare/claude-duet-vs-cowagent.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [CowAgent vs folk](https://www.anchorterminal.com/compare/cowagent-vs-folk-nozomio.md)\n- [CowAgent vs GAIA](https://www.anchorterminal.com/compare/cowagent-vs-gaia.md)\n- [CowAgent vs Gemini Spark](https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark.md)\n- [CowAgent vs Grok Bot](https://www.anchorterminal.com/compare/cowagent-vs-grok-bot.md)\n- [CowAgent vs Haven](https://www.anchorterminal.com/compare/cowagent-vs-haven.md)\n- [CowAgent vs Hermes Agent](https://www.anchorterminal.com/compare/cowagent-vs-hermes-agent.md)\n- [CowAgent vs Instinct](https://www.anchorterminal.com/compare/cowagent-vs-instinct.md)\n- [CowAgent vs IronClaw](https://www.anchorterminal.com/compare/cowagent-vs-ironclaw.md)\n- [CowAgent vs Leon](https://www.anchorterminal.com/compare/cowagent-vs-leon.md)\n- [CowAgent vs Lindy](https://www.anchorterminal.com/compare/cowagent-vs-lindy.md)\n- [CowAgent vs Lobby](https://www.anchorterminal.com/compare/cowagent-vs-lobby-os.md)\n- [CowAgent vs nanobot](https://www.anchorterminal.com/compare/cowagent-vs-nanobot.md)\n- [CowAgent vs NanoClaw](https://www.anchorterminal.com/compare/cowagent-vs-nanoclaw.md)\n- [CowAgent vs Dots](https://www.anchorterminal.com/compare/cowagent-vs-openai-dots.md)\n- [CowAgent vs OpenClaw](https://www.anchorterminal.com/compare/cowagent-vs-openclaw.md)\n- [CowAgent vs PicoClaw](https://www.anchorterminal.com/compare/cowagent-vs-picoclaw.md)\n- [CowAgent vs Poke](https://www.anchorterminal.com/compare/cowagent-vs-poke.md)\n- [CowAgent vs QwenPaw](https://www.anchorterminal.com/compare/cowagent-vs-qwenpaw.md)\n- [CowAgent vs Tasker AI](https://www.anchorterminal.com/compare/cowagent-vs-tasker-ai.md)\n- [CowAgent vs Town](https://www.anchorterminal.com/compare/cowagent-vs-town.md)\n- [CowAgent vs ZeroClaw](https://www.anchorterminal.com/compare/cowagent-vs-zeroclaw.md)\n- [CowAgent vs Zo Computer](https://www.anchorterminal.com/compare/cowagent-vs-zo-computer.md)\n- [folk vs OpenDuet](https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.md)\n- [GAIA vs OpenDuet](https://www.anchorterminal.com/compare/gaia-vs-openduet.md)\n- [Gemini Spark vs OpenDuet](https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.md)\n- [Grok Bot vs OpenDuet](https://www.anchorterminal.com/compare/grok-bot-vs-openduet.md)\n- [Haven vs OpenDuet](https://www.anchorterminal.com/compare/haven-vs-openduet.md)\n- [Hermes Agent vs OpenDuet](https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.md)\n- [Instinct vs OpenDuet](https://www.anchorterminal.com/compare/instinct-vs-openduet.md)\n- [IronClaw vs OpenDuet](https://www.anchorterminal.com/compare/ironclaw-vs-openduet.md)\n- [Leon vs OpenDuet](https://www.anchorterminal.com/compare/leon-vs-openduet.md)\n- [Lindy vs OpenDuet](https://www.anchorterminal.com/compare/lindy-vs-openduet.md)\n- [nanobot vs OpenDuet](https://www.anchorterminal.com/compare/nanobot-vs-openduet.md)\n- [NanoClaw vs OpenDuet](https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.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 CowAgent](https://www.anchorterminal.com/compare/atticus-vs-cowagent.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.md)\n- [CowAgent vs DeepTutor](https://www.anchorterminal.com/compare/cowagent-vs-deeptutor.md)\n- [CowAgent vs Hark Pro](https://www.anchorterminal.com/compare/cowagent-vs-hark-pro.md)\n- [CowAgent vs LearnHarness](https://www.anchorterminal.com/compare/cowagent-vs-learnharness.md)\n- [CowAgent vs Talorys](https://www.anchorterminal.com/compare/cowagent-vs-talorys.md)\n- [DeepTutor vs OpenDuet](https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md)\n- [Hark Pro vs OpenDuet](https://www.anchorterminal.com/compare/hark-pro-vs-openduet.md)\n- [LearnHarness vs OpenDuet](https://www.anchorterminal.com/compare/learnharness-vs-openduet.md)\n- [OpenDuet vs Talorys](https://www.anchorterminal.com/compare/openduet-vs-talorys.md)\n- [CowAgent vs Natura tinyNature](https://www.anchorterminal.com/compare/cowagent-vs-natura.md)\n- [CowAgent vs Pally](https://www.anchorterminal.com/compare/cowagent-vs-pally.md)\n- [CowAgent vs Tomo](https://www.anchorterminal.com/compare/cowagent-vs-tomo.md)\n- [CowAgent vs Wajo (Fo)](https://www.anchorterminal.com/compare/cowagent-vs-wajo.md)\n- [Lobby vs OpenDuet](https://www.anchorterminal.com/compare/lobby-os-vs-openduet.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": "CowAgent vs OpenDuet",
        "url": ""
      }
    ],
    "description": "CowAgent scores 58.7 (C) to OpenDuet's 49.5 (D) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "CowAgent C 58.7",
      "OpenDuet D 49.5",
      "scores"
    ],
    "h1": "CowAgent vs OpenDuet",
    "image": "https://www.anchorterminal.com/assets/og/compare-cowagent-vs-openduet.png",
    "path": "/compare/cowagent-vs-openduet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "CowAgent vs OpenDuet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 730
  },
  "version": 1
}
