项目骨架:管道源码、写作规范与说明文档

This commit is contained in:
Chen Yi
2026-10-05 15:56:11 +08:00
commit c56394afdd
8 changed files with 959 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
# 矮人要塞编年史 · Dwarf Fortress Annals
把《矮人要塞》(Dwarf Fortress) 世界生成的历史数据,写成**中文战报体连载故事**,自动推送到这个仓库。
本仓库是**成品仓**:只放小说章节、迷你年表与人物索引。
原始 `legends` 导出数据与游戏存档留在本地,不入库。
## 这本"书"是怎么来的
```
Windows 侧 DF 53.16 + DFHack 53.16-r2
│ ① 生成 Medium 世界 / 250 年历史
│ ② 进入 legends 模式,导出 legends.xml + legends_plus.xml
▼ ③ 经 /mnt/c 文件交换(无需网络互访)
WSL2 Ubuntu 侧管道
│ ④ 解析史料 → 构建年表与人物索引
│ ⑤ 按事件链切章(每章 800–1500 字)
│ ⑥ 组 prompt(要塞编年史官口吻 / 战报体)→ 调用 LLM 写作
│ ⑦ 专名事实校验:正文里的专有名词必须出现在史料中,可疑处标注
▼ ⑧ git commit & push
Gitea: gitadmin/dwarf-fortress-annals(本仓库)
```
## 目录
| 路径 | 内容 | 是否入库 |
|---|---|---|
| `output/chapters/` | 连载正文(Markdown) | ✅ |
| `output/timeline.md` | 迷你年表 | ✅ |
| `output/figures.md` | 人物索引 | ✅ |
| `src/dfannals/` | 管道源码 | ✅ |
| `prompts/` | 写作规范(决定文风与人设) | ✅ |
| `data/exports/` | 原始 legends 数据 | ❌ |
| `vendor/` | 游戏与 DFHack 安装包 | ❌ |
## 写作设定
- **叙述者**:要塞里的编年史官,在场记录,负责把事写下来
- **口吻**:战报体——严肃的骨架,诙谐的血肉
- **语言**:中文;专有名词一律保留英文原文(Urist、Boatmurdered……)
- **演绎**:允许虚构对白、心理与吐槽;但**不许发明史料里没有的人名地名**,也不许改写史实骨架
- **连载**:同一世界长期连载;一部史写完则换新世界开新卷,由同一位"编年史官"承接
## 运行
```bash
# 凭据:API key 运行时从 Pi 的 ~/.pi/agent/auth.json 读取,不落本仓库
python3 -m dfannals.cli --help
```
## 声明
《Dwarf Fortress》版权归 Bay 12 Games 所有。本仓库仅包含由其生成数据的**衍生文本**,
不含游戏本体、美术资源或存档。