# dz-platform **Repository Path**: alianyone/dz-platform ## Basic Information - **Project Name**: dz-platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-28 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据智析平台 一站式「数据采集 → 分析 → 预测 → 分发」的大宗商品情报平台。依据《数据采集分析平台_系统设计说明书》实现,前端严格还原《页面设计原型》的设计令牌。 ## 功能总览(对应设计说明书 11 大模块) | 模块 | 路由 | 说明 | |---|---|---| | 实时行情总览 | `#/dashboard` | KPI 看板、板块热力、全市场指数走势、行情排行 | | 品种详情分析 | `#/symbol` | 蜡烛图 + 成交量、关联新闻 | | 异动监控告警 | `#/anomaly` | 异动事件流、告警规则 CRUD、手动评估 | | 大模型预测 | `#/prediction` | 方向/置信度/目标区间 + 驱动因子 | | 预测回测 | `#/backtest` | 方向准确率、区间命中率、MAE | | 新闻数据 | `#/news` | 检索、情绪筛选、详情 | | 行情数据 | `#/prices` | 全品种行情序列查询 | | 采集源管理 | `#/sources` | 源注册、编辑、立即采集 | | 采集任务管理 | `#/tasks` | 引擎选择(x-scrapy / scrapling / mock)、调度、触发 | | 用户/角色权限 | `#/users` `#/roles` | JWT + RBAC 细粒度权限 | | 配置中心 / 设置 | `#/config` `#/settings` | 分组配置、LLM 接入参数 | | API Key | `#/apikeys` | 创建/轮换/吊销,明文仅展示一次 | | 资源库 | `#/resources` | 文件上传与托管 | | 内容管理 | `#/cms` | 公告草稿/发布 | | 日志审计 | `#/logs` | 操作审计、采集日志、LLM Token 用量 | | 备份恢复 | `#/backup` | SQLite 快照备份/恢复 | | 开放 API | — | `X-API-Key` 鉴权的 `/api/v1/*` 公共接口 | ## 技术栈 - **后端**:Python 3.13 · FastAPI · SQLAlchemy 2(SQLite dev / PostgreSQL+TimescaleDB prod)· JWT(python-jose)· pbkdf2 密码哈希 - **前端**:Vue 3(no-build,本地自托管)· ECharts 5 · Hash 路由 · 设计令牌 CSS(`--primary:#1e3a5f` 等,与原型一致) - **爬虫引擎**:CrawlerEngine 抽象接口,内置 XScrapy / Scrapling / Mock 三个适配器 + 统一清洗去重管线 - **LLM**:OpenAI 兼容 Provider(可配置 base_url/model/key),未配置时预测服务自动回退规则引擎 ## 快速开始(本地开发) ```bash pip install -r backend/requirements.txt python -m uvicorn app.main:app --app-dir backend --port 8000 # 浏览器打开 http://127.0.0.1:8000 # 默认账号:admin / admin123 ``` 首次启动自动建表并灌入演示数据(用户/角色/新闻/行情序列/告警规则/平台演示 Key)。 ## Docker 部署 ```bash # dev(SQLite,仅 api 容器也可独立起) docker compose up -d --build # → http://localhost:8000 # prod(TimescaleDB) # 1) backend/app/config.py 或环境变量切换 DATABASE_URL 到 postgres # 2) DDL 已由 db 容器初始化脚本自动执行(backend/ddl/postgres.sql) SECRET_KEY=<强随机串> docker compose up -d --build ``` ## 开放 API 示例 ```bash curl -H 'X-API-Key: dzp_demo_platform_key_2026' \ 'http://localhost:8000/api/v1/quotes?symbol=CU' curl -H 'X-API-Key: dzp_demo_platform_key_2026' \ 'http://localhost:8000/api/v1/news?page_size=5' ``` ## 目录结构 ``` ├── backend/ │ ├── app/ │ │ ├── main.py # 入口:路由装配 + SPA 托管 + 启动播种 │ │ ├── config.py database.py security.py models.py schemas.py deps.py utils.py │ │ ├── crawler/ # 引擎抽象 + x-scrapy/scrapling/mock 适配器 + 采集管线 │ │ ├── services/ # LLM Provider / 实时分析 / 资源存储 │ │ ├── routers/ # auth rbac config collection data analysis prediction apikeys resources maintenance public │ │ └── seed.py # 演示数据播种 │ ├── ddl/postgres.sql # 生产 TimescaleDB DDL │ └── Dockerfile ├── web/ # Vue3 SPA(index.html + assets) ├── docker-compose.yml ├── 数据采集分析平台_系统设计说明书.md └── 页面设计原型.html ``` ## 风险与注意事项 - **SECRET_KEY**:生产必须替换,JWT/API Key 哈希均依赖它。 - **演示 Key**:`dzp_demo_platform_key_2026` 为种子数据,生产环境请在 `#/apikeys` 轮换或吊销。 - **LLM 成本**:`llm_usage` 表记录每次调用 Token 用量,可在 `#/logs` 里审计。 - **SQLite 并发**:dev 单机可用;生产请切换 PostgreSQL(DDL 就绪)。