docs: describe gyxx-flow as a standalone project
This commit is contained in:
@@ -1,15 +1,25 @@
|
|||||||
# GYXX Flow
|
# GYXX Flow
|
||||||
|
|
||||||
GYXX Flow 将原来分散在四个项目中的定时工作流和可执行脚本迁入一个可安装、可迁移的模块化项目:
|
GYXX Flow 是面向业务自动化的模块化工作流平台,统一管理数据采集、经营分析、供应链处理、定时调度和外部系统集成。
|
||||||
|
|
||||||
- `content_marketing`:内容与营销采集
|
- `content_marketing`:内容与营销采集
|
||||||
- `product_commerce`:商品、平台和经营分析
|
- `product_commerce`:商品、平台和经营分析
|
||||||
- `shop_intelligence`:店铺与竞店采集
|
- `shop_intelligence`:店铺与竞店采集
|
||||||
- `supply_chain`:供应链采集与通知
|
- `supply_chain`:供应链采集与通知
|
||||||
|
|
||||||
运行时源码全部位于 `src/gyxx_flow/modules/<module>/runtime`。新项目不会从
|
项目采用模块化单体结构。框架能力位于 `src/gyxx_flow`,各业务模块运行时代码位于
|
||||||
`D:\yingxiaoyunying`、`D:\shop-data-flow`、`D:\product-collector-analyze-flow`
|
`src/gyxx_flow/modules/<module>/runtime`。工作流、脚本、数据目录和外部系统配置均由
|
||||||
或 `E:\auto-flow` 导入或启动代码;这些旧项目仅保留为只读迁移来源和回滚基线。
|
统一入口管理,同时保持模块间高内聚、低耦合。
|
||||||
|
|
||||||
|
## 核心能力
|
||||||
|
|
||||||
|
- 声明式工作流目录、依赖编排、超时、重试和失败恢复
|
||||||
|
- 计划任务生成、漂移检查和逐任务部署
|
||||||
|
- 手工执行、定时执行、日期回填、dry-run 和 shadow 模式
|
||||||
|
- 每次运行使用稳定的 `run_id`,记录步骤状态、日志、产物和外部写入
|
||||||
|
- JSON、Markdown、CSV、Excel、下载文件和截图统一分层存储
|
||||||
|
- 每个浏览器脚本独立 CDP 端口、Profile、Cookie 和 storage state
|
||||||
|
- 飞书、云端 PostgreSQL、本机 Hermes 和浏览器能力统一接入
|
||||||
|
|
||||||
## 安装与验证
|
## 安装与验证
|
||||||
|
|
||||||
@@ -32,9 +42,9 @@ uv run gyxx run product.daily --date 2026-07-27 --execute
|
|||||||
```
|
```
|
||||||
|
|
||||||
`run`、`backfill` 和 `scripts run` 默认都是无副作用 dry-run;只有显式加
|
`run`、`backfill` 和 `scripts run` 默认都是无副作用 dry-run;只有显式加
|
||||||
`--execute` 才会启动迁入后的本地脚本。
|
`--execute` 才会启动项目内的业务脚本。
|
||||||
|
|
||||||
## 运行任意迁入脚本
|
## 运行任意脚本
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
uv run gyxx scripts list
|
uv run gyxx scripts list
|
||||||
@@ -59,13 +69,13 @@ PowerShell 入口均受统一项目根、数据根、业务日期、run_id 和 s
|
|||||||
|
|
||||||
## 数据目录
|
## 数据目录
|
||||||
|
|
||||||
默认数据根为 `D:\gyxx-flow\var`,可用 `GYXX_DATA_ROOT` 迁移到其他磁盘。
|
默认数据根为 `D:\gyxx-flow\var`,可用 `GYXX_DATA_ROOT` 配置到其他磁盘或服务器目录。
|
||||||
业务数据按模块写入 `data/raw`、`data/normalized`、`data/curated`、`data/exports`
|
业务数据按模块写入 `data/raw`、`data/normalized`、`data/curated`、`data/exports`
|
||||||
和 `data/evidence`;运行状态、日志和临时文件分别进入 `state`、`logs` 和 `tmp`。
|
和 `data/evidence`;运行状态、日志和临时文件分别进入 `state`、`logs` 和 `tmp`。
|
||||||
原始 JSON/CSV/XLS/XLSX/下载文件进 raw,清洗结果进 normalized,聚合数据进 curated,
|
原始 JSON/CSV/XLS/XLSX/下载文件进 raw,清洗结果进 normalized,聚合数据进 curated,
|
||||||
最终 Markdown/Excel 报告进 exports。浏览器 Profile、Cookie 和 storage state 位于
|
最终 Markdown/Excel 报告进 exports。浏览器 Profile、Cookie 和 storage state 位于
|
||||||
`state/browser/<module>/<script>/` 并按脚本复用。现有 `data/raw/<module>/legacy`
|
`state/browser/<module>/<script>/` 并按脚本复用。源码与运行数据相互隔离,部署或更换
|
||||||
历史数据只读保留,源码与可变数据不混放。
|
数据磁盘时只需调整环境变量。
|
||||||
|
|
||||||
## 定时任务
|
## 定时任务
|
||||||
|
|
||||||
@@ -76,13 +86,14 @@ uv run gyxx schedule plan `
|
|||||||
--python-executable D:\gyxx-flow\.venv\Scripts\python.exe
|
--python-executable D:\gyxx-flow\.venv\Scripts\python.exe
|
||||||
```
|
```
|
||||||
|
|
||||||
该命令只生成 21 个任务定义和审核脚本,不会注册、禁用或修改任何系统任务。
|
该命令只生成 21 个任务定义和审核脚本,不会直接注册、禁用或修改系统任务。
|
||||||
生产切换必须遵循 `docs/migration-runbook.md` 的逐任务门禁。
|
生产启用时应先执行环境检查和 dry-run,再按工作流逐项应用调度配置。
|
||||||
|
|
||||||
## 关键文件
|
## 关键文件
|
||||||
|
|
||||||
- `design.md`:目标架构和迁移边界
|
- `design.md`:系统架构和模块边界
|
||||||
- `plan.md`:逐项验收清单
|
- `plan.md`:逐项验收清单
|
||||||
- `config/workflows.json`:工作流到新项目本地入口的映射
|
- `config/workflows.json`:工作流定义与本地执行入口
|
||||||
- `config/source-manifests/`:四个来源的逐文件哈希与处置清单
|
- `config/schedules.json`:定时调度配置
|
||||||
- `docs/`:部署、运行、迁移和回滚手册
|
- `config/runtime-bindings.json`:脚本 CDP 端口与外部服务策略
|
||||||
|
- `docs/`:部署、运行和回滚手册
|
||||||
|
|||||||
Reference in New Issue
Block a user