Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
4.5 KiB
4.5 KiB
迁移包 · GHCS v0.2 · SSH终端 & API Keys(本地验收+鉴权修复+登录入口)
HLDP://migration-pack/ghcs/v0.2 · generated_at: 2026-06-10T18:06+08:00
├── scope: GHCS v0.2 本地开发与验收(SSH Web Terminal + API Keys)
├── goal: 换对话/换人/换设备后,可快速恢复上下文与继续推进
└── status: 本地验收✅ · 上线到服务器⬜(刻意暂缓)
1) 本次任务交付物(你可以直接打开复用)
- 任务状态唯一真相源(已更新里程碑):任务进展 · Awen系统 · 唯一任务状态源
- 执行记录(今天的“发生过什么”):执行记录 · 2026-06-09 · GHCS v0.2 API Keys 鉴权修复与本地验收
- 终端排障 SOP(含关键数据备忘):GHCS v0.2 终端排障 SOP(SSH Web Terminal Debug SOP)
- keys/page.tsx 完整可替换版(含登录入口+鉴权):GHCS v0.2 · keys/page.tsx 完整可替换版(含登录入口+鉴权)
- 知秋记忆容器年轮(已写入两条里程碑):知秋记忆容器 · Memory Vessel · v0.1 · 三层记忆架构 · Awen×知秋共同设计
2) 当前已验收通过的结论(可直接当“完成口径”)
2.1 SSH Web Terminal(本地)
- 后端:
GET /ws/terminal/servers→ 200 - 前端:
/console/terminal可连接并交互 - 交互验收命令:
whoami / pwd / echo FOCUS_OK / echo CLICK_FOCUS_OK / echo SHOULD_APPEAR
2.2 API Keys(本地)
- 登录:
POST /api/login→ 返回access_token(bearer) - 后端写入:
POST /api/keys/add→ ok + mask 正常 - 后端读回:
GET /api/keys/list→ 可读回刚写入的 key - 前端页面:
/console/keys读取 suppliers/list/usage/health-check 正常 - 前端写操作:启停/新增/删除不再 401(写请求带 Bearer 后 200)
3) 关键数据(防遗忘,最常用)
3.1 本地端口/环境变量
- backend:
http://127.0.0.1:5002 - frontend:
http://localhost:3000 frontend/.env.local:NEXT_PUBLIC_CONSOLE_API=http://127.0.0.1:5002- ⊢ 改 env 后必须重启
npm run dev
- ⊢ 改 env 后必须重启
3.2 Token 规则(写操作都靠它)
- 登录返回字段:
access_token - 前端存储:
localStorage.ghcs_access_token - 写请求 header:
Authorization: Bearer <access_token>
3.3 本地默认账号(开发硬编码,见 backend/auth.py)
awen / guanghu2026
4) 代码迁移清单(给“复制替换/回滚”用)
4.1 前端
- 文件:
frontend/src/app/console/keys/page.tsx- 目标:加入登录入口 + 统一 Bearer 鉴权(写操作)
- ✅ 完整可替换版见:GHCS v0.2 · keys/page.tsx 完整可替换版(含登录入口+鉴权)
4.2 后端
- 文件:
backend/auth.py- 管理员账号/密码哈希、JWT 生成与验证
- 文件:
backend/api_keys.py- keys 路由(suppliers/list/add/update/delete/usage/health-check)
- 文件:
backend/main.py- include_router(确保 api_keys 与 terminal 路由挂载)
5) 下一步建议(保持“先本地完备后上线”策略)
- ✅ 完成:keys 页登录入口(不再依赖手动塞 token)
- ⬜ 待做:全局统一 fetch 封装(自动带 Bearer + 统一 401 提示)
- ⬜ 待做:再考虑一键部署上线到 GHCS 服务器(43.139.207.172)