AI Coding 进度管理实战:用 MCP 让 Claude Code / Trae 自动回填任务进度

用 Claude Code、Trae 这类 AI 编码工具写项目,有个体验上的硬伤:AI 一次能改七八个文件,效率很高,但它做完的事,你很容易忘了回去更新计划。 过两天再看,分不清哪些做了、哪些没做,又得对着代码一条条核对。
这篇就分享我怎么用 MCP 解决这个问题——让 AI 在写代码的过程中自己把完成的任务勾掉,进度实时同步到网页。重点会讲清楚其中双向同步的关键设计,哪怕你想自己撸一套,照着思路也能落地。
起因其实挺土:我平时灵感多、又懒得用复杂的笔记软件,长期拿微信"文件传输助手"记想法,再搬到电脑上整理成计划、做完打钩——一个想法记两遍,烦得很。作为程序员,索性自己做了个工具,慢慢演化成「灵感 → 计划 → MCP 自动勾 → 归档文章」这么一套东西。不过本文重点是中间那段技术,故事就此打住。
一、MCP 能帮我们做什么
简单说,MCP(Model Context Protocol)是一套标准协议,让 AI 编码工具能调用你提供的外部"工具"——本质就是一组带 JSON Schema 的函数。AI 会在编码过程中自主判断何时调用它们。
那"让 AI 边写边勾进度"就可以拆成几个 MCP 工具:
| 工具 | 作用 |
|---|---|
get_plan |
拉取当前计划树 |
update_node_status |
把某个任务标记为「进行中 / 已完成」 |
add_node |
遇到计划外的新任务,自己补一条 |
AI 写完一个功能,就自己调一次 update_node_status 把对应任务勾上,进度实时回填——不用人工维护。
二、接入:一行命令
以 Claude Code 为例(Key 在网页登录后生成):
claude mcp add lingji --scope user --transport http https://lingji1dong.com/mcp \
--header "Authorization: Bearer 你的Key"
只支持 stdio 的工具(比如 Trae),用官方的 mcp-remote 桥接一下也能接。接进去之后,AI 在对话里就能自主调用上面那几个工具了。
三、关键难点:网页改了计划,正在跑的 AI 怎么知道?
这是整件事里最值得讲的一点。
最朴素的想法是"AI 负责勾、我负责看",但真实场景是双向的:我经常在网页上手动调计划——删一条、加一条、改个措辞。此时正在跑的 AI 手里还是旧计划,如果它继续按旧计划勾,就会勾错节点,甚至覆盖我刚改的东西。
要是每次都让 AI 重新拉一遍,又会浪费大量上下文,而且 AI 并不知道"这次到底要不要重拉"。
我的解法是给计划加一个版本号,并且按变更来源决定要不要自增:
- 网页端的人工改动(包括手动勾选)→ 版本号 +1
- MCP 端 AI 的状态更新 → 不 +1
AI 每次 get_plan 拿到版本号,和上次记的对比:
- 版本号没变 → 数据是它熟悉的,直接接着干
- 版本号变大了 → 网页动过,提示"请先同步",AI 重新拉一次最新计划再继续
「按来源区分是否自增」是这里最关键的一行设计:少了它,要么 AI 自己的勾选触发"请同步"死循环,要么漏掉我在网页上的真实改动。有了它,我和 AI 完全并行——它写它的码,我改我的计划,谁也不打断谁。
四、顺带一个树形结构的经典坑:N+1 查询
计划是一棵树:父任务 → 子任务 → 叶子,能嵌套好几层。
最直觉的取数写法是递归:查根节点,再查它的孩子,再查孩子的孩子……一棵几十个节点的树能打出几十条 SQL。而 get_plan 是被 AI 高频调用的接口,这么写迟早出事。
正确做法是一条 SQL 把整棵树捞出来(用邻接表存储,每个节点带一个 parent_id),再在内存里按 parent_id 拼成树:
SELECT * FROM plan_node WHERE inspiration_id = ? -- 一次取全树
↓
内存中按 parent_id 分组,O(n) 拼成树
数据库只跑一次。任何"树 + 高频读取"的场景都建议优先这么干,别上来就递归。
五、两个加分项:项目约束 + 归档成文章
项目约束:不同项目有不同规矩(代码风格、提交格式、哪些目录不能动)。每开一个新对话都重新交代一遍太累,所以我给每个项目存一份约束,AI 接入时通过 get_project_context 自动读取——对话一开场它就知道这个项目的规矩,比如"提交信息带模块名前缀"“不要改 legacy 目录”,设一次之后自觉遵守。
归档成文章:项目从灵感到完成,本身攒了一份现成素材——原始想法、最终计划、每条任务何时完成。喂给 LLM 足够生成一篇复盘 / 教程草稿。说句实在的,这篇文章的雏形就是这么来的。
六、现存问题(实话实说)
不吹。MCP 自动勾选依赖你用的 AI 编码工具有多"聪明"——它得自己判断何时调哪个工具。我实测 Claude Code 和 Trae 表现不错,但有些工具即使配好了全局规则也不一定那么主动。这部分体验一半在工具能力上,我还在持续调。
小结
这套机制核心就三点:用 MCP 把计划读写开放给 AI;用带来源区分的版本号做双向同步;顺手把过程归档成文章沉淀下来。不依赖任何特定产品,你完全可以自己实现。
我做成的这个工具叫灵计一动,是我自己天天在用的,把上面这条线(外加"灵感入口"和"文章出口")凑成了完整闭环。感兴趣可以去 lingji1dong.com 看看;只想自己实现"让 AI 边写边勾进度"的,照着上面 MCP + 版本号那套思路撸就行。有问题欢迎评论区交流。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)