梳理支持Ollama、LM Studio、llama.cpp的开源Agent harness,附许可证类型和配置方法,帮助开发者搭建本地AI编程环境。
Agent 离不开 harness。Harness 负责运行工具、保持状态、管理权限,并把上下文回传给模型。用本地模型时,harness 的作用更大——小上下文窗口和较弱的工具调用能力会把每个设计缺陷暴露无遗。
本文对 11 个开源 harness 做了排名,衡量标准是它们对本地推理的文档完善程度。所有仓库信息均读取于 2026 年 9 月 18 日的 GitHub。排名权重在四个维度:OSI 认证协议、已文档化的本地运行时、维护状态,以及安全控制。
1. 先调高上下文窗口
根据 Ollama 的上下文长度文档,默认值取决于 VRAM:24 GiB 以下为 4k,24 到 48 GiB 为 32k,48 GiB 及以上为 256k。同一页面指出,Agent 和编码工具至少需要 64,000 个 token。一行配置即可解决:
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
2. 选用支持工具调用的模型
Goose 的 provider 文档指出,不支持工具调用的模型只能做聊天补全。使用 llama.cpp 时,Pi 的文档提示 --jinja 参数可以启用兼容的聊天模板和工具调用。
3. 实事求是地估算内存
Cline 的本地指南将 16 到 32GB RAM 映射到小量化模型,32 到 64GB 映射到中等规模编码模型,64GB 及以上运行更大模型。Ollama 的 Hermes 页面列出 gemma4 约需 16 GB VRAM,qwen3.6 约需 24 GB VRAM。
OpenCode 在自己的 provider 文档中记录了 3 条本地路径:Ollama、LM Studio 和 llama.cpp 的 llama-server。每个都使用 @ai-sdk/openai-compatible 包配合本地 baseURL。文档声称总计支持 75+ 个 provider。
安装可以一步完成。Ollama 的 OpenCode 页面展示的命令是:
ollama launch opencode
它推荐至少 64k token 的上下文窗口。OpenCode 自家文档还补充了一条实用技巧:如果工具调用失败,把 num_ctx 调到 16k 到 32k 左右。
它内置 2 个 Agent。build 拥有完整权限。plan 是只读模式,运行 bash 命令前会先询问。
最佳场景: 想要在单一终端工具中获得最广泛已文档化的本地配置。
Pi 是极简主义之选。它的 README 只给模型配备了 4 个工具:read、write、edit 和 bash。它有意跳过了 MCP、子 Agent、plan 模式和权限弹窗。这些功能通过 TypeScript 扩展和包来实现。
Pi 原生支持 llama.cpp 路由服务器。路由器可以发现多个 GGUF 文件并按需加载。用 /llama 在 Pi 内部管理模型。Ollama 也支持 Pi:
ollama launch pi
这会安装 Pi、配置 provider 并打开一个会话。
有一点值得注意,本地使用时要留意:Pi 没有内置权限系统。它以你的用户权限运行。README 建议用 Docker、微 VM 扩展或策略沙箱来做隔离。
旧的 badlogic/pi-mono URL 现在重定向到 earendil-works/pi。Earendil 于 2026 年 4 月收购了 Pi,创始人 Mario Zechner 加入了该公司。The Pragmatic Engineer 报道称 Pi 是 OpenClaw 的基础。
最佳场景: 小型本地模型——短工具列表可以为代码留出更多上下文空间。
Goose 是本文中本地运行时文档最全面的 harness。它的 provider 文档列出了 Ollama、LM Studio、Docker Model Runner、Ramalama 和 Atomic Chat。vLLM 和 KServe 通过 OpenAI 兼容 provider 工作。自定义 provider 可以跳过本地服务器的 API key。
治理模式是一大差异点。Linux 基金会于 2025 年 12 月 9 日成立了 Agentic AI Foundation,Block 贡献了 goose。仓库现在位于 aaif-goose/goose。Goose 用 Rust 编写,提供桌面应用、CLI 和 API。README 提到 70+ 个 MCP 扩展。
Ollama 安装很简单:运行 goose configure,选择 Ollama,然后输入模型名称。
最佳场景: 代码之外的通用自动化,在中立的基金会治理下。
Cline 是最强的基于编辑器的选项。它的本地指南给出一条首要建议:在本地推理时启用"Use Compact Prompt"。它还建议在上下文增长时做聚焦任务和全新会话。
每个文件编辑和命令默认都需要批准。可选开启自动批准。Plan 和 Act 模式将策略与执行分离。
有一条许可细节值得注意。Cline 自家 README 指出 JetBrains 插件并未开源。VS Code 扩展、CLI 和 SDK 在 Apache-2.0 仓库中。
最佳场景: VS Code 用户想用本地模型配合人在回路批准。
OpenHands 发布的本地指南最为具体。它的本地 LLM 指南(截至 2026 年 5 月 21 日)推荐 Qwen3.6-35B-A3B 作为第一个尝试的本地模型。硬件需求写得直白:量化版本至少需要 24GB VRAM,或者配备 64GB 统一内存的 Apple Silicon Mac。
上下文指导同样直接。设置上下文长度至少 22,000 个 token,推荐 32,768。指南警告说 Ollama 默认的 4,096 个 token 连系统提示词都装不下。
Linux 用户要小心一个陷阱。LM Studio 默认绑定到 127.0.0.1,所以 Docker 化的 OpenHands 无法访问它。开启"Serve on Local Network"即可解决。
最佳场景: 工作站或服务器 GPU 上的容器化长时任务。
Aider 用不同的方式处理弱工具调用。它的编辑格式让模型以文本形式返回编辑内容。whole format 返回完整文件。diff format 返回 search 和 replace 块。Aider 还会在每个请求中发送一份仓库符号的映射图。
它的 Ollama 文档标出了一个真实风险:Ollama 会静默丢弃超出窗口的上下文。Aider 的对策是每个请求按需分配窗口大小,外加 8k token 的回复空间。注意该页面仍引用的是旧的 2k Ollama 默认值。
维护状况令人担忧。PyPI 显示 2026 年 2 月 12 日版本为 0.86.2,上一个版本是 2025 年 8 月 13 日。
最佳场景: 面向 Git 的结对编程,适合工具调用能力弱的模型。
Codex CLI 是 Apache-2.0 协议,内置 2 个本地 provider。源代码定义了 port 11434 上的 ollama 和 port 1234 上的 lmstudio。根据 Ollama 的 Codex 页面,codex --oss 默认使用 gpt-oss:20b,-m 参数可以选择其他模型。
有一条硬性约束:Codex 现在只支持 /v1/responses 上的 Responses API。源代码拒绝了 wire_api = "chat" 并指向了相关讨论。你的本地服务器必须暴露该端点。
仓库包含了面向 Linux 和 Windows 的专用沙箱 crate。
最佳场景: 已标准化使用 gpt-oss 的团队,想要内置沙箱隔离。
Qwen Code 的 README 列出了 OpenAI、Anthropic、Gemini 和 Qwen 协议。本地模型指定了 Ollama 和 vLLM。该项目起步于 Google Gemini CLI v0.8.2,在 v0.1 时停止了上游同步。npm install 需要 Node.js 22 或更高版本。
最佳场景: 将开源权重的 Qwen 模型与同一实验室调优的 harness 配对使用。
Kilo 的 README 声明 Kilo CLI 是 OpenCode 的一个分支。Kilo 声称它于 2025 年起步于 Roo 分支。2026 年 4 月 2 日发布了重建的 VS Code 扩展。它的本地模型文档覆盖了 Ollama、LM Studio 和 Atomic Chat。同一页面警告说本地模型通常缺少 prompt 缓存和 computer use 能力。
最佳场景: 想要一条有维护保障的路径并支持本地的 Roo Code 前用户。
Nous Research 的 Hermes Agent 是一个通用 Agent,不是编码工具。它的 README 描述了一个从经验中创建技能的 学习循环。Ollama 指出它内置 70+ 个技能和跨会话记忆。配置时将 Hermes 指向 http://127.0.0.1:11434/v1,上下文长度可以自动检测。消息网关包括 Telegram、Discord、Slack、WhatsApp、Signal 和 Email。
最佳场景: 在本地模型上运行的持久个人 Agent。
OpenClaw 是本文中 Star 最多的项目。Ollama 把它描述为一个个人助手,通过中央网关将消息服务与 AI Agent 连接起来。对于本地模型,Ollama 建议至少 64k 上下文窗口。首次启动会显示一条安全提示,说明工具访问的风险。这不是虚张声势——这个 harness 会连接到你的消息账户。
最佳场景: 消息优先的助手,面向愿意管理安全面的用户。
OpenCode 在编码 harness 中记录了最多的本地路径:Ollama、LM Studio 和 llama.cpp。
调上下文到 64,000 个 token,再去怪 harness 或模型不灵。
Pi 的 4 工具设计适合小模型,但需要一个你自己提供的沙箱。
Codex CLI 只能在暴露了 Responses API 的服务器上本地运行。
逐组件检查许可证:Crush 是 FSL,Cline 的 JetBrains 插件是闭源的。
Asif Razzaq 是 Marktechpost AI Media Inc. 的 CEO。作为一位有远见的企业家和工程师,Asif 致力于将人工智能的潜力用于社会公益。他最新的项目是推出了一个人工智能媒体平台 Marktechpost,该平台以深度报道机器学习和深度学习新闻著称,内容既技术扎实又通俗易懂。该平台月浏览量超过 200 万次,深受读者欢迎。