写长篇的时候,我经常记不清谁在什么时候知道了什么。让 AI 帮忙续写,它更容易写出前后矛盾的情节:人物提前知道了秘密,或者同时出现在两个地方。
所以我做了 Story Timeline,把故事里的事实存成结构化数据:事件、人物、关系,以及每个人物知道什么、何时得知。

主要功能:
- 每个故事是一个 SQLite 文件,可以直接复制和备份
- 时间线视图里每个人物一条泳道,另有关系图、环形图、因果视图
- 点任意事件的“从此处看故事”,可以看到故事在那一刻的状态
- 叙述顺序和事件发生顺序分开存储,倒叙可以按两种顺序查看
- GraphQL API 的每个类型和字段都有说明,智能体可以自己读懂数据结构;一次提交的修改要么全部生效,要么全部不生效
项目自带两个示例:《聊斋志异》的《画皮》和荷马史诗《奥德赛》。《奥德赛》第 9–12 卷是倒叙,正好用来演示两种顺序。
只在本地运行,不需要账号。需要 Node.js 22 和 pnpm:
git clone https://github.com/d6u/story-timeline.git
cd story-timeline
pnpm install --frozen-lockfile
pnpm dev
界面支持中文和英文,协议是 AGPL-3.0。
GitHub:https://github.com/d6u/story-timeline
说明一下:这个项目是我在 AI 的协助下完成的,代码、示例数据和这篇帖子都用了 AI 辅助。设计和取舍由我决定,内容我都看过。
这是第一个公开版本,想听听大家的意见:
- 安装和启动有没有遇到问题?
- 写小说或者做设定的朋友,这样的数据结构够用吗,缺什么?
- 用 AI 写作的朋友,你们现在怎么让模型记住设定?