首页/新闻资讯/正文详情

优质skills推荐:用 Planning with Files 给 Claude Code 装上“记忆“,复刻 Manus 式 AI 代理

发布时间:2026/9/26 3:59:04 来源:云帆数科 栏目:资讯中心
优质skills推荐:用 Planning with Files 给 Claude Code 装上“记忆“,复刻 Manus 式 AI 代理
1. 长任务里 Claude Code 为什么会“失忆”如果你用 Claude Code 做过稍微复杂一点的任务大概率遇到过这种场景让它调研一个技术方案、重构一个模块、或者写一份带数据的报告前二十分钟它思路清晰工具调用到三四十次之后它开始重复问你已经回答过的问题把之前否掉的方案又提一遍最后在没验证的情况下说“已完成”。这不是模型变笨了而是它的工作记忆被上下文窗口挤爆了。Claude Code 的上下文本质上像内存条容量有限且断电即失。你执行一次/clear或者会话太长触发自动压缩之前聊过的计划、结论、踩过的坑就全没了。而文件系统像硬盘持久、可检索、容量几乎无限。Planning with Files 这个 skill 的核心思路就是把“重要信息”从对话上下文搬到项目目录的三个 Markdown 文件里让 AI 代理在长任务中有一个可恢复的外部记忆。它适合谁适合用 Claude Code 做跨会话开发、长链路调研、多阶段重构的人。如果你只是问一句答一句用不上它但只要你的任务预计超过 5 次工具调用或者需要跨多个会话推进这套机制就能明显减少返工。下面我会从 skills 目录结构讲起给出 config.toml / settings.json 骨架接入 TaoToken 统一 Key最后演示一次跨会话不丢上下文的验证动作。2. TaoToken 前置统一 Key 与 Claude Code 接入Planning with Files 本身是工作流插件它不解决模型调用的问题。你要让 Claude Code 真正跑起来得先有一个稳定的 API 入口。TaoToken 在这里的作用是提供统一的 Key 和兼容 Anthropic 的接入地址这样你在 Claude Code、Cursor、Gemini CLI 之间切换时不用每个工具配一套凭证。先到官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册然后在控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 里创建一个 API Key。创建完先别关页面Key 只显示一次复制到安全的地方。接着去 API Keys 管理页 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 确认 Key 的状态是启用。Claude Code 的接入配置通常写在~/.claude/settings.json或者项目级的.claude/settings.json。如果你用的是 Anthropic 兼容模式核心是设置ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY两个环境变量。TaoToken 的 API 地址是 https://taotoken.net/api注意这个地址不带 UTM 参数直接写进配置即可。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-your-taotoken-key-here }, permissions: { allow: [ Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch ] } }这里有个容易踩的坑ANTHROPIC_BASE_URL末尾不要加/v1Claude Code 会自己拼接路径。如果你加了/v1请求会变成/v1/v1/messages直接 404。配置改完记得重启 Claude Code环境变量在启动时读取热改不生效。注意API Key 不要提交到 Git 仓库。项目级.claude/settings.json如果进了版本控制建议把 Key 放在用户级配置里项目级只留权限和 hooks。3. skills 目录结构与 Planning with Files 配置骨架Claude Code 的 skills 机制本质上是把一组行为约束、工具白名单和生命周期 hooks 打包成一个可复用的模块。Planning with Files 的目录结构大致长这样.claude/ skills/ planning-with-files/ SKILL.md config.toml templates/ task_plan.md findings.md progress.md scripts/ session-catchup.py check-complete.sh check-complete.ps1SKILL.md是核心头部用 YAML frontmatter 声明能力边界正文写工作流规则。config.toml负责 hooks 的注册templates/放三个文件的初始模板scripts/放会话恢复和完成校验脚本。先看SKILL.md的 frontmatter 骨架--- name: planning-with-files version: 2.10.0 description: Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks requiring 5 tool calls. user-invocable: true allowed-tools: - Read - Write - Edit - Bash - Glob - Grep - WebFetch - WebSearch hooks: PreToolUse: - matcher: Write|Edit|Bash|Read|Glob|Grep hooks: - type: command command: cat task_plan.md 2/dev/null | head -30 || true PostToolUse: - matcher: Write|Edit hooks: - type: command command: echo [planning-with-files] File updated. If this completes a phase, update task_plan.md status. Stop: - hooks: - type: command command: sh .claude/skills/planning-with-files/scripts/check-complete.sh ---allowed-tools是白名单限制这个 skill 只能做读、写、编辑、执行命令、检索这几类操作。PreToolUse的 matcher 命中写文件、改文件、跑命令、读文件、搜索这些动作时会先输出task_plan.md的前 30 行把目标和当前阶段强行塞回模型的注意力窗口。PostToolUse在每次写入后提醒更新阶段状态。Stophook 调用校验脚本只有所有 phase 都标记为 complete 才允许结束。config.toml是给不支持 YAML hooks 的环境用的等价配置[skill] name planning-with-files version 2.10.0 user_invocable true [hooks.pre_tool_use] matcher Write|Edit|Bash|Read|Glob|Grep command cat task_plan.md 2/dev/null | head -30 || true [hooks.post_tool_use] matcher Write|Edit command echo [planning-with-files] File updated. Update task_plan.md status if phase complete. [hooks.stop] command sh .claude/skills/planning-with-files/scripts/check-complete.sh三个模板文件的分工要记清楚task_plan.md是阶段状态机写 Goal 和 phasesfindings.md是知识沉淀写研究发现和关键决策progress.md是过程日志写操作记录、测试结果和错误。新手最常犯的错是把三个文件混着写结果恢复会话时找不到重点。4. 可复制配置三文件模板与 hooks 落地把模板复制到项目根目录这是工作台不是工具箱。安装目录里的 templates 只是参考真正生效的三文件必须在当前项目下。task_plan.md的初始结构# Task Plan ## Goal 用一句话写清楚这次任务要交付什么。 ## Current Phase Phase 1 ### Phase 1: Requirements Discovery - [ ] Understand user intent - [ ] Document findings in findings.md - **Status:** in_progress ### Phase 2: Planning Structure - **Status:** pending ### Phase 3: Implementation - **Status:** pending ### Phase 4: Verification - **Status:** pending ## Errors Encountered | Error | Attempt | Resolution | |-------|---------|------------|findings.md的初始结构# Findings ## Research Findings - ## Technical Decisions | Decision | Rationale | |----------|-----------|progress.md的初始结构# Progress Log ## Session Log - ## Error Log | Timestamp | Error | Resolution | |-----------|-------|------------|hooks 生效的关键是路径要对。check-complete.sh里的PLAN_FILE默认指向项目根目录的task_plan.md如果你把三文件放在子目录需要改脚本里的路径。校验逻辑很简单TOTAL$(grep -c ### Phase $PLAN_FILE || true) COMPLETE$(grep -cF **Status:** complete $PLAN_FILE || true) if [ $COMPLETE -eq $TOTAL ] [ $TOTAL -gt 0 ]; then exit 0 else exit 1 fi只要 phase 没全部 completeStop hook 就返回非零Claude Code 会认为任务未完成不允许直接收尾。这把“完成”从主观感受变成了可计算的闸门。5. 验证请求跨会话任务不丢上下文的实测配置好之后跑一次完整的跨会话验证。第一步在项目根目录启动 Claude Code输入/plan触发 skill。它会读取模板生成三文件然后你在task_plan.md里写一个真实的小任务比如“调研三个 JSON 解析库并给出选型建议”。第二步让 Claude Code 执行两次搜索或文件读取。按照 2-Action Rule每两次查看操作后必须把关键发现写进findings.md。你可以观察 PreToolUse hook 是否在每次工具调用前输出task_plan.md的前 30 行。第三步执行/clear清空上下文。这是关键动作模拟会话中断。清空后运行会话恢复脚本python .claude/skills/planning-with-files/scripts/session-catchup.py脚本会扫描~/.claude/projects/sanitized-project/下的历史会话文件找到最后一次写入三文件的位置把之后的用户消息、助手消息和关键工具调用整理成报告。你对照报告把三文件里缺失的信息补进去。第四步重新发起请求让 Claude Code 继续任务。如果配置正确它会先读task_plan.md确认当前 phase再读findings.md拿到之前的调研结论然后接着往下做而不是从头问你要做什么。验证成功的标志有三个/clear后重新提问Claude Code 能说出当前处于哪个 phasefindings.md里有之前搜索的关键结论progress.md里有操作记录。如果它重新问你“这个任务的目标是什么”说明 hooks 没生效或者三文件路径不对。6. 本篇常见错排查报错一PreToolUse hook 不触发。先检查SKILL.md的 frontmatter 缩进YAML 对空格敏感hooks下面的层级必须用两个空格递增。再确认matcher的正则是否匹配到了实际工具名Claude Code 的工具名大小写敏感Write和write不是一回事。报错二check-complete.sh一直返回非零。用grep -c ### Phase task_plan.md看总数再用grep -cF **Status:** complete task_plan.md看完成数。常见原因是状态标记写成了Status: complete少了星号或者 phase 标题用了## Phase而不是### Phase导致计数对不上。报错三session-catchup.py 找不到会话文件。这个脚本依赖~/.claude/projects/目录下的.jsonl文件。如果你用的是自定义配置目录需要改脚本里的CLAUDE_DIR变量。另外项目路径转目录名时会把斜杠替换成连字符路径里有中文或空格可能导致匹配失败。报错四TaoToken 请求 401。检查ANTHROPIC_API_KEY是否有多余空格以及 Key 是否在控制台被禁用。如果用的是项目级settings.json确认它没有被.gitignore忽略后又被其他配置覆盖。用户级配置优先级低于项目级两边都写了以项目级为准。报错五三文件被写到了安装目录。这是新手最常踩的坑。模板在.claude/skills/planning-with-files/templates/但生成的三文件必须在项目根目录。如果你在安装目录里看到了task_plan.md说明初始化时的工作目录不对删掉重新在项目根目录执行/plan。7. 继续深入模型对话、Coding Plan 与接入文档如果你只是想验证 Planning with Files 的工作流不需要写代码可以直接在模型对话里试。打开 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 把三文件的内容贴进去让模型按 phase 推进观察它是否会在关键节点回读task_plan.md。这能帮你快速判断这套流程适不适合你的任务类型。如果你打算长期用 Claude Code 做编码和 Agent 任务建议看一下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它针对长会话和高频工具调用做了额度优化配合 Planning with Files 的跨会话恢复能减少因为上下文重置导致的重复消耗。接入过程中遇到配置问题接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有 Claude Code、Cursor、Gemini CLI 的完整示例。Claude Code 的 Anthropic 兼容配置在文档里有单独一节包括环境变量、settings.json 和常见报错对照表。最后说一个我自己的习惯每次开新任务前先花三十秒在task_plan.md里写清楚 Goal 和三个 phase再让 Claude Code 动手。这三十秒的投入通常能省掉后面半小时的返工。Planning with Files 的价值不在于它多复杂而在于它把“先规划再执行”这个简单原则变成了 hooks 强制执行的默认行为。

相关推荐

EchoIsland 桌面灵动岛工具:用 Tauri + Rust 给开发者做一个常驻状态栏
EchoIsland 桌面灵动岛工具:用 Tauri + Rust 给开发者做一个常驻状态栏

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

LangChain学习笔记:用TaoToken统一Key跑通Chain与Agent配置
LangChain学习笔记:用TaoToken统一Key跑通Chain与Agent配置

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

wfrest 01_basic 实战:用 TaoToken 统一 Key 跑通第一个 C++ HTTP 服务器
wfrest 01_basic 实战:用 TaoToken 统一 Key 跑通第一个 C++ HTTP 服务器

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

高并发基石:Reactor模型原理、架构演进与工程实战
高并发基石:Reactor模型原理、架构演进与工程实战

1. 阻塞IO的天花板:高并发问题的根源我最早接触到Reactor模型,是因为线上服务出现了一个非常棘手的故障:单机连接数不过两三百,CPU占用率却冲到百分之百,请求频繁超时。起初我以为是代码逻辑的问题,各种排查… · 2026/9/26 4:46:22

古城景区管理系统毕业设计:Java+Vue全栈开发实战指南
古城景区管理系统毕业设计:Java+Vue全栈开发实战指南

毕业设计做到一半才发现,很多同学不是不会写代码,而是不知道该把一个管理系统“做到什么程度”才算合格。就拿古城景区管理系统来说,题目热门、资料也多,但真正能把需求梳理清楚、把技术栈用出说服力、把数据库设计得经得起答辩追… · 2026/9/26 4:46:22

SpringBoot+Vue语言考试报名系统开发实战:从数据库设计到部署联调
SpringBoot+Vue语言考试报名系统开发实战:从数据库设计到部署联调

SpringBootVue 语言考试信息报名系统,这个标题放在毕业设计清单里确实很常见,但真正能把它做扎实、跑通前后端、交得出手的人,其实没那么多。我当年做类似项目的时候,也踩过不少坑——数据库字段设计得过于随意,导致后… · 2026/9/26 4:46:22

线上美容预约小程序开发实战:从排班数据模型到并发控锁
线上美容预约小程序开发实战:从排班数据模型到并发控锁

去年春天帮一家连锁美容院做预约系统的时候,我第一次被他们的运营后台惊到了:整整12家门店,所有预约居然靠一个微信群接龙加Excel排班表在撑。客人约了下午三点,技师手上的表记得是三点,前台的本子上写的是三点半&… · 2026/9/26 4:46:22

JavaScript前端加解密实战:从Web Crypto API到混合加密方案
JavaScript前端加解密实战:从Web Crypto API到混合加密方案

1. 为什么JavaScript需要加解密:先理清概念和应用场景搞前端开发这些年,经常有同事拿着一个需求过来问我:"帮我在前端把这个密码加密一下呗"。每次遇到这种诉求,我都得先拉把椅子坐下,问清楚他到底想防谁、防… · 2026/9/26 4:46:16

Midscene实战:AI视觉驱动的安卓UI自动化,告别脆弱定位符
Midscene实战:AI视觉驱动的安卓UI自动化,告别脆弱定位符

干测试的同学应该都有过这种体验:昨天还在正常跑的 UI 自动化,今天因为开发在页面上挪了一个控件,整个用例就废了。改 xpath、等元素、重新截图、维护数据依赖,一遍遍重复消耗时间,投入产出比低到让人怀疑自动化到底值… · 2026/9/26 4:46:16

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

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

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码