prompt-manager
在 VSCode/Cursor 编辑器内管理和调用 AI Prompt 模板,一键复制或发送至 Chat
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在 VSCode/Cursor 编辑器内管理和调用 AI Prompt 模板,一键复制或发送至 Chat
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你正在用 Cursor 写一段复杂的 Python 代码,忽然需要一段高质量的代码审查 Prompt 来检查刚写的逻辑。切换到浏览器、打开 ChatGPT、粘贴代码、等待响应——等你回来时,编程的心流早已消散。这不是你的问题,而是工具链的割裂:AI 编程工具越来越强大,但 Prompt 本身的管理却一直被忽视。
Prompt Manager for IDE 正是为了解决这个问题而生的。它是一个运行在 VSCode / Cursor 编辑器内的 Prompt 模板管理扩展,让开发者可以在 IDE 内直接管理、搜索、调用自己积累的 AI Prompt 模板,一键复制到剪贴板或直接发送到 Cursor Chat,整个过程无需离开编辑器窗口。
声明:本仓库代码全部由 Cursor + Claude 自动生成——这本身就是一个有趣的元叙事:一个人用 AI 工具开发了管理 AI Prompt 的工具,代码生成代码,工具包装工具。
cursor-project/prompt-manager 由两名独立开发者 Yuki 和 Jinhui 创建和维护,托管于 cursor-project 组织下。该组织显然是开发者为这个扩展专门创建的,专注于 Cursor 生态的工具链建设。项目采用 MIT 开源许可证,发布在 VSCode Marketplace(发布者 ID:prompt-manager-dev),当前版本 v0.0.3,支持 VSCode 1.73.0 及以上版本,同时也完美兼容 Cursor IDE。
245 个 GitHub Stars、15 个 Fork、2 个 open issues、4 个订阅者——这些数字对于一个刚起步的 IDE 插件来说相当健康。更值得关注的是其极低的参与门槛:整个项目 81 个文件,核心 TypeScript 代码约 2000 行,架构清晰,单一维护者也能轻松接手。
作为一个 Prompt 管理工具,Prompt Manager 提供的功能覆盖了 Prompt 的完整生命周期:
Prompt 管理:创建、编辑、删除、分类组织。每个 Prompt 包含标题(title)、内容(content)、描述(description)、标签(tags)和所属分类(categoryId)五个字段,支持创建时间(createdAt)和更新时间(updatedAt)自动记录,以及使用次数统计(usageCount)。
分层分类系统:内置三大默认分类——通用(general)、编程(coding)和写作(writing),用户可以创建任意多个自定义分类。分类支持无限层级嵌套,通过树状视图(TreeView)展示,清晰直观。
智能搜索:支持标题、内容、描述、标签、分类名称的全字段全文搜索,输入即搜(防抖优化),同时保留搜索历史。搜索结果高亮显示匹配内容,中英文均支持。
一键使用:选中 Prompt 后可通过两种方式使用——复制到剪贴板(copy)或发送到 Chat(send to chat),具体行为由用户配置决定(promptManager.defaultAction),默认动作为复制。
导入导出:完整支持 JSON 格式的批量导入导出,导出的 JSON 包含版本号(version)、导出时间(exportedAt)、所有 Prompts、所有分类以及元数据(metadata)。导入时自动创建不存在的分类、覆盖相同 ID 的 Prompt、过滤无效数据,适合团队共享和跨设备同步。
多编辑器环境适配:核心亮点功能之一。插件通过 ChatIntegrationFactory(工厂模式)自动检测当前运行环境是 Cursor 还是 VSCode,并实例化对应的 Chat 集成服务(CursorIntegrationService 或 VSCodeIntegrationService)。用户无需任何配置,开箱即用。
插件预置了丰富的内置 Prompt 模板,覆盖多个场景:
这些模板不仅是使用示例,也展示了该扩展可以管理的 Prompt 类型的多样性——从代码辅助到 UI 设计,Prompt Manager 的定位是一个通用型 Prompt 工具箱,而非仅限于编程场景。
cursor-project/prompt-manager 的代码虽然体量不大,但架构设计相当规范,堪称 TypeScript + VSCode 扩展开发的「最佳实践参考」。
入口点:src/extension.ts 是标准的 VSCode 扩展入口,通过 activate() 函数初始化 PromptManager 单例,注册所有命令(Commands),创建 PromptTreeDataProvider 并挂载到 Activity Bar(侧边栏图标区)。事件驱动架构贯穿始终——PromptManager 内部维护 EventEmitter,数据变更时自动通知 UI 更新,无需手动刷新。
核心编排器:src/models/PromptManager.ts 是业务逻辑的中央协调者,持有所有 Service 实例,协调它们之间的交互。
Service 层(单例模式,通过 getInstance() 访问):
StorageService:数据持久化,基于 VSCode 的 globalState API,所有数据存储在编辑器本地,不上传云端UIService:对话框、QuickPick 等用户交互封装ClipboardService:剪贴板操作ImportExportService:JSON 导入导出逻辑WebViewEditorService:自定义 WebView 编辑面板(用于创建/编辑 Prompt 的表单界面)LocalizationService:国际化(i18n),支持中文(zh-cn)和英文,通过 VSCode 的 l10n API 实现工厂模式:ChatIntegrationFactory 根据 EditorEnvironmentDetector 的检测结果,动态实例化 CursorIntegrationService 或 VSCodeIntegrationService。这种设计使得添加新的编辑器支持时,无需修改核心逻辑,只需实现 IChatIntegrationService 接口即可。
策略模式:PromptActionStrategies(src/strategies/)定义了不同的 Prompt 操作策略——复制、发送到 Chat、插入编辑器——每种策略封装了具体的实现逻辑,便于扩展和维护。
数据模型(src/types/index.ts):定义了 Prompt、Category 等核心数据结构的 TypeScript 接口和类型,TypeScript 严格模式(strict mode)全程护航,保证编译期类型安全。
视图层:PromptTreeDataProvider 实现了 VSCode 的 TreeDataProvider 接口,负责将存储中的数据渲染为树状视图,提供右键菜单支持、搜索过滤等交互。
所有 Prompt 数据存储在 VSCode 的 globalState 中,这是一种编辑器本地的键值存储。相比云端同步方案,本地存储的优势在于:数据完全由用户控制,不会意外泄露;无需网络连接,响应速度快;与 VSCode 设置同等级别的安全保护。缺点则是跨设备同步需要手动导入导出 JSON。开发者在 FAQ 中也坦承这一点,并暗示未来版本会考虑云同步功能。
作为 VSCode 扩展,Prompt Manager 的安装体验极为简洁:
方式一(推荐):在 VSCode 中按 Ctrl+Shift+X 打开扩展面板,搜索"Prompt Manager for IDE",点击安装。全程图形界面,无需任何命令行操作。
方式二(Cursor 用户):由于 Cursor 插件市场存在抓取延迟,开发者提供了备选链接:从 marketplace.visualstudio.com 直接下载 .vsix 文件,然后执行 code --install-extension xxx.vsix。
安装后扩展自动激活,Activity Bar(左侧边栏)中会出现一个文件夹图标,即为 Prompt Manager 的入口。首次激活时会显示欢迎信息,并自动初始化默认分类和示例 Prompt。整个过程不超过 1 分钟,无需重启编辑器。
客观来看,Prompt Manager 存在以下局限:
功能深度有限:当前的 v0.0.3 版本仍处于早期阶段,核心功能是 CRUD + 搜索,没有版本历史、没有 Prompt 性能追踪、没有团队协作功能。对于重度 Prompt 工程师来说,可能不够解渴。
Chat 集成依赖编辑器版本:发送 Prompt 到 Cursor Chat 的功能依赖 CursorIntegrationService 与 Cursor 内部 API 的交互,理论上存在版本兼容性风险。如果 Cursor 升级了 Chat API,该扩展可能需要同步更新。
本地存储的双刃剑:数据完全本地存储意味着无法直接团队共享(虽然通过导入导出可以变通),也没有自动备份机制。开发者建议定期导出备份,但这对于非技术用户来说有学习成本。
图标资源访问受限:在代理环境下,raw.githubusercontent.com 域名可能被拦截,导致部分功能(如 README 中的图片展示)体验降级。不过核心功能完全不受影响。
在 AI 编程工具大爆发的 2024-2025 年,Cursor、GitHub Copilot 等工具已经深度融入开发者的日常工作流。但一个关键问题始终存在:好的 Prompt 是需要积累和管理的。大多数开发者选择用 Notion 文档、Markdown 文件甚至微信笔记来管理 Prompt,但这割裂了使用场景。
Prompt Manager 填补了这个空白——它将 Prompt 管理直接嵌入到开发者的工作环境中(编辑器),让 Prompt 的积累和使用在同一空间完成。这种「工具就在手边」的理念,与 VSCode 扩展生态「提升工作流效率」的核心理念高度一致。
从增长曲线来看,245 Stars 对于一个 2024 年才创建的项目来说值得关注。其「代码全部由 Cursor + Claude 生成」的自我标注,也让它成为了一个有趣的研究样本:AI 生成代码能否独立完成一个完整、有用、有设计的软件项目?答案或许就藏在 81 个 TypeScript 文件中。
总结:Prompt Manager 是一个精悍、诚实的 Prompt 管理工具。它没有试图做太多,但把核心功能做扎实了。TypeScript + VSCode 扩展的技术选型让它天然具备低门槛优势,清晰的服务层架构让维护成本可控。如果你是 Cursor 或 VSCode 用户,且有积累 Prompt 模板的习惯,这个扩展值得一试。