Files
weiyuqing 6e2a53ad20 整理 NAS 部署目录并归档迁移工具
更新 Compose 和部署更新脚本以使用新的状态、凭据及日历目录布局;新增目录迁移、诊断和历史清理工具及本机演练测试,并记录 NAS 迁移与清理结果。
2026-10-17 22:32:58 +08:00

42 lines
4.3 KiB
Markdown
Raw Permalink 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.
# NAS健康同步项目
本目录是项目主代码目录。上游介绍保留在README.md,本项目部署与维护说明以本文件及docs/nas为准。
## 当前版本
2026-10-17 15:25:backend/web已更新为20261017-summary8,worker继续使用20261017-audit3。包含小米中国区云同步、SQLite长期保存与原始归档、备份恢复、密码鉴权、八类健康查询、紧凑参考线、纵轴下限和工作日/非工作日标记。ChatGPT隧道仍未启用。
2026-10-17 17:02:NAS 项目目录整理完成。网页日历位于 `web/calendar`,后端凭据位于 `backend/secrets`,backend/worker 共用 `shared/state`;历史安装和回退文件集中在 `archive`。镜像、密码和端口不变,迁移及实际就绪核对通过。详见 [目录迁移记录](docs/nas/directory-migration.md)。旧离线包不适用于新目录,后续应从当前部署源重新生成发布包。
后端汇总与分页优化已通过本机合成数据、浏览器、容器及独立审查,并在用户授权后部署NAS。部署检查返回0,配置哈希匹配,worker状态ok;未在NAS执行合成或性能测试。八类查询的统计、最多120个图表桶与每页10条明细由后端返回,CSV按流传输。
## 目录
- src/mi_fitness_mcp:当前全部产品代码(包含前后端)。
- tests:上游及已修改的模块测试;qa:当前网页统计、交互与日历回归测试。
- deploy/runtime.py:归档、加密凭据与同步worker运行支持;deploy/readonly.py:未启用的只读MCP支持。
- deploy/compose.yml、deploy/compose.override.yml:部署配置源文件,无密码。
- maintenance/legacy-tests:旧验证脚本源码,仅作历史留存。
- docs/nas:当前版本、代码迁移与后端优化设计。
- scripts/sync_legacy_workspace.py:把本仓库产品代码同步回旧工作区,逐文件检测冲突。
## 本机验证
沿用pyproject.toml中的Python依赖,建议uv创建独立开发环境。已有环境可执行 `python -m pytest tests/test_web.py -q` 和 `python qa/test_workday_calendar.py`;前端使用 `node --test qa/*.test.cjs`。测试只使用临时或合成数据。
此仓库不包含.env、密钥环、数据库、真实健康记录、镜像包和第三方依赖缓存;不向Git提交这些内容。上游历史保持,远程upstream只作来源;origin 为用户指定的 GitHub 仓库,首次已上传 nas-health 分支,后续提交与推送分别按用户授权执行。
汇总优化的合成数据、旧查询对照和独立Edge验收入口为 `qa/serve_query_fixture.py`、`qa/benchmark_server_queries.py`、`qa/verify_server_queries_browser.cjs`。全部数据库、浏览器profile、截图、日志和离线包仅放忽略的 `artifacts/query-summary/`。实际测量、限制与复现步骤见 [后端查询验证报告](docs/nas/backend-query-validation.md)。
## summary8候选更新包
`deploy/query-summary/`包含离线增量Dockerfile、仅替换backend/web镜像的覆盖配置、哈希防覆盖和回退脚本。基础镜像audit3必须在本机已有,构建不安装依赖;worker继续audit3。发布包为本机 `artifacts/query-summary/release/`,不提交Git。
已有镜像tar时,`python deploy/query-summary/prepare-release.py`仅重建发布脚本、UTF-8无BOM/LF元数据及manifest,不构建或修改镜像tar。shell读取镜像身份时兼容旧CRLF,并严格校验`sha256:<64位小写十六进制>`。
正式更新前须明确确认仅替换健康项目backend和web。确认后由用户在交互PowerShell运行 `deploy/query-summary/Update-Nas.ps1 -Package artifacts/query-summary/release -Deploy` 并在终端输入sudo密码;不加 `-Deploy` 只校验本地发布包。脚本沿用原端口、密码来源和数据/日历挂载,不处理其他NAS服务。就绪检查只检查资源、代理、鉴权、日历和OpenAPI路由元数据,不发健康查询/导出请求,不运行合成或负向参数测试。
## 后续维护
首先修改本目录并按影响运行本机测试,再执行兼容副本同步并核对Git差异。NAS部署需使用已验证的版本和明确批准的容器范围。现有旧版增量Dockerfile依赖本机基础镜像;完整可复现构建将在后端优化实施时统一整理,不能把旧覆盖镜像文件当成从零构建方案。