Skip to content

About

故事熔炉 StoryForge — AI 小说创作工作台 / AI novel writing workshop

Resources

Contributing

Security policy

Stars

858 stars

Watchers

2 watching

Forks

Latest commit

 

History

1,850 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoryForge 标志

StoryForge · 故事熔炉

写出故事,也走进故事。

简体中文 · English · Français · Deutsch · Italiano · Español · Português · 日本語 · 한국어

教程与交流: B 站视频教程 · 知乎专栏 · QQ 交流群:1082374587 · 更多联系方式

开源、本地优先的 AI 叙事创作与体验工具。创作长短篇小说,将小说改编成剧本、漫画与漫剧素材;通过插件组合自己的工具,也可以派生世界,制作跑团等互动体验。

官网 · 官方知识库 · 下载最新版 · 开始创作 · 体验《雾港》 · 查看技术架构

GitHub Stars MIT License Local-first / IndexedDB 自选模型 API 或本机 Codex

长篇、短篇、剧本、漫画、漫剧素材和世界引擎提供正式入口;节点与互动产品为预览。README 提供九种语言;界面及关联文档的语言覆盖请以实际内容为准。

官网、体验与官方知识库

首次了解项目,先看官网介绍;想看真实界面,可进入独立体验页;准备正式创作,再下载最新便携版并按知识库配置。

入口 可以做什么
官网 项目介绍、产品概览、社区创意工坊与联系信息
项目体验 浏览真实界面、阅读示例、创建体验副本并手动编辑;关闭 API 配置、AI 生成与外部服务
社区创意工坊 发现社区插件与内容包,查看作者、依赖与能力说明,下载后在本地应用导入
官方知识库 安装、五分钟上手、产品操作、模型配置、备份恢复、Prompt 方法、插件开发与故障排查
更新与开发状态 分别查看主干用户变化、尚未合并的开发和历史核对证据

开发状态 · GitHub Releases

知识库目前提供中文和英文。体验版使用独立浏览器数据空间;它与完整本地版、其他域名及端口不自动共享手稿。旧 Release 是固定历史版本,主干能力、应用部署和知识库发布分别核对。

近期能力与使用方式

以下依据 2026-10-13 远程 main 核对。长篇、短篇、剧本、漫画、漫剧素材和世界引擎提供正式入口;节点与互动产品保持预览,插件 API 1 / SDK 0.1 为开发预览。

漫剧前期生产:从故事到逐镜交付包

从一句话或小说来源进入“漫剧素材”,把创作推进到系列圣经、分集规划、角色/服装/场景/道具/声音物料、逐集节拍与剧本、分镜和参考帧。画面与运动提示词分别维护,质量审查检查连续性、素材权利和目标工具约束,再生成 Seedance、Runway、LTX 或通用工具适配包。物料与交付保留版本,修订后检查受影响镜头。交付终点在外部视频生成之前,视频生成、剪辑、配音混音与成片需在后续工具完成;适配包不承诺第三方当前套餐支持所有能力。

详细使用指南

插件与创意工坊:按作品组合工具

可安装功能插件、无代码内容包和锁定依赖的组合包,按作品或世界启用。12 个参考包展示便笺、卡片、历法、时间线、情节看板、节点流程、自定义 AI 和外部工具;首批专用替换接口是世界历史与故事进程。

打开应用 /workshop/discover 并明确开启开发预览后,可先创建独立体验作品或世界,再确认信任与安装。停用、卸载保留插件数据,重新安装对应版本恢复专用交互。

开发者可用公开 SDK 检查、打包 .sfplugin,或把知识库的指令与 Skill 资料包交给自己的 AI 编写。原生界面插件同源运行,须信任作者与代码;能力声明不是恶意代码沙箱。官网创意工坊与应用内本地安装管理有不同职责。

详细使用指南

节点预览:拆解、连接、修订与恢复

从节点库点击或拖入节点,也可在画布搜索创建;从输入或输出端口拖线,选择兼容节点,断开后重新连接。生成节点可选内置或自有 Prompt 模板,绑定变量、补充要求和温度、输出 Tokens、候选数量等控制。

模板调整随当前图保存,不改全局模板。“运行到此节点”只处理目标与必要上游,其他分支可留作草稿;候选修改与版本选择保存后,允许的正式节点沿同一长篇采纳链写回。刷新后可先恢复已保存结果,继续生成仍需另行操作;完整跨模式验收持续进行。

详细使用指南

本机 Codex 与多模型任务配置

除云端 API 和 Ollama / LM Studio 等兼容服务外,本地运行可通过 Codex app-server 复用已登录的 ChatGPT 账号,在设置中检测登录、选择实际可用模型并分配任务预设,无需在该通道填写 API Key。它仅接文本与结构化输出,纯静态线上版不可使用;图片、语音、向量仍需独立配置。订阅有模型权限与用量限制,不能理解为免费无限;断线后可查最近请求,结果未知不会自动重发,也不会自动切到其他付费 API。

详细使用指南

技术特色:每层解决什么问题

技术与设计 实现方式与价值
React + TypeScript + Vite 产品界面、明确的领域类型和独立构建;Zustand 管理交互状态,TipTap 支持正文编辑,Three.js 承载内置 3D 场景
Dexie / IndexedDB 与数据生命周期 作品和存档在浏览器本地保存;PROJECT_TABLES 统一表的备份、导入、删除、迁移与引用重映射,正文导出与完整备份分工明确
可追溯的上下文与采纳 CONTEXT_SOURCES + assembleContext() 登记读取;Context Gateway 按需检索并保留来源;FIELD_REGISTRY + AdoptionSchema + adopt() 限定正式写回
持久化 Harness 与版本保护 Skill / Run Contract、事件、检查点、候选和回执连接一次任务的输入与结果;采纳前检查作用域及版本,保存后的候选支持恢复
独立产品与冻结世界 Work 拥有作品内容;世界封存可版本化语义,衍生产品按各自 SourcePlan 读取,独立拥有媒资、发布与存档,避免一次游玩反向改写原作

源码入口与边界见下文架构、产品目录和回归证据。工程约束帮助保留依据与恢复状态,文学效果、角色表现和第三方模型能力仍需作者判断。

继续阅读: 漫剧指南 · 工坊安装与开发 · 节点指南 · 模型配置 · 备份恢复 · Prompt 与创作方法 · 反馈与支持

先体验一个故事

《雾港:失潮钟声》· 无需 API 的内置作品

启动项目后,在首页点击 雾港:失潮钟声,或打开本地站点的 /storyforge/play/mist-harbor。选择视觉小说或文字冒险,点击“开始故事”即可游玩,不需要模型 API。

恢复自原路演故事,包含 18 个叙事节点、158 个节拍、三条结局,以及 17 项原版背景、立绘和 CG。文字冒险可观察、交谈、取证;视觉小说可逐句阅读、选择分支并保存舞台进度。首次开始会创建独立的雾港世界与产品发布,已有项目保持原样;“继续游玩”恢复进度,“从头开始”另建存档。完整项目备份包含剧本、产品媒资与存档。

这是预写的内置作品,无运行时模型对话或配音;不代表通用文字游戏生成能力已完成。原稿可从作品页进入世界工作区查看,修改原稿不会自动改写已发布游戏。

《雾港:最后一盏灯》· 原创跑团社区预览

今夜的归航,十年前的真相。最后一盏潮灯即将熄灭,你与同伴需要调查旧海难,为今夜归航的人选择一条出路。

跑团作品页:《雾港:最后一盏灯》的开局入口

由 AI KP 主持,你与同伴调查旧海难、寻找线索并决定结局。游戏包随仓库提供,配置自己的模型 API 后即可开始。上图展示实际试玩入口。

体验过程: 提出行动 → 规则结算 → KP 回应 → 查看线索 → 保存并继续。

运行与模型配置 · 玩家说明 · 真实制作及试玩记录

试玩方式与当前范围
  • AI KP 主持,可单人配两名 AI 同伴,或同一设备上多人交接。
  • 原创 2d6 规则,包含调查、线索、角色秘密与有代价的结局选择。
  • 7 个场景、6 条线索、3 种结局;可以暂停、刷新继续和读取检查点。
  • 游戏包、封面和随包媒资已在仓库中,无需另找模组。

开始方式: 运行最新主干 → 首页“跑团” → 下方“跑团作品” → “开始一场新冒险”。也可打开本站 /storyforge/play。配置自己的模型 API,选择角色与参与方式后开始。

本作是本地社区预览,公共联网多人尚未部署。同机交接也不提供针对设备拥有者的秘密保护。详见玩家说明与真实制作及试玩记录。

三款 3D 叙事游戏 · 在文字开放世界中体验

启动最新 main 源码后,进入 文字开放世界 → 内置叙事游戏。无需 API、额外模型或外部游戏引擎;首页不展示这三款游戏的卡片。

作品 内容 本地路径
《潮痕:两声之间》 约 4–5 分钟;调查、工具、有序开闸、两条救援路线与结尾 /storyforge/play/tidemark-echo
《潮痕:最后一盏灯》 十章海边奇幻,三万汉字以上主线、五百句以上独立对白、四结局 /storyforge/play/tidemark
《远日点:第七码头》 十章深空科幻、设备谜题、支线和四结局;同样达到长篇内容下限 /storyforge/play/aphelion

建议从《两声之间》开始。桌面可用 WASD/方向键或点击移动,E 就近交互;手机可用界面按钮,设置提供文字探索、轻量画面与阅读方式。首次明确开始会准备独立的世界版本与游戏发布,进度保存在当前浏览器;新旅程与检查点分支保留原存档,完整项目备份可恢复游戏进度。安装 npm 依赖需要联网,完成加载后主线可离线游玩。

三款作品使用冻结脚本,无自由输入 AI 对话或角色配音,不代表通用游戏生产能力已全部完成。旧 Release 压缩包不会自动增加本次内容;请优先下载最新便携版,也可以运行最新 main。

为什么选择 StoryForge

  • 长篇有可追溯的记忆。 原文、事实、摘要和按需检索帮助找回早期伏笔;章后整理让已确认的变化进入后续创作。了解长篇
  • 每种作品都有专用生产流程。 短篇有篇幅与成稿检查,剧本保留改编依据,漫画分别管理页格、画面与排字。了解独立创作产品
  • AI 生成由你掌控。 正式创作先产出候选,作者确认后写回;Harness 提供版本保护、运行证据与恢复机制。查看架构与测试证据

本页导航: 快速开始 · 选择产品 · 第一次创作 · 长篇与节点 · 短篇剧本与漫画 · 世界与互动体验 · Harness · 模型与费用 · 备份与隐私 · 交流与支持

快速开始

版本说明:本文按 2026-10-13 的 main 核对;现有界面截图保留 2026-09-15 的青绿 UI 展示。长篇、短篇、剧本、漫画、漫剧素材和世界引擎已提供正式入口;文字冒险和文字开放世界仍在开发;在线服务与各产品专项能力以页面说明为准。旧 Release 是固定版本,不包含后续主干全部功能;在线站点可能有部署时差。体验本文新功能,推荐使用最新主干源码。

官网项目体验

进入官网体验版:浏览真实产品界面、内置作品和示例副本,可尝试手动编辑;API 配置、AI 生成与外部服务关闭。体验数据保存在当前浏览器独立空间,不会上传,也不读取本地版的手稿或密钥。正式创作请使用下方完整版本,并自行备份。

开发者可用 npm run build:showcase 生成独立的 dist-showcase/ 静态体验包,部署在 /storyforge/。它与普通 npm run build 共用页面和领域逻辑,使用独立数据库与存储前缀。不要用普通构建替代官网体验构建;部署还需配置只读静态路由和 CSP,参考 platform 仓库的 docs/WEBSITE-EXPERIENCE.md。

在线打开

访问 StoryForge 在线版。当前源码以新版青绿 UI 为正式入口,各产品在自己的页面内创建与管理作品;首页「示例作品」提供已有作品的阅读与体验。文字冒险和文字开放世界仍标注为开发中、非正式功能。

核心本地创作无需注册 StoryForge 账号;AI 生成需要你配置模型服务。第一次使用可以先手工创建作品、填写设定,再接入 AI。

如在线版与本文界面不同,或模型接口受浏览器跨域限制,请使用下面的本地方式。网站和本地地址拥有各自的浏览器数据,切换前请先导出备份。

本地运行

推荐 Node.js 24(与 CI 一致)和 npm。Windows、macOS、Linux 都可通过源码运行。

git clone https://github.com/yuanbw2025/storyforge.git
cd storyforge
npm ci
npm run dev

打开终端显示的地址,应用路径为 /storyforge/。例如默认端口可用时是 http://localhost:5173/storyforge/;端口被占用时以终端输出为准。使用期间保持终端运行,退出时按 Ctrl+C。

**不想安装开发环境:**打开最新版本下载页,选择对应电脑的 v4.0.0 便携 ZIP,解压整个文件夹后启动 Start-StoryForge。包内已包含当前界面、内置媒资和 Node.js,无需安装 npm 依赖。Windows 双击 .cmd,Mac 双击 .command,Linux 运行 .sh;详细步骤见安装指南。AI 创作需要自行配置模型服务,预览产品仍保留预览标记。

不使用 Git 也可以下载最新 main 源码 ZIP,解压后在项目目录运行 npm ci 和 npm run dev。

最新发行与下载提供当前便携包;全部历史版本保留旧发行。Source code ZIP 仍是源码,需要上述命令;请与便携 ZIP 区分。

第一次接入 AI

  1. 点击首页右上角 “模型与本地设置”,或在长篇工作区左侧进入 “设置”。
  2. 选择服务商。API 通道填写自己的 API Key、Base URL 和模型名称;本机 Codex 通道检测 ChatGPT 登录并选择模型,无需填写 Key。模型需在你的账户中实际可调用。
  3. 使用连接测试检查配置,再以一次小规模生成验证任务效果。连接成功不代表余额、输出长度和所有任务能力都已满足。
  4. 出现跨域错误时,按设置页提示使用本地代理。不要把 API Key 填进作品简介、提示词或公开反馈。

详细说明见下方模型与费用。

从你的目标开始

StoryForge 当前首页:独立作品、世界引擎和互动体验入口

你想做什么 从哪里进入 你能得到什么
写长篇小说、网文或系列故事 长篇 → 作品库 → 新建长篇 从设定、角色、卷章大纲到正文,并持续管理伏笔、事实和角色状态
完成一篇结构紧凑的故事 短篇 → 作品库 → 新建短篇 故事设计、章节卡、逐章创作、审校与成稿导出
把已有小说改成剧本 剧本 → 作品库 来源分析、改编规划、场景写作与 Fountain / FDX / 打印导出
把已有小说改成漫画 漫画 → 作品库 分页、分镜、角色视觉资料、图像与排字、分镜版或视觉版导出
准备漫剧、短剧的视频制作资料 漫剧素材 → 作品库 → 漫剧制作台 系列设定、逐集剧本、版本化物料、分镜、参考帧与外部工具输入包
搭建可复用的故事世界 世界引擎 → 我的世界 → 新建世界 独立设定、角色与规则;确认后封存为可引用的世界版本
自由组合长篇创作步骤 长篇 → 长篇工作台 → 节点创作 在可视节点中连接资料与生成动作,复用长篇的数据与能力
先玩一段现成的故事 跑团 → 作品库 / 游玩 《雾港:最后一盏灯》:AI KP、调查、同伴、秘密与结局选择
制作角色互动或文字游戏 角色聊天 / AI 小镇 / AVG;文字冒险与开放世界开发中 基于已封存世界制作自己的独立体验,按各产品成熟度试用

只写小说不需要先建立世界引擎。 长篇和短篇可以在作者确认后派生世界;剧本、漫画有各自独立的改编流程。游玩已提供的跑团作品也不需要先制作世界。

第一次创作

长篇作品库:在产品自己的页面创建作品

以长篇为例,你可以这样完成第一轮:

  1. 创建作品:顶部进入“长篇”,在作品库点击“新建长篇”,输入名称。项目文件夹可以稍后设置。
  2. 说明想写什么:在长篇工作台的“作品概况”“灵感与参考”“故事设计”中整理目标、参考和要求。只填这次创作需要的内容,不必先填满全部设定。
  3. 建立故事骨架:在“故事设计”“角色设计”中确定冲突、人物和动机,再进入“大纲”安排卷与章节。可以手写,也可以请求 AI 候选后修改和确认。
  4. 写第一章:进入“章节”,从大纲和细纲推进正文,使用生成、续写或编辑工具。先看候选,再决定是否采纳。
  5. 整理后续影响:检查本章带来的事实、人物状态、关系和伏笔变化,确认需要保留的内容,为下一章准备依据。
  6. 带走作品:进入“版本与导出”,用 Markdown / TXT 导出正文,用 JSON 保存完整备份。

截图使用隔离的“灯塔来信 · 界面演示”作品,展示当前实际界面;可阅读的内置作品位于“首页 → 示例作品”。

StoryForge 为创作多做了什么

故事变长后,需要找回很久以前的伏笔;小说变成剧本,需要重新安排冲突与场次;漫画有了漂亮画面,还需要正确的阅读顺序、对白和连续性。StoryForge 围绕这些具体问题,为不同产品建立了各自的生产流程,并共享可追溯、可恢复的 AI 执行底座。

展开各产品的关键设计与使用价值
产品 我们实现的关键设计 对使用者的价值
长篇 原文、结构化事实、分层摘要与按需检索;章后整理与未来影响分析 查回早期依据,让新章节承接人物、伏笔与主支线;修改时看清影响范围
节点(预览) 可视节点绑定长篇正式动作,共用作品、记忆与候选采纳链 拆开生成步骤、组合中间产物,沿用已有作品继续创作
短篇 独立篇幅与章节合同、逐章确认、带原文证据的审校、成稿检查 从一个点子推进到篇幅可控、问题可定位、版本可导出的短篇
剧本 冻结原文来源,关联事实与因果、改编决定、节拍、场景和结构化正文 查明每次删改的依据,分别审查原著忠实度与戏剧效果
漫画 脚本到页格的分阶段生产、角色视觉档案、显式阅读链、独立排字层 分别调整叙事、画面与对白;重做某一格,并检查整页是否可读
世界引擎 带来源的语义快照、不可变世界版本、按产品需求读取 同一个世界可供多个作品引用,每次制作都知道自己用了哪一版设定
互动产品(预览) 各自的规则、角色知识、事件、存档与演出状态 让行动有可记录的后果,让不同玩家和不同分支拥有独立经历

下文按产品展开这些机制、实际入口和当前边界;也可以直接看 Harness 架构与长期一致性闭环,沿源码和回归测试核对实现。

长篇与节点

从设定到正文的分步骤创作

分步骤长篇:设定导航、卷章结构与可编辑大纲

长篇工作区把创作过程中需要反复查看的内容放在一起:

创作环节 主要工具 对作者的帮助
构思与资料 灵感反推、项目参考、文档解析、资料与检索库 把零散想法和参考资料转成后续创作依据
世界与背景 世界起源、自然/人文环境、历史年表、世界地图、重要地点 管理作品内部的设定与空间关系
故事与人物 故事设计、主支线、角色生成与档案、关系网、角色驱动 让人物动机、冲突和情节规划相互关联
大纲与写作 卷纲、章纲、细纲、章节编辑、续写、扩写、重写、润色 在整体规划与逐章写作之间来回调整
连续性管理 伏笔、事实库、状态表、物品栏、故事年表、章后整理 跟踪写过的事实与变化,减少长篇中的遗漏和冲突
风格与控制 文风学习、创作规则、提示词库、上下文查看、AI 对话副驾 明确自己的写作要求,检查并决定 AI 的输入与结果
保存与恢复 自动保存、版本历史、完整备份、本地记忆工作区 保留作品与创作过程,便于备份和继续工作

长篇记忆:早期线索有依据,后续变化有去向

为跨章连续性建立四层资料链。 正文保留原始证据,事实、人物关系、事件与主支线保存结构化状态,章节/卷/全局摘要帮助定位,检索索引负责找回相关片段。生成任务通过 Context Gateway 先查目录、再按需读取细节,并记录实际使用的来源。摘要与索引会核对原文内容指纹;过期或缺失时保留原文回查路径。

例如写到后半部再次出现一件旧物时,检索链可以定位前文记载,再读取原文核对持有者、约定和出现时间。作品作用域与章节时间边界也参与过滤,减少混入其他作品内容或提前泄露后续情节的风险。作者可检查取到了哪些依据、还缺哪些内容。

为“写完一章之后怎么办”建立确认流程。 正文采纳后,章后整理提出事实、人物状态、关系、物品、年表、伏笔与主支线等变化候选,再由作者确认。主支线偏差与设定变化进入未来影响分析:已确认历史保持稳定,需要调整的后续规划标记为待处理,作者决定如何修订。

例如你提前揭开了一个秘密,可以检查哪些未来章纲和伏笔安排需要调整,再逐项处理。生成、修改与正式写回都有版本检查;等待确认期间原文发生变化,旧候选会被拦截,避免覆盖刚完成的编辑。

实现入口:长篇检索、章后整理、长篇产品契约与验收边界。

长篇已完成当前工程主链与 10 万 / 30 万 / 100 万字符规模验证。它证明数据与检索链路具备工程扩展基础;实际文学质量、长程一致性与费用仍取决于作品、模型和作者审校,不能理解为“一键生成百万字精品”。

节点创作:把长篇流程摆在画布上

节点模式用于查看、拆解和组合中间产物:连接资料、生成步骤和后续处理,检查每一步的输入输出。官方节点动作绑定长篇的正式领域 Skill,沿用同一份作品、上下文和候选采纳机制;开发者扩展节点时也沿用这些边界。

这种架构让“标准步骤”与“自由编排”可以共享能力:作者可围绕角色、场景或章节组织更细的工作流,某个正式生成动作的质量改进也能供两种入口复用。实验节点的草稿不能直接采纳为正式作品内容。

当前为预览,完整跨模式互操作仍在持续验证。日常写作可从分步骤模式开始,熟悉后再探索节点工作流。

短篇、剧本与漫画

三种产品在“新建”中各有入口,拥有自己的作品结构、审校和导出方式。

短篇小说

面向 5,000~25,000 字、3~8 章的独立故事,为短篇单独实现了创作要求、故事设计、章节规划、正文、全篇审校与定向重写的生产链。

  • 把篇幅目标变成完成条件。 创作要求与故事设计先确认,再逐章生成、编辑和采纳。完成检查读取实际正文长度、章节卡与正文完整性,显示与目标字数的偏差,帮助作者控制短篇规模。
  • 让审校意见落到原文。 问题带有章节和证据,重写针对具体章节;审校记录绑定本次手稿的内容指纹。正文改动后需要重新审校,避免拿旧报告给新稿盖章。
  • 保留可交付的定稿。 缺失章节、待处理候选和未解决的严重问题会阻止发布。通过检查后新增冻结作品版本,后续继续修订可保留原版,导出 Markdown、TXT、JSON。

对作者而言,工作台持续回答三个问题:还差哪一章、哪里需要修改、这一版是否已经完成。实现入口:短篇生产与完成检查、独立 AI 运行链。

小说转剧本

从本地小说选择来源后,系统冻结本次改编的内容与范围,再把原文组织成可追踪的事实、因果关系和改编决定,逐步推进到节拍、场景卡和场景正文。

  • 把改编选择保存成独立资料。 关键事实、人物动机与因果关系关联原文,删改决定继续关联后面的节拍和场景。作者可以检查一次人物合并或事件删减的依据,再判断是否接受。
  • 用结构化剧本组织场景。 场景正文采用 AST(结构化语法树)表示剧本块,配合场景卡管理动作和对白。格式由代码校验,同一份结构可导出 Fountain、FDX 或打印版本,便于继续编剧工作。
  • 把忠实度与戏剧性分开审。 来源忠实度审查和戏剧结构审查分别记录问题;修订补丁指定场景、问题和预期版本。已锁定场景需先解锁,过期修订无法直接写入,作者可以逐场改进而保留其余内容。

例如把小说中的内心独白改成一场对峙,作者可沿来源与场景映射核对信息是否保留,再审查动作、冲突和节奏是否成立。发布时冻结来源、改编决定与场景,后续改小说不会悄悄改变已导出的剧本。

实现入口:剧本生产与定向修订、版本封存、格式渲染。

小说转漫画

漫画采用分阶段生产:先把小说转成漫画脚本、节拍、分页和页格,再制作视觉素材与排字。作者可以在花费生图费用之前,先检查故事是否适合这样分镜。

  • 把阅读顺序写进数据结构。 页与格有稳定标识、布局和显式阅读链,保存镜头、动作、对白及来源关联。系统检查阅读顺序和页格结构,叙事审查再检查节奏与信息表达,问题可以定位到具体一页或一格。
  • 为角色与场景建立视觉档案。 人物、地点、道具有稳定身份、特征和选定参考素材;图片候选记录服务商、请求与实际参考图传输证据。作者可追踪一张图的来源,并为不合适的格子重新选图或生成。
  • 把画面与文字分层制作。 生图请求为对白区域留空间;气泡、旁白和拟声由本地 SVG 排字层渲染,可独立修改文字、字体和位置。对白错字无需重画整格,检查器会提示文字容量、重叠与边界问题;画面遮挡仍需作者审看。
  • 分别交付分镜版与视觉版。 两种版本有各自的完成检查;视觉版还检查选定图片和实际二进制内容。发布版本保留对图片 Blob 的强引用,避免仅因工作稿换图就丢失旧版媒资;通过对应检查后可导出 PNG、WebP、CBZ 或 PDF。

当前图像接入边界: 内置通用 OpenAI 兼容图像适配器当前只发送文本,未声明参考图、固定 seed 或局部重绘能力。系统会提示限制,不能把“在提示词中提到参考图”记作已传图的证据。视觉制作需要单独配置图像服务或采用符合要求的作者素材;角色一致性仍需要人工选图与审校。

实现入口:漫画生产、媒资与生成证据、本地排字、双版本质量检查。

以上三个产品已完成当前主干的工程闭环,内容质量和不同服务商的实际效果仍持续评测。各格式的具体适用条件以产品工作台为准。

世界与互动体验

世界引擎用于把设定、角色、关系与规则整理成可以被重复引用的世界。你可以从零构建,也可以由长篇或短篇显式派生;封存后,互动产品使用确定的世界版本。

flowchart LR
  A[长篇小说] -->|作者选择派生| W[世界草稿]
  B[短篇小说] -->|作者选择派生| W
  C[从零构建世界] --> W
  W -->|确认并封存| V[世界版本]
  V --> P[在具体产品中配置并开始制作]
  P --> R[发布作品并游玩]
  N[小说来源] --> S[独立剧本改编]
  N --> M[独立漫画改编]
Loading

小说本身就是完整作品;派生世界是可选的下一步。原作品的后续修改不会自动同步到派生世界,游戏进度也不会自动改写共享世界。

世界引擎:让故事资产可以稳定复用

我们为世界建立了独立身份、来源记录和不可变版本。 从小说派生时保存作者选定的内容范围、作品版本与内容指纹;封存时只收集设定、人物、关系等语义内容。图片、剧本成品和游戏存档由各产品自己管理。

不同产品按自己的需要读世界。 跑团需要规则和秘密,角色聊天需要人物与关系,小镇需要居民和地点。各产品声明必读、选读与禁止读取的内容,在开始制作前冻结来源计划(SourcePlan);通过 describe / search / read 逐步读取,并留下每次读取记录和最终来源清单(SourceManifest)。这些记录把“计划使用什么”和“实际使用了什么”关联起来。

这让作者可以用世界第一版发布一场跑团,同时继续编辑第二版设定。已有游戏仍引用第一版,另一部作品可以明确选择新版本;开发者也能接入新的叙事产品,而无需让它直接遍历世界引擎的内部数据库。

实现入口:世界版本读取接口、世界引擎契约。

互动产品:为不同体验建立专用运行机制

以下机制已经进入当前主干实现;各产品仍为预览,工程结构与完整体验的验收进度分别列出。

产品 已实现的具体机制 带来的体验价值与当前边界
跑团 / AI KP 规则包、骰点与效果结算;KP、玩家与 NPC 的上下文分工;秘密按接收者过滤;事件记录、检查点与分支 判定有证据,角色按可知信息行动,暂停后可继续。《雾港》已有实际模型制作与试玩记录;公共联网多人未部署
角色聊天 冻结角色档案与语气规则;场景目标;承诺、秘密、冲突等分类记忆;信任、亲近、戒备、尊重等关系状态 对话可以留下后续可用的记忆与关系变化,各会话独立保存;长期角色表现仍需持续验收
后日谈 AI 小镇 六时段日程、地点开放与移动规则;居民各自的知识、对话记忆和关系;轻经营、离线时间补算、事件回放与检查点 作者能观察原作结局之后角色在哪里生活、遇到谁、发生了什么;已有 14 天回放验证,长期模型与非测试媒资质量仍在验证
文字冒险 行动前置条件、背包与资源、能力和状态、任务目标;阈值、随机或资源支付判定;效果与奖励结算 获得钥匙、消耗资源、完成目标能改变后续可做的行动;完整体验按具体作品继续验证
AVG 剧情节拍绑定声明式演出指令;背景、角色、音频分层;媒资引用校验与舞台快照 作者能把某句对白与立绘、背景、声音对应起来,恢复时重建演出状态;完整视听交付仍需验收
文字开放世界 地区与旅行路径、资源和势力影响、角色日程、任务卡与模板、时间推进和区域变化传播 探索与任务可以关联持续变化的地区状态;完整生产流程和长期游玩质量仍在建设

以跑团的秘密为例,系统区分主持人掌握的事实和玩家已得知的信息,按接收者组织上下文;规则允许的状态变化再通过事件写入存档。小镇则按居民日程与可知信息组织生活过程。这些机制为“角色为什么知道这件事、这次行动改变了什么”提供了可检查的依据。

实现入口:跑团信息边界、角色互动、小镇、文字冒险、AVG 演出、开放世界。

查看产品入口与成熟度
产品 体验方向 当前阶段
世界引擎 设定编辑、独立世界身份、作者显式派生、封存版本与查询 正式入口,语义与版本工程基线已完成
跑团 制作战役、AI 主持、规则判定、线索与存档 预览;可先体验《雾港》,完整多人体验继续验证
角色聊天 使用确定的角色与世界背景展开对话,保留独立会话与分支 预览;长期记忆、角色表现与完整体验继续验收
后日谈 AI 小镇 让原作结局后的角色继续生活、相遇,发展关系与新故事 预览;已有日程、关系、轻经营与恢复链路,长期模型与媒资质量继续验证
文字冒险 通过行动与选择推进情节、规则和结局 预览;按具体作品验证完整流程
AVG 结合文字、背景、立绘与声音组织叙事演出 预览;完整视听交付继续验证
文字开放世界 探索地区、角色与任务,在独立存档中推进故事 预览;完整生产与长期运行体验仍在建设

在线社区、交易与全平台商业服务仍是后续方向。最新逐项状态见能力基线;界面入口及预览标记由产品目录控制。

共享技术底座

项目架构:独立产品,共享受治理的 AI 执行能力

不同产品有各自的领域服务、章节、场景、页格或运行状态。Harness 是模型调用外围的执行与校验系统:它负责记录一次任务的约定、实际输入、候选、版本、检查点与结果,再把这些证据连接到作品数据。

flowchart TB
  subgraph PRODUCTS["产品层 · 各自的领域服务与数据所有权"]
    L["长篇 / 节点"]
    C["短篇 / 剧本 / 漫画 / 漫剧素材"]
    W["世界引擎"]
    I["跑团 / 角色聊天 / 小镇 / 文字游戏"]
  end
  L & C & W & I --> H["共享 Harness · 正式 AI 任务<br/>Skill + Run Contract · 预算 · 版本 · 恢复"]
  H --> G["Context Gateway / 记忆<br/>登记来源 · 按需读取 · 原文溯源"]
  H --> M["模型适配器<br/>生成候选 · 返回原始响应"]
  H --> A["正式创作采纳<br/>作者确认 · 校验 · adopt"]
  H -.-> E["持久化运行账本<br/>事件 · 检查点 · 验收回执"]
  G -->|"作用域内读取"| D["本地数据与文件<br/>IndexedDB / 文件与媒资存储<br/>PROJECT_TABLES 治理生命周期"]
  A -->|"事务写入与回读"| D
  E --> D
  classDef engine fill:#e8f0fa,stroke:#5279a4,color:#18324f
  classDef author fill:#fff2df,stroke:#b58a45,color:#593b16
  classDef data fill:#eaf4ee,stroke:#628b73,color:#254a34
  class H,M,E engine
  class A author
  class G,D data
Loading

图中箭头表示依赖或数据访问,Harness 下方各模块并非执行顺序。长篇和短篇独立创作,不以世界引擎为前置;互动运行按产品命令与状态机推进,媒资和存档归各产品。下面以正式长篇创作说明执行顺序。

Harness 如何维护长期一致性

长期一致性依赖“依据可回查、变化经确认、下一步读到正确版本”的持续循环。 一章的生成只是其中一次运行;跨章记忆、审校、写回和未来规划共同构成闭环。

flowchart TB
  K["已确认资料<br/>原文 / 事实 / 状态 / 伏笔"]
  K --> R["1. 冻结任务与按需读取<br/>记录作用域、时间、版本与缺失"]
  R --> C["2. 生成并检查候选<br/>结构 / 信息边界 / 按需语义审查"]
  C --> A["3. 作者确认与版本检查<br/>采纳 → 回读 → 验收回执"]
  A --> P["4. 章后整理与未来影响<br/>提出变化 → 作者确认"]
  P -->|"更新资料与索引 · 供后续章节使用"| K
  R -. "必需证据不足" .-> X["暂停 / 拒绝写回<br/>保留证据,等待处理"]
  A -. "来源或目标已过期" .-> X
  classDef engine fill:#e8f0fa,stroke:#5279a4,color:#18324f
  classDef author fill:#fff2df,stroke:#b58a45,color:#593b16
  classDef data fill:#eaf4ee,stroke:#628b73,color:#254a34
  classDef paused fill:#f7eaea,stroke:#b27a7a,color:#6a3030
  class R,C engine
  class A,P author
  class K data
  class X paused
Loading

每个正式运行另有持久化账本与检查点;章后整理和未来修订由独立、有限的运行承接,也需要各自的版本检查与确认。图中的循环可以跨多次创作会话完成。

一致性问题 Harness 与领域机制如何处理 给作者留下的依据
早期事实、伏笔被遗忘 结构化事实、分层摘要与长尾检索定位证据,再核对原文;必需来源不足时阻止继续 Context Manifest 记录来源、内容指纹、实际读取与缺失
引入错误作品或过早知道后文 按作品/世界作用域与任务时间边界过滤来源,并检查信息边界 可检查的来源范围与边界证据
生成期间作者修改了设定 采纳前复查关键上下文与目标 revision;旧候选标记 stale,不能直接覆盖 候选绑定的输入版本、过期原因与原始输出
写入成功但后续没有承接 adopt() 后回读实际状态;章后整理连接记忆、检索与故事线,未来影响候选由作者处理 写回事件、post-state、后续运行关联与验收回执
审校结论落后于手稿 显式一致性审计绑定正文 hash;正文变化使旧审计凭据失效 可恢复的审计候选、所用来源与问题记录
刷新或中断打断创作链 从已验证检查点恢复并复查版本;已保存候选可复用,结果未知的外部请求不盲目重发 run / attempt / checkpoint 与失败或完成记录

例如,第 8 章确定某件信物只能由一人持有,第 80 章又要用到它:检索提供原文和已确认的归属状态,当前任务记录这些依据;如果你在候选生成后改了信物归属,版本检查会阻止旧候选直接采纳。采纳新章后,归属变化再进入章后整理,经确认供后续章节读取。这是机制示例;能否识别所有隐含矛盾,仍取决于审查能力和作者判断。

可以检查哪些证据

架构图概括代码分工,回归测试检验具体承诺。以下入口覆盖成功路径和故障反例,可在仓库中查看和运行:

需要验证的承诺 源码或回归测试
10 万 / 30 万 / 100 万字符下召回远中近证据,并隔离未来和错误世界 长篇规模门
必需证据缺失时停止;精确编辑目标不能退化为截取前缀 Gateway 执行与缺失检查
正文或上游设定变化后,旧候选不能覆盖作者编辑 正文采纳与版本反例
章后候选中断后恢复,已有候选无需再次调用模型 章后整理与恢复
一致性审计随正文变化失效,结果未知时不自动重试 显式一致性审计
已写历史保持稳定,上游变化使旧未来计划失效 未来演化边界

深入实现:正式正文运行、验收回执结构、架构总览、Harness 质量标准。

保障范围: 版本、作用域、结构、状态转换和写回规则由确定性代码检查;语义审查按任务配置或作者触发,隐喻、潜台词、未登记伏笔与文学效果仍需要模型和作者判断。规模测试使用工程夹具,不能等同于真实百万字小说已达到文学一致性。恢复覆盖已持久化的状态;辅助或实验入口按自己的登记边界执行,不自动拥有图中的完整链路。

模型与费用

StoryForge 使用你自己的模型服务,API 费用由相应服务商收取。开源代码和本地数据管理不意味着云端生成免费。

接入方式 设置页提供的选项
云端文本服务 DeepSeek、通义千问、豆包、MiniMax、智谱、文心、Kimi、OpenAI、Claude、Gemini 等
聚合与兼容接口 Poe、NVIDIA NIM、魔搭等预设,以及自定义 Base URL
本地模型 Ollama、LM Studio 等本地兼容服务
本机订阅连接 Codex app-server 复用本机 ChatGPT 登录,文本与结构化输出;订阅限制仍生效
图像与其他媒资 在具体产品中配置对应 provider;与文本生成能力分别验证

这些是当前接入选项,不是每个模型都已通过所有产品的效果测试。模型名称、可用额度与能力以服务商账户为准。完整设置实现见 AIConfigPanel。

  • 提示词可查看与调整:可使用提示词库、创作规则和补充要求来控制任务。
  • 上下文按任务组织:从作品设定、角色、大纲、正文与记忆等来源选取;可检查上下文和运行证据。
  • 费用可观察:通过消耗统计了解调用;先用小任务验证,再扩大篇幅。
  • 本地模型取决于设备与模型能力:不需要购买某个指定云服务,但复杂规划、结构化输出和生成速度可能存在差异。

备份与隐私

数据管理:完整备份、正文导出和本地工作区

数据与操作 保存位置或去向
作品、设定与本地存档 当前站点地址下的浏览器 IndexedDB
模型 API Key 默认仅本次浏览器会话;明确勾选“在本机记住”后写入 localStorage
云端 AI 请求 当前任务所需内容发送到你配置的模型服务
本地模型请求 发送到你配置的本地服务地址
JSON 备份、正文导出 下载到你选择的位置;正文导出不能替代完整备份
本地记忆工作区 用户授权的文件夹;按界面手动核对和确认读写
可选 GitHub Gist 备份 完整项目 JSON 上传至自己的私密 Gist;它不是端到端加密存储

第一次创作后就做一次 JSON 备份。 在长篇工作区打开“数据管理 → 导出 / 导入 → 导出 JSON”。换电脑、换域名、切换本地端口或清理浏览器数据前,先确认备份已保存;应用自动保存不等于跨设备同步。

本地文件夹的配置与恢复见本地记忆工作区指南。涉及漫画等媒资时,应使用对应产品和工作区提供的完整导出方式,不能仅备份正文。

常见问题

我必须会编程才能用吗?

在线版可以直接打开;本地源码版需要安装 Node.js 并运行几条命令。创作主要在界面中进行。旧视频的菜单可能与新版不同,请对照本页“第一次创作”。

为什么下载 Release 后没有这里的新功能?

请优先选择最新发行里的便携 ZIP,旧发行不会自动加入新功能。发行固定在发布时的提交;之后的开发可通过最新 main 源码获取,反馈时请提供发行版本和提交标识。

为什么模型连接失败,或测试成功却生成失败?

检查 API Key、账户额度、Base URL、模型访问权限与上下文限制。跨域问题按设置页提示使用本地代理。连接测试与实际创作任务不同;先读取错误说明,修正配置后再明确继续。

换浏览器以后为什么作品不见了?

本地数据属于特定浏览器配置和站点地址,localhost、127.0.0.1 与不同端口也不共享数据。回原地址查看,并通过完整备份迁移。

能不能只写小说,不碰世界引擎或游戏?

可以。长篇、短篇和两种改编产品独立成立。世界与互动路线是可选能力。

AI 会自动覆盖我的正文或设定吗?

正式创作流程先产生候选,由作者编辑、采纳或拒绝;涉及来源变化的旧候选会接受过期检查。重要调整前仍建议保存完整备份。

可不可以拿去商用?

仓库代码使用 MIT 许可;模型服务、第三方素材、原作授权与生成内容另按各自条款处理。代码开源许可不代替原作与素材授权。

交流与支持

入口 用途
B 站项目视频说明书 历史视频教程,帮助了解分步骤创作;新版入口以当前界面为准
知乎项目介绍 历史功能介绍与创作思路
开发者知乎主页 项目与开发内容
悬象 · 开发者项目主页 StoryForge 与其他作品入口
QQ 交流群:1082374587 交流使用经验、反馈问题与分享创作
GitHub Issues 可复现的问题、需求与改进建议

反馈时请提供:使用版本、浏览器/系统、具体操作、预期结果与实际结果;模型问题可附服务商和模型名称。分享截图或日志前移除 API Key、私密原文和个人信息。也欢迎展示自己愿意公开的作品片段与使用过程。

如果这个项目对你有帮助,欢迎 Star、分享教程、提交问题或参与贡献。

给开发者

StoryForge 使用 React、TypeScript、Vite、Zustand、TipTap 与 Dexie / IndexedDB。正式 AI 任务由 Agent Skill、运行契约与 durable Harness 管理上下文、候选、恢复和采纳。

工程入口 职责
CONTEXT_SOURCES + assembleContext() AI 从哪些登记来源读取内容
FIELD_REGISTRY + AdoptionSchema + adopt() 候选如何校验并进入正式作品
PROJECT_TABLES 数据的导出、导入、删除、作用域与生命周期

世界只保存可版本化的语义内容。跑团、聊天和游戏引用冻结版本,分别拥有自己的媒资、发布与运行数据;共享世界不会被一次游戏自动改写。

npm run ci       # 注册表、架构、文档、类型、覆盖率与生产构建
npm run ci:e2e   # 隔离快照中的浏览器用户路径

单独构建并预览:

npm run build
npm run preview

欢迎改进产品体验、模型兼容性、回归测试、文档、翻译和示例作品。贡献前阅读 AGENTS.md、贡献指南和协作流程;在独立分支工作,通过 PR 交付。

架构、产品契约与维护文档
文档 用途
项目总纲 产品关系与长期方向
能力基线 / 路线图 当前实现与下一步
架构总览 代码、数据与执行架构
数据治理 三注册表与数据生命周期
Harness 标准 Agent、候选、恢复与长程上下文
工程质量标准 测试、数据与发布质量
产品契约 各独立产品的边界
AI 行为清单 代码生成的 AI 行为事实
文档权威 现行文档与历史归档
界面多语言维护 翻译与维护规则

收藏趋势

StoryForge Star History

图表由 GitHub stargazer 时间数据生成,每 15 分钟刷新至独立的 readme-assets 分支。维护方式见 star-history.yml。

自愿赞助

StoryForge 的全部功能与后续更新不会因是否赞助而有区别。赞助款主要用于缓解开发者的大模型订阅和项目维护成本,并帮助项目继续迭代。

感谢每一份支持。希望 StoryForge 能帮助更多人把脑海中的想法完成为真正的作品,再让作品中的世界获得被阅读、游玩、共同创造和持续演化的生命。

StoryForge 爱发电赞助二维码

许可

代码使用 MIT License。第三方模型、素材与输出须遵守各自许可;TTRPG SRD 引用见 SRD 许可说明。

About

故事熔炉 StoryForge — AI 小说创作工作台 / AI novel writing workshop

Resources

Contributing

Security policy

Stars

858 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages