{"repo":"virzs/Search-Next","free":true,"listed":false,"github":"https://github.com/virzs/Search-Next","clone":"git clone https://github.com/virzs/Search-Next.git","description":"一个简单的浏览器主页 / 新标签页，由React编写，支持本地账户切换，多引擎搜索，网址导航，更多功能正在开发","language":"TypeScript","stars":126,"topics":["react","homepage","newtabpage"],"license":null,"category":"ui-components","readme_excerpt":"Search Next Search Next 是一个桌面化的导航与搜索入口，支持网站收藏、应用/应用、统一搜索、主题壁纸、用户数据同步与后台管理。当前仓库采用 pnpm workspace 组织，前端、后台、后端 API 与内置应用都在同一个仓库中维护。 预览 项目结构 - apps/web ：用户侧主站，Vite + React。 - apps/admin ：管理后台，Vite + React。 - apps/api ：后端 API，NestJS + MongoDB + Redis。 - apps/apps/ ：内置应用，每个目录是一个独立应用工程。 - apps/docs ：文档站点。 - packages/ ：共享包。 - scripts ：应用脚手架、打包、截图等脚本。 本地运行指南 环境要求 - Node.js 20.19+ 或 22 LTS+。 - pnpm 10.x，仓库声明版本为 pnpm@10.23.0 。 - MongoDB 与 Redis。后端启动时会连接两者，Redis 也用于缓存和登录状态。 可用 Corepack 启用对应 pnpm 版本： 安装依赖 在仓库根目录执行： 配置后端环境变量 复制后端环境变量模板，并按本机服务填写 MongoDB、Redis、邮箱、存储等配置： 后端运行时会读取当前启动目录下的 .env 。开发模式下通常是 apps/api/.env ；构建后如果把 API 产物复制到独立目录运行， .env 应放在启动命令所在目录。 最小本地配置通常只需要先确认这些值： 不要把真实密码、API Key、云存储密钥提交到仓库。 启动开发服务 分别启动： 或一次启动 API、主站和后台： 默认地址： - 主站： http://localhost:8132 - 管理后台： http://localhost:8133 - API： http://localhost:5151 - API 文档： http://localhost:5151/doc 开发环境下，主站和后台会把 /api 请求代理到 http://localhost:5151 。如需改代理目标，可在启动前设置 VITE API PROXY TARGET ，或为对应前端应用补充本地 env 文件。 构建与预览 后台与 API 单独构建： API 发布包使用 ncc 打成单文件输出： 内置应用构建： 发版命令 发版使用通用工具 release-it 负责交互式选择版本、创建 tag 并推送 tag。正式发版必须在 release 分支执行；tag 推送后，GitHub Actions 会校验 tag 属于 release 分支，再创建或更新 GitHub Release、构建对应项目、打包 dist/releases 资产并上传。 推荐流程是先把待发布代码合并到 release 分支： 然后运行发版命令。命令不带版本号时， release-it 会提示选择版本，也可以手动输入版本；带版本号时会直接使用指定版本： 完整发版使用 v tag。发布后会触发 GitHub Actions 构建 API、主站生产包、管理后台、文档站和所有内置应用。 也可以单独发布某个项目： 单项目 tag 会使用 -v ，例如 web-v0.14.0 、 api-v0.14.0 、 todo-v0.2.0 。也可以直接指定版本： 发版前可先查看更改信息或预演流程： 本地发版不需要手动设置 GITHUB TOKEN 或 RELEASE PROJECT 。GitHub Action","default_branch":null,"files":null,"tree":[],"storefront":"/r/virzs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/virzs/Search-Next/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}