Pro Workflow:基于SQLite持久化记忆的AI编程助手智能协作系统
1. 项目概述从重复纠正到智能协作的进化如果你和我一样每天都在用Claude Code、Cursor这类AI编程助手那你肯定经历过这个场景周一你告诉它“测试里别用Mock数据库”它点头答应周五你写新功能它又在测试里给你塞了个Mock。你像个复读机一样一遍遍解释着项目的命名规范、代码风格、架构偏好。每次新开一个会话AI助手就像得了“健忘症”之前花时间调教出来的“默契”荡然无存你又得从头开始。这种重复劳动不仅消磨耐心更严重的是它打断了真正的创造性工作流。这就是我最初开发Pro Workflow的动机。它不是一个简单的插件集合而是一个旨在解决AI编码助手“记忆失能”核心问题的系统性工程。其核心思想很简单让每一次纠正都成为最后一次。通过一个基于SQLite的持久化记忆系统Pro Workflow将你与AI的交互从“单次会话”提升到“长期伙伴关系”。你纠正一次它记住一条规则50个会话后AI助手已经深刻理解你的项目上下文、技术栈偏好和代码禁忌纠正率趋近于零。这背后是一套完整的架构包含24个技能、8个专职代理、21条命令和覆盖24个事件的29个钩子脚本共同构建了一个能够自我进化、自我管理的智能工作流引擎。2. 核心架构与设计哲学拆解2.1 自我纠正循环从临时记忆到持久化规则传统AI助手的工作模式是“会话隔离”。每个会话都是一个孤岛上下文窗口关闭一切归零。Pro Workflow引入的“自我纠正循环”打破了这一模式。其核心是一个轻量级但功能强大的SQLite数据库并集成了FTS5全文搜索引擎。循环流程解析触发与捕获当你在会话中纠正Claude例如评论说“这里应该用集成测试而非单元测试”Pro Workflow的钩子脚本如PostToolUse或特定的UserPromptSubmit会捕获这个交互。规则提炼系统不会简单存储你的原话。它会调用一个内置的“学习代理”分析这次纠正的上下文涉及的文件、代码模式、错误类型并将其提炼成一个结构化的、可重用的“规则”。例如将“别Mock数据库”转化为一条规则“在/tests/integration/目录下的.spec.js文件中当测试涉及User模型时应使用真实的数据库连接而非jest.mock(‘/models/User’)”。存储与索引这条规则会被存入SQLite数据库。FTS5引擎会为规则内容、关联的文件路径、错误类型等建立索引支持后续的模糊搜索和语义关联。自动加载与应用在下一个会话开始时SessionStart钩子会自动加载所有与你当前项目目录相关的历史规则并将其作为“前置知识”注入到Claude的上下文窗口中。这意味着AI助手从第一行代码开始就已经在遵守你的历史约定了。效果验证与迭代如果本次会话中AI在没有被提醒的情况下正确应用了规则系统会默默记录一次“成功应用”。如果它再次犯错你会进行新的纠正循环再次开始。规则本身也会根据应用频率和成功率进行权重调整。这个循环的关键在于“化合物效应”。单个规则的影响微乎其微但当几十条、上百条规则在几十个会话中不断累积和强化时AI助手的行为模式会无限趋近于你的理想状态。这不再是简单的提示工程而是构建了一个专属于你和你的项目的“领域知识图谱”。2.2 模块化技能与代理体系从单兵作战到团队协作Pro Workflow没有设计成一个庞然大物般的“超级AI”而是采用了微服务化的架构思想。24个技能是独立的、可复用的能力单元8个代理则是这些技能的调度者和执行者。技能Skills可以理解为封装好的“函数”或“策略”。例如Self-Correction Loop技能封装了上述的规则捕获、提炼、存储逻辑。Context Engineering技能提供了一套“写-选-压-隔”方法论用于主动管理有限的上下文令牌。Smart Commit技能集成了代码质量检查、变更分段审查和生成规范提交信息。代理Agents是拥有特定职责和上下文的“虚拟工程师”。它们被配置了不同的系统提示词、权限集和技能调用权限planner代理只读权限专注于复杂任务拆解。当你输入/develop add user authentication时orchestrator会首先调用planner让它生成一份包含技术选型、API设计、数据库变更的详细计划待你批准后才进入实施阶段。reviewer代理基于检查清单进行代码审查和安全审计。它在/develop流程的“Review”阶段被调用确保代码符合规范且没有引入明显漏洞。debugger代理采用假设驱动的方法排查Bug。它会系统性地提出可能的原因设计验证实验并定位根因而不是漫无目的地猜测。permission-analyst与cost-analyst代理这两个是v3.2的新特性体现了运维思维。前者分析权限被拒绝的模式自动优化claude.dangerous等配置规则减少干扰性提示。后者监控令牌消耗识别如“反复读取大文件”等高成本操作提供优化建议。这种设计的好处是关注点分离和资源优化。让专门的代理做专门的事避免了让主AI线程负担过重导致上下文污染或性能下降。你可以通过/doctor命令随时检查这个“团队”的健康状况。2.3 钩子Hooks驱动的事件化工作流29个钩子脚本是Pro Workflow的“神经系统”分布在24个关键事件上。它们使工作流从“被动响应”变为“主动感知和干预”。关键钩子场景举例PreToolUse (Bash)在你运行任何bash命令前触发。这里集成了LLM Gates功能。例如在执行git commit前钩子会将被暂存的变更发送给一个轻量级LLM进行快速审查检查是否有明显的调试语句console.log、TODO注释或硬编码的密钥。这相当于一个AI驱动的预提交检查。PreCompact/PostCompactClaude Code在上下文窗口快满时会进行“压缩”丢弃一些早期信息。这常常导致重要指令被遗忘。Compact Guard技能在这两个事件上绑定脚本在压缩前自动将当前会话的关键目标、正在进行的功能摘要等状态保存下来压缩后再将这个摘要重新注入实现“状态保持”。FileChanged监控package.json、.env、CI配置文件等关键文件的变动。一旦检测到依赖变更或环境变量更新可以自动触发重新安装依赖或更新上下文提示确保AI助手始终基于最新项目状态工作。PermissionDenied当AI尝试执行一个被权限系统阻止的操作时如删除根目录此钩子会记录该模式。permission-analyst代理定期分析这些记录并建议你是否将某些高频且安全的操作加入允许列表从而减少不必要的确认弹窗即“权限调优”。这种事件驱动模型使得Pro Workflow能够深度融入Claude Code的生命周期实现细粒度的、上下文感知的自动化。3. 核心功能与实操要点解析3.1 多阶段开发流程/develop命令详解/develop是Pro Workflow的旗舰命令它将一个功能从想法到上线拆解为有门控的四个阶段强制推行一种严谨的工程纪律。第一阶段Research研究操作/develop add user authentication命令触发后系统首先进入研究模式。背后逻辑orchestrator代理会指示scout代理或主AI在隔离的上下文中去调研当前项目已有的认证模式如查看现有的auth.js、middleware、依赖库package.json中的passport、next-auth等并快速浏览相关文档。它可能会生成一个简短的调研摘要比较JWT vs Session、OAuth2提供商标记等。实操要点这个阶段禁止直接写业务代码。目的是避免AI在信息不全的情况下基于过时或错误的假设开始实施。你可以通过settings.json配置研究阶段的超时时间或资源限制。第二阶段Plan计划操作研究摘要生成后控制权交给planner代理。背后逻辑planner根据研究结果生成一份详细的实施计划。这份计划通常包括1) API端点设计POST /api/auth/login2) 数据库模式变更新增users、sessions表3) 需要安装的依赖bcrypt,jsonwebtoken4) 需要修改的现有文件如全局中间件5) 测试策略。这份计划会呈现给你等待批准。实操要点务必仔细审查计划。这是纠正AI设计思路成本最低的时机。你可以说“合并login和register端点到/api/auth路由下”或者“使用Prisma而不是直接写SQL”。批准后计划会被保存为任务清单指导后续阶段。第三阶段Implement实施操作计划批准后主AI或指定的实施代理开始编码。背后逻辑实施过程不是盲目的。TaskCreated和TaskCompleted钩子会跟踪每个子任务的进度。PreToolUse (Edit/Write)钩子会提醒AI遵循项目规范这些规范可能来自之前会话学习的规则。PostToolUse (Edit)钩子会进行实时基础检查。实操要点你可以使用/parallel命令创建Git worktree让另一个AI代理并行处理诸如“编写数据库迁移脚本”或“生成单元测试”等独立子任务实现“零空闲时间”开发。第四阶段Review审查操作代码编写完成后/develop流程自动调用reviewer代理。背后逻辑reviewer代理基于一套可配置的检查清单代码风格、安全漏洞、性能隐患、是否遵守既定计划进行审查。它会生成审查报告指出问题并提出修改建议。只有通过审查流程才会进入最终的提交环节。实操要点审查报告是绝佳的学习材料。对于AI指出的但你认为不是问题的地方可以用/learn-rule命令告诉它“在这种工具函数里允许使用any类型”从而丰富它的规则库。这个门控流程强制引入了“思考-计划-执行-检查”的循环极大提升了AI生成代码的可靠性和架构合理性。3.2 上下文工程与状态保持应对令牌限制的实战策略Claude Code的上下文窗口是宝贵且有限的资源。Pro Workflow的Context Engineering技能提供了一套系统方法论。Write/Select/Compress/Isolate 四步法Write写主动将最重要的信息以清晰、结构化的方式写入上下文。这就是CLAUDE.md和AGENTS.md文件的作用。Pro Workflow的模板建议将它们拆分为模块如project-context.md,tech-stack.md,coding-rules.md使结构更清晰。Select选不是所有文件都需要全部内容。通过符号引用文件特定部分如src/utils/auth.ts#L10-L30或让AI自己根据任务摘要选择相关文件精准投放信息。Compress压当上下文将满时Compact Guard技能开始工作。它会在压缩事件前命令AI将当前核心任务状态、待办事项、关键决策摘要成一段简短的文本并保存到临时状态中。Isolate隔对于探索性、高风险或并行的任务使用claude -w worktree-name在独立的Git worktree中开启完全隔离的会话。这样即使实验失败也不会污染主分支的上下文。Parallel Worktrees技能自动化管理了这些并行会话的生命周期。实操心得我习惯在项目根目录的CLAUDE.md开头用一段“电梯演讲”定义项目核心。然后利用File Watcher技能让.env.example或docker-compose.yml的变更能自动触发上下文更新。最重要的是信任Compact Guard。设置一个合理的“预算”如compactBudget: 50000让它自动处理状态保存你几乎可以忘记上下文限制的存在。3.3 智能提交与质量门禁/commit命令的里里外外/commit远不止是git commit -m的包装。它是一个集成了多项检查的发布流水线。执行流程暂存区检查首先检查是否有未暂存的更改。如果有会提示你添加。LLM Gate代码质量所有暂存的变更会被发送给一个配置好的、成本极低的审查模型例如Claude Haiku。这个模型快速扫描代码寻找明显的“代码异味”——未移除的调试语句、残留的TODO、可能误提交的密钥或大型二进制文件。这一步拦截了大多数低级错误。分段审查AI会将变更按文件或功能模块进行分组并为你生成一个简洁的摘要逐段询问“是否确认提交此部分”。这迫使你在提交前进行最后一次人工确认避免提交不完整的代码。生成提交信息基于变更摘要和项目约定的提交规范如Conventional CommitsAI会自动生成格式规范的提交信息例如feat(auth): implement JWT-based login and registration endpoints。最终执行在你确认提交信息和所有变更后才执行最终的git commit命令。配置示例settings.json片段{ commit: { llmGate: { enabled: true, model: claude-3-haiku-20240307, checks: [debugStatements, todos, secrets, largeFiles] }, stagedReview: true, conventionalCommits: true } }避坑指南LLM Gate虽然好用但会对每一行变更消耗令牌。对于大型提交成本可能上升。建议在settings.json中为llmGate设置一个maxDiffTokens限制如8000对于超过此限制的变更可以降级为简单的正则表达式检查或跳过此步骤直接进入人工分段审查。4. 高级工作模式与集成方案4.1 代理团队与并行化工作流对于大型、复杂的任务单一代理线性处理效率低下。Pro Workflow的Agent Teams技能允许你组建虚拟团队。团队工作模式任务分解orchestrator代理收到一个宏观任务如“重构用户个人资料模块”。创建子任务它将任务分解为设计、后端API重构、前端组件更新、数据库迁移、测试编写等独立子任务。分配与执行orchestrator可以协调多个claude实例每个实例可配置为不同的代理角色或将子任务排入队列由你手动分配给在并行worktree中运行的代理。状态同步通过一个共享的、简单的任务状态文件如.claude/tasks.json各个代理可以更新进度、报告阻塞。TeammateIdle钩子能检测到某个代理长时间无进展并发出通知。结果汇总所有子任务完成后orchestrator会协助进行集成并可能调用reviewer进行整体审查。实操场景假设你需要为10个API端点编写集成测试。你可以启动一个主会话使用orchestrator然后创建两个worktree分别运行配置为tester角色的代理。orchestrator将10个端点分成两组分配给两个tester并行编写测试。主会话则继续处理其他功能开发实现真正的并行生产力。4.2 跨AI助手支持通过SkillKit实现生态统一一个令人头疼的问题是不同AI编码助手Claude Code, Cursor, Windsurf等的插件和技能生态互不兼容。Pro Workflow通过SkillKit解决了这个问题。SkillKit是什么它是一个独立的CLI工具充当了不同AI助手技能生态的“翻译层”和“包管理器”。Pro Workflow是SkillKit上的一个官方技能包。如何实现跨平台工作统一安装在任何支持SkillKit的AI助手环境中你都可以通过npx skillkit install pro-workflow来安装核心技能和配置。自动翻译SkillKit会根据目标助手如Cursor的配置文件格式和API自动将Pro Workflow的技能、命令、钩子“翻译”成该助手能理解的格式。命令npx skillkit translate pro-workflow --agent cursor就是完成这个转换。配置同步你的规则数据库SQLite文件和核心设置可以放在项目目录或用户全局目录中被不同助手的Pro Workflow实例共享。这意味着你在Claude Code中训练的规则在Cursor中同样生效。价值这保证了你的AI工作流和积累的知识资产不绑定于某个特定工具降低了切换成本也使得团队协作时无论成员偏好哪种编辑器都能遵循同一套智能工作规范。4.3 性能、成本与权限的精细化管控v3.2版本显著加强了对“资源”和“安全”的管控能力。成本跟踪器Cost Tracker功能/cost-tracker命令会分析当前会话的令牌使用情况按操作类型编辑、读取、思考分类统计。洞察它能识别出“高成本模式”例如“反复读取同一个大型配置文件”或“生成了过于冗长的计划文档”。它会给出具体建议如“将tsconfig.json的内容摘要后写入CLAUDE.md避免多次读取”。预算告警你可以在设置中配置会话预算如sessionBudget: 100000。当消耗接近预算时系统会发出警告建议你总结当前进度并开启新会话避免因上下文过长导致压缩丢失关键信息。MCP审计MCP Audit功能模型上下文协议MCP服务器极大地扩展了AI的能力但每个MCP调用都可能带来额外的令牌开销。/mcp-audit命令会评估已配置的MCP服务器。分析它报告每个MCP服务器调用的平均令牌消耗、频率并识别冗余或低效的服务器。例如你可能同时配置了filesystem和github的MCP但审计发现github的代码搜索功能很少使用且代价高昂。黄金法则Pro Workflow的哲学是“从3个MCP开始”。通常filesystem文件操作、bash命令行和一个领域特定的如playwright用于测试就足够了。仅在有明确、持续的需求时才添加新的MCP。权限调优器Permission Tuner痛点过于严格的权限设置会导致频繁的确认弹窗“是否允许运行rm -rf node_modules”干扰工作流过于宽松则存在风险。解决方案Permission Tuner持续学习。每次出现PermissionDenied事件它都记录被拒绝的操作、上下文和你的后续选择是永久允许、临时允许还是拒绝。自动化建议经过一段时间的运行后执行/permission-tuner命令。它会分析这些日志生成一份优化建议报告。例如“检测到你在node_modules目录下频繁允许rm -rf操作建议添加规则允许在路径包含‘node_modules’时执行删除命令。” 你可以一键应用这些规则从而在安全和流畅之间找到最佳平衡点。5. 部署、配置与日常使用心法5.1 安装与初始化配置安装本身很简单但正确的初始化配置是发挥效力的关键。基础安装Claude Code# 在Claude Code插件市场添加并安装 /plugin marketplace add rohitg00/pro-workflow /plugin install pro-workflowpro-workflow安装后项目根目录下会生成或更新.claude文件夹里面包含了Pro Workflow的所有配置模板。关键配置步骤拆分你的CLAUDE.md不要使用一个巨大的CLAUDE.md文件。使用Pro Workflow提供的模板将其拆分为.claude/project-context.md项目愿景、核心业务逻辑。.claude/tech-stack.md技术栈详情、版本号、关键配置。.claude/coding-rules.md代码风格、架构规范这部分会随着自我纠正循环自动丰富。.claude/agents.md各代理的职责和调用条件。 这样AI可以根据当前任务动态加载最相关的上下文模块。配置settings.json复制settings.example.json并定制。几个必改项selfCorrection.enabled:true开启核心功能。databasePath: 指定一个全局路径或项目内路径用于存储SQLite规则数据库。建议使用全局路径如~/.config/pro-workflow/rules.db以便跨项目共享部分规则。compactGuard.enabled:true并设置compactBudget: 50000在上下文剩余5万令牌时触发状态保存。根据团队习惯配置commit.llmGate和commit.conventionalCommits。运行/doctor这是你的健康检查命令。它会验证数据库连接、钩子脚本是否就位、关键配置是否正确并给出修复建议。5.2 日常习惯与最佳实践将Pro Workflow融入日常需要培养几个关键习惯习惯一有始有终的“包装”仪式开始每开始一个明确的开发任务使用/develop feature-name。即使是一个小修复也让它走一遍精简版流程研究可能很快跳过这有助于AI建立任务边界。结束务必使用/wrap-up结束重要会话。这个命令会触发一个清单1) 提示你总结本次会话的成果2) 自动捕获对话中所有被标记为[LEARN]的内容这是你主动教学的好机会3) 将本次会话的统计数据编辑次数、规则触发次数存入数据库4) 生成一个简短的交接文档方便你或他人下次接续。习惯二主动教学而非被动纠正当AI犯错时不要只是说“这样不对”。使用/learn-rule命令。系统会引导你指出有问题的代码片段。描述正确的做法或规则。可选指定这条规则适用的范围文件模式、目录等。 这个过程虽然多花10秒钟但产出的是一条结构化的、可搜索的、可复用的规则其长期价值远高于一次性的纠正。习惯三定期进行“工作流审计”每周或每完成一个里程碑后花几分钟运行/insights查看“纠正热图”。看看AI在哪些地方犯错最多是测试写法API设计这可能是你项目文档缺失或架构模糊的信号。运行/cost-tracker审视令牌花费。优化高成本操作。运行/mcp-audit清理不必要的MCP服务器。浏览/list输出的规则合并或清理过时、矛盾的规则。习惯四善用并行与隔离对于探索性任务“试试用Svelte重写这个组件”、高风险重构“升级主框架版本”或独立的子任务“生成数据迁移脚本”养成使用/parallel创建Git worktree的习惯。这保持了主会话上下文的洁净也让失败的成本降至零——直接删除worktree即可。5.3 故障排除与常见问题问题一钩子脚本似乎没有生效。检查运行/doctor查看钩子部分是否报错。可能原因Claude Code的插件系统更新可能导致钩子注册路径变化。尝试重新安装插件或手动检查.claude/plugins目录下Pro Workflow的钩子脚本是否存在且可执行。解决查看Pro Workflow的日志文件通常位于~/.claude/logs/或项目内的.claude/.pro-workflow.log寻找错误信息。问题二自我纠正的规则好像没被加载。检查在新会话开始时观察初始系统消息。Pro Workflow通常会打印类似“Loaded 15 prior learnings”的日志。可能原因规则数据库路径配置错误或当前项目路径与规则记录的项目路径不匹配规则可以绑定到特定项目或全局。解决使用/search命令例如/search mock database看是否能搜到历史规则。确认settings.json中的databasePath指向正确的文件。问题三/commit的LLM Gate步骤太慢或成本高。调整在settings.json中调整commit.llmGate配置。方案1) 换用更快的模型如claude-3-haiku。2) 设置maxDiffTokens: 4000对于更大的变更跳过LLM检查依赖后续的人工分段审查。3) 对于你完全信任的低风险变更如文档更新可以临时禁用llmGate。问题四权限弹窗太多干扰工作。行动立即运行/permission-tuner。操作仔细阅读分析报告。对于报告中识别出的、你确实经常允许的安全操作如在测试目录运行清理命令应用其生成的优化规则。这能显著减少干扰。Pro Workflow的本质是将你从一个不断重复指令的“监工”转变为一个设定目标、制定规则、并审查关键结果的“架构师”。它承担了记忆、协调、质量控制和重复性提示的繁重工作让你能更专注于真正需要人类创造力和判断力的部分。这个工具的价值并非立竿见影而是随着时间推移在几十次、上百次会话的化合物效应中让你与AI的协作变得无比流畅和高效。开始可能会觉得需要适应新的命令和流程但一旦习惯养成你会发现再也回不到那种每开新会话就要从头教起的原始模式了。

相关新闻

最新新闻

日新闻

周新闻

月新闻