像写小说一样创作,像玩游戏一样阅读。
浏览器里的视觉小说创作平台——让 Agent 读懂项目,再把想法变成可播放的故事。
DreamChord 是面向视觉小说创作者的 Web 故事工作台:把剧情写作、角色与素材管理、分支校验、Agent 协作和浏览器预览放在同一条创作链路里。
创作者不需要学习脚本语法,也不需要手动维护 jump 和节点连线。镜头卡是写作入口,故事图是校验视图,播放器是最终结果。
DreamChord Agent 为什么更智能?因为它先理解你的项目,再决定要不要调用工具;它能记住设定,但不会越过作者直接改稿。
这是一套自研 TypeScript Agent 编排层,不是把聊天框简单接到模型。它采用“ReAct 风格”的观察 → 推理 / 规划 → 工具执行 → 校验循环,但把工具权限、数据边界和最终写入控制在服务端。
DreamChord 不是又一个 Ren'Py 克隆,而是重新思考"非技术用户如何创作视觉小说"后的答案。
用户看到的永远是"谁说了什么"的镜头卡,而不是节点图、跳转标签或脚本语法。系统在后台自动完成节点创建、连线生成、场景转换和运行时编译——创作者只管写故事,技术细节全部隐身。
ShotCard → Node → Edge前端 React + Vite,后端 Express + Prisma,全部跑在浏览器里。创作者打开网址就能写,读者打开链接就能玩。不需要安装 Python 运行时,不需要打包 exe,不需要部署服务器——一个链接就是全部。
Web-Native · PWA ReadyAgent 读取项目上下文和分层记忆,调用受限工具完成规划与校验,但不能直接写数据库。故事补丁和图片衍生图都先进入审查状态,由作者决定应用、拒绝或撤销。
Memory · Tools · ApprovalDreamChord 是一个面向非技术用户的视觉小说创作平台。传统视觉小说引擎(如 Ren'Py)要求创作者学习脚本语法、手动管理跳转标签、理解节点连线逻辑,门槛极高。DreamChord 的核心理念是:用户只需像写小说一样填写背景、选择角色、编写台词,系统自动将其转换为可播放的节点图和运行时场景。通过"章节 → 场景 → 镜头卡"三级结构组织剧情,一键发布即可在浏览器中直接播放——无需安装任何运行时,无需部署服务器,分享链接即可阅读。
DreamChord 不是替代 Ren'Py 的下一代引擎,而是面向另一群人——想写视觉小说但不想学代码的创作者。下表从 8 个维度对比三类工具的核心差异。
| 能力维度 | Ren'Py | TyranoBuilder | DreamChord |
|---|---|---|---|
写作方式 用户如何编辑剧情 |
手写 .rpy 脚本 | 可视化节点连线 | 镜头卡填表式写作 |
编程门槛 是否需要写代码 |
需学 Python + Ren'Py 语法 | 低,但节点图仍需理解 | 零代码,纯填写 |
实时预览 编辑时是否即时看到效果 |
需重新编译运行 | 部分预览 | 右栏实时所见即所得 |
分支可视化 全局查看分支结构 |
无,全靠记忆 | 节点图视图 | 流程图 + 汇合点高亮 |
AI 辅助 内置 AI 写作功能 |
无 | 无 | 项目感知 Agent + 审批写入 |
运行环境 读者如何游玩 |
打包 exe / apk 分发 | 打包为 Web 或 exe | 浏览器直接打开链接 |
长文导入 从小说文本快速拆分 |
无,手动逐句转写 | 无 | 粘贴正文自动拆分镜头卡 |
项目体检 自动检测剧情结构问题 |
无 | 无 | 12 项健康检查 |
以下均为当前版本的实际浏览器验收截图。从故事编辑、Agent 协作到图片处理和备份恢复,每一步都保留预览、确认与回滚边界。
章节、场景和镜头卡构成主写作路径。编辑器内置 50 步撤销/重做、串行自动保存、版本冲突保护和未保存离开提醒;右侧可在实时预览、素材库与快速 Agent 之间切换。
当剧情复杂到需要全局视角时,切换到剧情流程图视图。这是 galgame 风格的全局可视化——所有场景以卡片形式排列,按章节分行。普通场景间用实线箭头连接,选项分支用虚线箭头并标注选项文本。汇合场景(接收多条不同场景入边)自动检测并以紫色高亮 + GitMerge 图标标识。支持滚轮缩放、拖拽平移、拖拽场景卡片调整位置、拖拽创建场景间连接。
每个对话可以处理不同任务:续写当前场景、修补分支、检查人物动机、把正文转换为工作台场景或准备图片素材。Agent 会读取对话历史、滚动摘要、故事圣经、章节图和分层记忆,先计划并调用受限工具,再提交结构化补丁供作者预览、应用、拒绝或撤销。没有 API Key 时仍可完成项目检索、确定性草稿与正文转换。
Agent 不是把每句话都丢给模型。请求先经过本地路由:项目问题读取章节、角色、素材、剧情健康和当前记忆;蒙太奇、伏笔、节奏等创作术语由内置知识库解释;“X 是什么”类事实问题才调用严格白名单的中文 Wikipedia 只读接口。网络或模型不可用时,仍能给出项目相关回答,将已有正文清洗并转换为可审核的场景、旁白、台词和选项。
上传图片后,服务端会先解码验证真实格式、尺寸与像素规模。处理工作室可去除白底、羽化边缘、裁掉透明边缘,并按立绘、CG、背景三种用途生成规范尺寸;衍生图先进入待确认状态,原图始终保留。
首页集中管理故事项目、发布状态和创作入口。项目可导出为版本化 DreamChord 备份,再通过严格校验和 ID 重映射恢复为新项目;移动端导航收敛为可访问菜单,不再挤压品牌和页面内容。
内置雪、影、宫、空和系统幽灵的 Meta 引导短剧,展示背景切换、角色登场退场、表情差分变化和分支选择。每个角色拥有独立的性格设定、故事弧线和戏剧冲突,可直接在编辑器中调用。





使用项目内置的 4 张背景图和 4 位角色立绘,展示对话、选项分支、旁白和系统提示在播放器中的实际渲染效果。每张场景卡包含背景图、角色立绘、文本框和(如有)选项按钮。




每张镜头卡编译为背景节点、角色节点和文本节点,系统自动生成连线。选项卡额外生成 choice-N 出边连接到分支场景。用户只需选择镜头类型、填写内容,无需关心底层节点结构。
用户的写作方式直接映射为运行时节点图,系统自动完成全部转换——从镜头卡到节点到运行时场景到播放器渲染,五个环节全自动。
填写背景、选择角色、编写台词——像写小说一样,无需理解节点图
createSceneNodes 创建背景/角色/文本节点,chainEdges 连接节点链,normalEdge 连接场景间
convertFlowToRuntime 从起始节点深度优先遍历,追踪角色状态和背景变化,生成线性场景数组
createRuntimeEngine 管理场景推进 next()、分支选择 choose() 和事件触发 emit()
打字机逐字效果、角色立绘淡入淡出、选项按钮渲染、Web Audio 音效播放
React 18 + TypeScript + Vite 前端,Express + Prisma + SQLite 后端,集成四家 LLM 供应商。Monorepo 架构,pnpm workspace 管理前后端共享依赖。
Windows 用户可直接双击一键启动脚本;手动开发使用 Node.js 20+ 与项目固定的 pnpm 9.1.0。默认测试账号 demo / demo123。
克隆仓库后安装前后端依赖(pnpm workspace 会自动处理共享依赖)
git clone https://github.com/tl66666/DreamChord.git
cd DreamChord && pnpm install --frozen-lockfile补齐本地配置,校验并备份已有 SQLite,再同步表结构和演示数据
powershell -ExecutionPolicy Bypass -File .\start-dreamchord.ps1 -SetupOnly双击 start-dreamchord.bat 一键启动,或在仓库根目录启动整个工作区
pnpm dev关于使用方式、技术选型、素材规范和后续迭代的常见疑问。点击问题展开解答。
DreamChord 的过去、现在和未来。绿色为已完成,紫色为进行中,琥珀色为规划中。
三栏布局编辑器、镜头卡写作、节点图转换、播放器打字机效果、角色立绘渲染、选项分支系统
章节 → 场景 → 镜头卡三级结构、剧情流程图视图、汇合点紫色高亮、场景拖拽和连接线编辑
独立对话、分层记忆、工具调用、结构化补丁、差异预览、应用审批与版本安全撤销
稿件先预览再导入,图片解码校验、白底处理、规范尺寸衍生、接受/拒绝与角色表情绑定
撤销重做、串行自动保存、冲突保护、项目备份恢复、移动端适配、一键启动与完整开发文档
背景音乐管理面板、循环播放、淡入淡出过渡、场景切换音乐衔接、音量控制
TTS 自动朗读台词、角色全身入场动画、屏幕震动效果、转场特效(淡入淡出、百叶窗、马赛克)
i18n 国际化支持、多人实时协作编辑、评论批注系统、版本历史回溯