Graduate OS Docs
Research · AI · Career
🚀 操作文档

开始之前

最终架构、合并修复与部署准备

开始之前#

最终架构、合并修复与部署准备

1. 最终架构#

浏览器
  ↓ HTTPS
Nginx / 宝塔站点
  ↓ 可选但强烈推荐:Basic Auth
Graduate OS 登录
  ↓
Next.js 16 standalone
127.0.0.1:3000
  ↓
MySQL 8 + Prisma 6

论文 PDF:

/www/wwwroot/graduate-os/storage/papers

必须通过登录后的受保护 API 下载,不能让 Nginx 直接公开 /storage/

AI / Search:

Graduate OS
  ├─ OpenAI Official
  ├─ OpenAI Compatible / Sub2API / 自定义中转
  ├─ SerpApi → Google Scholar API
  ├─ Crossref
  └─ OpenAlex

2. 最终发布包已经合并的修复#

最终源码已经包含:

Graduate-OS Phase 2 Final Source
+
Paper Radar Trial Hotfix
+
Paper Radar Relevance & Tags Hotfix
+
Paper AI Reliability Final Hotfix
+
实际生产服务器运行时修复

其中包括:

  1. 后台 AI Provider / Search Provider 配置。
  2. AES-256-GCM API Key 加密,SECRET_ENCRYPTION_KEY 只存在 .env
  3. OpenAI Official 与 OpenAI Compatible 分流。
  4. Sub2API 作为 OpenAI Compatible 使用。
  5. OpenAI Compatible JSON Object + 本地 JSON.parse + Zod 校验。
  6. 修复第三方 strict json_schema 400 错误。
  7. 长论文输入预算、章节优先、精简重试、少量分块与 524 超时处理。
  8. AI 分析状态自动轮询,成功/失败无需手工 F5。
  9. Paper Radar 清空结果、状态保持、分数排序、新获取 Badge、研究分类标签。
  10. 秋招精简表单、面试联动、题库 DOCX/PDF 导入与练习。
  11. server-only 已正式加入依赖,不再需要部署后手工补装。
  12. PM2 已内置项目根 .env 加载。
  13. PM2 已内置 --dns-result-order=ipv4first,解决真实部署中第三方中转 IPv6 被 Cloudflare 403 的情况。
  14. .env.exampleAI_ENABLED / SCHOLAR_ENABLED 已使用正确的 true

3. 部署前准备#

准备:

  • Ubuntu 22.04 服务器
  • 宝塔 Linux 面板
  • 一个域名或子域名,例如 xjtu.example.com
  • MySQL 8
  • Node.js 22 LTS(建议 >= 22.13)
  • PM2
  • Nginx
  • 最终源码 ZIP

推荐服务器:

最低试运行:2C / 2G / 40G
推荐长期使用:2C / 4G 或以上

PDF 和 AI 分析会消耗内存;大量 PDF 时磁盘容量需要按实际增加。