{
  "data": {
    "a": {
      "slug": "khoj",
      "name": "Khoj",
      "vendor": "Khoj Inc.",
      "vendorUrl": "https://khoj.dev",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source personal AI application with a Python server and a web interface.",
      "url": "https://www.anchorterminal.com/tools/khoj",
      "markdownUrl": "https://www.anchorterminal.com/tools/khoj.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/khoj.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/khoj.json",
      "repo": "https://github.com/khoj-ai/khoj",
      "license": "AGPL-3.0-or-later",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "khoj"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/khoj-ai/khoj"
        }
      ],
      "auth": "mixed",
      "authNotes": "The Docker Compose file and the pip quick start both run Khoj with `--anonymous-mode`, which serves every request as a default user with no sign-in and doesn't mount the /auth routes, so no API key can be created in that mode. The Compose file starts the server on 0.0.0.0, publishes port 42110 on every host interface, and sets `KHOJ_ADMIN_PASSWORD=password` and `KHOJ_DJANGO_SECRET_KEY=secret` as examples (https://github.com/khoj-ai/khoj/blob/master/docker-compose.yml). Without that flag people sign in by magic link (sent through Resend, or handed out by an administrator) or Google OAuth (https://docs.khoj.dev/advanced/authentication). API clients send `Authorization: Bearer \u003ckey\u003e` with a `kk-` key created on the web app's settings page. Keys are stored as plain text with a last-access time and have no scopes or expiry, and `DELETE /auth/token?token=\u003ckey\u003e` revokes one (https://github.com/khoj-ai/khoj/blob/master/src/khoj/configure.py; https://github.com/khoj-ai/khoj/blob/master/src/khoj/routers/auth.py). Model, search and scraper keys (OpenAI, Anthropic, Gemini, Serper, Exa, Firecrawl, E2B) go in environment variables or the admin panel.",
      "pricing": "free",
      "pricingNotes": "Free and AGPL-3.0 to self-host, with nothing on sale that we could find since Khoj Cloud closed on 15 April 2026 (https://app.khoj.dev). The README still links Khoj Enterprise at khoj.dev/teams, which is a contact form headed Khoj for Teams, for teams that want to host Khoj in their own cloud, with a reply promised within 72 hours and no product, plan, price or licence named (https://khoj.dev/teams). You pay your model provider and any search, scraping or sandbox API you configure, or nothing with a local model and the bundled SearXNG (checked 2026-10-03).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 37500,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.khoj.dev",
      "capabilities": [
        "memory.search",
        "memory.user",
        "inference.local",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "docker",
        "beta",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-03-26",
      "graded": true,
      "disclosure": "Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 38.5,
        "grade": "E",
        "agentReady": false,
        "rank": 813,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 16,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 19,
          "payments": 60,
          "reliability": 65,
          "schema": 34,
          "security": 29,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -7,
        "negativeNotes": [
          "2026-07-13. Default-on telemetry sent the caller's IP (`client_host`) to khoj.beta.haletic.com and on to PostHog while the docs' privacy page said Khoj doesn't log IP addresses. Reported in #1374 and removed on master on 2 August 2026, but 1.42.10 and 2.0.0-beta.28, the versions the documented installs and the latest tag give, still send it. Request metadata rather than content, so the minimum, -2. https://github.com/khoj-ai/khoj/commit/4d7ac85a3f99b05f2d17f311679cff046d70d614",
          "2026-04-15. Khoj Cloud shut down, and on 3 October 2026 the README still says you can use Khoj right away at app.khoj.dev with no setup, the docs site still links to app.khoj.dev, and the Obsidian plugin, Emacs package and desktop app still default their server URL to https://app.khoj.dev. An endpoint removed while still advertised. The shutdown had three weeks' notice in the app, so the minimum, -3. https://github.com/khoj-ai/khoj/blob/master/README.md; https://github.com/khoj-ai/khoj/blob/master/src/interface/obsidian/src/settings.ts",
          "2026-02-01. CVE-2025-69207 (GHSA-6whj-7qmg-86qj, 5.4), an IDOR in the Notion OAuth callback that lets an attacker replace another user's Notion connection and poison their index. The check was hardened on 28 December 2025 and ships in 2.0.0-beta.23 and later, but the advisory lists no patched version, and 1.42.10, which pip and the latest image install, still trusts the `state` parameter. It needs a Notion OAuth app and more than one user, -1. https://github.com/khoj-ai/khoj/security/advisories/GHSA-6whj-7qmg-86qj",
          "2026-06-24. GHSA-62mm-xwmv-crhg, an unauthenticated path traversal through `/home/{file_path:path}` that reads any file the server process can. The route arrived in 2.0.0-beta.23 (29 December 2025) and was guarded in 2.0.0-beta.25 (22 February 2026), so two pre-releases were exposed and 1.42.10 never had the route. Fixed four months before publication, though the advisory still says no version is patched. Fixed and decayed, -1. https://github.com/khoj-ai/khoj/security/advisories/GHSA-62mm-xwmv-crhg; https://github.com/khoj-ai/khoj/commit/21c51b9a"
        ],
        "verdict": "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August.",
        "bestFor": "One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.",
        "disclosure": "Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository",
          "Chats through Ollama, LM Studio or any OpenAI-compatible server, or OpenAI, Anthropic and Google models, and runs its embedding model in the server",
          "Indexes PDF, Markdown, org-mode, Word, Notion and GitHub content, with file, date and word filters inside the query",
          "Test CI on Python 3.10 to 3.12 against Postgres, passing on every master run we saw through 2 August 2026",
          "Named `kk-` API keys that can be listed and revoked one at a time"
        ],
        "weaknesses": [
          "No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August",
          "`pip install khoj` and the Compose file's `latest` image give 1.42.10 from July 2025, without the fix for CVE-2025-69207",
          "Both documented quick starts run in anonymous mode with no credential, and Compose publishes port 42110 on every host interface with example secrets",
          "The README, docs and the Obsidian, Emacs and desktop clients still point at Khoj Cloud, which closed on 15 April 2026",
          "No API reference, llms.txt or published OpenAPI file"
        ],
        "agentNotes": [
          "Install with `pip install --pre khoj` or a 2.0.0-beta image tag. Plain `pip install khoj` and `latest` give 1.42.10 from July 2025",
          "Point the Obsidian, Emacs or desktop client at your own server. They default to app.khoj.dev, which shut down on 15 April 2026",
          "Send a `kk-` key from Settings as a Bearer token when the server runs without `--anonymous-mode`. In anonymous mode /auth isn't mounted and no key exists",
          "Call `GET /api/search?q=...\u0026n=5` for passages and put `file:\"notes.md\"` or `dt\u003e=\"2026-01-01\"` inside `q` to filter. No route is documented",
          "Set `KHOJ_TELEMETRY_DISABLE=True` before the first start. Tagged releases send the caller's IP with telemetry"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.5
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 19,
          "payments": 60,
          "reliability": 65,
          "schema": 34,
          "security": 29,
          "transparency": 60
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "python -m pip install 'khoj[local]'   # then: USE_EMBEDDED_DB=\"true\" khoj --anonymous-mode   # or: wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml \u0026\u0026 docker-compose up"
      },
      "letme": {
        "capability": "https://letme.dev/memory.search",
        "tool": "https://letme.dev/khoj"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Khoj Inc.",
        "domain": "khoj.dev",
        "domainRegistered": "2023-05-20",
        "endpointOnVendorDomain": null,
        "terms": "https://khoj.dev/terms-of-service.html",
        "privacy": "https://khoj.dev/privacy-policy.html",
        "statusPage": "",
        "changelog": "https://github.com/khoj-ai/khoj/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The privacy policy names Khoj Inc. as the operator of khoj.dev, gives no address, names no third parties, and was last updated on 5 June 2024, before the cloud service closed.",
          "khoj.dev/.well-known/security.txt returns 404 per the listing's check. The repository has no SECURITY.md and GitHub says the project has not set one up. Private vulnerability reporting is on, with six advisories published.",
          "RDAP for khoj.dev gives a registration date of 2023-05-20, registrar Cloudflare.",
          "There's no hosted endpoint since Khoj Cloud closed on 15 April 2026. A self-hosted server answers on its owner's own host."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/khoj.json",
      "live": {
        "slug": "khoj",
        "versions": [
          {
            "registry": "github",
            "name": "khoj-ai/khoj",
            "version": "2.0.0-beta.28",
            "released": "2026-03-26",
            "seenAt": "2026-10-08T16:17:45.75696265Z"
          },
          {
            "registry": "pypi",
            "name": "khoj",
            "version": "1.42.10",
            "released": "2025-07-15",
            "seenAt": "2026-10-08T16:17:45.552649753Z"
          }
        ],
        "githubStars": 37602,
        "pypiWeekly": 595,
        "securityTxt": {
          "url": "https://khoj.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:54.020770215Z"
        },
        "domain": {
          "domain": "khoj.dev",
          "registered": "2023-05-20",
          "source": "https://pubapi.registry.google/rdap/domain/khoj.dev",
          "checkedAt": "2026-10-04T13:07:42.860690409Z"
        },
        "pages": [
          {
            "url": "https://khoj.dev/privacy-policy.html",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:21:04.451179052Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c03103b79f52"
          },
          {
            "url": "https://khoj.dev/terms-of-service.html",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:21:06.567445262Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e08893bf1c28"
          }
        ],
        "updatedAt": "2026-10-08T18:21:06.567445262Z"
      }
    },
    "answer": "Lemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "lemonade",
      "name": "Lemonade",
      "vendor": "AMD and the Lemonade community",
      "vendorUrl": "https://lemonade-server.ai",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source local AI server from AMD and community contributors. It runs text, speech and image models on the owner's CPU, GPU or NPU behind OpenAI-, Anthropic- and Ollama-compatible APIs and an MCP endpoint on port 13305.",
      "url": "https://www.anchorterminal.com/tools/lemonade",
      "markdownUrl": "https://www.anchorterminal.com/tools/lemonade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/lemonade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lemonade.json",
      "repo": "https://github.com/lemonade-sdk/lemonade",
      "license": "Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "ghcr.io/lemonade-sdk/lemonade-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Off by default. With no key set, every endpoint answers without authentication, on a default bind of localhost. `LEMONADE_API_KEY` sets one bearer key for the regular API (`/api/*`, `/v0/*`, `/v1/*`, `/mcp` and `/metrics`). `LEMONADE_ADMIN_API_KEY` sets a second key for the internal control endpoints (`/internal/*`), and without it the regular key reaches those too. Both are environment variables, so there are no per-user keys. The docs tell WebSocket clients to pass `?api_key=KEY` in the URL.",
      "pricing": "free",
      "pricingNotes": "Free and Apache 2.0 with nothing to buy and no account. You run it on your own hardware. Cloud Offload, which is optional and experimental, bills through the owner's own keys at whichever cloud provider they add.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 5800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://lemonade-server.ai/docs/",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "speech.stt",
        "speech.tts",
        "image.generate"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "mcp",
        "streaming",
        "open-weights",
        "amd",
        "npu",
        "docker"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.8,
        "grade": "B",
        "agentReady": false,
        "rank": 336,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 76,
          "payments": 60,
          "reliability": 75,
          "schema": 70,
          "security": 36,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL.",
        "bestFor": "An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.",
        "strengths": [
          "Apache 2.0, with OpenAI, Anthropic Messages, Ollama and llama.cpp-compatible routes on one port (13305)",
          "`POST /mcp` exposes six tools over Streamable HTTP, and omitting `model` reuses a loaded or downloaded model before any download",
          "Every running server returns its own Markdown API reference at `GET /v1/docs` and through the `lemonade_docs` tool, so it matches the installed version",
          "Stable release v2026.41.1 on 7 October 2026 on a weekly cadence, each with a Breaking Changes section in its notes",
          "Telemetry is off by default and exports OTLP traces only to an endpoint the operator sets, with switches to redact prompts and outputs"
        ],
        "weaknesses": [
          "No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration",
          "GitHub reports no `SECURITY.md`, and we found no security.txt, advisory or disclosure address",
          "The docs tell WebSocket clients to send the key as `?api_key=KEY` in the URL",
          "No OpenAPI file in the repository, and no `readOnlyHint` or `destructiveHint` on the MCP tools",
          "The main build and test workflow's badge read failing on main on 8 October 2026, with 411 issues open"
        ],
        "agentNotes": [
          "Call `lemonade_list_models` (or `GET /v1/models`) before naming a model. A wrong name with `allow_download: true` can start a multi-gigabyte download",
          "Send `Authorization: Bearer \u003ckey\u003e` when the operator has set `LEMONADE_API_KEY`. `/internal/*` needs the admin key when one is set",
          "Use `POST /v1/chat/completions` for streamed tokens, embeddings and speech. The MCP endpoint ignores `stream` and has no embeddings or text-to-speech tool",
          "Pass `output_dir` to `lemonade_generate_image` and `lemonade_omni` to get file paths in place of inline base64. Writes stay inside the MCP media sandbox",
          "Read `GET /v1/docs` on the running server for the reference that matches its version. Weekly releases change behaviour"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.8
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 76,
          "payments": 60,
          "reliability": 75,
          "schema": 70,
          "security": 36,
          "transparency": 70
        },
        "provenanceScore": 57
      },
      "connect": {
        "install": "winget install --id AMD.LemonadeServer -e",
        "http": "curl http://localhost:13305/api/v1/chat/completions -H \"Content-Type: application/json\" -d '{\"model\": \"your-model-name\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'",
        "claudeCode": "lemonade launch claude"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/lemonade"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Advanced Micro Devices, Inc.",
        "domain": "lemonade-server.ai",
        "domainRegistered": "2025-05-12",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/lemonade-sdk/lemonade/releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The website footer reads \"© 2026 AMD. Licensed under Apache 2.0\", and `contrib/debian/copyright` in the repository names Advanced Micro Devices, Inc. The code lives in the lemonade-sdk organisation on GitHub, and the README calls it a community project with optimisations by AMD engineers.",
          "We found no terms of service and no privacy policy for the software or the website. The home page and its footer link to neither, so both fields are empty.",
          "lemonade-server.ai/.well-known/security.txt, /security.txt and /llms.txt return 404.",
          "RDAP gives a registration date of 2025-05-12 for lemonade-server.ai, with Porkbun LLC as registrar and the registrant behind a privacy service.",
          "There's no hosted endpoint. Each instance answers on the owner's own machine, by default localhost port 13305."
        ],
        "score": 57
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lemonade.json"
    },
    "facts": [
      {
        "a": "Model platform",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Khoj Inc.",
        "b": "AMD and the Lemonade community",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0-or-later",
        "b": "Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-03-26",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2024-06-05",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "38k stars",
        "b": "5.8k stars",
        "name": "Popularity"
      },
      {
        "a": "1/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Lemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Khoj or Lemonade?"
      },
      {
        "answer": "No hosted endpoint is listed for Khoj. No hosted endpoint is listed for Lemonade.",
        "question": "Can an agent call Khoj and Lemonade without installing anything?"
      },
      {
        "answer": "Yes. Khoj is open source (AGPL-3.0-or-later). Lemonade is open source (Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence).",
        "question": "Are Khoj and Lemonade open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.",
        "slug": "khoj",
        "watchFor": "No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August"
      },
      {
        "aheadOn": [
          "Reliability, 75 against 65",
          "Schema \u0026 documentation, 70 against 34",
          "Agent ergonomics, 70 against 46",
          "Security \u0026 auth, 36 against 29",
          "Maintenance \u0026 community, 76 against 19"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Khoj loses 7 points for them"
        ],
        "goodFor": "An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.",
        "slug": "lemonade",
        "watchFor": "No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj.json",
        "title": "AnythingLLM vs Khoj",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-lemonade.json",
        "title": "AnythingLLM vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.json",
        "title": "Docker Model Runner vs Khoj",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade.json",
        "title": "Docker Model Runner vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-khoj.json",
        "title": "Foundry Local vs Khoj",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/foundry-local-vs-lemonade.json",
        "title": "Foundry Local vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/foundry-local-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-khoj.json",
        "title": "Core vs Khoj",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-lemonade.json",
        "title": "Core vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj.json",
        "title": "GPT4All vs Khoj",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.json",
        "title": "GPT4All vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-khoj.json",
        "title": "Jan vs Khoj",
        "url": "https://www.anchorterminal.com/compare/jan-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-lemonade.json",
        "title": "Jan vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/jan-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-koboldcpp.json",
        "title": "Khoj vs KoboldCpp",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-koboldcpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-llama-cpp.json",
        "title": "Khoj vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio.json",
        "title": "Khoj vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-localai.json",
        "title": "Khoj vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-mlx-lm.json",
        "title": "Khoj vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-ollama.json",
        "title": "Khoj vs Ollama",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-open-webui.json",
        "title": "Khoj vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui.json",
        "title": "Khoj vs TextGen",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade.json",
        "title": "KoboldCpp vs Lemonade",
        "url": "https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-llama-cpp.json",
        "title": "Lemonade vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-lm-studio.json",
        "title": "Lemonade vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-localai.json",
        "title": "Lemonade vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.json",
        "title": "Lemonade vs MLX LM",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-ollama.json",
        "title": "Lemonade vs Ollama",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-open-webui.json",
        "title": "Lemonade vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-screenpipe.json",
        "title": "Lemonade vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.json",
        "title": "Lemonade vs TextGen",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lemonade-vs-underdog.json",
        "title": "Lemonade vs Underdog",
        "url": "https://www.anchorterminal.com/compare/lemonade-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-localghost.json",
        "title": "Khoj vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-screenpipe.json",
        "title": "Khoj vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-screenpipe"
      }
    ],
    "scores": [
      {
        "by": 10,
        "edge": "lemonade",
        "key": "reliability",
        "khoj": 65,
        "lemonade": 75,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "edge": "lemonade",
        "key": "schema",
        "khoj": 34,
        "lemonade": 70,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 24,
        "edge": "lemonade",
        "key": "ergonomics",
        "khoj": 46,
        "lemonade": 70,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 7,
        "edge": "lemonade",
        "key": "security",
        "khoj": 29,
        "lemonade": 36,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "khoj": 60,
        "lemonade": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 57,
        "edge": "lemonade",
        "key": "maintenance",
        "khoj": 19,
        "lemonade": 76,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "edge": "lemonade",
        "key": "transparency",
        "khoj": 60,
        "lemonade": 64,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Lemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference.",
    "verdicts": {
      "khoj": "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August.",
      "lemonade": "Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/khoj-vs-lemonade",
    "json": "https://www.anchorterminal.com/compare/khoj-vs-lemonade.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/khoj-vs-lemonade.md",
    "slim": "https://www.anchorterminal.com/compare/khoj-vs-lemonade.min.md"
  },
  "markdown": "Lemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference.\n\n- Khoj: grade E, 38.5/100, rank #813 of 842. Markdown https://www.anchorterminal.com/tools/khoj.md · JSON https://www.anchorterminal.com/api/v1/tools/khoj.json\n- Lemonade: grade B, 63.8/100, rank #336 of 842. Markdown https://www.anchorterminal.com/tools/lemonade.md · JSON https://www.anchorterminal.com/api/v1/tools/lemonade.json\n\n## Which one, for what\n\n### Khoj (E)\n\nGood for: One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.\n\nWatch for: No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August\n\n### Lemonade (B)\n\nGood for: An owner with AMD hardware (Ryzen AI NPUs, Radeon or Strix Halo) who wants one local server for chat, speech and images that existing OpenAI, Anthropic or Ollama clients can call, and for MCP clients that want local models as tools.\n\nAhead on:\n- Reliability, 75 against 65\n- Schema \u0026 documentation, 70 against 34\n- Agent ergonomics, 70 against 46\n- Security \u0026 auth, 36 against 29\n- Maintenance \u0026 community, 76 against 19\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where Khoj loses 7 points for them\n\nWatch for: No authentication by default. With no key set, every route answers, including `/internal/*` shutdown and configuration\n\n\n## Score by category\n\n| Category | Weight | Khoj | Lemonade | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 75 | Lemonade +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 34 | 70 | Lemonade +36 |\n| Agent ergonomics | 13% (16.2 this run) | 46 | 70 | Lemonade +24 |\n| Security \u0026 auth | 14% (17.5 this run) | 29 | 36 | Lemonade +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 19 | 76 | Lemonade +57 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 64 | Lemonade +4 |\n| Negative events | ≤15 | -7 | 0 | |\n| **Total** | | **38.5 · E** | **63.8 · B** | |\n\n## Facts side by side\n\n| Fact | Khoj | Lemonade |\n| --- | --- | --- |\n| Kind | Model platform | HTTP API |\n| Vendor | Khoj Inc. | AMD and the Lemonade community |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | AGPL-3.0-or-later | Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence |\n| Tools exposed | none | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-03-26 | 2026-10-07 |\n| Terms last updated | 2024-06-05 | no document linked |\n| Privacy policy last updated | no date given | 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 | 38k stars | 5.8k stars |\n| Agent reviews | 1/5 (2) | none |\n\n## Verdicts\n\n**Khoj.** AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August.\n\n**Lemonade.** Apache 2.0, with weekly releases, installers for Windows, macOS and five Linux routes, and a six-tool MCP endpoint whose descriptions steer a caller away from accidental multi-gigabyte downloads. Authentication is off by default, the repository has no security policy, and the docs tell WebSocket clients to pass the key in the URL.\n\n## Before you call either\n\n### Khoj\n\n1. Install with `pip install --pre khoj` or a 2.0.0-beta image tag. Plain `pip install khoj` and `latest` give 1.42.10 from July 2025\n2. Point the Obsidian, Emacs or desktop client at your own server. They default to app.khoj.dev, which shut down on 15 April 2026\n3. Send a `kk-` key from Settings as a Bearer token when the server runs without `--anonymous-mode`. In anonymous mode /auth isn't mounted and no key exists\n4. Call `GET /api/search?q=...\u0026n=5` for passages and put `file:\"notes.md\"` or `dt\u003e=\"2026-01-01\"` inside `q` to filter. No route is documented\n5. Set `KHOJ_TELEMETRY_DISABLE=True` before the first start. Tagged releases send the caller's IP with telemetry\n\n### Lemonade\n\n1. Call `lemonade_list_models` (or `GET /v1/models`) before naming a model. A wrong name with `allow_download: true` can start a multi-gigabyte download\n2. Send `Authorization: Bearer \u003ckey\u003e` when the operator has set `LEMONADE_API_KEY`. `/internal/*` needs the admin key when one is set\n3. Use `POST /v1/chat/completions` for streamed tokens, embeddings and speech. The MCP endpoint ignores `stream` and has no embeddings or text-to-speech tool\n4. Pass `output_dir` to `lemonade_generate_image` and `lemonade_omni` to get file paths in place of inline base64. Writes stay inside the MCP media sandbox\n5. Read `GET /v1/docs` on the running server for the reference that matches its version. Weekly releases change behaviour\n\n## Questions\n\n### Which is better for AI agents, Khoj or Lemonade?\n\nLemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.\n\n### Can an agent call Khoj and Lemonade without installing anything?\n\nNo hosted endpoint is listed for Khoj. No hosted endpoint is listed for Lemonade.\n\n### Are Khoj and Lemonade open source?\n\nYes. Khoj is open source (AGPL-3.0-or-later). Lemonade is open source (Apache 2.0. Each backend (llama.cpp, whisper.cpp, stable-diffusion.cpp, FastFlowLM and others) is downloaded separately under its own licence).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/khoj-vs-lemonade.json, and with the fewest tokens: https://www.anchorterminal.com/compare/khoj-vs-lemonade.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"khoj\", \"b\": \"lemonade\"}`. From a terminal: `anchor compare khoj lemonade`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/khoj.json and https://www.anchorterminal.com/api/v1/tools/lemonade.json\n\n## Other comparisons with Khoj or Lemonade\n\n- [AnythingLLM vs Khoj](https://www.anchorterminal.com/compare/anythingllm-vs-khoj.md)\n- [AnythingLLM vs Lemonade](https://www.anchorterminal.com/compare/anythingllm-vs-lemonade.md)\n- [Docker Model Runner vs Khoj](https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.md)\n- [Docker Model Runner vs Lemonade](https://www.anchorterminal.com/compare/docker-model-runner-vs-lemonade.md)\n- [Foundry Local vs Khoj](https://www.anchorterminal.com/compare/foundry-local-vs-khoj.md)\n- [Foundry Local vs Lemonade](https://www.anchorterminal.com/compare/foundry-local-vs-lemonade.md)\n- [Core vs Khoj](https://www.anchorterminal.com/compare/ghost-core-vs-khoj.md)\n- [Core vs Lemonade](https://www.anchorterminal.com/compare/ghost-core-vs-lemonade.md)\n- [GPT4All vs Khoj](https://www.anchorterminal.com/compare/gpt4all-vs-khoj.md)\n- [GPT4All vs Lemonade](https://www.anchorterminal.com/compare/gpt4all-vs-lemonade.md)\n- [Jan vs Khoj](https://www.anchorterminal.com/compare/jan-vs-khoj.md)\n- [Jan vs Lemonade](https://www.anchorterminal.com/compare/jan-vs-lemonade.md)\n- [Khoj vs KoboldCpp](https://www.anchorterminal.com/compare/khoj-vs-koboldcpp.md)\n- [Khoj vs llama.cpp](https://www.anchorterminal.com/compare/khoj-vs-llama-cpp.md)\n- [Khoj vs LM Studio](https://www.anchorterminal.com/compare/khoj-vs-lm-studio.md)\n- [Khoj vs LocalAI](https://www.anchorterminal.com/compare/khoj-vs-localai.md)\n- [Khoj vs MLX LM](https://www.anchorterminal.com/compare/khoj-vs-mlx-lm.md)\n- [Khoj vs Ollama](https://www.anchorterminal.com/compare/khoj-vs-ollama.md)\n- [Khoj vs Open WebUI](https://www.anchorterminal.com/compare/khoj-vs-open-webui.md)\n- [Khoj vs TextGen](https://www.anchorterminal.com/compare/khoj-vs-text-generation-webui.md)\n- [KoboldCpp vs Lemonade](https://www.anchorterminal.com/compare/koboldcpp-vs-lemonade.md)\n- [Lemonade vs llama.cpp](https://www.anchorterminal.com/compare/lemonade-vs-llama-cpp.md)\n- [Lemonade vs LM Studio](https://www.anchorterminal.com/compare/lemonade-vs-lm-studio.md)\n- [Lemonade vs LocalAI](https://www.anchorterminal.com/compare/lemonade-vs-localai.md)\n- [Lemonade vs MLX LM](https://www.anchorterminal.com/compare/lemonade-vs-mlx-lm.md)\n- [Lemonade vs Ollama](https://www.anchorterminal.com/compare/lemonade-vs-ollama.md)\n- [Lemonade vs Open WebUI](https://www.anchorterminal.com/compare/lemonade-vs-open-webui.md)\n- [Lemonade vs screenpipe](https://www.anchorterminal.com/compare/lemonade-vs-screenpipe.md)\n- [Lemonade vs TextGen](https://www.anchorterminal.com/compare/lemonade-vs-text-generation-webui.md)\n- [Lemonade vs Underdog](https://www.anchorterminal.com/compare/lemonade-vs-underdog.md)\n- [Khoj vs LocalGhost](https://www.anchorterminal.com/compare/khoj-vs-localghost.md)\n- [Khoj vs screenpipe](https://www.anchorterminal.com/compare/khoj-vs-screenpipe.md)\n\n## Disclosure\n\n- Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Khoj vs Lemonade",
        "url": ""
      }
    ],
    "description": "Lemonade scores 63.8 (B) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Khoj E 38.5",
      "Lemonade B 63.8",
      "scores"
    ],
    "h1": "Khoj vs Lemonade",
    "image": "https://www.anchorterminal.com/assets/og/compare-khoj-vs-lemonade.png",
    "path": "/compare/khoj-vs-lemonade",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Khoj vs Lemonade for AI agents, E 38.5 vs B 63.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/khoj-vs-lemonade"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 730
  },
  "version": 1
}
