ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

VSCode + Ollama 本地部署 + twinny 代码助手:TaoToken 统一 Key 接入 settings.json 配置骨架

VSCode + Ollama 本地部署 + twinny 代码助手:TaoToken 统一 Key 接入 settings.json 配置骨架 1. 为什么要在 VSCode 里同时用 Ollama 和 twinny如果你和我一样日常写代码离不开 VSCode又不想被云端代码助手的调用次数卡脖子那 Ollama 本地部署加 twinny 插件这套组合大概率能解决你的痛点。Ollama 负责在本地跑代码大模型twinny 负责在 VSCode 里提供补全、对话、代码解释这些交互入口两者配合起来补全和问答都不走外网响应稳定也没有额度焦虑。但问题也随之而来本地 Ollama 管一套地址云端模型服务又管一套 Keytwinny 里还要分别填 chat、fim、embedding 三种模型的接口。工具一多Key 就散落在各个插件的 settings.json 里换台机器或者重装环境就得重新翻一遍。这篇就聚焦这个场景给你一份 VSCode Ollama twinny 的 settings.json 配置骨架同时把 TaoToken 的统一 Key 通道接进来让本地补全和统一接入并存不用再到处找 Key。适合谁看已经在用 VSCode、想尝试本地代码模型、又希望保留一个统一 API 入口的开发者。跟着做你能得到一套可复制的配置以及 twinny 调用本地 Ollama 的验证方法。2. TaoToken 统一 Key 的前置准备TaoToken 在这里扮演的角色是帮你把云端模型的访问凭证收敛到一个地方。你不需要在 twinny 的每个模型配置里重复填不同的 Key而是通过一个统一的 API 通道来管理。这样本地 Ollama 走本地地址云端能力走统一 Key互不干扰。先拿到你的 API Key。打开控制台页面登录后进入 API Keys 管理https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapikeys创建好 Key 之后先复制保存后面写进 settings.json 会用到。如果你对接口规范、请求格式不熟悉接入文档在这里建议先扫一眼https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocAPI 的基础地址是https://taotoken.net/api注意这个地址不带任何查询参数配置里直接用它作为 base URL 即可。模型对话能力可以在模型对话页先试一下确认 Key 可用https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodels注意本地 Ollama 的地址通常是http://127.0.0.1:11434它和 TaoToken 的云端通道是两个独立的 provider在 twinny 里要分开配置不要混用同一个 base URL。3. settings.json 可复制配置骨架twinny 的配置写在 VSCode 的 settings.json 里。你可以按CtrlShiftPmacOS 是CmdShiftP输入Open User Settings (JSON)打开。下面这份骨架把本地 Ollama 和 TaoToken 统一 Key 通道都放进去了你可以直接复制后按需改。{ twinny.apiProvider: ollama, twinny.chatModel: qwen2.5-coder:7b, twinny.fimModel: qwen2.5-coder:7b, twinny.embeddingModel: nomic-embed-text, twinny.ollamaChatEndpoint: http://127.0.0.1:11434/api/chat, twinny.ollamaFimEndpoint: http://127.0.0.1:11434/api/generate, twinny.ollamaEmbeddingEndpoint: http://127.0.0.1:11434/api/embeddings, twinny.taoTokenBaseUrl: https://taotoken.net/api, twinny.taoTokenApiKey: sk-你的TaoTokenKey, twinny.taoTokenChatModel: gpt-4o-mini, twinny.enableInlineCompletion: true, twinny.enableChat: true, twinny.completionDelay: 300, twinny.promptTemplate: 请用中文解释以下代码的功能和潜在问题\n\n{{code}} }几个关键字段说明一下。twinny.apiProvider决定默认走哪个 provider这里设成ollama保证本地补全优先。twinny.ollamaChatEndpoint等三个地址分别对应 chat、fim、embedding 三类请求端口默认 11434如果你改过 Ollama 的监听端口这里同步改。twinny.taoTokenBaseUrl和twinny.taoTokenApiKey是统一 Key 通道的入口Key 填你刚才复制的那串。twinny.promptTemplate把默认英文提示词换成中文解释代码时更顺手。如果你更习惯用环境变量管理 Key也可以把 Key 放到系统环境变量里然后在 settings.json 里引用避免明文写在配置文件中。不过 twinny 对变量插值的支持因版本而异稳妥起见先直接填确认跑通后再考虑迁移。4. 验证 twinny 调用本地 Ollama 与统一通道配置写完先确认 Ollama 本地服务在跑。打开终端执行ollama list能看到你拉下来的模型列表比如qwen2.5-coder:7b说明本地模型就绪。如果列表为空先拉一个ollama pull qwen2.5-coder:7b接着验证 Ollama 的 HTTP 接口是否可达curl http://127.0.0.1:11434/api/tags返回 JSON 里包含模型信息就对了。然后回到 VSCode新建一个.py或.js文件随便写几行代码比如def add(a, b): return a b把光标放到函数下方稍等片刻twinny 应该会给出补全建议。如果没反应按CtrlShiftP执行Twinny: Trigger Inline Completion手动触发一次。选中这段代码右键选择Twinny Explain如果提示词模板改成了中文你会看到中文的代码解释这就说明本地 Ollama 通道打通了。再验证统一 Key 通道。在 twinny 的聊天面板里切换到 TaoToken provider发一句「用一句话说明什么是递归」。如果返回正常说明https://taotoken.net/api这条通道和你的 Key 都有效。这一步能帮你确认云端能力和本地能力是并存的而不是互相覆盖。实测下来本地补全的延迟主要取决于模型大小和机器性能7B 模型在普通开发机上通常几百毫秒内能出结果。如果觉得慢可以把twinny.completionDelay调大一点减少频繁触发。5. 本篇常见错误排查配置过程中最容易踩的几个坑我列出来对照排查。第一个是端口不通。curl http://127.0.0.1:11434/api/tags如果报连接拒绝说明 Ollama 服务没启动。Linux 上可以用systemctl status ollama看状态macOS 直接打开 Ollama 应用即可。Windows 用户注意 Ollama 默认可能只监听本地回环确认没有防火墙拦截。第二个是模型名写错。settings.json 里的twinny.chatModel必须和ollama list里显示的模型名完全一致包括 tag比如qwen2.5-coder:7b不能写成qwen2.5-coder。名字对不上twinny 会静默失败补全不出现。第三个是 Key 无效或 base URL 写错。TaoToken 的 base URL 是https://taotoken.net/api不要多加斜杠或路径。Key 如果复制时带了空格也会导致 401。建议重新去 API Keys 页面复制一次https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapikeys第四个是 twinny 版本差异。不同版本的 twinny 配置项名称可能略有不同如果你在 settings.json 里看到黄色波浪线提示未知配置项说明该版本不支持这个字段。打开 twinny 插件详情页确认版本必要时升级或降级。插件主页在https://twinny.dev/可以对照文档核对字段名。第五个是补全和聊天互相干扰。如果你发现聊天走的是本地模型、补全却走了云端检查twinny.apiProvider和各个 endpoint 是否配对。provider 设成 ollama 时chat 和 fim 默认都走 Ollama要单独指定云端得在对应模型字段里显式切换。6. 长期编码场景下的接入建议如果你只是偶尔写点小脚本本地 Ollama 加 twinny 已经够用。但如果你打算长期用这套组合做项目开发尤其是涉及 Agent 编排、批量代码生成这类高频调用场景建议把统一 Key 通道用起来避免每次换环境都重新配一遍。TaoToken 的 Coding Plan 适合这种长期编码需求它把调用额度和通道管理打包在一起你只需要维护一个 Key本地和云端的能力都能覆盖https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodingplan配置上你可以把twinny.taoTokenChatModel换成更适合代码的模型然后在需要深度推理时切到云端日常补全继续用本地 Ollama。这样既保留了本地低延迟的优势又不会在复杂任务上被本地小模型的能力限制。最后提醒一句settings.json 里的 Key 属于敏感信息如果你会把配置同步到 Git 仓库记得把 Key 抽到环境变量或单独的本地配置文件里别直接提交。跑通之后这套骨架你可以直接复制到其他机器改一下 Key 和模型名就能用。
返回列表