{
  "data": {
    "a": {
      "slug": "localai",
      "name": "LocalAI",
      "vendor": "Ettore Di Giacinto and the LocalAI team",
      "vendorUrl": "https://localai.io",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Open-source engine in Go, MIT licensed, that runs models on the owner's hardware behind OpenAI-, Anthropic-, Ollama- and ElevenLabs-compatible APIs on port 8080.",
      "url": "https://www.anchorterminal.com/tools/localai",
      "markdownUrl": "https://www.anchorterminal.com/tools/localai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/localai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/localai.json",
      "repo": "https://github.com/mudler/LocalAI",
      "license": "MIT. Each backend image wraps an upstream engine (llama.cpp, vLLM, whisper.cpp, diffusers and others) under that engine's own licence",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "docker.io/localai/localai"
        }
      ],
      "auth": "mixed",
      "authNotes": "Off by default. With no keys and no user accounts configured, every request is accepted, and the server refuses to start on a public address in that state unless `--allow-insecure-public-bind` is set. `LOCALAI_API_KEY` sets shared keys with full admin rights. `LOCALAI_AUTH=true` turns on user accounts (local, GitHub OAuth or OIDC), and each user creates revocable keys stored as HMAC-SHA256, with an optional expiry in the source, carrying the user's role (admin or user) and per-model and per-feature permissions. Keys go in `Authorization: Bearer`, `x-api-key`, `xi-api-key` or a `token` cookie.",
      "pricing": "free",
      "pricingNotes": "Free and MIT with nothing to buy. You run it on your own hardware. The project takes sponsorship through GitHub Sponsors.",
      "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": 42,
      "popularity": {
        "githubStars": 47800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://localai.io/basics/getting_started/",
      "openapi": "https://raw.githubusercontent.com/mudler/LocalAI/master/swagger/swagger.json",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "agent.mcp-client",
        "embed.text",
        "rerank",
        "speech.stt",
        "speech.tts",
        "voice.speech-to-speech",
        "image.generate",
        "video.generate",
        "guard.pii",
        "finetune.sft",
        "db.vector"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "openapi",
        "mcp",
        "go",
        "docker",
        "streaming",
        "open-weights",
        "no-telemetry"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 133,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 80,
          "payments": 60,
          "reliability": 84,
          "schema": 81,
          "security": 62,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-07-07. CVE-2026-59707 (8.6 at NVD under CVSS 3.1, published by VulnCheck), an unauthenticated server-side request forgery through POST /models/apply in v4.3.1 and earlier, reported in issue #10665. The code now refuses private, loopback and metadata addresses in gallery config fetches, with a comment citing the issue, from v4.8.0 at the latest. The project published no GitHub advisory, the fix commit NVD and VulnCheck name (f9b968e) is an unrelated docs change, and SECURITY.md still lists 3.x as the supported series. Fixed, documented only by a third party, -3. https://nvd.nist.gov/vuln/detail/CVE-2026-59707; https://github.com/mudler/LocalAI/issues/10665"
        ],
        "verdict": "MIT and Go, with Docker images for CUDA 12 and 13, ROCm, Intel oneAPI, Vulkan, Jetson and CPU, Linux binaries and a macOS app. No authentication by default. Loopback, LAN and VPN binds answer every caller, and keys set by environment variable grant full admin.",
        "strengths": [
          "MIT and Go, with Docker images for CUDA 12 and 13, ROCm, Intel oneAPI, Vulkan, Jetson and CPU, Linux binaries and a macOS app",
          "OpenAI, Anthropic, Open Responses, Ollama and ElevenLabs-compatible endpoints, with a Swagger 2.0 file of 133 operations served by every instance",
          "429 and 503 responses carry Retry-After, and errors come in the calling client's own envelope",
          "Optional user accounts with hashed, revocable keys, per-model and per-feature permissions and per-user quotas",
          "v4.11.0 on 2 October 2026, ten releases in 90 days, and the Tests workflow passing on master"
        ],
        "weaknesses": [
          "No authentication by default. Loopback, LAN and VPN binds answer every caller, and keys set by environment variable grant full admin",
          "CVE-2026-59707, an unauthenticated SSRF in v4.3.1 and earlier, published by VulnCheck in July 2026 with no advisory from the project",
          "SECURITY.md still names 3.x as the supported series, and there's no security.txt or privacy policy",
          "The MCP admin server registers 42 tools against the 19 its docs list, with no annotations, and its writes are held back only by a prompt",
          "No breaking-change section in the release notes, and the unsigned macOS DMG needs its quarantine flag removed by hand"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ckey\u003e` when the operator has set keys. A 401 means the instance has auth on",
          "Read /.well-known/localai.json and /api/instructions first. Both answer without a key and list what this instance can do",
          "Back off on 429 and 503 for the Retry-After seconds. A 503 can mean the model is still loading",
          "Start `local-ai mcp-server` with `--read-only` unless the task is to install or delete models",
          "Take model names from /v1/models. Each instance names its own"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 80,
          "payments": 60,
          "reliability": 84,
          "schema": 81,
          "security": 62,
          "transparency": 67
        },
        "provenanceScore": 27
      },
      "connect": {
        "install": "docker run -ti --name local-ai -p 8080:8080 localai/localai:latest",
        "http": "curl http://localhost:8080/v1/chat/completions -H \"Content-Type: application/json\" -d '{\n  \"model\": \"qwen3-4b\",\n  \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/localai"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "localai.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/mudler/LocalAI/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "No company is named. The `LICENSE` copyright line reads Ettore Di Giacinto, and the README names him as project lead with Richard Palethorpe as maintainer.",
          "We found no terms or privacy page in the docs site's source, and localai.io/.well-known/security.txt and localai.io/llms.txt return 404.",
          "There's no hosted endpoint. Each instance answers on the operator's own host, by default port 8080."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/localai.json",
      "live": {
        "slug": "localai",
        "versions": [
          {
            "registry": "github",
            "name": "mudler/LocalAI",
            "version": "v4.11.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:32:02.572449913Z"
          }
        ],
        "githubStars": 49385,
        "securityTxt": {
          "url": "https://localai.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.873292356Z"
        },
        "domain": {
          "domain": "localai.io",
          "checkedAt": "2026-10-04T13:07:02.946116654Z"
        },
        "updatedAt": "2026-10-04T16:32:02.572449913Z"
      }
    },
    "b": {
      "slug": "underdog",
      "name": "Underdog",
      "vendor": "Conway Research",
      "vendorUrl": "https://underdog.ai",
      "kind": "platform",
      "category": "local-ai",
      "summary": "A personal AI from Conway Research that runs on the owner's Mac with Apple silicon.",
      "url": "https://www.anchorterminal.com/tools/underdog",
      "markdownUrl": "https://www.anchorterminal.com/tools/underdog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/underdog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/underdog.json",
      "license": "Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No API, MCP server, CLI or credential for agents from Conway found as of 3 October 2026. The husky-flash card names `husky serve --model ConwayResearch/husky-flash` from an \"Underdog Greyhound repository\" that isn't public, with no port or protocol documented. Conway's 27B cards run the weights through Inco AI's Splash, which listens on `127.0.0.1:8000` with an OpenAI-compatible API and no authentication unless `--api-key` is set. The weights download from Hugging Face without a gate, though the 27B card says to run `hf auth login` first. underdog.ai, whose robots.txt refuses our reader, is unchecked.",
      "pricing": "free",
      "pricingNotes": "Free. Underdog's pricing page says \"100% free\", \"Free forever? Yes. It's your computer doing the work\" and \"There is nothing to bill you for\", with no paid tier (text supplied on 3 October 2026, because underdog.ai refuses our reader). The model weights are free Apache-2.0 downloads on Hugging Face with no login or card. The page links a sign-in, and whether the app needs an account is unchecked.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol on conway.tech, husky.underdog.ai, Conway's Hugging Face organisation or its GitHub repositories (3 October 2026); underdog.ai unchecked.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "capabilities": [
        "inference.open-weights",
        "speech.stt"
      ],
      "tags": [
        "local",
        "apple-silicon",
        "open-weights",
        "mlx"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "disclosure": "Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 29.9,
        "grade": "F",
        "agentReady": false,
        "rank": 444,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 12,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 15,
          "maintenance": 56,
          "payments": 60,
          "reliability": 33,
          "schema": 24,
          "security": 14,
          "transparency": 24
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-03"
        },
        "negative": 0,
        "verdict": "Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public.",
        "disclosure": "Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.",
        "strengths": [
          "Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate",
          "Eight Underdog model repositories published between 4 and 30 September 2026, the latest Underdog 27B 1.0 and a 2-bit ternary build on 30 September",
          "Woof 4B and 2B 1.1 ship release-provenance.json with a byte count and SHA-256 for every file",
          "Husky's speed post names its hardware, macOS and MLX versions and method, and publishes its weaker results too (1.02 to 1.27 times MLX on writing)",
          "The 27B weights run outside the app through Splash's OpenAI-compatible API, per Conway's ternary card"
        ],
        "weaknesses": [
          "No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public",
          "The app's source isn't published, and none of Conway's three public GitHub repositories mentions Underdog",
          "The Woof 4B 1.1, Woof 2B 1.1 and Bark 0.8B 1.0 cards are one or two sentences, with no base model, context length or limits",
          "No security.txt at conway.tech (404), no SECURITY.md, and no disclosure policy, advisories or bug bounty found",
          "Conway's home page says Underdog 27B beats Claude Opus 4.6, and the 27B cards publish speed figures only"
        ],
        "agentNotes": [
          "Don't look for an agent interface to Underdog. We found no API, MCP server, CLI or SDK, and underdog.ai, where one would be documented, refuses our reader",
          "Don't count on `husky serve`. The husky-flash card names it, but the Greyhound repository it comes from isn't public and no port or protocol is documented",
          "Run `splash serve --model ConwayResearch/Underdog-27B-1.0 --default-reasoning-effort medium` with Inco AI's Splash 1.1.0 or later for an OpenAI-compatible endpoint on `127.0.0.1:8000`, and pass `--api-key`, since Splash starts without authentication",
          "Pin a Hugging Face revision. Woof 4B went from 1.0 to 1.1 in eight days with no note of what changed",
          "Check Woof 4B and 2B 1.1 files against the SHA-256 values in release-provenance.json before loading them"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 29.9
          }
        ],
        "editorialScores": {
          "ergonomics": 15,
          "maintenance": 56,
          "payments": 60,
          "reliability": 33,
          "schema": 24,
          "security": 14,
          "transparency": 23
        },
        "provenanceScore": 24
      },
      "letme": {
        "capability": "https://letme.dev/inference.open-weights",
        "tool": "https://letme.dev/underdog"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "",
        "domain": "underdog.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://underdog.ai/terms",
        "privacy": "https://underdog.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-03",
        "notes": [
          "underdog.ai's robots.txt refuses our reader (again at about 08:15 UTC on 3 October 2026), so its terms, privacy policy, changelog, domain registration and security.txt are unchecked, not missing.",
          "Terms (https://underdog.ai/terms) and a privacy policy (https://underdog.ai/privacy) are linked from Underdog's pricing page, whose text was supplied to us on 3 October 2026. Their content is unchecked, because our reader is refused.",
          "husky.underdog.ai, a separate host linked from conway.tech and the founder's page, loaded for our reader.",
          "conway.tech's home page links no terms or privacy policy, and conway.tech has no security.txt (404) and no llms.txt (404).",
          "No registered company name found. a16z says Conway Research, conway.tech says Conway, and the licence in Conway's automaton repository reads 'Copyright (c) 2026 Conway'.",
          "No status page applies, since Underdog runs on the owner's machine with no hosted endpoint, and no changelog was found outside underdog.ai."
        ],
        "score": 24
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/underdog.json",
      "live": {
        "slug": "underdog",
        "securityTxt": {
          "url": "https://underdog.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-17T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:52.165307988Z"
        },
        "domain": {
          "domain": "underdog.ai",
          "registered": "2020-03-30",
          "source": "https://rdap.identitydigital.services/rdap/domain/underdog.ai",
          "checkedAt": "2026-10-04T13:05:26.708018286Z"
        },
        "pages": [
          {
            "url": "https://underdog.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:37.759260125Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e17b8e9e48b7"
          },
          {
            "url": "https://underdog.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:39.984360622Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6c84bce579c3"
          }
        ],
        "updatedAt": "2026-10-04T15:48:39.984360622Z"
      }
    },
    "summary": "LocalAI has a score of 68 (B) against Underdog's 29.9 (F). Both do inference open weights. The largest gap is schema \u0026 documentation, 57 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/localai-vs-underdog",
    "json": "https://www.anchorterminal.com/compare/localai-vs-underdog.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/localai-vs-underdog.md",
    "slim": "https://www.anchorterminal.com/compare/localai-vs-underdog.min.md"
  },
  "markdown": "LocalAI has a score of 68 (B) against Underdog's 29.9 (F). Both do inference open weights. The largest gap is schema \u0026 documentation, 57 points.\n\n- LocalAI: grade B, 68/100, rank #133 of 452. Markdown https://www.anchorterminal.com/tools/localai.md · JSON https://www.anchorterminal.com/api/v1/tools/localai.json\n- Underdog: grade F, 29.9/100, rank #444 of 452. Markdown https://www.anchorterminal.com/tools/underdog.md · JSON https://www.anchorterminal.com/api/v1/tools/underdog.json\n\n## Which one, for what\n\nPick LocalAI for reliability (+51), schema \u0026 documentation (+57), agent ergonomics (+56), security \u0026 auth (+48), maintenance \u0026 community (+24), transparency \u0026 trust (+23).\n\nPick Underdog for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | LocalAI | Underdog | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 33 | LocalAI +51 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 24 | LocalAI +57 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 15 | LocalAI +56 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 14 | LocalAI +48 |\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) | 80 | 56 | LocalAI +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 24 | LocalAI +23 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **68 · B** | **29.9 · F** | |\n\n## Facts side by side\n\n| Fact | LocalAI | Underdog |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | Ettore Di Giacinto and the LocalAI team | Conway Research |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, stdio |  |\n| Auth | OAuth or key | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT. Each backend image wraps an upstream engine (llama.cpp, vLLM, whisper.cpp, diffusers and others) under that engine's own licence | Model weights Apache-2.0 on Hugging Face (Underdog 27B 1.0 and its ternary build, Woof 4B and 2B 1.1, Bark 0.8B 1.0); woof-1.0-4B carries the Apache-2.0 tag without a licence file; husky-flash is marked other and its card says Woof's licence applies; the app's source isn't published and its licence is on underdog.ai, unchecked |\n| Tools exposed | 42 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | no | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-10-02 | 2026-09-30 |\n| Popularity | 48k stars | none |\n| Agent reviews | 3/5 (2) | 2/5 (2) |\n\n## Verdicts\n\n**LocalAI.** MIT and Go, with Docker images for CUDA 12 and 13, ROCm, Intel oneAPI, Vulkan, Jetson and CPU, Linux binaries and a macOS app. No authentication by default. Loopback, LAN and VPN binds answer every caller, and keys set by environment variable grant full admin.\n\n**Underdog.** Apache-2.0 weights on Hugging Face for Underdog 27B 1.0, Woof 4B and 2B 1.1 and Bark 0.8B 1.0, with no gate. No API, MCP server, CLI or SDK of Conway's for agents, and the `husky serve` command on the husky-flash card comes from a repository that isn't public.\n\n## Before you call either\n\n### LocalAI\n\n1. Send `Authorization: Bearer \u003ckey\u003e` when the operator has set keys. A 401 means the instance has auth on\n2. Read /.well-known/localai.json and /api/instructions first. Both answer without a key and list what this instance can do\n3. Back off on 429 and 503 for the Retry-After seconds. A 503 can mean the model is still loading\n4. Start `local-ai mcp-server` with `--read-only` unless the task is to install or delete models\n5. Take model names from /v1/models. Each instance names its own\n\n### Underdog\n\n1. Don't look for an agent interface to Underdog. We found no API, MCP server, CLI or SDK, and underdog.ai, where one would be documented, refuses our reader\n2. Don't count on `husky serve`. The husky-flash card names it, but the Greyhound repository it comes from isn't public and no port or protocol is documented\n3. Run `splash serve --model ConwayResearch/Underdog-27B-1.0 --default-reasoning-effort medium` with Inco AI's Splash 1.1.0 or later for an OpenAI-compatible endpoint on `127.0.0.1:8000`, and pass `--api-key`, since Splash starts without authentication\n4. Pin a Hugging Face revision. Woof 4B went from 1.0 to 1.1 in eight days with no note of what changed\n5. Check Woof 4B and 2B 1.1 files against the SHA-256 values in release-provenance.json before loading them\n\n## Other comparisons with LocalAI or Underdog\n\n- [screenpipe vs Underdog](https://www.anchorterminal.com/compare/screenpipe-vs-underdog.md)\n- [AnythingLLM vs LocalAI](https://www.anchorterminal.com/compare/anythingllm-vs-localai.md)\n- [GPT4All vs LocalAI](https://www.anchorterminal.com/compare/gpt4all-vs-localai.md)\n- [Jan vs LocalAI](https://www.anchorterminal.com/compare/jan-vs-localai.md)\n- [Khoj vs LocalAI](https://www.anchorterminal.com/compare/khoj-vs-localai.md)\n- [llama.cpp vs LocalAI](https://www.anchorterminal.com/compare/llama-cpp-vs-localai.md)\n- [LM Studio vs LocalAI](https://www.anchorterminal.com/compare/lm-studio-vs-localai.md)\n- [LocalAI vs Ollama](https://www.anchorterminal.com/compare/localai-vs-ollama.md)\n- [LocalAI vs Open WebUI](https://www.anchorterminal.com/compare/localai-vs-open-webui.md)\n- [LocalAI vs screenpipe](https://www.anchorterminal.com/compare/localai-vs-screenpipe.md)\n- [AnythingLLM vs Underdog](https://www.anchorterminal.com/compare/anythingllm-vs-underdog.md)\n- [GPT4All vs Underdog](https://www.anchorterminal.com/compare/gpt4all-vs-underdog.md)\n- [Jan vs Underdog](https://www.anchorterminal.com/compare/jan-vs-underdog.md)\n- [llama.cpp vs Underdog](https://www.anchorterminal.com/compare/llama-cpp-vs-underdog.md)\n- [LM Studio vs Underdog](https://www.anchorterminal.com/compare/lm-studio-vs-underdog.md)\n- [Ollama vs Underdog](https://www.anchorterminal.com/compare/ollama-vs-underdog.md)\n\n## Disclosure\n\n- Underdog competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default. underdog.ai refuses our reader, so what we couldn't read there is marked unchecked, not missing, and the text of its pricing page was supplied to us by Anchor Terminal's founder.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "LocalAI vs Underdog",
        "url": ""
      }
    ],
    "description": "LocalAI has a score of 68 (B) against Underdog's 29.9 (F). Both do inference open weights. The largest gap is schema \u0026 documentation, 57 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "LocalAI B 68",
      "Underdog F 29.9",
      "scores"
    ],
    "h1": "LocalAI vs Underdog",
    "image": "https://www.anchorterminal.com/assets/og/compare-localai-vs-underdog.png",
    "path": "/compare/localai-vs-underdog",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LocalAI vs Underdog for AI agents, B 68 vs F 29.9 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/localai-vs-underdog"
  },
  "tokens": {
    "markdown": 1850,
    "slim": 330
  },
  "version": 1
}
