ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

ChatGPT-Shortcut 社区提示词(Community Prompts):投票、筛选、私有化与讨论的完整使用指南

ChatGPT-Shortcut 社区提示词(Community Prompts):投票、筛选、私有化与讨论的完整使用指南 AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载在 ChatGPT-Shortcut 项目中社区提示词Community Prompts是让用户彼此分享、发现高质量 AI 提示词的核心模块你既可以从其他用户发布的提示词中获取灵感也可以把自己打磨好的提示词发布出来获得曝光。本文基于 i18n/bn/docusaurus-plugin-content-docs/current/guides/community.md 的官方文档并结合仓库中 社区列表页实现、提示词 API、收藏 Hook、详情页实现 与 讨论组件 的源码系统讲解社区提示词的浏览与筛选、投票机制、私有化控制、收藏联动与评论区交互读完你可以完整掌握该功能模块的实操方法与底层实现原理。社区提示词是什么社区提示词Community Prompts指由其他注册用户分享到公开页面的提示词。它的设计目标是构建一个以质量排序、以分享驱动的提示词池浏览与借鉴从他人的提示词中获取灵感直接复制使用或收藏进自己的提示词库分享与曝光把你自己创建的提示词发布到社区获得其他用户的浏览、投票与收藏质量自净化依靠投票机制让优质内容浮出水面薄弱内容自然沉底。在社区列表页源码中页面标题与标语由COMMU_TITLE/COMMU_DESCRIPTION常量定义于 src/data/constants.tsx驱动页面整体采用 Docusaurus antd 的Segmented、SearchBar、PromptCard、Pagination组合渲染卡片流。排序与筛选Sorting and Filtering社区页默认提供三种浏览方式对应源码中CommunitySortField类型的两个合法取值以及关键字搜索方式说明对应实现最新发布Latest published默认按分享时间倒序展示sortField idsnapshotPrime.ts 中的byNewest索引最多赞Most upvoted按赞数 − 踩数的差值降序展示sortField upvoteDifference同上byUpvoted索引关键字搜索对标题、内容、备注做包含式搜索无需登录prompts.ts 中getCommPrompts的filters参数从源码看排序合法取值被定义并约束为id | upvoteDifference两个字面量snapshotPrime.ts它们直接对应后端/userprompts列表端点的sort参数属于前后端 API 契约的一部分。切换排序或翻页时前端会重置currentPage为 1 并重新拉取数据。在列表页源码中搜索框使用SearchBar组件并通过beforeSearch{handleBeforeSearch}放行所有搜索——这是因为社区提示词是用户主动分享的公开内容搜索无需登录而投票、收藏仍要求登录在vote/addFavorite内部检查。底层搜索实现值得注意在 getCommPrompts 中搜索词会先被trim并截断到 100 字符再被encodeURIComponent编码后拼进 URLurl filters[$or][0][description][$containsi]${encodedSearchKey}filters[$or][1][title][$containsi]${encodedSearchKey}filters[$or][2][remark][$containsi]${encodedSearchKey};即同时对description内容、title标题、remark用途备注三个字段做不区分大小写的包含匹配$containsi。之所以必须编码搜索词是因为含#的词会被 XHR 当作 URL fragment 截断C# 会被截成 C、含的词会注入额外参数、含的词会被服务端解码成空格——编码可避免这类搜索错位问题。投票机制How Voting Works投票是社区质量排序的核心引擎。文档明确了两条规则点赞Upvote把优质内容推到更多人面前点踩Downvote当某条提示词积累了足够多的踩它就会从信息流中隐藏。同时有一条强绑定关系收藏 点赞Collect Upvote——把社区提示词加入你的收藏会自动为该提示词投出一票赞。登录与单票约束投票仅对已登录用户开放对每条提示词只有你最近一次投票生效。对应源码行为在 社区列表页 的vote回调中未登录用户点击投票会弹出Please log in to vote.警告并打开登录弹窗LoginComponent以懒加载方式按需渲染。登录后同一会话内对同一提示词的重复点击会被sessionVotedIdsRef拦截防止 API 请求期间重复投票后端则负责处理最终的幂等与最近一次投票生效语义。乐观更新Optimistic UI与失败回滚列表页与详情页的投票实现均采用三段式策略乐观更新点击后立即在本地把upvotes/downvotes/upvoteDifference更新赞 1 或踩 1差值相应 ±1界面即时反馈后端回填voteOnUserPromptprompts.ts调用POST /userprompts/${promptId}/vote后用后端返回的权威countsupvotes、downvotes覆盖本地计数并以upvotes - downvotes重算差值失败回滚请求失败时从sessionVotedIdsRef移除该次记录并恢复原始数据。成功投票后voteOnUserPrompt还会同步更新单条提示词的本地缓存getPromptCacheKey(commus, promptId)并调用flushCacheByPrefix(CACHE_PREFIX.COMM_LISTS)清空列表缓存保证排序与计数在下一次拉取时保持一致。在详情页的投票 UI 中还有一个细节点赞按钮始终显示数字主信号而点踩按钮在downvotes 0时只显示图标以弱化次要信号见 CommunityPromptPage.tsx。收藏自动点赞的实现链路收藏即点赞由 useFavorite.tsx 实现。在addFavorite(id, isComm true)中先做乐观更新applyOptimistic然后 PATCH 收藏到服务端if (isComm) { voteOnUserPrompt(id, upvote).catch(() {}); }注意这是异步、不阻塞的收藏成功路径上会附带投出一票赞失败则静默忽略投票失败不应阻断收藏本身。useFavorite还针对社区收藏做了两处防御本地预校验不能收藏自己发布的提示词省一次注定 403 的 PATCH以及用patchSeqRef单调序号协调乱序到达的 PATCH 响应只允许最新一次操作的响应覆盖本地收藏态。私有提示词Private Prompts不是所有想法都适合公开。文档给出三条操作规则创建或编辑时关闭分享到社区开关提示词即变为私有私有提示词仅自己可见不会出现在社区页可随时在公开与私有之间切换无需重建改开关即可。这一开关对应 prompts.ts 中submitPrompt/updatePrompt请求体里的share字段布尔值创建时默认share: true公开。创建与编辑的完整操作流程详见 自定义提示词指南登录后点击页面顶部的创建提示词按钮在弹窗中填写提示词名称必填、提示词内容必填方括号[...]内的文本会在展示时被高亮为占位符、用途可选、备注可选可记录来源、其他语言版本或补充说明底部是否在公开页面上分享开关默认开启关闭即为私有点击创建提示词提交。私有提示词被下架后的兜底行为当一个曾公开的提示词被作者改为私有或删除后它从社区列表消失但对已经收藏它的用户前端会保留一份降级视图。这在 prompts.ts 的getPrompts(commus, ...)校验逻辑中体现对收藏的社区提示词前端会调用/userprompts/check-updates比对updatedAt若服务端不再返回该 ID即已取消分享或删除则把本地缓存标记为_unavailable: true、_unavailableReason: unshared并延长缓存 TTL 至 1 年让用户仍可访问已缓存的内容同时在界面上明确告知该提示词可能已被删除或设为私有CommunityPromptPage.tsx 的 404 结果页。讨论与评论Discussion社区提示词的详情页除了展示完整提示词内容外还内嵌了讨论区登录后即可发表评论、参与讨论支持 Emoji 与 GIF。评论组件挂在详情页底部通过Comments pageId{prompt.id} typeuserprompt /挂载CommunityPromptPage.tsx评论区标题会由内层组件通过onCountChange回传评论数Emoji 与 GIF 选择器均为按需懒加载EmojiPickerLazy与GiphySelector只有在用户点击对应按钮时才渲染Comments.tsx避免把体积较大的 emoji 数据集与 Giphy 组件库打进公共首屏包评论支持多级回复threadOf父子关系、Markdown 渲染与按 ID 时间倒序嵌套展示Comments.tsx 的nestComments纯函数详情页本身对搜索引擎也有完整处理JS 渲染后用真实的?id与提示词标题覆盖 canonical / og 元数据CommunityPromptPage.tsx无效或已删除的 ID 则注入noindex防止错误收录。社区列表的性能设计快照加速社区列表页在常规的请求—渲染之外还实现了一套构建期快照Snapshot预填机制值得开发者借鉴构建期由 scripts/genCommunitySnapshot.mjs 把社区首页与默认排序的数据投影成src/data/communitySnapshot.json运行时 snapshotPrime.ts 的primeCacheFromSnapshot()在首次挂载时把快照写入 lscache 两层列表层cl_{page}_{pageSize}_{sortField}_{sortOrder}_{search}键配 ETag与详情层pc_commus_id带服务端真实updatedAt效果快照小于 1 小时时 throttle 接管、零网络请求1–24 小时走If-None-Match条件请求多数返回 304超过 24 小时缓存 TTL 过期自然全量重拉。用户点击详情卡片时同样命中缓存、免一次 bulk 请求。这套设计把 LCP首屏最大内容绘制元素从等 API 后渲染的 PromptCard前移到 HTML 解析阶段同时保证已有真实缓存时不覆盖用户数据getCache命中即跳过。分页大小COMMUNITY_PAGE_SIZE固定为 12snapshotPrime.ts列表页每页渲染 12 张卡片。与相关功能的关系社区提示词并不是孤立模块它与以下功能深度联动相关功能关系参考文档自定义提示词社区内容的来源创建时打开分享开关即发布到社区自定义提示词指南我的收藏收藏社区提示词会同时投出赞票并在收藏视图中统一管理我的收藏指南账户体系投票、收藏、评论均要求登录登录状态由 AuthContext 全局管理账户管理指南小结社区提示词模块把分享 → 投票 → 收藏 → 讨论串成了一条完整的质量闭环排序与搜索决定内容入口投票与收藏驱动优质内容浮出水面私有开关保护创作者的个人想法详情页讨论区沉淀二次交流。开发者如果要在自己的项目中复刻类似机制可以重点参考本仓库的三处实现——列表页投票与乐观更新、投票与缓存一致性 API、收藏即投票的联动逻辑以及快照预填这套首屏加速方案。赞分享AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载相关推荐ChatGPT-Shortcut 首页界面深度指南标签筛选、关键词搜索与提示词卡片实现解析ChatGPT Shortcut 首页界面深度指南标签筛选、关键词搜索与提示词卡片实现解析 本文以 ChatGPT ShortcutAI Short的官方AI 应用提示工程人工智能前端gh_mirrors/v0s/v0-system-prompts-models-and-tools社区活动日历参与AI提示词开发讨论gh_mirrors/v0s/v0 system prompts models and tools社区活动日历参与AI提示词开发讨论 你是否在寻找与全球AI开人工智能提示工程LNReader插件系统终极指南如何轻松安装和管理轻小说源LNReader插件系统终极指南如何轻松安装和管理轻小说源 LNReader是一款功能强大的Android轻小说阅读应用其独特的插件系统让用户能够自由扩展轻上一篇Vue3FastAPI完整教程5步搭建现代化管理平台下一篇Android终极下拉刷新方案SmartRefreshLayout快速上手指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表