面向"内容生产、领取与发布"的全流程 AI 内容创作平台。支持多分类、多模型、多用户协作:集成了 AI 在线创作、热点选题发现、本地库自动入库等核心功能,帮助创作者高效产出高质量内容并发布到外部平台。
本项目旨在解决内容创作者面临的选题难、创作效率低、多平台管理混乱等痛点。通过集成全网实时热点发现与多模型 AI 创作能力,构建从选题、生成、编辑到管理的一站式闭环。
- 热点发现阶段:通过联网搜索接口(如 Tavily)实时抓取全网各分类下的热门选题,并提供原始来源溯源。
- AI 在线创作阶段:用户选择提示词模板,系统调用多供应商大模型(通过 LiteLLM 统一接入)在线生成文章。
- 本地入库阶段(可选):保留原有的离线扫描机制,定期扫描本地
generated_articles/目录并同步至系统。 - 编辑与分发阶段:用户通过集成的 Vditor 编辑器进行深度润色,一键保存至文库,支持导出 Markdown/HTML 等多种格式。
- AI 引擎:集成 LiteLLM,支持 OpenAI、Anthropic、文心一言、DeepSeek 等 100+ 供应商。
- 动态模板:基于 Jinja2 实现高级提示词渲染,支持动态变量表单。
- 全网溯源:AI 生成内容自动关联参考来源链接,确保内容真实性与可信度。
- 安全加固:完善的 API Key 脱敏机制与系统参数在线配置管理。
- 现代编辑:集成 Vditor,提供 Typora 级的所见即所得编辑体验。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI 创作中心 │<──>│ 热点发现层 │<──>│ 联网搜索 API │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ ▲ │
▼ │ ▼
┌─────────────────┐ ┌──────┴──────────┐ ┌─────────────────┐
│ 多模型路由层 │<──>│ 管理后台中心 │<──>│ 数据库/文件 │
│ (LiteLLM) │ │ (参数/模板/模型)│ │ (Article/Meta) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- AI 在线创作:支持选择模板、填写变量、在线流式生成。
- 热点选题溯源:实时发现行业热点,并记录所有参考来源 URL。
- 多模型供应商管理:支持 OpenAPI 标准模型的自动扫描与同步。
- 系统配置中心:在线管理 API Key 等敏感参数,支持自动脱敏展示。
- 领取记录管理:按工作流管理文章状态(待领取 → 已领取 → 已发布)。
- 后台自动扫描:定时扫描本地文件目录并完成入库。
- 登录管理后台
/articles/admin/ai/ - 在 “系统参数配置” 中添加
TAVILY_API_KEY(用于热点发现) - 在 “供应商管理” 中添加 AI 供应商(如百度文心),点击“扫描模型”自动同步模型列表。
- 点击侧边栏 “AI 创作”
- 选择分类获取实时热点,点击感兴趣的选题自动填充
- 选择 Prompt 模板,填写必要参数,点击“立即生成”
- 在编辑器中完成润色后,点击“保存文章”入库
- 将本地生成的
.md文件放入generated_articles/<分类>/ - 系统会自动或通过命令
python manage.py scan_articles完成入库。
- 环境要求
- Python ≥ 3.9
- uv (推荐) 或 pip
- 安装依赖
uv pip install -r requirements/dev.txt -i https://pypi.tuna.tsinghua.edu.cn/simple- 初始化与运行
python manage.py migrate
python manage.py runserverTAVILY_API_KEY:联网搜索必备。ARTICLE_SCAN_ENABLED:是否启用离线文件后台扫描。- 更多配置见
.env.example或管理后台配置页。
apps/
articles/
services/ # 核心业务层 (AI生成、热点搜索)
management/commands/ # 后台任务调度
models.py # 数据模型 (含 AIProvider, PromptTemplate 等)
api.py # RESTful 接口 (Django Ninja 实现)
common/ # 基础工具与脱敏逻辑
docs/ # AI 创作模块设计说明书及开发规范
templates/ # 前端模板 (含 AI 创作中心及管理后台)
python manage.py runserver # 启动开发服务器
python manage.py scan_articles # 手动触发本地扫描
pytest -q # 运行自动化测试- 欢迎提交 Issue 与 PR。请确保代码遵循
docs/Development_Specifications.md中的规范。
- 如需开放协议,请新增
LICENSE文件并在此声明。