这个项目能做什么
Void Presence Web 是 Void Presence 生态系统的中心枢纽,Void Presence 是一款面向 Windows 的 Discord Rich Presence 管理器。该应用基于 Next.js 16(App Router)、React 19、TypeScript 和 SCSS 构建,为终端用户提供了一个完善的界面,使其无需编写代码即可发现和管理 Rich Presence 自定义内容。
面向用户的主要功能包括:
- 配置浏览器,支持搜索、筛选、实时预览卡片,以及一键下载 JSON 或复制到剪贴板
- 状态浏览器,用于预览自定义 Discord 状态轮换
- 插件注册表,通过深度链接(`voidpresence://install-plugin?url=…`)实现一键安装
- 位于 `/plugins/docs` 的完整插件开发文档
- 个人主页,展示已上传的配置和用于云同步的 Author ID
- 通过 next-auth v5 实现的 Discord 和 Steam OAuth 认证
- 面向配置、作者和分析数据的公共 REST API(v0 和 v1)
- 发布计划页面,配备由 Recharts 驱动的下载统计图表
技术栈突出现代前端实践:Firebase 用于配置和个人资料存储,Upstash Redis 用于会话存储,Vercel 用于托管和分析,并采用不依赖 UI 框架的自定义 SCSS 设计系统。一个自动化清单生成脚本(`npm run build:manifest`)会将 `plugins/` 目录中的插件元数据聚合为一个可消费的 JSON 文件。
在安全方面,该平台仅存储 Rich Presence 配置数据(按钮对、状态/图片轮换、标题、描述、时间戳、下载计数器和作者显示名称),并明确避免存储 Discord 令牌、密码、OAuth 密钥、私人消息或系统数据。
开发者可以通过 `npm install && npm run dev` 在本地运行项目。构建流程(`npm run build`)会在 Next.js 生产构建之前重新生成插件清单。Firebase、Redis、NextAuth 和 Steam 的环境变量通过 `.env.local` 配置。
插件发布遵循简单的 PR 工作流:在 `plugins/` 下添加一个 `.js` 文件或文件夹,并包含必需的元数据(`author`、`description`、`tags`、`preview.slides`),然后提交 pull request;合并后,清单会自动重新构建,使插件在 `/plugins` 页面上显示并附带安装按钮。
评论
0 评分人数达到10人后显示
登录后参与讨论。