项目快照:f/prompts.chat,约 167,079 个 Star,21,564 个 Fork;最新推送时间 2026-08-13T03:49:09Z。本文基于仓库公开资料撰写。

项目地址:https://github.com/f/prompts.chat · https://prompts.chat

prompts.chat 从代码、运行环境到实践流程的项目封面
prompts.chat 的项目能力与实践流程示意。

项目速览(TL;DR)

prompts.chat 是一个开源提示词(Prompt)库与社区站点,项目此前名为 Awesome ChatGPT Prompts。README 将其定位为面向 ChatGPT、Claude、Gemini、Llama、Mistral 等聊天模型的提示词收集、浏览和分享平台;仓库描述同时强调可以为组织自托管,以便在自己的环境中维护提示词数据。

根据题目提供的 GitHub 仓库元信息,项目默认分支为 main,主要语言标记为 HTML,Star 数为 167079,Fork 数为 21564,许可证元信息显示为 NOASSERTION。不过仓库中的 LICENSE 文件明确采用双许可证模型,因此许可证判断应以该文件及其引用的许可证文本为准,而不能只依据 GitHub 页面上的元数据标签。

项目维度 资料中的信息
项目名称 prompts.chat,formerly known as Awesome ChatGPT Prompts
仓库 f/prompts.chat
默认分支 main
主要语言标记 HTML
GitHub Star 167079
GitHub Fork 21564
数据库 PostgreSQL
运行时要求 package.json 声明 Node.js 24.x

定位与目标用户

这一项目解决的核心问题不是生成某一个具体答案,而是把可复用的提示词组织成可检索、可分享、可部署的内容库。公开站点面向希望浏览和提交提示词的用户,自托管版本则面向需要自定义品牌、主题、认证方式和数据边界的组织。

README 没有给出固定的组织规模、并发上限或数据容量指标。根据本文作者的经验判断,是否采用自托管版本,应重点看团队是否需要掌控数据库、身份认证和对象存储,而不应仅依据仓库的 Star 或 Fork 数判断生产适用性。

  • 个人学习者可以使用公开站点浏览提示词,也可以阅读交互式提示工程(Prompt Engineering)指南。
  • 内容维护团队可以通过站点提交提示词,并将内容同步到仓库中的数据文件。
  • 组织内部平台团队可以基于 PostgreSQL 和自有认证配置部署私有提示词库。
  • 需要将提示词接入 AI 工具的团队,可以研究命令行工具(CLI)和模型上下文协议(Model Context Protocol,MCP)集成。

核心功能

核心能力由提示词内容库、交互式学习内容、儿童教育内容、自托管配置和外部工具集成组成。每项能力的输入、输出和依赖并不相同,部署时应分别确认其所需配置。

提示词浏览、收集与提交

公开提示词入口是 Browse Prompts 页面,仓库侧还提供 PROMPTS.mdprompts.csv 两种数据形态。用户提交提示词的入口是 https://prompts.chat/prompts/new,README 说明提交内容会自动同步到仓库;资料没有进一步说明同步任务的触发频率、冲突处理策略或审核流程。

从结果形态看,浏览端提供网页访问,仓库端提供 Markdown 和 CSV 数据文件,另有 Hugging Face 数据集入口。提示词内容并不绑定某一个模型,README 明确说明最初为 ChatGPT 创建,但也适用于其他现代 AI 助手。

交互式提示工程书籍

项目包含一个交互式提示工程指南,README 描述其包含 25 个以上章节,覆盖基础内容以及思维链(Chain-of-Thought)、少样本学习(Few-shot Learning)和 AI Agent 等主题。书籍源内容位于 src/content/book/,这一路径也被许可证文件明确列入 MIT 许可范围。

书籍内容可以通过站点提供的书籍入口阅读,仓库还提供 book:pdfbook:pdf:allbook:pdf:convert 等脚本。PDF 生成依赖 tsxpuppeteer 等 package.json 中列出的组件,具体输出目录和排版规则在给定资料中未提供。

面向儿童的提示词学习内容

Prompting for Kids 页面 将提示词学习设计成互动式、游戏化的冒险内容,目标年龄为 8 至 14 岁。README 只说明它通过谜题和故事训练儿童与 AI 沟通,没有提供课程测评标准、家长控制机制或儿童数据处理说明。

如果在学校、家庭或组织环境使用,应先确认部署方的隐私政策、账号策略和内容审核要求。对于未成年人数据,不应因为项目提供教育页面就默认其满足特定地区的儿童隐私合规要求。

CLI、Claude Code 插件与 MCP

命令行工具可通过 npx prompts.chat 调用;README 给出的自托管初始化方式是 npx prompts.chat new my-prompt-library。Claude Code 插件通过 marketplace 添加和安装,MCP 则提供远程 URL 和本地 npx 两种接入方式。

MCP 远程配置把客户端请求指向 https://prompts.chat/api/mcp,本地配置则执行 npx -y prompts.chat mcp。资料没有列出 MCP 的完整工具名、参数模式、权限模型或错误码,因此不能据此推断更细的接口契约。

系统架构与关键模块

从 package.json 和环境变量样例可以确认,该仓库当前实现是基于 Next.js、React、Prisma 和 PostgreSQL 的 Web 应用,并集成认证、MDX 内容、对象存储和可选 AI 能力。仓库资料没有给出完整架构图,以下仅描述可以由文件直接核验的模块关系。

Web 应用与内容渲染

package.json 声明依赖 nextreactreact-dom@next/mdx@mdx-js/loaderreact-markdown。据此可以确认应用包含 Next.js 页面运行层、React UI 层和 Markdown/MDX 内容处理能力;资料没有列出具体页面目录、服务端组件边界或渲染缓存策略。

数据层与迁移

项目使用 @prisma/clientprisma,并在 package.json 中定义了 db:generatedb:migratedb:deploydb:pushdb:studiodb:seeddb:setupDATABASE_URL 用于数据库连接,DIRECT_URL 被注释为用于绕过连接池进行迁移的直连地址。

README 推荐 PostgreSQL,并将 Neon 列为托管数据库示例。推荐并不等于强制依赖;资料没有说明其他 PostgreSQL 托管服务是否经过项目维护者验证,也没有给出数据库表结构或迁移数量。

身份认证与存储

依赖列表包含 next-auth@auth/prisma-adapter,环境变量样例列出了 GitHub、Google、Azure AD、Apple,以及通用 OIDC(OpenID Connect)和 OAuth 2.0 配置。README 说明设置向导可以配置 GitHub、Google、Azure AD 认证,但是否启用某个提供商还需要在 prompts.config.tsproviders 数组中配置。

对象存储通过 @aws-sdk/client-s3 支持 S3 兼容服务,样例中的 ENABLED_STORAGE 可取 do-spacess3url。资料没有说明上传文件类型、大小限制、访问控制细节和生命周期策略,因此这些内容应在部署前通过源代码和实际配置核验。

可选 AI 能力

OPENAI_API_KEYOPENAI_BASE_URL、嵌入模型、生成模型和翻译模型变量被标记为可选,并且只有在 prompts.config.ts 启用 aiSearchaiGeneration 后才应配置。AI 搜索可以使用 OPENAI_EMBEDDING_MODEL,生成和非英语搜索查询翻译分别使用对应模型变量。

这些能力会把输入内容发送到所配置的 OpenAI 兼容服务,具体取决于 OPENAI_BASE_URL。资料没有提供数据保留、脱敏、重试、限流和费用控制逻辑,因此生产环境不能把“可选配置”理解为默认具备隐私隔离或成本上限。

依赖与运行环境

运行环境的硬性信息主要来自 package.json:项目使用 Next.js 16 系列依赖、React 19、Prisma 6 系列依赖,并声明 Node.js 24.x。版本号均为 package.json 中的依赖范围或 engines 声明,实际安装结果还会受锁文件和发布时的依赖解析影响;给定资料没有提供锁文件内容。

  • 运行时:Node.js 24.x
  • 应用框架:nextreactreact-dom
  • 数据库访问:prisma@prisma/client
  • 认证:next-auth@auth/prisma-adapter
  • 测试:vitest@testing-library/reactjsdom
  • 内容处理:@next/mdxreact-markdownremark-gfm
  • 可选能力:S3 SDK、OpenAI SDK、MCP SDK、Sentry SDK 等。

数据库连接样例是 PostgreSQL 本地连接:postgresql://postgres:postgres@localhost:5432/prompts_chat?schema=public。这个地址来自 .env.example,其中端口 5432 是示例连接字符串的一部分,不代表项目对所有部署环境规定了固定数据库端口。

快速开始

官方 README 提供了脚手架初始化和手动克隆两条路径。下例选择手动路径,便于在本地明确看到代码、依赖安装和设置向导三个步骤;运行前需要准备可访问的 PostgreSQL,并根据 .env.example 配置数据库和认证所需变量。

安装与初始化

Bash
git clone https://github.com/f/prompts.chat.git
cd prompts.chat
npm install
npm run setup

npm run setup 对应 node scripts/setup.js,README 说明该设置向导负责品牌、主题、认证和功能配置。package.json 还声明了 Prisma 的安装后生成步骤,设置过程中会使用数据库相关配置,因此不能在未准备数据库连接的情况下把它视为纯静态页面初始化。

运行与验证

Bash
npm run dev

npm run dev 对应 Next.js 开发服务器命令。验证时访问 http://localhost:3000;该地址来自 .env.example 中的 NEXTAUTH_URL 示例。资料没有给出开发服务器的完整启动日志、健康检查端点或生产部署端口,因此验证范围应限定为页面是否能够在本地打开并完成已配置功能的基本操作。

脚手架方式

Bash
npx prompts.chat new my-prompt-library
cd my-prompt-library

这是 README 给出的快速初始化命令。命令中的 my-prompt-library 是本地项目目录名,不是远程服务地址;后续使用方式取决于设置向导生成的项目配置,官方资料没有在给定内容中列出该命令生成的完整目录结构。

配置说明

配置分为数据库、认证、对象存储、AI 功能、日志和定时任务几类。下表只列出 .env.example 中真实出现的字段;“默认值”表示样例文件中的值,空字符串或注释状态不等同于系统运行时默认行为。

字段名 类型 默认值 作用
DATABASE_URL 字符串 postgresql://postgres:postgres@localhost:5432/prompts_chat?schema=public Prisma 使用的 PostgreSQL 连接地址。
DIRECT_URL 字符串 未提供,样例中注释 用于迁移的直连地址,绕过连接池。
NEXTAUTH_URL 字符串 http://localhost:3000 认证回调和应用地址配置。
NEXTAUTH_SECRET 字符串 your-super-secret-key-change-in-production NextAuth 使用的密钥样例,生产环境必须更换。
ENABLED_STORAGE 枚举字符串 未提供,样例注释 选择 do-spacess3url 存储模式。
OPENAI_API_KEY 字符串 未提供,样例注释 启用 AI 搜索或生成时使用的 API 密钥。
OPENAI_BASE_URL 字符串 https://api.openai.com/v1 OpenAI 兼容服务的可选基础 URL。
OPENAI_EMBEDDING_MODEL 字符串 text-embedding-3-small AI 搜索使用的嵌入模型。
OPENAI_GENERATIVE_MODEL 字符串 gpt-4o-mini AI 生成功能使用的模型。
LOG_LEVEL 枚举字符串 info 日志级别,可选值由样例列为 tracedebuginfowarnerrorfatal
CRON_SECRET 字符串 your-secret-key-here 每日积分重置等定时任务使用的密钥样例。

GitHub、Google、Azure AD、Apple、OIDC 和 OAuth 2.0 均属于可选认证配置。OIDC 配置强调严格验证 ID Token 的 audiss 等字段;通用 OAuth 2.0 配置则被 README 注释为较宽松的验证方式,实际启用前必须按样例将对应提供商加入 prompts.config.tsproviders 数组。

进阶用法

进阶使用主要围绕数据库管理、内容构建、测试、书籍导出和 AI 集成展开。package.json 已经把这些操作定义为 npm scripts,执行前应先确认目标环境、数据库连接和必要的密钥处于可控状态。

数据库维护

Bash
npm run db:generate
npm run db:migrate
npm run db:studio
npm run db:seed

db:generate 生成 Prisma Client,db:migrate 执行开发迁移,db:studio 启动 Prisma Studio,db:seed 执行 package.json 指定的 prisma/seed.ts。生产部署脚本是 npm run db:deploy,而 db:push 用于执行 prisma db push;资料没有说明各命令在项目团队流程中的推荐优先级。

测试与质量检查

项目提供 npm testnpm run test:watchnpm run test:uinpm run test:coverage,分别对应 Vitest 的单次运行、监听、UI 和覆盖率模式。代码检查命令是 npm run lint,MDX 内容检查命令是 npm run lint:mdx

这些命令能够说明仓库维护了测试和内容检查入口,但给定资料没有提供测试用例数量、覆盖率阈值、CI 配置或发布门禁。不要根据脚本名称推断项目已经覆盖某类业务场景。

MCP 配置示例

JSON
{
  "mcpServers": {
    "prompts.chat": {
      "url": "https://prompts.chat/api/mcp"
    }
  }
}

远程配置不需要在本地执行命令,但会把 MCP 客户端请求发送到公开站点。若组织要求请求留在内网,应使用本地部署实例并按 README 给出的本地命令接入;MCP 服务器的授权和访问控制细节,官方给定资料未提供。

可观测性与运维

运维入口包括日志级别、Sentry 配置、数据库迁移和定时任务密钥。项目依赖 @sentry/nextjs,样例提供 SENTRY_AUTH_TOKEN,但没有给出事件采集范围、脱敏规则、告警条件和保留周期。

  • 日志:通过 LOG_LEVEL 设置 tracefatal 的级别。
  • 数据库:部署前执行 Prisma 生成和迁移,生产脚本为 npm run db:deploy
  • 定时任务:使用 CRON_SECRET 保护每日积分重置相关任务;任务调度器、执行时间和失败重试策略未提供。
  • 错误监控:可配置 SENTRY_AUTH_TOKEN,具体 Sentry 项目变量和数据范围未提供。
  • 媒体生成:Wiro.ai 和 Fal.ai 相关变量均为可选,模型列表使用逗号分隔,调用限额和失败处理未提供。

README 没有声明 SLA、性能基准、可用性承诺、水平扩展方案或备份策略。生产运维应自行补充数据库备份、密钥轮换、日志访问权限和回滚流程,并以实际部署测试结果作为容量判断依据。

安全与合规边界

项目涉及用户提交内容、第三方身份认证、数据库、对象存储以及可选的外部 AI 服务,因此隐私边界取决于部署方式和配置。自托管可以把应用和数据库放到组织控制的环境中,但不会自动替组织完成访问控制、数据分类、脱敏、审计或跨境传输评估。

  • 不要把真实个人信息、内部机密、访问令牌或生产凭据直接写入提示词、示例数据和公开仓库。
  • NEXTAUTH_SECRET、OAuth 客户端密钥、OPENAI_API_KEY、S3 密钥和 CRON_SECRET 应通过受控的秘密管理方式提供,不应提交到 Git 历史。
  • 启用 AI 搜索、生成或翻译时,应确认输入内容是否会发送到 OPENAI_BASE_URL 指向的服务,并核对该服务的合同、区域和留存政策。
  • 配置 OIDC 或 OAuth 回调 URL 时,只登记组织控制的域名,并限制回调地址和提供商权限范围。
  • 对象存储配置应明确桶的公开性、下载授权和 CDN 访问策略;资料没有证明默认配置具备这些安全控制。
  • 儿童页面面向 8 至 14 岁用户,组织使用时应由部署方负责家长同意、账号最小化和未成年人数据保护评估。

该项目不是渗透测试、账号自动化或绕过安全检测工具。任何提示词实验、MCP 接入和模型调用都应限定在获得授权的账号、数据和系统范围内;本文不提供面向未授权目标的攻击教程或规避检测技巧。

许可证与商用条款

仓库 LICENSE 明确把内容分成两类:源代码和站点作者内容使用 MIT License;提示词内容和数据使用 CC0 1.0 Universal。前者包括 src/prisma/scripts/、配置文件、构建文件以及 src/content/book/ 中的交互式书籍内容。

根据 MIT 许可证的通常条款,代码可以用于商业场景,但分发代码时应遵守 MIT 许可证文本中的版权声明和许可声明要求,具体义务以仓库中的 LICENSE-MIT 为准。提示词 CSV、Markdown 和用户提交的提示词文本由 LICENSE 文件声明采用 CC0 1.0 Universal,适用范围和法律效果应以 LICENSE-CC0 及适用法域解释为准。

GitHub 元信息中的许可证值是 NOASSERTION,与仓库 LICENSE 文件的双许可证说明存在信息层级差异。进行再发布、商业集成或内部产品化时,应保留原始许可证文件并核对具体文件归属;无法判断某个文件类别时,LICENSE 规定默认适用 MIT License。

局限性与已知限制

给定资料足以确认项目的功能入口和主要依赖,但不足以确认所有生产特性。以下限制不是对源码行为的臆测,而是资料明确没有覆盖、因此部署决策必须继续核验的部分。

  • 没有提供性能基准、并发能力、数据规模上限或 SLA。
  • 没有提供完整数据库模式、索引设计、迁移兼容矩阵和备份恢复流程。
  • 没有提供公开站点与自托管版本的功能差异清单。
  • 没有提供提示词审核、举报、版本管理、同步冲突和恶意内容处理规则。
  • 没有提供 MCP 的完整工具清单、鉴权细节、请求限制和错误响应格式。
  • 没有提供对象存储上传限制、访问控制、保留周期和删除流程。
  • 没有提供 AI 请求的费用控制、速率限制、超时、重试和数据留存实现说明。
  • 没有提供生产反向代理、容器编排、TLS 终止和零停机发布方案。

如果需要上述信息,官方仓库未提供该信息,建议以最新 README、源码、迁移文件和实际部署验证结果为准。

适合谁

适用性可以通过数据边界、认证需求和现有技术栈判断,而不是只看项目知名度。符合下列信号的团队,可以把它作为提示词知识库或内部内容平台的候选方案。

  • 团队需要把提示词集中管理,并希望同时保留网页浏览、仓库文件和数据集导出形态。
  • 组织已经使用 PostgreSQL,并能够维护 Node.js 24.x、Next.js 和 Prisma 应用。
  • 团队需要 GitHub、Google、Azure AD 或自有 OIDC/OAuth 认证,并愿意自行维护回调配置。
  • 组织要求提示词和用户数据部署在自有环境,能够承担数据库、对象存储、日志和备份运维。
  • 现有 AI 工具支持 MCP,团队希望通过远程或本地 MCP 方式检索提示词资源。

不适合谁

如果需求重点是强监管、明确的企业级服务承诺或完全托管的业务系统,现有资料不足以证明项目能够直接满足。以下信号出现时,应先完成源码审计和部署验证,或选择组织已有的平台方案。

  • 团队无法维护 PostgreSQL、Node.js 依赖、认证密钥和数据库迁移。
  • 项目需要已声明的 SLA、容量保证、灾备等级、审计报表或厂商支持,但仓库资料没有提供这些承诺。
  • 数据包含严格监管的个人信息、医疗信息、金融信息或不可离开特定区域的数据,而 AI 与对象存储的传输边界尚未完成评估。
  • 业务要求成熟的审核、审批、版本回滚、细粒度租户隔离和合规审计,而给定资料没有确认这些能力。
  • 团队已有稳定的企业知识库或工作流平台,并不需要提示词浏览、CSV、Markdown、MCP 这些项目能力。

常见问题与排查(FAQ / Troubleshooting)

排查应先区分环境、数据库、认证和外部服务问题。下面的判断均以 README、package.json 和 .env.example 中的命令或字段为依据。

执行 npm install 后无法完成安装怎么办

先核对 Node.js 是否满足 package.json 的 engines 声明,即 24.x。项目还定义了 postinstall 脚本,会执行 prisma generate;如果错误来自 Prisma 生成,应继续检查依赖安装日志和项目配置,而不要仅重复执行安装命令。

npm run setup 需要什么条件

README 说明设置向导会配置品牌、主题、认证和功能;.env.example 则要求提供 PostgreSQL 连接信息。若数据库不可访问,优先检查 DATABASE_URL、数据库服务状态、用户名、密码、数据库名和连接参数;资料没有提供专用诊断脚本。

为什么认证回调失败

检查 NEXTAUTH_URL 是否与实际访问地址一致,并确认所启用提供商的客户端密钥和回调地址已经登记。通用 OIDC 的回调路径示例是 <your-domain>/api/auth/callback/oidc,通用 OAuth 2.0 的回调路径示例是 <your-domain>/api/auth/callback/oauth;同时还要确认相应提供商已加入 prompts.config.tsproviders 数组。

AI 搜索或生成没有生效怎么办

确认 OPENAI_API_KEY 已配置,并检查 prompts.config.ts 是否启用了 aiSearchaiGeneration。如果使用兼容服务,还要核对 OPENAI_BASE_URL、嵌入模型或生成模型名称;具体模型是否可用取决于目标服务,仓库资料没有提供可用模型清单。

怎样确认代码质量检查和测试入口

可以分别执行 npm run lintnpm run lint:mdxnpm test。覆盖率命令是 npm run test:coverage,但覆盖率阈值、测试报告位置和 CI 集成方式未提供。

项目地址与资源

下列链接均来自题目提供的仓库资料,包含项目仓库、官网、提示词数据、书籍、儿童页面和 MCP 文档入口。

“A curated collection of prompts for AI chat models.”
来源:README

该项目的实际部署边界取决于认证、数据库、对象存储和可选 AI 服务的具体配置。阅读仓库 README、许可证文件、环境变量样例和源码时,应优先以当前 main 分支内容为准;给定资料未覆盖的行为,官方仓库未提供该信息,建议以最新 README 为准。