一个基于热点新闻自动生成短篇小说的AI系统,集成了新闻爬取、内容生成和发布流程。
- 🌐 智能新闻爬取: 使用Jina Reader API自动抓取和处理新闻内容
- 🤖 AI内容生成: 基于Qwen模型将新闻转化为引人入胜的短篇小说
- 📚 结构化创作: 自动生成故事大纲、人物设定、世界观等完整创作要素
- 💾 数据持久化: SQLite数据库存储所有生成记录,支持后续分析和微调
- 🚀 自动发布: 集成番茄小说平台的自动发布流程(可选)
-
story_workflow.py: 主工作流引擎
- 新闻爬取与摘要生成
- 故事蓝图和大纲生成
- 分章节内容创作
- 数据持久化管理
-
publish_story.py: 自动发布模块
- 浏览器自动化控制
- 平台登录与会话管理
- 内容填充与发布
新闻URL → 爬取 → 摘要提取 → 故事蓝图生成 → 钩子设计 → 章节创作 → 发布
- Python 3.8+
- SQLite 3
- 克隆仓库
git clone https://github.com/yourusername/xingyue-studio.git
cd xingyue-studio- 安装依赖
pip install -r requirements.txt- 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入您的API密钥- Qwen API: 访问 阿里云DashScope 注册获取
- Jina API: 访问 Jina Reader 注册获取
-
准备新闻源文件
新闻爬取网站.md,每行一个URL -
运行主工作流
python story_workflow.py --news-list 新闻爬取网站.mdpython story_workflow.py \
--news-list 新闻爬取网站.md \
--max-sections 30 \
--min-total-words 20000 \
--db story.db参数说明:
--max-sections: 最大章节数(默认30)--min-total-words: 最小总字数(默认20000)--db: 数据库文件路径
# 首次运行需要手动登录
python publish_story.py
# 使用已有故事数据
python publish_story.py --skip-generation --run-id 1定义可用的故事标签分类:
- 男频/女频标签
- 主题标签
- 角色标签
- 情节标签
番茄小说平台的内容规范和审核要求(参考用)
系统使用SQLite存储所有数据:
runs: 运行记录news_articles: 爬取的新闻generation_steps: AI生成步骤story_sections: 故事章节
主要提示词模板位于 story_workflow.py:
SYSTEM_PRIMER: 系统角色设定PRE_CONTENT_PROMPT: 故事蓝图生成HOOK_PROMPT: 开篇钩子生成FIRST_SECTION_PROMPT: 首章生成FOLLOWUP_SECTION_PROMPT: 后续章节生成
实现 JinaCrawler 类的接口即可支持新的新闻源。
实现 QwenClient 类的接口,保持相同的 chat() 方法签名。
- API限制: 注意API调用频率和配额限制
- 内容审核: 生成内容需符合平台规范
- 版权问题: 新闻改编需注意版权合规
- 数据安全: 妥善保管API密钥,不要提交到版本控制
MIT License
欢迎提交Issue和Pull Request!
Discover Klik: https://pre.hiklik.ai/