# Novel2Script **Repository Path**: oldteach/novel2-script ## Basic Information - **Project Name**: Novel2Script - **Description**: Novel2Script 是面向网文作者的 AI 辅助剧本生成工具,支持 3 章及以上小说文本自动解析、拆分场景、提取角色,输出标准化可编辑 YAML 剧本文件,降低小说改编剧本的人工成本,快速产出初稿剧本,便于创作者二次修改打磨。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: feature/init-project - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-20 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Novel2Script - AI 小说转剧本工具 将小说自动转换为结构化剧本(YAML格式),帮助作者快速获得剧本初稿,降低改编门槛。 ## 功能特性 - **章节自动分割** - 支持「第X章」「Chapter X」「第 X 章」等多种章节标题格式 - **角色智能提取** - 自动识别说话人,提取角色名称并统计出现频次 - **场景自动检测** - 基于地点关键词识别场景切换,自动标记场景边界 - **对话转剧本格式** - 分离对话与动作描述,转换为标准化剧本元素 - **YAML剧本输出** - 输出结构化 YAML 格式剧本,方便后续编辑和修改 ## 项目结构 ``` novel2-script/ ├── core/ # 核心转换模块 │ ├── character_extractor.py # 角色提取器 │ ├── dialogue_converter.py # 对话转换器 │ ├── parser.py # 小说解析器 │ ├── scene_detector.py # 场景检测器 │ └── script_generator.py # 剧本生成器 ├── utils/ # 工具模块 │ └── text_processor.py # 文本处理工具 ├── config.py # 配置文件 ├── main.py # 命令行入口 └── requirements.txt # 依赖列表 ``` ## 技术栈 - **Python** 3.8+ - **PyYAML** 6.0.1 - YAML 格式输出 - **Pydantic** 2.5.0 - 数据验证 - **regex** 2023.12.25 - 高级文本处理 ## 依赖安装 ```bash pip install -r requirements.txt ``` ## 快速开始 ### 命令行使用 ```bash python main.py -i input_novel.txt -o script.yaml ``` 参数说明: - `-i, --input` - 输入的小说文件(必需) - `-o, --output` - 输出的剧本文件(默认:`script.yaml`) ### 编程使用 ```python from core.script_generator import ScriptGenerator generator = ScriptGenerator() result = generator.generate(novel_text, title="作品标题", author="作者") yaml_output = generator.to_yaml(result) ``` ## 输出格式示例 ```yaml title: 作品标题 author: 作者 chapters: - title: 第一章 scenes: - location: 场景地点 elements: - type: action content: 动作描述 - type: dialogue character_id: C001 content: 对话内容 ``` ## 扩展开发 - `core/parser.py` - 修改 `_is_chapter_header()` 方法支持更多章节格式 - `core/scene_detector.py` - 调整 `_extract_location()` 中的地点关键词 - `core/character_extractor.py` - 优化角色名称识别逻辑 ## 许可证 MIT License ## 在线演示地址 Novel2Script 剧本可视化页面已部署,可直接访问: [Novel2Script 在线演示](https://msx.pythonanywhere.com) ## demo视频地址 【由于我们技术和经验有限,作品还有很多不足,恳请各位评委老师多多批评、指点指正。】 bilibili:https://www.bilibili.com/video/BV1KEEt6zEnP?t=81.5