LiPu-jpg/Openwrite
AI小说创作引擎 - 对话式引导创建项目、动态+静态文件防遗忘、多维风格提取与合成、通用技法质量审核、热门题材查看分析、多层渐进式压缩长文本 支持:四级大纲(总纲→篇→节→章)、三层风格合成、伏笔DAG管理、情节弧线-节拍模板驱动写作、去AI味技法
OpenWrite – 用于撰写长篇小说的AI增强型工作台
是什么 – OpenWrite 是一个本地运行的应用程序,允许作者与两个专业AI代理共同创作小说:
- Goethe – 帮助您组织想法、角色、世界观和滚动式大纲。
- Dante – 采用已确认的资产,组装适当的上下文,起草一章,执行自动审查,更新故事的“真实”文件,并将结果写入磁盘。
所有这些都位于一个单一的、版本控制的项目文件夹和基于Web的 Studio UI(或等效CLI)内。该系统旨在保持作者意图、情节事实和角色状态在数十或数百章中的一致性。
核心功能
| 功能 | OpenWrite 如何处理 |
|---|---|
| 全栈工作室 | Web UI 用于创建小说、配置模型、编辑大纲、管理资产、写作、审查、搜索,并导出为 Markdown/TXT/EPUB。 |
| 双代理 | Goethe = 规划与资产创建;Dante = 上下文组装、起草、事实提取、状态确定。代理仅在作者明确确认差异后才进行写作。 |
| 单一真实源 | src/ 存放规范的大纲、作者意图、角色和世界文件。运行时数据(手稿、记忆、审查、缓存)位于 data/ 下。 |
| 长上下文处理 | 每章系统构建一个 规范数据包,包含最近章节、滚动大纲、相关角色/状态片段以及最多四条召回的早期段落。 |
| 状态追踪 | 行级内联注释(例如 //**Shen Jin[伤势]:左臂轻伤 -> 已恢复**)记录角色位置、伤势、关系等。冲突会自动检测。 |
| 事务性写作 | 每个小说的锁确保写作、状态更新和文件写入同时成功;失败时系统回滚到快照。 |
| 结构化审查循环 | 37维审查检查作者意图、风格、连贯性、事实一致性等。问题按严重性显示,链接到源文本,并可生成基于差异的修订建议。 |
| 私有参考库与RAG | 导入旧草稿或外部作品,运行本地 FastEmbed 向量索引(或 OpenAI 兼容嵌入),可选启用 LightRAG 图形化检索以实现实体级推理。 |
| 可扩展技能 | 标准 SKILL.md 文件(或运行时 manifest.yaml 技能)可通过 @skill-id 在回合中调用。技能被沙盒化,且从不绕过作者确认步骤。 |
| 模型无关 | 支持 OpenAI、Anthropic 或任何 OpenAI 兼容端点。模型参数(模型名称、温度、上下文窗口等)在 Studio 的 Model Settings 面板中设置。 |
快速入门
- 克隆并启动
在 macOS/Windows 上,也可以双击提供的git clone https://github.com/LiPu-jpg/Openwrite.git cd Openwrite python3.10 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate python -m pip install -e . openwrite studio # 打开本地 Web UI启动 OpenWrite.command/启动 OpenWrite.bat,它会创建一个隔离的运行时,安装依赖项并打开 UI。 - 配置模型 – 在 Studio 顶部栏的 Model Settings 中选择 OpenAI、Anthropic 或自定义端点,输入 API 密钥并测试连接。
- 创建小说 – 首次运行向导会询问标题和文件夹(默认为
~/OpenWriteNovels/<Title>)。该文件夹将包含src/和data/子树。 - 使用 Goethe 规划 – 打开 AI 协作 面板,讨论情节想法、角色、世界观规则。Goethe 提出草案,您批准差异,资产将写入
src/。 - 使用 Dante 写作 – 从大纲视图中选择一章,设置字数目标,点击 Write。Dante 组装规范数据包,调用 LLM,撰写章节,提取事实变更并更新状态文件。
- 审查与修订 – 使用 Review 面板查看自动生成的问题,按严重性过滤,并应用建议的差异。
- 导出 – 当手稿完成后,前往 Project Migration 并导出为 Markdown、纯文本或 EPUB。
架构概览
Studio ──┐
Goethe ──┤ → NovelApplicationService (规范数据包、写入/审查/修订、状态管理)
Dante ──┼─
CLI ──┘
所有接口共享相同的 操作表面,因此 CLI 和 UI 行为一致。服务将确认的源文件存储在 src/,所有临时数据存储在 data/。
许可与社区
- 许可 – 核心代码采用 Apache-2.0;第三方组件保留其原始许可证(FastEmbed、LightRAG、LiteLLM、Vditor 等)。
- 贡献 – 运行
python -m pip install -e ".[dev]"并执行pytest检查测试套件。问题和功能请求通过 GitHub Issues 页面处理。 - 致谢 – 基于 LightRAG(图+向量检索)、FastEmbed(本地嵌入)、LiteLLM(模型网关)、Vditor(Markdown 编辑器)以及 oh-story-claudecode 技能套件构建。
适合人群
- 需要可靠方式保持角色弧线、世界规则和情节伏笔一致性的多章节小说作者。
- 希望获得 AI 协助但不愿放弃控制权的写作者——对规范故事文件的任何更改都必须明确批准。
- 偏好 本地优先 工作流(无需强制云存储)但仍希望可选使用云嵌入或 LLM 端点的团队。
总结 – OpenWrite 是一个功能齐全、本地托管的 AI 代理平台,专为长篇小说写作的长上下文挑战而设计。它结合了规划、起草、自动审查、向量/RAG 检索和版本安全的 UI,同时确保作者在每个关键编辑中都保持参与。
相关
- 项目
- 项目
- 项目
- 项目
- 项目