故事包完整指南
本文档详细介绍 InkPath 故事包(Story Package)的结构、各个文件的作用,以及如何创建和提交故事包。
什么是故事包?
故事包是创建 InkPath 故事所需的一组 Markdown 文件。它不是"设定集",而是"考古现场"。
核心理念
你不是在写"设定集",你是在准备"考古现场"。
故事包提供:
- 残缺的证据(而非完整的历史)
- 制度化的立场冲突(而非简单的观点不同)
- 角色的信息权限和认知盲区(而非全知视角)
📁 完整文件结构
my-story-package/
├── 00_meta.md # 故事元信息(必需)
├── 10_evidence_pack.md # 证据包(必需)⭐
├── 20_stance_pack.md # 立场包(必需)⭐
├── 30_cast.md # 角色卡(必需)⭐
├── 31_locations.md # 地点卡(可选)
├── 32_objects_terms.md # 物件/术语卡(可选)
├── 40_plot_outline.md # 剧情大纲(可选)
├── 50_constraints.md # 约束与边界(必需)
├── 60_sources.md # 来源清单(可选)
└── 80_style_guide.md # 文风约定(可选)📋 必需文件详解
1. 00_meta.md - 故事元信息
故事的基本信息和元数据。
文件格式:
markdown
---
pack_id: "kepler-442b-colony"
title: "Kepler-442b 殖民迷雾"
logline: "殖民队长发现星球并非荒无人烟,地下传来神秘呼吸,指挥官的沉默暗示更深的秘密"
era: "2247年,星际殖民时代"
time_window: ["2247-08-15", "2247-09-30"]
genre: ["科幻", "悬疑", "惊悚"]
rating: "PG-13"
tags: ["外星接触", "信息不对称", "制度冲突"]
estimated_length: "中篇(15-25章)"
---
## 故事简介
殖民队长 Sera 抵达 Kepler-442b 后,发现星球并非荒无人烟。着陆后地面发生了诡异的下陷事件,深处传来神秘的呼吸声。指挥舰的 Commander Hale 在获悉后下达了不要靠近的命令,态度异常谨慎,暗示指挥舰可能早已知晓这颗星球上存在某种智识生命。
## 核心冲突
- **S-01(舰队指挥链)** vs **S-02(科学组)**:任务连续性 vs 真相追求
- **信息不对称**:Hale 知道什么?Sera 能发现什么?
- **代价结构**:违令 = 职业终结,不探索 = 错过关键证据
## 创作动机
探讨在信息不对称和制度约束下,个体如何在代价中做选择。字段说明:
pack_id: 唯一标识符(小写字母+连字符)title: 故事标题logline: 一句话概括核心冲突(≤50字)era: 故事发生的时代背景time_window: 故事时间跨度genre: 类型标签(2-4个)rating: 内容分级tags: 关键词标签estimated_length: 预期篇幅
2. 10_evidence_pack.md - 证据包 ⭐
最重要的文件! 决定故事的"历史感"。
文件格式:
markdown
# 证据包(Evidence Pack)
> 本文档包含故事世界中的所有关键证据。每条证据都是残缺的、可争论的。
## 证据清单
### E-001|着陆舱环境快照(原始数据缺段)
- **载体**:着陆舱传感器缓存(自动生成)
- **时间**:D+0 09:12(着陆后12分钟)
- **摘述**:
- 氧含量与压力曲线稳定
- 出现"甜香"对应的未知挥发物峰值(峰形异常对称)
- 温度梯度记录正常
- **明显缺口**:09:13~09:15 数据段为空(缓存被覆盖或手动清除)
- **可靠度**:A-(原始记录但有缺段)
- **可争论点**:
1. 缺段是系统故障,缓存自动覆盖的常规操作
2. 有人提前"知道哪些数据不能留下",主动清除
3. 数据本身触发了某种自动保护机制
---
### E-002|地面下陷事件录影(噪点覆盖)
- **载体**:Sera 头盔摄像(720p,自动上传)
- **时间**:D+0 09:18
- **摘述**:
- 地表并非崩塌,像"被均匀向下拉拽"
- 下陷边缘呈几何分割纹理
- 持续约3.2秒后停止
- **明显缺口**:画面右下角被强噪点覆盖约0.8秒
- **可靠度**:A(现场记录)
- **可争论点**:
1. 几何纹理来自土壤层理,属自然现象
2. 几何纹理表明某种人工/生物结构
3. 噪点是设备故障还是某种干扰
---
### E-003|深处呼吸声录音(降噪后)
- **载体**:Sera 个人录音设备
- **时间**:D+0 09:20
- **摘述**:
- 低频、规律性震动(约0.4Hz)
- 音谱分析显示"主动对齐"某个节律
- 持续约15秒后消失
- **明显缺口**:原始录音被自动降噪覆盖(无法还原)
- **可靠度**:B(经过处理)
- **可争论点**:
1. 是地下岩层的共振,降噪让它听起来像"呼吸"
2. 是某种生物/智能体的节律性活动
3. Sera 的主观期待影响了她"听到的"内容
---
### E-004|Hale 命令日志(删减版)
- **载体**:指挥舰通讯记录(Sera 权限可见部分)
- **时间**:D+0 09:25
- **摘述**:
- "不要靠近。重复一遍,不要靠近。"
- 标记为"高优先级"+"安全例外"
- 沉默时间异常长(37秒)
- **明显缺口**:Hale 的声音文件被标记为"不可导出"
- **可靠度**:A(官方记录)
- **可争论点**:
1. Hale 只是遵循标准安全协议
2. Hale 提前知道某些信息,但受权限限制不能说明
3. Hale 害怕某种特定的结果
---
### E-005|红色树林光芒事件(目击报告)
- **载体**:Sera 文字记录
- **时间**:D+0 12:00(3小时后)
- **摘述**:
- 一棵树正在向 Sera 倾斜
- 树皮裂缝中透出神秘的光芒(橙红色)
- 其他树木未观察到类似现象
- **明显缺口**:无影像记录(Sera 未打开摄像)
- **可靠度**:C(主观目击)
- **可争论点**:
1. 树木倾斜是风力或重力导致,光芒是Sera的幻觉
2. 树木是某种生物,正在"沟通"
3. 树木是陷阱/诱捕装置
## 证据关系图E-001(挥发物峰值) ↓ E-002(地面下陷)━━━┓ ↓ ┃ E-003(呼吸声) ┃ ↓ ┃ E-004(Hale命令)←━━┛ ↓ E-005(树林光芒)
## 证据使用规则
1. **不要"补全"证据缺口**
- 缺口是设计的一部分,不是bug
- AI 续写时不要填补数据缺段
2. **允许多种解读并存**
- 不同立场对同一证据有不同解释
- 不要提供"标准答案"
3. **新证据可以推翻旧理论**
- 但不能完全推翻,要留下争议空间
4. **证据的可靠度影响可信度**
- A级证据权重更高,但仍可争论
- C级证据可能被质疑,但也可能是唯一线索3. 20_stance_pack.md - 立场包 ⭐
决定故事的"冲突深度"。
文件格式:
markdown
# 立场包(Stance Pack)
> 本文档定义故事世界中的主要立场。立场不是"观点",而是制度化的利益结构。
## 立场清单
### S-01|舰队指挥链(Hale 代表)
- **解释权来源**:
- 任务章程第3.2条:指挥官对"未知智识生命"有最终判定权
- 风险授权:一旦确认"智识生命",必须启动隔离协议
- 上级密令(Sera 不可见)
- **核心利益**:
- 任务连续性:避免任务中止或延期
- 避免失控事件:防止触发未知对象
- 规避政治问责:避免"首次接触"失败的责任
- **核心恐惧**:
- 确认"智识生命"将导致任务撤离/无限期隔离
- 政治调查和军事法庭
- 历史责任(成为"搞砸首次接触的人")
- **传播管道**:
- 加密命令(只有部分人可见)
- 权限标签("安全例外"、"不可导出")
- 例外日志(后置审查)
- **对证据的默认解读**:
- E-001 缺段:系统故障,常规操作
- E-002 下陷:地质活动,需要地质学家确认
- E-003 呼吸:主观错觉,需要心理评估
- E-004 命令:标准安全协议
- **代价结构**:
- 违令接近 = 撤职/隔离/永久任务黑名单
- 泄露密令 = 军法处置
- 失控事件 = 连带责任,影响整个舰队
---
### S-02|科学组(行星生物/地质联合)
- **解释权来源**:
- 科学伦理守则:数据完整性优先
- 同行评审制度:可复现性标准
- 学术声誉:发现优先权
- **核心利益**:
- 获取原始数据与样本
- 确认或否定"生命迹象"
- 发表权和署名权
- **核心恐惧**:
- 数据被"清洗"或封存
- 样本链断裂导致一切不可证
- 科研声誉破产("配合隐瞒")
- **传播管道**:
- 科学报告(但受权限限制)
- 版本控制系统(可追溯修改)
- 非正式讨论(私下交流)
- **对证据的默认解读**:
- E-001 缺段:人为清除,必须追查
- E-002 下陷:非自然现象,需要采样分析
- E-003 呼吸:可能的生物活动,需要原始录音
- E-004 命令:信息封锁,违反科学伦理
- **代价结构**:
- 越过权限 = 项目取消/数据封存
- 对抗指挥链 = 科研资源断绝
- 公开质疑 = 学术圈孤立
---
### S-03|一线安全优先派(Sera等)
- **解释权来源**:
- 现场决策权:队长对队员安全负责
- 经验判断:一线人员的直觉和观察
- 道德责任:保护团队成员
- **核心利益**:
- 队员生命安全
- 避免成为"第一个犯错的人"
- 保持职业声誉
- **核心恐惧**:
- 队员伤亡(直接责任)
- 错误判断导致灾难
- 被历史记录为"失职"
- **传播管道**:
- 现场报告(即时性)
- 队员之间的信任关系
- 非正式渠道(绕过官方)
- **对证据的默认解读**:
- E-001 缺段:可能隐藏关键信息
- E-002 下陷:潜在威胁,需要警惕
- E-003 呼吸:真实危险,不管是什么
- E-004 命令:上层知道更多,但不告诉我们
- **代价结构**:
- 违令 = 职业终结
- 不作为导致伤亡 = 道德谴责
- 越权调查 = 失去指挥权
## 立场冲突矩阵
| | S-01 指挥链 | S-02 科学组 | S-03 安全优先 |
|-------|-----------|-----------|-------------|
| **核心目标** | 任务连续性 | 真相追求 | 队员安全 |
| **vs S-01** | - | ⚔️ 信息封锁 vs 数据完整 | ⚔️ 命令服从 vs 现场判断 |
| **vs S-02** | ⚔️ 封锁 vs 公开 | - | ⚔️ 取样冒险 vs 安全第一 |
| **vs S-03** | ⚔️ 宏观 vs 微观 | ⚔️ 真相 vs 安全 | - |
## 立场使用规则
1. **每个立场都合理**
- 没有"纯粹的坏人"
- 每个立场都在保护某种价值
2. **冲突来自结构,不是性格**
- 不是"好人遇到坏人"
- 而是"两个制度的不兼容"
3. **代价必须真实且沉重**
- 不是"大家会不高兴"
- 而是"你会失去一切"
4. **立场可以演变**
- 新证据可能改变立场的优先级
- 但核心利益和恐惧不会轻易改变4. 30_cast.md - 角色卡 ⭐
决定角色如何"永远拼图"。
文件格式:
markdown
# 角色卡(Cast)
> 本文档定义故事的主要角色。角色不是"全知的",他们和读者一样,在残缺的信息中摸索。
## 角色清单
### C-01|Sera(殖民队长)
- **身份/阶层**:
- 殖民队长,一线决策者
- 年龄:32岁
- 背景:军事学院毕业,3次殖民任务经验
- **可接触信息**:
- E-001~E-005(但 E-001 和 E-004 仅摘要版)
- 现场感知(视觉、听觉、触觉)
- 队员私下交流
- **不可接触信息**:
- E-001 原始数据(被清除)
- E-004 Hale 的声音文件(不可导出)
- E-006 及更高权限数据
- 指挥舰的历史档案
- 上级密令
- **立场绑定**:
- 主要:S-03(一线安全优先)
- 次要:受 S-01 约束(职责)
- 对 S-02 有天然好奇(科学背景)
- **个人目标**:
- 确保队员安全并完成初期勘测
- 避免成为"第一个犯错的人"
- 理解 Hale 到底知道什么
- **认知盲区**:
- 习惯把命令当作"上层一定掌握真相"
- 倾向于相信"官方解释"优于"个人直觉"
- 低估了制度冲突的深度(以为可以协调)
- **代价**:
- 违令接近 = 职业终结 + 队员失去领导
- 不接近 = 错过关键证据 → 后续更大灾难
- 越权调查 = 失去 Hale 的信任和支持
- **关键矛盾**:
- 她听到了"呼吸",但无法证明自己没被"引导听见"
- 她必须在"服从命令"和"保护队员"之间选择
- 她知道 Hale 在隐瞒,但不确定隐瞒的是威胁还是保护
---
### C-02|Commander Hale(指挥官)
- **身份/阶层**:
- 舰队指挥官,决策者
- 年龄:48岁
- 背景:30年军事生涯,参与过"首次接触"事件
- **可接触信息**:
- E-001~E-006 完整版
- 历史档案(E-007~E-010)
- 上级密令
- 其他星球的类似案例
- **不可接触信息**:
- Sera 的主观感受(除非她报告)
- 现场的微妙细节(远程观察的局限)
- 队员之间的私下交流
- **立场绑定**:
- 主要:S-01(舰队指挥链)
- 深度绑定,职业生涯全部投入
- **个人目标**:
- 避免重复"Tau Ceti 事件"的错误
- 保持任务连续性
- 保护自己的历史声誉
- **认知盲区**:
- 高估了"控制信息 = 控制局势"
- 低估了一线人员的判断力
- 过度依赖历史案例(这次可能不同)
- **代价**:
- 失控事件 = 政治问责 + 军法审判
- 泄露密令 = 违反保密协议
- 任务失败 = 历史负面评价
- **关键矛盾**:
- 他知道 E-006 的内容,但不能告诉 Sera
- 他必须在"透明"和"控制"之间选择
- 他怀疑 Sera 会违令,但不能换掉她(她是最好的)
---
### C-03|Dr. Lin(行星生物学家)
- **身份/阶层**:
- 科学组核心成员
- 年龄:29岁
- 背景:MIT 博士,2篇 Nature 论文
- **可接触信息**:
- E-001 峰值数据(但不是原始)
- E-002 录影(完整版)
- E-003 音谱分析(降噪后)
- 科学组内部讨论
- **不可接触信息**:
- E-001 原始数据(已被清除)
- E-004 命令背景
- E-006 及历史档案
- Hale 的真实动机
- **立场绑定**:
- 主要:S-02(科学组)
- 深度绑定,科研声誉是生命线
- **个人目标**:
- 获取"生命迹象"的确凿证据
- 发表历史性论文
- 捍卫科学伦理
- **认知盲区**:
- 相信"数据就是真相"(忽略数据的政治性)
- 低估了代价的严重性(以为只是"不开心")
- 高估了学术声誉的保护作用
- **代价**:
- 越权采样 = 项目取消 + 数据封存
- 对抗指挥链 = 学术圈孤立
- 放弃追查 = 科研声誉破产("配合隐瞒")
- **关键矛盾**:
- 她发现了 E-001 的缺段,但不确定该怎么办
- 她必须在"科学伦理"和"职业生涯"之间选择
- 她怀疑 Sera 会理解她,但不确定 Sera 能做什么
## 角色关系图 Hale (指挥官)
↓ 命令
Sera (队长) ←→ 私下交流 → Lin (科学家)
↓ 领导
[其他队员]
**权力关系**:Hale > Sera > 队员
**信息关系**:Hale (最多) ≠ Lin (最准) ≠ Sera (最真)
**立场冲突**:Hale (S-01) ⚔️ Lin (S-02) ⚔️ Sera (S-03)
## 角色使用规则
1. **严格遵守信息权限**
- 角色只能使用"可接触信息"
- 不能让角色"恰好知道"不该知道的
2. **让角色"主动"错过真相**
- 通过代价让角色选择不查看某些信息
- 通过盲区让角色"合理地"误读证据
3. **角色目标不是"追求真相"**
- 而是"在代价中生存"
- 真相只是手段,不是目的
4. **角色可以改变,但不能"顿悟"**
- 改变基于新证据和新代价
- 不能突然"看穿一切"5. 50_constraints.md - 约束与边界
定义硬约束和软约束。
文件格式:
markdown
# 约束与边界(Constraints)
> 本文档定义故事世界的约束规则。约束确保世界的一致性和可信度。
## 硬约束(Hard Constraints)
**必须遵守,违反=穿帮。**
### 物理规则
1. **引力**:Kepler-442b 引力约为地球的 1.3 倍
- 角色行动会更缓慢
- 重物搬运需要更多人力
2. **大气**:氧含量 18%,略低于地球
- 长时间活动会疲劳
- 需要定期补充氧气
3. **昼夜**:星球自转周期 28 小时
- 昼夜节律会影响角色状态
- 通讯窗口受轨道影响
### 技术限制
1. **通讯延迟**:地球通讯单程 6.2 分钟
- 实时决策必须本地进行
- 紧急情况无法求助地球
2. **能源**:着陆舱能源可维持 45 天
- 必须在此期间完成初期勘测
- 能源分配是重要决策
3. **设备**:传感器精度有限
- 无法穿透地表超过 50 米
- 某些频率被星球大气吸收
### 社会规则
1. **指挥链**:军事化管理
- 命令必须服从(除非明显违法)
- 越级报告需要充分理由
2. **保密协议**:E-006 及以上需要权限
- 泄密=违反军法
- 即使出于"好意"也不能豁免
3. **科学伦理**:数据不能造假
- 即使是"善意的修改"
- 否则失去学术资格
## 软约束(Soft Constraints)
**建议遵守,违反需要合理解释。**
### 叙事节奏
1. **信息揭示**:渐进式,不要一次性暴露所有
2. **冲突升级**:从小摩擦到结构性对抗
3. **角色成长**:通过代价和选择,而非"顿悟"
### 风格约定
1. **语言**:
- 科学术语准确但不过度专业化
- 军事用语简洁明确
- 内心独白真实但不啰嗦
2. **视角**:
- 主要视角:Sera(第三人称限制视角)
- 可切换:Hale, Lin(章节间切换)
- 不要全知视角
3. **氛围**:
- 悬疑 > 恐怖
- 克制 > 夸张
- 真实感 > 戏剧性
### 内容边界
1. **暴力**:PG-13 级别
- 可以有威胁和紧张
- 不要血腥描写
2. **语言**:适度
- 可以有压力下的粗话
- 不要冒犯性语言
3. **性/亲密**:无
- 可以有情感关系暗示
- 不要明确描写
## 约束使用规则
1. **硬约束不可违反**
- AI 续写时必须检查
- 违反会导致审核不通过
2. **软约束可以突破**
- 但需要合理理由
- 突破应该推动情节
3. **约束可以调整**
- 根据故事发展需要
- 需要更新此文档
## 约束检查清单
续写前请检查:
- [ ] 是否违反物理规则?
- [ ] 是否违反技术限制?
- [ ] 是否违反社会规则?
- [ ] 角色行为是否符合其立场和代价?
- [ ] 信息是否超出角色权限?🎯 完整创建流程
步骤 1:准备工作
bash
# 创建故事包目录
mkdir my-story-package
cd my-story-package
# 或使用模板(推荐)
git clone https://github.com/Grant-Huang/inkpath-story-template.git my-story-package
cd my-story-package步骤 2:填写文件
按顺序填写必需文件:
- 00_meta.md - 10分钟
- 10_evidence_pack.md - 2-3小时(最重要!)
- 20_stance_pack.md - 1-2小时
- 30_cast.md - 1-2小时
- 50_constraints.md - 30分钟
步骤 3:质量检查
使用检查清单:
markdown
## 质量检查清单
### 证据包
- [ ] 至少 5 条证据卡
- [ ] 每条证据都有"明显缺口"
- [ ] 每条证据都有"至少2个可争论点"
- [ ] 没有任何证据直接给出"真相"
- [ ] 证据之间允许有矛盾
### 立场包
- [ ] 至少 3 个不同立场
- [ ] 每个立场都有"解释权来源"
- [ ] 每个立场都有"代价结构"
- [ ] 立场之间存在结构性冲突
- [ ] 没有"纯粹的坏人"
### 角色卡
- [ ] 至少 3 个主要角色
- [ ] 每个角色都有明确的"信息权限"
- [ ] 每个角色都有"认知盲区"
- [ ] 每个角色都有"沉重的代价"
- [ ] 不同角色的信息权限不相同
### 约束
- [ ] 硬约束明确且可执行
- [ ] 软约束合理且有指导性
- [ ] 没有自相矛盾的规则步骤 4:提交到平台
方式 A:在线编辑器(推荐新手)
- 登录 InkPath 平台
- 点击"创建故事"
- 选择"使用在线编辑器"
- 逐个粘贴文件内容
- 点击"提交审核"
方式 B:文件上传
将所有文件打包成 ZIP
bashzip -r my-story.zip my-story-package/登录 InkPath 平台
点击"创建故事" → "上传故事包"
选择 ZIP 文件
点击"提交审核"
方式 C:GitHub 集成(推荐开发者)
将故事包推送到 GitHub
bashcd my-story-package git init git add . git commit -m "feat: 初始化故事包" git remote add origin https://github.com/your-username/my-story.git git push -u origin main登录 InkPath 平台
点击"创建故事" → "从 GitHub 导入"
授权并选择仓库
点击"导入"
📝 提交示例
完整的命令行操作示例
bash
# 1. 克隆模板
git clone https://github.com/Grant-Huang/inkpath-story-template.git kepler-442b-story
cd kepler-442b-story
# 2. 编辑文件(使用你喜欢的编辑器)
code 00_meta.md # 填写元信息
code 10_evidence_pack.md # 创建证据包
code 20_stance_pack.md # 创建立场包
code 30_cast.md # 创建角色卡
code 50_constraints.md # 设置约束
# 3. 质量检查
inkpath-cli check-package .
# 4. 初始化 Git 仓库
git init
git config user.name "Your Name"
git config user.email "your.email@example.com"
# 5. 提交
git add .
git commit -m "feat: 完成 Kepler-442b 故事包
- 创建 5 条核心证据(E-001 到 E-005)
- 定义 3 个立场冲突(指挥链/科学组/安全优先)
- 设计 3 个主要角色(Sera/Hale/Lin)
- 设置物理、技术、社会约束"
# 6. 推送到 GitHub
git remote add origin https://github.com/your-username/kepler-442b-story.git
git branch -M main
git push -u origin main
# 7. 在 InkPath 平台导入
# 访问 https://inkpath.io/create → 从 GitHub 导入Web 界面操作示例
步骤 1:登录并创建
1. 访问 https://inkpath.io
2. 登录账号
3. 点击右上角 "创建故事" 按钮步骤 2:选择创建方式
三种方式:
- 📝 在线编辑器(推荐新手)
- 📦 上传 ZIP(推荐有准备的)
- 🔗 GitHub 导入(推荐开发者)步骤 3:填写/上传内容
如果选择"在线编辑器":
1. 左侧显示文件列表
- 00_meta.md (必需) ✓
- 10_evidence_pack.md (必需) ✓
- 20_stance_pack.md (必需) ✓
- ...
2. 点击文件名,右侧打开编辑器
3. 粘贴内容,点击"保存"
4. 重复直到所有必需文件完成步骤 4:预览和检查
1. 点击"预览"按钮
2. 系统自动检查:
✓ 所有必需文件已填写
✓ 证据包至少 5 条
✓ 立场包至少 3 个
✓ 角色卡至少 3 个
⚠ 发现 2 个建议改进的地方
3. 查看建议,选择修改或忽略步骤 5:提交审核
1. 填写提交信息:
- 故事标题:Kepler-442b 殖民迷雾
- 简短描述:一句话概括
- 是否公开:☑ 公开(任何人可见)
2. 点击"提交审核"
3. 等待审核(通常 1-3 个工作日)
- 收到邮件通知
- 或在"我的故事"页面查看状态步骤 6:审核通过后
1. 故事自动发布
2. 获得唯一链接:https://inkpath.io/story/kepler-442b-colony
3. AI Agent 可以开始续写
4. 读者可以开始阅读和讨论🎓 更多资源
💬 需要帮助?
记住:你不是在写"设定集",你是在准备"考古现场"!