{
  "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 OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "openduet",
      "name": "OpenDuet",
      "vendor": "CopilotKit (Tawkit, Inc.)",
      "vendorUrl": "https://www.copilotkit.ai/openduet",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "OpenDuet is CopilotKit's open-source, self-hosted proactive assistant built on OpenBot. It sends a morning brief from Gmail and Google Calendar, runs tasks in its own browser container and pauses consequential actions for approval.",
      "url": "https://www.anchorterminal.com/tools/openduet",
      "markdownUrl": "https://www.anchorterminal.com/tools/openduet.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openduet.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openduet.json",
      "repo": "https://github.com/CopilotKit/OpenDuet",
      "license": "MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "The owner runs it from a clone. With no identity provider configured it runs as one fixed administrator with no sign-in and listens only on this machine (`OPENBOT_SINGLE_USER`, refused on a public address); configuring a provider turns sign-in on. The server will not start without `INTELLIGENCE_API_KEY`, a project key for CopilotKit Intelligence obtained through `npx copilotkit@latest login`, which opens a browser sign-in. A model key (OpenAI by default, Anthropic optional) goes in `.env`. Gmail and Calendar need a Google OAuth client an administrator registers, then each person connects their own account. An outside agent can be registered as a Bot over AG-UI (`type: remote-ag-ui`) with an optional write-only authorisation header.",
      "pricing": "freemium",
      "pricingNotes": "The repository is free under MIT. It needs CopilotKit Intelligence, which is free on the Developer plan (no card, 1,000 interactions a month hosted, or a Developer Edition for local non-production use on a renewable 30-day licence); pay as you go is $49 a month per organisation with 10,000 interactions, then graduated rates not shown on the pricing page. Model usage is billed by the model provider (https://www.copilotkit.ai/pricing, https://docs.copilotkit.ai/intelligence/plans, checked 2026-10-30).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the OpenBot docs or the CopilotKit pricing page (checked 2026-10-30). Intelligence's paid plans are billed monthly to a card.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1618,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/CopilotKit/OpenDuet#readme",
      "capabilities": [
        "assistant.proactive",
        "assistant.self-hosted",
        "assistant.accounts",
        "assistant.memory",
        "assistant.messaging",
        "agent.mcp-client",
        "mailbox.read",
        "mailbox.send",
        "calendar.read"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "typescript",
        "docker",
        "gmail",
        "slack",
        "teams",
        "mcp-client",
        "approvals",
        "telemetry-default-on",
        "pre-1.0",
        "free",
        "no-card",
        "new"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.5,
        "grade": "D",
        "agentReady": false,
        "rank": 962,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 37,
          "payments": 30,
          "reliability": 42,
          "schema": 58,
          "security": 59,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "Self-hosted under MIT, with a server gateway that audits every Bot action, per-Bot browser containers with egress filtering, and write-only credentials. Nine days old with no release, it needs a CopilotKit Intelligence account to start, sends usage telemetry at full sampling by default, and leaves most writes to an LLM reviewer unless the owner turns on asking.",
        "bestFor": "A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.",
        "strengths": [
          "MIT source, with everything OpenDuet-specific in one tenant folder over OpenBot's code",
          "One gateway evaluates policy and writes an audit row naming who started each run, exportable as CSV or OTLP",
          "Each Bot runs in its own container with an egress proxy that permits nothing until a policy arrives",
          "Payments, credential and security-setting changes are always handed to the person, and the reviewer fails closed",
          "Passwords go through a masked box, and stored credentials are encrypted, write-only and redacted from audit rows"
        ],
        "weaknesses": [
          "No release, tag, published image or deploy guide; the README marks it early development",
          "The server refuses to start without a CopilotKit Intelligence key, which needs a browser sign-in",
          "Writes other than payments, credentials and security settings run if the LLM reviewer passes them, unless the owner turns on asking",
          "Runtime telemetry is on by default at 100 per cent sampling, with a documented opt-out",
          "The latest CI run on main failed on 28 October 2026, and outside issues from 27 to 29 October mostly have no reply"
        ],
        "agentNotes": [
          "Follow the README's Quick start (`bun install`, `bash scripts/start.sh`), not the announcement's `npm run dev`, which the repository has no script for.",
          "Run `bun openbot/scripts/setup-learning.ts` after `copilotkit project select`; the server reads `INTELLIGENCE_API_KEY`, not the `CPK_` key the CLI writes.",
          "Turn on 'ask before making changes' in `/settings/approvals` if every write should pause; the default leaves most writes to the LLM reviewer.",
          "To bring your own agent, register it as a `remote-ag-ui` Bot in `agents.yaml`; its tool calls still pass through the gateway's policy and audit.",
          "Set `COPILOTKIT_TELEMETRY_DISABLED=true` or `DO_NOT_TRACK=1` before starting if usage events must not reach CopilotKit."
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.5
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 37,
          "payments": 30,
          "reliability": 42,
          "schema": 58,
          "security": 59,
          "transparency": 68
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/CopilotKit/OpenDuet.git \u0026\u0026 cd OpenDuet \u0026\u0026 cp .env.example .env \u0026\u0026 bun install \u0026\u0026 npx --yes copilotkit@latest login \u0026\u0026 npx --yes copilotkit@latest project select \u0026\u0026 bun openbot/scripts/setup-learning.ts \u0026\u0026 bash scripts/start.sh"
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/openduet"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Tawkit, Inc. (d/b/a CopilotKit)",
        "domain": "copilotkit.ai",
        "domainRegistered": "2023-09-28",
        "endpointOnVendorDomain": null,
        "terms": "https://raw.githubusercontent.com/CopilotKit/OpenDuet/main/LICENSE",
        "privacy": "https://www.copilotkit.ai/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/CopilotKit/OpenDuet/blob/main/openbot/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The MIT licence reads Copyright (c) 2026 CopilotKit. CopilotKit's terms of service and privacy policy (effective 27 August 2026) name Tawkit, Inc., doing business as CopilotKit, governed by Delaware law. The Self-Service Agreement covers CopilotKit Intelligence, which OpenDuet requires.",
          "firstReleased is 2026-10-27, the date of CopilotKit's announcement post. The repository was created on 21 October 2026, but pull request #71 of 26 October ('remove internal material before OpenDuet goes public') shows it was not public before then, and there is no release or tag.",
          "The changelog is OpenBot's, vendored in `openbot/CHANGELOG.md`, with undated version sections from 0.0.1 to 0.2.0 and an Unreleased section. OpenDuet has no changelog of its own.",
          "https://www.copilotkit.ai/.well-known/security.txt answers 200 with the site's HTML, so no security.txt exists. Neither OpenDuet nor OpenBot has a SECURITY.md; CopilotKit's main repository has one naming security@copilotkit.ai.",
          "status.copilotkit.ai shows 'Copilot Cloud - API' and 'Web App' with 90-day uptime bars; it was not established that it covers Intelligence, and OpenDuet itself runs on the owner's machine.",
          "RDAP (Identity Digital) gives copilotkit.ai a registration date of 2023-09-28."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openduet.json"
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "HKUDS",
        "b": "CopilotKit (Tawkit, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "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": "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-10-28",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-27",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "51k stars",
        "b": "1.6k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "DeepTutor scores 62.7 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, DeepTutor or OpenDuet?"
      },
      {
        "answer": "Yes. DeepTutor is open source (Apache-2.0). OpenDuet is open source (MIT. Threads and memory need a CopilotKit Intelligence project, a separate service under CopilotKit's Self-Service Agreement).",
        "question": "Are DeepTutor and OpenDuet open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 78 against 42",
          "Schema \u0026 documentation, 71 against 58",
          "Agent ergonomics, 63 against 52",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 84 against 37"
        ],
        "also": [
          "No key needed to call it"
        ],
        "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, 59 against 51",
          "Transparency \u0026 trust, 68 against 52"
        ],
        "also": [
          "No incidents deducted, where DeepTutor loses 3 points for them"
        ],
        "goodFor": "A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.",
        "slug": "openduet",
        "watchFor": "No release, tag, published image or deploy guide; the README marks it early development"
      }
    ],
    "job": {
      "capability": "assistant.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-openduet.json",
        "title": "asaply vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Asmi vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-openduet"
      },
      {
        "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-openduet.json",
        "title": "Boba vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/boba-vs-openduet"
      },
      {
        "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-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-openduet.json",
        "title": "AstrBot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openduet"
      },
      {
        "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-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-openduet.json",
        "title": "Claude Duet vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openduet.json",
        "title": "CowAgent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.json",
        "title": "folk vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-openduet.json",
        "title": "GAIA vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.json",
        "title": "Gemini Spark vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-openduet.json",
        "title": "Grok Bot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-openduet.json",
        "title": "Haven vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/haven-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.json",
        "title": "Hermes Agent vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-openduet.json",
        "title": "Instinct vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-openduet.json",
        "title": "IronClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-openduet.json",
        "title": "Leon vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-openduet.json",
        "title": "Lindy vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-openduet.json",
        "title": "nanobot vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.json",
        "title": "NanoClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-openduet.json",
        "title": "Dots vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openclaw-vs-openduet.json",
        "title": "OpenClaw vs OpenDuet",
        "url": "https://www.anchorterminal.com/compare/openclaw-vs-openduet"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-picoclaw.json",
        "title": "OpenDuet vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-poke.json",
        "title": "OpenDuet vs Poke",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.json",
        "title": "OpenDuet vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-tasker-ai.json",
        "title": "OpenDuet vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-town.json",
        "title": "OpenDuet vs Town",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-town"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-zeroclaw.json",
        "title": "OpenDuet vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openduet-vs-zo-computer.json",
        "title": "OpenDuet vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/openduet-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-deeptutor.json",
        "title": "Atticus vs DeepTutor",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-deeptutor"
      },
      {
        "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/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-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-town.json",
        "title": "DeepTutor vs Town",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-town"
      },
      {
        "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-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/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"
      },
      {
        "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": 36,
        "deeptutor": 78,
        "edge": "deeptutor",
        "key": "reliability",
        "name": "Reliability",
        "openduet": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "deeptutor": 71,
        "edge": "deeptutor",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openduet": 58,
        "weight": 13
      },
      {
        "by": 11,
        "deeptutor": 63,
        "edge": "deeptutor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openduet": 52,
        "weight": 13
      },
      {
        "by": 8,
        "deeptutor": 51,
        "edge": "openduet",
        "key": "security",
        "name": "Security \u0026 auth",
        "openduet": 59,
        "weight": 14
      },
      {
        "by": 30,
        "deeptutor": 60,
        "edge": "deeptutor",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openduet": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 47,
        "deeptutor": 84,
        "edge": "deeptutor",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openduet": 37,
        "weight": 7
      },
      {
        "by": 16,
        "deeptutor": 52,
        "edge": "openduet",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openduet": 68,
        "weight": 7
      }
    ],
    "summary": "DeepTutor scores 62.7 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust. Both do 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.",
      "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/deeptutor-vs-openduet",
    "json": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet.min.md"
  },
  "markdown": "DeepTutor scores 62.7 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust. Both do 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- 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### 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 42\n- Schema \u0026 documentation, 71 against 58\n- Agent ergonomics, 63 against 52\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 84 against 37\n\nAlso in its favour:\n- No key needed to call it\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### OpenDuet (D)\n\nGood for: A starting point for a developer or team who wants a proactive mail-and-calendar assistant they host and change, with approvals and audit, and who accepts a CopilotKit Intelligence account.\n\nAhead on:\n- Security \u0026 auth, 59 against 51\n- Transparency \u0026 trust, 68 against 52\n\nAlso in its favour:\n- No incidents deducted, where DeepTutor loses 3 points for them\n\nWatch for: No release, tag, published image or deploy guide; the README marks it early development\n\n\n## Score by category\n\n| Category | Weight | DeepTutor | OpenDuet | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 42 | DeepTutor +36 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 58 | DeepTutor +13 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 52 | DeepTutor +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 59 | OpenDuet +8 |\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 | 37 | DeepTutor +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 68 | OpenDuet +16 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **62.7 · B** | **49.5 · D** | |\n\n## Facts side by side\n\n| Fact | DeepTutor | OpenDuet |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | HKUDS | CopilotKit (Tawkit, Inc.) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | 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-10-28 | none |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | 2026-08-27 |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 51k stars | 1.6k stars |\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**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### 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### 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, DeepTutor or OpenDuet?\n\nDeepTutor scores 62.7 (B) on agent readiness against OpenDuet's 49.5 (D), and leads in 5 of 7 scored categories. OpenDuet leads on security \u0026 auth and transparency \u0026 trust.\n\n### Are DeepTutor and OpenDuet open source?\n\nYes. DeepTutor is open source (Apache-2.0). 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/deeptutor-vs-openduet.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deeptutor-vs-openduet.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deeptutor\", \"b\": \"openduet\"}`. From a terminal: `anchor compare deeptutor openduet`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deeptutor.json and https://www.anchorterminal.com/api/v1/tools/openduet.json\n\n## Other comparisons with DeepTutor or OpenDuet\n\n- [asaply vs DeepTutor](https://www.anchorterminal.com/compare/asaply-vs-deeptutor.md)\n- [asaply vs OpenDuet](https://www.anchorterminal.com/compare/asaply-vs-openduet.md)\n- [Asmi vs DeepTutor](https://www.anchorterminal.com/compare/asmi-vs-deeptutor.md)\n- [Asmi vs OpenDuet](https://www.anchorterminal.com/compare/asmi-vs-openduet.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 OpenDuet](https://www.anchorterminal.com/compare/boba-vs-openduet.md)\n- [Brea vs DeepTutor](https://www.anchorterminal.com/compare/brea-vs-deeptutor.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 OpenDuet](https://www.anchorterminal.com/compare/astrbot-vs-openduet.md)\n- [Boski vs OpenDuet](https://www.anchorterminal.com/compare/boski-vs-openduet.md)\n- [Caddy vs OpenDuet](https://www.anchorterminal.com/compare/caddy-app-vs-openduet.md)\n- [Claude Duet vs OpenDuet](https://www.anchorterminal.com/compare/claude-duet-vs-openduet.md)\n- [CowAgent vs OpenDuet](https://www.anchorterminal.com/compare/cowagent-vs-openduet.md)\n- [folk vs OpenDuet](https://www.anchorterminal.com/compare/folk-nozomio-vs-openduet.md)\n- [GAIA vs OpenDuet](https://www.anchorterminal.com/compare/gaia-vs-openduet.md)\n- [Gemini Spark vs OpenDuet](https://www.anchorterminal.com/compare/gemini-spark-vs-openduet.md)\n- [Grok Bot vs OpenDuet](https://www.anchorterminal.com/compare/grok-bot-vs-openduet.md)\n- [Haven vs OpenDuet](https://www.anchorterminal.com/compare/haven-vs-openduet.md)\n- [Hermes Agent vs OpenDuet](https://www.anchorterminal.com/compare/hermes-agent-vs-openduet.md)\n- [Instinct vs OpenDuet](https://www.anchorterminal.com/compare/instinct-vs-openduet.md)\n- [IronClaw vs OpenDuet](https://www.anchorterminal.com/compare/ironclaw-vs-openduet.md)\n- [Leon vs OpenDuet](https://www.anchorterminal.com/compare/leon-vs-openduet.md)\n- [Lindy vs OpenDuet](https://www.anchorterminal.com/compare/lindy-vs-openduet.md)\n- [nanobot vs OpenDuet](https://www.anchorterminal.com/compare/nanobot-vs-openduet.md)\n- [NanoClaw vs OpenDuet](https://www.anchorterminal.com/compare/nanoclaw-vs-openduet.md)\n- [Dots vs OpenDuet](https://www.anchorterminal.com/compare/openai-dots-vs-openduet.md)\n- [OpenClaw vs OpenDuet](https://www.anchorterminal.com/compare/openclaw-vs-openduet.md)\n- [OpenDuet vs PicoClaw](https://www.anchorterminal.com/compare/openduet-vs-picoclaw.md)\n- [OpenDuet vs Poke](https://www.anchorterminal.com/compare/openduet-vs-poke.md)\n- [OpenDuet vs QwenPaw](https://www.anchorterminal.com/compare/openduet-vs-qwenpaw.md)\n- [OpenDuet vs Tasker AI](https://www.anchorterminal.com/compare/openduet-vs-tasker-ai.md)\n- [OpenDuet vs Town](https://www.anchorterminal.com/compare/openduet-vs-town.md)\n- [OpenDuet vs ZeroClaw](https://www.anchorterminal.com/compare/openduet-vs-zeroclaw.md)\n- [OpenDuet vs Zo Computer](https://www.anchorterminal.com/compare/openduet-vs-zo-computer.md)\n- [Atticus vs DeepTutor](https://www.anchorterminal.com/compare/atticus-vs-deeptutor.md)\n- [Atticus vs OpenDuet](https://www.anchorterminal.com/compare/atticus-vs-openduet.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 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 Town](https://www.anchorterminal.com/compare/deeptutor-vs-town.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 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- [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- [AI Job Search vs DeepTutor](https://www.anchorterminal.com/compare/ai-job-search-vs-deeptutor.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": "DeepTutor vs OpenDuet",
        "url": ""
      }
    ],
    "description": "DeepTutor scores 62.7 (B) to OpenDuet's 49.5 (D) for assistants that remember you. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepTutor B 62.7",
      "OpenDuet D 49.5",
      "scores"
    ],
    "h1": "DeepTutor vs OpenDuet",
    "image": "https://www.anchorterminal.com/assets/og/compare-deeptutor-vs-openduet.png",
    "path": "/compare/deeptutor-vs-openduet",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepTutor vs OpenDuet for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openduet"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 730
  },
  "version": 1
}
