Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

27 KiB
Raw Blame History

N01 · 人物属性字段定义 · 男频+女频双模板

N01 · 人物属性字段定义 · 男频+女频双模板

HLDP://knowledge-base/N01 · v1.0 · 2026-06-09T21:07+08:00
├── 模块编号: N01
├── 模块名称: 人物属性字段定义 · 男频+女频双模板
├── 来源: 肥猫十年男频方法论 + K02-04五锤人设铸造法 + K04女频知识体系
├── 整理: 舒舒 · PER-SS001
├── 用途: 铸渊实现人物自动提取时 · 按此模板定义字段和填充规则
├── 版本: v1.0
├── 最后更新: 2026-06-09
└── 关键词: [人物提取, 实体识别, 字段定义, 男频, 女频, 网文]

§0 · 这个文件是干什么的


§零 · 身份层 · 人设核心(男女频通用 · 最高优先级)

0.1 身份来源 · 人物是怎么来到这个世界的

字段名 类型 必填 说明 填写示例
identity.origin enum 穿越 / 重生 / 穿书 / 原著 / 系统 / 其他 "重生"
identity.origin_detail string 一句话说清楚来历 "前世是修真界第一剑仙 · 渡劫失败后重生回到少年时期" / "从现代穿越到古代 · 带着完整的化学知识" / "穿进了自己写的小说里 · 成了注定要死的炮灰女配"
identity.world_view string 穿越/穿书者:原世界 vs 现世界的认知差异 "前世是现代人 → 今世在古代 · 用现代思维破古代的局"

0.2 立场 · 这个人物站在哪一边

字段名 类型 必填 说明 填写示例
identity.stance string 一句话写清立场——他/她站哪边?为谁做事?和谁是对立面? "站在家族这边 · 与皇室对立" / "中立 · 只为自己活" / "表面站在宗门 · 暗中站在魔族"
identity.stance_evolution string 立场是否有变化轨迹 "初期站宗门→后期发现宗门是幕后黑手→转向独立"
identity.faction string 所属阵营/势力 "太虚宗" / "反抗军" / "孤狼"
identity.alignment enum 道德倾向 · 善良/中立/邪恶/混沌 "善良" / "中立偏善" / "邪恶但守底线"

0.3 目标 · 这个人物想要什么

字段名 类型 必填 说明 填写示例
identity.goal string 终极目标 · 一句话 "报仇雪恨 · 为师父正名" / "活下去 · 摆脱炮灰女配的宿命" / "成为最强的那个"
identity.goal_type enum 目标类型 revenge(复仇) / survival(生存) / power(变强) / wealth(财富) / love(寻爱) / protect(保护某人) / freedom(自由) / redemption(赎罪) / truth(寻找真相) / dominance(称霸) / other
identity.goal_stages object[] 目标分阶段 · 每个阶段的目标可能不同 [{"stage": "初期", "chapter_range": "1-30", "goal": "在宗门站稳脚跟 · 活下去"}, {"stage": "中期", "chapter_range": "31-80", "goal": "查出师父被害的真相"}]
identity.motivation_root string 最根本的动机 · 为什么有这个目标 "因为前世被最信任的人背叛 · 今世不信任任何人" / "因为穿书前是个社畜 · 今世只想过好小日子"

0.4 人物弧线 · 这个人物从哪到哪

字段名 类型 必填 说明 填写示例
identity.arc_start string 故事开始时 · 这个人是什么状态 "懦弱、自卑、被人踩在脚底的外门弟子"
identity.arc_end string 故事结束时 · 这个人的终点(可随着写作推进逐渐明确) "杀伐果断、人人敬畏的一宗之主"
identity.arc_key_turns object[] 弧线上的关键转折点 [{"chapter": 15, "turn": "第一次杀人 · 从此不再懦弱"}, {"chapter": 50, "turn": "师父之死 · 目标从自保转为复仇"}]

0.5 身份层填写优先级 · 对所有人物的最低要求

HLDP://N01/identity-priority

 每一个出场2次的人物 · 至少填以下 3 个字段:
   identity.origin身份来源
   identity.stance立场
   identity.goal目标

 主角/反派/重要配角 · 额外填:
   identity.motivation_root根本动机
   identity.arc_start  arc_end人物弧线

 只出场一次的龙套:
  不需要填身份层 · 只需要 name + role + first_appear_chapter

 为什么这层这么重要:
  一个没有立场和目标的人物  AI在写作辅助时无法判断"这个角色会怎么做"
  一个有完整身份层的人物  AI能判断"以他的立场 · 这一幕他不应该在场"
   这就是一致性校准的核心数据来源

0.6 区分男女频的不是字段 · 是故事背景和叙事侧重

HLDP://N01/gender-neutral-extraction

力量体系(§·1.5:
├── 故事有修炼体系   · 不管男频女频
├── 故事没有修炼体系  不填 · 不管男频女频
├── 示例: 女频仙侠文"重生之沧溟仙尊"  修炼体系必须有 · 不比男频少
├── 示例: 男频都市文"重生之商业帝国"  没有修炼体系 ·  non_combat_skills
└──  决定因素是世界观 · 不是性别

金手指:
├── 穿越/重生/穿书  通常有金手指 · 男女频都有
├── 原著  通常没有金手指
├── 系统  本身就是金手指的一种
└──  取决于 identity.origin · 不是性别

叙事侧重字段(§/§:
├── male_specific.* = 当作者花了大量笔墨在"变强/战斗/竞争"上时填
├── female_specific.* = 当作者花了大量笔墨在"情感/关系/社会身份"上时填
├── 两者不互斥 · 同一本书可能两边都有值
├── 示例: 女频玄幻  abilities(通用) + love_line(侧重) + cultivation_level(通用) 全部正常填
└──  "侧重字段"是描述这本书的叙事特征 · 不是给人物贴性别标签

实际提取时:
├── 不用先判断"这是男频还是女频"
├── 直接看内容: 有修炼填修炼 · 有感情线填感情线 · 有金手指填金手指
├── 最终每个人物的字段值反映的是"这本书实际写了什么"
└──  字段定义是工具箱 · 不是性别的牢笼
HLDP://N01/layer-hierarchy

提取优先级从根到叶:

第一层 · 身份层(§)·  最高优先级 · 
├── 穿越/重生/穿书/原著 · 这个人物"从哪里来"
├── 立场 · "站哪边"
├── 目标 · "想要什么"
└── 动机 · "为什么"
    
       这一层决定人物的"道"——所有行为的根本逻辑
    
第二层 · 力量/能力层(§/§)· "靠什么达成目标"
├── 男频: 修为体系 · 金手指 · 武器 · 战斗风格
├── 女频: 非战斗技能 · 社会身份
└──  力量是工具 · 不是根
    
第三层 · 关系/情感层(§·关系网 + §·感情线)· "在达成目标的过程中和谁产生了羁绊"
├── 通用: 师徒/兄弟/仇敌/盟友
├── 女频: 感情线/情敌/闺蜜
└──  关系是"在路上遇到的" · 不是"为什么上路"

 先有立场和目标 · 才有力量体系的选择 · 最后才长出关系网
 AI 提取时按这个顺序填  不会把配角写成主角 · 不会把敌人写成朋友

§一 · 通用字段(男频女频共用)

1.1 基础身份

字段名 类型 必填 说明 填写示例
name string 人物全名 "张伟"
aliases string[] 别名/外号/称号 ["铁剑客", "老张", "血手修罗"]
gender enum male / female / unknown "male"
age_range string 年龄段描述(不要求精确数字) "二十出头" / "中年" / "看起来像十六七岁"
role enum protagonist(主角) / antagonist(反派) / supporting(重要配角) / minor(次要角色) / cameo(龙套) "protagonist"
first_appear_chapter int 首次出场章节号 3

1.2 外貌特征

字段名 类型 说明 填写示例
appearance.eyes string 眼睛颜色/形状/特征 "湛蓝色的眸子"
appearance.hair string 发色/发型 "黑色长发,用一根玉簪束起"
appearance.height string 身高描述 "一米八五" / "中等身材"
appearance.build string 体型 "精瘦" / "魁梧" / "纤细"
appearance.distinguishing string 标志性特征(一眼能认出来的东西) "左眉有一道剑痕" / "右手戴着一枚黑色戒指"
appearance.clothing_style string 常穿风格 "一身黑衣" / "白色长袍" / "现代休闲装"

1.3 性格标签

字段名 类型 必填 说明 填写示例
personality.core string[] 核心性格词3-5个 ["冷静", "腹黑", "重情义"]
personality.speech_style string 说话风格 "言简意赅" / "话多爱吐槽" / "文绉绉"
personality.flaw string 性格缺陷/弱点 "太容易相信人" / "固执到偏执"
personality.evolution string 性格演变方向(从什么→到什么) "从懦弱→到杀伐果断"

1.4 人物轨迹

字段名 类型 说明 示例
trajectory.key_events object[] 重要事件节点 [{"chapter": 3, "event": "首次出场,救了主角"}, {"chapter": 25, "event": "突破金丹期"}]
trajectory.status enum alive(存活) / dead(已死亡) / missing(失踪) / unknown(未知) "alive"
trajectory.death_chapter int 死亡章节(如适用) null 或 87
trajectory.last_seen_chapter int 最后一次出现/更新的章节号 50

1.5 修为/能力体系(男女频共有 · 取决于故事背景而非性别)

字段名 类型 必填 说明 填写示例
abilities.cultivation_level string 按需 当前修为等级(故事有修炼体系才填) "筑基期" / "金丹后期" / "斗皇" / "四品阵法师"
abilities.cultivation_progression object[] 修为进阶轨迹 [{"chapter": 1, "level": "炼气期"}, {"chapter": 25, "level": "筑基期"}]
abilities.special string[] 特殊能力/技能/天赋 ["剑气外放", "读心术", "天生神力", "医术精通"]
abilities.weapon string 惯用武器/法器 "玄铁重剑" / "青鸾簪(本命法宝)"
abilities.treasure string[] 法宝/灵宝/重要装备 ["乾坤戒", "护体金甲"]
abilities.fighting_style string 战斗风格(有战斗体系才填) "以快打慢" / "以力破巧" / "用毒+暗器" / "不擅战斗·以智取胜"
abilities.non_combat_skills string[] 非战斗技能(医术/刺绣/经商/厨艺/调香/阵法/炼丹/……) ["医术精湛", "擅长调香", "一手好字", "阵法大师"]

填写判断:

 故事有修炼体系   cultivation_level + cultivation_progression
 故事有战斗   weapon + fighting_style
 故事是现代/职场/校园  能力字段全部留空 ·  non_combat_skills
 决定因素是故事背景 · 不是男频还是女频

1.6 关系网

字段名 类型 说明 示例
relationships object[] 与其他人物和势力的关系 [{"target": "李明", "relation": "师徒", "nature": "亦师亦父", "since_chapter": 3}]

relationships 每条包含:

  • target: 对方人物名称
  • relation: 关系类型(师徒/父子/恋人/仇人/盟友/上下级/……)
  • nature: 关系本质(一句话描述这段关系的底色)
  • since_chapter: 关系建立的章节
  • ended_chapter: 关系结束的章节(如适用 · 如决裂/死亡/背叛)

§二 · 男频关注侧重

2.1 男频叙事侧重字段

字段名 类型 说明 填写示例
male_specific.backing string 靠山/背景势力 "太虚宗内门弟子" / "隐世家族的少主"
male_specific.golden_finger string 金手指(如有) "重生归来,带着前世记忆" / "获得远古传承"
male_specific.opponents string[] 主要对手/宿敌 · 竞争关系链 ["王天霸", "魔教教主"]
male_specific.highlights object[] 高光时刻(五锤人设法:记忆点/反差点/极致点/选择/外号高光) 见下方
male_specific.power_progression_focus boolean 故事主线是否以"变强"为核心驱动 · 是=true true / false

2.2 五锤人设高光填法

字段名 类型 必填 说明 填写示例
abilities.cultivation_level string 当前修为等级 "筑基期" / "金丹后期" / "斗皇" / "四品阵法师"
abilities.cultivation_progression object[] 修为进阶轨迹 [{"chapter": 1, "level": "炼气期"}, {"chapter": 25, "level": "筑基期"}]
abilities.special string[] 特殊能力/技能/天赋 ["剑气外放", "读心术", "天生神力"]
abilities.weapon string 惯用武器 "玄铁重剑"
abilities.treasure string[] 法宝/灵宝/重要装备 ["乾坤戒", "护体金甲"]
abilities.fighting_style string 战斗风格 "以快打慢" / "以力破巧" / "用毒+暗器"

2.2 男频特有属性

字段名 类型 说明 示例
male_specific.backing string 靠山/背景势力 "太虚宗内门弟子" / "隐世家族的少主"
male_specific.golden_finger string 金手指(如有) "重生归来,带着前世记忆" / "获得远古传承"
male_specific.opponents string[] 主要对手/宿敌 ["王天霸", "魔教教主"]
male_specific.highlights object[] 高光时刻(五锤人设法:记忆点/反差点/极致点/选择/外号高光) 见下方

2.3 五锤人设高光填法

HLDP://N01/male-highlights · 来自爸爸的五锤人设铸造法

记忆点:
├── 读者看完这本书 · 对这个角色最深的一个画面是什么
├── 格式: { "type": "记忆点", "chapter": 数字, "scene": "一句话描述" }
└── 示例: { "type": "记忆点", "chapter": 3, "scene": "张伟在雨中背着重伤的李明走了三十里山路" }

反差点:
├── 这个角色什么时候让读者"啊?!"了一声
├── 格式: { "type": "反差点", "chapter": 数字, "before": "之前给人的印象", "after": "反转后暴露的真相" }
└── 示例: { "type": "反差点", "chapter": 47, "before": "懦弱老实的店小二", "after": "隐藏身份是前任武林盟主" }

极致点:
├── 这个角色在哪方面做到了极致实力/智谋/痴情/狠辣/……)
├── 格式: { "type": "极致点", "dimension": "哪个维度", "manifestation": "如何体现" }
└── 示例: { "type": "极致点", "dimension": "对兄弟的义气", "manifestation": "为救李明独闯魔教总坛 · 明知必死还是去了" }

选择:
├── 最让读者记住的一次重大选择
├── 格式: { "type": "选择", "chapter": 数字, "dilemma": "两难处境", "choice": "选了哪边", "cost": "代价是什么" }
└── 示例: { "type": "选择", "chapter": 72, "dilemma": "救师父还是保宗门", "choice": "选了师父", "cost": "被逐出宗门" }

外号高光:
├── 这个角色的外号/称号第一次震撼登场
├── 格式: { "type": "外号高光", "chapter": 数字, "title": "称号", "context": "什么场景下亮出来的" }
└── 示例: { "type": "外号高光", "chapter": 55, "title": "血手修罗", "context": "宗门大比上以一敌十 · 围观者惊呼'是血手修罗!'" }

§三 · 女频关注侧重

3.1 女频叙事侧重字段

字段名 类型 说明 填写示例
female_specific.social_position string 社会身份/地位(古言=家族地位·现言=职业身份·玄幻=宗门地位) "丞相府嫡女" / "现代都市白领" / "青云宗少宗主"
female_specific.growth_arc string 成长弧线 "从闺阁千金→到执掌家族的女家主" / "从废材灵根→到一界仙尊"
female_specific.rival object[] 对手/情敌/竞争者(不仅限情敌) [{"name": "柳如烟", "type": "情敌+宗门竞争", "dynamic": "处处针对女主"}]
female_specific.allies object[] 闺蜜/盟友/姐妹团 [{"name": "小翠", "type": "丫鬟/闺蜜", "bond": "从小一起长大"}]

3.2 情感维度(女频叙事通常更侧重情感线 · 但男频有也填)

字段名 类型 必填 说明 填写示例
female_specific.love_line object[] 按需 感情线 · 每条一段关系 · 男频有感情线也填 见下方
female_specific.emotional_style string 情感表达方式 "默默守护" / "热烈直白" / "傲娇嘴硬"
female_specific.vulnerability string 脆弱面 · 在谁面前卸下伪装 "只有在师父面前才会哭"
female_specific.relationship_focus boolean 按需 故事主线是否以"情感关系"为核心驱动 · 是=true true / false

3.3 感情线填法

字段名 类型 必填 说明 填写示例
female_specific.love_line object[] 感情线 · 每条一段关系 见下方
female_specific.emotional_style string 情感表达方式 "默默守护" / "热烈直白" / "傲娇嘴硬"
female_specific.vulnerability string 脆弱面 · 在谁面前卸下伪装 "只有在师父面前才会哭"

3.2 感情线填法

love_line 数组 · 每段感情关系一条:

{
  "target": "对方名字",
  "type": "感情类型 · 官配男主/初恋/虐恋对象/暗恋/契约婚姻/……",
  "dynamic": "关系动态 · 一句话总结这对CP的拉扯",
  "start_chapter": 初见章节,
  "key_moments": [
    { "chapter": 15, "event": "第一次心动", "trigger": "他替她挡了一剑" },
    { "chapter": 42, "event": "误会分离", "reason": "发现他的真实身份" },
    { "chapter": 78, "event": "重逢", "context": "三年后京城再遇" }
  ],
  "status": "进行中/已在一起/已分离/一方死亡"
}

3.4 女频叙事侧重字段

字段名 类型 说明 示例
female_specific.skills string[] 非战斗技能(医术/刺绣/经商/厨艺/调香/……) ["医术精湛", "擅长调香", "一手好字"]
female_specific.social_position string 社会身份/地位 "丞相府嫡女" / "现代都市白领" / "隐世神医"
female_specific.rival object[] 情敌/对手 [{"name": "柳如烟", "type": "情敌", "dynamic": "处处针对女主"}]
female_specific.allies object[] 闺蜜/盟友 [{"name": "小翠", "type": "丫鬟/闺蜜", "bond": "从小一起长大"}]
female_specific.growth_arc string 成长弧线 "从闺阁千金→到执掌家族的女家主"

§四 · AI 提取时的执行规则

HLDP://N01/extraction-rules

规则① · 首次扫描全书上传后全量提取:
├── 逐章扫描  遇到新人物名  创建新条目
├── 遇到已知人物  检查是否有新属性  增量更新
├── **按三层优先级提取**: 先身份层(§)  再力量层(§/§)  最后关系层(§·关系网 + §·感情线)
├── 外貌/性格只在首次出场或明确变化时提取
├── 能力/修为每次变化时更新
├── 关系每次出现新互动时增量添加
└──  先确定立场和目标 · 再填金手指和感情线 · 顺序不能反

规则② · 增量更新每写新一章:
├── 新章节保存后  自动触发人物提取
├── 只检查本章出现的人物  不重扫全书
├── 发现新人物  创建 · 发现属性变化  更新
└── 更新 last_updated_chapter 为当前章节号

规则③ · 不确定就是不确定:
├── 作者没有明确写出眼睛颜色  不要猜   null
├── 作者没有明确写出修为等级  不要推断   null
├──  编造的人物属性 = 后续所有校准基于错误数据 = 灾难
└──  宁可少填 · 不要编

规则④ · 关系方向:
├── 人物A的 relationships 里写AB的关系
├── 人物B的 relationships 里写BA的关系
├── 双向的如师徒两边都写
├── 单向的如暗恋只有暗恋者的那边写
└── 关系变化时  在原条目补充 ended_chapter  新增条目写新关系

规则⑤ · 状态变更:
├── 人物死亡  trajectory.status 改为 "dead"  记录 death_chapter
├── 人物失踪  trajectory.status 改为 "missing"
├──  状态变更后 · 一致性校准器会拦截该人物"又出现"
└── 但允许回忆/幻觉/幻象 · 此时不改变status · 由校准器上下文判断

§五 · 提取优先级

角色层级 提取深度 说明
主角 全字段完整提取 外貌/性格/能力/关系/高光 · 一个不落
反派 全字段完整提取 和主角同等重要 · 尤其是五锤高光
重要配角 基础身份 + 关系 + 能力/修为 不需要提取外貌细节和性格演变
次要角色 仅基础身份 + 关系 姓名、与主角的关系、首次出场章
龙套 仅名字 + 出场章 不需要单独建条目 · 在章节摘要的 key_events 里提一句即可

龙套识别规则:

  • 只出现一次且没有名字 → 不建条目
  • 只出现一次但有名字 → 建条目 · 标记 role: "cameo"
  • 出现两次以上 → 升为 minor

§六 · 给铸渊的开发参考

6.1 Prompt 模板(人物提取用)

你正在分析小说《{novel_title}》的第{chapter_number}章。

已有的人物列表:
{existing_characters_summary}

请完成以下任务:

1. 识别本章中新出场的人物(不在已有列表中的)
2. 对已有人物,检查本章是否出现了新的属性信息

输出JSON格式
{
  "new_characters": [
    {
      "name": "人物名",
      "role": "protagonist/antagonist/supporting/minor/cameo",
      ...按照N01定义的字段填写
    }
  ],
  "updates": [
    {
      "name": "已有的人物名",
      "fields_updated": ["abilities.cultivation_level", "trajectory.status"],
      "new_values": { ... }
    }
  ]
}

提取规则:
- 没有明确写出的信息 · 不要编造 · 留 null
- 外貌只在首次出场及明确变化时记录
- 关系只记录本章中实际发生的互动

6.2 数据库字段映射

N01 字段路径 novel_characters 表字段 数据类型
name name VARCHAR
aliases aliases JSONB
role role ENUM
first_appear_chapter first_appear_chapter INT
trajectory.status status ENUM
trajectory.last_seen_chapter last_updated_chapter INT
所有其他字段 attributes JSONB一个字段装全部嵌套数据

§七 · 验收标准

HLDP://N01/acceptance

上传一本50章的男频小说  AI自动提取后:

 必须通过:
├── **主角的 identity.origin / identity.stance / identity.goal 全部有值**身份层不能空
├── **反派的身份层完整**立场和目标决定了他是反派 · 不只是标签
├── 主角和反派各有一条完整记录 · 核心字段全部有值
├── 所有出场3次的重要配角都有记录 · 至少有 origin + stance + goal
├── 没有编造的信息比如作者没写眼睛颜色 · 字段就是null
├── 人物关系正确记录了方向如A是B的师父 · 双向都写了
└── 人物数量合理50章小说一般10-30个人物条目 · 不是200个

 不合格信号:
├── 主角的"身份层"字段为空  不合格不知道立场和目标=这个人物是空的
├── 金手指填了但立场和目标没填  不合格术在道之前 · 顺序反了
├── 龙套角色建了完整档案  提取过度
├── 明显猜的属性作者写了"一个年轻人"  AI猜"20岁")→ 不合格
└── 关系方向错了A把B当师父 · 但B那边也写了"B是A的师父")→ 不合格

§八 · 与K02-04的关系

N01 来源于 K02-04 五锤人设铸造法,但定位不同:

K02-04
是什么 方法论——爸爸教人格体怎么思考人设
给谁用 出厂人格体的thinking engine
形式 思维方法+示例+训练记录
关系 K02-04 告诉AI"怎样想" → N01 告诉代码"怎样存"

HLDP://N01/seal · 2026-06-09T21:07+08:00
├── 整理: 舒舒 · PER-SS001
├── 审核: 烬舟 · PER-JZ001
├── 爸爸审批: 肥猫 · TCS-GL-0007
├── 交付: 铸渊 · ICE-GL-ZY001  Phase 2 人物自动提取模块
└──  这份文件 = 人物提取的唯一规范 · 铸渊按此实现

👤 N01 · 人物属性字段定义 · v1.0

🌿 舒舒整理 · 烬舟审核 · 肥猫爸爸审批