本地 AI 编码助手从 0 配起来:先选模型,再接 Ollama、VS Code、Claude Code 和 Codex
配本地 AI 编码助手我现在最不建议的做法就是打开 Ollama 以后直接搜一个最大模型下载。这条路我踩过。模型能跑起来不代表能写代码。能写一个函数不代表能进项目改文件。能在终端里回一句话也不代表 Claude Code、Codex 这种 agent 工具能稳定读文件、调工具、跑命令。真正影响体验的往往不是“模型聪不聪明”这一个点而是四件事有没有对齐机器到底能撑多大的模型上下文开到多少不会把机器拖死Ollama 的 API 是不是稳定可访问VS Code、Claude Code、Codex 的配置是不是可复现所以这篇按我自己实际会走的顺序写先去 CanIRun.ai 看硬件边界再用 Ollama 把模型服务跑起来最后接 VS Code、Claude Code、Codex。中间会留截图位置。你自己配的时候把关键截图补上这篇文章的说服力会比纯命令教程高很多。先说我现在的判断本地 AI 编码助手不是越大越好。更准确地说第一阶段应该先追求“能稳定干活”不是追求“参数最大”。我一般把本地 AI 编码助手拆成这条链路补全/小函数项目问答/改文件Claude Code / Codex本机硬件CanIRun.ai 估算可跑模型先判断任务小模型 短上下文编码模型 16K/32K更强模型 32K/64K 权限控制Ollama 服务VS Code / Claude Code / Codex用小任务验收这里有两个常见误区。第一个误区是模型越大编码体验越好。实际不一定。大模型一旦把显存或统一内存吃满速度会先崩。编码助手不是一次性问答它会带仓库上下文、工具说明、历史消息、命令输出。一个能稳定 32K 上下文的小模型很多时候比一个勉强跑起来的大模型更适合日常开发。第二个误区是本地模型就是免费。云 API 账单确实少了但你付的是另一种成本等待时间、机器占用、上下文调参、模型选择、工具兼容性。尤其是 Claude Code、Codex 这种 agent 工具模型只会聊天还不够得能听懂工具调用和文件修改流程。所以我现在的做法很简单先用小任务跑稳再往更大的模型和更长的上下文加。第 0 步先用 CanIRun.ai 看硬件边界打开https://www.canirun.ai/我会先在这里看一遍机器能跑什么。CanIRun.ai 会根据浏览器能拿到的 GPU、VRAM、RAM、CPU 信息给模型做兼容性估算。它不是最终跑分但很适合做第一轮筛选。图 1CanIRun.ai 硬件识别结果图 2CanIRun.ai 推荐模型列表我实际看 CanIRun.ai 时不会只看“能不能跑”。我更关心这几个点字段我会怎么看Task做编码助手优先看code聊天模型先放后面模型大小不选贴着上限的先选有余量的Context编码任务尽量从 16K、32K 往上看量化格式Q4 更适合先跑通Q8/F16 更吃内存兼容性等级Runs great/Runs well优先Tight fit先别碰一个很实用的选择表机器情况我会先试什么适合做什么16GB 内存普通笔记本1.5B 到 8B补全、小函数、解释代码24GB 统一内存或显存7B 到 20B项目问答、小范围改文件32GB 到 48GB14B 到 32B多文件修改、较长上下文64GB 以上32B 或 MoEagent 任务、长上下文、复杂重构这里不要被参数量带着跑。我更愿意先选一个跑得轻松的模型把 VS Code、Claude Code、Codex 的链路全部跑通再决定要不要换大模型。否则后面每一步出问题你都分不清是模型太弱、上下文太短、配置错了还是机器扛不住。第 1 步安装 Ollama把本地服务跑起来Ollama 在这套链路里的角色很简单把本地模型变成一个服务。默认地址通常是http://localhost:11434macOS 和 Windows 直接装 Ollama App。Linux 可以用官方脚本curl-fsSLhttps://ollama.com/install.sh|sh装完先确认版本ollama-v然后拉模型。这里用qwen3-coder举例你实际要换成 CanIRun.ai 里更适合自己机器的模型ollama pull qwen3-coder先跑一句最小测试ollama run qwen3-coder写一个 TypeScript debounce 函数只返回代码图 3Ollama 模型下载和最小测试接着看模型列表和运行状态ollama list ollamapsollama ps这一步我不会跳过。它能看到模型是否在跑、context 多少、processor 是什么。如果这里已经大量走 CPU后面接 Claude Code、Codex 基本只会更慢。图 4ollama ps运行状态我的经验是第一次别急着追 64K context。先看模型在默认状态下能不能正常响应ollama ps里有没有严重 CPU offload再往下调上下文。第 2 步上下文别一步拉满聊天模型 4K 上下文还能凑合。编码助手不行。Ollama 的 context length 文档里建议 coding tools、agents、web search 这类任务至少 64K tokens同时也提醒要用ollama ps检查 context 和 CPU offload。但我的实际做法不是一上来就 64K。我会先按任务分场景我会先设多少补全、小函数、解释单文件4K 到 8K项目问答、小范围改文件16K 到 32KClaude Code / Codex agent 任务32K 到 64K大仓库重构、长日志分析64K 起步但要看机器能不能扛CLI 方式可以这样启动OLLAMA_CONTEXT_LENGTH64000ollama serveLinux systemd 可以写 overridesudosystemctl edit ollama填入[Service] EnvironmentOLLAMA_CONTEXT_LENGTH64000然后重启sudosystemctl daemon-reloadsudosystemctl restart ollama ollamaps更稳的做法是给模型单独做一个 Modelfile。这样 VS Code、Claude Code、Codex 都填同一个模型名不用在每个客户端里分别猜 context。FROM qwen3-coder PARAMETER num_ctx 32768创建ollama create qwen3-coder-32k-fModelfile第 3 步先测 API再配 IDE这一步很重要。不要一上来就在 VS Code、Claude Code、Codex 里排错。先确认 Ollama 的 API 本身能通。Ollama 支持 OpenAI-compatible APIbase URL 是http://localhost:11434/v1/先测模型列表curlhttp://localhost:11434/v1/models再测 chat completionscurlhttp://localhost:11434/v1/chat/completions\-HContent-Type: application/json\-d{ model: qwen3-coder-32k, messages: [ { role: user, content: 写一个 TypeScript debounce 函数只给代码 } ], stream: false }图 6Ollama OpenAI-compatible API 测试如果这一步不通先别碰 IDE。我会按这个顺序查ollama list里有没有这个模型名ollama ps里模型有没有启动curl http://localhost:11434/v1/models能不能返回模型名是不是和配置里完全一致很多所谓“VS Code 插件连不上”“Codex 不工作”最后都是模型名写错或者/v1漏了。第 4 步VS Code 先用 Continue把配置落到文件VS Code 现在可以通过 Copilot Chat 的模型选择器接 Ollama。Ollama 官方 VS Code 集成页写了几个前提Ollama v0.18.3、VS Code 1.113、GitHub Copilot Chat 0.41.0。最快命令ollama launch vscode如果只是想体验这条路够了。但我更喜欢把配置写到文件里。原因很简单换机器、排错、分享配置都更方便。Continue 的配置文件是~/.continue/config.yaml我一般会把补全模型和聊天模型拆开。小模型负责 autocomplete大一点的编码模型负责 chat/edit/applyname:Local Codingversion:0.0.1schema:v1models:-name:Qwen3 Coder 32Kprovider:ollamamodel:qwen3-coder-32kroles:-chat-edit-applydefaultCompletionOptions:temperature:0.2-name:Qwen2.5 Coder Autocompleteprovider:ollamamodel:qwen2.5-coder:1.5b-baseroles:-autocompletedefaultCompletionOptions:temperature:0.1-name:Nomic Embed Textprovider:ollamamodel:nomic-embed-textroles:-embed远程 Ollama 这样写models:-name:Qwen3 Coder Remoteprovider:ollamamodel:qwen3-coder-32kapiBase:http://192.168.1.20:11434roles:-chat-edit-apply第 4.5 步GitLens 也可以接 Ollama 生成提交信息IDE 里还有一个很适合本地模型的场景生成 commit message。这个任务不一定需要最强的云模型。它看的是 staged diff输出的是一两行提交说明。对隐私更敏感的项目我反而更愿意让它走本地 Ollama。因为 commit message 生成器要读的就是你这次改了什么本质上还是代码 diff。GitLens 的 AI 设置里已经有 Ollama 入口。官方设置里能看到这些关键项gitlens.ai.enabledgitlens.ai.modelgitlens.ai.ollama.urlgitlens.ai.modelOptions.temperaturegitlens.ai.generateCommits.customInstructions我的配置思路是模型仍然用前面创建好的qwen3-coder-32kOllama URL 指到本机11434再把输出格式限制成 Conventional Commit。VS Code 的settings.json可以这样写{gitlens.ai.enabled:true,gitlens.ai.model:ollama:qwen3-coder-32k,gitlens.ai.ollama.url:http://localhost:11434,gitlens.ai.modelOptions.temperature:0.2,gitlens.ai.generateCommits.customInstructions:请根据 staged diff 生成中文 Conventional Commit。第一行格式为 type(scope): summary不超过 72 个字符必要时补 1-3 条正文说明不要编造没有出现在 diff 里的改动。}然后按这个顺序试先 stage 一两个文件不要一上来全量提交打开 Command Palette执行GitLens: Generate Commit Message (Experimental)看生成的 commit message 有没有准确命中 diff图 8GitLens 使用 Ollama 生成提交信息这张图就很适合放在这里。它证明本地模型不是只能在聊天框里回答问题也能接到 IDE 的具体开发动作里。我实际会这样验收先故意 stage 一个很小的修改比如只改 README 或只改一个按钮文案。如果 GitLens 能生成准确的提交信息再拿真实业务 diff 去试。不要一上来就丢 20 个文件的 diff否则模型写得泛很难判断是模型问题还是输入太乱。这里还有一个版本坑GitLens 的 AI 功能和 UI 入口可能会随着版本、账号套餐变化。如果你在界面里找不到按钮就直接进 VS Codesettings.json搜gitlens.ai或者用命令面板搜Generate Commit Message。第 5 步Claude Code 走 Anthropic-compatible APIClaude Code 是 Anthropic 的 agentic coding tool。Ollama 现在提供 Anthropic-compatible API所以可以把 Claude Code 请求转到本地 Ollama。最快路径ollama launch claude指定模型ollama launch claude--modelglm-4.7-flash只写配置、不启动ollama launch claude--config如果手动配核心是这几个环境变量exportANTHROPIC_AUTH_TOKENollamaexportANTHROPIC_API_KEYexportANTHROPIC_BASE_URLhttp://localhost:11434然后启动claude--modelglm-4.7-flash长期使用可以写到~/.claude/settings.json示例{model:glm-4.7-flash,env:{ANTHROPIC_AUTH_TOKEN:ollama,ANTHROPIC_API_KEY:,ANTHROPIC_BASE_URL:http://localhost:11434,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:1},permissions:{deny:[Read(./.env),Read(./.env.*),Read(./secrets/**)],ask:[Bash(git push:*),Bash(rm:*),Bash(sudo:*),Bash(curl:*)]}}项目规则写到项目目录/CLAUDE.md可以先放一个短版本# Project Rules - Read the relevant code before editing. - Keep changes scoped to the current request. - Do not edit unrelated files. - Prefer rg for search. - Run the narrowest relevant test after code changes. - Never read .env, private keys, tokens, or credential files.图 9Claude Code 使用本地 Ollama这里我会特别看一个现象它是不是只会解释不会行动。如果 Claude Code 能正常回答但一让它改文件就开始绕圈优先怀疑模型不适合 agent 工具调用或者上下文太短。先换 Ollama Claude Code 集成页推荐的模型试一次比如glm-4.7-flash或云端模型。能工作以后再回头试本地小模型。第 6 步Codex 用 profile 固定配置Codex CLI 也可以通过 Ollama 跑本地模型。安装npminstall-gopenai/codex最快路径ollama launch codex只写配置、不启动ollama launch codex--config手动临时跑codex--oss-mqwen3-coder-32k长期用我建议写 profile。配置文件在~/.codex/config.toml示例[model_providers.ollama-local] name Ollama base_url http://localhost:11434/v1 [profiles.ollama-local] model qwen3-coder-32k model_provider ollama-local [profiles.ollama-small] model gpt-oss:20b model_provider ollama-local启动codex--profileollama-local远程 Ollama[model_providers.ollama-remote] name Ollama Remote base_url http://192.168.1.20:11434/v1 [profiles.ollama-remote] model qwen3-coder-32k model_provider ollama-remote项目规则写到项目目录/AGENTS.md示例# Agent Rules - Read code before editing. - Keep changes small and reviewable. - Do not revert unrelated changes. - Use rg before broad file reads. - Run formatting and tests when touching code. - Do not read .env, tokens, private keys, or credential files.图 10Codex profile 和本地模型启动Codex 这里最容易错的是base_url。一定要带/v1base_url http://localhost:11434/v1Claude Code 看CLAUDE.mdCodex 看AGENTS.md。两个文件规则可以一致但文件名最好分开这样每个工具都能读到自己的项目约束。我会怎么验收这套本地 AI 编码助手配置完以后我不会马上让它“重构整个项目”。先跑三个小任务。第一个只读仓库读一下这个项目的 package.json 和目录结构告诉我本地怎么启动。不要改文件。第二个改一个很小的点把首页某个按钮文案改一下只改必要文件改完告诉我改了哪里。第三个让它跑命令找出这个项目的 lint/test 命令先不要修代码跑完把失败原因说清楚。图 11本地 AI 编码助手完成一个小任务这三步能过才说明模型、上下文、工具调用、权限和文件写入基本正常。如果第一步读不清项目结构多半是上下文或工具配置有问题。如果第二步能说不能改可能是模型不适合 agent。如果第三步跑命令乱来先收紧权限不要急着给它更大自由。配置速查表这张表可以直接当排错入口工具配置文件API 类型最容易错的地方Ollamasystemd/env/Modelfile本地服务context 太长导致 CPU offloadVS Code Continue~/.continue/config.yamlOllama provider模型名和ollama list不一致Claude Code~/.claude/settings.json、CLAUDE.mdAnthropic-compatible环境变量没生效模型不擅长 tool callCodex~/.codex/config.toml、AGENTS.mdOpenAI-compatibleprofile 没选对base_url漏/v1我的建议是context 尽量固化到 Modelfile客户端只认模型名。配置越分散后面排错越麻烦。常见坑我会按这个顺序排VS Code 里看不到模型先查ollama listcurlhttp://localhost:11434/v1/models模型不存在就先ollama pull。Continue 里的model必须和ollama list输出一致。Claude Code 能回答但不改文件先别急着怀疑 Claude Code。更可能是模型不适合 agent 工具调用或者上下文太短。先用 Ollama 官方 Claude Code 页面推荐的模型试一次。如果推荐模型能工作本地小模型不工作问题基本就在模型能力。Codex 连不上 Ollama先测 OpenAI-compatible APIcurlhttp://localhost:11434/v1/models再检查~/.codex/config.toml里的base_urlbase_url http://localhost:11434/v1不要漏掉/v1。一进项目就爆内存先降上下文再换小模型FROM qwen3-coder PARAMETER num_ctx 16384然后ollama create qwen3-coder-16k-fModelfile能稳定改完一个小文件比一个理论上 64K 但每次卡死的配置更有用。远程 Ollama 连不上先在客户端机器测curlhttp://远程IP:11434/v1/models不通就查监听地址、防火墙、VPN、局域网路由。远程 Ollama 不要裸露到公网至少放内网或 VPN 后面。FAQ本地 AI 编码助手一定要 64K 上下文吗不一定。Claude Code、Codex 这类 agent 工具建议 32K 到 64K 起步但小改动和补全没必要。上下文越大越吃资源机器不够时先用 16K 或 32K 跑稳。CanIRun.ai 推荐的模型一定能跑吗不一定。它适合做硬件估算和模型筛选但浏览器 API 识别到的硬件信息可能有偏差。最终还是要用ollama ps看实际PROCESSOR和CONTEXT。VS Code、Claude Code、Codex 要不要都配不用一口气全配。日常写代码先配 VS Code/Continue想要终端 agent 再配 Codex需要 Claude Code 的交互体验再配 Claude Code。先跑通一条链路比同时调三个工具更省时间。本地模型能完全替代云模型吗不能这么理解。本地模型适合低风险、重复、隐私敏感、日常改文件的任务。复杂架构判断、跨仓库重构、线上事故分析云模型仍然更稳。我的做法是本地处理日常任务难题再切云端。最后这套东西真正解决的是可复现最终你会得到这几类文件~/.continue/config.yaml ~/.claude/settings.json ~/.codex/config.toml 项目目录/CLAUDE.md 项目目录/AGENTS.md再加一个本机或局域网模型服务http://localhost:11434这套东西配完不代表你拥有了一个无敌本地程序员。更准确地说你有了一条可复现、可排错、可替换模型的本地 AI 编码链路。模型不行就换模型上下文不够就调 context工具不稳就收敛权限配置失效就回到文件查。这比“下载一个最大模型然后祈祷它聪明”靠谱得多。参考资料CanIRun.aiOllama context lengthOllama OpenAI compatibilityOllama VS Code integrationOllama Claude Code integrationOllama Codex CLI integrationRelated Reading一句 hi为什么让 Codex 吃掉 14770 个输入 token逐字段拆解一次真实请求看完 claude code 源码这几条少烧 token 的方法你一定要知道设计模式和管理能力才是 AI Vibe Coding 时代真正的自救AI 不会提醒你系统正在散架面试官如何让 AI 稳定回复 JSON
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2633984.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!