
1. 为什么我选择在 VS Code 里用 kilo-code 写小说先说清楚这套方案到底在干什么它把 VS Code 当成一个长文本生产车间kilo-code 是车间里的 AI Agentdeepseek 是负责出字的模型AGENTS.md 是贴在墙上的写作规范TaoToken 则是统一给这些模型调用发钥匙和记账的通道。适合谁适合已经习惯在编辑器里干活、想用工程化方式写长篇内容的人尤其是程序员背景的写作者。我一开始的想法很朴素既然写代码可以拆模块、定接口、跑测试那写小说为什么不能拆章节、定人设、做校验于是我把一部四十章、每章目标五千字的重生网文拆成了流水线。大纲、世界观、人物关系先落成 Markdown 文件再让 Agent 逐章生成。听起来很顺实际做起来才发现长文本的一致性比代码难管得多——代码编译不过会报错小说写崩了却不会有人拦你。真正让我决定把这套流程写下来的是三个反复出现的坑。第一Agent 写着写着会自己“收工”明明还有三十章没写它却觉得任务完成了。第二字数完全不受控我要五千字它给一千多字到六千字都有。第三前后细节对不上上一章拿到的道具下一章功能就变了。这些问题逼着我把配置、约束文件、验证动作全部固化下来也就是下面你要看到的这套可复制流程。在动手前你需要准备三样东西一个能装插件的 VS Code、一个可用的模型调用通道、一份写清楚规则的 AGENTS.md。模型通道这块我用 TaoToken 统一管理好处是 Key 和 Base URL 只配一次后面换模型、加模型都不用改插件里的散落配置。官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 注意 API 地址不带后面那串跟踪参数。这一节先把场景和问题讲透下一节再讲怎么把通道和 Key 准备好。你如果只是想先跑通一章也可以边看边配不用等全部读完。2. TaoToken 前置准备统一 Key 与 API 通道这一节解决“模型调用怎么管”的问题。很多人写小说写到一半发现插件里配了五六个模型的 Key换一个模型就要改一次配置最后自己都记不清哪个 Key 对应哪个通道。我的做法是用 TaoToken 做统一入口插件里只认一个 Base URL 和一个 Key模型名按需切换。先注册并拿到 Key。打开 https://taotoken.net/api 进入控制台后创建 API Key。创建时建议按用途命名比如novel-vscode这样以后排查调用来源时一眼能认出来。Key 只在创建时完整显示一次复制后先存到安全的地方别直接贴在会提交到 Git 的配置文件里。拿到 Key 之后你需要记住两个地址。Base URL 用https://taotoken.net/api注意这里不要加任何跟踪参数跟踪参数只用于官网跳转统计写进代码里会导致部分客户端拼接路径出错。模型 ID 按你实际要用的填比如 deepseek 系列就填对应的模型标识具体以控制台里列出的为准。这里有个容易踩的坑不同客户端对 Base URL 的拼接方式不一样。有的客户端会在你填的地址后面自动补/v1/chat/completions有的则要求你填到/v1为止。所以配置前先确认你用的插件是哪种拼接逻辑。kilo-code 这类基于 OpenAI 兼容协议的插件通常填到https://taotoken.net/api就能自动补全路径如果报 404就试着补上/v1再试。为了后面配置方便我建议你把这几项整理成一张对照表放在项目根目录的笔记里不要提交 Key 明文配置项值说明Base URLhttps://taotoken.net/api不带跟踪参数API Key控制台创建按用途命名勿提交Model IDdeepseek 对应标识以控制台为准用途小说章节生成便于排查如果你还想在浏览器里直接验证模型是否可用可以打开模型对话页面 https://taotoken.net/api 对应的对话入口先聊一句确认通道通了再进 VS Code 配置。这一步能帮你排除掉“到底是通道问题还是插件问题”。准备阶段还有一件事把项目目录结构先建好。我用的结构是根目录放AGENTS.md、章节大纲.md、世界观设定.md然后一个chapters/目录放每章正文一个scripts/放字数统计脚本。结构清晰Agent 检索时也更不容易迷路。下一节进入 VS Code 和 kilo-code 的具体配置。3. 可复制配置VS Code kilo-code 接入 deepseek这一节是整篇的核心操作区目标是把插件、模型、约束文件三件套配好。先说结论kilo-code 里必须同时配齐 Base URL、API Key、Model ID 这三样缺一个都会调用失败。下面按顺序来。第一步在 VS Code 扩展市场搜索并安装 kilo-code。安装完成后侧边栏会出现它的图标。打开设置找到模型提供商配置区域。不同版本界面措辞可能略有差异但核心字段就三个API Base URL、API Key、Model。第二步填入上一节准备的值。Base URL 填https://taotoken.net/apiAPI Key 填你创建的那串Model 填 deepseek 对应的模型标识。如果你用的是支持 JSON 配置的版本可以直接写一段配置片段路径和字段名以你本地实际为准{ kilo-code.provider: openai-compatible, kilo-code.baseUrl: https://taotoken.net/api, kilo-code.apiKey: sk-你的Key, kilo-code.model: deepseek-chat, kilo-code.codebaseIndexing: true }注意codebaseIndexing这一项我把它打开是有原因的。写长篇小说时Agent 需要能通过自然语言检索前文片段比如“主角上一章拿到的戒指有什么功能”。开启索引后它能在项目文件里做语义检索微观一致性会好很多。索引首次构建会花点时间章节多了以后更明显耐心等它跑完。第三步写 AGENTS.md。这个文件相当于给 Agent 的项目说明书放在项目根目录。它会被自动读取用来约束写作风格和一致性规则。我的模板核心包含这几块角色定位、核心写作逻辑、检索要求、禁止事项、工作流。下面是一个精简可用的版本你可以直接改成自己的题材# AGENTS.md ## 角色 你是一位擅长快节奏叙事的网文写作助手同时负责维护剧情一致性。 ## 核心规则 1. 写新章节前必须先检索前文确认登场人物的状态、等级、关系。 2. 严禁出现人物复活、等级倒退、名字写错等低级错误。 3. 不确定的细节必须查证禁止凭空编造。 4. 每章目标字数 5000 字允许上下浮动 10%。 ## 工作流 1. 读取章节大纲确认本章目标。 2. 检索涉及人物与伏笔。 3. 输出正文保持与前文一致。 4. 输出后自查字数与一致性。第四步把章节大纲和世界观设定也写成 Markdown 文件。大纲里至少要有每章的标题和一句话剧情世界观里写清等级体系、势力关系、主角金手指规则。这些文件是宏观一致性的锚点Agent 每次写作都会参考。配置完成后建议先做一次最小验证新建一个测试文件让 Agent 写一段两百字的开场看它是否能正常返回。如果这一步通了再进入正式章节生成。下一节讲怎么验证请求成功以及成功结果长什么样。4. 验证请求与逐章生成从大纲到章节配置好之后别急着让它一口气写四十章。我的经验是先跑通单章再考虑批量。这一节给你一套可复制的验证动作和逐章生成流程。先做连通性验证。在 VS Code 里打开 kilo-code 的对话面板输入一句最简单的指令比如“用一句话介绍你自己”。如果返回正常说明 Base URL、Key、Model 三件套没问题。如果报错先看错误类型下一节会专门讲排查。连通之后做一次单章生成验证。打开章节大纲.md把第一章的标题和剧情复制到对话里再补一句“请根据 AGENTS.md 的规则写第一章目标 5000 字”。观察它的行为理想情况下它会先检索前文此时还没有前文可能跳过然后输出正文。生成完成后检查三件事字数是否接近目标、是否遵循了大纲、有没有出现真实人名或公司名。单章通过后进入逐章循环。我的做法是每写完一章就人工过一遍确认无误再写下一章。具体指令可以固定成模板减少每次输入成本请阅读 AGENTS.md 和 章节大纲.md写第 N 章。 要求 1. 先检索前文确认人物状态与伏笔。 2. 目标字数 5000 字。 3. 输出后自查一致性列出本章涉及的人物和道具。生成结果会保存到chapters/目录下命名成第N章-标题.md。每章写完后跑一次字数统计脚本。我用的是一个简单的 Python 脚本统计中文字符数import re import sys def count_chinese(path): with open(path, encodingutf-8) as f: text f.read() return len(re.findall(r[\u4e00-\u9fff], text)) if __name__ __main__: print(count_chinese(sys.argv[1]))字数不达标的章节直接让 Agent 重写或扩写。这里有个技巧不要只说“字数不够”要告诉它“当前 3200 字请扩写到 5000 字补充场景描写和对话不要改变剧情走向”。指令越具体返工越少。实测下来连续写三到五章后Agent 容易主动结束任务哪怕还有大量章节没写。我的应对是每章单独发起一次请求不指望它一口气跑完。另外写到后面它会越来越敷衍剧情变简略、不遵循设定。这时候把 AGENTS.md 和大纲重新贴进上下文或者新开一个会话能明显改善。下一节集中讲这些报错和异常怎么排查。5. 本篇常见错排查401、代理失败与一致性崩坏这一节按真实报错来。你在配置和生成过程中大概率会遇到下面几类问题我逐个给排查路径。第一类401 未授权。表现是调用直接返回 401提示 Key 无效或未提供。排查顺序先确认 Key 有没有复制完整前后有没有多余空格再确认这个 Key 在控制台里是否被禁用或删除最后确认 Base URL 有没有写错比如误填了带跟踪参数的地址。如果 Key 没问题但依然 401试着重新创建一个 Key 再试排除复制污染。第二类本地代理失败或连接超时。报错里可能出现 local proxy failed、connection refused 这类字样。这通常不是模型通道的问题而是本地网络或客户端代理设置的问题。检查 VS Code 的网络设置确认没有配置指向本地的代理端口如果你所在环境有网络策略限制按所在组织的合规要求处理不要自行搭建任何绕过手段。把 Base URL 换成https://taotoken.net/api直连再试一次很多时候是地址拼接错了。第三类读取 choices 字段报错。报错类似 reading choices of undefined意思是客户端拿到了非预期格式的响应。常见原因是 Base URL 拼接路径不对比如该补/v1没补或者多补了一段。对照你插件的拼接逻辑把地址调整到正确层级。另一个原因是模型 ID 填错通道返回了错误结构客户端解析失败。确认 Model 字段和控制台里列出的标识完全一致。第四类OAuth 或鉴权流程卡住。如果你用的是需要 OAuth 的客户端报错可能出现在回调环节。这类问题优先检查回调地址是否和客户端要求一致以及 Key 是否被用在了不支持的方式上。对于 kilo-code 这类用 API Key 的插件一般不走 OAuth如果你遇到 OAuth 报错先确认是不是装错了插件或选错了鉴权模式。第五类一致性问题也就是“吃书”。表现是人物等级倒退、道具功能变化、名字写错。这不是报错但比报错更烦。排查思路先确认 AGENTS.md 是否被正确读取文件是否在项目根目录再确认 codebase-indexing 是否开启并完成索引最后检查你是不是在同一个会话里连续写了太多章导致上下文被压缩后丢失了早期设定。我的做法是每三到五章新开一次会话并把关键设定重新贴一遍。第六类Agent 主动结束任务。明明还有章节没写它却说完成了。这通常和任务边界不清有关。把“写完整本书”拆成“写第 N 章”每次只给一个明确目标能大幅减少这种情况。如果它写完一章就停那正是你想要的继续发下一章指令即可。第七类字数不达标。这是模型通病没有根治办法只能靠统计脚本加人工重写。把字数要求写进 AGENTS.md再配合脚本校验能把返工率降下来。排查时记住一个原则先分清是通道问题、插件问题还是内容问题。通道问题看 401 和连接类报错插件问题看配置字段和路径拼接内容问题看一致性和字数。分清了解决起来就快。下一节给出统一的入口和后续动作。6. 统一入口与后续动作把上面这套跑通之后你手里其实就有了一个可复用的长文本生产流程VS Code 负责编辑和检索kilo-code 负责调度 Agentdeepseek 负责出字AGENTS.md 负责约束TaoToken 负责统一模型调用。换题材、换模型只需要改大纲和 AGENTS.md通道和插件配置基本不用动。如果你卡在排障或接入环节优先去看 API Keys 和接入文档地址是 https://taotoken.net/api 先把 Key 和 Base URL 这两件事确认清楚。如果你只是想先验证模型能不能用、输出风格合不合口味可以直接进模型对话页面聊几句成本很低。如果你打算长期做编码类或 Agent 类项目比如把这套流程扩展成自动跑章节的流水线那 Coding Plan 会更合适入口在 https://taotoken.net/api 对应的套餐页面里找。我自己的下一步优化方向有三个一是把字数校验和一致性检查做成脚本每章生成后自动跑二是把 AGENTS.md 拆成多个小文件按需加载减少上下文占用三是尝试在每章生成前自动注入相关人物卡片进一步压住微观一致性问题。这套东西不完美但比纯手工写快得多也比完全放任 AI 乱写可控得多。你先跑通一章剩下的就是重复和调优。