AP

aircrushin/promptminder

开发工具
117 stars 质量 59 趋势 21

一个开源的,专注于提示词管理的平台 / An open-source platform focused on prompt management

概览

- ✅ - 支持版本回溯和历史记录查看 - ✅ - 类似 Git diff 的并排对比视图,快速识别提示词更新变化 - ✅ - 团队空间支持可配置审批开关,支持提交/审批/拒绝/撤回 - ✅ - 审批单线程评论,支持 @团队成员 协作评审 - ✅ - 支持按提示词订阅变更,站内通知统一收敛 - ✅ - 自定义标签,快速分类和检索 - ✅ - 支持私有提示词和公共分享 - ✅ - 集成 AI 模型,智能生成优质提示词 - ✅ - 支持团队创建、成员管理与权限控制 - ✅ - 社区贡献功能,审核发布流程 - ✅ - 同步公开 Skill 目录,支持浏览、安装与一键加入工作区 - ✅ - 从对话整理目标、方法、变量与纠正,逐项审阅后私有保存 - ✅ - 提示词本地打包为 Skill ZIP;目录支持导出已同步的附带文本文件和来源记录 - 📱 - 响应式设计,完美支持移动设备 - 🌍 - 支持中文和英文双语 - 🎨 - 基于 Shadcn UI 的精美设计 - 🔍 - 快速搜索和过滤功能 - 📋 - 方便的复制和分享功能 - ⚡ - Next.js 16 + React 19,极速加载 - 🔐 - Clerk 提供企业级用户认证 - 💾 - Neon PostgreSQL + Drizzle ORM - 🚀 - 支持 Vercel、Zeabur 一键部署 - Node.js 20.0 或更高版本 - pnpm 10.x(推荐,项目脚本以 pnpm 为主) - Git 同步首批官方 Skills(需要 skills.sh 的 Vercel OIDC token): 默认同步前 50 个精选 Skill。仅许可证明确且安全状态可接受的来源会保存完整内容;其余来源只保存索引和出处。使用 --limit=0 同步全部精选项,或加 --all 切换到完整目录。 更新使用 npm i -g @aircrushin/promptminder-cli@latest;查看已安装版本使用 npm list -g @aircrushin/promptminder-cli --depth=0。 脚本与 AI agent 可改用 export PROMPTMINDER_TOKEN=pm_xxx,无需再执行本地登录。

README

PromptMinder

一个专业的提示词管理平台,让 AI 提示词管理更简单、更高效

🌟 特性

核心功能

  • ✅ 提示词版本管理 - 支持版本回溯和历史记录查看
  • ✅ 版本差异对比 - 类似 Git diff 的并排对比视图,快速识别提示词更新变化
  • ✅ 版本审批流 - 团队空间支持可配置审批开关,支持提交/审批/拒绝/撤回
  • ✅ 审批讨论与 @提及 - 审批单线程评论,支持 @团队成员 协作评审
  • ✅ 变更订阅与通知中心 - 支持按提示词订阅变更,站内通知统一收敛
  • ✅ 标签化管理 - 自定义标签,快速分类和检索
  • ✅ 公私有模式 - 支持私有提示词和公共分享
  • ✅ AI 智能生成 - 集成 AI 模型,智能生成优质提示词
  • ✅ 团队协作 - 支持团队创建、成员管理与权限控制
  • ✅ 提示词贡献 - 社区贡献功能,审核发布流程
  • ✅ Agent Skills 专区 - 同步公开 Skill 目录,支持浏览、安装与一键加入工作区
  • ✅ 对话方法提炼 - 从对话整理目标、方法、变量与纠正,逐项审阅后私有保存
  • ✅ Skill 导出 - 提示词本地打包为 Skill ZIP;目录支持导出已同步的附带文本文件和来源记录

用户体验

  • 📱 移动端适配 - 响应式设计,完美支持移动设备
  • 🌍 国际化支持 - 支持中文和英文双语
  • 🎨 现代化界面 - 基于 Shadcn UI 的精美设计
  • 🌙 深色模式 - 支持浅色、深色和跟随系统,自动记住偏好并同步多个标签页;主题说明与截图
  • 🔍 智能搜索 - 快速搜索和过滤功能
  • 📋 一键复制 - 方便的复制和分享功能

技术特性

  • ⚡ 高性能 - Next.js 16 + React 19,极速加载
  • 🔐 安全认证 - Clerk 提供企业级用户认证
  • 💾 可靠存储 - Neon PostgreSQL + Drizzle ORM
  • 🚀 易部署 - 支持 Vercel、Zeabur 一键部署

🚀 快速开始

环境要求

  • Node.js 20.0 或更高版本
  • pnpm 11.x(与 package.json 中 packageManager 一致;项目脚本以 pnpm 为主)
  • Git

本地开发

  1. 克隆项目
git clone https://github.com/aircrushin/promptMinder.git
cd promptMinder
  1. 安装依赖
# 推荐使用 pnpm
pnpm install
  1. 配置环境变量 创建 .env.local 文件并配置以下变量:

完整变量清单见仓库根目录 .env.example。本地开发至少配置:

# Clerk 认证
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/prompts
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/prompts

# 数据库 (Neon PostgreSQL)
DATABASE_URL=postgresql://user:[email protected]/neondb?sslmode=require

# Supabase(文件存储等)
SUPABASE_URL=
SUPABASE_ANON_KEY=

# AI(智谱用于生成/对话提炼;OpenAI 兼容端点用于 Playground 默认)
ZHIPU_API_KEY=
ZHIPUAI_API_KEY=
OPENAI_COMPAT_API_KEY=
OPENAI_COMPAT_URL=https://api.openai.com/v1

# 管理员(逗号分隔,可选)
[email protected]

# 应用 URL
NEXT_PUBLIC_BASE_URL=http://localhost:3000

# Skills 目录同步(`pnpm skills:sync`)
SKILLS_SH_TOKEN=
GITHUB_TOKEN=

# CLI / Agent(可选)
PROMPTMINDER_TOKEN=pm_xxx

社交登录(如 GitHub)在 Clerk 控制台 配置,无需在 .env.local 单独填写 GitHub App ID/Secret。

  1. 执行数据库迁移

    首次拉取最新代码后,请先执行数据库迁移(尤其是审批流升级后):

pnpm db:migrate

同步首批官方 Skills(需配置 SKILLS_SH_TOKEN,或兼容的 VERCEL_OIDC_TOKEN):

pnpm skills:sync

默认同步前 50 个精选 Skill。仅许可证明确且安全状态可接受的来源会保存完整内容;其余来源只保存索引和出处。使用 --limit=0 同步全部精选项,或加 --all 切换到完整目录。

  1. 启动开发服务器
pnpm dev

访问 http://localhost:3000 查看应用。

CLI Quick Start

普通用户不需要后台脚本发 token,直接在网页里创建:

https://www.prompt-minder.com/settings/cli-tokens

CLI 需要 Node.js ≥ 20。安装并使用 CLI:

npm i -g @aircrushin/promptminder-cli
promptminder auth login --token pm_xxx
promptminder team list

更新使用 npm i -g @aircrushin/promptminder-cli@latest;查看已安装版本使用 npm list -g @aircrushin/promptminder-cli --depth=0。

脚本与 AI agent 可改用 export PROMPTMINDER_TOKEN=pm_xxx,无需再执行本地登录。认证优先级为 --token → PROMPTMINDER_TOKEN → 本地配置;旧环境变量会覆盖新保存的 token。

截至 2026-09-24,npm 上 @aircrushin/promptminder-cli 最新版仍为 0.1.3。本仓库工作区 CLI 为 0.2.0,含 skill list/get/import/update/install 等命令,尚未发布到 npm,详见 CLI 包文档。

CLI Agent Skill

如果你希望 Cursor、Claude Code、Codex CLI 等 AI agent 正确使用 PromptMinder CLI,优先安装独立 skill 仓库:

npx skills add aircrushin/promptminder-cli-skill
npx skills list

skills list 查看已安装的技能;skills find 是搜索命令,不能验证本地安装。

仓库地址:https://github.com/aircrushin/promptminder-cli-skill

CLI 当前仍保留 promptminder skills install,但该路径仅作为兼容旧安装方式的 deprecated compatibility 入口,后续以独立 skill 仓库为准。

常用开发命令

pnpm lint              # 运行 ESLint
pnpm test              # 运行 Jest 测试
pnpm test:coverage     # 生成覆盖率报告
pnpm analyze           # 分析构建产物体积
pnpm cli:agent -- prompt.list

📦 部署指南

Vercel 部署

  1. 准备工作

    • Fork 本项目到你的 GitHub 账户
    • 注册并登录 Vercel
  2. 部署步骤

    • 在 Vercel 中点击 New Project
    • 选择 Import Git Repository
    • 选择你 fork 的项目
    • 配置环境变量(见上方环境变量说明)
    • 点击 Deploy
  3. 自动部署

    • 部署完成后,每次推送到主分支都会自动重新部署

Zeabur 部署

  1. 访问 Zeabur 并登录

  2. 创建新项目并连接 GitHub 仓库

  3. 配置环境变量

  4. 部署并获取访问地址

🗃 数据库配置

Neon PostgreSQL + Drizzle ORM

本项目使用 Neon Serverless PostgreSQL 作为数据库,Drizzle ORM 进行数据库查询和 Schema 管理。

  1. 创建 Neon 数据库

    • 注册 Neon 账户
    • 创建新项目,获取 DATABASE_URL 连接字符串
    • 将连接字符串配置到 .env.local 的 DATABASE_URL 中
  2. 初始化数据库表结构

# 将 Drizzle Schema 推送到数据库(首次使用或开发环境)
pnpm db:push
  1. 数据库命令
pnpm db:push       # 将 Schema 推送到数据库(开发环境推荐)
pnpm db:generate   # 生成 SQL 迁移文件
pnpm db:migrate    # 执行迁移文件(生产环境推荐)
pnpm db:studio     # 打开 Drizzle Studio 可视化管理数据库
  1. Schema 与迁移文件

    项目当前使用 drizzle.config.mjs 与 drizzle/ 目录管理迁移执行逻辑,同时保留 sql/ 目录中的初始化/补充脚本:

    • drizzle/migrate.js — 迁移入口脚本
    • drizzle/ — Drizzle 迁移相关文件
    • sql/teams.sql — 团队与成员相关表
    • sql/prompts.sql — 提示词主表与版本数据
    • sql/tags.sql — 标签相关表
    • sql/project.sql — 项目组织相关表
    • sql/contributions.sql — 社区贡献与审核流程

🔄 团队审批协作说明

  • 团队可在「团队管理」页面开启/关闭版本审批流(存量团队默认关闭,新团队默认开启)。
  • 开启后,团队内新建/改版会进入审批单,不会直接发布到版本列表。
  • 审批权限:owner/admin;支持审批单评论与 @成员 协作。
  • 支持按提示词订阅变更,并在通知中心查看未读/已读消息。

🧩 Agent Skills 专区

从对话保存可复用的方法

在提示词库点击「从对话提炼」,粘贴 ChatGPT / Claude 对话。提炼会使用本站配置的智谱模型,请先移除敏感信息。原始对话不会存入提示词库。

结果按任务目标、执行方法、输入变量、纠正、参考示例和待确认事项分开审阅;示例默认不选中。审阅后继续进入现有提示词编辑器,创建时默认私有,团队空间仍遵循成员权限和审批规则。模型不可用时显示手动草稿,需要自行补全执行方法。

新建编辑器和提示词详情页均可「导出为 Skill」。填写有效的 Skill 名称及用途后,浏览器本地生成 /SKILL.md ZIP,不会自动上传或发布。已有 Skill 元数据会原样保留。

目录详情页的「下载 Skill 文件包」包含已同步正文、附带文本文件及 promptminder-source.json 来源记录,并遵循现有许可和审计门槛。这是同步快照,可能缺少上游未同步文件和二进制附件;完整原版仍使用目录提供的来源安装命令。导出遇到不安全路径、重复文件或超出大小限制会报错,不会静默丢弃文件。

后续实施顺序与验收状态见 实施路线图。

PromptMinder 内置 Skills 目录(路由:/skills),用于发现、审查和复用公开 Agent Skills。

已有能力

  • 目录浏览:分页展示已同步 Skill,支持按名称 / 描述 / 来源搜索
  • 排序:按安装量(最受欢迎)或最近同步时间排序
  • 详情页:查看来源、许可证、安装量、Markdown 正文与附带文件
  • 安装方式:详情页提供与 skills.sh 一致的 Command / Prompt 安装文案,可一键复制
  • 加入工作区:登录后可将可用内容一键添加为提示词,进入提示词库继续编辑与测试
  • 内容策略:仅许可证明确且安全状态可接受的来源会托管完整内容;其余条目保留索引与出处,跳转原始仓库查看

数据同步

本地或部署环境可通过脚本从公开源同步目录:

pnpm skills:sync

默认同步前 50 个精选 Skill;使用 --limit=0 同步全部精选项,或加 --all 切换到完整目录。同步前需配置 SKILLS_SH_TOKEN(或 VERCEL_OIDC_TOKEN)。

与 CLI Skill 的关系

  • 站点 Skills 专区:浏览社区 / 公开 Skill,并可选加入 PromptMinder 工作区
  • PromptMinder CLI Skill:教 AI agent 正确使用 PromptMinder CLI(见上方「CLI Agent Skill」)

两者互补,互不替代。

🔐 认证配置

Clerk 设置

  1. 创建 Clerk 应用

    • 访问 Clerk
    • 创建新应用
    • 选择认证方式(邮箱、社交登录等)
  2. 配置 OAuth 提供商

    • 在 Clerk 控制台中启用 GitHub、Google 等登录方式
    • 配置回调 URL
  3. 获取密钥

    • 复制 Publishable Key 和 Secret Key
    • 添加到环境变量中

详细配置请参考 Clerk 官方文档

🌍 国际化

项目支持多语言,目前支持:

  • 🇨🇳 简体中文
  • 🇺🇸 English

语言文件位于 /messages 目录:

  • zh.json - 中文翻译
  • en.json - 英文翻译

添加新语言

  1. 在 /messages 目录创建新的语言文件
  2. 复制现有翻译文件的结构
  3. 在 LanguageContext 中添加新语言支持

🛠 开发指南

项目结构

promptMinder/
├── app/                    # Next.js App Router 页面与 API
├── components/             # React 组件(含 ui/prompt/team 等)
├── contexts/               # React Context
├── hooks/                  # 自定义 Hooks
├── lib/                    # 工具库、认证、团队上下文与业务逻辑
├── messages/               # 国际化文案
├── drizzle/                # Drizzle 迁移脚本
├── sql/                    # 初始化/补充 SQL 脚本
├── packages/               # CLI 等子包
├── docs/                   # 项目文档
└── public/                 # 静态资源

代码规范

  • 使用 ESLint 进行代码检查
  • 遵循 React Hooks 最佳实践
  • 项目以 JavaScript 为主,使用 jsconfig.json 提供 @/ 路径别名
  • CSS 使用 Tailwind CSS

贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交变更 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

🤝 社区

用户反馈

使用 Canny 收集用户反馈和功能请求。

  1. 注册 Canny 账号并创建项目
  2. 获取 Canny URL
  3. 在应用的 Footer 组件中配置链接

📄 许可证

本项目采用 MIT 许可证。

💖 支持项目

如果这个项目对你有帮助,欢迎:

  • ⭐ 给项目点个星
  • 🍴 Fork 并改进
  • 🐛 提交 Bug 报告
  • 💡 提出新功能建议

PromptMinder - 让 AI 提示词管理更简单 ✨

工作区 Skill 文件包(第二批)

入口:提示词库 → 工作区 Skills。支持文件夹导入、正文/附件编辑、二进制文件、来源记录、 文件差异审阅及逐文件选择上游更新。修改、恢复和复制沿用既有版本与团队审批流程; Skill 修改生成新快照,普通提示词保留原有编辑方式。

CLI skill list/get/import/update/install 可直接操作工作区包,命令和限制见 CLI 说明。 安装以具体提示词 ID 锁定版本,保留所有文件字节,并拒绝覆盖现有目录。

部署前必须先运行数据库迁移 0005_workspace_skills,为 prompts 和 prompt_change_requests 添加可空 JSONB 字段。先核对目标库和迁移历史并在隔离库验收, 再执行既有 pnpm db:migrate;不要对已有数据库盲目执行 baseline 或 db:push。 生产 prompt_minder 已于 2026-09-08 完成该迁移,npm 发布尚未执行。私有 Skill 和提示词读取禁用 HTTP/Service Worker 缓存。

版本评测与审批报告(第三批)

入口:提示词详情 → 版本评测,或审批详情 → 评测此审批提案。 保存 1–5 个用例(输入、字符串变量和规则/人工标准),再以同一模型配置对比两个具体版本。 规则支持包含、不包含、完全匹配、有效 JSON 和字符数上限;请求失败、未评分和不完整输出分别展示。 报告保存正文、测试集、配置、输出、用量及人工偏好快照,支持 JSON 导出和审批关联。

评测只使用当前用户在 Playground 保存的服务商密钥,向对应固定端点发送正文和测试输入; 不执行 Skill 附件,不保存密钥,不自动审批。每个请求超时 20 秒且关闭 SDK 自动重试, 每完成一组用例就保存结果。中断的运行不自动恢复;刷新历史报告后再决定是否重跑。 成本仅对已核验价格、明确用量与计费层级的响应估算,其他情况显示未知。

部署前按迁移历史执行 0006_prompt_evaluations,新增 evaluation_suites 和 evaluation_reports。先在隔离库验证,再应用至目标库。生产 prompt_minder 已于 2026-09-08 完成迁移和数据库结构、事务读写检查;真实模型及应用完整链路仍待验收。 阶段验收记录见 实施路线图。

在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add aircrushin/promptminder
新手?先看 mcpskill.org 教程 →