Files
Star-Office-UI/docs/UPDATE_REPORT_2026-03-04_P0_P1.md

3.8 KiB
Raw Permalink Blame History

Star Office UI 更新文档(P0 / P1)

更新时间:2026-03-04 分支:feat/office-art-rebuild


1. 更新目标

本轮更新目标分为两层:

  • P0:安全与可发布性(防泄漏、防弱配置、上线前可自检)
  • P1:结构与稳定性优化(不减功能、提升状态同步与加载体验)

同时处理了线上关键问题:

  • 服务偶发 502(进程/服务启动方式不稳定)
  • 角色状态与真实工作状态不一致(尤其“回复结束仍在工位”)

2. P0 已完成项

2.1 后端安全基线加固

  • 增加生产模式安全校验(弱密钥/弱口令阻止启动)
  • Session Cookie 安全参数加固(HttpOnly / SameSite / Secure)
  • runtime-config.json 写入后自动尝试收紧文件权限(600)

2.2 敏感文件治理

  • .gitignore 补充运行态文件与高风险文件
  • 引入样例文件替代运行态文件:
    • join-keys.sample.json
    • .env.example
  • join-keys.json 改为运行时初始化,不再作为仓库内固定配置

2.3 上线前安全自检能力

  • 新增 scripts/security_check.py
  • 可检查:
    • 弱 secret / 弱口令
    • 风险文件是否被 git 跟踪
    • 常见敏感 token 模式

3. P1 已完成项(不改业务能力)

3.1 后端结构拆分

在不改变现有 API 行为前提下,把 backend/app.py 拆出:

  • backend/security_utils.py
  • backend/memo_utils.py
  • backend/store_utils.py

收益:

  • 降低单文件复杂度
  • 降低后续功能改动时的回归风险
  • 提升可读性与维护效率

3.2 状态同步修复(核心)

  • 修复状态源路径优先级(避免读取错误状态文件)
  • 增加 stale 状态自动回 idle 机制(避免假工作中)
  • 前端状态轮询改为更快节奏并强制视觉对齐,避免动画卡旧状态

3.3 生图模型策略收敛

按需求收敛为两种用户模型语义:

  • nanobanana-pro
  • nanobanana-2

并补充 provider 映射与错误细节透出,提升可诊断性。

3.4 首屏性能与体感优化

  • 首页 HTML 缓存(后端进程内缓存)
  • 非关键初始化延后(先出画面)
  • 加入画布骨架屏,减少“黑屏 + 长时间加载中”体感
  • 加速 loading overlay 淡出

4. 线上稳定性修复(本轮重点)

4.1 502 根因

Cloudflare 正常,但 18888 源站进程存在不稳定/启动方式不一致,导致偶发 connection refused。

4.2 已处理

  • 修复并统一 star-office-ui.service 启动方式(systemd 常驻)
  • 清理手工临时启动造成的端口抢占
  • 重启并验证:
    • star-office-ui.service 运行正常
    • star-office-push.service 运行正常

5. 当前已知风险 / 待跟进

  1. 状态策略仍需完全事件化

    • 目前已大幅收敛误判,但建议后续做单一状态控制器(显式事件优先,彻底禁用隐式推断)
  2. 进程模型仍是 Flask 开发服务器

    • 当前可用但不理想,后续建议迁移为 gunicorn/uvicorn 等生产进程模型
  3. 动画状态同步仍建议增加端到端回归脚本

    • 尤其 writing / syncing / error / idle 切换链路

6. 验收建议(人工)

验收地址:https://simonoffice.hyacinth.im/

建议至少覆盖:

  1. 首页进入速度与骨架屏体验
  2. 状态切换(writing / syncing / error / idle)
  3. 回复结束后是否回到待命区
  4. 生图两入口(搬新家 / 找中介)
  5. 断网或服务短时波动后是否自动恢复

7. 提交范围(摘要)

本轮主要覆盖:

  • 安全与配置:P0
  • 后端重构:P1
  • 状态同步与动画一致性修复
  • 生图模型策略与错误诊断
  • 加载性能与体验优化
  • systemd 常驻与稳定性修复

如需 PR 附件,可直接将本文件作为“更新说明 / Release Notes”。