news 2026/10/24 5:09:42

VibeWise状态文件全解:.vibe-wise目录下三个文件如何记录你的学习轨迹

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VibeWise状态文件全解:.vibe-wise目录下三个文件如何记录你的学习轨迹

VibeWise状态文件全解:.vibe-wise目录下三个文件如何记录你的学习轨迹

【免费下载链接】vibe-wiseA Claude Code plugin that helps you learn how to build while AI writes the code.项目地址: https://gitcode.com/gh_mirrors/vi/vibe-wise

VibeWise 是一个 Claude Code 插件,让你在 AI 写代码的同时学会如何设计软件。它的学习轨迹全部保存在项目根目录的.vibe-wise/文件夹中,由profile.md、progress.md和project-map.md三个状态文件组成。本文带你完整看懂这三个状态文件:它们各自动态记录什么、如何在新会话中自动恢复,以及重置前如何备份。

为什么你需要这些状态文件

VibeWise 的核心理念是「你负责设计,AI 负责写代码」(You build. AI writes.)。在开发过程中,Claude 会不断询问你的方案、评估你的推理,而不是直接替你做出架构决定。

但对话总会中断——重启终端、执行/compact压缩上下文、隔几天再来……如果学习记录只停留在聊天记录里,Claude 下次就会「失忆」:不知道你的经验水平、忘记了已确认的设计、还会重复问你一遍入门问题。

.vibe-wise/状态文件就是解决这个问题的「学习记忆」,它只包含三个文件:

文件一句话定位更新时机
profile.md你的学习者档案(当前快照)偏好或理解水平变化时
progress.md学习事件流水账(按主题)每学到一个新主题时
project-map.md项目结构与知识地图设计讨论推进时

首次运行/vibe-wise:learn完成引导(onboarding)后,这三个文件就会自动创建在 Git 仓库根目录(无 Git 时在当前目录),模板定义在 state-templates.md 中。

profile.md:你的学习者档案快照

profile.md记录的是「现在的你」,而不是历史过程。它采用更新覆盖策略:新信息会修正旧条目,而不是无限追加。

打开一个真实项目里的profile.md,大致长这样:

  • 状态行:文件顶部的两行Learning mode和Onboarding是机器可读的关键标记。恢复钩子 session_start.py 会专门扫描Learning mode: paused来判断学习模式是否处于暂停状态,所以这两行要保持在文件顶部且不换格式。
  • Project 区块:项目类型(新建 / 已有 / 熟悉)、在构建什么、你对代码库的熟悉程度、学习范围(整个系统 / 只学涉及的部分)。
  • Experience 区块:整体编程经验(Beginner / Intermediate / Advanced)和对所用技术栈的熟悉程度。这决定了 Claude 给你的「教学浓度」——初级会多解释概念、多用图和更小的推理问题,高级则会直接挑战约束条件和失败模式。
  • Goals 区块:你的学习目标,比如「从头到尾理解这个项目」。
  • Preferences 区块:检查点频率(Light / Normal / Frequent)、提问风格、代码编写方式(默认 AI 写代码)。
  • Strong / Developing / Revisit Concepts:已掌握、正在发展、需要回顾的概念清单。这是档案的精华——它让 Claude 不再重复讲解你已经掌握的知识点。

progress.md:按主题记录学习事件

如果说profile.md是快照,progress.md就是底稿。它按## 主题分节,每个主题下记录三类信息:

  • Introduced:哪些概念已经向你介绍过;
  • Demonstrated understanding:你展现出理解的证据(记录的是你的推理,不是对话原文的引用);
  • Needs reinforcement:还需要强化的点。

有两个容易忽略的细节:

  1. Pending decision 区块:当某个检查点(Design 或 Implementation)正在等你确认时,progress.md会留一个简短的「待决事项」小节,记下提出的方案和等待的回复类型。解决后删除。这意味着即使你在确认前关闭了 Claude,下次启动时待决状态也会被恢复——重启不等于批准。
  2. 忠实记录原则:产品偏好(比如「笔记要支持多文件夹」)只是需求,不算工程理解的证据;Claude 提出的建议永远标记为 proposed,不会被算成你的决策。

project-map.md:你与 Claude 共同构建的项目地图

project-map.md是三个文件中唯一描述「项目本身」的,它由七个板块组成:

板块内容
Purpose这个软件做什么
Requirements用户需求与约束(注意:需求不会自动决定技术选型)
Components组件、职责和对应的文件路径
Main Flow用紧凑文本图描述主流程,未知关系标记为?
Data and Trust Boundaries存储、所有权、认证、外部服务
Build and Deployment在仓库中验证过的构建命令与配置路径
Unknowns尚未解决的技术选型,以及还缺什么信息

关键在于它**区分 proposed(提议)、chosen(已选定)和 implemented(已实现)**三种状态的组件,不会用假设的设计去填补未讨论的关系。对已有仓库,Claude 会先实际查看入口、依赖和存储配置,再画出这张有证据支撑的地图。

状态文件如何被自动恢复

这是.vibe-wise/最妙的机制:你什么都不用做,重启 Claude Code 就能续上学习。

  • hooks.json 注册了SessionStart钩子,覆盖startup | resume | clear | compact | fork五种事件;
  • 每次会话启动时,session_start.py 会从当前目录向上查找最近的.vibe-wise/(兼容旧版.sensible-vibes/),并且遇到.git边界就停止,绝不借用父仓库或其他 worktree 的状态,也不跟随符号链接;
  • 确认profile.md存在且学习模式未暂停后,钩子会向 Claude 注入一段固定的恢复指令:读取profile.md和project-map.md,搜索整个progress.md中的待决事项,并在写代码前恢复对应检查点阶段。

由于注入的指令大小固定,不会随学习历史增长而膨胀,长日志也不会拖慢启动。相关行为在 test_session_start.py 中有完整的钩子测试覆盖,设计说明见 development.md。

备份与重置:学习轨迹可以重来

想从零开始学这个项目?运行/vibe-wise:reset:

  1. 先做一次只读预览,展示将要重置的文件和备份位置,不改动任何东西;
  2. 你明确选择Reset learning后,reset.py 会把三个原始文件备份到.vibe-wise/backups/下带时间戳的文件夹,再用空白模板替换活动笔记;
  3. 源代码、Git 历史和其他项目完全不受影响,随后 Claude 重新开始引导。

预览和确认之间使用快照指纹校验,笔记在等待期间被修改会强制重新预览,避免误删新内容。重置命令的完整流程见 reset/SKILL.md。

使用建议与常见问答

  • 要不要提交到 Git?官方建议在.gitignore中忽略.vibe-wise/,让笔记留在本地。插件不会悄悄改动你的.gitignore——它会先告知、经你同意后才编辑。
  • 为什么找不到状态文件?目录位于 Git 仓库根目录,且只在完成首次引导后才创建;目录不存在属于正常的首次安装状态,不是错误。
  • 改名前叫.sensible-vibes/?旧笔记原地保留、自动识别恢复,无需手动迁移;同名位置同时存在时.vibe-wise/优先。
  • 暂停学习怎么办?直接告诉 Claude「pause learning」,profile.md会标记为 paused;之后运行/vibe-wise:learn即可恢复。
  • 数据安全如何?没有账号、后端或遥测,笔记是纯本地 Markdown,随你的 Claude Code 数据设置处理。

总结

.vibe-wise/下的三个文件各司其职:profile.md记住「你是谁、怎么学」,progress.md记清「学过什么、证据何在」,project-map.md描绘「项目长什么样、还缺什么」。配合 SessionStart 钩子的自动恢复机制,VibeWise 的学习轨迹在重启和上下文压缩后都能无缝延续——你专注于思考设计,剩下的交给文件。更多交互示例可参考 Notion 风格笔记应用演示,整体使用方式见 README.md。

【免费下载链接】vibe-wiseA Claude Code plugin that helps you learn how to build while AI writes the code.项目地址: https://gitcode.com/gh_mirrors/vi/vibe-wise

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 21:05:28

模块化用法

一、模块化的基本概念模块化就是把一整份代码按职责拆成若干独立文件,每个文件只负责一件事,对外通过固定接口暴露能力,其它文件按需把能力取过来用。它要解决的是三个很具体的问题:避免重复:同一段逻辑如果写两遍&…

作者头像 李华
网站建设 2026/10/16 22:04:31

Hyperframes超帧技术:实现高质量视频插帧与慢动作重建

1. 为什么我会在视频项目里盯上 hyperframes先交代一下背景。上个月我在处理一批运动相机素材,45分钟的骑行视频,想把其中几段高速冲坡镜头做成慢动作。常规做法是直接把 30fps 插到 120fps,可我试了几个开源插帧模型之后,发现它们…

作者头像 李华
网站建设 2026/10/15 4:07:34

DeepSeek本地部署与集成方案选型对比:从命令行到可视化与办公插件

DeepSeek本地部署并非只有一种路径。从搜索结果看,社区已经形成了从命令行到可视化界面,再到办公插件集成的多种方案。不同方案在安装复杂度、交互体验和适用场景上差异明显,选型时需要结合自身技术背景和实际需求。 基础层:Ollam…

作者头像 李华
网站建设 2026/10/15 1:38:43

2_tp_csdn

BSP调试#12:TP(全志T527)# BSP调试#12:TP(全志T527) 调试前 触摸调试前需要了解 Linux Input 子系统的基本框架以及数据上报流程。Linux Input 子系统分为 3 层 ,从底层硬件到上层应用链路如下&…

作者头像 李华
网站建设 2026/10/16 2:33:30

纯数学表达式实现布尔逻辑与条件分支

纯数学表达式实现布尔逻辑与条件分支一年前的奇思妙想(ai让我发的呀):尝试不依赖任何编程语言的控制流(if-else, while),仅使用纯数学公式(四则运算、绝对值、最大值函数)&#xff0…

作者头像 李华