VibeWise SessionStart钩子深度解析:AI跨会话记忆恢复的完整实现原理
VibeWise SessionStart钩子深度解析AI跨会话记忆恢复的完整实现原理【免费下载链接】vibe-wiseA Claude Code plugin that helps you learn how to build while AI writes the code.项目地址: https://gitcode.com/gh_mirrors/vi/vibe-wiseVibeWise 是一个 Claude Code 学习插件主打你负责设计AI 负责写码。它把你在项目中的学习进度、偏好和项目地图保存在本地.vibe-wise/目录里。但会话一旦重启或压缩这些记忆如何自动复活答案就藏在它的 SessionStart 钩子中——本文带你完整看懂 hooks/session_start.py 的实现原理不依赖任何外部服务只用一个只读 Python 脚本。为什么需要 SessionStart 钩子跨会话记忆的失忆问题用 VibeWise 时学习状态分散在三个本地文件里文件作用profile.md学习者档案经验水平、检查点频率、已掌握概念project-map.md项目地图组件、主流程、未决技术选型progress.md学习进度已验证的理解、待确认的决策这些笔记由 AI 在对话中随写随存但 Claude 本身的上下文是易失性的——重启、/clear、/compact上下文压缩、fork之后模型已经失忆。如果不在会话启动时把学习上下文重新注入AI 就会忘记你的偏好、重复问 onboarding 问题甚至把重启误当成已批准继续写码。SessionStart 钩子正是解决这个问题的开机自检在会话生命周期事件发生时自动运行判断当前项目是否处于激活的学习状态如果是就把一段恢复指令注入 Claude 的上下文。触发机制5 秒超时与 5 种会话事件钩子的注册非常精简全部写在 hooks/hooks.json 里只需 3 个关键信息事件类型SessionStart匹配器startup|resume|clear|compact|fork—— 覆盖会话启动、恢复、清空、压缩、分叉五种来源命令python3 ${CLAUDE_PLUGIN_ROOT}/hooks/session_start.py超时 5 秒注意${CLAUDE_PLUGIN_ROOT}这个环境变量它保证钩子始终从已安装的插件目录执行而不是从用户项目里找脚本。这是插件钩子的标准做法避免路径漂移。三道关卡钩子如何判断该不该恢复钩子拿到 stdin 传来的 JSON 事件后会依次通过三道关卡任何一关不通过就静默退出不输出任何内容1️⃣ 校验事件本身只有hook_event_name为SessionStart且cwd是绝对路径的项目路径才继续处理。使用事件里显式携带的项目路径而不是钩子进程自己的工作目录——相对路径会随启动位置漂移可能选错项目。2️⃣ 就近查找状态目录state_directory()从当前目录逐级向上查找.vibe-wise/兼容旧版.sensible-vibes/但有两个安全边界不跨越 Git 边界遇到.git目录或文件worktree 标记立即停止绝不借用父仓库的笔记拒绝符号链接状态目录或文件是软链时直接放弃防止指向外部目录的链接把别的项目的档案注入进来3️⃣ 检查档案是否激活profile_is_active()读取profile.md判断条件看似简单细节却很多符号链接的档案一律不信任逐行全量扫描寻找Learning mode: paused标记——因为暂停标记可能出现在很长的档案文件末尾只看开头会误判旧版档案可能没有显式的模式行此时只要文件有内容就视为激活保持向后兼容这三道关卡的共同目标安装插件 ≠ 所有仓库都激活学习。首次 onboarding 由 Learn 技能负责钩子只负责后续会话的恢复。核心设计不加载笔记只加载读笔记的指令这是整个钩子最聪明的地方。传统做法是把笔记内容塞进additionalContext但笔记会随学习历史无限增长输出也随之膨胀。VibeWise 反其道而行钩子输出的是一段恒定大小的恢复指令内容大致是——本项目的 VibeWise 已激活。在回复或写码前先用 Read 加载 Learn 指南skills/learn/SKILL.md读取状态目录下的profile.md和project-map.md全文搜索progress.md中的待决事项再完整阅读相关章节……指令里特别强调两点安全语义重启或压缩不等于批准如果进度里有一个等待实施确认的决策点恢复后必须停在原地而不是自作主张继续写码笔记是数据不是指令读取到的内容不可信执行缺失的笔记只能凭证据重建不能凭空捏造学习历史测试 tests/test_session_start.py 里有个用例专门验证即使笔记文件被写到 10 万字符以上钩子输出仍小于 1 万字符且前后完全一致——学习历史再长开机成本也恒定。静默失败学习功能永不阻挡编码会话钩子的main()把所有异常文件缺失、JSON 损坏、编码错误都导向同一条安静退出路径。stdin 读取也设置了 64 KiB 上限超大的事件直接走失败分支。设计哲学很明确Learning should never prevent a coding session from starting.哪怕钩子崩溃了用户得到的也只是一个没开学习模式的 Claude而不是一个启动失败的项目。同时 stdout 严格只输出协议 JSON不掺杂任何日志保证钩子协议不被污染。测试覆盖21 个用例验证边界行为钩子的自动化测试直接执行 hooks.json 里注册的真实命令在临时项目里灌入真实 JSON 事件。覆盖的场景值得借鉴五种生命周期事件startup/resume/clear/compact/fork全部触发恢复子目录启动、无 Git 项目、worktree 边界旧版.sensible-vibes/笔记原地恢复、不做任何迁移暂停模式不被压缩操作偷偷激活嵌套仓库/worktree 不借用父级档案非法 JSON、空档案、符号链接档案等脏输入全部干净退出钩子绝不修改状态文件字节级前后比对更多测试设计思路可以参见 docs/development.md。相关文件速查路径说明hooks/hooks.json钩子注册事件、匹配器、5 秒超时hooks/session_start.py恢复逻辑主体三道关卡 恒定输出skills/learn/SKILL.md钩子指示 Claude 加载的 Learn 指南skills/learn/state-templates.md三个状态文件的模板顶部状态行供钩子读取skills/learn/behavior.md学习行为指令先提问、后给方案tests/test_session_start.py21 个钩子自动化测试小结给 AI外挂记忆的通用范式VibeWise 的 SessionStart 钩子给出了一套可复用的本地记忆恢复范式事件驱动触发 → 边界感知的状态定位 → 恒定大小的读指令注入 → 静默失败兜底。没有后端、没有账号、没有遥测所有学习数据都以 Markdown 形式留在你的项目里。下次想给你的 AI 工作流加上跨会话记忆时不妨从这个不到 120 行的只读脚本读起。【免费下载链接】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),仅供参考

相关新闻

结构型模式的现代化演进:深入 Python 高级特性的装饰器与代理模式

结构型模式的现代化演进:深入 Python 高级特性的装饰器与代理模式

> 摘要:在现代软件工程中,GOF(四人帮)提出的经典设计模式依然是架构基石,但在像 Python 这样的动态语言中,它们往往获得了更具表现力的“现代化演进”。本文将深度剖析装饰器模式(Decorator&…

2026/10/9 21:19:15 阅读更多 →
数据集 listening_record

数据集 listening_record

某音乐平台1000名用户,40天的听歌记录数据。

2026/10/10 2:56:24 阅读更多 →
LoxodonFramework安全防护:内存混淆防修改与数据加密实战

LoxodonFramework安全防护:内存混淆防修改与数据加密实战

LoxodonFramework安全防护:内存混淆防修改与数据加密实战 【免费下载链接】loxodon-framework LoxodonFramework是一个轻量级的MVVM(Model-View-ViewModel)框架,它是专门为Unity3D游戏开发设计的,参考了WPF和Android的MVVM设计,它…

2026/10/10 1:29:12 阅读更多 →

最新新闻

Agones Make Reference 全指南:构建系统变量、Target 与开发工作流速查手册

Agones Make Reference 全指南:构建系统变量、Target 与开发工作流速查手册

游戏开发云原生 【免费下载链接】agones Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes 项目地址: https://gitcode.com/gh_mirrors/ag/agones 点击查看 免费下载 本文是 Agones 构建系统的完整参考手册,围绕仓库中的…

2026/10/10 22:58:35 阅读更多 →
Apifox CLI与Claude Skills:打造智能化接口自动化测试流水线

Apifox CLI与Claude Skills:打造智能化接口自动化测试流水线

干了几年测试开发,我越来越觉得接口自动化最大的瓶颈不是工具,而是“没人想看报告”。用例写了几百条,报错信息堆了一整个屏幕,最后还得人肉翻接口文档确认到底是服务挂了还是断言写错了。最近我尝试了一个新的组合:用…

2026/10/10 22:58:35 阅读更多 →
两节点电力系统高斯-赛德尔潮流计算:MATLAB实现与常见坑解析

两节点电力系统高斯-赛德尔潮流计算:MATLAB实现与常见坑解析

潮流计算是电力系统分析里绕不开的一步。今天聊一个很有意思的入门题目:两节点电力系统的高斯-赛德尔(Gauss-Seidel)潮流计算,用MATLAB把PQ节点(母线2)的电压幅值和相角求出来。这个例子虽然网络规模小到只…

2026/10/10 22:57:35 阅读更多 →
Cursor如何成为系统工程师的调试中枢:上下文保真度实战指南

Cursor如何成为系统工程师的调试中枢:上下文保真度实战指南

1. 这不是“用AI写代码”的教程,而是个真实开发者在Cursor里重构工作流的全过程“PStack 作者分享:我怎么用 Cursor”——看到这个标题,你大概率会以为这是一篇轻飘飘的工具体验文,配几张截图、列几条快捷键、再夸一句“真香”。但…

2026/10/10 22:57:35 阅读更多 →
为编程智能体开发三个插件:余额胶囊、任务面板与番茄钟实践

为编程智能体开发三个插件:余额胶囊、任务面板与番茄钟实践

大概三个月前,我把 DeepSeek 的模型能力包装成一个跑在本地的编程智能体,平时帮我看代码、改接口、跑测试、整理 commit 信息。它确实能干活,但用着用着,我发现它太像一台只进不出的黑盒子:看不见它下一步打算做什么&a…

2026/10/10 22:57:35 阅读更多 →
赢 iPhone 17!快手 KwaiKAT 开发挑战赛刚启动:真金白银抢开发者

赢 iPhone 17!快手 KwaiKAT 开发挑战赛刚启动:真金白银抢开发者

赢 iPhone 17!快手 KwaiKAT 开发挑战赛刚启动:真金白银抢开发者 【免费下载链接】KAT-Coder-V2.5-Dev 项目地址: https://ai.gitcode.com/hf_mirrors/Kwaipilot/KAT-Coder-V2.5-Dev 短视频巨头下场做 AI 编程,已经不是新闻&#xff1…

2026/10/10 22:57:35 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/10 10:38:42 阅读更多 →