Files
bxh/docs/MAINTENANCE.md

102 lines
2.9 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.

# 维护指南
本文档记录项目维护、发布和提交前检查流程,帮助仓库长期保持可下载、可启动、可理解。
## 提交前检查
```bash
git status --short
python -m compileall app
cd admin-web && npm run build
cd ..
docker compose config
```
如果修改 Docker 或数据库快照,建议再做一次完整启动验证:
```bash
API_PORT=18102 \
POSTGRES_PORT=15433 \
FALKORDB_PORT=16380 \
FALKORDB_BROWSER_PORT=13002 \
docker compose up -d --build
curl http://localhost:18102/v1/admin/health
docker compose down -v
```
## 更新系统代码
- 后端 API 放在 `app/api/`
- Agent 和抽取流程放在 `app/agents/`
- 图谱核心能力放在 `app/kg_core/`
- 前端页面和面板放在 `admin-web/src/`
- 配置项统一从 `app/config.py` 和环境变量读取。
历史采集/构图脚本的本地资料路径统一在 `scripts/common_paths.py` 中配置,默认指向仓库内 `data/source``data/exports`。需要接入自己的原始资料时,可通过 `TRAVEL_AGENCY_SOURCE_ROOT``TRAVEL_DELIVERY_ROOT``TRAVEL_KG_EXPORT_ROOT``GAODE_CRAWLER_PATH` 覆盖。
新增功能时请同步更新:
- README 的功能说明或项目结构。
- `docs/API_REFERENCE.md` 中的接口列表。
- 需要运行环境变量时更新 `.env.example``docs/DEPLOYMENT.md`
## 更新图谱 schema
图谱 schema 和 DSL 资料主要放在 `schema搭建/`。如果 schema 已经发布到数据库或 FalkorDB建议同时更新
- schema 文件
- 发布脚本
- `docs/reports/new2_current_kg_schema_snapshot.md`
- 数据快照
## 更新数据快照
从本地 `new2` 容器导出:
```bash
bash scripts/export_snapshots.sh
```
导出后检查:
```bash
ls -lh snapshots/postgres/kg_admin_new2.dump snapshots/falkordb/dump.rdb
shasum -a 256 snapshots/postgres/kg_admin_new2.dump snapshots/falkordb/dump.rdb
```
快照更新后必须执行 Docker 恢复验证,确保新用户 clone 仓库后可以直接使用。
## 仓库不应包含
- `.env` 和真实密钥
- `node_modules/`
- Python 虚拟环境
- Playwright/浏览器 profile
- Docker 数据卷
- 临时日志、截图和缓存
- 超过 GitHub 限制的大文件
## 发布建议
成熟发布建议包含:
1. 代码和文档已提交。
2. Docker 可以从零构建。
3. PostgreSQL 和 FalkorDB 快照可以恢复。
4. 默认账号可以登录。
5. README 中的启动命令与端口正确。
6. GitHub 仓库首页可以看到系统定位、架构、数据和部署方式。
## 当前验证记录
本地已用非默认端口完成 Docker 验证:
- API 健康检查返回 `{"status":"ok"}`
- 管理后台 `/admin/` 返回 `200`
- PostgreSQL 恢复后 `kg_admin_new2.amap_spatial_pois``80609` 条。
- PostgreSQL 恢复后 `kg_admin_new2.candidate_entities``37457` 条。
- FalkorDB 可列出 `guiyang_new2``guiyang_spatial_v1` 等图。
- `admin@example.com / change-me` 登录成功。