{
  "generated": "2026-10-15",
  "about": "Agent and app harnesses (coding agents, personal agents, and tool-using chat apps) that can drive a model running on your own machine, with the exact way to connect each one.",
  "evidence": [
    {
      "claim": "On the Terminal-Bench 2.1 leaderboard, Gemini 3 Pro scores 73.9% in the Terminus 2 harness but 65.8% in Gemini CLI, and GPT-5.5 scores 83.1% in Codex CLI but 78% in Terminus 2.",
      "source_name": "Snorkel AI, Terminal-Bench 2.1 leaderboard",
      "url": "https://snorkel.ai/leaderboard/terminal-bench-2-1/",
      "retrieved": "2026-10-15",
      "title": "The app changes the score, both ways.",
      "plain": "Gemini 3 Pro solved 74% of a coding test in one app, but 66% in Google's own app. GPT-5.5 did better in OpenAI's own app: 83% against 78%."
    },
    {
      "claim": "LangChain changed only its harness (prompt, tools, middleware) and kept the model fixed at gpt-5.2-codex; its Terminal Bench 2.0 score rose 13.7 points, from 52.8 to 66.5.",
      "source_name": "LangChain blog, Improving Deep Agents with harness engineering (2026-02-17)",
      "url": "https://www.langchain.com/blog/improving-deep-agents-with-harness-engineering",
      "retrieved": "2026-10-15",
      "title": "Only the app changed. The score went up 14 points.",
      "plain": "LangChain kept the same model. It improved only its app: the instructions, tools and checks. Its coding test score went from 53% to 67%."
    },
    {
      "claim": "Across 66 model and harness pairings, model rankings flip by harness: on Terminal-Bench 4, Claude leads GPT by 7.94 points in OpenHands but trails it by 30.16 points in Pi.",
      "source_name": "arXiv 2610.00917, Finding the Right Fit: Model-Harness Interactions across Agent Tasks",
      "url": "https://arxiv.org/abs/2610.00917",
      "retrieved": "2026-10-15",
      "title": "The app can change which model wins.",
      "plain": "Researchers tested 66 pairs of model and app. In one app, Claude beat GPT by 8 points. In another app, GPT beat Claude by 30."
    },
    {
      "claim": "With a small 20,480-token context on SWE-bench Verified, a harness that only trims old tool output and reacts to stalled work raised fully solved tasks from 43 to 72 with the same model.",
      "source_name": "arXiv 2608.26218, Same Model, Different Harness: Different Coding-Agent Results",
      "url": "https://arxiv.org/abs/2608.26218",
      "retrieved": "2026-10-15",
      "title": "A small fix almost doubled the results.",
      "plain": "The model could only see a little text at once. An app that clears out old notes and spots stuck work solved 72 tasks instead of 43. Same model."
    }
  ],
  "harnesses": [
    {
      "slug": "opencode",
      "name": "OpenCode",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "`ollama launch opencode`",
      "min_context": 64000,
      "needs_tool_calling": true,
      "best_for": "All-round local coding in the terminal",
      "strengths": [
        "One-command Ollama setup",
        "Ollama, LM Studio and llama.cpp documented",
        "Very active project"
      ],
      "weaknesses": [
        "Needs 64k context",
        "Tool calls fail if context is too small"
      ],
      "ease": 1,
      "stars": 213883,
      "last_release": "2026-10-15",
      "homepage": "https://opencode.ai",
      "docs": "https://opencode.ai/docs/providers/",
      "repo": "https://github.com/anomalyco/opencode",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/opencode",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://opencode.ai/docs/providers/",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/anomalyco/opencode",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "pi-pi-mono",
      "name": "Pi (pi-mono)",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "MIT",
      "local_models": "openai-compatible",
      "local_how": "Add a provider to `models.json` with `\"baseUrl\": \"http://localhost:11434/v1\"` and `\"api\": \"openai-completions\"`",
      "min_context": null,
      "needs_tool_calling": true,
      "best_for": "Minimal, hackable coding agent",
      "strengths": [
        "Dedicated llama.cpp guide",
        "Works with Ollama, LM Studio, vLLM",
        "Extensions and skills"
      ],
      "weaknesses": [
        "Manual JSON setup",
        "llama.cpp needs --jinja for tools"
      ],
      "ease": 2,
      "stars": 115690,
      "last_release": "2026-10-15",
      "homepage": "https://pi.dev",
      "docs": "https://pi.dev/docs/latest",
      "repo": "https://github.com/earendil-works/pi",
      "sources": [
        {
          "url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/models.md",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/llama-cpp.md",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://earendil.com/posts/pi-1-0/",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://github.com/earendil-works/pi/releases",
          "retrieved": "2026-10-16"
        }
      ]
    },
    {
      "slug": "cline",
      "name": "Cline",
      "kind": "coding",
      "interface": "IDE extension",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "Pick provider \"Ollama\" with Base URL `http://localhost:11434`, then enable \"Use Compact Prompt\"",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Local coding agent inside VS Code",
      "strengths": [
        "Ollama, LM Studio, Atomic Chat built in",
        "Compact prompt mode for local models"
      ],
      "weaknesses": [
        "Large prompt without compact mode",
        "No context guidance in docs"
      ],
      "ease": 1,
      "stars": 70367,
      "last_release": "2026-10-13",
      "homepage": "https://cline.bot",
      "docs": "https://docs.cline.bot/running-models-locally/overview",
      "repo": "https://github.com/cline/cline",
      "sources": [
        {
          "url": "https://docs.cline.bot/running-models-locally/overview",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/cline/cline",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "aider",
      "name": "Aider",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "`export OLLAMA_API_BASE=http://127.0.0.1:11434` then `aider --model ollama_chat/<model>`",
      "min_context": null,
      "needs_tool_calling": false,
      "best_for": "Pair programming with smaller local models",
      "strengths": [
        "No tool calling needed (text edit formats)",
        "Sizes Ollama context per request",
        "Git-aware edits"
      ],
      "weaknesses": [
        "Last release August 2025",
        "Less autonomous than agent tools"
      ],
      "ease": 2,
      "stars": 49568,
      "last_release": "2025-08-09",
      "homepage": "https://aider.chat",
      "docs": "https://aider.chat/docs/llms/ollama.html",
      "repo": "https://github.com/Aider-AI/aider",
      "sources": [
        {
          "url": "https://aider.chat/docs/llms/ollama.html",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://aider.chat/docs/more/edit-formats.html",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "kilo-code",
      "name": "Kilo Code",
      "kind": "coding",
      "interface": "IDE extension",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "Settings > Providers > add Ollama (no API key), then set \"Context Window Size (num_ctx)\"",
      "min_context": 32000,
      "needs_tool_calling": true,
      "best_for": "VS Code and JetBrains agent with local models",
      "strengths": [
        "Ollama provider built in",
        "Clear context guidance",
        "VS Code and JetBrains"
      ],
      "weaknesses": [
        "Smaller models fumble tool calls",
        "Needs 32k+ context"
      ],
      "ease": 1,
      "stars": 27621,
      "last_release": "2026-10-15",
      "homepage": "https://kilo.ai",
      "docs": "https://kilo.ai/docs/providers/ollama",
      "repo": "https://github.com/Kilo-Org/kilocode",
      "sources": [
        {
          "url": "https://kilo.ai/docs/providers/ollama",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/Kilo-Org/kilocode",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "goose",
      "name": "Goose",
      "kind": "coding",
      "interface": "desktop app",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "`goose configure` > Configure Providers > Ollama (defaults to `localhost:11434`)",
      "min_context": null,
      "needs_tool_calling": true,
      "best_for": "Extensible agent, desktop app or CLI",
      "strengths": [
        "Ollama, LM Studio, Ramalama built in",
        "Desktop lists local models automatically",
        "MCP extensions"
      ],
      "weaknesses": [
        "Needs a tool-calling model",
        "Ollama's 4k default context breaks extensions"
      ],
      "ease": 1,
      "stars": 55320,
      "last_release": "2026-10-08",
      "homepage": "https://goose-docs.ai",
      "docs": "https://goose-docs.ai/docs/getting-started/providers",
      "repo": "https://github.com/aaif-goose/goose",
      "sources": [
        {
          "url": "https://goose-docs.ai/docs/getting-started/providers",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/aaif-goose/goose",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "continue",
      "name": "Continue",
      "kind": "coding",
      "interface": "IDE extension",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "In `config.yaml`: `provider: ollama`, `model: <name from ollama list>`, `apiBase: http://localhost:11434`",
      "min_context": null,
      "needs_tool_calling": true,
      "best_for": "Local agent and chat inside your IDE",
      "strengths": [
        "Ollama provider built in",
        "Works with remote Ollama boxes"
      ],
      "weaknesses": [
        "Agent mode needs tool-capable model",
        "Slower release pace in 2026"
      ],
      "ease": 2,
      "stars": 36228,
      "last_release": "2026-06-19",
      "homepage": "https://continue.dev",
      "docs": "https://docs.continue.dev/guides/ollama-guide",
      "repo": "https://github.com/continuedev/continue",
      "sources": [
        {
          "url": "https://docs.continue.dev/guides/ollama-guide",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/continuedev/continue",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "crush",
      "name": "Crush",
      "kind": "coding",
      "interface": "terminal",
      "open_source": false,
      "license": "FSL-1.1-MIT",
      "local_models": "native",
      "local_how": "`provider add ollama --name Ollama --type ollama --base-url \"http://localhost:11434/v1/\"`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Polished terminal agent with local discovery",
      "strengths": [
        "Ollama and LM Studio provider types",
        "Auto-discovers local models",
        "llama.cpp supported"
      ],
      "weaknesses": [
        "Source-available license, not OSI",
        "No local context guidance"
      ],
      "ease": 2,
      "stars": 28668,
      "last_release": "2026-10-09",
      "homepage": "https://github.com/charmbracelet/crush",
      "docs": null,
      "repo": "https://github.com/charmbracelet/crush",
      "sources": [
        {
          "url": "https://github.com/charmbracelet/crush",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "qwen-code",
      "name": "Qwen Code",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "openai-compatible",
      "local_how": "In `settings.json` add a `modelProviders.openai` entry with `\"baseUrl\": \"http://localhost:11434/v1\"` and a `contextWindowSize`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Terminal agent tuned for Qwen models",
      "strengths": [
        "Ollama, LM Studio, vLLM examples",
        "Per-model context setting",
        "Timeouts for slow local servers"
      ],
      "weaknesses": [
        "Manual JSON setup",
        "No built-in Ollama provider"
      ],
      "ease": 2,
      "stars": 28504,
      "last_release": "2026-10-15",
      "homepage": "https://qwenlm.github.io/qwen-code-docs/en/users/overview",
      "docs": "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",
      "repo": "https://github.com/QwenLM/qwen-code",
      "sources": [
        {
          "url": "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/QwenLM/qwen-code",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "zed",
      "name": "Zed",
      "kind": "coding",
      "interface": "desktop app",
      "open_source": true,
      "license": "GPL-3.0-or-later",
      "local_models": "native",
      "local_how": "In settings set the Ollama `\"api_url\": \"http://localhost:11434\"`; Zed discovers pulled models",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Fast editor with a built-in agent",
      "strengths": [
        "Auto-discovers Ollama models",
        "Reads llama.cpp context and tool support",
        "Native editor, not a plugin"
      ],
      "weaknesses": [
        "Defaults to 4096 tokens for Ollama",
        "Must switch editors"
      ],
      "ease": 1,
      "stars": 91776,
      "last_release": "2026-10-14",
      "homepage": "https://zed.dev",
      "docs": "https://zed.dev/docs/ai/use-a-local-model",
      "repo": "https://github.com/zed-industries/zed",
      "sources": [
        {
          "url": "https://zed.dev/docs/ai/use-a-local-model",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/zed-industries/zed",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "codex-cli",
      "name": "Codex CLI",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "`ollama launch codex` or `codex --oss -m gpt-oss:120b`",
      "min_context": 64000,
      "needs_tool_calling": null,
      "best_for": "OpenAI's agent on gpt-oss locally",
      "strengths": [
        "Official --oss flag for Ollama",
        "One-command Ollama launch",
        "Strong vendor harness",
        "`ollama launch codex` lists your local Ollama models; `/model` swaps them (Ollama 0.40.4)"
      ],
      "weaknesses": [
        "Cloud-first design",
        "Needs 64k context"
      ],
      "ease": 1,
      "stars": 129524,
      "last_release": "2026-10-15",
      "homepage": "https://github.com/openai/codex",
      "docs": "https://docs.ollama.com/integrations/codex",
      "repo": "https://github.com/openai/codex",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/codex",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/openai/codex",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/ollama/ollama/releases/tag/v0.40.4",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://github.com/openai/codex/releases",
          "retrieved": "2026-10-16"
        }
      ]
    },
    {
      "slug": "claude-code",
      "name": "Claude Code",
      "kind": "coding",
      "interface": "terminal",
      "open_source": false,
      "license": null,
      "local_models": "config",
      "local_how": "`ollama launch claude` (or `export ANTHROPIC_BASE_URL=http://localhost:11434` with `ANTHROPIC_AUTH_TOKEN=ollama`)",
      "min_context": 64000,
      "needs_tool_calling": true,
      "best_for": "Claude Code workflow on open models",
      "strengths": [
        "One-command Ollama launch",
        "Mature agent features",
        "Same tool you may already use"
      ],
      "weaknesses": [
        "Proprietary, cloud-first",
        "Needs an Anthropic-format endpoint"
      ],
      "ease": 1,
      "stars": 151059,
      "last_release": "2026-10-15",
      "homepage": "https://code.claude.com/docs/en/overview",
      "docs": "https://docs.ollama.com/integrations/claude-code",
      "repo": "https://github.com/anthropics/claude-code",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/claude-code",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/anthropics/claude-code",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "openhands",
      "name": "OpenHands",
      "kind": "coding",
      "interface": "web app",
      "open_source": true,
      "license": "MIT",
      "local_models": "openai-compatible",
      "local_how": "Base URL `http://host.docker.internal:11434/v1`, Custom Model `openai/qwen3.6:35b-a3b`, any API key",
      "min_context": 22000,
      "needs_tool_calling": null,
      "best_for": "Sandboxed autonomous coding in Docker",
      "strengths": [
        "Names a tested local model",
        "Ollama, LM Studio, vLLM, SGLang guides",
        "Runs in a sandbox"
      ],
      "weaknesses": [
        "Docker networking setup",
        "Needs a 35B-class model to shine"
      ],
      "ease": 2,
      "stars": 90992,
      "last_release": "2026-10-12",
      "homepage": "https://openhands.dev",
      "docs": "https://docs.openhands.dev/openhands/usage/llms/local-llms",
      "repo": "https://github.com/OpenHands/OpenHands",
      "sources": [
        {
          "url": "https://docs.openhands.dev/openhands/usage/llms/local-llms",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/OpenHands/OpenHands",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "deepseek-harness",
      "name": "DeepSeek Harness",
      "kind": "coding",
      "interface": "web app",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "`ollama launch dsh`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Trying DeepSeek's plugin-based agent harness",
      "strengths": [
        "One-command Ollama launch",
        "Everything is a plugin",
        "Used in harness research"
      ],
      "weaknesses": [
        "Developer preview, breaking changes",
        "Web search needs Ollama cloud"
      ],
      "ease": 2,
      "stars": 250406,
      "last_release": "2026-10-15",
      "homepage": "https://deepseek.com/harness",
      "docs": "https://deepseek-harness.github.io/deepseek-harness/",
      "repo": "https://github.com/deepseek-ai/deepseek-harness",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/deepseek-harness",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/deepseek-ai/deepseek-harness",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "open-interpreter",
      "name": "Open Interpreter",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "Built-in \"Ollama local OSS\" and \"LM Studio local OSS\" providers; switch with `/model`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Coding agent built for low-cost models",
      "strengths": [
        "Ollama and LM Studio built in",
        "Switchable harnesses via /harness",
        "Runs as ACP agent in editors"
      ],
      "weaknesses": [
        "Rust rewrite is new",
        "Local setup barely documented"
      ],
      "ease": 2,
      "stars": 68582,
      "last_release": "2026-10-07",
      "homepage": "https://www.openinterpreter.com",
      "docs": "https://www.openinterpreter.com/docs/terminal/providers",
      "repo": "https://github.com/openinterpreter/openinterpreter",
      "sources": [
        {
          "url": "https://github.com/openinterpreter/openinterpreter",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://www.openinterpreter.com/docs/terminal/providers",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "llama-vscode",
      "name": "llama.vscode",
      "kind": "coding",
      "interface": "IDE extension",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "Install the extension, use its \"Install/Upgrade llama.cpp\" menu option, then pick a local model",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Fully local completion plus agent on llama.cpp",
      "strengths": [
        "Made by the llama.cpp team",
        "Installs llama.cpp for you",
        "Agent with MCP and custom tools"
      ],
      "weaknesses": [
        "Small project",
        "Agent best with gpt-oss 20B"
      ],
      "ease": 1,
      "stars": 1538,
      "last_release": "2026-10-10",
      "homepage": "https://github.com/ggml-org/llama.vscode",
      "docs": null,
      "repo": "https://github.com/ggml-org/llama.vscode",
      "sources": [
        {
          "url": "https://github.com/ggml-org/llama.vscode",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "mini-swe-agent",
      "name": "mini-SWE-agent",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "MIT",
      "local_models": "config",
      "local_how": "In the model config set `model_kwargs: api_base: \"http://localhost:8000/v1\"` (passed to LiteLLM)",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Benchmarking local models on SWE tasks",
      "strengths": [
        "Tiny, bash-only agent",
        "Used on public leaderboards",
        "Any LiteLLM backend"
      ],
      "weaknesses": [
        "Only vLLM documented for local",
        "Research tool, not daily driver"
      ],
      "ease": 3,
      "stars": 8552,
      "last_release": "2026-07-23",
      "homepage": "https://mini-swe-agent.com",
      "docs": "https://mini-swe-agent.com/latest/models/local_models/",
      "repo": "https://github.com/SWE-agent/mini-swe-agent",
      "sources": [
        {
          "url": "https://mini-swe-agent.com/latest/models/local_models/",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/SWE-agent/mini-swe-agent",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "gemini-cli",
      "name": "Gemini CLI",
      "kind": "coding",
      "interface": "terminal",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "no",
      "local_how": null,
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Gemini cloud models, not local",
      "strengths": [
        "Local Gemma 1B can route requests",
        "Base URL can point at a localhost proxy"
      ],
      "weaknesses": [
        "Main model stays in the cloud",
        "Speaks Gemini API, not OpenAI or Ollama"
      ],
      "ease": 3,
      "stars": 107390,
      "last_release": "2026-10-13",
      "homepage": "https://geminicli.com",
      "docs": "https://github.com/google-gemini/gemini-cli/blob/main/docs/core/gemma-setup.md",
      "repo": "https://github.com/google-gemini/gemini-cli",
      "sources": [
        {
          "url": "https://github.com/google-gemini/gemini-cli/blob/main/docs/core/gemma-setup.md",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "openclaw",
      "name": "OpenClaw",
      "kind": "general",
      "interface": "messaging",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "`ollama launch openclaw`",
      "min_context": 64000,
      "needs_tool_calling": true,
      "best_for": "Personal assistant in your chat apps",
      "strengths": [
        "One-command Ollama launch",
        "Uses Ollama's native API for tools",
        "Links many messaging apps"
      ],
      "weaknesses": [
        "Needs 64k context locally",
        "The /v1 URL breaks tool calls"
      ],
      "ease": 1,
      "stars": 392112,
      "last_release": "2026-10-13",
      "homepage": "https://openclaw.ai",
      "docs": "https://docs.openclaw.ai/providers/ollama",
      "repo": "https://github.com/openclaw/openclaw",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/openclaw",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://docs.openclaw.ai/providers/ollama",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "hermes-agent",
      "name": "Hermes Agent",
      "kind": "general",
      "interface": "terminal",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "`ollama launch hermes`",
      "min_context": 64000,
      "needs_tool_calling": true,
      "best_for": "Personal agent with a messaging gateway",
      "strengths": [
        "One-command Ollama launch",
        "Per-server local setup notes",
        "Telegram, Slack, Signal and more",
        "Runs open models itself: installs llama.cpp and picks a model that fits (v0.22)",
        "Signed Mac app for Apple Silicon"
      ],
      "weaknesses": [
        "Refuses to start under 64k context",
        "Needs server-side tool calling enabled"
      ],
      "ease": 1,
      "stars": 254350,
      "last_release": "2026-10-15",
      "homepage": "https://hermes-agent.nousresearch.com",
      "docs": "https://hermes-agent.nousresearch.com/docs/integrations/providers",
      "repo": "https://github.com/NousResearch/hermes-agent",
      "sources": [
        {
          "url": "https://docs.ollama.com/integrations/hermes",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://hermes-agent.nousresearch.com/docs/integrations/providers",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.0",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.2",
          "retrieved": "2026-10-16"
        }
      ]
    },
    {
      "slug": "nanobot",
      "name": "nanobot",
      "kind": "general",
      "interface": "messaging",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "In config: `\"providers\": { \"ollama\": { \"apiBase\": \"http://localhost:11434/v1\" } }`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Lightweight assistant in chat apps",
      "strengths": [
        "Ollama and vLLM provider docs",
        "Web UI, terminal and chat apps",
        "Shell, web, MCP, cron tools"
      ],
      "weaknesses": [
        "Config is JSON by hand",
        "No local context guidance"
      ],
      "ease": 2,
      "stars": 49064,
      "last_release": "2026-09-15",
      "homepage": "https://nanobot.wiki",
      "docs": "https://github.com/HKUDS/nanobot/blob/main/docs/providers.md",
      "repo": "https://github.com/HKUDS/nanobot",
      "sources": [
        {
          "url": "https://github.com/HKUDS/nanobot",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/HKUDS/nanobot/blob/main/docs/providers.md",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "lm-studio-bionic",
      "name": "LM Studio Bionic",
      "kind": "general",
      "interface": "desktop app",
      "open_source": false,
      "license": null,
      "local_models": "native",
      "local_how": null,
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Desktop agent for documents and coding",
      "strengths": [
        "From the LM Studio team",
        "Local or cloud open models",
        "Documents, coding, computer control",
        "Runs beside LM Studio and uses its local models (LM Studio 0.4.26+)",
        "Previews Word, Excel and PowerPoint files"
      ],
      "weaknesses": [
        "Closed source, credits for cloud"
      ],
      "ease": 1,
      "stars": null,
      "last_release": "2026-10-12",
      "homepage": "https://lmstudio.ai/bionic",
      "docs": "https://lmstudio.ai/docs/bionic",
      "repo": null,
      "sources": [
        {
          "url": "https://lmstudio.ai/bionic",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://lmstudio.ai/docs/bionic",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://lmstudio.ai/changelog",
          "retrieved": "2026-10-16"
        }
      ]
    },
    {
      "slug": "perplexica",
      "name": "Vane (Perplexica)",
      "kind": "general",
      "interface": "web app",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "In settings set the Ollama API URL to `http://host.docker.internal:11434`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Private web search with cited answers",
      "strengths": [
        "One Docker command, SearxNG bundled",
        "Ollama and OpenAI-compatible servers",
        "Cited sources"
      ],
      "weaknesses": [
        "Docker networking for Ollama",
        "Answer engine, not a general agent"
      ],
      "ease": 1,
      "stars": 37347,
      "last_release": "2026-04-10",
      "homepage": "https://github.com/ItzCrazyKns/Vane",
      "docs": null,
      "repo": "https://github.com/ItzCrazyKns/Vane",
      "sources": [
        {
          "url": "https://github.com/ItzCrazyKns/Vane",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "browser-use",
      "name": "Browser Use",
      "kind": "general",
      "interface": "terminal",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "`llm = ChatOllama(model=\"llama3.1:8b\")`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Scripting an agent that drives a browser",
      "strengths": [
        "ChatOllama class built in",
        "Huge community",
        "Python library"
      ],
      "weaknesses": [
        "Code required",
        "Small models may break action format"
      ],
      "ease": 3,
      "stars": 118093,
      "last_release": "2026-10-07",
      "homepage": "https://browser-use.com",
      "docs": "https://docs.browser-use.com/supported-models",
      "repo": "https://github.com/browser-use/browser-use",
      "sources": [
        {
          "url": "https://docs.browser-use.com/supported-models",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/browser-use/browser-use",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "gpt-researcher",
      "name": "GPT Researcher",
      "kind": "general",
      "interface": "web app",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "In `.env`: `OLLAMA_BASE_URL=\"http://127.0.0.1:11434/\"` and `FAST_LLM=\"ollama:<model>\"`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Deep research reports on local models",
      "strengths": [
        "Ollama for chat and embeddings",
        "Fast, smart and strategic model slots"
      ],
      "weaknesses": [
        "Several env vars to set",
        "No local model quality guidance"
      ],
      "ease": 2,
      "stars": 30114,
      "last_release": "2026-09-26",
      "homepage": "https://gptr.dev",
      "docs": "https://docs.gptr.dev/docs/gpt-researcher/llms/running-with-ollama",
      "repo": "https://github.com/assafelovic/gpt-researcher",
      "sources": [
        {
          "url": "https://docs.gptr.dev/docs/gpt-researcher/llms/running-with-ollama",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/assafelovic/gpt-researcher",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "khoj",
      "name": "Khoj",
      "kind": "general",
      "interface": "web app",
      "open_source": true,
      "license": "AGPL-3.0",
      "local_models": "openai-compatible",
      "local_how": "`export OPENAI_BASE_URL=\"http://localhost:11434/v1/\"` then `khoj --anonymous-mode`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Self-hosted personal AI assistant",
      "strengths": [
        "Env var or admin panel setup",
        "pip or Docker install"
      ],
      "weaknesses": [
        "Must set max prompt size by hand",
        "Last release March 2026"
      ],
      "ease": 2,
      "stars": 37692,
      "last_release": "2026-03-26",
      "homepage": "https://khoj.dev",
      "docs": "https://docs.khoj.dev/advanced/ollama",
      "repo": "https://github.com/khoj-ai/khoj",
      "sources": [
        {
          "url": "https://docs.khoj.dev/advanced/ollama",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/khoj-ai/khoj",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "ui-tars-desktop",
      "name": "UI-TARS Desktop",
      "kind": "general",
      "interface": "desktop app",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "openai-compatible",
      "local_how": "Settings > VLM Base URL: an OpenAI-compatible endpoint (for example vLLM) serving a UI-TARS model",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Letting a vision model use your computer",
      "strengths": [
        "Native GUI agent for Mac and Windows",
        "Open UI-TARS-1.5 7B weights"
      ],
      "weaknesses": [
        "Needs a UI-TARS vision model",
        "Local setup docs are archived"
      ],
      "ease": 3,
      "stars": 39289,
      "last_release": "2026-10-08",
      "homepage": "https://agent-tars.com",
      "docs": "https://github.com/bytedance/UI-TARS-desktop/blob/main/docs/archive-1.0/setting.md",
      "repo": "https://github.com/bytedance/UI-TARS-desktop",
      "sources": [
        {
          "url": "https://github.com/bytedance/UI-TARS-desktop",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/bytedance/UI-TARS-desktop/blob/main/docs/archive-1.0/setting.md",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "deerflow",
      "name": "DeerFlow",
      "kind": "general",
      "interface": "web app",
      "open_source": true,
      "license": "MIT",
      "local_models": "openai-compatible",
      "local_how": "Add a model in `config.yaml` with `use: langchain_openai:ChatOpenAI` and a local `base_url` (vLLM example: `http://localhost:8000/v1`)",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Long multi-step research with sub-agents",
      "strengths": [
        "Sub-agents, memory and sandboxes",
        "vLLM and Ollama providers"
      ],
      "weaknesses": [
        "Recommends large cloud models",
        "Needs 8 vCPU, 16 GB RAM for dev"
      ],
      "ease": 3,
      "stars": 83912,
      "last_release": "2026-09-24",
      "homepage": "https://deerflow.tech",
      "docs": null,
      "repo": "https://github.com/bytedance/deer-flow",
      "sources": [
        {
          "url": "https://github.com/bytedance/deer-flow",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "open-webui",
      "name": "Open WebUI",
      "kind": "chat",
      "interface": "web app",
      "open_source": false,
      "license": null,
      "local_models": "native",
      "local_how": "`pip install open-webui && open-webui serve` (finds Ollama at `http://localhost:11434`)",
      "min_context": null,
      "needs_tool_calling": true,
      "best_for": "ChatGPT-style web app with tools",
      "strengths": [
        "Finds local Ollama automatically",
        "Native tool calling by default",
        "Memory, notes, research tools"
      ],
      "weaknesses": [
        "Under ~30B models often fail tools",
        "Custom license with branding rules"
      ],
      "ease": 1,
      "stars": 155901,
      "last_release": "2026-10-16",
      "homepage": "https://openwebui.com",
      "docs": "https://docs.openwebui.com/getting-started/quick-start/",
      "repo": "https://github.com/open-webui/open-webui",
      "sources": [
        {
          "url": "https://docs.openwebui.com/getting-started/quick-start/",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://docs.openwebui.com/features/extensibility/plugin/tools.txt",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/open-webui/open-webui/releases/tag/v0.12.0",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://github.com/open-webui/open-webui/releases/tag/v0.12.3",
          "retrieved": "2026-10-16"
        }
      ]
    },
    {
      "slug": "lm-studio",
      "name": "LM Studio",
      "kind": "chat",
      "interface": "desktop app",
      "open_source": false,
      "license": null,
      "local_models": "native",
      "local_how": "Runs models itself; add tools via Program tab > Install > Edit `mcp.json`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Easiest local chat with MCP tools",
      "strengths": [
        "Downloads and runs models in-app",
        "MCP host since 0.3.17",
        "Also serves an API for other harnesses"
      ],
      "weaknesses": [
        "Closed source",
        "Big MCP servers flood small contexts"
      ],
      "ease": 1,
      "stars": null,
      "last_release": null,
      "homepage": "https://lmstudio.ai",
      "docs": "https://lmstudio.ai/docs/app/mcp",
      "repo": null,
      "sources": [
        {
          "url": "https://lmstudio.ai/docs/app/mcp",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://lmstudio.ai/download",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "jan",
      "name": "Jan",
      "kind": "chat",
      "interface": "desktop app",
      "open_source": true,
      "license": "Apache-2.0",
      "local_models": "native",
      "local_how": "Built-in llama.cpp and MLX engines; download a model in the app",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Open-source offline desktop assistant",
      "strengths": [
        "Runs models itself (llama.cpp, MLX)",
        "MCP connectors",
        "Own small agent models"
      ],
      "weaknesses": [
        "No guidance on tool-capable models",
        "Cowork agent still in preview"
      ],
      "ease": 1,
      "stars": 44960,
      "last_release": "2026-10-09",
      "homepage": "https://jan.ai",
      "docs": "https://www.jan.ai/docs/desktop",
      "repo": "https://github.com/janhq/jan",
      "sources": [
        {
          "url": "https://www.jan.ai/docs/desktop",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://www.jan.ai/docs",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "anythingllm",
      "name": "AnythingLLM",
      "kind": "chat",
      "interface": "desktop app",
      "open_source": true,
      "license": "MIT",
      "local_models": "native",
      "local_how": "Choose Ollama in LLM settings with base URL `http://127.0.0.1:11434`; start agents with `@agent`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Chat with your documents plus agents",
      "strengths": [
        "Ollama provider built in",
        "Detects if the model can use tools"
      ],
      "weaknesses": [
        "Agent docs thin on local models",
        "No context guidance"
      ],
      "ease": 1,
      "stars": 67161,
      "last_release": "2026-10-13",
      "homepage": "https://anythingllm.com",
      "docs": "https://docs.anythingllm.com/setup/llm-configuration/local/ollama",
      "repo": "https://github.com/Mintplex-Labs/anything-llm",
      "sources": [
        {
          "url": "https://docs.anythingllm.com/setup/llm-configuration/local/ollama",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://docs.anythingllm.com/agent/overview",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "cherry-studio",
      "name": "Cherry Studio",
      "kind": "chat",
      "interface": "desktop app",
      "open_source": true,
      "license": "AGPL-3.0",
      "local_models": "native",
      "local_how": "Enable the built-in Ollama or LM Studio provider in settings",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Multi-provider desktop chat with an agent",
      "strengths": [
        "Ollama and LM Studio providers built in",
        "MCP tools",
        "Agent that runs commands"
      ],
      "weaknesses": [
        "Docs mostly in Chinese",
        "Local setup not documented step by step"
      ],
      "ease": 1,
      "stars": 52668,
      "last_release": "2026-10-11",
      "homepage": "https://cherryai.com",
      "docs": "https://docs.cherryai.com.cn/",
      "repo": "https://github.com/CherryHQ/cherry-studio",
      "sources": [
        {
          "url": "https://docs.cherryai.com.cn/",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/CherryHQ/cherry-studio/blob/main/packages/provider-registry/src/providers/ollama.ts",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "lobechat",
      "name": "LobeHub (LobeChat)",
      "kind": "chat",
      "interface": "web app",
      "open_source": false,
      "license": null,
      "local_models": "native",
      "local_how": "`docker run -d -p 3210:3210 -e OLLAMA_PROXY_URL=http://host.docker.internal:11434 lobehub/lobehub`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Polished self-hosted chat app",
      "strengths": [
        "One Docker command for Ollama",
        "Docs cover remote Ollama access"
      ],
      "weaknesses": [
        "Community license, not OSI",
        "Tool use with local models undocumented"
      ],
      "ease": 2,
      "stars": 83251,
      "last_release": "2026-10-07",
      "homepage": "https://lobehub.com",
      "docs": "https://github.com/lobehub/lobehub/blob/main/docs/self-hosting/examples/ollama.mdx",
      "repo": "https://github.com/lobehub/lobehub",
      "sources": [
        {
          "url": "https://github.com/lobehub/lobehub/blob/main/docs/self-hosting/examples/ollama.mdx",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://github.com/lobehub/lobehub",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "librechat",
      "name": "LibreChat",
      "kind": "chat",
      "interface": "web app",
      "open_source": true,
      "license": "MIT",
      "local_models": "openai-compatible",
      "local_how": "In `librechat.yaml` add a custom endpoint named \"Ollama\" with `baseURL: \"http://localhost:11434/v1/\"`",
      "min_context": null,
      "needs_tool_calling": null,
      "best_for": "Multi-user team chat with agents and MCP",
      "strengths": [
        "Agents builder with MCP tools",
        "Fetches Ollama model list"
      ],
      "weaknesses": [
        "YAML and Docker setup",
        "Agent support for Ollama not documented"
      ],
      "ease": 2,
      "stars": 45763,
      "last_release": "2026-10-01",
      "homepage": "https://librechat.ai",
      "docs": "https://www.librechat.ai/docs/configuration/librechat_yaml/ai_endpoints/ollama",
      "repo": "https://github.com/LibreChat-AI/LibreChat",
      "sources": [
        {
          "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/ai_endpoints/ollama",
          "retrieved": "2026-10-15"
        },
        {
          "url": "https://www.librechat.ai/docs/features/agents",
          "retrieved": "2026-10-15"
        }
      ]
    },
    {
      "slug": "copilot-cli",
      "name": "GitHub Copilot CLI",
      "kind": "coding",
      "interface": "terminal",
      "open_source": false,
      "license": null,
      "local_models": "native",
      "local_how": "`/model` in Copilot CLI 1.0.94-0 or later lists models from a running Ollama; pick one, then `Add and use for this session`",
      "min_context": null,
      "needs_tool_calling": true,
      "best_for": "Copilot users who want a local model",
      "strengths": [
        "Finds running Ollama models by itself",
        "Switch models without restarting",
        "Sandbox for commands is free"
      ],
      "weaknesses": [
        "Needs a Copilot subscription",
        "Local model does not mean offline",
        "Does not install Ollama or models"
      ],
      "ease": 1,
      "stars": 11262,
      "last_release": "2026-10-14",
      "homepage": "https://github.com/features/copilot/cli",
      "docs": "https://github.blog/changelog/2026-10-07-discover-local-models-in-github-copilot-cli",
      "repo": "https://github.com/github/copilot-cli",
      "sources": [
        {
          "url": "https://github.blog/changelog/2026-10-07-discover-local-models-in-github-copilot-cli",
          "retrieved": "2026-10-16"
        },
        {
          "url": "https://github.blog/changelog/2026-10-07-local-sandboxing-for-github-copilot-now-generally-available",
          "retrieved": "2026-10-10"
        },
        {
          "url": "https://github.com/github/copilot-cli",
          "retrieved": "2026-10-16"
        }
      ]
    }
  ]
}
