{
  "data": {
    "a": {
      "slug": "learnharness",
      "name": "LearnHarness",
      "vendor": "Amos Blomqvist",
      "vendorUrl": "https://learnharness.ai",
      "kind": "harness",
      "category": "personal-assistants",
      "summary": "LearnHarness is an open-source desktop app for macOS, Windows and Linux that tests what a learner already understands, plans a route to a goal, teaches step by step and keeps a local knowledge graph, using the learner's own model keys.",
      "url": "https://www.anchorterminal.com/tools/learnharness",
      "markdownUrl": "https://www.anchorterminal.com/tools/learnharness.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/learnharness.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/learnharness.json",
      "repo": "https://github.com/amosblomqvist/learnharness",
      "license": "AGPL-3.0-only",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No LearnHarness account. The learner adds keys for model providers (OpenAI, Anthropic, Google, DeepSeek, OpenRouter and others), or one OpenAI-compatible endpoint, or signs in with ChatGPT, GitHub Copilot or Grok, or connects an installed Claude Code CLI. Deepgram (dictation) and Tavily or Brave (web search) take separate keys.",
      "pricing": "free",
      "pricingNotes": "Free under AGPL-3.0 with nothing to buy. Model usage is billed by the provider the learner configures, or counts against a ChatGPT, Copilot or Grok plan, and the app shows a live cost meter. The README says any future charge would be for convenience such as managed keys or hosting.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the website, the skill or the source files read (checked 2026-10-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4204,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://github.com/amosblomqvist/learnharness/blob/main/docs/development.md",
      "capabilities": [
        "assistant.memory",
        "assistant.self-hosted",
        "memory.graph",
        "memory.read",
        "web.search"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "agpl",
        "desktop-app",
        "macos",
        "windows",
        "linux",
        "agent-skill",
        "typescript",
        "new"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.3,
        "grade": "C",
        "agentReady": false,
        "rank": 648,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 71,
          "payments": 60,
          "reliability": 56,
          "schema": 63,
          "security": 52,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": 0,
        "verdict": "The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.",
        "bestFor": "A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.",
        "strengths": [
          "AGPL-3.0 source, with installers for macOS (signed and notarised), Windows and Linux on GitHub Releases",
          "A bundled agent skill with Python readers that print sessions and graph data as text or JSON and write nothing",
          "The in-app agent has no shell, write or send tool, and Claude Code runs with its built-in tools switched off",
          "The desktop server binds 127.0.0.1 and requires a per-launch 64-character secret header",
          "Nine releases from 17 to 29 October 2026, with CI running typecheck, tests, lint and three-OS builds on main"
        ],
        "weaknesses": [
          "The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider",
          "Provider keys and ChatGPT sign-in credentials are stored as plaintext JSON at mode 0600, not in the OS keychain",
          "No SECURITY.md, security.txt, privacy policy or terms. learnharness.ai answers 404 for each",
          "0.x software created on 16 October 2026, with 265 open issues and pull requests and none of the 39 newest pull requests merged",
          "No outside agent can start or drive a lesson. The local HTTP API is for the app's own window"
        ],
        "agentNotes": [
          "Use the bundled skill (`skills/learnharness/SKILL.md`) to read a learner's record. It needs Python 3.10 or later and writes nothing",
          "Pass `--format json` before the subcommand, for example `python3 -B scripts/graph.py --format json propositions`",
          "Treat stored answer keys and teacher prose as model-authored. A proposition in the graph is not evidence the learner understood it",
          "Do not read `auth.json`, which sits one folder above the data folder and holds provider keys in plain text",
          "Close the app or re-read when a stable snapshot matters. The readers do not lock files while the app writes"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.3
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 71,
          "payments": 60,
          "reliability": 56,
          "schema": 63,
          "security": 52,
          "transparency": 64
        },
        "provenanceScore": 56,
        "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
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.memory",
        "tool": "https://letme.dev/learnharness"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "No legal entity found. Copyright Amos Blomqvist",
        "domain": "learnharness.ai",
        "domainRegistered": "2026-10-09",
        "endpointOnVendorDomain": null,
        "terms": "https://raw.githubusercontent.com/amosblomqvist/learnharness/main/LICENSE",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/amosblomqvist/learnharness/releases",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The footer of learnharness.ai reads © 2026 Amos Blomqvist, and `package.json` names Amos Blomqvist as author. No company is named.",
          "learnharness.ai/privacy, /terms, /llms.txt and /.well-known/security.txt return 404, and the repository has no SECURITY.md, so the AGPL-3.0 licence stands in for terms.",
          "RDAP (Identity Digital) gives learnharness.ai a registration date of 2026-10-09.",
          "The app runs on the learner's machine. Its only vendor-side service seen is the website, which a release workflow updates. Updates come from GitHub Releases.",
          "There is no CHANGELOG file. Each GitHub release carries its notes."
        ],
        "score": 56
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/learnharness.json"
    },
    "answer": "LearnHarness scores 59.3 (C) on agent readiness against Dots's 28.8 (F), and leads in 6 of 7 scored categories. Dots leads on security \u0026 auth.",
    "b": {
      "slug": "openai-dots",
      "name": "Dots",
      "vendor": "OpenAI",
      "vendorUrl": "https://chatgpt.com",
      "kind": "platform",
      "category": "personal-assistants",
      "summary": "Dots is OpenAI's always-on agent inside ChatGPT, in beta. Each dot has a cloud computer and browser, keeps notes, works between conversations across connected apps, and answers in ChatGPT, by voice call, Slack and Teams.",
      "url": "https://www.anchorterminal.com/tools/openai-dots",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-dots.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-dots.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-dots.json",
      "license": "Proprietary hosted service. The governing terms were not read",
      "transports": [],
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person signs in to ChatGPT on an eligible plan and creates a dot in the mobile app, desktop app or a desktop browser. No API key or other credential for outside programs was found. Apps are reached through plugins connected to the ChatGPT account, each with its own connected account and allowed actions. Website logins go through a private form to the cloud browser outside the conversation, sessions last until sign-out or expiry, and reusing a saved login needs confirmation. A local computer is connected with Allow access and removed with Revoke access. Where tokens and saved passwords are stored is not stated (https://learn.chatgpt.com/docs/dots/computers-and-apps; https://learn.chatgpt.com/docs/dots/getting-started).",
      "pricing": "paid",
      "pricingNotes": "Included with ChatGPT Pro at $100, $200 or $500 a month, Business Premium (price not found on the pages read) and Enterprise through sales. Conversations with a dot do not count towards ChatGPT usage limits. Tasks it starts in ChatGPT Work or Codex count towards those limits. The plan includes an allowance for deeper work with no figure given, extended for the first month after launch. No free tier or trial for dots was found (https://learn.chatgpt.com/docs/dots#access; https://learn.chatgpt.com/docs/pricing, checked 2026-10-12).",
      "priceSummary": "$100 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Dots docs, the admin guide or the pricing page (checked 2026-10-12).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-12"
      },
      "docsUrl": "https://learn.chatgpt.com/docs/dots",
      "llmsTxt": "https://learn.chatgpt.com/llms.txt",
      "capabilities": [
        "assistant.proactive",
        "assistant.accounts",
        "assistant.memory",
        "assistant.messaging"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "beta",
        "chatgpt",
        "slack",
        "teams",
        "voice",
        "cloud-browser",
        "approvals",
        "paid",
        "llms-txt"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 28.8,
        "grade": "F",
        "agentReady": false,
        "rank": 1167,
        "ranked": true,
        "rankOf": 1239,
        "categoryRank": 28,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 22,
          "maintenance": 38,
          "payments": 10,
          "reliability": 3,
          "schema": 41,
          "security": 58,
          "transparency": 37
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-12"
        },
        "negative": 0,
        "verdict": "Actions that affect accounts or share information pass an automatic review, and custom rules can require approval or a hand-off. Dots is a beta on Pro plans from $100 a month, and no status page, terms, privacy policy or way to delete individual saved notes was found in the pages we could read.",
        "bestFor": "A ChatGPT Pro or Enterprise user who wants ongoing work tracked across mail, documents, code and Slack with approval before sends.",
        "strengths": [
          "An automatic review checks each action that could affect accounts or share information against instructions, permissions and custom rules before it runs",
          "Custom rules have four settings, from acting without asking to handing the step to the owner, and app permissions can allow reading mail without sending",
          "Proactive research uses tools that cannot send messages, change app content or control a browser or computer, per the docs",
          "Website passwords are entered in a private form outside the conversation, and reusing a saved login needs the owner's confirmation",
          "Six docs pages with Markdown twins listed in llms.txt, and a dated release note for dots on 9 October 2026"
        ],
        "weaknesses": [
          "Beta. The admin setting is labelled Use dots (Beta), access is rolling out gradually, and Teams access is an invite-only alpha",
          "No way to view or delete individual saved notes is documented. The admin guide's link to reset options lands on the section for deleting the whole dot",
          "Custom rules are described as instructions the dot tries to follow and can get wrong, and an authorised write can run without a prompt where policy allows",
          "Pro consumer accounts in the European Economic Area, the United Kingdom and Switzerland are excluded, and the plan's allowance for deeper work has no published figure",
          "No status page, service terms or privacy policy is linked from the Dots docs, and openai.com and help.openai.com refused our reader",
          "No API, MCP endpoint or other documented way for an outside program to message a dot was found"
        ],
        "agentNotes": [
          "Say what may be sent. Asking a dot to draft replies does not permit sending them, and an action outside a stated scope needs another decision",
          "Stop three things separately. Pause stops the main task only, delegated tasks stop in Activity and recurring tasks in Scheduled, and completed actions are not undone",
          "Connect each thing separately. A messaging channel grants no access to an inbox, an app or a computer",
          "Sign out of websites and disconnect apps yourself when removing access. Revoking dots access or disconnecting an app does not delete information already obtained",
          "Keep the connected computer online with the ChatGPT app open for local work. Only one personal computer can be connected at a time"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 1.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 28.8
          }
        ],
        "editorialScores": {
          "ergonomics": 22,
          "maintenance": 38,
          "payments": 10,
          "reliability": 3,
          "schema": 41,
          "security": 58,
          "transparency": 26
        },
        "provenanceScore": 47,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-12",
            "maintenance": "2026-10-12",
            "payments": "2026-10-12",
            "reliability": "2026-10-12",
            "schema": "2026-10-12",
            "security": "2026-10-12",
            "transparency": "2026-10-12"
          },
          "last": "2026-10-12",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-12",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/assistant.proactive",
        "tool": "https://letme.dev/openai-dots"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "Pro 100",
          "unit": "month",
          "usd": 100,
          "note": "ChatGPT Pro plan, includes dots with an allowance for deeper work that has no published figure"
        },
        {
          "item": "Pro 200",
          "unit": "month",
          "usd": 200,
          "note": "ChatGPT Pro plan"
        },
        {
          "item": "Pro 500",
          "unit": "month",
          "usd": 500,
          "note": "ChatGPT Pro plan"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "chatgpt.com",
        "domainRegistered": "2022-11-30",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://learn.chatgpt.com/docs/whats-new",
        "securityTxt": "unknown",
        "checked": "2026-10-12",
        "notes": [
          "No page we read names the legal entity or the documents that govern Dots. The docs footer links https://openai.com/policies, which answered 403 to our reader, so `terms` and `privacy` are left out. OpenAI's other listings here link https://openai.com/policies/services-agreement/ and https://openai.com/policies/privacy-policy/. Neither was read today, and whether the consumer Terms of Use govern Pro accounts was not established.",
          "No status page is linked from the Dots docs, the admin guide, the pricing page or the release notes we read.",
          "learn.chatgpt.com/.well-known/security.txt answered 404. chatgpt.com is closed to Anthropic agents by its robots.txt and openai.com answered 403 on the one page requested, so neither host's security.txt was requested.",
          "The .com registry's RDAP record gives 30 November 2022 as the registration date of chatgpt.com, registrar MarkMonitor Inc.",
          "learn.chatgpt.com/robots.txt answered 200 and allows every path. help.openai.com/robots.txt allows the article paths, and four linked articles answered 403 with a JavaScript check. cdn.openai.com/robots.txt answered 404."
        ],
        "score": 47
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-dots.json",
      "live": {
        "slug": "openai-dots",
        "securityTxt": {
          "url": "https://chatgpt.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-30T15:37:40.873158273Z"
        },
        "llmsTxt": {
          "url": "https://learn.chatgpt.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:08:16.392853427Z"
        },
        "domain": {
          "domain": "chatgpt.com",
          "registered": "2022-11-30",
          "source": "https://rdap.verisign.com/com/v1/domain/chatgpt.com",
          "checkedAt": "2026-10-25T13:58:06.650437577Z"
        },
        "pages": [
          {
            "url": "https://learn.chatgpt.com/docs/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-30T05:42:37.267855104Z",
            "changedAt": "2026-10-30T05:42:37.267855104Z",
            "fingerprint": "332b98506e73"
          },
          {
            "url": "https://learn.chatgpt.com/docs/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-30T05:42:36.740086445Z",
            "changedAt": "2026-10-30T05:42:36.740086445Z",
            "fingerprint": "2ce21afaee33"
          }
        ],
        "updatedAt": "2026-10-30T15:37:40.873158273Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "Amos Blomqvist",
        "b": "OpenAI",
        "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": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-only",
        "b": "Proprietary hosted service. The governing terms were not read",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-09",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.2k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LearnHarness scores 59.3 (C) on agent readiness against Dots's 28.8 (F), and leads in 6 of 7 scored categories. Dots leads on security \u0026 auth.",
        "question": "Which is better for AI agents, LearnHarness or Dots?"
      },
      {
        "answer": "LearnHarness is open source (AGPL-3.0-only). No open-source release is listed for Dots.",
        "question": "Are LearnHarness and Dots open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 56 against 3",
          "Schema \u0026 documentation, 63 against 41",
          "Agent ergonomics, 60 against 22",
          "Payments \u0026 pricing, 60 against 10",
          "Maintenance \u0026 community, 71 against 38",
          "Transparency \u0026 trust, 60 against 37"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.",
        "slug": "learnharness",
        "watchFor": "The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 58 against 52"
        ],
        "also": null,
        "goodFor": "A ChatGPT Pro or Enterprise user who wants ongoing work tracked across mail, documents, code and Slack with approval before sends.",
        "slug": "openai-dots",
        "watchFor": "Beta. The admin setting is labelled Use dots (Beta), access is rolling out gradually, and Teams access is an invite-only alpha"
      }
    ],
    "job": {
      "capability": "assistant.memory",
      "name": "Assistants that remember you"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-openai-dots.json",
        "title": "asaply vs Dots",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-openai-dots.json",
        "title": "Asmi vs Dots",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-openai-dots.json",
        "title": "Boba vs Dots",
        "url": "https://www.anchorterminal.com/compare/boba-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-openai-dots.json",
        "title": "Brea vs Dots",
        "url": "https://www.anchorterminal.com/compare/brea-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-openai-dots.json",
        "title": "Del vs Dots",
        "url": "https://www.anchorterminal.com/compare/del-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-openai-dots.json",
        "title": "HireAlpha vs Dots",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-openinstinct.json",
        "title": "Dots vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-orbits.json",
        "title": "Dots vs Orbits",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-orchid-ai.json",
        "title": "Dots vs Orchid",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-szn.json",
        "title": "Dots vs szn",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-tab-bot.json",
        "title": "Dots vs Tab",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-zapia.json",
        "title": "Dots vs Zapia",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-openai-dots.json",
        "title": "AstrBot vs Dots",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-openai-dots.json",
        "title": "Boski vs Dots",
        "url": "https://www.anchorterminal.com/compare/boski-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.json",
        "title": "Caddy vs Dots",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots.json",
        "title": "Claude Duet vs Dots",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-openai-dots.json",
        "title": "CowAgent vs Dots",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openai-dots.json",
        "title": "folk vs Dots",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-openai-dots.json",
        "title": "GAIA vs Dots",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots.json",
        "title": "Gemini Spark vs Dots",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-openai-dots.json",
        "title": "Grok Bot vs Dots",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-openai-dots.json",
        "title": "Haven vs Dots",
        "url": "https://www.anchorterminal.com/compare/haven-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-openai-dots.json",
        "title": "Hermes Agent vs Dots",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-openai-dots.json",
        "title": "Instinct vs Dots",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-openai-dots.json",
        "title": "IronClaw vs Dots",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leon-vs-openai-dots.json",
        "title": "Leon vs Dots",
        "url": "https://www.anchorterminal.com/compare/leon-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lindy-vs-openai-dots.json",
        "title": "Lindy vs Dots",
        "url": "https://www.anchorterminal.com/compare/lindy-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanobot-vs-openai-dots.json",
        "title": "nanobot vs Dots",
        "url": "https://www.anchorterminal.com/compare/nanobot-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.json",
        "title": "NanoClaw vs Dots",
        "url": "https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-openclaw.json",
        "title": "Dots vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-openclaw"
      },
      {
        "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/openai-dots-vs-picoclaw.json",
        "title": "Dots vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-poke.json",
        "title": "Dots vs Poke",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-qwenpaw.json",
        "title": "Dots vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-tasker-ai.json",
        "title": "Dots vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-tasker-ai"
      },
      {
        "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/openai-dots-vs-zeroclaw.json",
        "title": "Dots vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-zo-computer.json",
        "title": "Dots vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asaply-vs-learnharness.json",
        "title": "asaply vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/asaply-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asmi-vs-learnharness.json",
        "title": "Asmi vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/asmi-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-learnharness.json",
        "title": "Atticus vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atticus-vs-openai-dots.json",
        "title": "Atticus vs Dots",
        "url": "https://www.anchorterminal.com/compare/atticus-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boba-vs-learnharness.json",
        "title": "Boba vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/boba-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boski-vs-learnharness.json",
        "title": "Boski vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/boski-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/brea-vs-learnharness.json",
        "title": "Brea vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/brea-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.json",
        "title": "Caddy vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/caddy-app-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-duet-vs-learnharness.json",
        "title": "Claude Duet vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/claude-duet-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness.json",
        "title": "CowAgent vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/cowagent-vs-learnharness"
      },
      {
        "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-openai-dots.json",
        "title": "DeepTutor vs Dots",
        "url": "https://www.anchorterminal.com/compare/deeptutor-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/del-vs-learnharness.json",
        "title": "Del vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/del-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness.json",
        "title": "folk vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gaia-vs-learnharness.json",
        "title": "GAIA vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/gaia-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.json",
        "title": "Gemini Spark vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grok-bot-vs-learnharness.json",
        "title": "Grok Bot vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/grok-bot-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-learnharness.json",
        "title": "Hark Pro vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hark-pro-vs-openai-dots.json",
        "title": "Hark Pro vs Dots",
        "url": "https://www.anchorterminal.com/compare/hark-pro-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/haven-vs-learnharness.json",
        "title": "Haven vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/haven-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness.json",
        "title": "Hermes Agent vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hirealpha-vs-learnharness.json",
        "title": "HireAlpha vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/hirealpha-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instinct-vs-learnharness.json",
        "title": "Instinct vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/instinct-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ironclaw-vs-learnharness.json",
        "title": "IronClaw vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/ironclaw-vs-learnharness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-leon.json",
        "title": "LearnHarness vs Leon",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-leon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-lindy.json",
        "title": "LearnHarness vs Lindy",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-lindy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-lobby-os.json",
        "title": "LearnHarness vs Lobby",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-lobby-os"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-nanobot.json",
        "title": "LearnHarness vs nanobot",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-nanobot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.json",
        "title": "LearnHarness vs NanoClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-natura.json",
        "title": "LearnHarness vs Natura tinyNature",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-natura"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-openclaw.json",
        "title": "LearnHarness vs OpenClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openclaw"
      },
      {
        "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/learnharness-vs-openinstinct.json",
        "title": "LearnHarness vs OpenInstinct",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-openinstinct"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-orbits.json",
        "title": "LearnHarness vs Orbits",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-orbits"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai.json",
        "title": "LearnHarness vs Orchid",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-pally.json",
        "title": "LearnHarness vs Pally",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-picoclaw.json",
        "title": "LearnHarness vs PicoClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-picoclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-poke.json",
        "title": "LearnHarness vs Poke",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-poke"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw.json",
        "title": "LearnHarness vs QwenPaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-szn.json",
        "title": "LearnHarness vs szn",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-szn"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tab-bot.json",
        "title": "LearnHarness vs Tab",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tab-bot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-talorys.json",
        "title": "LearnHarness vs Talorys",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai.json",
        "title": "LearnHarness vs Tasker AI",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-tomo.json",
        "title": "LearnHarness vs Tomo",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-tomo"
      },
      {
        "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/learnharness-vs-wajo.json",
        "title": "LearnHarness vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zapia.json",
        "title": "LearnHarness vs Zapia",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zapia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw.json",
        "title": "LearnHarness vs ZeroClaw",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/learnharness-vs-zo-computer.json",
        "title": "LearnHarness vs Zo Computer",
        "url": "https://www.anchorterminal.com/compare/learnharness-vs-zo-computer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-talorys.json",
        "title": "Dots vs Talorys",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-talorys"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lobby-os-vs-openai-dots.json",
        "title": "Lobby vs Dots",
        "url": "https://www.anchorterminal.com/compare/lobby-os-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/natura-vs-openai-dots.json",
        "title": "Natura tinyNature vs Dots",
        "url": "https://www.anchorterminal.com/compare/natura-vs-openai-dots"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-pally.json",
        "title": "Dots vs Pally",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-pally"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-tomo.json",
        "title": "Dots vs Tomo",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-tomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-dots-vs-wajo.json",
        "title": "Dots vs Wajo (Fo)",
        "url": "https://www.anchorterminal.com/compare/openai-dots-vs-wajo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/astrbot-vs-learnharness.json",
        "title": "AstrBot vs LearnHarness",
        "url": "https://www.anchorterminal.com/compare/astrbot-vs-learnharness"
      }
    ],
    "scores": [
      {
        "by": 53,
        "edge": "learnharness",
        "key": "reliability",
        "learnharness": 56,
        "name": "Reliability",
        "openai-dots": 3,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "learnharness",
        "key": "schema",
        "learnharness": 63,
        "name": "Schema \u0026 documentation",
        "openai-dots": 41,
        "weight": 13
      },
      {
        "by": 38,
        "edge": "learnharness",
        "key": "ergonomics",
        "learnharness": 60,
        "name": "Agent ergonomics",
        "openai-dots": 22,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "openai-dots",
        "key": "security",
        "learnharness": 52,
        "name": "Security \u0026 auth",
        "openai-dots": 58,
        "weight": 14
      },
      {
        "by": 50,
        "edge": "learnharness",
        "key": "payments",
        "learnharness": 60,
        "name": "Payments \u0026 pricing",
        "openai-dots": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "learnharness",
        "key": "maintenance",
        "learnharness": 71,
        "name": "Maintenance \u0026 community",
        "openai-dots": 38,
        "weight": 7
      },
      {
        "by": 23,
        "edge": "learnharness",
        "key": "transparency",
        "learnharness": 60,
        "name": "Transparency \u0026 trust",
        "openai-dots": 37,
        "weight": 7
      }
    ],
    "summary": "LearnHarness scores 59.3 (C) on agent readiness against Dots's 28.8 (F), and leads in 6 of 7 scored categories. Dots leads on security \u0026 auth. Both do assistants that remember you.",
    "tutorials": [],
    "verdicts": {
      "learnharness": "The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.",
      "openai-dots": "Actions that affect accounts or share information pass an automatic review, and custom rules can require approval or a hand-off. Dots is a beta on Pro plans from $100 a month, and no status page, terms, privacy policy or way to delete individual saved notes was found in the pages we could read."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots",
    "json": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.min.md"
  },
  "markdown": "LearnHarness scores 59.3 (C) on agent readiness against Dots's 28.8 (F), and leads in 6 of 7 scored categories. Dots leads on security \u0026 auth. Both do assistants that remember you.\n\n- LearnHarness: grade C, 59.3/100, rank #648 of 1239. Markdown https://www.anchorterminal.com/tools/learnharness.md · JSON https://www.anchorterminal.com/api/v1/tools/learnharness.json\n- Dots: grade F, 28.8/100, rank #1167 of 1239. Markdown https://www.anchorterminal.com/tools/openai-dots.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-dots.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### LearnHarness (C)\n\nGood for: A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.\n\nAhead on:\n- Reliability, 56 against 3\n- Schema \u0026 documentation, 63 against 41\n- Agent ergonomics, 60 against 22\n- Payments \u0026 pricing, 60 against 10\n- Maintenance \u0026 community, 71 against 38\n- Transparency \u0026 trust, 60 against 37\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n- Open source\n\nWatch for: The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider\n\n### Dots (F)\n\nGood for: A ChatGPT Pro or Enterprise user who wants ongoing work tracked across mail, documents, code and Slack with approval before sends.\n\nAhead on:\n- Security \u0026 auth, 58 against 52\n\nWatch for: Beta. The admin setting is labelled Use dots (Beta), access is rolling out gradually, and Teams access is an invite-only alpha\n\n\n## Score by category\n\n| Category | Weight | LearnHarness | Dots | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 56 | 3 | LearnHarness +53 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 63 | 41 | LearnHarness +22 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 22 | LearnHarness +38 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 58 | Dots +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 10 | LearnHarness +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 38 | LearnHarness +33 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 37 | LearnHarness +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.3 · C** | **28.8 · F** | |\n\n## Facts side by side\n\n| Fact | LearnHarness | Dots |\n| --- | --- | --- |\n| Kind | Agent harness | Platform |\n| Vendor | Amos Blomqvist | OpenAI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | OAuth or key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0-only | Proprietary hosted service. The governing terms were not read |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-29 | 2026-10-09 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\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 | not found in the text |  |\n| Popularity | 4.2k stars | none |\n| Agent reviews | none | 1.8/5 (4) |\n\n## Verdicts\n\n**LearnHarness.** The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.\n\n**Dots.** Actions that affect accounts or share information pass an automatic review, and custom rules can require approval or a hand-off. Dots is a beta on Pro plans from $100 a month, and no status page, terms, privacy policy or way to delete individual saved notes was found in the pages we could read.\n\n## Before you call either\n\n### LearnHarness\n\n1. Use the bundled skill (`skills/learnharness/SKILL.md`) to read a learner's record. It needs Python 3.10 or later and writes nothing\n2. Pass `--format json` before the subcommand, for example `python3 -B scripts/graph.py --format json propositions`\n3. Treat stored answer keys and teacher prose as model-authored. A proposition in the graph is not evidence the learner understood it\n4. Do not read `auth.json`, which sits one folder above the data folder and holds provider keys in plain text\n5. Close the app or re-read when a stable snapshot matters. The readers do not lock files while the app writes\n\n### Dots\n\n1. Say what may be sent. Asking a dot to draft replies does not permit sending them, and an action outside a stated scope needs another decision\n2. Stop three things separately. Pause stops the main task only, delegated tasks stop in Activity and recurring tasks in Scheduled, and completed actions are not undone\n3. Connect each thing separately. A messaging channel grants no access to an inbox, an app or a computer\n4. Sign out of websites and disconnect apps yourself when removing access. Revoking dots access or disconnecting an app does not delete information already obtained\n5. Keep the connected computer online with the ChatGPT app open for local work. Only one personal computer can be connected at a time\n\n## Questions\n\n### Which is better for AI agents, LearnHarness or Dots?\n\nLearnHarness scores 59.3 (C) on agent readiness against Dots's 28.8 (F), and leads in 6 of 7 scored categories. Dots leads on security \u0026 auth.\n\n### Are LearnHarness and Dots open source?\n\nLearnHarness is open source (AGPL-3.0-only). No open-source release is listed for Dots.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.json, and with the fewest tokens: https://www.anchorterminal.com/compare/learnharness-vs-openai-dots.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"learnharness\", \"b\": \"openai-dots\"}`. From a terminal: `anchor compare learnharness openai-dots`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/learnharness.json and https://www.anchorterminal.com/api/v1/tools/openai-dots.json\n\n## Other comparisons with LearnHarness or Dots\n\n- [asaply vs Dots](https://www.anchorterminal.com/compare/asaply-vs-openai-dots.md)\n- [Asmi vs Dots](https://www.anchorterminal.com/compare/asmi-vs-openai-dots.md)\n- [Boba vs Dots](https://www.anchorterminal.com/compare/boba-vs-openai-dots.md)\n- [Brea vs Dots](https://www.anchorterminal.com/compare/brea-vs-openai-dots.md)\n- [Del vs Dots](https://www.anchorterminal.com/compare/del-vs-openai-dots.md)\n- [HireAlpha vs Dots](https://www.anchorterminal.com/compare/hirealpha-vs-openai-dots.md)\n- [Dots vs OpenInstinct](https://www.anchorterminal.com/compare/openai-dots-vs-openinstinct.md)\n- [Dots vs Orbits](https://www.anchorterminal.com/compare/openai-dots-vs-orbits.md)\n- [Dots vs Orchid](https://www.anchorterminal.com/compare/openai-dots-vs-orchid-ai.md)\n- [Dots vs szn](https://www.anchorterminal.com/compare/openai-dots-vs-szn.md)\n- [Dots vs Tab](https://www.anchorterminal.com/compare/openai-dots-vs-tab-bot.md)\n- [Dots vs Zapia](https://www.anchorterminal.com/compare/openai-dots-vs-zapia.md)\n- [AstrBot vs Dots](https://www.anchorterminal.com/compare/astrbot-vs-openai-dots.md)\n- [Boski vs Dots](https://www.anchorterminal.com/compare/boski-vs-openai-dots.md)\n- [Caddy vs Dots](https://www.anchorterminal.com/compare/caddy-app-vs-openai-dots.md)\n- [Claude Duet vs Dots](https://www.anchorterminal.com/compare/claude-duet-vs-openai-dots.md)\n- [CowAgent vs Dots](https://www.anchorterminal.com/compare/cowagent-vs-openai-dots.md)\n- [folk vs Dots](https://www.anchorterminal.com/compare/folk-nozomio-vs-openai-dots.md)\n- [GAIA vs Dots](https://www.anchorterminal.com/compare/gaia-vs-openai-dots.md)\n- [Gemini Spark vs Dots](https://www.anchorterminal.com/compare/gemini-spark-vs-openai-dots.md)\n- [Grok Bot vs Dots](https://www.anchorterminal.com/compare/grok-bot-vs-openai-dots.md)\n- [Haven vs Dots](https://www.anchorterminal.com/compare/haven-vs-openai-dots.md)\n- [Hermes Agent vs Dots](https://www.anchorterminal.com/compare/hermes-agent-vs-openai-dots.md)\n- [Instinct vs Dots](https://www.anchorterminal.com/compare/instinct-vs-openai-dots.md)\n- [IronClaw vs Dots](https://www.anchorterminal.com/compare/ironclaw-vs-openai-dots.md)\n- [Leon vs Dots](https://www.anchorterminal.com/compare/leon-vs-openai-dots.md)\n- [Lindy vs Dots](https://www.anchorterminal.com/compare/lindy-vs-openai-dots.md)\n- [nanobot vs Dots](https://www.anchorterminal.com/compare/nanobot-vs-openai-dots.md)\n- [NanoClaw vs Dots](https://www.anchorterminal.com/compare/nanoclaw-vs-openai-dots.md)\n- [Dots vs OpenClaw](https://www.anchorterminal.com/compare/openai-dots-vs-openclaw.md)\n- [Dots vs OpenDuet](https://www.anchorterminal.com/compare/openai-dots-vs-openduet.md)\n- [Dots vs PicoClaw](https://www.anchorterminal.com/compare/openai-dots-vs-picoclaw.md)\n- [Dots vs Poke](https://www.anchorterminal.com/compare/openai-dots-vs-poke.md)\n- [Dots vs QwenPaw](https://www.anchorterminal.com/compare/openai-dots-vs-qwenpaw.md)\n- [Dots vs Tasker AI](https://www.anchorterminal.com/compare/openai-dots-vs-tasker-ai.md)\n- [Dots vs Town](https://www.anchorterminal.com/compare/openai-dots-vs-town.md)\n- [Dots vs ZeroClaw](https://www.anchorterminal.com/compare/openai-dots-vs-zeroclaw.md)\n- [Dots vs Zo Computer](https://www.anchorterminal.com/compare/openai-dots-vs-zo-computer.md)\n- [asaply vs LearnHarness](https://www.anchorterminal.com/compare/asaply-vs-learnharness.md)\n- [Asmi vs LearnHarness](https://www.anchorterminal.com/compare/asmi-vs-learnharness.md)\n- [Atticus vs LearnHarness](https://www.anchorterminal.com/compare/atticus-vs-learnharness.md)\n- [Atticus vs Dots](https://www.anchorterminal.com/compare/atticus-vs-openai-dots.md)\n- [Boba vs LearnHarness](https://www.anchorterminal.com/compare/boba-vs-learnharness.md)\n- [Boski vs LearnHarness](https://www.anchorterminal.com/compare/boski-vs-learnharness.md)\n- [Brea vs LearnHarness](https://www.anchorterminal.com/compare/brea-vs-learnharness.md)\n- [Caddy vs LearnHarness](https://www.anchorterminal.com/compare/caddy-app-vs-learnharness.md)\n- [Claude Duet vs LearnHarness](https://www.anchorterminal.com/compare/claude-duet-vs-learnharness.md)\n- [CowAgent vs LearnHarness](https://www.anchorterminal.com/compare/cowagent-vs-learnharness.md)\n- [DeepTutor vs LearnHarness](https://www.anchorterminal.com/compare/deeptutor-vs-learnharness.md)\n- [DeepTutor vs Dots](https://www.anchorterminal.com/compare/deeptutor-vs-openai-dots.md)\n- [Del vs LearnHarness](https://www.anchorterminal.com/compare/del-vs-learnharness.md)\n- [folk vs LearnHarness](https://www.anchorterminal.com/compare/folk-nozomio-vs-learnharness.md)\n- [GAIA vs LearnHarness](https://www.anchorterminal.com/compare/gaia-vs-learnharness.md)\n- [Gemini Spark vs LearnHarness](https://www.anchorterminal.com/compare/gemini-spark-vs-learnharness.md)\n- [Grok Bot vs LearnHarness](https://www.anchorterminal.com/compare/grok-bot-vs-learnharness.md)\n- [Hark Pro vs LearnHarness](https://www.anchorterminal.com/compare/hark-pro-vs-learnharness.md)\n- [Hark Pro vs Dots](https://www.anchorterminal.com/compare/hark-pro-vs-openai-dots.md)\n- [Haven vs LearnHarness](https://www.anchorterminal.com/compare/haven-vs-learnharness.md)\n- [Hermes Agent vs LearnHarness](https://www.anchorterminal.com/compare/hermes-agent-vs-learnharness.md)\n- [HireAlpha vs LearnHarness](https://www.anchorterminal.com/compare/hirealpha-vs-learnharness.md)\n- [Instinct vs LearnHarness](https://www.anchorterminal.com/compare/instinct-vs-learnharness.md)\n- [IronClaw vs LearnHarness](https://www.anchorterminal.com/compare/ironclaw-vs-learnharness.md)\n- [LearnHarness vs Leon](https://www.anchorterminal.com/compare/learnharness-vs-leon.md)\n- [LearnHarness vs Lindy](https://www.anchorterminal.com/compare/learnharness-vs-lindy.md)\n- [LearnHarness vs Lobby](https://www.anchorterminal.com/compare/learnharness-vs-lobby-os.md)\n- [LearnHarness vs nanobot](https://www.anchorterminal.com/compare/learnharness-vs-nanobot.md)\n- [LearnHarness vs NanoClaw](https://www.anchorterminal.com/compare/learnharness-vs-nanoclaw.md)\n- [LearnHarness vs Natura tinyNature](https://www.anchorterminal.com/compare/learnharness-vs-natura.md)\n- [LearnHarness vs OpenClaw](https://www.anchorterminal.com/compare/learnharness-vs-openclaw.md)\n- [LearnHarness vs OpenDuet](https://www.anchorterminal.com/compare/learnharness-vs-openduet.md)\n- [LearnHarness vs OpenInstinct](https://www.anchorterminal.com/compare/learnharness-vs-openinstinct.md)\n- [LearnHarness vs Orbits](https://www.anchorterminal.com/compare/learnharness-vs-orbits.md)\n- [LearnHarness vs Orchid](https://www.anchorterminal.com/compare/learnharness-vs-orchid-ai.md)\n- [LearnHarness vs Pally](https://www.anchorterminal.com/compare/learnharness-vs-pally.md)\n- [LearnHarness vs PicoClaw](https://www.anchorterminal.com/compare/learnharness-vs-picoclaw.md)\n- [LearnHarness vs Poke](https://www.anchorterminal.com/compare/learnharness-vs-poke.md)\n- [LearnHarness vs QwenPaw](https://www.anchorterminal.com/compare/learnharness-vs-qwenpaw.md)\n- [LearnHarness vs szn](https://www.anchorterminal.com/compare/learnharness-vs-szn.md)\n- [LearnHarness vs Tab](https://www.anchorterminal.com/compare/learnharness-vs-tab-bot.md)\n- [LearnHarness vs Talorys](https://www.anchorterminal.com/compare/learnharness-vs-talorys.md)\n- [LearnHarness vs Tasker AI](https://www.anchorterminal.com/compare/learnharness-vs-tasker-ai.md)\n- [LearnHarness vs Tomo](https://www.anchorterminal.com/compare/learnharness-vs-tomo.md)\n- [LearnHarness vs Town](https://www.anchorterminal.com/compare/learnharness-vs-town.md)\n- [LearnHarness vs Wajo (Fo)](https://www.anchorterminal.com/compare/learnharness-vs-wajo.md)\n- [LearnHarness vs Zapia](https://www.anchorterminal.com/compare/learnharness-vs-zapia.md)\n- [LearnHarness vs ZeroClaw](https://www.anchorterminal.com/compare/learnharness-vs-zeroclaw.md)\n- [LearnHarness vs Zo Computer](https://www.anchorterminal.com/compare/learnharness-vs-zo-computer.md)\n- [Dots vs Talorys](https://www.anchorterminal.com/compare/openai-dots-vs-talorys.md)\n- [Lobby vs Dots](https://www.anchorterminal.com/compare/lobby-os-vs-openai-dots.md)\n- [Natura tinyNature vs Dots](https://www.anchorterminal.com/compare/natura-vs-openai-dots.md)\n- [Dots vs Pally](https://www.anchorterminal.com/compare/openai-dots-vs-pally.md)\n- [Dots vs Tomo](https://www.anchorterminal.com/compare/openai-dots-vs-tomo.md)\n- [Dots vs Wajo (Fo)](https://www.anchorterminal.com/compare/openai-dots-vs-wajo.md)\n- [AstrBot vs LearnHarness](https://www.anchorterminal.com/compare/astrbot-vs-learnharness.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": "LearnHarness vs Dots",
        "url": ""
      }
    ],
    "description": "LearnHarness scores 59.3 (C) to Dots's 28.8 (F) for assistants that remember you. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LearnHarness C 59.3",
      "Dots F 28.8",
      "scores"
    ],
    "h1": "LearnHarness vs Dots",
    "image": "https://www.anchorterminal.com/assets/og/compare-learnharness-vs-openai-dots.png",
    "path": "/compare/learnharness-vs-openai-dots",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LearnHarness vs Dots for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-30",
    "url": "https://www.anchorterminal.com/compare/learnharness-vs-openai-dots"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 680
  },
  "version": 1
}
