e1ba31afda
- 修复system.py缩进错误 - 优化前端页面样式(待重构) - 改进API接口结构 - 完善文档和自动化脚本 - 平台基本功能稳定运行
157 lines
4.5 KiB
Markdown
157 lines
4.5 KiB
Markdown
# 宇之然内容创作平台
|
||
|
||
一个轻量级的管理平台,用于监控和操作内容生产流水线。
|
||
|
||
## 快速开始
|
||
|
||
### 1. 环境准备
|
||
|
||
```bash
|
||
cd /root/openclaw-workspace/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 助手
|