fb83c164da1b0ad5138e8bb36d0a29822fd4821a
宇之然内容创作平台
一个轻量级的管理平台,用于监控和操作内容生产流水线。
快速开始
1. 环境准备
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. 启动服务
# 方式一:使用启动脚本(推荐)
./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.pybackend/app/core/optimizer.py调用scripts/compliance_optimizer.pybackend/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允许的源 | * |
示例:
export PROJECT_ROOT=/path/to/yu-zhi-ran
./run.sh 8000
开发调试
# 检查依赖和环境
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: \"待处理\" 的数据2. 点击"全量刷新"按钮 |
| 创作任务失败 | 1. 查看 automation/logs/creator_*.log2. 确认 scripts/creator.py 可执行 |
| 发布包为空 | 1. 确认 automation/data/releases/YYYY-MM-DD/ 下有对应平台的 HTML2. 点击发布Tab → "重新生成" |
| 端口8000占用 | 停止其他 uvicorn 进程或 ./run.sh 8080 改用其他端口 |
部署清单
- FastAPI 后端(无 Docker,直接运行)
- Vue 3 前端(CDN依赖,无需构建)
- SQLite 数据库(
platform/data/yzr.db) - 自动化流水线集成(subprocess 调用)
- 数据同步模块(JSON ↔ SQLite)
- 流水线状态监控面板
- 日志查看功能
- 反向代理(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 助手
Description
Languages
JavaScript
57.7%
Python
22.7%
HTML
18.4%
Shell
0.8%
CSS
0.4%