新闻详情

新闻详情

首页 / 资讯中心 / 详情

拥抱“规格驱动开发”:在 VS Code 中用 spec-coding-mcp 配 TaoToken 的完整教程

发布时间:2026/9/30 18:25:25来源:尧图网络
拥抱“规格驱动开发”:在 VS Code 中用 spec-coding-mcp 配 TaoToken 的完整教程
1. 为什么我在 VS Code 里把“氛围编程”换成了规格驱动开发先说结论规格驱动开发Spec-Driven Development是一套把“模糊需求”先固化成结构化规格文件、再让 AI 按规格逐条实现的开发方式它最适合已经在用 GitHub Copilot、但被“改一处崩三处”折磨过的 VS Code 用户。核心检索词就是规格驱动开发、spec-coding-mcp、MCP、GitHub Copilot、VS Code 这几个下面全部围绕它们展开。我早期用 Copilot 写代码的状态基本就是“氛围编程”对着 Chat 窗口说一句“帮我做个待办应用”它哗哗生成一堆文件跑起来能用但过两天想加个筛选功能发现它把状态管理、路由、样式全揉在一个组件里改起来比从零写还累。问题不在于模型不行而在于我从来没告诉它“这个功能到底要满足什么验收标准”。规格驱动开发解决的正是这个断层。它要求每个功能模块对应一个 Spec 文件夹里面至少有三个文件requirements.md 写需求与验收标准design.md 写技术方案与风险tasks.md 把方案拆成可勾选的待办清单。AI 不再是“猜你想要什么”而是“照着规格一条条交付”。spec-coding-mcp 就是把这套流程封装成 MCP Server 的工具让 GitHub Copilot 在 VS Code 里能直接调用它生成和推进这些规格文件。MCP 全称 Model Context Protocol你可以把它理解成 AI IDE 和外部工具之间的标准插座。只要编辑器支持 MCP就能挂载 spec-coding-mcp 这类 Server让 Copilot 获得“写规格、拆任务、按任务执行”的能力而不是只会补全代码。那为什么还要配 TaoToken因为规格驱动开发的一个特点是“调用密度高”生成需求、生成设计、拆任务、逐任务执行每一步都是一次甚至多次模型请求。如果每个环节都单独管一个 Key、单独配一个 Base URL切换模型时就要改一堆地方。TaoToken 提供统一 Key 和统一 API 通道把模型访问收敛到一个入口VS Code 里的 MCP 配置和 Copilot 的模型配置都指向它后面换模型只改一个 Model ID 就行。这篇教程的交付物很明确一份可复制的.vscode/mcp.json骨架、一份settings.json片段、TaoToken 的接入步骤以及跑通后的验证动作。你跟着做能在 VS Code GitHub Copilot 环境里把规格驱动开发的流程真正跑起来而不是停在概念层。适合谁看已经装了 VS Code 和 GitHub Copilot、想用 MCP 提升工程规范性的开发者被 AI 生成代码“不可追踪”困扰、想引入 Spec 文件夹机制的人以及需要统一管理多个模型 Key、不想在配置文件里反复横跳的人。如果你还没用过 MCP也没关系下面每一步都会给完整命令和参数。2. TaoToken 前置准备统一 Key 与 API 通道怎么落地在动 VS Code 配置之前先把 TaoToken 这一侧的准备工作做完。这一步的目标是拿到一个可用的 API Key并确认 Base URL 和 Model ID后面 MCP 配置和 Copilot 配置都要复用这三个值。先访问官网入口 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 完成账号注册和登录。登录后进入控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。控制台里能看到当前账户的额度、调用统计以及最关键的 API Keys 管理入口。创建 Key 的页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。点新建给它起个能认出来的名字比如vscode-spec-coding方便以后区分是哪个环境在用。创建完成后立刻复制保存因为多数平台只在创建时完整显示一次。这个 Key 就是后面配置里的TAOTOKEN_API_KEY。接下来确认 API 通道地址。TaoToken 的 API 根地址是 https://taotoken.net/api 注意这个地址不带任何查询参数配置里直接用它作为 Base URL。很多 MCP Server 和 OpenAI 兼容客户端都要求 Base URL 以/v1结尾或能自动拼接具体看工具要求但根地址就是https://taotoken.net/api。Model ID 这块建议先在模型对话页面确认你要用的模型标识。打开 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 这里能看到当前可用的模型列表和对应的调用名称。把你要用的那个 Model ID 记下来比如某个 Claude 或 GPT 系列的标识后面settings.json和 MCP 配置里会用到。规格驱动开发里“生成设计文档”和“拆任务”对模型推理能力要求较高建议选一个上下文窗口足够大的模型。如果你打算长期用规格驱动开发跑编码和 Agent 任务可以了解一下 Coding Plan入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它的定位是面向持续编码场景的套餐适合调用频率高、需要稳定通道的情况。具体权益以页面说明为准这里不展开价格细节。还有一个容易忽略的点环境变量。为了避免把 Key 硬编码进mcp.json然后不小心提交到 Git建议把 Key 放到系统环境变量里。Windows 下可以用setx TAOTOKEN_API_KEY 你的KeymacOS/Linux 下在~/.zshrc或~/.bashrc里加export TAOTOKEN_API_KEY你的Key然后重启终端和 VS Code。这样配置文件里只写${env:TAOTOKEN_API_KEY}这类引用安全很多。做完这几步你手里应该有三个值API Key、Base URLhttps://taotoken.net/api、Model ID。下面进入 VS Code 的实际配置。3. 可复制配置settings.json 与 mcp.json 骨架这一节是整篇的核心给的都是能直接复制粘贴的片段。先说明文件位置VS Code 的用户级设置文件settings.json可以通过命令面板CtrlShiftPmacOS 是CmdShiftP输入 “Open User Settings (JSON)” 打开工作区级的 MCP 配置则放在项目根目录的.vscode/mcp.json。先看settings.json里跟 Copilot 和模型通道相关的片段。不同 VS Code 版本字段名可能有差异下面给的是通用骨架重点是 Base URL、Key 引用和 Model ID 三件套{ github.copilot.chat.localeOverride: zh-CN, github.copilot.chat.codeGeneration.instructions: [ { text: 遵循规格驱动开发每个功能先产出 requirements.md、design.md、tasks.md再进入实现。 } ], github.copilot.advanced: { debug.overrideProxyUrl: https://taotoken.net/api, debug.overrideChatModel: 你的ModelID, debug.overrideApiKey: ${env:TAOTOKEN_API_KEY} } }这里要提醒一句github.copilot.advanced下的字段属于高级覆盖项不同版本支持程度不一样。如果你的 VS Code 版本不认这些字段不要硬写改用下面 MCP 配置来承载模型通道Copilot 本身继续用官方登录态即可。规格驱动开发的核心能力来自 spec-coding-mcp模型通道走 MCP Server 的环境变量更稳妥。接下来是重点.vscode/mcp.json。这个文件告诉 VS Code 去哪里启动 spec-coding-mcp以及给它传什么环境变量。骨架如下{ servers: { spec-coding: { command: dotnet, args: [ tool, run, SpecCodingMcpServer ], env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: ${env:TAOTOKEN_API_KEY}, TAOTOKEN_MODEL_ID: 你的ModelID } } } }如果你是通过 NuGet 安装的SpecCodingMcpServercommand和args要按实际安装方式调整。用dotnet tool install --global SpecCodingMcpServer全局安装后可以直接用工具名启动如果是本地项目引用则改成dotnet run --project指向项目路径。关键是env块里的三个变量要跟 TaoToken 控制台拿到的值对齐。再给一个更贴近“三件套”写法的版本把 Base URL、Key、Model ID 显式列出来方便你对照检查{ servers: { spec-coding: { command: dotnet, args: [tool, run, SpecCodingMcpServer], env: { OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: ${env:TAOTOKEN_API_KEY}, OPENAI_MODEL: 你的ModelID } } } }有些 MCP Server 读的是OPENAI_*前缀的环境变量有些读自定义前缀具体以 spec-coding-mcp 的文档为准。如果不确定两个版本的环境变量都写上重复不影响启动。配置保存后VS Code 会在.vscode/mcp.json上方显示一个start按钮点它启动 Server。启动成功的标志是 MCP 面板里spec-coding状态变成运行中并且能看到它注册的工具列表。关于 .NET 运行时SpecCodingMcpServer需要 .NET 10 才能跑。如果你本地没有去 https://dotnet.microsoft.com/zh-cn/download/dotnet/10.0 下载安装装完在终端执行dotnet --version确认版本号是 10.x。这一步不做MCP Server 启动会直接报错退出后面所有流程都走不通。配置阶段还有一个细节工作区信任。VS Code 对.vscode/mcp.json里的命令执行有安全限制第一次启动会弹窗询问是否信任该工作区。选信任否则 Server 起不来。如果你在公司受管设备上可能需要管理员策略放行这个提前确认。4. 验证请求从“开始规格编码”到 Spec 文件夹落地配置写完不算跑通得实际发一次请求看到 Spec 文件夹生成出来才算验证成功。这一节按操作顺序走一遍每一步都给预期结果。第一步确认 MCP Server 已连接。在 VS Code 里打开 Copilot Chat切到 Agent 模式不同版本叫法可能是workspace或 Agent输入spec-coding看能不能唤起这个 Server 的工具。如果补全列表里出现 spec-coding 相关命令说明连接正常。如果没有任何反应回到上一节检查mcp.json的command和args是否正确以及 .NET 10 是否装好。第二步发起规格编码指令。在 Chat 里输入“开始规格编码”然后按提示描述功能。比如输入“创建一个 Vue 待办应用支持添加、删除、标记完成、按状态筛选”。Copilot 会调用 spec-coding-mcp 进入需求收集阶段生成符合 EARS 语法的requirements.md。EARS 是简易需求语法核心是把需求写成“当……时系统应当……”这种可验收的句式避免“尽量好看”这类无法验证的描述。预期结果项目里出现specs/目录里面是该功能的 Spec 文件夹requirements.md已经写好用户故事和验收标准。打开看一眼如果里面全是“用户希望能够……”这种模糊句说明模型没按 EARS 走可以在 Chat 里补一句“请严格用 EARS 语法重写验收标准”。第三步确认需求后进入设计阶段。Copilot 会基于requirements.md生成design.md内容包括架构设计、流程逻辑、技术选型、潜在风险。这一步是规格驱动开发里最能体现价值的地方设计先于代码风险提前暴露。预期结果是design.md里能看到组件划分、数据流、依赖库选择以及“如果筛选状态和路由不同步会怎样”这类风险条目。第四步任务规划。确认设计后Copilot 把方案拆成tasks.md每一条是可执行、可勾选的待办。预期结果是任务粒度足够细比如“创建 TodoItem 组件”“实现 filter 计算属性”“接入 localStorage 持久化”而不是“完成整个应用”这种大而空的条目。任务太粗就让它继续拆。第五步任务执行。确认任务清单后Copilot 逐条执行每完成一条勾掉一条。这一步会实际写代码、建文件。预期结果是项目里出现 Vue 组件、状态管理文件、样式文件并且tasks.md里的勾选状态同步更新。执行过程中如果某条任务失败Chat 里会显示错误你可以让它重试或手动修。验证成功的硬标准有三个specs/目录下存在完整的 Spec 文件夹三个 md 文件内容结构正确tasks.md的勾选状态和实际代码文件对得上。三个都满足说明规格驱动开发工作流在 VS Code GitHub Copilot spec-coding-mcp TaoToken 这套组合下跑通了。如果你还想单独验证 TaoToken 通道是否真的在被调用可以打开 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 看调用统计正常情况下刚才那几轮请求会体现在调用次数和 token 消耗上。这一步能帮你区分“是 MCP 没连上”还是“是模型通道没通”。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth配置和验证过程中最容易卡在几个固定报错上这一节按真实错误信息对照排查。每个错误都给现象、原因、处理动作。第一个401 Unauthorized。现象是 MCP Server 启动后调用模型时报 401或者 Copilot Chat 里返回鉴权失败。原因通常是 API Key 没传进去、传错、或者环境变量没生效。处理动作先在终端执行echo $TAOTOKEN_API_KEYWindows 用echo %TAOTOKEN_API_KEY%确认变量有值再检查mcp.json里是不是写成了${env:TAOTOKEN_API_KEY}而不是硬编码的空字符串最后去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 确认这个 Key 没有被删除或禁用。改完环境变量后一定要重启 VS Code否则它读的还是旧环境。第二个local proxy failed或类似的本地代理启动失败。现象是 MCP Server 起不来日志里出现 proxy 相关错误。原因一般是端口被占用或者配置里指向了一个不存在的本地地址。处理动作检查mcp.json里有没有误写localhost或某个本地端口确认 Base URL 用的是https://taotoken.net/api而不是本地地址如果确实有本地代理进程先关掉再启动 MCP Server。注意不要在任何配置里引入来路不明的网络中转设置统一走 TaoToken 的 API 通道即可。第三个reading choices相关报错完整形态可能是Cannot read properties of undefined (reading choices)。现象是模型返回体解析失败。原因通常是返回结构不符合 OpenAI 兼容格式或者 Model ID 写错了导致服务端返回了错误对象。处理动作核对TAOTOKEN_MODEL_ID是否和 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 上列出的调用名称完全一致大小写和连字符都不能错确认 Base URL 没有多写或少写/v1之类的路径以 spec-coding-mcp 文档要求为准如果还不行把 Model ID 换成一个确定可用的再试。第四个OAuth 相关报错。现象是 Copilot 提示登录失效或 OAuth token 过期。原因通常是 Copilot 自身的登录态问题跟 TaoToken 无关。处理动作在 VS Code 里执行 “GitHub Copilot: Sign Out” 再重新登录如果用的是企业版确认组织策略没有禁用 Copilot Chat。这里要区分清楚Copilot 的 OAuth 是编辑器侧的登录TaoToken 的 Key 是模型通道侧的鉴权两者互不替代。规格驱动开发里 MCP Server 走的是 TaoToken KeyCopilot 补全走的是它自己的登录态报错时先判断是哪一侧。除了这四个还有一个高频坑.vscode/mcp.json保存后没点start。现象是 Chat 里spec-coding唤不起来。处理动作看文件上方有没有start按钮有就点没有就检查 JSON 语法是否合法VS Code 对 JSON 格式很严格多一个逗号都会导致整个文件不生效。用CtrlShiftP执行 “Developer: Reload Window” 重载窗口也能解决一部分缓存问题。排查顺序建议固定成先看 MCP Server 状态再看环境变量再看 Base URL 和 Model ID最后看 Copilot 登录态。按这个顺序走绝大多数问题能在五分钟内定位。6. 把规格驱动开发变成日常接入文档与后续动作跑通一次不代表形成工作流。要让规格驱动开发真正进入日常建议把几个动作固定下来每个新功能先在 Chat 里走一遍“开始规格编码”产出 Spec 文件夹后再动手写代码tasks.md当成唯一的进度看板做完一条勾一条design.md里的风险条目在 code review 时重点看。模型通道这块如果你后面要换模型只需要改mcp.json里的 Model IDBase URL 和 Key 都不用动这就是统一通道的价值。需要新建或轮换 Key 时回到 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 操作。想单独测试某个模型在规格生成上的表现可以用模型对话页面 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 直接发请求对比不用每次都起整个 MCP 流程。接入细节和参数说明以官方文档为准入口在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。如果你在配置mcp.json时遇到字段名对不上的情况文档里通常有最新的示例。长期跑编码和 Agent 任务的话Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 有对应的套餐说明按自己的调用量选就行。最后留一个我自己的习惯每次 Spec 文件夹生成后先别急着让 Copilot 执行任务花两分钟读一遍requirements.md的验收标准。如果有一条你没法用“是/否”判断它是否满足就说明它还不够具体让模型重写。这一步花的时间会在后面改 bug 的时候加倍省回来。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenClaw 分层记忆架构完整深度详解:从短期上下文到长期知识库的落地实践 2026/9/30 19:16:51

OpenClaw 分层记忆架构完整深度详解:从短期上下文到长期知识库的落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
同一天两篇《Nature Physics》:离子阱的振动,一个作“信使”,一个作“物质” 2026/9/30 19:16:44

同一天两篇《Nature Physics》:离子阱的振动,一个作“信使”,一个作“物质”

文丨恩里科 排版丨恩里科 行业动向:4000字丨10分钟阅读 ##量子前哨 ##量子计算 用量子比特记录粒子数,费米子比较直接:一个模式要么被占据,要么不被占据,正好对应0和1。玻色子却可以在同一个模式里聚集任意多个&am…

阅读更多 →
使用js技术对单个div中的滚动条进行样式设置:TaoToken场景下的跨浏览器兼容方案 2026/9/30 19:16:38

使用js技术对单个div中的滚动条进行样式设置:TaoToken场景下的跨浏览器兼容方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Codex 模型怎么选?GPT-5.6 / GPT-6 六款模型能力、场景与省钱用法全对比 2026/9/30 19:16:38

Codex 模型怎么选?GPT-5.6 / GPT-6 六款模型能力、场景与省钱用法全对比

Codex 模型怎么选?GPT-5.6 / GPT-6 六款模型能力、场景与省钱用法全对比本文数据截至 2026 年 9 月 29 日,来源为 OpenAI 官方发布、Datacamp、Apifox 等公开评测,文末附出处。TL;DR(先看结论) 你感觉额度烧得快&#…

阅读更多 →
2025年开发者必备的5款AI编程神器,第3个太惊艳:TaoToken统一Key接入实测 2026/9/30 19:16:11

2025年开发者必备的5款AI编程神器,第3个太惊艳:TaoToken统一Key接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GitOps 部署实战指南(CICD):TaoToken 统一 Key 接入 ArgoCD 与 Jenkins 的配置骨架 2026/9/30 19:15:24

GitOps 部署实战指南(CICD):TaoToken 统一 Key 接入 ArgoCD 与 Jenkins 的配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉