Skip to content

Repository files navigation

星月工作室 - AI驱动的短篇小说生成系统

一个基于热点新闻自动生成短篇小说的AI系统,集成了新闻爬取、内容生成和发布流程。

功能特性

  • 🌐 智能新闻爬取: 使用Jina Reader API自动抓取和处理新闻内容
  • 🤖 AI内容生成: 基于Qwen模型将新闻转化为引人入胜的短篇小说
  • 📚 结构化创作: 自动生成故事大纲、人物设定、世界观等完整创作要素
  • 💾 数据持久化: SQLite数据库存储所有生成记录,支持后续分析和微调
  • 🚀 自动发布: 集成番茄小说平台的自动发布流程(可选)

系统架构

核心模块

  1. story_workflow.py: 主工作流引擎

    • 新闻爬取与摘要生成
    • 故事蓝图和大纲生成
    • 分章节内容创作
    • 数据持久化管理
  2. publish_story.py: 自动发布模块

    • 浏览器自动化控制
    • 平台登录与会话管理
    • 内容填充与发布

工作流程

新闻URL → 爬取 → 摘要提取 → 故事蓝图生成 → 钩子设计 → 章节创作 → 发布

安装配置

环境要求

  • Python 3.8+
  • SQLite 3

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/xingyue-studio.git
cd xingyue-studio
  1. 安装依赖
pip install -r requirements.txt
  1. 配置API密钥
cp .env.example .env
# 编辑 .env 文件,填入您的API密钥

API密钥获取

使用方法

基础使用

  1. 准备新闻源文件 新闻爬取网站.md,每行一个URL

  2. 运行主工作流

python story_workflow.py --news-list 新闻爬取网站.md

高级选项

python 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

配置文件说明

类型标签库.md

定义可用的故事标签分类:

  • 男频/女频标签
  • 主题标签
  • 角色标签
  • 情节标签

番茄规则.md

番茄小说平台的内容规范和审核要求(参考用)

数据库结构

系统使用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 类的接口即可支持新的新闻源。

集成其他AI模型

实现 QwenClient 类的接口,保持相同的 chat() 方法签名。

注意事项

  1. API限制: 注意API调用频率和配额限制
  2. 内容审核: 生成内容需符合平台规范
  3. 版权问题: 新闻改编需注意版权合规
  4. 数据安全: 妥善保管API密钥,不要提交到版本控制

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

联系方式

Discover Klik: https://pre.hiklik.ai/

About

AI-driven short story generation system that converts news into engaging fiction

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages