跳到主要内容

第一篇故事 · 约 10 分钟

从一篇可审视的故事开始

TypeApe 把正文、结构、校验和 Agent 协作放在同一个本地项目里。按照这份指南,你会从新建项目走到一篇既能阅读、又能证明结构正确的故事。

  1. 1编写源码
  2. 2校验路径
  3. 3阅读结果
story/main.latext: { 信号从花园地下传来回应。 };
0 个错误 · 2 个段落可达

1. 创建项目

选择新建项目,输入故事名称,再选择一种故事类型:

  • 线性故事从开篇沿唯一顺序走向一个结局,适合小说、剧本和不需要分支的叙事草稿。
  • CYOA 多线叙事支持选择、多个结局和有限的状态记忆,适合让读者真正改变故事走向。

故事类型决定了可以使用哪些结构。线性故事只有一条路线,不能包含选择或 State;CYOA 支持分支,但每一种可能路线都必须保持有效。

2. 认识 Lattice 语言

故事源码使用 .la 后缀。一篇很小的线性故事是这样:

text
story main (
  title: "信号花园",
  language: "zh-CN",
  format: novel,
  entry: opening
);

scene garden (title: "花园") {
  block opening (title: "信号", purpose: setup) {
    text: { 一束光从花园地下苏醒。 };
    next -> answer;
  }

  block answer (title: "回应", purpose: resolution) {
    text: { 玛拉循着光回到家。 };
    end;
  }
}

理解四个概念,就能读懂大部分源码:

  • 声明为故事、实体、场景或 Block 提供稳定 ID。
  • 圆括号里的元数据描述对象,但不会替换它的身份。
  • 正文写在 { ... } 里,可以自然保留标点和换行。
  • 每个 Block 都以显式的流转语句结束,例如 nextchoiceend

继续阅读 Lattice 语言指南,了解导入、对白、选择、有限 State、Pool、Module 和完整示例。

3. 先校验,再阅读

完成一组连贯修改后,打开校验。TypeApe 会逐层检查:

  1. 语法与导入:每个 .la 文件能否安全读取?
  2. 结构与引用:ID、所有权、目标和元数据是否一致?
  3. 故事逻辑:每条相关路径能否到达有效结局,且不会软锁?

先修复最早出现的错误,因为后面的消息可能只是连锁结果。警告不会自动阻塞故事,但需要你作出有意识的创作判断。

声明顺序只影响文件是否好读,不决定故事顺序。读者实际可达的内容由 entrynextchoiceentercompleteend 定义。

4. 体验最新源码

打开故事,阅读会从配置的入口开始。线性故事沿通过校验的链接继续;CYOA 会根据当前有限 State 展示选择和可用 Module。

预览进度是临时的。离开故事或重新打开项目后会从头开始,不会改动你的 .la 文件。

阅读时,可以选中精确正文,也可以直接激活段落标记来留下修改意见。保存每条批注后,选择发送批注给 Agent,即可开始一次聚焦的修改会话。

5. 让 Agent 以合适的方式工作

对直接、边界清楚的修改使用普通行动模式

让玛拉在开篇里的语气更犹豫,保留现有路径结构,然后校验故事。

如果修改会跨越多个文件、引入新分支或 State,或者执行前需要确认方案,就打开计划模式。Agent 会只读检查项目、准备有序清单,并把计划交给你审阅。

继续阅读与 Agent 协作,了解计划审阅、各种批注、调整方向和后续任务。