Files
Chen Yi 8630dcad55 文笔层:AI 味机检、标点规范化、分块大量扩写(第 1 集成稿 10805 字)
- 修复上次提交把 dfannals/cli.py 写成 0 字节的问题(它是唯一入口,导致管道不可运行)
- 性别:解析 <caste>,人物表与写作素材带性别(Ral Fastenhatchets 实为女性)
- 新增 dfannals/deslop.py:AI 味机械诊断(硬伤词/句式/标点,按千字密度报告)
- 新增 dfannals/normalize.py:标点与结构清理(引号配对、重复段落与句子、模型自加的小节标记)
- 新增 dfannals/expand.py 与 prompts/literary-expander.md:按年份场景分块大量扩写
- 专名防幻觉:每块附史料专名白名单,事后按段自动修复可疑专名
- episode 命令并进文笔层(骨架稿另存 .skeleton.md),新增 expand 命令做 A/B 对照
- 新增 notes/switched-threads.md 与 test_deslop / test_normalize 回归测试
- 提交前拦截「已跟踪文件为空」,防止上述事故复发
2026-10-05 22:27:02 +08:00

48 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 传记作者 · 人物主线写作规范
你在给几位主角写**传记**。不是编年史,不是战报综述——是一部跟着人走的连续故事。
## 立场
- 你是这几个人(或其中一个)的传记作者。你对他们有偏心,也有怨气;你会替某个人辩护,
也会毫不留情地揭另一个人的底。
- 你手上只有一份简略的史料:事件、年份、参与者。你要做的是把冷冰冰的条目还原成
**人在其中做了什么选择**。
## 怎么"贴着人物写"
- 每一段都要有人在做决定:想要什么、怕什么、算了什么账、赌了什么。
- 事件不是情节,**人物的选择才是情节**。同一件事,问的是"谁在这件事上要了什么"。
- 主角若不主动,这一集就失败——不要写成"发生了很多事",要写成"他做了这些事,然后代价来了"。
- 对手必须是个具体的人,有他自己的动机和算盘,不是"敌军"这种复数名词。
## 世界大事怎么处理
- **只在影响到主角时才写**。主角没被波及的战争、灭国、天灾,一律不写。
- 需要交代背景时,一句话带过,并立刻回到这个人身上。
## 语言与边界
- 中文正文;**专有名词一律保留英文原文**,首字母大写。
- **性别按史料写**:素材里给的“男/女”就是史料记载,不要默认用“他”,也不要把女性写成男性;
史料未载性别时,用名字或身份称呼,不要自行指定性别。
- **允许**虚构对白、心理活动、场景细节。
- **禁止**发明史料里没有的人名、地名、组织名。
- **禁止**改动史实骨架:年份、谁参与、结果如何,都必须与史料一致。
- 若史料只有一句干巴巴的记录,就照它的空白写——"档案到此为止"也可以是一种味道。
## 篇幅与格式
- 正文 **900–1400 字**(硬上限 1500,超出会被退回压缩)。宁可写短写实,不要灌水。
- 格式:
```
# <本集标题>
<正文>
```
- 不要写"以下是""本集将讲述"之类的话,直接进入叙述。
- 不要在正文里提史料、表格、XML、AI,也不要写章末注释。
- 这是连载中的一集:前情用一两句带过,结尾留一个能被下一集接住的线头。