{
  "data": {
    "a": {
      "slug": "deeptutor",
      "name": "DeepTutor",
      "vendor": "HKUDS",
      "vendorUrl": "https://deeptutor.info",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "DeepTutor is an open-source, self-hosted learning workspace from HKUDS for tutoring, quizzes, research reports and knowledge bases, with persistent memory and optional multiple users. It runs as a web app, and a `deeptutor` CLI emits NDJSON for other agents.",
      "url": "https://www.anchorterminal.com/tools/deeptutor",
      "markdownUrl": "https://www.anchorterminal.com/tools/deeptutor.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deeptutor.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deeptutor.json",
      "repo": "https://github.com/HKUDS/DeepTutor",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "deeptutor"
        },
        {
          "registry": "pypi",
          "name": "deeptutor-cli"
        }
      ],
      "auth": "none",
      "authNotes": "No account with the project. The owner adds model provider keys in Settings or through `deeptutor config apply` with `api_key_env` naming an environment variable, or signs in to OpenAI Codex (OAuth), GitHub Copilot (device login) or CodeBuddy. Web sign-in is off by default; with `auth.json` enabled the first registered user becomes admin and grants models, knowledge bases, skills, tools and MCP access to other users (https://github.com/HKUDS/DeepTutor/blob/main/README.md).",
      "pricing": "free",
      "pricingNotes": "Free under the Apache 2.0 licence, and the README says the project has no paid online products. The owner pays the chosen model, embedding and search providers, or nothing with a local model through Ollama, LM Studio, llama.cpp, vLLM or Lemonade. The README carries a PageIndex discount code and an API Route provider preset, both third parties (checked 2026-10-30).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, SKILL.md or the developer handbook (checked 2026-10-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 51497,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://deeptutor.info/",
      "capabilities": [
        "assistant.memory",
        "assistant.self-hosted",
        "assistant.messaging",
        "agent.mcp-client",
        "knowledge.search",
        "search.research",
        "memory.user",
        "document.write"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "apache-2.0",
        "cli",
        "harness",
        "docker",
        "mcp-client",
        "rag",
        "no-card"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.7,
        "grade": "B",
        "agentReady": false,
        "rank": 494,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 84,
          "payments": 60,
          "reliability": 78,
          "schema": 71,
          "security": 51,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-30. CVE-2026-51870 (critical on NVD). Command execution through the TutorBot shell tool's `ExecTool.execute` in v1.4.0, reported in issue #506. v1.4.1 of 27 May 2026 lists it closed with a shell RCE (#518), a filesystem path traversal (#517) and three authorisation bypasses (#514 to #516), and makes shell exec opt-in. Fixed within five days and documented in release notes, -2. https://nvd.nist.gov/vuln/detail/CVE-2026-51870",
          "2026-06-30. GHSA-jg88-rvpc-qvxj (CVE-2026-58168, high). Before 1.4.10, a user grant without `mcp_tools` let non-admin users in multi-user mode invoke every configured MCP tool. Single-user installs were unaffected. Fixed in 1.4.10 of 21 June 2026 with deny-by-default MCP access, -1. https://api.osv.dev/v1/vulns/GHSA-jg88-rvpc-qvxj"
        ],
        "verdict": "DeepTutor runs on the owner's machine under Apache 2.0, ships releases every few days with upgrade notes, and gives other agents a JSON CLI with resumable sessions. Its default launch binds all interfaces with sign-in off and permissive CORS, there is no security policy, and two CVEs in 2026 covered a shell-tool RCE and a multi-user MCP bypass, both fixed.",
        "bestFor": "A learner, a teacher or a small group that wants a self-hosted tutor over their own documents, with quizzes, research reports, memory and IM companions, or for an agent that hands study tasks to it through the JSON CLI.",
        "strengths": [
          "Apache 2.0, self-hosted, and the README says the project sells nothing",
          "`deeptutor run ... --format json` streams NDJSON tagged with `session_id`, and `--session` chains turns headlessly",
          "SKILL.md and AGENT_SETUP.md give an agent a non-interactive setup path with `config apply --check` and `doctor --format json`",
          "Releases every few days with dated notes and upgrade steps, 27 in the 90 days to 30 October 2026",
          "Inspectable file-backed memory with an append-only L1 trace, and grants, audit records and per-user isolation in multi-user mode"
        ],
        "weaknesses": [
          "The default launch binds the backend to 0.0.0.0 with sign-in off and CORS open to any origin with credentials",
          "No SECURITY.md, no private reporting route and no repository-published advisories, while two CVEs were assigned in 2026",
          "The `exec` sandbox falls back to a best-effort restricted subprocess by default when no runner or bubblewrap is present",
          "Nightly test runs on main failed every night from 20 to 28 October 2026 before passing again on 29 and 30 October",
          "Provider keys are stored in plain JSON under `data/user/settings/`"
        ],
        "agentNotes": [
          "Run `deeptutor run \u003ccapability\u003e \"...\" --format json` and read the `done` event's `session_id`; pass `--session` to continue the same session",
          "Configure with `deeptutor config apply setup.json --check` first, naming keys through `api_key_env`; literal keys are rejected",
          "Before exposing it beyond one machine, enable sign-in in `auth.json`, set exact `cors_origins` and set `BACKEND_HOST=127.0.0.1` where loopback is wanted",
          "Run 1.4.10 or later. Earlier versions carry CVE-2026-51870 (shell tool RCE, fixed in 1.4.1) and CVE-2026-58168 (multi-user MCP bypass)",
          "Set `sandbox_allow_subprocess` to false where generated code must run only in the runner sidecar or bubblewrap"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.7
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 84,
          "payments": 60,
          "reliability": 78,
          "schema": 71,
          "security": 51,
          "transparency": 65
        },
        "provenanceScore": 39,
        "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": "pip install -U \"deeptutor[full]\"   # then: deeptutor init \u0026\u0026 deeptutor start   # or: docker run --rm -p 127.0.0.1:3782:3782 -v deeptutor-data:/app/data ghcr.io/hkuds/deeptutor:latest",
        "headless": {
          "command": "deeptutor run chat \"$TASK\" --format json"
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.memory",
        "tool": "https://letme.dev/deeptutor"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "deeptutor.info",
        "domainRegistered": "2026-05-20",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/HKUDS/DeepTutor/releases",
        "securityTxt": "unknown",
        "checked": "2026-10-30",
        "notes": [
          "No legal entity is named. The repository belongs to the GitHub organisation HKUDS, the Data Intelligence Lab at the University of Hong Kong, and the README says the project is led by Bingxi Zhao within the HKUDS group.",
          "deeptutor.info's robots.txt disallows ClaudeBot, Claude-Web and anthropic-ai, so its pages were not read. Its terms, privacy page and security.txt are unknown.",
          "No SECURITY.md was found in the repository tree on 30 October 2026.",
          "RDAP gives a registration date of 20 May 2026 for deeptutor.info. The README dates the docs site's launch to 22 May 2026.",
          "There is no hosted endpoint. The API answers on the owner's own host."
        ],
        "score": 39
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deeptutor.json"
    },
    "answer": "DeepTutor scores 62.7 (B) on agent readiness against Town's 48.7 (D), and leads in 5 of 7 scored categories. Town leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "town",
      "name": "Town",
      "vendor": "Town.com, Inc.",
      "vendorUrl": "https://www.town.com",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Town is a hosted AI assistant, called a Townie, with its own email address. It works across the owner's email, calendar and connected work apps, runs scheduled routines, and answers by email, text, WhatsApp, Telegram, the web or iOS.",
      "url": "https://www.anchorterminal.com/tools/town",
      "markdownUrl": "https://www.anchorterminal.com/tools/town.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/town.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/town.json",
      "license": "Closed service under Town's Terms of Service (Town.com, Inc., updated 21 July 2026).",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "People sign up at town.com with account credentials or a linked Google or single sign-on account (https://www.town.com/terms-of-service). A routine can expose its own webhook URL, called with a bearer secret that is shown once and can be rotated. Town answers a wrong secret, a disabled endpoint and a missing one with the same 404 (https://www.town.com/docs/routines/stock-routines/webhooks).",
      "pricing": "freemium",
      "pricingNotes": "Free at $0 with no credit card, 30 chat messages a month, the weekly briefing and a 7-day Pro trial on signup. Starter is $15 a month billed monthly with 1,250 credits. Pro ($49), Power ($99) and Power Plus ($199) are monthly prices at the billed-annually rate, and monthly billing is \"available at a slightly higher rate\". Team is $59 and Team Plus $149 a seat a month. Credits past the allotment bill at $0.044 (Pro), $0.038 (Power, Team), $0.032 (Power Plus) and $0.030 (Team Plus), with an optional monthly spend cap (https://www.town.com/pricing and https://www.town.com/docs/billing/plans, checked 14 October 2026).",
      "priceSummary": "$15 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on town.com's pricing, docs and terms, checked 14 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://www.town.com/docs",
      "capabilities": [
        "assistant.proactive",
        "assistant.messaging",
        "assistant.accounts",
        "assistant.memory",
        "mailbox.read",
        "mailbox.send",
        "calendar.write",
        "messaging.whatsapp",
        "messaging.rcs",
        "messaging.inbound",
        "email.inbound",
        "voice.calls",
        "memory.user",
        "tasks.create",
        "notify.push",
        "agent.multi-agent",
        "agent.mcp-client"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "ios",
        "soc2",
        "webhooks"
      ],
      "lastRelease": "2026-10-10",
      "graded": true,
      "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.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 48.7,
        "grade": "D",
        "agentReady": false,
        "rank": 982,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 60,
          "payments": 30,
          "reliability": 35,
          "schema": 33,
          "security": 79,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "An owner who wants a mail and calendar assistant whose routines other systems can trigger.",
        "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.",
        "strengths": [
          "Per-routine webhook secrets, shown once and rotatable, with an X-Town-Idempotency-Key header and six documented responses.",
          "Routines run in autonomous, approval-required or read-only mode, with per-tool overrides and account scope defaulting to the trigger account.",
          "Webhook payloads are framed as untrusted data, and Town can block a webhook routine that combines untrusted input with autonomous sending.",
          "SOC 2 Type 2 audited per the trust page, with a security@corp.town.com reporting address.",
          "Free plan at $0 with no credit card, and a dated subprocessor list naming model providers."
        ],
        "weaknesses": [
          "The privacy policy describes training with an opt-out and the trust page says training is opt-in.",
          "The trust page says Town never sends without the owner's OK, while the docs describe autonomous routines and an Allow all actions session mode.",
          "A webhook call returns only 202, so the caller can't read what the routine did.",
          "No status page, published webhook rate limit or SLA found."
        ],
        "agentNotes": [
          "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."
        ],
        "metrics": {
          "kind": "remote",
          "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": 48.7
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 60,
          "payments": 30,
          "reliability": 35,
          "schema": 33,
          "security": 79,
          "transparency": 50
        },
        "provenanceScore": 76,
        "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/town"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Town Starter",
          "unit": "month",
          "usd": 15,
          "note": "Billed monthly, 1,250 credits. Checked 14 October 2026."
        },
        {
          "item": "Town Pro",
          "unit": "month",
          "usd": 49,
          "note": "Billed annually, 5,000 credits. Monthly billing costs more."
        },
        {
          "item": "Town Power",
          "unit": "month",
          "usd": 99,
          "note": "Billed annually, 12,000 credits."
        },
        {
          "item": "Town Power Plus",
          "unit": "month",
          "usd": 199,
          "note": "40,000 credits."
        },
        {
          "item": "Town Team",
          "unit": "seat-month",
          "usd": 59,
          "note": "6,000 credits a seat, pooled."
        },
        {
          "item": "Town Pro overage",
          "unit": "credit",
          "usd": 0.044,
          "note": "Per credit past the plan allotment."
        }
      ],
      "provenance": {
        "legalEntity": "Town.com, Inc.",
        "domain": "town.com",
        "domainRegistered": "1996-11-13",
        "endpointOnVendorDomain": null,
        "terms": "https://www.town.com/terms-of-service",
        "privacy": "https://www.town.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.town.com/updates",
        "securityTxt": "unknown",
        "checked": "2026-10-14",
        "notes": [
          "town.com's robots.txt gives ClaudeBot an allow list of named pages and disallows everything else, so only listed pages were read. security.txt and llms.txt are not on the list and were not requested.",
          "The terms name Town.com, Inc. and were updated on 21 July 2026. Legal contact legal@corp.town.com, support support@corp.town.com.",
          "No status page was found on the pages read.",
          "Webhook URLs are created per routine on Town's own service; their host is not shown in the docs.",
          "RDAP gives a registration date of 1996-11-13 for town.com, which predates the company."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/town.json",
      "live": {
        "slug": "town",
        "securityTxt": {
          "url": "https://town.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-30T15:38:06.450308749Z"
        },
        "domain": {
          "domain": "town.com",
          "registered": "1996-11-13",
          "source": "https://rdap.verisign.com/com/v1/domain/town.com",
          "checkedAt": "2026-10-25T14:05:10.658815214Z"
        },
        "pages": [
          {
            "url": "https://www.town.com/updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T06:01:48.229753137Z",
            "changedAt": "2026-10-30T06:01:48.229753137Z",
            "fingerprint": "62fda947ba0b"
          },
          {
            "url": "https://www.town.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-30T06:01:41.542770458Z",
            "changedAt": "2026-10-27T04:06:31.780854595Z",
            "fingerprint": "c92a0c630e40"
          },
          {
            "url": "https://www.town.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-30T06:01:44.182834976Z",
            "changedAt": "2026-10-27T04:06:34.520179089Z",
            "fingerprint": "8ff4974df4b9"
          },
          {
            "url": "https://www.town.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-30T06:01:46.175347668Z",
            "changedAt": "2026-10-27T04:06:36.317193177Z",
            "fingerprint": "9d52e5b60ac8"
          }
        ],
        "updatedAt": "2026-10-30T15:38:06.450308749Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "HKUDS",
        "b": "Town.com, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Closed service under Town's Terms of Service (Town.com, Inc., updated 21 July 2026).",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-10-10",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-07-21",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-07-21",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "51k stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "DeepTutor scores 62.7 (B) on agent readiness against Town's 48.7 (D), and leads in 5 of 7 scored categories. Town leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, DeepTutor or Town?"
      },
      {
        "answer": "DeepTutor is open source (Apache-2.0). No open-source release is listed for Town.",
        "question": "Are DeepTutor and Town open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 78 against 35",
          "Schema \u0026 documentation, 71 against 33",
          "Agent ergonomics, 63 against 49",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 84 against 60"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A learner, a teacher or a small group that wants a self-hosted tutor over their own documents, with quizzes, research reports, memory and IM companions, or for an agent that hands study tasks to it through the JSON CLI.",
        "slug": "deeptutor",
        "watchFor": "The default launch binds the backend to 0.0.0.0 with sign-in off and CORS open to any origin with credentials"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 79 against 51",
          "Transparency \u0026 trust, 63 against 52"
        ],
        "also": [
          "No incidents deducted, where DeepTutor loses 3 points for them"
        ],
        "goodFor": "An owner who wants a mail and calendar assistant whose routines other systems can trigger.",
        "slug": "town",
        "watchFor": "The privacy policy describes training with an opt-out and the trust page says training is opt-in."
      }
    ],
    "job": {
      "capability": "assistant.memory",
      "name": "Assistants that remember you"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-deeptutor.json",
        "title": "asaply vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-town.json",
        "title": "asaply vs Town",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-deeptutor.json",
        "title": "Asmi vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-town.json",
        "title": "Asmi vs Town",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-deeptutor.json",
        "title": "AstrBot vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-deeptutor.json",
        "title": "Boba vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/boba-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-town.json",
        "title": "Boba vs Town",
        "url": "https://www.anchorterminal.com/compare/boba-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-deeptutor.json",
        "title": "Brea vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/brea-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-town.json",
        "title": "Brea vs Town",
        "url": "https://www.anchorterminal.com/compare/brea-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-town.json",
        "title": "Del vs Town",
        "url": "https://www.anchorterminal.com/compare/del-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-town.json",
        "title": "HireAlpha vs Town",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openinstinct-vs-town.json",
        "title": "OpenInstinct vs Town",
        "url": "https://www.anchorterminal.com/compare/openinstinct-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orbits-vs-town.json",
        "title": "Orbits vs Town",
        "url": "https://www.anchorterminal.com/compare/orbits-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/orchid-ai-vs-town.json",
        "title": "Orchid vs Town",
        "url": "https://www.anchorterminal.com/compare/orchid-ai-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/szn-vs-town.json",
        "title": "szn vs Town",
        "url": "https://www.anchorterminal.com/compare/szn-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tab-bot-vs-town.json",
        "title": "Tab vs Town",
        "url": "https://www.anchorterminal.com/compare/tab-bot-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tasker-ai-vs-town.json",
        "title": "Tasker AI vs Town",
        "url": "https://www.anchorterminal.com/compare/tasker-ai-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/town-vs-zapia.json",
        "title": "Town vs Zapia",
        "url": "https://www.anchorterminal.com/compare/town-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-town.json",
        "title": "AstrBot vs Town",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-town.json",
        "title": "Boski vs Town",
        "url": "https://www.anchorterminal.com/compare/boski-vs-town"
      },
      {
        "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/claude-duet-vs-town.json",
        "title": "Claude Duet vs Town",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-town.json",
        "title": "CowAgent vs Town",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-town.json",
        "title": "folk vs Town",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-town.json",
        "title": "GAIA vs Town",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-town"
      },
      {
        "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/grok-bot-vs-town.json",
        "title": "Grok Bot vs Town",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-town.json",
        "title": "Haven vs Town",
        "url": "https://www.anchorterminal.com/compare/haven-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-town.json",
        "title": "Hermes Agent vs Town",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-town.json",
        "title": "Instinct vs Town",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-town.json",
        "title": "IronClaw vs Town",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-town.json",
        "title": "Leon vs Town",
        "url": "https://www.anchorterminal.com/compare/leon-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-town.json",
        "title": "Lindy vs Town",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-town.json",
        "title": "nanobot vs Town",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-town.json",
        "title": "NanoClaw vs Town",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-town.json",
        "title": "Dots vs Town",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-town.json",
        "title": "OpenClaw vs Town",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-town"
      },
      {
        "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/picoclaw-vs-town.json",
        "title": "PicoClaw vs Town",
        "url": "https://www.anchorterminal.com/compare/picoclaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/poke-vs-town.json",
        "title": "Poke vs Town",
        "url": "https://www.anchorterminal.com/compare/poke-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwenpaw-vs-town.json",
        "title": "QwenPaw vs Town",
        "url": "https://www.anchorterminal.com/compare/qwenpaw-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/town-vs-zeroclaw.json",
        "title": "Town vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/town-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/town-vs-zo-computer.json",
        "title": "Town vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/town-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-deeptutor.json",
        "title": "Atticus vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-town.json",
        "title": "Atticus vs Town",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-deeptutor.json",
        "title": "Boski vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/boski-vs-deeptutor"
      },
      {
        "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/claude-duet-vs-deeptutor.json",
        "title": "Claude Duet vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-deeptutor.json",
        "title": "CowAgent vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-deeptutor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-del.json",
        "title": "DeepTutor vs Del",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-del"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-folk-nozomio.json",
        "title": "DeepTutor vs folk",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-folk-nozomio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-gaia.json",
        "title": "DeepTutor vs GAIA",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-gaia"
      },
      {
        "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-grok-bot.json",
        "title": "DeepTutor vs Grok Bot",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-grok-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-hark-pro.json",
        "title": "DeepTutor vs Hark Pro",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-hark-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-haven.json",
        "title": "DeepTutor vs Haven",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-haven"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-hermes-agent.json",
        "title": "DeepTutor vs Hermes Agent",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-hermes-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-hirealpha.json",
        "title": "DeepTutor vs HireAlpha",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-hirealpha"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-instinct.json",
        "title": "DeepTutor vs Instinct",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-instinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-ironclaw.json",
        "title": "DeepTutor vs IronClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-ironclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-learnharness.json",
        "title": "DeepTutor vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-leon.json",
        "title": "DeepTutor vs Leon",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-lindy.json",
        "title": "DeepTutor vs Lindy",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-lobby-os.json",
        "title": "DeepTutor vs Lobby",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-nanobot.json",
        "title": "DeepTutor vs nanobot",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw.json",
        "title": "DeepTutor vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-natura.json",
        "title": "DeepTutor vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openai-dots.json",
        "title": "DeepTutor vs Dots",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openclaw.json",
        "title": "DeepTutor vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet.json",
        "title": "DeepTutor vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openinstinct.json",
        "title": "DeepTutor vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-orbits.json",
        "title": "DeepTutor vs Orbits",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-orchid-ai.json",
        "title": "DeepTutor vs Orchid",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-pally.json",
        "title": "DeepTutor vs Pally",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-picoclaw.json",
        "title": "DeepTutor vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-poke.json",
        "title": "DeepTutor vs Poke",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-qwenpaw.json",
        "title": "DeepTutor vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-szn.json",
        "title": "DeepTutor vs szn",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-tab-bot.json",
        "title": "DeepTutor vs Tab",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-talorys.json",
        "title": "DeepTutor vs Talorys",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-tasker-ai.json",
        "title": "DeepTutor vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-tomo.json",
        "title": "DeepTutor vs Tomo",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-wajo.json",
        "title": "DeepTutor vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-zapia.json",
        "title": "DeepTutor vs Zapia",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-zeroclaw.json",
        "title": "DeepTutor vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deeptutor-vs-zo-computer.json",
        "title": "DeepTutor vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-town.json",
        "title": "Hark Pro vs Town",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-town.json",
        "title": "LearnHarness vs Town",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/talorys-vs-town.json",
        "title": "Talorys vs Town",
        "url": "https://www.anchorterminal.com/compare/talorys-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lobby-os-vs-town.json",
        "title": "Lobby vs Town",
        "url": "https://www.anchorterminal.com/compare/lobby-os-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/natura-vs-town.json",
        "title": "Natura tinyNature vs Town",
        "url": "https://www.anchorterminal.com/compare/natura-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pally-vs-town.json",
        "title": "Pally vs Town",
        "url": "https://www.anchorterminal.com/compare/pally-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomo-vs-town.json",
        "title": "Tomo vs Town",
        "url": "https://www.anchorterminal.com/compare/tomo-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/town-vs-wajo.json",
        "title": "Town vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/town-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-job-search-vs-deeptutor.json",
        "title": "AI Job Search vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/ai-job-search-vs-deeptutor"
      }
    ],
    "scores": [
      {
        "by": 43,
        "deeptutor": 78,
        "edge": "deeptutor",
        "key": "reliability",
        "name": "Reliability",
        "town": 35,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 38,
        "deeptutor": 71,
        "edge": "deeptutor",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "town": 33,
        "weight": 13
      },
      {
        "by": 14,
        "deeptutor": 63,
        "edge": "deeptutor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "town": 49,
        "weight": 13
      },
      {
        "by": 28,
        "deeptutor": 51,
        "edge": "town",
        "key": "security",
        "name": "Security \u0026 auth",
        "town": 79,
        "weight": 14
      },
      {
        "by": 30,
        "deeptutor": 60,
        "edge": "deeptutor",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "town": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "deeptutor": 84,
        "edge": "deeptutor",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "town": 60,
        "weight": 7
      },
      {
        "by": 11,
        "deeptutor": 52,
        "edge": "town",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "town": 63,
        "weight": 7
      }
    ],
    "summary": "DeepTutor scores 62.7 (B) on agent readiness against Town's 48.7 (D), and leads in 5 of 7 scored categories. Town leads on security \u0026 auth and transparency \u0026 trust. Both do assistants that remember you.",
    "tutorials": [],
    "verdicts": {
      "deeptutor": "DeepTutor runs on the owner's machine under Apache 2.0, ships releases every few days with upgrade notes, and gives other agents a JSON CLI with resumable sessions. Its default launch binds all interfaces with sign-in off and permissive CORS, there is no security policy, and two CVEs in 2026 covered a shell-tool RCE and a multi-user MCP bypass, both fixed.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deeptutor-vs-town",
    "json": "https://www.anchorterminal.com/compare/deeptutor-vs-town.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deeptutor-vs-town.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deeptutor-vs-town.min.md"
  },
  "markdown": "DeepTutor scores 62.7 (B) on agent readiness against Town's 48.7 (D), and leads in 5 of 7 scored categories. Town leads on security \u0026 auth and transparency \u0026 trust. Both do assistants that remember you.\n\n- DeepTutor: grade B, 62.7/100, rank #494 of 1239. Markdown https://www.anchorterminal.com/tools/deeptutor.md · JSON https://www.anchorterminal.com/api/v1/tools/deeptutor.json\n- Town: grade D, 48.7/100, rank #982 of 1239. Markdown https://www.anchorterminal.com/tools/town.md · JSON https://www.anchorterminal.com/api/v1/tools/town.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### DeepTutor (B)\n\nGood for: A learner, a teacher or a small group that wants a self-hosted tutor over their own documents, with quizzes, research reports, memory and IM companions, or for an agent that hands study tasks to it through the JSON CLI.\n\nAhead on:\n- Reliability, 78 against 35\n- Schema \u0026 documentation, 71 against 33\n- Agent ergonomics, 63 against 49\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 84 against 60\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: The default launch binds the backend to 0.0.0.0 with sign-in off and CORS open to any origin with credentials\n\n### Town (D)\n\nGood for: An owner who wants a mail and calendar assistant whose routines other systems can trigger.\n\nAhead on:\n- Security \u0026 auth, 79 against 51\n- Transparency \u0026 trust, 63 against 52\n\nAlso in its favour:\n- No incidents deducted, where DeepTutor loses 3 points for them\n\nWatch for: The privacy policy describes training with an opt-out and the trust page says training is opt-in.\n\n\n## Score by category\n\n| Category | Weight | DeepTutor | Town | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 35 | DeepTutor +43 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 33 | DeepTutor +38 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 49 | DeepTutor +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 79 | Town +28 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | DeepTutor +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 60 | DeepTutor +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 63 | Town +11 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **62.7 · B** | **48.7 · D** | |\n\n## Facts side by side\n\n| Fact | DeepTutor | Town |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | HKUDS | Town.com, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Closed service under Town's Terms of Service (Town.com, Inc., updated 21 July 2026). |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-10-28 | 2026-10-10 |\n| Terms last updated | no document linked | 2026-07-21 |\n| Privacy policy last updated | no document linked | 2026-07-21 |\n| Customer content may train models |  | yes, with an opt-out |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 51k stars | none |\n\n## Verdicts\n\n**DeepTutor.** DeepTutor runs on the owner's machine under Apache 2.0, ships releases every few days with upgrade notes, and gives other agents a JSON CLI with resumable sessions. Its default launch binds all interfaces with sign-in off and permissive CORS, there is no security policy, and two CVEs in 2026 covered a shell-tool RCE and a multi-user MCP bypass, both fixed.\n\n**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.\n\n## Before you call either\n\n### DeepTutor\n\n1. Run `deeptutor run \u003ccapability\u003e \"...\" --format json` and read the `done` event's `session_id`; pass `--session` to continue the same session\n2. Configure with `deeptutor config apply setup.json --check` first, naming keys through `api_key_env`; literal keys are rejected\n3. Before exposing it beyond one machine, enable sign-in in `auth.json`, set exact `cors_origins` and set `BACKEND_HOST=127.0.0.1` where loopback is wanted\n4. Run 1.4.10 or later. Earlier versions carry CVE-2026-51870 (shell tool RCE, fixed in 1.4.1) and CVE-2026-58168 (multi-user MCP bypass)\n5. Set `sandbox_allow_subprocess` to false where generated code must run only in the runner sidecar or bubblewrap\n\n### Town\n\n1. Start a Town routine with POST to its webhook URL, Authorization Bearer whsec_ secret, and application/json or text/plain. Expect 202 only.\n2. Send X-Town-Idempotency-Key with a stable event id on every retry so Town doesn't start a second run.\n3. Treat 404 as wrong secret, disabled endpoint or missing endpoint alike, and ask the owner to check Routine Settings rather than retrying.\n4. 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.\n5. Ask the owner to keep routines that act on webhook input in approval-required mode, as Town's own docs advise.\n\n## Questions\n\n### Which is better for AI agents, DeepTutor or Town?\n\nDeepTutor scores 62.7 (B) on agent readiness against Town's 48.7 (D), and leads in 5 of 7 scored categories. Town leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are DeepTutor and Town open source?\n\nDeepTutor is open source (Apache-2.0). No open-source release is listed for Town.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deeptutor-vs-town.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deeptutor-vs-town.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deeptutor\", \"b\": \"town\"}`. From a terminal: `anchor compare deeptutor town`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deeptutor.json and https://www.anchorterminal.com/api/v1/tools/town.json\n\n## Other comparisons with DeepTutor or Town\n\n- [asaply vs DeepTutor](https://www.anchorterminal.com/compare/asaply-vs-deeptutor.md)\n- [asaply vs Town](https://www.anchorterminal.com/compare/asaply-vs-town.md)\n- [Asmi vs DeepTutor](https://www.anchorterminal.com/compare/asmi-vs-deeptutor.md)\n- [Asmi vs Town](https://www.anchorterminal.com/compare/asmi-vs-town.md)\n- [AstrBot vs DeepTutor](https://www.anchorterminal.com/compare/astrbot-vs-deeptutor.md)\n- [Boba vs DeepTutor](https://www.anchorterminal.com/compare/boba-vs-deeptutor.md)\n- [Boba vs Town](https://www.anchorterminal.com/compare/boba-vs-town.md)\n- [Brea vs DeepTutor](https://www.anchorterminal.com/compare/brea-vs-deeptutor.md)\n- [Brea vs Town](https://www.anchorterminal.com/compare/brea-vs-town.md)\n- [Del vs Town](https://www.anchorterminal.com/compare/del-vs-town.md)\n- [HireAlpha vs Town](https://www.anchorterminal.com/compare/hirealpha-vs-town.md)\n- [OpenInstinct vs Town](https://www.anchorterminal.com/compare/openinstinct-vs-town.md)\n- [Orbits vs Town](https://www.anchorterminal.com/compare/orbits-vs-town.md)\n- [Orchid vs Town](https://www.anchorterminal.com/compare/orchid-ai-vs-town.md)\n- [szn vs Town](https://www.anchorterminal.com/compare/szn-vs-town.md)\n- [Tab vs Town](https://www.anchorterminal.com/compare/tab-bot-vs-town.md)\n- [Tasker AI vs Town](https://www.anchorterminal.com/compare/tasker-ai-vs-town.md)\n- [Town vs Zapia](https://www.anchorterminal.com/compare/town-vs-zapia.md)\n- [AstrBot vs Town](https://www.anchorterminal.com/compare/astrbot-vs-town.md)\n- [Boski vs Town](https://www.anchorterminal.com/compare/boski-vs-town.md)\n- [Caddy vs Town](https://www.anchorterminal.com/compare/caddy-app-vs-town.md)\n- [Claude Duet vs Town](https://www.anchorterminal.com/compare/claude-duet-vs-town.md)\n- [CowAgent vs Town](https://www.anchorterminal.com/compare/cowagent-vs-town.md)\n- [folk vs Town](https://www.anchorterminal.com/compare/folk-nozomio-vs-town.md)\n- [GAIA vs Town](https://www.anchorterminal.com/compare/gaia-vs-town.md)\n- [Gemini Spark vs Town](https://www.anchorterminal.com/compare/gemini-spark-vs-town.md)\n- [Grok Bot vs Town](https://www.anchorterminal.com/compare/grok-bot-vs-town.md)\n- [Haven vs Town](https://www.anchorterminal.com/compare/haven-vs-town.md)\n- [Hermes Agent vs Town](https://www.anchorterminal.com/compare/hermes-agent-vs-town.md)\n- [Instinct vs Town](https://www.anchorterminal.com/compare/instinct-vs-town.md)\n- [IronClaw vs Town](https://www.anchorterminal.com/compare/ironclaw-vs-town.md)\n- [Leon vs Town](https://www.anchorterminal.com/compare/leon-vs-town.md)\n- [Lindy vs Town](https://www.anchorterminal.com/compare/lindy-vs-town.md)\n- [nanobot vs Town](https://www.anchorterminal.com/compare/nanobot-vs-town.md)\n- [NanoClaw vs Town](https://www.anchorterminal.com/compare/nanoclaw-vs-town.md)\n- [Dots vs Town](https://www.anchorterminal.com/compare/openai-dots-vs-town.md)\n- [OpenClaw vs Town](https://www.anchorterminal.com/compare/openclaw-vs-town.md)\n- [OpenDuet vs Town](https://www.anchorterminal.com/compare/openduet-vs-town.md)\n- [PicoClaw vs Town](https://www.anchorterminal.com/compare/picoclaw-vs-town.md)\n- [Poke vs Town](https://www.anchorterminal.com/compare/poke-vs-town.md)\n- [QwenPaw vs Town](https://www.anchorterminal.com/compare/qwenpaw-vs-town.md)\n- [Town vs ZeroClaw](https://www.anchorterminal.com/compare/town-vs-zeroclaw.md)\n- [Town vs Zo Computer](https://www.anchorterminal.com/compare/town-vs-zo-computer.md)\n- [Atticus vs DeepTutor](https://www.anchorterminal.com/compare/atticus-vs-deeptutor.md)\n- [Atticus vs Town](https://www.anchorterminal.com/compare/atticus-vs-town.md)\n- [Boski vs DeepTutor](https://www.anchorterminal.com/compare/boski-vs-deeptutor.md)\n- [Caddy vs DeepTutor](https://www.anchorterminal.com/compare/caddy-app-vs-deeptutor.md)\n- [Claude Duet vs DeepTutor](https://www.anchorterminal.com/compare/claude-duet-vs-deeptutor.md)\n- [CowAgent vs DeepTutor](https://www.anchorterminal.com/compare/cowagent-vs-deeptutor.md)\n- [DeepTutor vs Del](https://www.anchorterminal.com/compare/deeptutor-vs-del.md)\n- [DeepTutor vs folk](https://www.anchorterminal.com/compare/deeptutor-vs-folk-nozomio.md)\n- [DeepTutor vs GAIA](https://www.anchorterminal.com/compare/deeptutor-vs-gaia.md)\n- [DeepTutor vs Gemini Spark](https://www.anchorterminal.com/compare/deeptutor-vs-gemini-spark.md)\n- [DeepTutor vs Grok Bot](https://www.anchorterminal.com/compare/deeptutor-vs-grok-bot.md)\n- [DeepTutor vs Hark Pro](https://www.anchorterminal.com/compare/deeptutor-vs-hark-pro.md)\n- [DeepTutor vs Haven](https://www.anchorterminal.com/compare/deeptutor-vs-haven.md)\n- [DeepTutor vs Hermes Agent](https://www.anchorterminal.com/compare/deeptutor-vs-hermes-agent.md)\n- [DeepTutor vs HireAlpha](https://www.anchorterminal.com/compare/deeptutor-vs-hirealpha.md)\n- [DeepTutor vs Instinct](https://www.anchorterminal.com/compare/deeptutor-vs-instinct.md)\n- [DeepTutor vs IronClaw](https://www.anchorterminal.com/compare/deeptutor-vs-ironclaw.md)\n- [DeepTutor vs LearnHarness](https://www.anchorterminal.com/compare/deeptutor-vs-learnharness.md)\n- [DeepTutor vs Leon](https://www.anchorterminal.com/compare/deeptutor-vs-leon.md)\n- [DeepTutor vs Lindy](https://www.anchorterminal.com/compare/deeptutor-vs-lindy.md)\n- [DeepTutor vs Lobby](https://www.anchorterminal.com/compare/deeptutor-vs-lobby-os.md)\n- [DeepTutor vs nanobot](https://www.anchorterminal.com/compare/deeptutor-vs-nanobot.md)\n- [DeepTutor vs NanoClaw](https://www.anchorterminal.com/compare/deeptutor-vs-nanoclaw.md)\n- [DeepTutor vs Natura tinyNature](https://www.anchorterminal.com/compare/deeptutor-vs-natura.md)\n- [DeepTutor vs Dots](https://www.anchorterminal.com/compare/deeptutor-vs-openai-dots.md)\n- [DeepTutor vs OpenClaw](https://www.anchorterminal.com/compare/deeptutor-vs-openclaw.md)\n- [DeepTutor vs OpenDuet](https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md)\n- [DeepTutor vs OpenInstinct](https://www.anchorterminal.com/compare/deeptutor-vs-openinstinct.md)\n- [DeepTutor vs Orbits](https://www.anchorterminal.com/compare/deeptutor-vs-orbits.md)\n- [DeepTutor vs Orchid](https://www.anchorterminal.com/compare/deeptutor-vs-orchid-ai.md)\n- [DeepTutor vs Pally](https://www.anchorterminal.com/compare/deeptutor-vs-pally.md)\n- [DeepTutor vs PicoClaw](https://www.anchorterminal.com/compare/deeptutor-vs-picoclaw.md)\n- [DeepTutor vs Poke](https://www.anchorterminal.com/compare/deeptutor-vs-poke.md)\n- [DeepTutor vs QwenPaw](https://www.anchorterminal.com/compare/deeptutor-vs-qwenpaw.md)\n- [DeepTutor vs szn](https://www.anchorterminal.com/compare/deeptutor-vs-szn.md)\n- [DeepTutor vs Tab](https://www.anchorterminal.com/compare/deeptutor-vs-tab-bot.md)\n- [DeepTutor vs Talorys](https://www.anchorterminal.com/compare/deeptutor-vs-talorys.md)\n- [DeepTutor vs Tasker AI](https://www.anchorterminal.com/compare/deeptutor-vs-tasker-ai.md)\n- [DeepTutor vs Tomo](https://www.anchorterminal.com/compare/deeptutor-vs-tomo.md)\n- [DeepTutor vs Wajo (Fo)](https://www.anchorterminal.com/compare/deeptutor-vs-wajo.md)\n- [DeepTutor vs Zapia](https://www.anchorterminal.com/compare/deeptutor-vs-zapia.md)\n- [DeepTutor vs ZeroClaw](https://www.anchorterminal.com/compare/deeptutor-vs-zeroclaw.md)\n- [DeepTutor vs Zo Computer](https://www.anchorterminal.com/compare/deeptutor-vs-zo-computer.md)\n- [Hark Pro vs Town](https://www.anchorterminal.com/compare/hark-pro-vs-town.md)\n- [LearnHarness vs Town](https://www.anchorterminal.com/compare/learnharness-vs-town.md)\n- [Talorys vs Town](https://www.anchorterminal.com/compare/talorys-vs-town.md)\n- [Lobby vs Town](https://www.anchorterminal.com/compare/lobby-os-vs-town.md)\n- [Natura tinyNature vs Town](https://www.anchorterminal.com/compare/natura-vs-town.md)\n- [Pally vs Town](https://www.anchorterminal.com/compare/pally-vs-town.md)\n- [Tomo vs Town](https://www.anchorterminal.com/compare/tomo-vs-town.md)\n- [Town vs Wajo (Fo)](https://www.anchorterminal.com/compare/town-vs-wajo.md)\n- [AI Job Search vs DeepTutor](https://www.anchorterminal.com/compare/ai-job-search-vs-deeptutor.md)\n\n## Disclosure\n\n- 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.\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": "DeepTutor vs Town",
        "url": ""
      }
    ],
    "description": "DeepTutor scores 62.7 (B) to Town's 48.7 (D) for assistants that remember you. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepTutor B 62.7",
      "Town D 48.7",
      "scores"
    ],
    "h1": "DeepTutor vs Town",
    "image": "https://www.anchorterminal.com/assets/og/compare-deeptutor-vs-town.png",
    "path": "/compare/deeptutor-vs-town",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepTutor vs Town for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/deeptutor-vs-town"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 680
  },
  "version": 1
}
