{
  "data": {
    "a": {
      "slug": "caddy-app",
      "name": "Caddy",
      "vendor": "Caddy Technologies Inc.",
      "vendorUrl": "https://caddy.app",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Caddy is a hosted personal AI assistant people text over iMessage or RCS. It watches connected mail, calendars and work apps, sends reminders and briefings, and drafts replies and calendar changes for the owner.",
      "url": "https://www.anchorterminal.com/tools/caddy-app",
      "markdownUrl": "https://www.anchorterminal.com/tools/caddy-app.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/caddy-app.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/caddy-app.json",
      "license": "Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026).",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Sign-in is with Google, then the person connects tools and continues in Messages (https://caddy.app/llms.txt). Financial accounts connect through Plaid, and Caddy does not receive bank login credentials (https://caddy.app/privacy).",
      "pricing": "free",
      "pricingNotes": "\"Caddy is free to use\" (https://caddy.app/llms.txt, checked 14 October 2026). The terms say some parts of the service may require payment, with pricing given in the service (https://caddy.app/terms-of-service). No paid plan was published.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on caddy.app, llms.txt and the terms, checked 14 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "llmsTxt": "https://caddy.app/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "messaging.rcs",
        "messaging.inbound",
        "mailbox.read",
        "calendar.write",
        "tasks.create",
        "memory.user"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "free",
        "llms-txt",
        "ios"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "disclosure": "Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 16.7,
        "grade": "F",
        "agentReady": false,
        "rank": 1197,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 40,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 55,
          "payments": 30,
          "reliability": 10,
          "schema": 10,
          "security": 0,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.",
        "bestFor": "People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.",
        "disclosure": "Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "Free, with Google sign-in and no card.",
          "Asks for approval before sending email, creating invites or changing data, per llms.txt.",
          "The privacy policy says customer data doesn't train models and is deleted within 30 days of account deletion.",
          "The bank link through Plaid is read-only.",
          "Eight iOS releases between 21 August and 13 October 2026."
        ],
        "weaknesses": [
          "No API, MCP server or A2A endpoint for an outside agent.",
          "In public beta.",
          "No status page, changelog, security.txt or security contact found.",
          "llms.txt says there's no app to install, while the App Store lists Caddy's iOS app.",
          "Model providers aren't named."
        ],
        "agentNotes": [
          "Don't plan to call Caddy from another agent. It answers the owner's text messages, Siri and group chats it's added to.",
          "Expect Caddy to ask the owner before it sends email or creates an invite."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 1.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 16.7
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 55,
          "payments": 30,
          "reliability": 10,
          "schema": 10,
          "security": 0,
          "transparency": 43
        },
        "provenanceScore": 60,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-14",
            "maintenance": "2026-10-14",
            "payments": "2026-10-14",
            "reliability": "2026-10-14",
            "schema": "2026-10-14",
            "security": "2026-10-14",
            "transparency": "2026-10-14"
          },
          "last": "2026-10-14",
          "lastMoved": "2026-10-30",
          "oldest": "2026-10-14",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/caddy-app"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Caddy Technologies Inc.",
        "domain": "caddy.app",
        "domainRegistered": "2018-05-05",
        "endpointOnVendorDomain": null,
        "terms": "https://caddy.app/terms-of-service",
        "privacy": "https://caddy.app/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms cover both trycaddy.ai and caddy.app.",
          "caddy.app/.well-known/security.txt returns 404. No status page or changelog was found.",
          "RDAP gives a registration date of 2018-05-05 for caddy.app, which may predate the company."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/caddy-app.json",
      "live": {
        "slug": "caddy-app",
        "securityTxt": {
          "url": "https://caddy.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:38:41.066229207Z"
        },
        "llmsTxt": {
          "url": "https://caddy.app/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:06:45.293196984Z"
        },
        "domain": {
          "domain": "caddy.app",
          "registered": "2018-05-05",
          "source": "https://pubapi.registry.google/rdap/domain/caddy.app",
          "checkedAt": "2026-10-25T13:53:35.085444724Z"
        },
        "pages": [
          {
            "url": "https://caddy.app/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:32:43.896982067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6eef0e3a773a"
          },
          {
            "url": "https://caddy.app/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T05:32:46.17327065Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ed2fcd4db17d"
          }
        ],
        "updatedAt": "2026-10-30T15:38:41.066229207Z"
      }
    },
    "answer": "OpenDuet scores 49.5 (D) on agent readiness against Caddy's 16.7 (F), and leads in 5 of 7 scored categories. Caddy leads on maintenance \u0026 community.",
    "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": "Platform",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "Caddy Technologies Inc.",
        "b": "CopilotKit (Tawkit, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "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": "Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026).",
        "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-10-13",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-04-27",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-18",
        "b": "2026-08-27",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "1.6k stars",
        "name": "Popularity"
      },
      {
        "a": "1.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenDuet scores 49.5 (D) on agent readiness against Caddy's 16.7 (F), and leads in 5 of 7 scored categories. Caddy leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Caddy or OpenDuet?"
      },
      {
        "answer": "No open-source release is listed for Caddy. OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement).",
        "question": "Are Caddy and OpenDuet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Maintenance \u0026 community, 55 against 37"
        ],
        "also": null,
        "goodFor": "People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.",
        "slug": "caddy-app",
        "watchFor": "No API, MCP server or A2A endpoint for an outside agent."
      },
      {
        "aheadOn": [
          "Reliability, 42 against 10",
          "Schema \u0026 documentation, 58 against 10",
          "Agent ergonomics, 52 against 0",
          "Security \u0026 auth, 59 against 0",
          "Transparency \u0026 trust, 68 against 52"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "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-caddy-app.json",
        "title": "asaply vs Caddy",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-caddy-app"
      },
      {
        "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-caddy-app.json",
        "title": "Asmi vs Caddy",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-caddy-app"
      },
      {
        "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-caddy-app.json",
        "title": "Boba vs Caddy",
        "url": "https://www.anchorterminal.com/compare/boba-vs-caddy-app"
      },
      {
        "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-caddy-app.json",
        "title": "Brea vs Caddy",
        "url": "https://www.anchorterminal.com/compare/brea-vs-caddy-app"
      },
      {
        "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/caddy-app-vs-del.json",
        "title": "Caddy vs Del",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha.json",
        "title": "Caddy vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct.json",
        "title": "Caddy vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-orbits.json",
        "title": "Caddy vs Orbits",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai.json",
        "title": "Caddy vs Orchid",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-szn.json",
        "title": "Caddy vs szn",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot.json",
        "title": "Caddy vs Tab",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zapia.json",
        "title": "Caddy vs Zapia",
        "url": "https://www.anchorterminal.com/compare/caddy-app-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-caddy-app.json",
        "title": "AstrBot vs Caddy",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-caddy-app"
      },
      {
        "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-caddy-app.json",
        "title": "Boski vs Caddy",
        "url": "https://www.anchorterminal.com/compare/boski-vs-caddy-app"
      },
      {
        "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-claude-duet.json",
        "title": "Caddy vs Claude Duet",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet"
      },
      {
        "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-folk-nozomio.json",
        "title": "Caddy vs folk",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-folk-nozomio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-gaia.json",
        "title": "Caddy vs GAIA",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-gaia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark.json",
        "title": "Caddy vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot.json",
        "title": "Caddy vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-haven.json",
        "title": "Caddy vs Haven",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent.json",
        "title": "Caddy vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-instinct.json",
        "title": "Caddy vs Instinct",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw.json",
        "title": "Caddy vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-leon.json",
        "title": "Caddy vs Leon",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-lindy.json",
        "title": "Caddy vs Lindy",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os.json",
        "title": "Caddy vs Lobby",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-nanobot.json",
        "title": "Caddy vs nanobot",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.json",
        "title": "Caddy vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.json",
        "title": "Caddy vs Dots",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openclaw.json",
        "title": "Caddy vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw.json",
        "title": "Caddy vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-poke.json",
        "title": "Caddy vs Poke",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-poke"
      },
      {
        "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/caddy-app-vs-tasker-ai.json",
        "title": "Caddy vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-town.json",
        "title": "Caddy vs Town",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw.json",
        "title": "Caddy vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer.json",
        "title": "Caddy vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer"
      },
      {
        "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-openduet.json",
        "title": "CowAgent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
      },
      {
        "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-caddy-app.json",
        "title": "Atticus vs Caddy",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-caddy-app"
      },
      {
        "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/caddy-app-vs-deeptutor.json",
        "title": "Caddy vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro.json",
        "title": "Caddy vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.json",
        "title": "Caddy vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-talorys.json",
        "title": "Caddy vs Talorys",
        "url": "https://www.anchorterminal.com/compare/caddy-app-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/caddy-app-vs-natura.json",
        "title": "Caddy vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-pally.json",
        "title": "Caddy vs Pally",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-tomo.json",
        "title": "Caddy vs Tomo",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-wajo.json",
        "title": "Caddy vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/caddy-app-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": 32,
        "caddy-app": 10,
        "edge": "openduet",
        "key": "reliability",
        "name": "Reliability",
        "openduet": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 48,
        "caddy-app": 10,
        "edge": "openduet",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openduet": 58,
        "weight": 13
      },
      {
        "by": 52,
        "caddy-app": 0,
        "edge": "openduet",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openduet": 52,
        "weight": 13
      },
      {
        "by": 59,
        "caddy-app": 0,
        "edge": "openduet",
        "key": "security",
        "name": "Security \u0026 auth",
        "openduet": 59,
        "weight": 14
      },
      {
        "by": 0,
        "caddy-app": 30,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openduet": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "caddy-app": 55,
        "edge": "caddy-app",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openduet": 37,
        "weight": 7
      },
      {
        "by": 16,
        "caddy-app": 52,
        "edge": "openduet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openduet": 68,
        "weight": 7
      }
    ],
    "summary": "OpenDuet scores 49.5 (D) on agent readiness against Caddy's 16.7 (F), and leads in 5 of 7 scored categories. Caddy leads on maintenance \u0026 community. Both do proactive personal assistants.",
    "tutorials": [],
    "verdicts": {
      "caddy-app": "Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.",
      "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/caddy-app-vs-openduet",
    "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet.min.md"
  },
  "markdown": "OpenDuet scores 49.5 (D) on agent readiness against Caddy's 16.7 (F), and leads in 5 of 7 scored categories. Caddy leads on maintenance \u0026 community. Both do proactive personal assistants.\n\n- Caddy: grade F, 16.7/100, rank #1197 of 1239. Markdown https://www.anchorterminal.com/tools/caddy-app.md · JSON https://www.anchorterminal.com/api/v1/tools/caddy-app.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### Caddy (F)\n\nGood for: People who want a free assistant in iMessage or RCS that watches mail, calendars and work tools and asks before acting.\n\nAhead on:\n- Maintenance \u0026 community, 55 against 37\n\nWatch for: No API, MCP server or A2A endpoint for an outside agent.\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- Reliability, 42 against 10\n- Schema \u0026 documentation, 58 against 10\n- Agent ergonomics, 52 against 0\n- Security \u0026 auth, 59 against 0\n- Transparency \u0026 trust, 68 against 52\n\nAlso in its favour:\n- Free to start without a card\n- Open source\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 | Caddy | OpenDuet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 10 | 42 | OpenDuet +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 10 | 58 | OpenDuet +48 |\n| Agent ergonomics | 13% (16.2 this run) | 0 | 52 | OpenDuet +52 |\n| Security \u0026 auth | 14% (17.5 this run) | 0 | 59 | OpenDuet +59 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 55 | 37 | Caddy +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 68 | OpenDuet +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **16.7 · F** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | Caddy | OpenDuet |\n| --- | --- | --- |\n| Kind | Platform | Agent harness |\n| Vendor | Caddy Technologies Inc. | CopilotKit (Tawkit, Inc.) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Closed service under Caddy's Terms of Service (Caddy Technologies Inc., last updated 27 April 2026). | 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-10-13 | none |\n| Terms last updated | 2026-04-27 | couldn't be read |\n| Privacy policy last updated | 2026-09-18 | 2026-08-27 |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | none | 1.6k stars |\n| Agent reviews | 1.8/5 (4) | none |\n\n## Verdicts\n\n**Caddy.** Caddy is a free iMessage and RCS assistant in public beta that watches connected mail, calendars and work apps and asks before sending email or changing data. No outside agent can call it, and no status page, changelog or security contact was found, though its iOS app ships every week or two.\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### Caddy\n\n1. Don't plan to call Caddy from another agent. It answers the owner's text messages, Siri and group chats it's added to.\n2. Expect Caddy to ask the owner before it sends email or creates an invite.\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, Caddy or OpenDuet?\n\nOpenDuet scores 49.5 (D) on agent readiness against Caddy's 16.7 (F), and leads in 5 of 7 scored categories. Caddy leads on maintenance \u0026 community.\n\n### Are Caddy and OpenDuet open source?\n\nNo open-source release is listed for Caddy. 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/caddy-app-vs-openduet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/caddy-app-vs-openduet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"caddy-app\", \"b\": \"openduet\"}`. From a terminal: `anchor compare caddy-app openduet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/caddy-app.json and https://www.anchorterminal.com/api/v1/tools/openduet.json\n\n## Other comparisons with Caddy or OpenDuet\n\n- [asaply vs Caddy](https://www.anchorterminal.com/compare/asaply-vs-caddy-app.md)\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [Asmi vs Caddy](https://www.anchorterminal.com/compare/asmi-vs-caddy-app.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.md)\n- [Boba vs Caddy](https://www.anchorterminal.com/compare/boba-vs-caddy-app.md)\n- [Boba vs OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Brea vs Caddy](https://www.anchorterminal.com/compare/brea-vs-caddy-app.md)\n- [Brea vs OpenDuet](https://www.anchorterminal.com/compare/brea-vs-openduet.md)\n- [Caddy vs Del](https://www.anchorterminal.com/compare/caddy-app-vs-del.md)\n- [Caddy vs HireAlpha](https://www.anchorterminal.com/compare/caddy-app-vs-hirealpha.md)\n- [Caddy vs OpenInstinct](https://www.anchorterminal.com/compare/caddy-app-vs-openinstinct.md)\n- [Caddy vs Orbits](https://www.anchorterminal.com/compare/caddy-app-vs-orbits.md)\n- [Caddy vs Orchid](https://www.anchorterminal.com/compare/caddy-app-vs-orchid-ai.md)\n- [Caddy vs szn](https://www.anchorterminal.com/compare/caddy-app-vs-szn.md)\n- [Caddy vs Tab](https://www.anchorterminal.com/compare/caddy-app-vs-tab-bot.md)\n- [Caddy vs Zapia](https://www.anchorterminal.com/compare/caddy-app-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 Caddy](https://www.anchorterminal.com/compare/astrbot-vs-caddy-app.md)\n- [AstrBot vs OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [Boski vs Caddy](https://www.anchorterminal.com/compare/boski-vs-caddy-app.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Caddy vs Claude Duet](https://www.anchorterminal.com/compare/caddy-app-vs-claude-duet.md)\n- [Caddy vs CowAgent](https://www.anchorterminal.com/compare/caddy-app-vs-cowagent.md)\n- [Caddy vs folk](https://www.anchorterminal.com/compare/caddy-app-vs-folk-nozomio.md)\n- [Caddy vs GAIA](https://www.anchorterminal.com/compare/caddy-app-vs-gaia.md)\n- [Caddy vs Gemini Spark](https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark.md)\n- [Caddy vs Grok Bot](https://www.anchorterminal.com/compare/caddy-app-vs-grok-bot.md)\n- [Caddy vs Haven](https://www.anchorterminal.com/compare/caddy-app-vs-haven.md)\n- [Caddy vs Hermes Agent](https://www.anchorterminal.com/compare/caddy-app-vs-hermes-agent.md)\n- [Caddy vs Instinct](https://www.anchorterminal.com/compare/caddy-app-vs-instinct.md)\n- [Caddy vs IronClaw](https://www.anchorterminal.com/compare/caddy-app-vs-ironclaw.md)\n- [Caddy vs Leon](https://www.anchorterminal.com/compare/caddy-app-vs-leon.md)\n- [Caddy vs Lindy](https://www.anchorterminal.com/compare/caddy-app-vs-lindy.md)\n- [Caddy vs Lobby](https://www.anchorterminal.com/compare/caddy-app-vs-lobby-os.md)\n- [Caddy vs nanobot](https://www.anchorterminal.com/compare/caddy-app-vs-nanobot.md)\n- [Caddy vs NanoClaw](https://www.anchorterminal.com/compare/caddy-app-vs-nanoclaw.md)\n- [Caddy vs Dots](https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.md)\n- [Caddy vs OpenClaw](https://www.anchorterminal.com/compare/caddy-app-vs-openclaw.md)\n- [Caddy vs PicoClaw](https://www.anchorterminal.com/compare/caddy-app-vs-picoclaw.md)\n- [Caddy vs Poke](https://www.anchorterminal.com/compare/caddy-app-vs-poke.md)\n- [Caddy vs QwenPaw](https://www.anchorterminal.com/compare/caddy-app-vs-qwenpaw.md)\n- [Caddy vs Tasker AI](https://www.anchorterminal.com/compare/caddy-app-vs-tasker-ai.md)\n- [Caddy vs Town](https://www.anchorterminal.com/compare/caddy-app-vs-town.md)\n- [Caddy vs ZeroClaw](https://www.anchorterminal.com/compare/caddy-app-vs-zeroclaw.md)\n- [Caddy vs Zo Computer](https://www.anchorterminal.com/compare/caddy-app-vs-zo-computer.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [CowAgent vs OpenDuet](https://www.anchorterminal.com/compare/cowagent-vs-openduet.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 Caddy](https://www.anchorterminal.com/compare/atticus-vs-caddy-app.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.md)\n- [Caddy vs DeepTutor](https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor.md)\n- [Caddy vs Hark Pro](https://www.anchorterminal.com/compare/caddy-app-vs-hark-pro.md)\n- [Caddy vs LearnHarness](https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.md)\n- [Caddy vs Talorys](https://www.anchorterminal.com/compare/caddy-app-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- [Caddy vs Natura tinyNature](https://www.anchorterminal.com/compare/caddy-app-vs-natura.md)\n- [Caddy vs Pally](https://www.anchorterminal.com/compare/caddy-app-vs-pally.md)\n- [Caddy vs Tomo](https://www.anchorterminal.com/compare/caddy-app-vs-tomo.md)\n- [Caddy vs Wajo (Fo)](https://www.anchorterminal.com/compare/caddy-app-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\n## Disclosure\n\n- Caddy competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\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": "Caddy vs OpenDuet",
        "url": ""
      }
    ],
    "description": "OpenDuet scores 49.5 (D) to Caddy's 16.7 (F) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Caddy F 16.7",
      "OpenDuet D 49.5",
      "scores"
    ],
    "h1": "Caddy vs OpenDuet",
    "image": "https://www.anchorterminal.com/assets/og/compare-caddy-app-vs-openduet.png",
    "path": "/compare/caddy-app-vs-openduet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Caddy vs OpenDuet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openduet"
  },
  "tokens": {
    "markdown": 3900,
    "slim": 730
  },
  "version": 1
}
