
1. Sublime Text 2 想用 AI 补全卡在哪一步Sublime Text 2 是一款启动快、占用低的轻量编辑器很多人拿它当日常写代码的主力工具。它本身不带 AI 补全能力但通过 Package Control 装插件、再改一个 settings 文件就能把补全请求接到统一通道上。这篇要解决的就是不换编辑器让 Sublime Text 2 获得稳定的 AI 代码补全。适合谁看还在用 Sublime Text 2 写 Python、JS、Go 的开发者不想为了 AI 补全去装一个几百 MB 的新 IDE希望补全请求走一个固定 endpoint而不是每个插件各配一套 Key。我试过把补全插件直接指向零散的服务地址结果换台机器就要重新找配置后来统一改成 TaoToken 的通道settings 里只维护一份 Base URL 和 Key迁移时复制文件就行。先说清楚一个前提Sublime Text 2 的插件生态停留在 Python 2.6/2.7 时代很多新插件已经不支持它。所以接入思路不是找一个「官方 AI 插件」而是找一个能自定义 API endpoint 的补全插件把请求地址和模型 ID 填成统一通道的格式。下面从 Package Control 安装讲起到 settings JSON 片段再到一次补全请求的验证动作全部可复制。核心检索词先摆出来Sublime Text 2 AI 补全配置本质是「插件 endpoint Key Model ID」四件套。缺任何一件补全要么不触发要么报 401。2. TaoToken 前置Key、Base URL 与模型 ID 三件套在动 Sublime Text 2 的 settings 之前先把通道侧的东西准备好。TaoToken 是一个统一模型调用通道官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。注意 API 地址后面不加任何 UTM 参数配置里就写这个干净地址。你需要拿到三样东西第一API Key。登录后进控制台在 API Keys 页面创建一个。地址是 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。创建时给它起个能认出来的名字比如 sublime-text2方便以后按编辑器区分额度。Key 只在创建时完整显示一次复制下来存好。第二Base URL。补全插件一般要求填一个兼容 OpenAI 格式的 base统一写 https://taotoken.net/api 。有些插件会自动在末尾拼 /v1/chat/completions有些要求你自己写全这个在下一节的 settings 里会具体区分。第三Model ID。补全场景建议选响应快的模型具体可用列表在模型对话页能看到https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。把你要用的模型 ID 原样记下来settings 里不能写错一个字符。如果你后面打算长期用 AI 做编码和 Agent 任务可以了解下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它和按量调用是两条路补全这种高频小请求用按量也够看你的调用量决定。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面写了请求格式和返回结构排障时会用到。这里提醒一句Key 不要写进会提交到 Git 的文件。Sublime Text 2 的 settings 如果放在项目目录里很容易被一起提交。建议放在用户级配置目录或者用环境变量引用。3. 可复制配置Package Control 装插件 settings JSON 片段这一节是全文操作核心。分两步先让 Sublime Text 2 具备装插件的能力再写补全插件的 settings。3.1 安装 Package ControlSublime Text 2 装插件靠 Package Control。打开「查看」→「显示控制台」在底部输入框粘贴官方安装脚本并回车。脚本会从官方源拉取 Package Control.sublime-package 到 Installed Packages 目录。装完重启在 Preferences 菜单里能看到 Package Control 就成功了。然后按 CtrlShiftP 打开命令面板输入 install选 Package Control: Install Package等列表加载出来搜索你要用的补全插件名安装。3.2 settings JSON 片段补全插件的配置一般放在 Packages/User/ 下的 .sublime-settings 文件里。下面给一份可复制的 JSON 片段字段名按常见补全插件的约定写你对照自己插件的文档微调键名即可{ api_base: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: 你的模型ID, max_tokens: 256, temperature: 0.2, timeout: 15, enable_completion: true, trigger_on_type: true, debounce_ms: 300 }几个参数说明用表格对照更清楚字段作用建议值api_base请求根地址https://taotoken.net/apiapi_key身份凭证控制台创建的 Keymodel模型 ID从模型列表复制max_tokens单次补全长度128–256temperature随机性0.1–0.3debounce_ms输入后延迟触发250–400temperature 补全场景要低高了会给你补出天马行空的代码。debounce_ms 是防抖你每敲一个字符都发请求会浪费额度300 毫秒左右比较平衡。注意如果你的插件要求 base 带 /v1就写 https://taotoken.net/api/v1 如果它自己拼路径就只写 https://taotoken.net/api 。写错会出现 404不是 Key 的问题。保存文件后重启 Sublime Text 2让配置生效。这一步做完通道侧和编辑器侧的连接就搭好了。4. 验证请求一次补全动作看返回配置写完不能只看「没报错」就完事要主动触发一次补全确认请求真的发出去了、返回真的用上了。验证动作这样设计新建一个 .py 文件输入一个函数名开头比如 def calc_停住等 debounce 时间过去。如果插件工作正常会弹出补全候选或者直接在光标处插入建议代码。如果界面没反应用系统层面的方式确认请求有没有出去。在终端里手动发一次同格式请求能最快定位是通道问题还是插件问题curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: 你的模型ID, messages: [ {role: user, content: 补全这个 Python 函数名def calc_} ], max_tokens: 64, temperature: 0.2 }返回里如果看到 choices 数组里面有 message.content说明 Key、Base URL、Model ID 三件套都对。这时候再回到 Sublime Text 2如果插件还是不补全问题就在插件配置的键名或触发条件上不在通道。成功结果长这样终端返回 JSONchoices[0].message.content 是一段代码建议编辑器里输入触发字符后候选框正常弹出选中后代码插入。两个都通过接入就算完成。提示验证时先用短请求max_tokens 给小一点省额度也省等待时间。5. 本篇常见错排查401、local proxy failed、reading choices补全接不上的报错就那么几类逐个对照。401 Unauthorized。九成是 Key 问题复制时带了空格、Key 被撤销、或者 Authorization 头没写 Bearer 前缀。检查 settings 里 api_key 字段重新从控制台复制一次。如果 Key 是在别的项目里用过的确认它没被删。local proxy failed。这个报错通常出现在插件尝试走本地代理端口但没连上。检查你的系统代理设置或者插件里有没有 proxy 字段被填了无效值。把 proxy 相关字段清空让它直连 https://taotoken.net/api 。reading choices 相关报错比如 cannot read property choices of undefined。这说明请求发出去了但返回结构不是预期的 OpenAI 格式。常见原因Base URL 写成了不带 /v1 的地址而插件自己也不拼路径导致打到了错误端点或者 Model ID 写错通道返回了错误对象而不是补全结果。对照第 3 节的表格把 api_base 和 model 各检查一遍。OAuth 相关报错。有些插件默认走 OAuth 登录流程而不是 API Key。在插件设置里找 auth 或 login 相关选项切换成 api_key 模式填上你的 Key。如果你用的是 Claude Code 这类工具配置格式不一样参考 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的对应章节。Sublime Text 2 这边记住三件套齐全Base URL Key Model ID缺一个都会报错。还有一个隐蔽的坑Sublime Text 2 是 Python 2 环境某些插件在 Python 3 下正常在 2 下会因为字符串编码问题报错。遇到奇怪的 Unicode 报错先确认插件是否声明支持 ST2。6. 把补全通道固定下来后续只维护一份配置配置跑通之后建议把 settings 文件备份一份。Sublime Text 2 的配置如果放在安装目录的 Data 文件夹下整个目录复制走就能迁移到新机器Key 和 endpoint 都不用重配。补全额度消耗比对话快因为每次触发都是一次请求。debounce_ms 别设太小max_tokens 别设太大这两个参数直接决定你的调用量。日常写代码256 的补全长度基本够用。模型 ID 如果之后想换只改 settings 里 model 一个字段重启即可不用动 Key 和 Base URL。这就是统一通道的好处换模型不改接入层。需要新建 Key 或查看用量去 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。想先试试模型返回效果用模型对话页 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 发一条消息看结果确认没问题再写进编辑器配置。长期编码任务量大再考虑 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。最后一步收尾把 settings 里的 api_key 换成环境变量引用或者确认它不在 Git 追踪范围内。补全能用了安全也别落下。