Initial commit: yu-zhi-ran platform with automation integration
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# 宇之然内容创作平台
|
||||
|
||||
一个轻量级的管理平台,用于监控和操作内容生产流水线。
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 环境准备
|
||||
|
||||
```bash
|
||||
cd /root/.openclaw/workspaces/yzr-yxl/projects/yu-zhi-ran/platform
|
||||
|
||||
# 创建虚拟环境(推荐)
|
||||
backend/venv/bin/python -m venv backend/venv # 若不存在
|
||||
source backend/venv/bin/activate
|
||||
|
||||
# 安装依赖
|
||||
pip install -r backend/requirements.txt
|
||||
```
|
||||
|
||||
### 2. 启动服务
|
||||
|
||||
```bash
|
||||
# 方式一:使用启动脚本(推荐)
|
||||
./run.sh 8000
|
||||
|
||||
# 方式二:手动启动
|
||||
cd backend
|
||||
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
|
||||
```
|
||||
|
||||
### 3. 访问
|
||||
|
||||
- **界面**: http://localhost:8000/
|
||||
- **API文档**: http://localhost:8000/docs
|
||||
- **系统状态**: http://localhost:8000/api/system/status
|
||||
|
||||
## 核心功能
|
||||
|
||||
| 功能 | 描述 |
|
||||
|------|------|
|
||||
| 📊 仪表盘 | 选题总数、待发布数、今日生成 |
|
||||
| 🔄 流水线控制 | 触发创作、合规优化、状态监控 |
|
||||
| 📝 选题管理 | 列表、筛选、预览、发布 |
|
||||
| 📦 发布包管理 | 生成多平台HTML发布包、复制 |
|
||||
| 📋 日志查看 | creator/optimizer/collector 日志 |
|
||||
|
||||
## 与自动化流水线的集成
|
||||
|
||||
本平台位于 `platform/`,不修改原有 `automation/scripts/` 脚本。
|
||||
|
||||
**集成方式**:
|
||||
- `backend/app/core/generator.py` 调用 `scripts/creator.py`
|
||||
- `backend/app/core/optimizer.py` 调用 `scripts/compliance_optimizer.py`
|
||||
- `backend/app/api/publisher.py` 调用 `scripts/publisher.py`
|
||||
- 数据存储:`automation/data/` 为唯一数据源
|
||||
- 同步:`sync.py` 将 JSON 选题同步到 SQLite 数据库供前端查询
|
||||
|
||||
**目录结构关系**:
|
||||
|
||||
```
|
||||
yu-zhi-ran/
|
||||
├── platform/ # 管理平台(本目录)
|
||||
│ ├── backend/app/
|
||||
│ │ ├── core/generator.py → 调用 ../scripts/creator.py
|
||||
│ │ ├── core/optimizer.py → 调用 ../scripts/compliance_optimizer.py
|
||||
│ │ └── api/publisher.py → 调用 ../scripts/publisher.py
|
||||
│ └── frontend/index.html # UI
|
||||
├── automation/
|
||||
│ ├── data/ ← 数据源(JSON)
|
||||
│ │ ├── sustainability_topics.json
|
||||
│ │ ├── drafts/
|
||||
│ │ └── releases/
|
||||
│ └── logs/ ← 日志(creator, optimizer, publisher)
|
||||
└── scripts/
|
||||
├── creator.py ← 被调用
|
||||
├── compliance_optimizer.py
|
||||
└── publisher.py
|
||||
```
|
||||
|
||||
## 配置
|
||||
|
||||
环境变量(可选):
|
||||
|
||||
| 变量 | 说明 | 默认 |
|
||||
|------|------|------|
|
||||
| `PROJECT_ROOT` | 项目根目录 | 自动推导 |
|
||||
| `DATA_DIR` | 平台数据库目录 | `platform/data` |
|
||||
| `LOG_LEVEL` | 日志级别 | `INFO` |
|
||||
| `ALLOWED_ORIGINS` | CORS允许的源 | `*` |
|
||||
|
||||
示例:
|
||||
```bash
|
||||
export PROJECT_ROOT=/path/to/yu-zhi-ran
|
||||
./run.sh 8000
|
||||
```
|
||||
|
||||
## 开发调试
|
||||
|
||||
```bash
|
||||
# 检查依赖和环境
|
||||
python check.py
|
||||
|
||||
# 查看 API 日志
|
||||
tail -f automation/logs/creator_$(date +%Y-%m-%d).log
|
||||
|
||||
# 数据库初始化(首次)
|
||||
cd backend
|
||||
python -c "from app.database import init_db; init_db()"
|
||||
|
||||
# 手动同步数据(测试)
|
||||
curl -X POST http://localhost:8000/api/system/sync/run
|
||||
```
|
||||
|
||||
## 故障排查
|
||||
|
||||
| 症状 | 检查点 |
|
||||
|------|--------|
|
||||
| 前端显示无选题 | 1. `automation/data/sustainability_topics.json` 是否存在且包含 `status: \"待处理\"` 的数据<br>2. 点击"全量刷新"按钮 |
|
||||
| 创作任务失败 | 1. 查看 `automation/logs/creator_*.log`<br>2. 确认 `scripts/creator.py` 可执行 |
|
||||
| 发布包为空 | 1. 确认 `automation/data/releases/YYYY-MM-DD/` 下有对应平台的 HTML<br>2. 点击发布Tab → "重新生成" |
|
||||
| 端口8000占用 | 停止其他 uvicorn 进程或 `./run.sh 8080` 改用其他端口 |
|
||||
|
||||
## 部署清单
|
||||
|
||||
- [x] FastAPI 后端(无 Docker,直接运行)
|
||||
- [x] Vue 3 前端(CDN依赖,无需构建)
|
||||
- [x] SQLite 数据库(`platform/data/yzr.db`)
|
||||
- [x] 自动化流水线集成(subprocess 调用)
|
||||
- [x] 数据同步模块(JSON ↔ SQLite)
|
||||
- [x] 流水线状态监控面板
|
||||
- [x] 日志查看功能
|
||||
- [ ] 反向代理(Nginx)配置(如需外网访问)
|
||||
- [ ] HTTPS(Let's Encrypt)
|
||||
- [ ] 系统服务(systemd)
|
||||
|
||||
如需外网访问,建议配置 Nginx 反向代理和 HTTPS。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **后端**: FastAPI 0.115.0 + Uvicorn
|
||||
- **前端**: Vue 3 + Element Plus
|
||||
- **数据库**: SQLite 3
|
||||
- **脚本**: Python 3 (subprocess)
|
||||
- **样式**: Tailwind CSS (CDN)
|
||||
|
||||
## 文档
|
||||
|
||||
- 详细架构设计: `PORTFOLIO.md`
|
||||
- 使用说明: 本文档
|
||||
- API 文档: http://localhost:8000/docs (运行后)
|
||||
|
||||
---
|
||||
|
||||
**版本**: 0.1.0
|
||||
**更新**: 2026-04-19
|
||||
**维护**: 宇之然 AI 助手
|
||||
Reference in New Issue
Block a user