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_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 完成注册,然后在控制台创建 API Key。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,Key 管理页面在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。API 基础地址是 https://taotoken.net/api ,注意这个地址不带 UTM 参数,直接填进配置即可。
注意:本地 Ollama 的端点是
http://localhost:11434,TaoToken 的端点是https://taotoken.net/api,两者在 Continue 配置里是并列的 provider,不要混用。
如果你主要做长期编码和 Agent 任务,可以了解一下 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。如果只是想先验证模型对话效果,可以直接用模型对话页面:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,Claude Code 相关的 Anthropic 兼容配置在 https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
3. 可复制配置:Modelfile 与 Continue settings.json
3.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 里按Ctrl+L打开 Continue 侧边栏,在模型下拉框里选中Strix Halo Local。输入「解释一下当前文件的整体结构」,如果模型能读取当前打开的文件并给出回答,说明对话链路通了。这时候你可以选中一段复杂代码,按Ctrl+L让它解释,或者输入/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 memory
Strix 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_VERSION="11.0.3" ollama serve具体版本号根据你的 Radeon 架构调整,这个值在社区里对 Strix Halo 比较常用。
5.4 Continue 补全不触发
检查三件事:tabAutocompleteModel是否配置;Continue 是否在 VS Code 里启用;当前文件类型是否在 Continue 的支持列表里。如果都没问题,看一下 Continue 输出面板的日志,常见错误是模型名写错或者apiBase多了斜杠。
5.5 TaoToken 返回 401
Key 错误或者没带上。确认apiKey字段填的是控制台创建的 Key,apiBase是https://taotoken.net/api不带多余路径。如果用的是环境变量,确认变量名和配置里引用的一致。
6. 让本地助手真正融入日常编码
配置跑通只是第一步,真正提升效率的是把它变成无感的后台服务。我试过把ollama serve加到 Windows 启动文件夹,开机自动运行,VS Code 打开就能用。资源监控方面,Strix Halo 的统一内存很高效,但跑 32B 模型时还是建议关掉不必要的浏览器标签。
一个实用技巧:在 Continue 里配置多个模型后,用Ctrl+Shift+L快速切换。日常补全用本地strix-coder,复杂重构切到 TaoToken 云端模型,代码库索引走本地nomic-embed-text。这样一套组合下来,既保留了本地推理的隐私和低延迟,又不会在遇到难题时卡住。
如果你还没开始,建议先从 14B 的 q4_k_m 量化版本入手,跑顺了再尝试更大的模型。Strix Halo 的潜力在于统一内存,把num_ctx开大、num_gpu拉满,它就能成为一个随时待命的私有 AI 工作站。