一个强大的基于大语言模型的小说创作工具,能够自动完成从创意构思到成品小说的全流程创作。
- 🤖 AI驱动决策:AI代理能分析创作提示,自主决定小说类型、风格、结构等关键参数
- 📝 多轮章节生成:每章约8000字,通过多轮生成达到目标字数,确保内容连贯
- 💾 状态保存与恢复:支持中断恢复创作,定期保存创作状态,避免进度丢失
- 🔄 完整创作流程:从概念构思、角色设计到章节大纲和内容撰写的全流程支持
- 📋 结构化输出:生成包含章节、标题等完整结构的小说内容
- 🌐 多模型支持:支持多种大语言模型,默认使用豆包AI
- ✍️ 作家风格模仿:支持模仿特定作家的写作风格,用于学习和创作参考
- 📈 创作引导辅助:专为作家设计的写作把控工具,提供灵感和指导
⚠️ 注意:当前版本为测试版,功能持续优化中。
- 剧情生成:系统能够生成完整连贯的故事剧情,角色形象鲜明,情节发展合理
- 故事大纲:生成的故事大纲结构完整,情节点安排合理,起承转合清晰
- 角色刻画:角色设定丰富,性格特点鲜明,背景故事详实且具有深度
- 世界观构建:能够构建复杂且一致的世界观体系,提供丰富的背景细节
- 风格多样化:支持多种文学风格和体裁,从硬科幻到言情都有良好表现
- 完整工作流:从创意萌发到成品小说的全流程支持,减少创作阻力
- 内容幻觉:由于AI模型自身局限,偶尔会出现事实不一致或逻辑矛盾的情况
- 实时反馈:大幅度内容生成过程中缺乏实时显示,用户体验有待改进
- 文风模仿:当前的作家风格模仿功能准确度有限,需要进一步完善
- 长文本记忆:在长篇创作中可能出现前后文记忆不一致的问题
- 特定领域知识:在某些专业领域的描写可能不够准确或深入
- 多视角处理:多角色视角切换时偶有混乱,需要人工干预调整
- 📚 风格库扩展:更多知名作家风格模板
- 🔍 情节分析工具:对现有作品进行深度剖析
- 🧠 创意推荐系统:基于现有内容提供创意拓展建议
- 🔄 协同创作模式:支持AI与人类作家协同创作
- 📱 移动端支持:随时随地进行创作
- 🌐 多语言支持:更多语言的创作支持
- 🖋️ 专业作家定制:针对特定作家文风的AI创作引擎,精确复刻文学大师的写作特点
- 🔧 模型优化计划:针对幻觉问题的特定优化,提高长文本创作的一致性
- 📋 实时生成显示:改进多轮章节生成的实时反馈机制,提供更好的创作体验
- 🎭 深度角色系统:更加智能的角色行为模拟,确保角色行为的一致性和真实感
- 🏆 专业评审功能:集成文学评论视角,对创作内容提供专业建议
- 📊 数据分析工具:提供作品阅读体验预测和受众分析功能
- Python 3.8+
- 豆包AI API密钥(或其他LLM API密钥)
# 克隆仓库
git clone https://github.com/yourusername/novel-agent.git
cd novel-agent
# 安装依赖
pip install -r requirements.txt
# 使用命令行创建小说
python main.py "一个关于太空探险的科幻故事"
# 指定输出目录
python main.py --output-dir "./my_novels/space_adventure" "一个关于太空探险的科幻故事"
# 使用特定API密钥
python main.py --api-key "your-api-key" "一个关于太空探险的科幻故事"
# 模仿特定作家风格
python main.py --author-style "刘慈欣" "一个关于太空探险的科幻故事"
如果创作过程中断,可以使用以下命令恢复:
# 从状态文件恢复创作
python main.py --restore-state "output/novel_12345678/state.json"
参数 | 短形式 | 描述 |
---|---|---|
--output-dir |
-o |
指定输出目录 |
--api-key |
-k |
指定API密钥 |
--no-thinking |
-n |
隐藏AI思考过程 |
--restore-state |
-r |
从指定状态文件恢复创作 |
--author-style |
-a |
指定要模仿的作家风格 |
- 提示分析:AI分析创作提示,确定小说类型、风格等参数
- 概念构思:生成小说的核心概念、主题、背景设定
- 角色设计:创建小说中的主要角色,包括性格、背景故事等
- 情节构建:设计小说的整体故事大纲和情节发展
- 章节规划:划分章节结构,创建每章大纲
- 内容创作:根据章节大纲创作详细内容,支持多轮生成
- 汇总整理:将所有章节组合成完整小说,生成最终作品
> python main.py "一个年轻人在废土世界中寻找生存希望的故事"
📝 开始小说创作流程...
🧠 AI代理正在分析创作提示...
📋 AI代理的关键创作决策:
- 小说类型: 后启示录科幻/生存
- 目标字数: 50000字
- 主题: 希望与坚韧
- 叙事视角: 第一人称
- 语言风格: 简洁有力,富有张力
- 故事结构: 英雄之旅
- 章节数量: 8章
创建小说核心概念中...
设计小说角色中...
创建故事大纲中...
创建章节大纲中...
创作第1章: 灰烬中的新生 - 第1轮生成
目标字数: 8000字
...
✅ 小说创作完成!用时: 15分20秒
📝 标题: 废土求生:希望之路
📊 字数: 50280字
📂 小说保存至: output/novel_12345678/novel.md
本系统特别优化了对专业作家的支持,提供以下辅助功能:
- 结构分析:分析现有章节结构,提供优化建议
- 情节评估:评估情节紧凑度和吸引力,提出改进方案
- 角色一致性:检查角色表现的一致性,避免人设崩塌
- 风格保持:确保全文风格统一,符合预期调性
- 内容扩充:针对薄弱环节提供详细扩充建议
- 文风匹配度:分析当前创作与目标作家文风的匹配程度,提供调整建议
- 句式多样性:评估文本的句式结构多样性,避免行文单调
- 表达新鲜度:检测过度使用的词汇和表达,提供替代建议
这些功能旨在辅助作家写作,而非替代创作过程,帮助作家保持创作的掌控力。
在 config
目录下的 config.toml
中可以配置默认参数:
[llm]
provider = "doubao"
model = "deepseek-r1-distill-qwen-7b-250120"
api_key = "your-api-key"
base_url = "https://ark.cn-beijing.volces.com/api/v3"
[novel]
default_genre = "现代小说"
default_language = "中文"
main.py
- 主程序入口app/novel_flow.py
- 小说创作流程的核心实现app/llm.py
- LLM接口封装app/novel_agent.py
- AI代理实现app/prompt/
- 提示词模板
Q: 创作过程中断了,如何恢复?
A: 使用 --restore-state
参数指向状态文件,例如:python main.py --restore-state "output/novel_12345678/state.json"
Q: 如何测试API连接是否正常?
A: 运行测试脚本:python test_callai.py --api-key "your-api-key"
Q: 如何调整每章的字数?
A: 在 app/novel_flow.py
中修改 target_words_per_chapter
变量的值(默认为8000)
Q: 系统支持什么类型的小说创作?
A: 系统支持各类型小说创作,包括但不限于科幻、奇幻、悬疑、言情、都市等
Q: 如何减少AI生成内容中的幻觉问题?
A: 使用详细的创作提示可以减少幻觉,例如:提供详细的角色描述、明确的情节要求和逻辑关系。同时,定期保存创作状态,以便在发现问题时能够回溯修改。
Q: 系统支持多轮章节生成的好处是什么?
A: 多轮生成可以确保长篇内容的连贯性,避免单次生成可能导致的内容不足或质量下降。同时,使用多轮生成可以更好地保持上下文信息,使故事发展更加自然。
本项目使用 MIT 许可证