基于Cursor本地化AI的会议纪要自动生成工具设计与实践

张开发
2026/5/4 15:49:26 15 分钟阅读

分享文章

基于Cursor本地化AI的会议纪要自动生成工具设计与实践
1. 项目概述一个为 Cursor 设计的本地化会议纪要生成工具如果你和我一样日常开发工作重度依赖 Cursor并且每周都要参加各种技术评审、需求对齐和团队站会那你肯定也头疼过会议纪要这件事。把一小时的录音转成文字稿已经够麻烦了还要从几万字的对话里提炼出“决策”、“待办”和“风险点”简直是体力活。之前我尝试过用 n8n 搭一个自动化工作流把转录文本喂给大模型再按固定格式输出结构化摘要效果不错但每次都要触发那个远程流程总觉得不够“顺手”。于是就有了这个项目Meeting Summarizer for Cursor。它的核心目标很简单——把之前 n8n 工作流里那套成熟的会议摘要逻辑完整地“搬进” Cursor 的本地环境里。你不再需要依赖外部服务所有操作都在你的 Cursor 工作空间内完成利用 Cursor 内置的 AI 能力生成格式统一、信息清晰的会议纪要。它包含两个部分一个是直接嵌入 Cursor 的规则文件.mdc确保 AI 在总结时遵循固定的模板和修正规则另一个是可选的、独立的 Web 应用作为一个“提示词构建器”帮你把杂乱的会议转录文本快速整理成一条规整的指令直接粘贴到 Cursor Chat 里使用。这个工具特别适合需要高频产出标准化会议记录的开发者、项目经理或团队负责人。它不改变你的工作流只是让你在 Cursor 里做这件事的效率提升一个量级。接下来我会详细拆解它的设计思路、各个模块是如何工作的以及如何从零开始把它用起来并分享一些我在实际使用中踩过的坑和总结的技巧。2. 核心设计思路与架构解析这个项目的设计哲学是“本地优先”和“无缝集成”。它没有尝试去再造一个复杂的 AI 应用而是巧妙地利用了 Cursor 的两个特性规则Rules和聊天Chat。整个架构可以看作是对原有 n8n 工作流的一次“本地化移植”和“体验优化”。2.1 为什么选择基于 Cursor Rules 实现最初考虑过几种方案写一个独立的 CLI 工具、开发一个 VSCode 插件或者继续优化 n8n。但最终选择 Cursor Rules主要基于以下几点考量零环境依赖Rules 是 Cursor 的原生功能一个.mdc文件放到.cursor/rules/目录下即可生效。团队成员无需安装任何额外的 Python 环境、Node 包或配置 API 密钥只要使用 Cursor就能享受一致的摘要体验。上下文感知Cursor 的 AI 模型在应用规则时能充分理解当前项目的代码上下文。这对于技术会议尤其重要AI 在总结时能更好地理解提到的类名、函数或技术栈减少术语误解。交互式修正与 n8n 的“一次输入静态输出”不同在 Cursor Chat 中生成摘要后你可以立即就任何不准确的地方与 AI 进行对话式修正。比如“把第三个待办项的负责人从张三改为李四”这比重新跑一遍工作流要灵活得多。成本与隐私所有处理都在本地通过 Cursor 完成无需将可能敏感的会议录音或文字稿发送到第三方服务对于内部会议的信息安全是一个重要保障。2.2 双模块设计规则引擎与提示词工厂项目清晰地分成了两个松耦合的模块这种设计让工具既“开箱即用”又“灵活可配”。核心模块一Cursor 规则文件.cursor/rules/meeting-summarizer.mdc这是项目的大脑。它定义了当用户在聊天中请求总结会议时AI 应该遵循的“宪法”。这个规则文件做了以下几件关键事强制结构化输出它要求 AI 必须按照“摘要Summary”、“决策Decisions”、“行动项Action Items”、“关键点Key Points”、“风险与阻碍Risks/Blockers”这五个固定部分来组织内容。这种一致性对于后续的信息检索和团队同步至关重要。实施人名校正语音转文字STT服务经常搞错人名比如把“Forrest”听成“Boris”。规则里内置了一个校正表如Boris: ForrestAI 会在输出前自动替换确保纪要中称呼正确。格式化与空值处理它规定了每个部分标题的格式如## Decisions并特别强调如果会议中确实没有提及某项内容如无任何决策则输出“None stated”或“None noted”而不是留空或胡编乱造。这保证了文档的完整性。核心模块二Web 提示词构建器静态 HTML/JS 应用这是项目的双手主要解决“输入体验”问题。原始的会议转录文本尤其是.vtt字幕文件往往包含时间戳、说话人标记等冗余信息直接丢给 AI 会干扰判断也浪费 Token。 这个静态 Web 应用提供了一个干净的 UI让你可以上传.vtt文件它会自动解析文件剥离时间戳将多行对话合并成连贯的段落只保留纯净的对话文本。补充元数据通过下拉菜单选择会议类型如“需求评审”、“技术设计”、填写日期时间这些信息会作为上下文提供给 AI帮助它更好地理解会议性质。整合 Copilot 摘要如果你在会议中使用了类似 Microsoft Copilot 的辅助工具生成了初步摘要可以将其粘贴进来AI 会将其作为参考生成更精炼的最终版。一键生成提示词点击按钮它会将所有信息元数据、转录文本打包成一条格式工整、指令清晰的提示词你只需复制并粘贴到 Cursor Chat 即可。这两个模块可以独立使用。你可以只用规则文件在聊天中手动粘贴文本并口述指令也可以使用 Web 应用来提升准备工作的效率。它们通过一份共享的配置如人名校正表保持同步。3. 详细实操指南从零部署到日常使用下面我将一步步带你完成整个工具的设置和使用过程。请确保你已安装并熟悉 Cursor 的基本操作。3.1 环境准备与项目初始化首先你需要将项目代码获取到本地。假设你使用 Gitgit clone 项目仓库地址 cd Cursor-Tool--Meeting-Summarizer观察项目结构核心文件如下. ├── .cursor/ │ └── rules/ │ └── meeting-summarizer.mdc # Cursor 规则文件 ├── meeting-summarizer-prompt-builder.html # Web 应用主界面 ├── assets/ │ └── meeting-summarizer-prompt-builder.css └── JS/ ├── meeting-summarizer-prompt-builder.js ├── meeting-summarizer-config.js # 默认配置人名校正、下拉选项 └── meeting-summarizer-rule.js # 规则文本用于 Web 应用展示第一步激活 Cursor 规则这是最关键的一步让 Cursor 学会你的纪要格式。将meeting-summarizer.mdc文件复制到你当前 Cursor 工作空间的.cursor/rules/目录下。如果该目录不存在请手动创建。重启 Cursor或重新加载当前窗口。规则生效后当你在这个工作空间内打开 ChatAI 的行为就已经被约束了。你可以通过 Cursor 的设置界面查看已加载的规则来确认。注意规则是工作空间Workspace级别的。如果你希望在多个项目中使用需要将.mdc文件分别放置到每个项目的.cursor/rules/目录下或者考虑配置全局规则。3.2 Web 提示词构建器的使用详解这个 HTML 文件是纯静态的无需任何服务器。你可以直接双击它在浏览器中打开或者用file://协议访问。界面功能区域解析会议元数据区填写会议主题About、选择类型Type、日期和时间。这些信息会作为系统提示的一部分帮助 AI 把握会议基调。Copilot 摘要区可选如果你有会中生成的初步摘要贴在这里。AI 会将其视为高质量参考而非原始杂音。转录文本输入区核心区域。提供两种方式上传 VTT 文件点击上传按钮选择你的.vtt字幕文件。系统会自动处理并在下方文本框中展示净化后的纯文本。这是最推荐的方式能最大程度去除噪音。直接粘贴文本如果你只有纯文本转录稿直接粘贴进这个大文本框。操作按钮区Build prompt for Cursor点击后会将所有输入内容组装成一条完整的提示词显示在下方。Copy to clipboard一键复制组装好的提示词。Manage options点击会弹出模态框允许你自定义“会议类型”下拉框的选项这些设置会保存在你浏览器的本地存储localStorage中。Getting Started点击查看完整的 Cursor 规则文本方便你随时查阅格式要求。一个完整的操作示例假设你刚开完一个“API 设计评审会”并有一个meeting.vtt文件。在 Web 页面中About填写 “User Profile Service API Design Review”Type选择 “Technical Design”。上传meeting.vtt文件。点击Build prompt for Cursor。你会看到生成了一段类似以下的文本Please summarize the following meeting transcript using our standard meeting summary format. **About:** User Profile Service API Design Review **Type:** Technical Design **Date:** 2023-10-27 **Time:** 14:00-15:00 **Transcript:** [这里是净化后的会议对话全文...]点击Copy to clipboard。切换到 Cursor在 Chat 中粘贴刚才复制的内容按回车发送。AI 会根据规则生成一个包含五个部分的、格式工整的纪要。人名如果配置了校正也会被自动修正。3.3 核心配置文件的同步与修改为了保证 Web 应用展示的规则文本、默认的人名校正表与实际的 Cursor 规则文件一致项目采用了“同步契约”模式。当你需要修改规则时必须同步更新三个文件JS/meeting-summarizer-config.js这里定义了nameCorrections的默认值如Boris: Forrest和会议类型的默认下拉选项。JS/meeting-summarizer-rule.js这里存储了规则的纯文本字符串用于在 Web 应用的 “Getting Started” 模态框中显示。.cursor/rules/meeting-summarizer.mdc这是真正生效的 Cursor 规则文件。修改人名校正表的步骤假设团队新来了一位同事“周毅”但 STT 系统总是识别为“周一”。打开meeting-summarizer-config.js在nameCorrections对象中添加一行周一: 周毅。打开meeting-summarizer-rule.js在规则文本中对应的nameCorrections部分同样添加周一: 周毅。打开meeting-summarizer.mdc文件在规则定义中找到nameCorrections部分添加相同的映射。验证修改后在 Web 应用中点击 “Getting Started”确认显示的规则文本已更新。在 Cursor 中用包含“周一”的转录文本测试确认输出中已纠正为“周毅”。重要提示务必保持这三处修改的完全一致。如果发生不同步用户从 Web 应用看到的规则说明可能和 Cursor 实际执行的规则不符导致混淆。4. 高级技巧与避坑指南在实际使用几个月后我积累了一些超出基础文档的经验能帮你更好地驾驭这个工具。4.1 转录文本的预处理与质量提升AI 总结的质量八成取决于输入文本的质量。原始的.vtt或.srt文件直接使用效果往往不佳。必做使用 Web 应用的文件上传功能它内置的 VTT 解析器会做两件关键事一是移除所有的时间戳行如00:01:02.340 -- 00:01:05.678二是将同一说话人的多行短句合并成段落。这能显著提升文本可读性并减少 Token 消耗。可选人工清理对于非常重要的会议在将净化后的文本粘贴进 Web 应用前可以快速扫一遍手动修正一些明显的、严重的语音识别错误特别是产品名、技术术语和数字。例如把“死磕”改为“Sketch”把“一二三”改为“123”。这步投入几分钟能极大提升最终纪要的准确性。处理多人会议如果转录文件包含了说话人标识如Speaker 1:保留它们通常有益因为 AI 能借此区分不同角色的发言。Web 应用的解析器会保留这些标识。4.2 与 Cursor Chat 的高效交互策略仅仅粘贴提示词然后等待可能不是最高效的方式。分步总结对于超长会议超过1小时可以尝试分步指令。先让 AI 总结前半部分再总结后半部分最后再让它整合成一份完整的纪要。指令可以是“请先总结前30分钟的讨论聚焦于需求争议部分。” 然后再提供后续文本。追问与修正AI 生成初版后充分利用 Chat 的交互性。如果觉得某个行动项描述模糊可以直接问“请将第三条行动项‘优化性能’具体化会上提到了哪些可执行的步骤” AI 会根据上下文的原始转录文本进行细化。利用规则alwaysApply: true项目中的规则设置了alwaysApply: true这意味着在该工作空间内任何聊天对话都会尝试应用此规则。当你单纯想和 AI 讨论代码而不需要会议总结格式时可能会感到干扰。此时你可以在提问时稍作说明例如“忽略会议总结格式请帮我 review 这段 Python 代码的逻辑。” 或者临时将规则文件的alwaysApply改为false。4.3 数据持久化与团队共享方案Web 应用的管理选项Manage Options默认保存在浏览器的 localStorage 里换台电脑或浏览器就没了。对于团队共享有几种方案配置文件版本化最推荐的方式是直接修改JS/meeting-summarizer-config.js文件中的默认配置。然后通过 Git 将整个项目仓库共享给团队成员。大家拉取代码后Web 应用就会加载统一的默认选项。个人仍然可以在浏览器端进行自定义但团队基准是一致的。轻量级后端可选项目提到了可选的/api/config端点。如果你团队有内部服务器可以部署一个简单的服务让 Web 应用从此处读写共享配置。但这引入了运维成本对于小团队来说方案1通常足够。规则文件分发确保团队每个成员都在其项目工作空间的.cursor/rules/目录下放置了最新的.mdc规则文件。这是保证摘要格式统一的基础可以通过 Git 模板钩子或共享文档说明来规范化。4.4 常见问题排查与解决即使准备充分使用时也可能遇到一些小问题。下面是一个快速排查指南现象可能原因解决方案Cursor 生成的纪要格式不对没有分成五个部分。1. 规则文件.mdc未正确放置或加载。2. 规则文件内容有语法错误。1. 确认文件位于[项目根目录]/.cursor/rules/下并重启 Cursor。2. 检查.mdc文件确保其为有效的 YAML/JSON 格式特别是缩进和引号。人名校正没有生效。1. 规则文件、配置文件中的人名映射未同步更新。2. 转录文本中的名字写法与映射键不完全匹配如大小写、空格。1. 按照“同步契约”检查并更新三个文件。2. 确认转录文本中的错误人名是否完全匹配映射键。可以尝试在映射中使用更宽泛的正则表达式需修改规则逻辑。上传 VTT 文件后文本框中出现乱码或时间戳。1. VTT 文件编码非 UTF-8。2. VTT 文件格式不规范。1. 用文本编辑器如 VSCode将 VTT 文件以 UTF-8 编码重新保存。2. 检查 VTT 文件结构确保是标准的 WebVTT 格式。可以尝试先用在线工具转换一次。Web 应用中“管理选项”的修改丢失了。浏览器清除了本地存储localStorage。重新添加选项。对于重要配置建议直接修改meeting-summarizer-config.js源文件一劳永逸。AI 在纪要中“虚构”了会议上不存在的内容。会议转录文本质量太差或 AI 模型本身存在“幻觉”。1. 提升转录质量见4.1节。2. 在提示词中增加强调“请严格基于提供的转录文本总结不要添加任何文本中未提及的信息。”3. 对于关键决策和行动项生成后与参会者进行二次确认。5. 与原有 n8n 工作流的对比与选型建议这个项目起源于对 n8n 工作流的模仿但它在本地化、轻量化方面做出了取舍。理解这些差异能帮助你做出正确的技术选型。优势选择 Cursor 方案的理由部署与使用成本极低无需维护 n8n 服务器、MongoDB 数据库以及连接它们的 API 密钥和网络配置。所有东西都在本地。交互性与即时修正最大的优势。在 Chat 中与 AI 就纪要内容进行多轮对话、修正、细化的体验是单向的 n8n 工作流无法比拟的。隐私与安全所有数据会议转录稿不出本地满足更高安全合规要求。与开发环境深度集成在讨论技术方案时AI 能直接引用当前项目中的代码文件做出的总结更具技术上下文。局限需要继续使用或补充 n8n 的场景缺乏自动化归档n8n 工作流可以在生成摘要后自动将其存入 MongoDB 或 Notion、Confluence 等知识库。Cursor 方案生成的纪要目前只存在于聊天历史中。你需要手动复制保存。如果需要自动化可以额外编写一个简单的脚本监听 Cursor 的某个输出目录或通过其 API如果未来提供来抓取摘要并存储。处理流程非链式n8n 可以设计复杂的链式流程例如先让模型 A 总结再让模型 B 润色或提取特定实体。Cursor 中目前是一次性完成。虽然可以通过连续对话模拟多步但不如工作流可视化、可固化。批处理能力弱如果需要一次性总结大量历史会议录音n8n 的流水线作业更高效。Cursor 方案更适合实时或临时的单次会议处理。我的实践建议对于日常、高频、实时的会议纪要需求尤其是技术团队内部的会议强烈推荐使用这个 Cursor 本地方案。它的便捷性和交互性提升是巨大的。而对于需要自动化归档、生成报表或处理大批量历史数据的场景则应该保留或优化原有的 n8n 工作流两者可以并存服务于不同的用例。这个工具的本质是将一个好的、经过验证的会议摘要“逻辑”和“格式”从云端工作流下沉到了你每天使用的 IDE 环境中。它可能没有解决所有问题但它确实把一个繁琐、重复的任务变得简单、顺手了许多。

更多文章