ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Ollama 对接 VS Code:为 Strix Halo 打造专属编程助手

Ollama 对接 VS Code:为 Strix Halo 打造专属编程助手 1. 为什么要在 Strix Halo 上把 Ollama 接进 VS Code如果你手里是一台搭载 AMD Strix Halo 的笔记本或迷你主机大概率已经体验过本地跑大模型的爽感统一内存架构让 CPU 和 Radeon GPU 共享同一块大容量内存32GB 甚至 64GB 的配置可以轻松塞下 14B 级别的代码模型。但很多人止步于「打开一个聊天窗口复制粘贴代码」这种低效循环。真正让本地模型变成生产力的方式是把它做成一个常驻后台的服务让 VS Code 里的插件随时通过 API 调用。Ollama 就是干这件事的最佳工具。它本身是一个轻量守护进程启动后监听localhost:11434提供标准的 OpenAI 兼容接口资源占用极低不需要你每次打开一个庞大的图形界面。配合 VS Code 的 Continue 插件你可以获得代码补全、选中解释、单元测试生成、对话式重构等能力而且所有数据都在本地流转内部代码、密钥、业务逻辑都不用出机器。这篇文章面向的是已经在 Strix Halo 上装好 Ollama、想让 VS Code 真正用起来的开发者。我会给出可复制的settings.json配置骨架、针对 Strix Halo 优化的 Modelfile 示例、验证补全与对话是否生效的具体步骤以及如何通过 TaoToken 统一 Key 和 API 通道让本地模型和云端模型在同一个插件里无缝切换。整套流程实测下来从零到能用大约 20 分钟。2. TaoToken 前置统一 Key 与 API 通道在纯本地场景里Ollama 自己就能跑不需要任何外部服务。但实际开发中你往往需要混合使用本地模型处理敏感代码和离线补全云端模型处理复杂推理和长上下文任务。如果每个模型都单独配一套 Key 和端点Continue 的配置文件会变得非常难维护。TaoToken 在这里的作用是提供一个统一的 API 通道。你可以在官网注册后拿到一个 Key然后在 Continue 里把云端模型和本地 Ollama 模型放在同一个models数组里插件会根据任务类型自动路由。这样你既保留了 Strix Halo 本地推理的低延迟和隐私优势又能在需要时调用更强的云端模型。具体操作上先访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 完成注册然后在控制台创建 API Key。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content Key 管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。API 基础地址是 https://taotoken.net/api 注意这个地址不带 UTM 参数直接填进配置即可。注意本地 Ollama 的端点是http://localhost:11434TaoToken 的端点是https://taotoken.net/api两者在 Continue 配置里是并列的 provider不要混用。如果你主要做长期编码和 Agent 任务可以了解一下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。如果只是想先验证模型对话效果可以直接用模型对话页面https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content Claude Code 相关的 Anthropic 兼容配置在 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。3. 可复制配置Modelfile 与 Continue settings.json3.1 针对 Strix Halo 的 Modelfile默认拉下来的模型没有针对你的硬件做优化。Strix Halo 的统一内存优势在于可以开很大的上下文窗口同时把计算层全部卸载到 Radeon GPU。下面这个 Modelfile 是我在 32GB 版本上实测比较稳的配置FROM qwen2.5-coder:14b-instruct-q4_k_m # 上下文窗口开到 32K充分利用统一内存处理长文件 PARAMETER num_ctx 32768 # 尽可能多地把层卸载到 GPU减少 CPU 拖累 PARAMETER num_gpu 99 # 批处理大小Strix Halo 上 512 比较均衡 PARAMETER num_batch 512 # 温度调低代码任务需要确定性 PARAMETER temperature 0.2 # 系统提示词让模型进入编程助手角色 SYSTEM 你是一个运行在本地 AMD Strix Halo 平台上的资深编程助手。 请专注于代码逻辑分析、重构建议和单元测试生成。 回答时直接给出代码块和关键解释减少客套话。 如果涉及敏感代码提醒用户数据仅在本地处理。 保存为Modelfile无后缀然后在 PowerShell 里执行ollama create strix-coder -f Modelfile ollama run strix-coder 用 Python 写一个带类型提示的快速排序如果输出正常说明模型已经就绪。num_gpu 99在 Strix Halo 上通常能让首字延迟降到 1 秒以内具体取决于你的内存带宽和模型量化等级。3.2 Continue 的 settings.json 配置骨架Continue 插件现在的配置文件路径是~/.continue/config.json旧版或通过 VS Code 设置界面管理。下面是一个同时包含本地 Ollama 和 TaoToken 云端通道的配置骨架{ models: [ { title: Strix Halo Local, provider: ollama, model: strix-coder, apiBase: http://localhost:11434, contextLength: 32768, completionOptions: { temperature: 0.2, topP: 0.9 } }, { title: TaoToken Cloud, provider: openai, model: gpt-4o-mini, apiKey: 你的_TaoToken_Key, apiBase: https://taotoken.net/api, contextLength: 128000 } ], tabAutocompleteModel: { title: Strix Halo Autocomplete, provider: ollama, model: strix-coder, apiBase: http://localhost:11434 }, embeddingsProvider: { provider: ollama, model: nomic-embed-text, apiBase: http://localhost:11434 } }几个关键点tabAutocompleteModel单独指定内联补全用的模型建议用本地小模型延迟低embeddingsProvider用于代码库索引nomic-embed-text在 Strix Halo 上跑起来几乎不占资源云端模型放在models数组里需要时在 Continue 侧边栏手动切换。提示如果你的 Continue 版本使用 YAML 配置config.yaml把上面的 JSON 结构转成对应的 YAML 层级即可字段名一致。4. 验证请求补全与对话是否真的生效配置写完后不要急着写代码先做三步验证确认链路是通的。4.1 验证 Ollama 服务本身打开 PowerShell直接 curl 一下curl http://localhost:11434/api/tags如果返回 JSON 列表里能看到strix-coder说明服务正常。再测一下生成接口curl http://localhost:11434/api/generate -d {\model\:\strix-coder\,\prompt\:\写一个二分查找\,\stream\:false}返回里有response字段且内容合理说明模型推理正常。4.2 验证 Continue 对话在 VS Code 里按CtrlL打开 Continue 侧边栏在模型下拉框里选中Strix Halo Local。输入「解释一下当前文件的整体结构」如果模型能读取当前打开的文件并给出回答说明对话链路通了。这时候你可以选中一段复杂代码按CtrlL让它解释或者输入/test让它生成单元测试。4.3 验证内联补全新建一个.py文件输入一个函数名比如def calculate_停一秒。如果出现灰色的内联建议按Tab能接受说明tabAutocompleteModel生效了。如果没反应检查 Continue 的输出面板View - Output - Continue有没有报错。4.4 验证 TaoToken 云端通道在 Continue 侧边栏切换到TaoToken Cloud问一个需要长上下文的问题比如「帮我分析这段 500 行的日志里的异常模式」。如果能正常返回说明 Key 和端点配置正确。这一步的意义在于当你本地模型处理不了超长上下文时可以一键切到云端不用改任何配置文件。5. 本篇常见错排查5.1 Ollama 连不上connection refused最常见的原因是 Ollama 服务没启动。在 PowerShell 里执行ollama serve或者检查系统托盘里有没有 Ollama 图标。如果服务在跑但还是连不上检查端口是否被占用netstat -ano | findstr 11434如果被其他进程占用可以改 Ollama 的监听端口然后在 Continue 配置里同步修改apiBase。5.2 模型加载失败out of memoryStrix Halo 虽然内存大但如果你同时开了多个重型 IDE 和浏览器可用内存会紧张。先确认模型大小14B 的 q4_k_m 大约占 9GB 左右加上 32K 上下文的 KV Cache总共可能到 14GB。如果报 OOM把num_ctx降到 16384或者换 7B 模型。也可以在任务管理器里观察ollama_llama_server进程的内存占用确认瓶颈在哪。5.3 GPU 没被调用推理速度慢如果发现首字延迟超过 5 秒大概率是计算层没卸载到 GPU。先确认 Ollama 版本支持你的 Radeon 架构然后在 Modelfile 里把num_gpu设成 99 重新 create。如果还是不行可以尝试设置环境变量强制指定 GPU 架构$env:HSA_OVERRIDE_GFX_VERSION11.0.3 ollama serve具体版本号根据你的 Radeon 架构调整这个值在社区里对 Strix Halo 比较常用。5.4 Continue 补全不触发检查三件事tabAutocompleteModel是否配置Continue 是否在 VS Code 里启用当前文件类型是否在 Continue 的支持列表里。如果都没问题看一下 Continue 输出面板的日志常见错误是模型名写错或者apiBase多了斜杠。5.5 TaoToken 返回 401Key 错误或者没带上。确认apiKey字段填的是控制台创建的 KeyapiBase是https://taotoken.net/api不带多余路径。如果用的是环境变量确认变量名和配置里引用的一致。6. 让本地助手真正融入日常编码配置跑通只是第一步真正提升效率的是把它变成无感的后台服务。我试过把ollama serve加到 Windows 启动文件夹开机自动运行VS Code 打开就能用。资源监控方面Strix Halo 的统一内存很高效但跑 32B 模型时还是建议关掉不必要的浏览器标签。一个实用技巧在 Continue 里配置多个模型后用CtrlShiftL快速切换。日常补全用本地strix-coder复杂重构切到 TaoToken 云端模型代码库索引走本地nomic-embed-text。这样一套组合下来既保留了本地推理的隐私和低延迟又不会在遇到难题时卡住。如果你还没开始建议先从 14B 的 q4_k_m 量化版本入手跑顺了再尝试更大的模型。Strix Halo 的潜力在于统一内存把num_ctx开大、num_gpu拉满它就能成为一个随时待命的私有 AI 工作站。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进