{
  "data": {
    "a": {
      "slug": "gemini-spark",
      "name": "Gemini Spark",
      "vendor": "Google LLC",
      "vendorUrl": "https://gemini.google/us/overview/agent/spark/",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Gemini Spark is Google's hosted personal AI agent inside the Gemini app. It runs tasks and schedules in Google's cloud across Gmail, Calendar, Drive and other connected apps for Google AI Pro and Ultra subscribers.",
      "url": "https://www.anchorterminal.com/tools/gemini-spark",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-spark.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-spark.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-spark.json",
      "license": "Proprietary hosted service under the Google Terms of Service",
      "transports": [],
      "packages": [],
      "auth": "oauth",
      "authNotes": "No credential for an outside agent exists, because no public API was found. A person signs in to the Gemini app with a personal Google Account and needs a Google AI Pro or Ultra subscription (https://support.google.com/gemini/answer/17094507). Connected apps are off by default and are switched on in settings (https://gemini.google/us/overview/agent/spark/). Third-party and custom apps are linked to the Google Account and can be unlinked in Connected Apps settings or on the account's Linked apps page. A custom MCP server that lacks Dynamic Client Registration takes credentials the user enters (https://support.google.com/gemini/answer/17209137). Google tells users not to type sign-in or payment details into a task thread and to enter them on the web page in take control mode (https://support.google.com/gemini/answer/17094507).",
      "pricing": "paid",
      "pricingNotes": "Spark needs a Google AI Pro or Ultra subscription. US prices are $19.99 a month for Pro and $99.99 or $199.99 a month for Ultra, with Spark use counted against compute-based limits that refresh every five hours up to a weekly limit (https://gemini.google/us/subscriptions/; https://support.google.com/gemini/answer/16275805). The subscriptions page lists Spark under Ultra as first access in select countries, while the help page names Pro and Ultra. No free tier includes Spark. The page links a two-month trial offer whose terms were not read (checked 2026-10-12).",
      "priceSummary": "$19.99 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the pages read, and no public API to carry one (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://support.google.com/gemini/answer/17094507",
      "capabilities": [
        "assistant.proactive",
        "assistant.accounts",
        "assistant.memory",
        "agent.mcp-client"
      ],
      "tags": [
        "hosted",
        "consumer",
        "closed-source",
        "no-api",
        "beta",
        "ios",
        "android",
        "macos",
        "web",
        "browser-agent",
        "approvals",
        "mcp-client",
        "subscription",
        "trains-on-data-by-default"
      ],
      "lastRelease": "2026-05-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 24.9,
        "grade": "F",
        "agentReady": false,
        "rank": 1172,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 30,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 9,
          "maintenance": 17,
          "payments": 10,
          "reliability": 14,
          "schema": 17,
          "security": 60,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Google's help pages state what Spark confirms before doing, how to delete its remote browser and code data, and the risks of prompt injection. Spark has no public API, Google calls it experimental, and it runs only with Keep Activity on, the setting under which chats are used for model training and human review.",
        "bestFor": "A person who already keeps mail, calendar and files in a personal Google Account and accepts Keep Activity being on.",
        "strengths": [
          "Google says Spark asks for confirmation before sending communications, modifying data, making purchases, submitting web forms and using Sign in with Google",
          "Connected apps are off by default, and write actions through a custom MCP server need manual confirmation, per Google's help pages",
          "The help page names prompt injection, gives four examples of what an injected instruction could do, and says the safeguards do not guarantee protection",
          "Each task thread has a work panel listing completed and planned steps, files read or updated, schedules, and the skills and apps used",
          "Published limits of 15 running tasks and 50 active schedules, and plan prices of $19.99 to $199.99 a month in the US"
        ],
        "weaknesses": [
          "No public API, SDK or MCP server for an outside agent was found. Spark is reached in the Gemini mobile app, the Mac app and gemini.google.com",
          "Google's help page calls Spark an experimental feature in early development, and the Privacy Hub calls it beta",
          "Spark runs only with Keep Activity on. With that setting on, Google uses activity to train generative AI models and human reviewers read some chats",
          "Chats already reviewed by human reviewers are kept for up to three years and are not deleted when the user deletes activity",
          "Google states that Gemini can perform bulk actions on private Google Tasks without confirmation",
          "The remote browser saves cookies holding website sign-in details for later sessions until the user deletes them or turns Spark off",
          "No status page or SLA for Spark was linked from the pages read, and the bug bounty site linked from Google's terms is drawn by script and was unread"
        ],
        "agentNotes": [
          "Do not plan an integration against Spark. No public API or MCP server was found, and a person must hold a Google AI Pro or Ultra subscription",
          "Expect a confirmation request before sends, edits, purchases and web form submissions, and note that bulk changes to private Google Tasks run without one",
          "Delete remote browser data and remote code execution data in Gemini Spark Settings after a sensitive session. Deleting a task thread or Gemini Apps activity does not remove them",
          "Keep within 15 running tasks and 50 active schedules. A schedule does not run when 15 tasks are running or the usage limit is reached",
          "Treat every safety statement here as Google's own description. None was tested, and no message was sent to the service"
        ],
        "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": 24.9
          }
        ],
        "editorialScores": {
          "ergonomics": 9,
          "maintenance": 17,
          "payments": 10,
          "reliability": 14,
          "schema": 17,
          "security": 60,
          "transparency": 44
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-12",
            "maintenance": "2026-10-12",
            "payments": "2026-10-12",
            "reliability": "2026-10-12",
            "schema": "2026-10-12",
            "security": "2026-10-12",
            "transparency": "2026-10-12"
          },
          "last": "2026-10-12",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-12",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/gemini-spark"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Google AI Pro",
          "unit": "month",
          "usd": 19.99,
          "note": "US price, includes Spark with 4 times the standard usage limit"
        },
        {
          "item": "Google AI Ultra (5x)",
          "unit": "month",
          "usd": 99.99,
          "note": "US price, 5 times the Pro usage limit"
        },
        {
          "item": "Google AI Ultra (20x)",
          "unit": "month",
          "usd": 199.99,
          "note": "US price, 20 times the Pro usage limit"
        }
      ],
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "gemini.google",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://policies.google.com/terms",
        "privacy": "https://support.google.com/gemini/answer/13594961",
        "statusPage": "",
        "changelog": "https://gemini.google/us/release-notes/",
        "securityTxt": "none",
        "checked": "2026-10-12",
        "notes": [
          "The Gemini Apps Privacy Notice says Gemini Apps are supplied by Google Ireland Limited in the European Economic Area and Switzerland and by Google LLC everywhere else. Spark is not available in the European Economic Area or Switzerland.",
          "Google's service-specific terms page lists Gemini Apps under the Google Terms of Service (effective 30 July 2026), the Generative AI Prohibited Use Policy and the Gemini Apps Agentic Calling Additional Terms of Service. The Generative AI Additional Terms of Service that the subscriptions page links say they stopped applying on 22 May 2024.",
          "The privacy link is the Gemini Apps Privacy Hub, which holds the Gemini Apps Privacy Notice (last updated 29 June 2026) and the Spark data questions (hub last updated 24 September 2026). The notice supplements the Google Privacy Policy at policies.google.com/privacy (effective 12 October 2026).",
          "No status page for Gemini Apps or Spark was linked from any page read.",
          "The release notes are the Gemini app's. Their only entry about Spark is dated 19 May 2026.",
          "gemini.google/.well-known/security.txt answered 404. Google's terms link bughunters.google.com as its safety and bug testing programmes. That site's home page is drawn by script and was unread.",
          "gemini.google is a name under Google's own .google top-level domain. Its registration date was not looked up.",
          "policies.google.com/robots.txt answered 404, read as no rules. The robots.txt files of gemini.google, support.google.com and bughunters.google.com allow the pages read."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-spark.json",
      "live": {
        "slug": "gemini-spark",
        "securityTxt": {
          "url": "https://gemini.google/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:38:04.330741241Z"
        },
        "domain": {
          "domain": "gemini.google",
          "registered": "2024-07-10",
          "source": "https://pubapi.registry.google/rdap/domain/gemini.google",
          "checkedAt": "2026-10-25T14:00:45.172505081Z"
        },
        "pages": [
          {
            "url": "https://gemini.google/us/release-notes/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:40:34.193239841Z",
            "changedAt": "2026-10-22T01:18:09.841227104Z",
            "fingerprint": "96a4ca307853"
          },
          {
            "url": "https://support.google.com/gemini/answer/13594961",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T05:49:56.604187442Z",
            "changedAt": "2026-10-30T05:49:56.604187442Z",
            "fingerprint": "26a487812b2c"
          },
          {
            "url": "https://policies.google.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T05:46:05.361923692Z",
            "changedAt": "2026-10-22T01:23:26.522870525Z",
            "fingerprint": "47b73d1f9275"
          }
        ],
        "updatedAt": "2026-10-30T15:38:04.330741241Z"
      }
    },
    "answer": "OpenDuet scores 49.5 (D) on agent readiness against Gemini Spark's 24.9 (F), and leads in 6 of 7 scored categories.",
    "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": "Google LLC",
        "b": "CopilotKit (Tawkit, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the Google Terms of Service",
        "b": "MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-05-19",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-07-30",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-24",
        "b": "2026-08-27",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "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": "not found in the text",
        "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 Gemini Spark's 24.9 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Gemini Spark or OpenDuet?"
      },
      {
        "answer": "No open-source release is listed for Gemini Spark. OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement).",
        "question": "Are Gemini Spark and OpenDuet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A person who already keeps mail, calendar and files in a personal Google Account and accepts Keep Activity being on.",
        "slug": "gemini-spark",
        "watchFor": "No public API, SDK or MCP server for an outside agent was found. Spark is reached in the Gemini mobile app, the Mac app and gemini.google.com"
      },
      {
        "aheadOn": [
          "Reliability, 42 against 14",
          "Schema \u0026 documentation, 58 against 17",
          "Agent ergonomics, 52 against 9",
          "Payments \u0026 pricing, 30 against 10",
          "Maintenance \u0026 community, 37 against 17",
          "Transparency \u0026 trust, 68 against 53"
        ],
        "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-openduet.json",
        "title": "asaply vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Boba vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/boba-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-openduet.json",
        "title": "Brea vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/brea-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-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-gemini-spark.json",
        "title": "AstrBot vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark"
      },
      {
        "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-gemini-spark.json",
        "title": "Boski vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/boski-vs-gemini-spark"
      },
      {
        "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-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-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-gemini-spark.json",
        "title": "Claude Duet vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-gemini-spark"
      },
      {
        "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-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-openduet.json",
        "title": "CowAgent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-gemini-spark.json",
        "title": "folk vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-gemini-spark"
      },
      {
        "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-gemini-spark.json",
        "title": "GAIA vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-gemini-spark"
      },
      {
        "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-grok-bot.json",
        "title": "Gemini Spark vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-haven.json",
        "title": "Gemini Spark vs Haven",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-hermes-agent.json",
        "title": "Gemini Spark vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-instinct.json",
        "title": "Gemini Spark vs Instinct",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-ironclaw.json",
        "title": "Gemini Spark vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-leon.json",
        "title": "Gemini Spark vs Leon",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-lindy.json",
        "title": "Gemini Spark vs Lindy",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-lobby-os.json",
        "title": "Gemini Spark vs Lobby",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot.json",
        "title": "Gemini Spark vs nanobot",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.json",
        "title": "Gemini Spark vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots.json",
        "title": "Gemini Spark vs Dots",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openclaw.json",
        "title": "Gemini Spark vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-picoclaw.json",
        "title": "Gemini Spark vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-poke.json",
        "title": "Gemini Spark vs Poke",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-qwenpaw.json",
        "title": "Gemini Spark vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-tasker-ai.json",
        "title": "Gemini Spark vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-town.json",
        "title": "Gemini Spark vs Town",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-zeroclaw.json",
        "title": "Gemini Spark vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-zo-computer.json",
        "title": "Gemini Spark vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-zo-computer"
      },
      {
        "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/asmi-vs-gemini-spark.json",
        "title": "Asmi vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-gemini-spark.json",
        "title": "Atticus vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-gemini-spark"
      },
      {
        "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/boba-vs-gemini-spark.json",
        "title": "Boba vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/boba-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-gemini-spark.json",
        "title": "DeepTutor vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-gemini-spark"
      },
      {
        "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/gemini-spark-vs-hark-pro.json",
        "title": "Gemini Spark vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.json",
        "title": "Gemini Spark vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-tab-bot.json",
        "title": "Gemini Spark vs Tab",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-talorys.json",
        "title": "Gemini Spark vs Talorys",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-talorys"
      },
      {
        "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/asaply-vs-gemini-spark.json",
        "title": "asaply vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-gemini-spark.json",
        "title": "Brea vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/brea-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-gemini-spark.json",
        "title": "Del vs Gemini Spark",
        "url": "https://www.anchorterminal.com/compare/del-vs-gemini-spark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-hirealpha.json",
        "title": "Gemini Spark vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-natura.json",
        "title": "Gemini Spark vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openinstinct.json",
        "title": "Gemini Spark vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-orbits.json",
        "title": "Gemini Spark vs Orbits",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-orchid-ai.json",
        "title": "Gemini Spark vs Orchid",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-pally.json",
        "title": "Gemini Spark vs Pally",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-szn.json",
        "title": "Gemini Spark vs szn",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-tomo.json",
        "title": "Gemini Spark vs Tomo",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-wajo.json",
        "title": "Gemini Spark vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-zapia.json",
        "title": "Gemini Spark vs Zapia",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-zapia"
      },
      {
        "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": 28,
        "edge": "openduet",
        "gemini-spark": 14,
        "key": "reliability",
        "name": "Reliability",
        "openduet": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "openduet",
        "gemini-spark": 17,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openduet": 58,
        "weight": 13
      },
      {
        "by": 43,
        "edge": "openduet",
        "gemini-spark": 9,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openduet": 52,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "gemini-spark",
        "gemini-spark": 60,
        "key": "security",
        "name": "Security \u0026 auth",
        "openduet": 59,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "openduet",
        "gemini-spark": 10,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openduet": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "openduet",
        "gemini-spark": 17,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openduet": 37,
        "weight": 7
      },
      {
        "by": 15,
        "edge": "openduet",
        "gemini-spark": 53,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openduet": 68,
        "weight": 7
      }
    ],
    "summary": "OpenDuet scores 49.5 (D) on agent readiness against Gemini Spark's 24.9 (F), and leads in 6 of 7 scored categories. Both do proactive personal assistants.",
    "tutorials": [],
    "verdicts": {
      "gemini-spark": "Google's help pages state what Spark confirms before doing, how to delete its remote browser and code data, and the risks of prompt injection. Spark has no public API, Google calls it experimental, and it runs only with Keep Activity on, the setting under which chats are used for model training and human review.",
      "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/gemini-spark-vs-openduet",
    "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.min.md"
  },
  "markdown": "OpenDuet scores 49.5 (D) on agent readiness against Gemini Spark's 24.9 (F), and leads in 6 of 7 scored categories. Both do proactive personal assistants.\n\n- Gemini Spark: grade F, 24.9/100, rank #1172 of 1239. Markdown https://www.anchorterminal.com/tools/gemini-spark.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-spark.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### Gemini Spark (F)\n\nGood for: A person who already keeps mail, calendar and files in a personal Google Account and accepts Keep Activity being on.\n\nWatch for: No public API, SDK or MCP server for an outside agent was found. Spark is reached in the Gemini mobile app, the Mac app and gemini.google.com\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 14\n- Schema \u0026 documentation, 58 against 17\n- Agent ergonomics, 52 against 9\n- Payments \u0026 pricing, 30 against 10\n- Maintenance \u0026 community, 37 against 17\n- Transparency \u0026 trust, 68 against 53\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 | Gemini Spark | OpenDuet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 14 | 42 | OpenDuet +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 17 | 58 | OpenDuet +41 |\n| Agent ergonomics | 13% (16.2 this run) | 9 | 52 | OpenDuet +43 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 59 | Gemini Spark +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 30 | OpenDuet +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 17 | 37 | OpenDuet +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 53 | 68 | OpenDuet +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **24.9 · F** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | Gemini Spark | OpenDuet |\n| --- | --- | --- |\n| Kind | Platform | Agent harness |\n| Vendor | Google LLC | CopilotKit (Tawkit, Inc.) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Google Terms of Service | MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-05-19 | none |\n| Terms last updated | 2026-07-30 | couldn't be read |\n| Privacy policy last updated | 2026-09-24 | 2026-08-27 |\n| Customer content may train models | yes, with an opt-out | 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 | not found in the text | couldn't be read |\n| Popularity | none | 1.6k stars |\n| Agent reviews | 1.8/5 (4) | none |\n\n## Verdicts\n\n**Gemini Spark.** Google's help pages state what Spark confirms before doing, how to delete its remote browser and code data, and the risks of prompt injection. Spark has no public API, Google calls it experimental, and it runs only with Keep Activity on, the setting under which chats are used for model training and human review.\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### Gemini Spark\n\n1. Do not plan an integration against Spark. No public API or MCP server was found, and a person must hold a Google AI Pro or Ultra subscription\n2. Expect a confirmation request before sends, edits, purchases and web form submissions, and note that bulk changes to private Google Tasks run without one\n3. Delete remote browser data and remote code execution data in Gemini Spark Settings after a sensitive session. Deleting a task thread or Gemini Apps activity does not remove them\n4. Keep within 15 running tasks and 50 active schedules. A schedule does not run when 15 tasks are running or the usage limit is reached\n5. Treat every safety statement here as Google's own description. None was tested, and no message was sent to the service\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, Gemini Spark or OpenDuet?\n\nOpenDuet scores 49.5 (D) on agent readiness against Gemini Spark's 24.9 (F), and leads in 6 of 7 scored categories.\n\n### Are Gemini Spark and OpenDuet open source?\n\nNo open-source release is listed for Gemini Spark. 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/gemini-spark-vs-openduet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gemini-spark\", \"b\": \"openduet\"}`. From a terminal: `anchor compare gemini-spark openduet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gemini-spark.json and https://www.anchorterminal.com/api/v1/tools/openduet.json\n\n## Other comparisons with Gemini Spark or OpenDuet\n\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.md)\n- [Boba vs OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Brea vs OpenDuet](https://www.anchorterminal.com/compare/brea-vs-openduet.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 Gemini Spark](https://www.anchorterminal.com/compare/astrbot-vs-gemini-spark.md)\n- [AstrBot vs OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [Boski vs Gemini Spark](https://www.anchorterminal.com/compare/boski-vs-gemini-spark.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Caddy vs Gemini Spark](https://www.anchorterminal.com/compare/caddy-app-vs-gemini-spark.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Claude Duet vs Gemini Spark](https://www.anchorterminal.com/compare/claude-duet-vs-gemini-spark.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [CowAgent vs Gemini Spark](https://www.anchorterminal.com/compare/cowagent-vs-gemini-spark.md)\n- [CowAgent vs OpenDuet](https://www.anchorterminal.com/compare/cowagent-vs-openduet.md)\n- [folk vs Gemini Spark](https://www.anchorterminal.com/compare/folk-nozomio-vs-gemini-spark.md)\n- [folk vs OpenDuet](https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.md)\n- [GAIA vs Gemini Spark](https://www.anchorterminal.com/compare/gaia-vs-gemini-spark.md)\n- [GAIA vs OpenDuet](https://www.anchorterminal.com/compare/gaia-vs-openduet.md)\n- [Gemini Spark vs Grok Bot](https://www.anchorterminal.com/compare/gemini-spark-vs-grok-bot.md)\n- [Gemini Spark vs Haven](https://www.anchorterminal.com/compare/gemini-spark-vs-haven.md)\n- [Gemini Spark vs Hermes Agent](https://www.anchorterminal.com/compare/gemini-spark-vs-hermes-agent.md)\n- [Gemini Spark vs Instinct](https://www.anchorterminal.com/compare/gemini-spark-vs-instinct.md)\n- [Gemini Spark vs IronClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-ironclaw.md)\n- [Gemini Spark vs Leon](https://www.anchorterminal.com/compare/gemini-spark-vs-leon.md)\n- [Gemini Spark vs Lindy](https://www.anchorterminal.com/compare/gemini-spark-vs-lindy.md)\n- [Gemini Spark vs Lobby](https://www.anchorterminal.com/compare/gemini-spark-vs-lobby-os.md)\n- [Gemini Spark vs nanobot](https://www.anchorterminal.com/compare/gemini-spark-vs-nanobot.md)\n- [Gemini Spark vs NanoClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-nanoclaw.md)\n- [Gemini Spark vs Dots](https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots.md)\n- [Gemini Spark vs OpenClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-openclaw.md)\n- [Gemini Spark vs PicoClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-picoclaw.md)\n- [Gemini Spark vs Poke](https://www.anchorterminal.com/compare/gemini-spark-vs-poke.md)\n- [Gemini Spark vs QwenPaw](https://www.anchorterminal.com/compare/gemini-spark-vs-qwenpaw.md)\n- [Gemini Spark vs Tasker AI](https://www.anchorterminal.com/compare/gemini-spark-vs-tasker-ai.md)\n- [Gemini Spark vs Town](https://www.anchorterminal.com/compare/gemini-spark-vs-town.md)\n- [Gemini Spark vs ZeroClaw](https://www.anchorterminal.com/compare/gemini-spark-vs-zeroclaw.md)\n- [Gemini Spark vs Zo Computer](https://www.anchorterminal.com/compare/gemini-spark-vs-zo-computer.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- [Asmi vs Gemini Spark](https://www.anchorterminal.com/compare/asmi-vs-gemini-spark.md)\n- [Atticus vs Gemini Spark](https://www.anchorterminal.com/compare/atticus-vs-gemini-spark.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.md)\n- [Boba vs Gemini Spark](https://www.anchorterminal.com/compare/boba-vs-gemini-spark.md)\n- [DeepTutor vs Gemini Spark](https://www.anchorterminal.com/compare/deeptutor-vs-gemini-spark.md)\n- [DeepTutor vs OpenDuet](https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md)\n- [Gemini Spark vs Hark Pro](https://www.anchorterminal.com/compare/gemini-spark-vs-hark-pro.md)\n- [Gemini Spark vs LearnHarness](https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.md)\n- [Gemini Spark vs Tab](https://www.anchorterminal.com/compare/gemini-spark-vs-tab-bot.md)\n- [Gemini Spark vs Talorys](https://www.anchorterminal.com/compare/gemini-spark-vs-talorys.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- [asaply vs Gemini Spark](https://www.anchorterminal.com/compare/asaply-vs-gemini-spark.md)\n- [Brea vs Gemini Spark](https://www.anchorterminal.com/compare/brea-vs-gemini-spark.md)\n- [Del vs Gemini Spark](https://www.anchorterminal.com/compare/del-vs-gemini-spark.md)\n- [Gemini Spark vs HireAlpha](https://www.anchorterminal.com/compare/gemini-spark-vs-hirealpha.md)\n- [Gemini Spark vs Natura tinyNature](https://www.anchorterminal.com/compare/gemini-spark-vs-natura.md)\n- [Gemini Spark vs OpenInstinct](https://www.anchorterminal.com/compare/gemini-spark-vs-openinstinct.md)\n- [Gemini Spark vs Orbits](https://www.anchorterminal.com/compare/gemini-spark-vs-orbits.md)\n- [Gemini Spark vs Orchid](https://www.anchorterminal.com/compare/gemini-spark-vs-orchid-ai.md)\n- [Gemini Spark vs Pally](https://www.anchorterminal.com/compare/gemini-spark-vs-pally.md)\n- [Gemini Spark vs szn](https://www.anchorterminal.com/compare/gemini-spark-vs-szn.md)\n- [Gemini Spark vs Tomo](https://www.anchorterminal.com/compare/gemini-spark-vs-tomo.md)\n- [Gemini Spark vs Wajo (Fo)](https://www.anchorterminal.com/compare/gemini-spark-vs-wajo.md)\n- [Gemini Spark vs Zapia](https://www.anchorterminal.com/compare/gemini-spark-vs-zapia.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": "Gemini Spark vs OpenDuet",
        "url": ""
      }
    ],
    "description": "OpenDuet scores 49.5 (D) to Gemini Spark's 24.9 (F) for proactive personal assistants. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Gemini Spark F 24.9",
      "OpenDuet D 49.5",
      "scores"
    ],
    "h1": "Gemini Spark vs OpenDuet",
    "image": "https://www.anchorterminal.com/assets/og/compare-gemini-spark-vs-openduet.png",
    "path": "/compare/gemini-spark-vs-openduet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Gemini Spark vs OpenDuet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 730
  },
  "version": 1
}
