Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

135 lines
6.6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"id": "ZY-PROJ-006",
"name": "光湖智库节点 · guanghu.online · 独立部署版",
"guardian": "铸渊 · ICE-GL-ZY001",
"copyright": "国作登字-2026-A-00037559",
"domain": "guanghu.online",
"server": "ZY-SVR-006 (43.153.203.105 · 新加坡)",
"background": {
"bingshuo_requirement": "智库节点从guanghuyaoming.com迁移至guanghu.online独立域名·首次落地模块借阅协议·QQ邮箱验证码登录·搜索下载·书岚AI图书管理员·七层镜防",
"zhuyuan_understanding": "一个完整的智能书库系统邮箱认证→搜索→下载→在线阅读→AI Agent对话→七层安全防护·全部集成在单个Node.js服务中"
},
"architecture": {
"stack": "Node.js 20 + Express + PM2 + Nginx",
"port": 3006,
"frontend": "SPA · public/index.html + assets/",
"backend": "server/server.js (1671行 · 20个API端点)",
"subsystems": [
"mirror-shield: 七层镜防 (L1语言膜→L7核心 + 语言主控)",
"mirror-agent: 镜面Agent (快照+差异+LLM评估+工单)",
"shulan-agent: 书岚人格体 (四层提示词+守护Agent+对话工具包)",
"builtin-source: 内置数据源直连 (番茄小说fallback)"
],
"api_endpoints": {
"auth": ["POST /api/auth/send-code", "POST /api/auth/verify", "GET /api/auth/session", "POST /api/auth/logout"],
"search": ["GET /api/search", "GET /api/sources/check"],
"download": ["POST /api/download/start", "GET /api/download/status/:taskId", "GET /api/download/local/:bookId"],
"agent": ["POST /api/agent/chat", "GET /api/agent/memory", "GET /api/agent/status"],
"reader": ["GET /api/reader/catalog/:source/:bookId", "GET /api/reader/chapter"],
"legacy": ["POST /api/checkout", "POST /api/return", "GET /api/book/:id", "GET /api/download/:id", "GET /api/read/:id"],
"mirror": ["/api/mirror/*"],
"health": ["GET /api/health"]
}
},
"phases": [
{
"id": "ZY-PROJ-006-PHASE-1",
"name": "基础落地 · 邮箱登录 + 搜索 + 部署",
"status": "completed",
"completed_at": "2026-04-17",
"content": [
"QQ邮箱验证码登录系统 (SMTP直发 + 主站转发备用)",
"JWT Token认证 (24h过期 + 黑名单注销)",
"番茄+七猫数据源搜索 (外部API + 内置直连fallback)",
"Nginx反代配置 (HTTP→HTTPS重定向 + /api/代理)",
"PM2守护进程配置",
"部署工作流 deploy-zhiku-guanghu-online.yml (deploy/setup-ssl/health/rollback)"
]
},
{
"id": "ZY-PROJ-006-PHASE-2",
"name": "七层镜防 + 书岚Agent + 下载引擎",
"status": "completed",
"completed_at": "2026-04-17",
"content": [
"七层镜防集成 (L1语言膜→L7核心 + 语言主控5指令)",
"书岚人格体AG-SL-WEB-001 (四层提示词+守护Agent+对话工具包)",
"下载引擎 (外部API→COS桶 + 内置直连fallback)",
"在线阅读器 (章节目录+分章阅读+进度存储)",
"镜面Agent (快照+差异检测+LLM评估+安全工单)"
]
},
{
"id": "ZY-PROJ-006-PHASE-3",
"name": "修复部署缺失 + 服务器恢复",
"status": "in_progress",
"started_at": "2026-04-18",
"content": [
"✅ 诊断zhiku-api errored状态(36次崩溃) → builtin-source目录部署缺失",
"✅ 修复deploy workflow添加builtin-source上传步骤",
"✅ 加固server.js将builtin-source改为可选加载(try/catch)",
"✅ 优化前端Safari/iOS错误处理改善",
"✅ 加固deploy workflow添加package-lock.json上传",
"⏳ 合并PR后触发部署 → 验证服务器恢复"
],
"next_step": "合并本PR后触发deploy-zhiku-guanghu-online.yml部署·验证zhiku-api启动成功·验证邮箱验证码发送正常"
},
{
"id": "ZY-PROJ-006-PHASE-4",
"name": "SSL证书 + 健康监控 + 稳定性加固",
"status": "planned",
"content": [
"申请SSL证书 (setup-ssl动作 · certbot + nginx)",
"配置HTTPS正式模式 (替换HTTP-only临时配置)",
"健康监控端点加强 (/api/health完整系统自检)",
"PM2日志轮转配置",
"定时备份数据目录"
]
},
{
"id": "ZY-PROJ-006-PHASE-5",
"name": "用户体验优化 + 书岚Agent增强",
"status": "planned",
"content": [
"搜索结果分页 + 排序",
"下载任务队列管理 (同时下载数限制 + 任务列表页)",
"在线阅读器优化 (阅读进度云同步 + 书签 + 夜间模式)",
"书岚Agent记忆增强 (长期偏好学习 + 推荐系统)",
"书岚Agent工具调用 (搜索+下载+分章 工具包集成)",
"前端响应式优化 (移动端适配完善)"
]
},
{
"id": "ZY-PROJ-006-PHASE-6",
"name": "团队书库 + 数据持久化",
"status": "planned",
"content": [
"团队书库 (男频/女频分区 + 评分评论系统)",
"SQLite/Redis数据持久化 (替换JSON文件存储)",
"COS桶书籍管理 (上传/下载/删除 + 容量统计)",
"用户书架管理 (收藏 + 阅读历史 + 推荐列表)",
"管理后台 (用户管理 + 书籍管理 + 系统设置)"
]
}
],
"fixes": [
{
"id": "ZY-PROJ-006-FIX-1",
"date": "2026-04-18",
"problem": "邮箱验证码登录失效 — Safari显示'The string did not match the expected pattern'",
"root_cause": "部署workflow(deploy-zhiku-guanghu-online.yml)未上传builtin-source/目录到服务器。server.js第66行require('./builtin-source')启动时直接崩溃(MODULE_NOT_FOUND)。PM2重启36次后放弃→zhiku-api状态errored→所有API不可用→前端fetch失败→Safari显示底层TypeError",
"fix": "1)部署workflow添加builtin-source目录创建+上传步骤 2)server.js将builtin-source改为try/catch可选加载(非核心模块不应阻塞整个服务) 3)所有builtinSource调用点添加null检查 4)前端Safari/iOS TypeError处理改为友好提示 5)部署workflow添加package-lock.json上传",
"files_changed": [
".github/workflows/deploy-zhiku-guanghu-online.yml",
"server/zhiku-node/server/server.js",
"server/zhiku-node/public/assets/js/main.js"
],
"result": "implemented",
"lesson_learned": "部署workflow每添加新子模块目录时必须同步添加上传步骤。非核心模块应使用try/catch可选加载防止级联崩溃。"
}
],
"status": "in_progress",
"current_phase": "ZY-PROJ-006-PHASE-3",
"last_active": "2026-04-18"
}