如果你最近折腾 AI 编程大概率和我一样被积分问题弄到焦虑Trae 没积分了、Cursor 额度烧得太快、Claude 订费看着就肉疼可又不想退回那种“复制报错、自己猜改法”的老路。我最后的解法是转战 OpenCode——这是一款开源的 AI 编程助手终端里跑支持命令行交互也有 Web 管理界面。最打动我的是它对模型供应商几乎没有绑定官方有内置的 Zen 免费池、能接 OpenRouter 的免费模型、还能连本地跑的 Ollama三条路径全部不花钱。这篇就把这三条路从头到尾走一遍要注册什么、配置什么、会踩哪些坑照着做就能搭出一套能日常用的免费编程搭档。1. 熟悉 OpenCode 的模型接入逻辑后面才好下手1.1 OpenCode 到底是什么模型从哪里来OpenCode 本质上是一个面向开发者的 AI 编程入口定位和 Claude Code 有点像但它开源、可插件化而且默认不走“绑定某一家模型”的路子。它把模型访问做成了可插拔的 provider 层OpenCode 自己不训练模型只是把不同来源的模型统一成一致的对话接口。你可以在同一个会话里切换 OpenAI、Anthropic、Gemini、DeepSeek甚至本地模型切换成本基本为零。安装本身不复杂官方推荐用一键脚本终端里执行官方 install 命令或者用系统对应的包管理器装。装完在终端敲opencode启动首次运行会让你登录。不同版本交互界面略有差异但核心逻辑一致先认 provider再选 model。你可以在opencode auth login里添加或移除供应商也可以用opencode.json这个配置文件做细粒度控制。记住这一点后面三条路径其实都围绕它展开。1.2 三条免费路径的定位和取舍我在动手前先理了一遍三条路径各自的能力边界路径成本是否需要申请 Key限制适合场景Zen 免费池0无需申请内置可用只能从 OpenCode 内部调用、有频率限制、模型池固定日常问答、小改动、快速体验OpenRouter 免费模型0需要注册并创建 API Key免费模型限流、高峰期可能排队想尝试多种开源模型、需要 OpenAI 兼容接口本地 Ollama0吃磁盘和内存无模型要自己下载配置要求高离线开发、隐私敏感、重度使用选择这三条路径不是随机的它们覆盖了“开箱即用”“模型多但不花钱”“完全本地可控”三个层次。如果你只是刚接触 OpenCode优先走 Zen如果你觉得 Zen 的模型不够用去 OpenRouter 淘免费模型如果你对隐私有要求或者想彻底摆脱网络依赖老老实实把 Ollama 跑起来。三条路互相补充不冲突。2. 路径一Zen 免费池OpenCode 自带的白嫖选项2.1 Zen 免费池是什么Zen 是 OpenCode 官方维护的免费推理池可以理解成产品内置的“体验额度”。它不需要你注册别的平台也不需要绑定支付方式装好 OpenCode 后选模型就能用。池子里具体有哪些模型不是固定的一段时间会轮换我见过 muse spark 1.3、一些 qwen 系和 deepseek 系的免费档具体以你当前版本里/models列出的为准。这类模型通常能满足写脚本、改 bug、做代码解释这类轻量任务但不要指望它处理几十万 token 的大仓库——免费池为了成本控制上下文长度和输出上限做得很保守。2.2 实操步骤第一次启动怎么切到 Zen 模型安装好 OpenCode 后进入对话界面输入/models会弹出当前可用的模型列表带 Zen 标识的就是免费池里的模型。直接方向键选中回车即可。如果列表里没有可能是还没登录成功执行opencode auth login交互界面里选择 Zen 或 OpenCode 官方免费渠道按提示完成授权再回到对话里重新/models刷新。之后每次新会话默认会沿用上一次选择的模型所以你不需要反复切换。有个小技巧免费池偶尔会排队。遇到响应慢别急着反复重发先等一下一般 30 秒到 1 分钟内会有结果。连续重发会触发限流反而把自己的临时额度弄没了。2.3 报错 “opencodes free tier can only be used from within opencode” 是怎么回事这个报错最近问的人特别多几乎每天都能在社区看到。简单说官方在做来源校验Zen 的免费额度只允许在 OpenCode 自身客户端里调用有人想把它抠出来给 Claude Code、Cursor 或者其他工具用服务端识别到请求来源不对直接拒绝。我实测过把 OpenCode 里的 Zen 端点地址和 key 复制到别的客户端里请求发出去就是这句提示。解决办法只有一个别折腾就在 OpenCode 内部用它。如果你需要给其他编程工具供模型请走下面 OpenRouter 或 Ollama 这两条路那两条才是“模型拿出来共用”的合法姿势。2.4 使用心得小任务神器大项目慎用用 Zen 跑了差不多三周我的感受是它最适合“快速问答式”的编程辅助写个正则、解释一段陌生代码、补个注释、生成一个工具函数这些任务它对答如流。但碰上大文件重构、多文件联调、长上下文理解免费池的劣势就很明显偶尔会出现“答非所问”或者截断。所以我的习惯是大改动拆成多个小任务一次只让它处理一个具体问题不要试图把整个项目丢进去让它帮你重写。想让它干重活请参考后面两条路径。3. 路径二OpenRouter 免费模型一个 Key 串起全球开源模型3.1 OpenRouter 是什么OpenRouter 是一个模型聚合网关你可以理解成“模型界的聚合打车平台”它把各家模型闭源的和开源的都有包装成同一个 OpenAI 风格的 API你只接一个地址、用一把 Key就能在几百个模型之间自由切换。最吸引人的是其中一部分模型带:free后缀属于免费档比如 llama、qwen、mistral 系列的开源版本有些新模型刚上架时也会限时免费。和 Zen 不同OpenRouter 的 API 是按标准接口开放的不限制具体客户端所以它不仅能给 OpenCode 用其他支持自定义 provider 的工具也一样能接。3.2 注册和拿 Key 的实操去 openrouter.ai 官网用 Google 或 GitHub 账号登录。登录后在个人头像菜单里进入 Settings找到 Keys 选项点 Create Key保存时机器只会显示一次丢了只能重新建。第一次注册平台通常会送一点测试积分具体额度以当时页面提示为准不过走免费模型这条路理论上不需要充值也能用。支付方面OpenRouter 支持支付宝等方式但那是给收费模型准备的。你只要坚持用:free后缀的模型就不涉及扣费。如果你打算之后升级到收费模型我的建议是先给账号设置一个消费上限防止 key 泄露后被别人盗刷。3.3 在 OpenCode 里接入 OpenRouter 的完整步骤接入 OpenCode 有两个入口先用命令行的方式opencode auth login在列出的 provider 里选 OpenRouter粘贴刚才创建的 Key确认后完成。如果你想用配置文件管理可以在opencode.json里这样写{ $schema: https://opencode.ai/config.json, provider: { openrouter: { baseUrl: https://openrouter.ai/api/v1, apiKey: env:OPENROUTER_API_KEY } } }注意apiKey那里我用的是env:OPENROUTER_API_KEY意思是 Key 从环境变量读取。你也可以直接填一串sk-or-v1-开头的明文但那样配置文件别提交到 Git 仓库防止泄露。之后在对话里输入/models就能看到 OpenRouter 下挂着的模型列表你可能会看到几十甚至上百个挑带:free前缀标识的选即可。3.4 免费模型怎么选参数怎么调OpenRouter 上的免费模型很多但质量参差不齐。我长期用过几个给你一个基础参考具体 ID 以官网模型库为准模型 ID特点meta-llama/llama-3.1-8b-instruct:free综合能力均衡英文能力强qwen/qwen-2.5-7b-instruct:free中文表现不错代码理解可以mistralai/mistral-7b-instruct:free轻量快速适合简单任务选好模型后建议把 temperature 调到 0.7 以下编程任务 0.2 到 0.4 更稳。另外不要用带 reasoning 标签的推理型模型做免费档主力这类模型会输出大量思维链免费额度很容易被消耗速度也慢。Opencode 里如果你发现某个模型“只思考不回答”通常就是这类模型换成非推理版本能解决。3.5 免费模型的隐藏坑限流与排队免费模型不是无限量的。OpenRouter 对免费端点有每分钟请求数限制高峰期响应可能变慢甚至返回 429 提示。我遇到过几次高峰期排队重复请求反而更慢。正确的处理方式是降低请求频率或者切到另一个免费模型应急。用 OpenRouter 做主力前先在对话里多轮测试确认延时可接受再正式使用。如果你所在网络环境访问 OpenRouter 不稳定这段可以直接跳过往下看 Ollama 本地方案最省心。4. 路径三本地 Ollama彻底免费且数据不出本机4.1 Ollama 装好先解决安装和模型下载的痛点Ollama 是一个本地模型运行工具把模型文件下载到本机后推理过程完全离线完成。安装包本身不大官网下载安装即可。但在国内很多人卡在模型下载这一步ollama pull qwen2.5-coder:7b这种命令要访问海外源几 GB 的模型经常下到一半断掉。这里给一个可行的替代方案去国内可访问的模型社区比如魔搭 ModelScope下载 GGUF 格式的模型文件再通过本地导入的方式让 Ollama 识别。整体流程不复杂在魔搭社区搜索需要的模型比如qwen2.5-coder-7b-instruct下载 GGUF 文件到本地。去 Ollama 官方模型库页面找到对应模型的 Modelfile 内容复制下来。在本地建一个目录放好 GGUF 文件再放一个Modelfile文本文件把刚才复制的内容放进去然后把FROM那行修改成本地文件路径。执行导入命令ollama create qwen2.5-coder -f ./Modelfile导入完成后ollama run qwen2.5-coder就能直接对话。这个方法绕开了慢速下载源整个过程对新手也算友好。注意 GGUF 的量化精度机器显存紧凑就选 Q4_K_M显存大再选 Q8文件大小和推理质量需要平衡。4.2 模型跑起来之后推荐配置哪些模型Ollama 本地能跑什么模型取决于你的机器配置。我的日常推荐按用途分开编程主力建议qwen2.5-coder的 7B 或 14B 版本7B 在 8GB 显存或 16GB 内存的机器上能跑14B 需要至少 16 到 24GB 内存速度会慢但可用。日常问答qwen2.5系列的 7B 版本够用中文理解比不少同尺寸开源模型好。轻量工具llama3.2的 3B 版本速度快适合简单改写、摘要但别让它写复杂代码。本地模型对内存带宽很敏感运行时要关掉不必要的浏览器标签和大型软件尽量给模型留足资源。实测下来模型加载到内存后的响应速度远不如云端 API但代价是零成本而且断网也能用数据完全不出本机。对于最近在做开源项目或者写个人工具链的人来说这个隐私价值比速度重要。4.3 OpenCode 里连接 Ollama先用一条命令把 Ollama 的服务跑起来ollama serve默认端口是 11434Ollama 提供 OpenAI 兼容的接口地址http://localhost:11434/v1这一步很关键它让 OpenCode 能零适配直接接入。然后在opencode.json里配置 provider{ $schema: https://opencode.ai/config.json, provider: { ollama: { baseUrl: http://localhost:11434/v1, apiKey: ollama } } }这里apiKey填个占位值即可本地服务一般不做鉴权。配置完成后重启 OpenCode用/models刷新看有没有出现ollama前缀的模型。如果看不到多半是 Ollama 服务没启动或者端口不对。4.4 本地模型接入后的体验实测我得说实话本地模型在绝对智力上打不过云端顶级模型但做日常编程辅助足够了。我用 qwen2.5-coder 7B 处理过一个 2000 行左右的 Python 文件修改上下文加载基本没压力整个流程稳定不卡。对比下来本地模型最大的优势是“全局可控”——不会突然限流、不会因为远程服务抖动断掉非常适合集中写代码的时段。代价是下载模型那一步比较磨人但只要把模型文件落好盘后面就是永久免费。5. 常见问题与排查技巧实录5.1 报错速查表我把这段时间遇到的高频问题整理成一张表按报错信息、原因、处理思路三个维度给你参考报错或现象可能原因处理办法opencodes free tier can only be used from within opencode把 Zen 端点/Key 拿到外部客户端调用只在 OpenCode 内部使用 Zen 免费池401 unauthorized或invalid api keyOpenRouter Key 没写对、环境变量没生效检查 Key 是否以sk-or-v1-开头确认环境变量已加载connect ECONNREFUSED 127.0.0.1:11434Ollama 服务未启动或端口不对执行ollama serve确认监听在 11434模型只思考不回答选了带推理模式的模型输出被当作思维链处理换非推理版本或关闭模型的 thinking 参数免费模型响应很慢高峰期排队或限流降低频率切换同级别的其他免费模型ollama pull下载到一半断掉网络不稳定或源地址慢用魔搭下载 GGUF 后本地导入绕开默认源5.2 实操心得三条路径怎么组合起来用到这里三条路径的配置方法都过了一遍。我的经验是不要只依赖其中一条组合用体验最好。日常我基本上把 Ollama 当主力写代码、改 bug、重构这类重活交给本地 qwen2.5-coder偶尔需要更强的模型理解复杂报错时临时切到 OpenRouter 的免费模型响应快、模型选择多Zen 免费池则作为应急兜底Ollama 服务没启动或者 OpenRouter 排队时随手切过去不至于卡住手头工作。最后分享一个被很多人忽略的小细节OpenCode 的 skills 能力很依赖模型本身的工具调用水平如果你配置好模型后发现技能不生效先别急着找技能文件的问题回到模型选择上换一个支持工具调用的版本往往就通了。免费模型这条路核心逻辑是“选型大于调参”模型本身选对了后面的事项都会顺起来。