资讯动态

开源工具cbt-llm-kit:用AI编程助手实现结构化认知行为疗法

发布时间:2026/8/22 6:02:01 来源:尧图企业网站定制
1. 项目概述当AI助手成为你的认知行为疗法伙伴最近在折腾一个挺有意思的开源项目叫cbt-llm-kit。简单来说它是一套工具能把你的AI编程助手比如Claude Code、Cursor、Gemini CLI变成一个结构化的认知行为疗法CBT引导师。如果你对心理学或者自我情绪管理有点兴趣应该听说过CBT它是一种非常经典、实证有效的心理治疗方法核心是帮助人们识别并改变那些引发负面情绪和行为的自动化思维模式。这个项目的巧妙之处在于它没有自己造一个AI而是利用了大家手头已有的、功能强大的AI编程助手通过一套精心设计的“剧本”和本地数据文件让AI引导你完成专业的CBT思维记录。想象一下当你感到焦虑、沮丧或者被某个念头困扰时你不再需要立刻预约心理咨询师当然严重情况还是建议寻求专业帮助或者自己对着一个冷冰冰的表格发呆。你可以直接在熟悉的代码编辑器里对你的AI伙伴说一句/cbt:record它就会像一个受过训练的引导者一样一步一步问你问题带你梳理整个事件、你的想法、情绪和身体感受最终帮你找到一个更平衡、更理性的视角。整个过程生成的数据比如你的思维记录、每日复盘都作为JSON文件保存在你的本地电脑上没有任何数据会上传到云端隐私性拉满。这对于那些注重隐私又想尝试用科学方法进行自我情绪探索和管理的开发者、知识工作者来说简直是个宝藏工具。2. 核心原理与设计思路拆解2.1 为什么是AI助手 CBT这个项目的设计出发点非常务实。首先像Claude、Cursor这类AI编程助手本身就具备强大的自然语言理解和生成能力并且深度集成在开发者的工作流中。我们每天花大量时间与它们交互讨论代码、解决问题。cbt-llm-kit的作者敏锐地发现这种交互模式与CBT治疗中的“引导式对话”高度相似。治疗师不会直接告诉你答案而是通过一系列结构化的问题引导你自己发现思维中的偏差。AI完全可以扮演这个“提问者”的角色。其次传统的CBT自助工具比如App或纸质表格存在几个痛点一是互动性差填表像完成任务二是灵活性不足无法根据你的具体回答进行追问或解释三是数据孤立难以进行长期趋势分析。而这个工具完美解决了这些问题AI的对话是动态的、有上下文的所有记录以结构化的JSON保存便于后续由AI进行聚合分析找出你个人的思维模式规律。2.2 “工具包”而非“应用”的架构哲学项目名称里的“kit”工具包点明了其核心设计哲学。它不是一个独立的应用程序而是一套数据定义和脚本的集合。这种“AI-Agent-Agnostic”与AI智能体无关的思路借鉴了spec-kit等项目。它的核心是三个数据文件schema.json数据模式、questions.json问题流程、cheat-sheet.md参考手册。AI助手在运行时读取这些文件理解CBT的规则和流程然后据此与用户对话。这样做的好处显而易见轻量且可移植无需复杂的安装和环境几行命令就能在任何支持的文件目录下搭建起来。兼容性强理论上任何能够读取本地文件并执行自定义命令的AI助手都可以适配。项目目前支持Claude Code、Gemini CLI和Cursor未来扩展其他助手如VS Code Copilot Chat的门槛很低。用户拥有完全控制权所有“智能”都源于你本地的数据和你的AI助手的理解能力。你可以查看、甚至修改schema.json里的定义或者调整questions.json里的提问顺序定制属于你自己的引导流程。注意这种设计也意味着引导过程的质量高度依赖于你所使用的AI模型本身的理解能力和遵循指令的严谨性。使用更强大的模型如Claude 3.5 Sonnet通常会获得更细腻、更贴合的引导体验。2.3 数据隐私作为第一原则在心理健康领域数据隐私的重要性怎么强调都不为过。cbt-llm-kit采用了彻底的本地化策略。你的每一次思维记录、每日复盘都以明文JSON格式保存在你项目目录下的records/文件夹里。这些数据永远不会离开你的电脑。当你使用/cbt:analyze进行模式分析时AI助手也是读取这些本地文件进行总结。这消除了使用云端心理健康服务时最大的顾虑让你可以毫无负担地进行深度自我探索。3. 详细安装与配置指南3.1 环境准备与安装安装过程极其简单体现了Unix哲学“做一件事并做好”的风格。你不需要全局安装任何东西它会在你指定的目录里创建所需的一切。首先打开你的终端进入你希望存放CBT记录的任何目录。这个目录可以是你现有的项目文件夹也可以专门新建一个例如~/Documents/cbt_journal。然后只需一行命令curl -sL https://raw.githubusercontent.com/arktnld/cbt-llm-kit/main/install.sh | bash这个命令会从GitHub下载安装脚本并立即执行。让我们拆解一下这个脚本背后做了什么克隆仓库它会在当前目录下克隆cbt-llm-kit仓库的内容到一个临时位置。创建目录结构在你的当前目录下创建data/和records/两个子文件夹。复制核心文件将schema.json,questions.json,cheat-sheet.md这三个核心数据文件复制到data/目录下。交互式配置脚本会停下来问你“Which AI assistant do you use? (claude/cursor/gemini)”。根据你的选择它会进行不同的设置Claude Code / Cursor这两种助手通常支持自定义的“/”命令。脚本会指导你如何在你使用的编辑器中添加一个自定义命令或代码片段将/cbt:record等命令映射到一段提示词这段提示词会指示AI去读取本地的data/文件并开始引导。Gemini CLI由于命令行接口的差异它使用的命令格式是cbt_record没有冒号。脚本可能会提示你创建别名或简单的shell函数。安装完成后你的目录结构看起来是这样的your_project_directory/ ├── data/ │ ├── schema.json │ ├── questions.json │ └── cheat-sheet.md ├── records/ │ └── (你的记录文件将在这里生成) └── (其他你的项目文件)3.2 不同AI助手的配置要点虽然安装脚本尝试自动化但不同编辑器的自定义命令设置方式不同有时需要手动微调。对于Cursor你需要进入Cursor的设置Settings - 搜索“Custom Commands”或“Snippets”。创建一个新的命令名称可以是“CBT Record”触发指令设为/cbt:record然后在命令内容中粘贴安装脚本提供或仓库Wiki里给出的特定提示词模板。这个模板的核心是告诉AI“请扮演一个CBT引导师并遵循./data/questions.json中的流程。”对于Claude Code在VSCode等编辑器中流程类似你需要找到配置自定义代码片段或Chat指令的地方。关键是要确保提示词中包含了正确指向本地data/目录下文件的路径。对于Gemini CLI配置通常更简单可能是在你的shell配置文件如.bashrc或.zshrc中添加一个函数。例如function cbt_record() { # 此命令会加载提示词文件并启动与Gemini的交互 local prompt$(cat /path/to/your/project/data/cbt_prompt_for_gemini.txt) echo $prompt | gemini-cli --interactive }实操心得安装后务必进行一次简单的测试。打开你的AI助手输入/cbt:record或对应的命令看AI是否能够正确响应并开始提问。如果AI回复说“找不到文件”或内容混乱八成是文件路径不对。请检查data/文件夹是否就在你启动AI助手的当前工作目录下。在Cursor或VSCode中通常默认工作目录就是你打开的项目根目录。4. 核心功能深度体验与操作解析4.1 完整的12步思维记录流程执行/cbt:record后一场结构化的自我对话就开始了。这个过程严格遵循经典的CBT思维记录表但通过AI的引导体验要生动得多。我们以一个常见的开发者场景为例拆解每一步步骤1-2情境与自动化思维AI: 1. 情境发生了什么在哪里什么时候和谁一起 你 今天下午代码评审时我的PR被同事指出了好几个边界情况没处理。 AI: 2. 自动化思维那一刻你脑海里闪过了什么念头 你 “我太粗心了这么明显的问题都没想到。他们肯定觉得我能力不行下次重要的任务不会给我了。”引导价值AI不会评判只是记录。这鼓励你诚实地说出第一反应哪怕是夸张或负面的。步骤3-5情绪、身体感觉与行为AI: 3. 情绪之前你感受到了什么情绪用0-100%的强度描述。 你 沮丧85%焦虑70%羞愧60%。 AI: 4. 身体感觉你的身体有什么感觉 你 胃部发紧肩膀僵硬有点脸红发热。 AI: 5. 行为你当时做了什么 你 我快速地道了歉说会马上修改然后会议后半段几乎没再发言。引导价值将抽象的情绪具体化强度评分并连接身心反应。这能帮助你更敏锐地觉察情绪早期的生理信号。步骤6-8证据检视与替代思维这是CBT的核心环节AI的引导至关重要。AI: 6. 支持证据有什么事实支持“我能力不行”这个想法 你 这次PR确实有疏漏。上个月也有一次类似的评审我被指出了逻辑错误。 AI: 7. 反对证据有什么事实与“我能力不行”这个想法矛盾 你 我这个季度成功交付了三个核心模块都运行稳定。同事指出的问题我都在一小时内修复并完成了测试。导师上周还表扬了我解决问题的思路清晰。 AI: 8. 替代/平衡思维一个更平衡、更符合事实的看法是什么 你 我这次在边界情况上考虑不周这是一个需要改进的具体点不代表我整体能力不行。我能快速修复问题并且有成功的项目经历证明我的能力。这是一个学习的机会而不是对我个人的否定。引导价值AI会促使你寻找双向证据避免陷入“全有或全无”的思维。当你列出反对证据时常常自己就会意识到最初的自动化思维有多片面。步骤9-12安全行为、认知扭曲与核心信念AI: 9. 安全/回避行为为了避免焦虑你做了或想做什么例如逃避下次评审、过度准备 你 我想着以后提交PR前要自己反复检查五遍甚至不敢主动承担有挑战性的模块了。 AI: 10. 认知扭曲识别一下最初的自动化思维里包含了哪些认知扭曲参考附表 你 “他们肯定觉得我能力不行” - 读心术。“我太粗心了” - 贴标签。“下次重要的任务不会给我了” - 预测未来。 AI: 11. 核心信念这背后反映了你关于自己、他人或世界的哪些更深层的信念 你 “我必须做到完美才能被认可。” “一旦犯错就会暴露我的无能。” AI: 12. 情绪之后现在你对最初的情绪沮丧、焦虑、羞愧重新评估强度是多少 你 沮丧40%焦虑30%羞愧20%。我感觉更平静了能看到这是一个具体问题而不是对我人的否定。引导价值这一步将具体事件与你的深层思维模式联系起来。识别出“贴标签”、“预测未来”这些扭曲并触及“我必须完美”的核心信念是产生长期改变的关键。最后重新评估情绪量化记录带来的缓解效果。完成所有步骤后AI会将这份记录保存为一个带有时间戳的JSON文件在records/目录下例如record_20231027_143022.json。4.2 每日检查与模式分析单纯的记录是点连接点才能成线、成面。cbt-llm-kit的/cbt:checkin和/cbt:analyze功能就是用来连线的。每日检查 (/cbt:checkin)建议在一天结束时进行。AI会读取records/文件夹里当天的所有记录或你指定的近期记录然后进行一个简短的复盘对话。它会问你回顾今天记录的情境有没有共同的主题今天最常出现的情绪是什么认知扭曲有哪些你使用了哪些安全行为效果如何基于今天的觉察明天可以尝试一个怎样不同的、小的行为实验例如在会议上即使不确定也发言一次犯错后只给自己10分钟懊恼然后专注于解决。 这个过程将单次记录提升为每日的反思练习促进持续性的觉察。模式分析 (/cbt:analyze)这是工具的“杀手锏”。运行后AI会扫描你所有的历史记录JSON文件并生成一份数据分析报告。这份报告可能包括高频认知扭曲排行榜比如你最容易陷入“读心术”还是“灾难化”情绪强度趋势图你的焦虑、沮丧情绪的强度随时间如何变化核心信念浮现哪些深层信念如“我不够好”、“世界是危险的”反复出现安全行为模式你最常使用哪种回避策略拖延、寻求过度安慰、逃避 这份由AI生成的报告能让你像分析师一样审视自己的思维习惯发现盲点。这是纸质记录或普通App很难做到的。5. 核心数据文件与自定义进阶5.1 解剖schema.json一切的结构之源这个文件是工具的大脑定义了思维记录中所有字段的“词汇表”。理解它你就能理解整个工具的运作边界。它主要包含以下几个关键部分认知扭曲列表完整的13种贝克/伯恩斯认知扭曲定义。这是AI帮你识别思维偏差的“检查清单”。情绪词汇表一个包含数十种情绪的列表如愤怒、悲伤、快乐、内疚、嫉妒并可能附带强度示例。这帮助你在步骤3和12中更精确地命名情绪。身体感觉列表列举常见的身体反应如心跳加速、胃部下沉、肌肉紧张、发热帮助你连接身心。核心信念类别通常分为关于自我、他人、世界/未来的几大类为步骤11提供选项框架。记录结构定义规定了JSON记录文件中每个字段situation,automatic_thought,emotions_before等的数据类型和格式。5.2 自定义你的引导流程questions.json文件定义了对话的剧本。默认的12步流程是基于经典CBT的但你可以修改它以适应你的需求。例如简化流程如果你觉得12步太多可以创建一个“快速记录”版本只保留核心的“情境-思维-情绪-证据-替代思维”几步。增加个性化问题你可以在“替代思维”步骤后增加一个问题“基于这个新想法接下来一个小的、可行的行动是什么” 这能加强从认知到行为的转变。修改提问措辞让问题的语言风格更符合你的表达习惯。修改的方法是直接编辑questions.json文件。它是一个JSON数组每个元素是一个步骤对象包含step步骤号、field对应schema中的字段、question提问文本。调整顺序或内容后AI在下一次引导时就会采用新的流程。重要提示在修改任何数据文件前建议先备份。虽然格式简单但错误的JSON语法会导致AI无法读取。修改后最好先让AI读取一下文件内容例如在Chat里输入“请读取并解释./data/questions.json的内容”以确保它能正确解析。5.3cheat-sheet.md你的随身CBT教练手册这个文件与其说是给AI用的不如说是给你自己用的“锦囊”。它通常包含CBT认知模型图解事件 - 思维 - 情绪/行为/生理反应的经典三角模型。13种认知扭曲的详细解释和生动例子比schema.json里的简要说明更丰富帮助你在被AI询问时能准确识别。苏格拉底式提问指南一套用来挑战自动化思维的问题列表例如“支持这个想法的证据是什么反对的证据呢”、“有没有其他可能的解释”、“最坏、最好和最可能的结果是什么”。即使AI在引导你自己掌握这些提问技术也能在日常生活中进行自我对话。行为激活与暴露练习建议提供一些简单的、基于CBT的行为改变建议。你可以随时在对话中让AI参考这份手册。例如当你在“认知扭曲”步骤卡住时可以说“参考一下cheat sheet里的扭曲类型描述帮我看看我这是什么”6. 实践中的常见问题与排错指南即使设计精巧在实际使用中也可能遇到一些小问题。以下是我在深度使用过程中遇到的一些典型情况及解决方法。6.1 AI引导“出戏”或偏离流程问题表现AI没有严格按照questions.json的步骤提问或者开始自由发挥给出建议而非引导。原因分析AI模型尤其是较小或较旧的模型有时会“忘记”系统指令或者其训练数据中“帮助解决问题”的倾向压过了“严格遵循流程引导”的指令。解决方案强化提示词检查你为/cbt:record命令设置的提示词。确保开头有强指令如“你是一个严格的CBT引导师。你必须严格按照./data/questions.json中定义的12个步骤一次只问一个问题。不要提供建议、分析或总结只提问并等待用户回答。在得到用户对当前步骤的回答前绝不进入下一步。”及时纠正当AI偏离时立即打断它。你可以说“请回到CBT引导流程只问我下一个问题。” 或者直接输入“下一步”。切换模型如果问题持续考虑使用能力更强的模型。Claude 3 Opus或GPT-4级别的大模型在遵循复杂指令方面通常更可靠。6.2 文件路径错误或AI找不到数据问题表现AI回复“找不到 schema.json 文件”或提示词中的文件路径无效。原因分析AI助手的“当前工作目录”与你存放data/文件夹的目录不一致。解决方案绝对路径在提示词中使用绝对路径如/Users/yourname/Documents/cbt_journal/data/schema.json但这降低了可移植性。工作区设置在Cursor或VSCode中确保你打开的是包含data/文件夹的那个项目根目录。不要在编辑器里切换到其他子文件夹再调用命令。环境变量对于Gemini CLI可以在shell函数中通过cd命令先切换到项目目录。测试路径在AI聊天窗口中先让它执行一个简单的命令如“列出当前目录下的文件”确认它所在的位置。6.3 记录文件混乱或重复问题表现records/文件夹里的JSON文件内容错乱或者同一份记录保存了多次。原因分析可能是AI在保存时出现了错误或者在一次对话中多次触发了保存指令。解决方案检查保存逻辑确保你的提示词中关于保存记录的指令是清晰且唯一的。通常是在所有12步完成后由AI生成一个包含所有回答的JSON对象并提示用户确认后保存或自动保存。手动备份定期将records/文件夹备份到其他位置如云盘如果不在意加密后的云端存储。这些JSON文件很小但价值很高。文件命名记录文件的命名通常包含时间戳如record_YYYYMMDD_HHMMSS.json这有助于排序和检索。如果发现命名混乱可以检查生成时间戳的代码逻辑在提供的脚本或提示词中。6.4 如何将记录数据可视化问题工具本身不提供图表但JSON数据非常适合可视化。解决方案用Python Pandas Matplotlib写一个简单的脚本读取records/下所有JSON文件将情绪强度、扭曲类型等字段转换成DataFrame然后轻松绘制折线图情绪趋势、柱状图扭曲频率等。导入到Notion或Obsidian可以写脚本将JSON记录转换成Markdown格式然后导入到Notion数据库或Obsidian中利用这些工具强大的关联和查询功能来管理你的思维记录。使用轻量级BI工具如Metabase本地部署或甚至Excel都可以连接JSON数据源进行简单的仪表盘分析。6.5 隐私的终极保障本地加密虽然数据本地存储已经很安全但对于极度敏感的内容你还可以增加一层加密。方法使用像git-crypt或gocryptfs这样的工具对整个项目目录尤其是records/进行透明加密。这样即使电脑丢失数据也无法被直接读取。当然这增加了使用的复杂度需要你在使用AI工具前先解密目录。7. 从工具到习惯我的长期使用心得使用cbt-llm-kit几个月后它对我的意义远超一个“工具”。它更像是一个私人的、随时在线的思维教练。最大的收获不是某次情绪缓解而是对自己思维模式的“元认知”能力提升了。我能更快地识别出自己何时陷入了“灾难化”或“非黑即白”的陷阱。几点深度使用建议 第一保持连贯性比追求完美记录更重要。即使每天只花5分钟做一个简短的/cbt:checkin其累积效应也远大于一周做一次详尽的记录。习惯的力量在于重复。 第二把分析报告当作一面镜子而非成绩单。看到“本周‘读心术’出现10次”时不要批判自己而是好奇“是什么情境下我特别容易猜测别人的想法这反映了我对人际关系的什么假设” 用探索代替评判。 第三尝试与信任的人分享模式而非具体细节。你可以说“我最近发现我有个思维模式一遇到批评就容易‘贴标签’说自己不行。” 这种分享本身就能削弱扭曲思维的威力并获得外部视角。 第四将“替代思维”转化为“行为实验”。认知改变最终需要行为验证。如果替代思维是“即使不完美我的贡献也有价值”那么对应的行为实验可以是“在团队会议上主动分享一个未完成但有趣的想法”。这个项目的优雅之处在于它没有重新发明轮子而是巧妙地将成熟的心理学工具CBT与前沿的人机交互界面AI编程助手结合创造了一种全新的、高度可及的自我关怀方式。它不声称能替代专业治疗但对于那些希望提升情绪韧性、进行日常心理保健的普通人尤其是本就与代码和逻辑为伴的开发者而言无疑提供了一把精巧的钥匙。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价