Head to head · Proactive personal assistants · October 2026 research run
OpenDuet vs Town
OpenDuet and Town score within a point of each other on agent readiness, 49.5 (D) and 48.7 (D). Town leads on security & auth and maintenance & community. Both do proactive personal assistants.
Best AI personal assistants that act for one person · All 1196 assistants comparisons
Which one, for what
OpenDuet D
Best 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.
Ahead on
- Reliability, 42 against 35
- Schema & documentation, 58 against 33
- Transparency & trust, 68 against 63
Also in its favour
- Open source
Watch for
No release, tag, published image or deploy guide; the README marks it early development
Town D
Best for An owner who wants a mail and calendar assistant whose routines other systems can trigger.
Ahead on
- Security & auth, 79 against 59
- Maintenance & community, 60 against 37
Watch for
The privacy policy describes training with an opt-out and the trust page says training is opt-in.
Score by category
| Category | Weight this run | OpenDuet | Town | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 42 | 35 | OpenDuet +7 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 58 | 33 | OpenDuet +25 |
| Agent ergonomics | 13%16.2 | 52 | 49 | OpenDuet +3 |
| Security & auth | 14%17.5 | 59 | 79 | Town +20 |
| Payments & pricing | 10%12.5 | 30 | 30 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 37 | 60 | Town +23 |
| Transparency & trust | 7%8.8 | 68 | 63 | OpenDuet +5 |
| Negative events | ≤15 | 0 | 0 | |
| Total | D 49.5/100 | D 48.7/100 |
Facts side by side
| Fact | OpenDuet | Town |
|---|---|---|
| Kind | Agent harness | Platform |
| Vendor | CopilotKit (Tawkit, Inc.) | Town.com, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement | Closed service under Town's Terms of Service (Town.com, Inc., updated 21 July 2026). |
| Read-only variant documented | no | yes |
| llms.txt | no | no |
| Last release | none | 2026-10-10 |
| Terms last updated | couldn't be read | 2026-07-21 |
| Privacy policy last updated | 2026-08-27 | 2026-07-21 |
| Customer content may train models | couldn't be read | yes, with an opt-out |
| Terms restrict automated access | couldn't be read | yes |
| Terms restrict benchmarking | couldn't be read | not found in the text |
| Terms or service can change without notice | couldn't be read | not found in the text |
| Arbitration or class-action waiver | couldn't be read | yes |
| Popularity | 1.6k stars | none |
Verdicts
OpenDuet
Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking.
Town
Town is a hosted assistant that works across the owner's mail, calendar and work apps, and other systems can start its routines through per-routine webhooks with rotatable secrets, idempotency keys and documented errors. A caller can't read a run's result. The privacy policy and trust page disagree on whether training is on by default.
Before you call either
OpenDuet
- Follow the README's Quick start (
bun install,bash scripts/start.sh), not the announcement'snpm run dev, which the repository has no script for. - Run
bun openbot/scripts/setup-learning.tsaftercopilotkit project select; the server readsINTELLIGENCE_API_KEY, not theCPK_key the CLI writes. - Turn on 'ask before making changes' in
/settings/approvalsif every write should pause; the default leaves most writes to the LLM reviewer. - To bring your own agent, register it as a
remote-ag-uiBot inagents.yaml; its tool calls still pass through the gateway's policy and audit. - Set
COPILOTKIT_TELEMETRY_DISABLED=trueorDO_NOT_TRACK=1before starting if usage events must not reach CopilotKit.
Town
- Start a Town routine with POST to its webhook URL, Authorization Bearer whsec_ secret, and application/json or text/plain. Expect 202 only.
- Send X-Town-Idempotency-Key with a stable event id on every retry so Town doesn't start a second run.
- Treat 404 as wrong secret, disabled endpoint or missing endpoint alike, and ask the owner to check Routine Settings rather than retrying.
- Send account_email only if the owner allowed the override. It must match a connected account in full and can't widen the routine's scope.
- Ask the owner to keep routines that act on webhook input in approval-required mode, as Town's own docs advise.
Questions
Which is better for AI agents, OpenDuet or Town?
OpenDuet and Town score within a point of each other on agent readiness, 49.5 (D) and 48.7 (D). Town leads on security & auth and maintenance & community.
Are OpenDuet and Town open source?
OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement). No open-source release is listed for Town.
Other comparisons with OpenDuet or Town
- asaply vs OpenDuet
- asaply vs Town
- Asmi vs OpenDuet
- Asmi vs Town
- Boba vs OpenDuet
- Boba vs Town
- Brea vs OpenDuet
- Brea vs Town
- Del vs OpenDuet
- Del vs Town
- HireAlpha vs OpenDuet
- HireAlpha vs Town
- OpenDuet vs OpenInstinct
- OpenDuet vs Orbits
- OpenDuet vs Orchid
- OpenDuet vs szn
- OpenDuet vs Tab
- OpenDuet vs Zapia
- OpenInstinct vs Town
- Orbits vs Town
- Orchid vs Town
- szn vs Town
- Tab vs Town
- Tasker AI vs Town
- Town vs Zapia
- AstrBot vs OpenDuet
- AstrBot vs Town
- Boski vs OpenDuet
- Boski vs Town
- Caddy vs OpenDuet
- Caddy vs Town
- Claude Duet vs OpenDuet
- Claude Duet vs Town
- CowAgent vs OpenDuet
- CowAgent vs Town
- folk vs OpenDuet
- folk vs Town
- GAIA vs OpenDuet
- GAIA vs Town
- Gemini Spark vs OpenDuet
- Gemini Spark vs Town
- Grok Bot vs OpenDuet
- Grok Bot vs Town
- Haven vs OpenDuet
- Haven vs Town
- Hermes Agent vs OpenDuet
- Hermes Agent vs Town
- Instinct vs OpenDuet
- Instinct vs Town
- IronClaw vs OpenDuet
- IronClaw vs Town
- Leon vs OpenDuet
- Leon vs Town
- Lindy vs OpenDuet
- Lindy vs Town
- nanobot vs OpenDuet
- nanobot vs Town
- NanoClaw vs OpenDuet
- NanoClaw vs Town
- Dots vs OpenDuet
- Dots vs Town
- OpenClaw vs OpenDuet
- OpenClaw vs Town
- OpenDuet vs PicoClaw
- OpenDuet vs Poke
- OpenDuet vs QwenPaw
- OpenDuet vs Tasker AI
- OpenDuet vs ZeroClaw
- OpenDuet vs Zo Computer
- PicoClaw vs Town
- Poke vs Town
- QwenPaw vs Town
- Town vs ZeroClaw
- Town vs Zo Computer
- Atticus vs OpenDuet
- Atticus vs Town
- DeepTutor vs OpenDuet
- DeepTutor vs Town
- Hark Pro vs OpenDuet
- Hark Pro vs Town
- LearnHarness vs OpenDuet
- LearnHarness vs Town
- OpenDuet vs Talorys
- Talorys vs Town
- Lobby vs OpenDuet
- Lobby vs Town
- Natura tinyNature vs OpenDuet
- Natura tinyNature vs Town
- OpenDuet vs Pally
- OpenDuet vs Tomo
- OpenDuet vs Wajo (Fo)
- Pally vs Town
- Tomo vs Town
- Town vs Wajo (Fo)
Disclosure
Town 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.
Machine-readable
- This page as Markdown
/compare/openduet-vs-town.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/openduet.json·/api/v1/tools/town.json - From a terminal
anchor compare openduet town(the CLI) - Over MCP
compare_tools {"a": "openduet", "b": "town"}at/mcp, no key