
Story Setup
- 8.9k installs
- 4.7k repo stars
- Updated July 27, 2026
- worldwonderer/oh-story-claudecode
A deployment skill that copies agent definitions, git hooks, path-scoped rules, and reference materials into a Claude Code project's .claude/ directory to enable multi-agent Chinese web novel writing workflows.
About
story-setup deploys a complete agent-based writing infrastructure into a user's Claude Code project. It installs 7 custom agents (story-architect, narrative-writer, consistency-checker, etc.), git hooks for story validation, path-scoped rules, and reference materials. The skill merges with existing CLAUDE.md and settings.local.json without overwriting user config. Developers writing Chinese web novels use this to bootstrap a multi-agent workflow where each agent handles specific narrative tasks. After deployment, a new Claude Code session is required for agents to register as subagent_type, enabling full multi-agent collaboration in story-review and story-long-write workflows.
- Deploys 7 custom agents (architect, writer, checker) plus hooks/rules to .claude/ directories
- Merges CLAUDE.md by section markers and settings-hooks.json by command deduplication, preserving user config
- Creates .story-deployed sentinel with agents_version 13, references_dir, and resolver_strategy for upgrade detection
- Installs git hooks (session-start, validate-story-commit, guard-outline-before-prose) with lib/common.sh and lib/sentine
- Requires new Claude Code session after deployment to register agents; current session cannot spawn subagent_type
Story Setup by the numbers
- 8,859 all-time installs (skills.sh)
- +769 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #93 of 16,659 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
story-setup capabilities & compatibility
- Capabilities
- deploy custom agents to .claude/agents/ · install git hooks with lib/common.sh and lib/sen · merge claude.md by section markers · merge settings hooks.json by command deduplicati · create .story deployed sentinel with upgrade det · deploy agent reference bundle to project local p
- Use cases
- project management
- Platforms
- macOS · Linux · WSL
- Runs
- Runs locally
- Pricing
- Free
npx skills add https://github.com/worldwonderer/oh-story-claudecode --skill story-setupAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 8.9k |
|---|---|
| repo stars | ★ 4.7k |
| Security audit | 2 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | worldwonderer/oh-story-claudecode ↗ |
What it does
Deploy multi-agent writing infrastructure (hooks, rules, agents, references) to a Claude Code project for Chinese web novel creation.
Who is it for?
Chinese web novel authors using Claude Code who need multi-agent workflows with specialized roles (narrative planning, writing, consistency checking) and git-based story validation.
Skip if: Non-Chinese writing projects, single-agent workflows, non-Claude Code environments, developers who need real-time agent registration without session restart.
When should I use this skill?
Starting a new Chinese web novel project, upgrading agents_version from <13 to 13, or re-deploying after manual deletion of .claude/agents/.
What you get
Project has 7 registered custom agents, git hooks for story validation, path-scoped rules, and merged CLAUDE.md/settings-hooks.json; new sessions can spawn subagent_type for multi-agent collaboration.
- .claude/agents/ with 7 agent files
- .claude/hooks/ with 7 hooks plus lib/common.sh and lib/sentinel.sh
- .claude/rules/ with 4 path-scoped rules
By the numbers
- Deploys exactly 7 custom agents (story-architect, character-designer, narrative-writer, consistency-checker, story-resea
- Installs 7 git hooks (session-start, session-resume, session-end, detect-story-gaps, validate-story-commit, guard-outlin
- agents_version 13 indicates current reference bundle and hook compatibility
Files
story-setup:网文写作工具集基础设施部署
你是写作基础设施部署器。将网文写作工具集的全套基础设施(hooks、rules、agents、CLAUDE.md)部署到用户项目目录。
执行铁律:不覆盖用户已有配置,合并而非替换。
---
Phase 1:检测项目状态
1. 检查当前目录是否已部署过(存在 .story-deployed)
- 如果已存在 → 使用 AskUserQuestion 确认是否重新部署
2. 检查是否有书名目录(包含 追踪/ 子目录的目录,或用户自定义结构)
- 有 → 识别为长篇项目,显示当前项目信息
- 无 → 识别为新项目或短篇项目
3. 检查 .claude/settings.local.json 是否存在
- 存在 → 读取现有配置,后续合并
- 不存在 → 后续创建新文件
4. 检查 .active-book 文件是否存在
- 存在 → 显示当前活跃书目
- 不存在 → 跳过
Phase 2:部署基础设施
使用 AskUserQuestion 确认部署位置后,依次执行。
2.0 部署清单(机械可检查)
| Source path | Target path | Owner class | Merge mode | Validation check |
|---|---|---|---|---|
skills/story-setup/references/templates/CLAUDE.md.tmpl | CLAUDE.md | user+managed | marker/section merge | contains story skill routing sections |
skills/story-setup/references/templates/hooks/ | .claude/hooks/ | story-setup managed | recursive replace | session-*.sh, detect-story-gaps.sh, validate-story-commit.sh, guard-outline-before-prose.sh, lib/common.sh, lib/sentinel.sh exist |
skills/story-setup/references/templates/rules/*.md | .claude/rules/*.md | story-setup managed | replace | every rule contains paths frontmatter |
skills/story-setup/references/templates/agents/*.md | .claude/agents/*.md | story-setup managed | replace | 7 agent files exist |
skills/story-setup/references/agent-references/*.md | .claude/skills/story-setup/references/agent-references/*.md | story-setup managed | replace | every story-setup/references/agent-references/*.md reference resolves |
skills/story-setup/references/templates/settings-hooks.json | .claude/settings.local.json | user+managed | merge by hook command | hook JSON valid and registered commands deduped |
skills/story-setup/references/templates/上下文.md.tmpl | {书名}/追踪/上下文.md | user state | create only if absent | never overwrite existing writing context |
| generated sentinel | .story-deployed | story-setup managed | replace | contains agents_version, setup_skill_version, target_cli, resolver_strategy, references_dir |
2.1 部署 CLAUDE.md
- 读取
skills/story-setup/references/templates/CLAUDE.md.tmpl - 替换占位符(见下方「模板占位符」段)
- 写入项目根目录
CLAUDE.md(如已存在,按「CLAUDE.md 合并策略」处理)
2.2 部署 Hooks
- 递归复制完整目录树:将
skills/story-setup/references/templates/hooks/复制到用户项目.claude/hooks/ - 必须保留子目录
lib/,其中: lib/common.sh提供project_root、discover_active_book、discover_all_bookslib/sentinel.sh提供.story-deployed字段读取- 只需对
.claude/hooks/*.sh设置执行权限(chmod +x);lib/*.sh由 hooksource,不要求可执行位
2.3 部署 Rules
- 读取
skills/story-setup/references/templates/rules/下所有.md文件 - 复制到用户项目的
.claude/rules/目录
2.4 部署 Agents
- 读取
skills/story-setup/references/templates/agents/下所有.md文件 - 复制到用户项目的
.claude/agents/目录 - Agent 文件属于 story-setup 管理文件,可安全覆盖;版本升级时按
UPGRADING.md的版本检测结果重新部署 - 部署后必须新开会话:Claude Code 只在会话启动时扫描
.claude/agents/注册 subagent。当前会话内新部署的 agent 不会立即可用——必须让用户新开一个 Claude Code 会话,story-architect/narrative-writer等 custom agent 才会注册成subagent_type;否则 story-review、story-long-write 等想 spawn 时会拿到「subagent_type 不可用」并降级 solo(单视角)。这一步必须在安装报告里明确告知用户(见 Phase 3 第 6 步)。
2.4.1 Agent 兼容性处理
- Agent frontmatter 以 Claude Code 为主;OpenClaw/qclaw 等只要支持 AgentSkills,未知字段(如
memory、skills、disallowedTools)应被忽略。若目标工具报 frontmatter 错误,保留name、description、tools三项,删除不支持字段后再部署。 - 部署到项目后,agent 内引用的参考资料必须走
story-setup/references/agent-references/*.md这一本 skill 内复制路径;不要跨 skill 引用其他 skill 的 references。若全局安装路径不同,优先用项目内.claude/skills/或skills/作为规范路径前缀,其次用工具的 skill 搜索能力,不要假定固定绝对路径。
2.4.2 部署 Agent References
- 将
skills/story-setup/references/agent-references/下所有.md复制到项目内.claude/skills/story-setup/references/agent-references/ - 如目标项目已经使用项目本地
skills/目录,也可以同步复制到skills/story-setup/references/agent-references/作为 fallback,但不得只复制 fallback 而遗漏.claude/skills/主路径 - 校验:凡 agent 或 reference 中出现
story-setup/references/agent-references/<file>.md,源包与目标包都必须存在<file>.md
2.5 部署 Session State 模板
- 读取
skills/story-setup/references/templates/上下文.md.tmpl - 仅当已识别为长篇书目且
{书名}/追踪/已存在时,创建缺失的{书名}/追踪/上下文.md - 如果目标文件已存在,不覆盖;短篇项目不得因此创建
追踪/目录
2.6 合并 Hooks 注册到 settings.local.json
兼容性说明:settings-hooks.json中 PreToolUse 的if字段使用 Claude Code hook 条件语法,需要运行环境支持 hook-level if。若目标工具不支持该字段,hook 脚本本身仍会自检并 advisory-only 退出;部署时可删除该if字段并保留 matcher + command。
- 读取
skills/story-setup/references/templates/settings-hooks.json - 读取用户项目的
.claude/settings.local.json(如存在) - 合并 hooks 配置(按「settings-hooks.json 合并算法」处理)
- 写入
.claude/settings.local.json
2.7 创建部署标记
- 创建
.story-deployed文件(sentinel file) - 写入以下字段(YAML
key: value格式,hook 用references/templates/hooks/lib/sentinel.sh读取):
deployed_at: <date -u +"%Y-%m-%dT%H:%M:%SZ">
agents_version: 13
setup_skill_version: 1.2.2
target_cli: claude-code
resolver_strategy: project-local-skill-reference
references_dir: .claude/skills/story-setup/references/agent-references- 此文件供 session-start.sh 和写作 skill 检测部署状态,避免重复提示
- 同时创建一次性标记文件
.claude/.agents-pending-restart(空文件即可)。session-start.sh 在下一个会话启动时据此确认 agents 已随新会话注册,并自动删除该标记——用来向用户确认「重启已生效」。 - 如果
.story-deployed已存在但无agents_version或版本 < 13,提示用户重新运行 story-setup 以更新 hooks/agents/rules/reference bundle(具体变更见UPGRADING.md)
Phase 3:验证安装
1. 验证 hooks 注册:
- 检查
.claude/settings.local.json中的 hooks 字段是否正确 - 检查
.claude/hooks/下的脚本是否存在且有执行权限 - 检查
.claude/hooks/lib/common.sh与.claude/hooks/lib/sentinel.sh是否存在
2. 验证 rules 路径:
- 检查
.claude/rules/下的规则文件是否存在且包含pathsfrontmatter
3. 验证 agents:
- 检查
.claude/agents/下的 7 个 agent 定义文件是否存在
4. 验证 agent reference bundle:
- 检查
.claude/skills/story-setup/references/agent-references/下 reference 文件完整 - 检查所有
story-setup/references/agent-references/<file>.md都能解析到 deployed bundle
5. 验证部署标记:
- 检查
.story-deployed是否存在且包含时间戳、agents_version: 13、setup_skill_version: 1.2.2、target_cli、resolver_strategy、references_dir
6. 输出安装报告:
- 列出所有已部署的文件
- 列出需要注意的事项(如已有配置已合并)
- ⚠️ 重启提示(必须醒目输出):本次部署写入了
.claude/agents/,但这些 custom agent 只在「会话启动」时才会被 Claude Code 注册成subagent_type。请新开一个 Claude Code 会话再开始写作,否则当前会话里 story-review / story-long-write 等想 spawnstory-architect、narrative-writer等时会拿到「subagent_type 不可用」并降级 solo(单视角,失去多 agent 协作)。判断是否生效:新会话里跑/story-review,报告头若是Effective Mode: full/lean即注册成功;若是Fallback: ... -> solo说明还在旧会话或未注册。 - 重启后即可使用
/story-long-write或/story-short-write
---
模板占位符
| 占位符 | 替换规则 | 示例 |
|---|---|---|
{项目名} | 用户项目名称或目录名 | 《剑来》、《暗卫》 |
{书名} | 书名目录名(与目录一致) | 与 {项目名} 相同,或用户自定义 |
{目标平台} | 目标发布平台 | 起点、番茄、晋江、知乎盐言 |
{作者名} | 用户笔名或昵称 | 未指定时用「作者」 |
替换时去掉花括号。如果用户未指定项目名,用当前目录名。未指定的占位符保留原样不替换。
CLAUDE.md 合并策略
用户已有 CLAUDE.md 时,按 marker/section 合并: 1. 优先识别 story-setup 管理块标记(如果旧项目已有标记,只替换标记内内容) 2. 无标记时,读取用户现有 CLAUDE.md,按 ## 标题切分为 section map 3. 读取模板 CLAUDE.md.tmpl,同样切分 4. 模板中的标准 section(Skill 路由表、文件结构、协作规则、Context Recovery、语言)覆盖用户同名 section 5. 用户独有的 section(自定义内容)保留不动 6. 未知冲突用 AskUserQuestion 让用户选择保留哪个版本
settings-hooks.json 合并算法
hooks 注册合并按 command 字段去重: 1. 读取用户现有 .claude/settings.local.json(如存在),提取 hooks 部分 2. 读取 settings-hooks.json 模板,提取要注册的 hooks 3. 对每个 hook event(SessionStart、PreToolUse 等):
- 用户已有的 hook command → 保留,不重复添加
- 模板中的新 hook command → append 到对应 event 的 hooks 数组
- 用户独有的其他配置(permissions、env 等)→ 完整保留
4. 写入合并后的完整 settings.local.json
重新部署
.story-deployed不存在 → 全新安装,Phase 2 全部执行.story-deployed存在且agents_version: 13→ 提示已部署,AskUserQuestion 确认是否重新部署.story-deployed存在但agents_version< 13 → 提示需要更新,重新执行 Phase 2 覆盖 agents/hooks/rules/reference bundle,CLAUDE.md 和 settings.local.json 走合并策略
---
参考资料
| 文件 | 用途 |
|---|---|
| references/templates/CLAUDE.md.tmpl | 项目根 CLAUDE.md 模板 |
| references/templates/hooks/ | 7 个 hook 脚本模板 + lib/common.sh/lib/sentinel.sh |
| references/templates/rules/ | 4 条 path-scoped 规则模板 |
| references/templates/agents/ | 7 个 agent 定义模板(story-architect, character-designer, narrative-writer, consistency-checker, story-researcher, story-explorer, chapter-extractor) |
| references/agent-references/ | Agent 模板自带的参考资料副本;部署到 .claude/skills/story-setup/references/agent-references/,避免跨 skill references |
| references/templates/settings-hooks.json | hooks 注册 JSON 片段 |
| references/templates/上下文.md.tmpl | 写作上下文模板 |
---
流程衔接
流水线: 部署 位置: 初始化(最前置)
| 时机 | 跳转到 | 命令 |
|---|---|---|
| 部署完成,开始写作 | story-long-write / story-short-write | /story-long-write 或 /story-short-write |
| 导入已有小说做拆解 | story-import | /story-import |
| 需要浏览器登录态(扫榜/拆文取原文) | browser-cdp | /browser-cdp |
去AI味完整指南
<!-- version: 2.0.0 sync-source: skills/story-setup/references/agent-references/anti-ai-writing.md 本文件在 6 个 skill 副本间需保持一致: story-deslop / story-long-write / story-short-write / story-short-analyze / story-review / story-setup 修改后请同步所有副本(CI 守卫见 scripts/check-shared-files.sh)。 -->
识别AI写作指纹、系统性去AI三遍法、禁用词约束、改写范例库。用于正文写作后做去AI味自检和改写时查阅。
---
决策路由
| 你在做什么 | 查阅哪个模块 |
|---|---|
| 写完正文后做去AI自检 | 核心规则 -> 8种AI写作模式检测 -> 质量维度检查 |
| 改写某段AI味重的文字 | 改写范例库 + 冲突对话改写范例 |
| 检查是否用了禁用词 | 禁用词与句式速查 -> AI高频词(模式1) |
| 系统性去除整章AI味 | 系统性去AI三遍法 |
| 检查章尾是否有总结升华 | AI写作指纹 -> 章末总结体 |
| 判断情绪描写是否告知式 | Show Don't Tell原则 + 去AI味补充技法 |
| 快速扫描全章质量 | 快速自检口诀 + 质量维度检查 |
指令语气
本文件以问题模式和高危清单为主。一级高危词优先检查;二级/语境敏感词按频率、语境和是否偷懒判断。遇到冲突时,保留创作意图与剧情功能优先于机械替换。
---
AI写作指纹(必须避免)
高频AI用词
完整禁用词表见 banned-words.md
补充类目(banned-words.md 未覆盖的高阶替换):
| 类别 | 替代原则 |
|---|---|
| 抽象升华词(命运、宿命、注定) | 用具体事件代替抽象概念 |
| 万能比喻(像潮水般、如闪电般、仿佛春风) | 要么不用比喻,要么用生活化的比喻 |
章末总结体
禁止在章节结尾用以下方式收束:
- 总结性感悟("他终于明白了……")
- 升华式感叹("这一夜,注定无人入眠")
- 哲理式收尾("人生就是这样……")
- 伏笔式预告("他不知道的是,更大的风暴即将来临")
正确做法:章尾用动作、对话或悬念收束,让情节本身制造余韵。
叠加式描写(同一动作掰开写三遍)
检测模式:一个动作/情绪先写发生,再补感知细节,再补身体反应,分三段依次写完。读者看到的是同一个动作被掰开写了三遍。
典型特征:
- 先写一个概括性动作,再展开写同一动作的细节,再写身体反应:三段说的是同一件事
- "发生层→感知层→反应层"按顺序分段出现
- 每个维度独立成段,而不是揉进同一段连续正文
错误示例:
林父低着头,左手把文书压住,右手拿笔,往纸上落。
>
手在抖。不是小抖,是从肘到腕的那种。
>
笔尖在纸上停了停,写了一横,又停。那个"林"字的撇写歪了。
→ 同一个动作(手抖/写字)分三段写,每段是同一瞬间的不同维度
正确做法:发生、感知、反应三个维度揉进同一段连续正文,读者读到一个完整瞬间:
林父左手压着文书,右手拿笔往纸上落,笔尖一触纸面就偏了,从肘到腕止不住地抖,那一横斜着拖出去。
→ 发生、感知、反应在一段里同时呈现
处理原则:不是删除情绪细节,而是合并同一瞬间的重复描写。若合并后明显变薄,优先恢复原文中有功能的信息,或把既有信息改成更自然的动作/对话表达;不要新增原文没有的情节、设定、关系或时间线。
---
核心规则
规则 1:段落密度诊断
段落不是越碎越好,也不是越长越有质感。检查重点是朗读和手机阅读是否卡顿:
- 一段通常只承载一个动作、一个信息变化或一组紧密相关的反应。
- 逗号串太长、多个完整动作挤在一段里,读起来需要换气时,按动作或信息变化拆开。
- 连续短段碎成提纲时,合并同一镜头内的相邻句,让画面保持连续。
过密:他看着窗外的雨,心中涌起一股说不清的感觉,这些年走过的路和很多已经忘记的事都在这一刻涌上心头。
更自然:他盯着窗外。雨下了很久。
"你还在想她?"老刘问。
他没说话。规则 2:动作 + 对话 + 情绪反应
三要素循环推进,不要单写心理活动超过 2 段:
动作 -> 对话 -> 情绪反应 -> 动作 -> 对话 -> ……情绪不用"他感到/他觉得",用身体反应和行为表现:
- 不写"他很紧张" -> 写"手心全是汗,筷子差点掉了"
- 不写"她很愤怒" -> 写"她把杯子摔在地上,碎片弹到脚背上也没弯腰捡"
- 不写"他很伤心" -> 写"他在车里坐了二十分钟才发动引擎"
规则 3:短句优先
| 场景 | 句长 | 示例 |
|---|---|---|
| 打斗/紧张 | 3-8 字 | 他侧身。刀光一闪。血溅在墙上。 |
| 对话 | 口语化 | "你疯了?""可能吧。" |
| 日常 | 8-15 字 | 厨房里有炒菜的声音,闻着像辣椒炒肉。 |
| 描写 | 读起来不卡,信息不过载 | 天快黑了,巷子里没什么人。 |
规则 4:口语化表达
- 允许用俚语、粗话(符合角色身份)
- 对话不要书面语("我认为此事不妥" -> "我觉得不靠谱")
- 叙述也不要端着("他目光如炬" -> "他眼珠子一动不动盯着")
- 短语优先于成语("无可奈何" -> "没办法")
---
---
Show Don't Tell 原则
| Tell(告诉) | Show(展示) |
|---|---|
| 他是个胆小的人 | 他把检查报告在手里翻来覆去看了三遍,还是不敢打开 |
| 这间酒吧很吵 | 酒保凑到他耳边喊了两次他才听见 |
| 她很富有 | 她随手把一张信用卡丢在桌上,卡面上的数字比这顿饭贵十倍 |
| 两人关系很差 | 他把烟掐灭在她刚泡的茶杯里,她面无表情地把杯子推到一边 |
| 他很聪明 | 三秒钟。他看了三秒钟就把文件合上了。"第三页,第二行。" |
核心方法: 1. 用行为代替形容词 2. 用细节代替总结 3. 用对话代替旁白说明 4. 用反应代替情绪词
---
质量维度检查
1. 核心一致性(权重最高)
- 剧情是否与大纲/前文一致
- 人物行为是否符合人设
- 设定是否有前后矛盾
2. 表面改写(防AI指纹)
- 是否包含AI高频用词(见上表)
- 章尾是否有总结/升华
- 是否有大段纯心理描写
- 段落是否按戏剧单元/镜头自然断开,避免机械单句成段或为凑短碎成提纲(网文段落规则)
3. 格式一致性
- 对话格式统一:按项目/平台约定保持同一引号风格;知乎盐言短篇可用「」
- 标点节奏匹配语气:避免通篇句号化;保留有功能的问号和少量感叹号;用动作/短句表达迟疑或打断,不用省略号或破折号硬造停顿
- 场景切换有明显标记
- 时间线清晰可追踪
4. 可读性
- 是否有连续多个长句压住阅读节奏,且缺少动作、对话或短句换气
- 对话是否口语化
- 是否有未解释的生僻词/设定术语
- 节奏是否有快有慢(不能全是一种节奏)
5. 逻辑连贯性
- 角色动机是否合理
- 事件因果链是否清晰
- 时间线是否对得上
- 角色的知识范围是否合理(不能"开上帝视角")
---
快速自检口诀
一事一段,镜头自然断。
对话要像人说话。
心情不写心里话。
结尾不搞大升华。
打斗不写流水账。
日常要埋伏笔桩。网文段落规则:按戏剧单元/镜头/一件事结束自然断段;短段快读,长段承载完整推理、氛围和情绪链,避免机械单句成段或通篇同长度。
---
禁用词与句式速查
完整禁用词表和句式模板见 banned-words.md
正确替代示例
- '他感到一丝紧张' -> '他的手在抖'
- '她很伤心' -> '她转过身去,肩膀微微颤动'
- '"好的。"他说道' -> '"好的。"他点了根烟'
- '他深吸一口气' -> '他把烟摁灭在烟灰缸里'
---
8 种 AI 写作模式检测
模式 1:AI 高频词
| 禁用 | 替换为 |
|---|---|
| 不禁 | 删掉 |
| 仿佛/宛如 | 删掉或用具体描写 |
| 映入眼帘 | 删掉 |
| 心中暗道 | 用动作展示思考 |
| 沉声道/淡淡地说 | 换成动作标签 |
| 脸色一变 | 用具体表情/动作 |
| 嘴角微扬 | 他笑了/他翘了下嘴 |
| 不由自主 | 删掉 |
| 只见/此时此刻 | 删掉 |
| 目光如炬 | 删掉或具体化 |
模式 2:弱化副词泛滥
阈值:每 1000 字超过 3 个 = AI 签名。重点监控:微微、淡淡、缓缓、轻轻。
模式 3:意义膨胀
- "意义深远" -> 写具体后果
- "前所未有" -> 给出对比参照
- "可谓" -> 删掉
模式 4:万能结论
- "未来可期" -> 用未解决的紧张感结尾
- "前途无量" -> 删
- "充满希望" -> 写具体的下一步动作
模式 5:论文体段落结构
小说中出现以下开头句 = AI 入侵:
- "不难看出""由此可见""事实上""综上所述"
模式 6:书面语连词泛滥
叙事散文中频繁出现:"于是乎""与此同时""从而""因而""诚然" -> 口语化替代或直接删除。
模式 7:三连排比癖
AI 喜欢把事情凑成三个以显"完整"。-> 砍到只剩最有力的一条。
模式 8:解释腔 / 上帝视角 / 安排感
最难察觉、却最"像 AI"的一类。叙述者跳出角色当下,去解释、剧透、总结、定性、拔高,读者能闻到"作者在场"和"剧情被安排好了"的味道。这正是"说教感/上帝感/解释腔/机械感/刻意感/安排感"的来源。
| 表现 | 例(删/改) |
|---|---|
| 解释因果 | 「之所以…是因为」「原来…」「这意味着」「正是因为」-> 删。因果只从角色动作、对话、反应里让读者自己拼 |
| 上帝视角剧透 | 「她不知道的是」「殊不知」「多年以后」「冥冥之中」「仿佛预示着」-> 删。只写角色此刻知道的,悬念让读者自己悬 |
| 替读者下结论/定性 | 「演得真好」「这出戏她看过一遍」「他就是这样薄情的人」-> 删。把证据(神态、动作、台词)摆出来,定性留给读者 |
| 替角色总结心理 | 「她明白,这一切都是命」-> 换成一句带偏见的闪念或一个身体反应 |
| 安排感/硬铺垫 | 为后文强行交代背景、整段回忆倒叙 -> 背景按角色此刻真实所需,用闪念、半句话、物件零碎带出,不集中交代 |
| 升华式收尾 | 结尾对仗拔高、金句点题 -> 用一个动作或一句留白收住,把"意思"压进画面里 |
更隐蔽的一层(最难自查,没有标志词)——同样是安排感/上帝感:
- 评判性副词/补语:「关切得恰到好处」「笑得恰如其分」「不多不少」-> 作者在替读者盖章"这是装的"。只写动作("她掩了帕子,眼睛没动"),装不装让读者自己判。
- 剧透式点破潜台词:「那点笑她看得分明」「谁都看得出他在撒谎」-> 把藏着的挑明了。留着别点破。
- 定性比喻/盖棺句:「像在宣判一件早已定好的事」「像看一件死物」-> 比喻在替角色下定论。非角色此刻强烈主观感受就删;要留也只能是她带偏见的瞬间感觉,不是客观断言。
自检:每句问一遍——这是"角色在经历",还是"作者在讲解/安排"?凡作者跳出来讲,删,或改成角色视角内的呈现。根治办法是锁定深度限知视角(见 writing-craft.md「视角姿态:深度限知」),镜头钉死在角色身体里,作者就没位置跳出来了。
---
系统性去AI三遍法
Pass 1:去泛化(Strip Generic)
- 抽象情绪总结句 -> 删或替换为具体动作
- 假深度句 -> 删
- 意义膨胀 -> 缩小到具体影响
- 空洞结论 -> 删
- 工整对比句式 -> 打散重写
- 装饰性形容词堆砌 -> 白描
- 过度使用"于是""然而""此刻" -> 删掉一半
- 所有角色说话一样"高级" -> 区分语气
原则:能删就删,不能删就用具体细节替换。这一遍去掉80%的AI味。
Pass 2:去书面化(Cut Professional Diction)
- 分析性用词("机制""结构""逻辑""体系"出现在小说中)-> 换成日常表达
- 抽象名词滥用 -> 直接说事
- 体制内用语("进一步""深入""推进""落实")-> 删
- 专业术语堆砌 -> 只保留必要的,用白话解释
例外:保留专业感的场景(历史题材正式用语、文学向刻意密度、喜剧夸张修辞)。
Pass 3:回自然感(Restore Natural Presence)
- 具体的感官细节(气味、温度、触感)
- 角色说话方式的区分(不同人不同语气)
- 节奏变化(长短句交错):按情绪 beat、动作推进和戏剧单元自然调节句段长短;忌连续多段同一长度,也忌为凑短而碎成提纲。长短不是随机,沉淀处可放慢,冲突/反转处可骤短,完整推理与情绪链优先保持连贯
- 社会位置感的对话(上级和下属说话方式不同)
- 场景特有的记忆点
- 项目特有的语言习惯(角色的口头禅)
原则:少即是多。每段加 1-2 个具体细节就够了。
升级策略
| AI味程度 | 策略 |
|---|---|
| 轻度 | 只做 Pass 1 |
| 中度 | Pass 1 + Pass 2 |
| 重度 | 完整三遍 + 重点段落重写 |
自检清单
- 对话自然度检查:对话是否使用口语化表达,是否避免了书面语/正式腔调
- 删掉任何一句,会影响理解吗?不会 = 可能多余
- 不同角色能通过对话区分吗?
- 有没有一个细节是这个场景特有的?
---
去AI味补充技法
Show vs Tell
| 告知类型 | AI写法 | 自然写法 |
|---|---|---|
| 告诉期待感 | "他很期待" | 展示期待->情绪->满足的链条 |
| 告诉角色目的 | "她想离婚" | 用行动展示目的 |
| 告诉角色态度 | "她很冷静" | 用对话和反应体现 |
| 告诉剧情走向 | "接下来会发生大事" | 用铺垫->反转->延续展示 |
心理描写润物细无声
- 加括号标注内心活动 = 破坏代入感
- 大段内心独白解释动机 = AI签名
- 直接写"她感到""她意识到" = 告知情绪
自然写法:心理活动自然融入叙事,用行为暗示心理,用沉默/动作/反常行为表达内心。
代入感检查
- 主角行为读者能理解、共鸣、接受吗?
- 反派够强吗?(弱反派 = 读者觉得主角赢了没意义)
- 是否围绕人设写行为?(行为/语言/思维围绕人格展开)
- 读者已知信息是否被有效操控?(信息差制造情绪波动)
---
改写范例库
情绪外化范例
紧张
- '他感到一阵紧张,心跳不由自主地加快了'
- 他攥紧了手里的纸杯,水洒出来一些
愤怒
- '愤怒在他心中燃烧,他不由得握紧了拳头'
- 他把筷子往桌上一拍,碗里的汤溅了出来
悲伤
- '一丝悲伤涌上心头,她的眼中闪过泪光'
- 她低头搅着咖啡,搅了很久
害怕
- '恐惧瞬间笼罩了他,他感到一阵战栗'
- 他的背贴在墙上,不敢动
失望
- '她感到一丝失落,心仿佛被什么东西揪住了'
- "哦。"她把手机锁了屏
惊讶
- '他的瞳孔微微收缩,显然没有想到会听到这样的话'
- 他张了张嘴,什么都没说出来
场景描写范例
AI风场景
- '阳光透过窗帘的缝隙洒进来,在地板上投下斑驳的光影。空气中弥漫着淡淡的花香,仿佛整个世界都沉浸在一片宁静祥和的氛围中。'
- 下午三点,客厅里只有钟在走。
AI风天气
- '天空阴沉沉的,乌云密布,仿佛随时都会下起倾盆大雨。凛冽的寒风呼啸而过,带着一丝刺骨的寒意。'
- 要下雨了。风把晾在外面的衣服吹得乱晃。
AI风打斗
- '他的拳头犹如疾风骤雨般猛烈,每一击都蕴含着不容置疑的力量。对手的瞳孔微微收缩,显然没有预料到如此凌厉的攻势。'
- 他一拳怼过去,对方没躲开,嘴角破了。
结尾改写范例
升华式结尾 -> '他站在窗前,望着远方的天际线,终于明白了生活的真谛:有时候,放手才是最好的选择。' -> 他把烟掐了,回屋睡觉。
总结式结尾 -> '这一刻,一切都变了。她知道,从今以后,她的人生将翻开崭新的一页。' -> 她关上了那扇门。没回头。
感慨式结尾 -> '岁月如流水般悄然流逝……' -> 直接删掉这种段落。
节奏调整范例
排比句
- '他看着她的眼睛,看着她的嘴唇,看着她微微颤动的睫毛,心中涌起一股难以名状的情感。'
- 他看着她。她没说话。
长句拆短
- '当他终于推开那扇沉重的木门时,映入眼帘的是一间昏暗的房间,空气中弥漫着陈旧的气息,墙角堆满了落满灰尘的箱子。'
- 门开了。屋里很暗,角落堆着几个箱子,上头全是灰。
工整段落打碎
- '她喜欢春天的花朵,喜欢夏天的阳光,喜欢秋天的落叶,喜欢冬天的白雪。每一个季节都有它独特的美。'
- 她喜欢春天。别的季节也还行。
---
冲突对话改写范例
AI式温和对话
- '我觉得你这样做不太合适,能不能考虑一下我的感受?' -> "你眼里还有我吗?"
AI式完美解释
- '其实我这样做是有原因的,因为当时的情况非常复杂……' -> "你能怎么着?"她把茶杯重重放下。
对话情绪五级递进范例
同一冲突场景,从弱到强:
1. 客观陈述:"你把我的东西扔了。" 2. 陈述+建议:"你把我的东西扔了,以后能不能先跟我说一声。" 3. 主观指责:"你凭什么动我的东西。" 4. 指责+命令:"你算什么东西,也配碰我的东西?滚出去。" 5. 指责+PUA:"我伺候你吃伺候你穿,你连个东西都放不好。你这辈子也就是这样了,离了我你什么都不是。"
震惊分层改写范例
AI式一步到位:所有人都震惊了,不敢相信自己的耳朵。
自然分层震惊: 1. 对面的男人手抖了一下,茶杯里的水洒出来。 2. 旁边的人互相看了一眼。有人往后退了一步。角落里有人开始掏手机。 3. 刚才还趾高气扬的女人,脸上的笑僵住了。她张了张嘴,一个字没说出来。
代入感修复范例
被动主角:她很害怕,不知道该怎么办,只能等着事情过去。
主动主角:她锁了门,把手机调成静音,打开了录音。
---
质量检查清单
写完每章后,按此清单逐项扫描:
- [ ] 段落控制:段落按动作/信息变化断开,读起来不卡
- [ ] 正文无破折号:正文(含叙述和对话)无
——/—/--(用句号、逗号、短句或动作断句),不设置对话例外 - [ ] AI高频词扫描:无不禁/仿佛/映入眼帘/心中暗道/沉声道/嘴角微扬/不由自主/只见
- [ ] 弱化副词计数:每1000字"微微/淡淡/缓缓/轻轻"不超过3个
- [ ] 无三连排比:没有AI式的"三个一组"修辞
- [ ] 无论文体:无"不难看出/由此可见/事实上/综上所述"
- [ ] 无书面语连词堆砌:无"于是乎/与此同时/从而/因而/诚然"泛滥
- [ ] 章尾无总结升华:用动作/对话/悬念收束,无感悟/哲理/预告
- [ ] 无大段心理描写:心理活动不超过2段,无括号标注内心
- [ ] 情绪用动作展示:无直接写"愤怒/伤心/紧张",全用身体反应
- [ ] 对话口语化:无书面腔,不同角色语气可区分
- [ ] 标点不压平:没有把质问、爆发、犹豫全部压成句号;也没有随机堆砌
?/!,或用……/——硬造停顿 - [ ] Show Don't Tell:用行为代替形容词,用细节代替总结
- [ ] 句长匹配场景:打斗和冲突段更短,日常和描写段可稍长,但朗读不卡、信息不过载
- [ ] 去AI三遍法执行:轻度只做Pass1,中度做Pass1+2,重度完整三遍
- [ ] 对话自然度测试:无书面语痕迹 = 通过
AI味禁用词与句式表
<!-- version: 2.0.0 sync-source: skills/story-setup/references/agent-references/banned-words.md 本文件在 6 个 skill 副本间需保持一致: story-deslop / story-long-write / story-short-write / story-short-analyze / story-review / story-setup 修改后请同步所有副本(CI 守卫见 scripts/check-shared-files.sh)。 -->
最毒禁用句式(出现即修,最高优先级)
写网文最毒的 AI 句式,作者一旦养成就会反复出现。Gate A 第一遍扫描必须命中:
| 毒级 | 句式 | 错误例 | 修法 |
|---|---|---|---|
| ★★★★★ | "不是A,(而)是B" / "不是A,不是B,(而)是C"("而"可省略,省掉也算命中) | "他不是冷漠,而是绝望" | 直接写 B 或用更自然的表达 |
| ★★★★ | ",带着……" 万能状语 | "他笑了一下,带着一丝不易察觉的嘲讽" | 拆短句或换动作 |
| ★★★★ | "声音不大,却带着一种……的力量" | "她声音不大,却带着不容置疑的力量" | 直接写声音特征或动作 |
| ★★★★ | "他/她知道……" | "他知道这一切都来不及了" | 用行为展示认知 |
| ★★★ | "仿佛/犹如/宛若……一般" | "仿佛能穿透一切一般" | 删掉或白描 |
| ★★★ | "眼中闪过一丝……" / "嘴角勾起一抹……" | "眼中闪过一丝悲伤" | 他垂下眼 / 他笑了一下,没到眼底 |
| ★★★ | "心中涌起一股……" / "心头一震" | "心中涌起一股暖流" | 用身体反应 |
| ★★ | 章末预告 "他不知道的是……" | "他不知道的是,更大的风暴即将来临" | 用具体钩子物件/事件收束,避免空泛预告 |
凡命中 ★★★★★ 一处即视为重度AI味的强证据;★★★★ 命中 ≥2 处即触发中度复扫。
标点:正文(含叙述和对话)禁用破折号 ——/—、双连字符 -- 和省略号停顿,改用句号、逗号、短句或动作断句;不设置对话破折号例外。盐言「」引号不在此列。
---
一级禁用词(出现即替换)
情态类
仿佛、犹如、宛若、如同、一丝、一抹、些许、几分、隐约
动作类
深吸一口气、缓缓、不禁、微微、轻轻、淡淡
表情类
眼中闪过、嘴角勾起、眉头微皱、眉眼低垂、瞳孔微缩
心理类
心中一动、心头一震、心下了然、心中暗道、心底泛起、不由得
判断类
不容置疑、不容置喙、不易察觉、显而易见、毫无疑问、不可否认
形容类
坚定、闪烁着光芒、狡黠、深邃、凛冽、冰冷
过渡类
不由自主、情不自禁、自然而然
二级禁用词(高频出现时替换)
语境敏感词(仅高频或偷懒时处理)
突然、好像、瞬间(角色口语、真实突发、时间压缩、视角不确定时可保留)
书面腔 → 口语化
| 书面腔 | 口语化替换 |
|---|---|
| 瓦解 | 消失 / 散了 / 没了 |
| 无名火 | 烦躁 |
| 往我心上捅刀子 | 心烦意乱 |
总结句式
- "他/她终于明白..."
- "他/她这才意识到..."
- "此刻,他/她..."
- "一切...都..."
- "原来..."
排比句式
- 连续3句以上相同结构的排比
- "有的...有的...有的..."
- "一边...一边...一边..."
升华句式
- "这一刻..."
- "他知道..."
- "她明白..."
- "这就是..."
禁用句式模板
| 句式 | 示例 | 问题 |
|---|---|---|
| "不是A,而是B" | "他不是冷漠,而是绝望" | 最毒;直接写 B |
| "...,带着..." | "他说,带着一丝无奈" | 万能状语 |
| "声音不大,却带着……" | "她声音不大,却带着不容置疑的力量" | AI 最爱声音描写 |
| "仿佛能...一般" | "仿佛能穿透一切一般" | 文言腔 |
| 对话标签密度过高/公式化标签 | "好的,他说道" | 普通"说"可保留;高频或公式化时处理 |
| "他/她感到..." | "她感到一丝失落" | 告诉而非展示 |
| "他/她意识到..." | "他意识到事情不对" | 直接告知 |
| "眼中闪过一丝XX" | "眼中闪过一丝悲伤" | 模板化 |
| "嘴角勾起一抹XX" | "嘴角勾起一抹冷笑" | 模板化 |
| "心中涌起一股XX" | "心中涌起一股暖流" | 模板化 |
比喻分类(默认全删)
带"像/如/仿佛/犹如/宛若"的比喻是 AI 写作的强信号。默认全删,分类只是用来识别:
| 比喻类别 | 例 |
|---|---|
| 动物类 | "像一头被抛弃的野狗" |
| 物品/现象类 | "像一把刀" "脸色惨白得像这漫天的雪" |
| 状态类(陈词滥调) | "梨花带雨" "如沐春风" |
| 抽象类 | "像命运的齿轮" "像上辈子的尘埃" |
| 假设类 | "力道大得像是要把骨头捏碎" |
处理:把比喻改为直接描述/动词/名词/作用/结果/事实。例 "脸色惨白得像这漫天的雪" → "脸色惨白"。
例外由 SKILL.md Gate B 的 deslop 原始策略管控("生活化、角色化比喻可保留");本表用于扫描,不做例外判定。
替换策略速查
| 原文类型 | 替换方法 | 示例 |
|---|---|---|
| 抽象情绪词 | 具体动作 | "紧张" → "手在抖" |
| "感到XX" | 外化表现 | "感到愤怒" → "攥紧拳头" |
| 形容词堆砌 | 白描手法 | "美丽动人的笑容" → "她笑了" |
| 书面表达 | 口语化 | "不容置疑" → "就是" |
| 解释性描写 | 留白 | "他因为害怕而..." → "他退后一步" |
| 连续排比 | 保留最强一条 | 3 句排比留 1 句 |
| 总结升华句 | 直接删除 | "这一刻,她终于明白了..." → 删 |
| "不是A,而是B" | 直接写 B 或更自然的表达 | "他不是冷漠,而是绝望" → 直接写 B |
| 多余修饰(形容词/定语/量词/指示代词) | 删 | "白色的药片" → "药片";"手里那截链子" → "链子";"飞驰的汽车" → "车" |
角色基础设计
设计主角/配角/反派时加载。先看决策路由,选对模板,再按步骤操作。character-designer 主输出参考。
---
决策路由
| 你在设计什么 | 用这个模板 | 见哪个章节 |
|---|---|---|
| 主角 | 主角卡模板 | 第1节 |
| 配角 | 配角卡模板 | 第2节 |
| 反派 | 反派层级表 → 反派建立四要素 → 反派性格四步法 | 第3节 |
| 角色动机 | 动机链模板 → 动机冲突类型 | 第4节 |
| 角色塑造/深化 | 塑造方法速查(四层法/执念法/重复点/分层展示等) | 第5节 |
| 主角特殊问题 | 逼格/成长/红线/调子太高/身份与金手指 | 第6节 |
| 反派塑造深化 | 反派渲染/人设主角化 | 第7节 |
---
第1节:主角卡
填空模板
姓名:
性别:
角色定位:(一句话说清主角在故事中的功能)
身份标签:(如:废柴大学生、前特种兵、落魄皇子)
外貌特征:(3-5 个关键词,要有记忆点)
例:瘦高、总穿旧夹克、左手有疤、眼神懒散
性格关键词:(3-5 个,必须有矛盾面)
例:嘴毒心软、看似冷漠实则护短、冲动但有底线
核心目标:(全书终点想达成什么)
核心动机:(必须达成的理由——情感驱动,非理性驱动)
致命弱点:(让角色犯错的性格缺陷,非能力缺陷)
口头禅/标志动作:(让读者秒认的标签)设计要点
- 动机必须是情感层面的——"为母亲复仇"优于"要成为最强"
- 弱点必须会在关键情节导致主角犯错,否则不是弱点
- 外貌和口头禅是读者记忆锚点,必须写
---
第2节:配角卡
填空模板
姓名:
性别:
角色功能:(导师/盟友/情报源/牺牲品/镜像对照)
与主角关系:
核心特质:(1-2 个关键词)
标志性特征:(一句话让读者记住)
退场方式:(何时/如何退出故事)设计要点
- 每个配角必须有明确功能——没有功能的角色不要出场
- 配角退场要主动规划,不能写着写着忘了
- 同一场景配角不超过 3 个有台词
---
第3节:反派设计
3.1 反派层级表
根据反派出场篇幅选对应层级,按表格要求设计。
小反派(1-5 章)
| 维度 | 要求 |
|---|---|
| 功能 | 单个小弧线的障碍 |
| 设计 | 1-2 个鲜明特征即可(嚣张/贪财/欺软怕硬) |
| 退场 | 被打败或被揭穿,干脆利落 |
中等反派(10-30 章)
| 维度 | 要求 |
|---|---|
| 功能 | 一卷的主要对手 |
| 动机 | 为什么跟主角作对(不能是"纯粹的坏") |
| 手段 | 武力/权谋/资源 |
| 逼格 | 至少赢主角一次,让读者恨得牙痒 |
| 退场 | 被主角正面击败,要有爽感 |
大弧Boss(一卷或数卷)
| 维度 | 要求 |
|---|---|
| 功能 | 代表一个阶段的核心矛盾 |
| 人弧 | 完整的人物弧线,有自己的目标和逻辑 |
| 冲突 | 与主角有理念冲突(不只是利益冲突) |
| 对决 | 至少一场让主角陷入绝境 |
| 侧面 | 有一个让读者"恨不起来"的侧面 |
| 退场 | 有仪式感的终战 + 有余味的落幕 |
最终Boss(全书)
| 维度 | 要求 |
|---|---|
| 功能 | 全书核心矛盾的具象化 |
| 伏笔 | 从第一章就有 |
| 对立 | 与主角的目标/动机直接对立,代表故事主题的反面 |
| 实力 | 碾压主角,主角必须蜕变才能赢 |
| 信念 | 有信念,不是纯粹的疯子/怪物 |
3.2 反派设计铁律
- 反派的智商/实力决定主角的含金量——反派弱 = 主角赢没意义
- 反派的行为必须有内在逻辑(从他的视角说得通)
- 不要让反派降智来给主角送赢
3.3 反派建立四要素
按顺序操作,缺一不可:
1. 实力展示——出场就展示实力或手段 2. 动机可信——从反派视角看行为说得通 3. 真实威胁——至少赢主角一次 4. 终极意图时机——真实目的留到关键反转点
3.4 反派性格确立四步法
| 步骤 | 操作 |
|---|---|
| 1. 反派也有梦想 | 在反派眼中他是自己故事的主人公 |
| 2. 挖掘创伤性过去 | 谁抚养他?谁爱他?谁伤害他?他避免什么痛苦? |
| 3. 磨练性格缺陷 | 遭遇逆境时不调动积极特质,而是磨练缺陷——"优势"本身就是致命缺陷 |
| 4. 反派是主角的镜子 | 反派的长处反映主角的弱点,两者完全相反 = 每次相遇必然摩擦 |
3.5 反派渲染分量的关键
- 障碍从反派人设上来,而不是故意给主角制造障碍
- 反派渲染公式:明确动机 → 动机驱动行为 → 行为形成障碍 → 障碍强度来自反派分量
- 反派异常强势时,主角要破得"高级""智慧""出乎意料"
---
第4节:动机设计
4.1 动机链模板
起因(Cause) → 角色经历了什么
意图(Intent) → 角色想做什么
约束(Constraint)→ 什么在阻碍他
风险(Risk) → 失败的代价是什么示例:
起因:母亲被仇家杀害
意图:找到凶手并复仇
约束:凶手是当朝权臣,主角只是平民
风险:复仇失败会被灭门,复仇成功会失去所有现有生活4.2 动机链设计要点
- 起因必须具体——"被欺负"不够,"在众目睽睽下被打耳光"才行
- 约束必须有力——否则主角一路碾压没有张力
- 风险必须真实——读者要相信主角真的可能失去重要的东西
- 动机可以随剧情演变,但不能说变就变
4.3 动机冲突类型
遇到角色需要内心挣扎时,从下表选一种冲突类型:
| 类型 | 定义 | 示例 |
|---|---|---|
| 目标 vs 道德 | 想做的事和应该做的事冲突 | 复仇但不想伤及无辜 |
| 情感 vs 利益 | 感性和理性的拉扯 | 知道对方不可靠但放不下 |
| 短期 vs 长期 | 眼前利益和远大目标的矛盾 | 妥协保命 vs 坚持原则赌未来 |
| 自我 vs 他人 | 个人需求和他人期望的冲突 | 想过平静生活但背负家族使命 |
---
第5节:角色塑造方法速查
5.1 角色塑造核心原则
主角行为三必须: 1. 必须可理解——读者必须理解主角为什么这么做 2. 必须可共鸣——主角的思考读者必须能代入 3. 必须可接受——主角的三观读者必须能接受
展示优于告知:
- 角色的目的 → 通过行为展示,不是旁白解释
- 角色的行动 → 具体的动作和决定,不是形容词堆砌
- 角色的态度 → 通过对话和反应体现,不是心理独白
5.2 展示人物特质的方法
| 方法 | 操作 | 示例 |
|---|---|---|
| 敏感性 | 触碰弱点,看反应方式 | 惊慌失措/匆忙逃跑/转移注意力=不同性格 |
| 逃避 | 展现回避行为暗示弱点 | 角色的"不做什么"比"做了什么"更揭示深层性格 |
| 先正后缺 | 先展示吸引人特质,再揭示缺陷 | 读者先喜欢角色,才能容忍缺陷 |
5.3 四大性格属性
| 属性类别 | 定义 | 设计要点 |
|---|---|---|
| 道德属性 | 是非信念 | 影响其他性格形成 |
| 成就属性 | 推动达成目标 | 与道德属性一致,服务目标 |
| 互动属性 | 与人交流方式 | 数量最多的积极特质 |
| 身份属性 | 身份认同感 | 定义个性的基本组成部分 |
选择技巧:以其中一个特质为主要特质,其他为辅。
5.4 角色塑造四层法
| 层次 | 方法 |
|---|---|
| 移情作用 | 开头不要太多角色,先让读者了解主角并产生期待 |
| 最小特征(标签) | 主角由内而外塑造,配角由外到内塑造(贴标签) |
| 角色的不真诚 | 所说≠所想,举动≠态度,日常与便当是深化角色的两极 |
| 角色的聚光灯 | 配角必须与主角产生强烈联系性,配角压过主角时塑造新配角夺走光环 |
5.5 人物塑造与人物真相
| 层面 | 定义 | 示例 |
|---|---|---|
| 人物塑造(显型) | 读者第一眼看到的特质 | 外表青春可爱的萝莉 |
| 人物真相(隐性) | 角色内在的真实面貌 | 实际上是冷血杀手 |
| 价值取向(内隐) | 关键选择时起决定作用的价值观 | 在道义与野心间选择野心 |
操作要点:价值取向不必一开始揭示,在关键抉择时自然暴露;人物真相的揭示越晚,戏剧张力越强。
5.6 人设分层展示法
| 层次 | 操作 |
|---|---|
| 第一层 | 告诉读者类型模型(萝莉/御姐/少妇) |
| 第二层 | 贴特点标签(胸大/腿长/小麦色皮肤) |
| 第三层 | 为性格找原因(家庭/内在冲动) |
| 第四层 | 打破——可爱天然呆其实什么都知道,人设立刻升华 |
深化记忆:不要吝啬重复词汇,觉得太小白?其实在深化记忆。
5.7 人物经历三线时间法
| 时间线 | 内容 |
|---|---|
| 过去 | 身世背景、遭遇变故、性格成因 |
| 现在 | 与主角的关系定位、当前互动模式 |
| 未来 | 制造变强动力或危机(老师被劫/女主被抓/反派揭底) |
5.8 配角执念设定法
快速让读者认同支线配角:
- 给角色一个执念 → 所有行为/爱好/性格围绕执念展开
- 不需要每次贴合执念,只要不写与执念冲突的东西,关键时揭示即可
- 过于极端的执念 → 加入"亲民"小细节 → 便于读者认同
- 适用:支线配角,不适合频繁出现的主要配角
5.9 人物行为重复点设计
维持长篇不歪的关键手法:
- 抓住一个人物行为特质反复写
- 构建方法:确定读者喜欢什么类型 → 具体化为行为 → 不同场景重复
- 人物看点 + 核心看点 = 层次感,两者循环产生差异化
- 反派/配角也需要重复看点,能让人爱上的反派会增加读者新鲜感
5.10 围绕人设写行为
行为、语言、思维都要围绕人格展开。如果为了剧情需要让角色做出不符合人设的行为 → 先修改剧情,不要改人设。
5.11 人推事件 vs 事件推人
| 驱动方式 | 特点 |
|---|---|
| 人推事件 | 情节是人物性格/动机/选择的自然结果,深化人物弧光 |
| 事件推人 | 外部事件打破平衡,迫使暴露真实自我 |
卡文时 → 从人物动机找方向,不要硬编剧情。
---
第6节:主角特殊问题
6.1 主角逼格
- 主角必须有逼格——这是读者的代入基础
- 不要写太多降智的内心戏和爆粗口
- 主角可以不完美,但不能让人看不起
6.2 主角的成长
- 成长不只体现在实力上,更体现在心智和选择上
- 每次成长都要有触发事件和内在反思
- 网文主角成长非必须:开场三观圆满的正常人更容易代入,稳定人设本身就是魅力
6.3 主角红线
以下类型的主角绝对不要写:
| 禁止 | 原因 |
|---|---|
| 圣母型主角 | 读者要痛快而非道德说教 |
| 无脑战斗机器 | 难以产生情感共鸣 |
| 内核邪恶 | 读者无法代入 |
| 因蠢/圣母犯错 | 读者无法原谅 |
| 自暴自弃 | 比被欺负更让读者厌恶 |
6.4 主角调子起太高怎么办
危害信号:
- 失去成长空间——能力/地位/资源触达天花板
- 剧情缺乏张力——陷入"砍瓜切菜"的重复循环
- 读者失去追更动力
化解方法:
- 压势不压人——压低气势和期待,但不打压主角本身的能力和尊严
- 留出维度差距——即使某方面很强,总有其他维度是短板
- 超额收获法——看似收获很大,经主角盘算后发现更大
6.5 主角开篇立人设
- 人设通过选择建立,开篇必须让主角做出选择
- 智斗型开局比暴力型开局更容易立人设
- 读者更容易代入"聪明但普通"的主角,而非"上来就无敌"的主角
6.6 主角的两个身份与两个金手指
| 维度 | 定义 | 作用 |
|---|---|---|
| 显性身份 | 社会身份/职业+状态 | 汇集前期矛盾,必须不断升级或换 |
| 隐性身份 | 不凡的身世来历 | 汇集中后期矛盾 |
| 显性金手指 | 系统/玉坠/重生记忆 | 开局获得贯穿全书 |
| 隐性金手指 | 主角性格 | 让主角与众不同的就是金手指 |
最佳写法:前期以金手指装逼 → 剧情推进中逐步把人设清晰 人设与全书气质:主角人设必须与世界基调相符,四点高度统一:社会身份+身世+金手指+性格
6.7 性格单一缺陷型主角+动物伙伴体系
如果主角性格故意设为单一 → 降低读者带入排斥感 → 少做少错 → 最大限度提升代入感。
问题:性格过于单一 → 影响精彩程度 → 难以推进故事 解法:给淡漠型主角配备 3-5 只动物伙伴,每只不同性格。
| 伙伴类型 | 功能 |
|---|---|
| 蠢萌犯二型 | 负责搞笑,主角不宜吃瘪但动物可以 |
| 聪敏嘴贱型 | 负责嘴替,主角不该说的话由它说,保持主角逼格 |
| 耿直蠢笨型 | 负责反差萌 |
| 奇特能力胆小型 | 负责能力补充 |
6.8 核心情绪与表达欲平衡
- 需求的内核不变,变的只是形式
- 写完一段剧情后,站在读者角度审视是否偏离核心梗
- 主角牛逼了必须有所得,不能光付出没回报
- 表达欲旺盛时最容易偏离——要主动检查
6.9 压势不压人:矛盾的正确来源
错误做法:让反派莫名其妙针对主角,背后逻辑站不住脚。
正确做法:反派有自己的目的,行动客观上导致主角困境,但并非刻意针对主角本人。
矛盾链条:反派目的 → 压制主角所在群体(压势) → 主角推翻 → 底层依旧麻木 → 主角改变路径 → 新冲突自然产生
核心:所有人被自己想要的利益驱动,背后是三观不同,更深是成长环境,最深层是世界观。
---
第7节:反派塑造深化
7.1 反派塑造核心原则
- 经典反派一定有完整世界观和逻辑自洽的三观
- 同样的外部事件发生在不同人身上产生不同变化——外因与内因共振
- 反派塑造不能只有外部事件,缺乏内在三观和内在逻辑
7.2 反派人设主角化写法
传统问题:换地图后原反派跟不上节奏 → 引入新反派脸谱化
解法:
- 把反派当主角去写
- 在"配角衬主角"基础上加"配角衬配角"
- 换地图的正确处理:用新地图衬托旧角色含金量,而非用旧角色无力衬托新地图难度
---
质量检查清单
设计完角色后,逐项检查:
主角检查
- [ ] 动机是情感层面的(不是"要成为最强"这种空话)
- [ ] 有致命弱点,且会在关键情节导致犯错
- [ ] 外貌有记忆点(3-5 个关键词)
- [ ] 有口头禅或标志动作
- [ ] 逼格在线——不会让读者看不起
- [ ] 没有触碰红线(圣母/无脑战斗机器/内核邪恶/因蠢犯错/自暴自弃)
- [ ] 核心目标和全书主线对齐
配角检查
- [ ] 有明确功能(导师/盟友/情报源/牺牲品/镜像对照)
- [ ] 核心特质 1-2 个关键词能概括
- [ ] 有标志性特征让读者记住
- [ ] 退场方式已规划
- [ ] 同一场景不超过 3 个配角有台词
反派检查
- [ ] 按层级表设计,篇幅与层级匹配
- [ ] 出场展示了实力或手段
- [ ] 动机从反派视角说得通
- [ ] 至少赢主角一次(中等反派及以上)
- [ ] 没有降智送赢
- [ ] 大弧Boss有理念冲突(不只是利益冲突)
- [ ] 最终Boss从第一章就有伏笔
动机检查
- [ ] 起因具体(不是"被欺负"这种模糊说法)
- [ ] 约束有力(主角不能一路碾压)
- [ ] 风险真实(读者相信主角可能失去重要东西)
- [ ] 动机演变有铺垫,没有说变就变
塑造检查
- [ ] 角色目的通过行为展示,不是旁白解释
- [ ] 行为/语言/思维围绕人设展开,没有为剧情改人设
- [ ] 主要角色有行为重复点,维持长篇一致性
- [ ] 配角与主角有明确联系,不会抢主角风头
- [ ] 人物真相/价值取向在关键抉择时自然暴露
角色设计操作手册
用途:角色设计的方法指令集。按决策路由找到对应方法,按步骤执行。
---
决策路由
| 你在做什么 | 用什么方法 |
|---|---|
| 设计角色反差 | 三层标签反差法 + 行为反差进阶 |
| 设计配角 | 配角功能化 + 群像写作法 |
| 凸显人设 | 凸显人设速查表 |
| 设计感情桥段 | 高情商桥段模板 |
| 深化角色立体感 | 向人设深化法 + 九维人设框架 |
| 建立代入感 | 代入感构建法 |
| 管理角色关系 | 人设关系四阶段 + 职场思维结构 |
| 设计主角特质 | 金手指绑架人设 + 以梗为中心塑造 |
---
三层标签反差人设法
三层结构
| 层级 | 名称 | 含义 | 示例 |
|---|---|---|---|
| 第一层 | 身份标签 | 外界看到的身份 | 豪门弃妇 |
| 第二层 | 表现标签 | 角色展现给外界的行为 | 隐忍不发、逆来顺受 |
| 第三层 | 内核标签 | 角色真正的内心 | 冷静、有计划、步步为营 |
执行指令
1. 为角色填写三层标签,三层之间必须制造反差——反差 = 立体感 2. 身份标签和表现标签可以相似(强化刻板印象),但内核标签必须反转 3. 反差越大,角色的"亮牌时刻"越震撼 4. 每个重要角色都应至少有一层反差 5. 用行为对比来体现反差,不要直接描述:
身份标签:豪门弃妇
表现行为:被骂不还口,被赶不反抗
内核行为:悄悄录音、收集证据、提前转移财产---
三层标签行为反差进阶
当关系进入第三层(亲密关系)后,角色在第一、二层关系中能做出的行为反而做不出来了。
| 关系阶段 | 可做行为 | 不可做行为 |
|---|---|---|
| 身份标签期(陌生) | 调戏、冷漠、保持距离 | — |
| 表现标签期(熟悉) | 继续之前的行为模式 | — |
| 内核标签期(亲密) | 展露真实自我 | 之前的调戏/冷漠反而做不出来了 |
执行指令
1. 检查角色当前处于哪个关系阶段 2. 行为反差本身是人设的一部分,必须写进剧情 3. 用"行为退化 = 感情深化"制造张力——身份标签期爱调戏主角的辣妹,进入亲密关系后反而不敢表白 4. 不要让角色在亲密阶段仍然维持早期行为,否则反差失效
---
人设关联分层(强/中/弱关联)
| 层级 | 定义 | 功能 | 数量要求 |
|---|---|---|---|
| 强关联 | 直接影响剧情走向和核心梗装逼爽点的设定 | 推动人物碰撞、剧情推进 | 每个角色至少 3 个 |
| 中关联 | 配角的强关联设定,不能抢主角风头 | 为配角提供功能性和辨识度 | 适量 |
| 弱关联 | 丰富人物厚度的个人偏好设定 | 增加角色真实感和记忆点 | 不限 |
执行指令
1. 把主角的实力、钱财、人脉、背景等影响剧情走向的属性归为强关联 2. 检查强关联是否达到每个角色至少 3 个 3. 把"喜欢吃蛋糕""爱好看美女"等归为弱关联,仅用于丰富人设 4. 确保弱关联不喧宾夺主——强关联才是延伸剧情的核心
---
人设执行规则
人设 ≠ 人物设定表。
- 人物设定表 = 身高、外貌、家庭背景等信息堆砌(外在信息)
- 人设 = 围绕角色"灵魂/特殊人格"展开的功能性设计
- 人设的使命:服务戏剧张力与情绪拉扯,以人格驱动行为,而非被剧情硬推
检查:如果你写的人物设定只有身高体重爱好,没有"灵魂/特殊人格"的功能性设计,重做。
---
配角功能化设计
核心原则
1. 配角的能力和特质必须和剧情紧密相关 2. 配角是为了展现主角而写——配角的能力为主角所用,配角脱离困境靠主角帮助
复合型配角——白手套角色
| 功能 | 说明 |
|---|---|
| 替主角说话 | 凡是主角不适合说的话,他来说 |
| 替主角发狠 | 凡是主角不应该发的狠,他来发 |
| 绝对维护 | 对侵犯主角利益的人坚决反击 |
| 粗中有细 | 将反派密谋录音再播放,取得大众支持 |
| 适时搞笑 | 不断输出正反馈,缓解紧张情绪 |
设计原则:光环比主角弱一点,不抢风头;惊艳出场;对主角的质疑第一时间反驳。
立体人物 vs 扁平人物
1. 不是所有角色都要立体化,先看功能性 2. 扁平化角色保持神秘性,反而更恐怖/更强大 3. "洗白弱三分,黑化强三倍"——高手被立体化就变弱了 4. 需要什么工具就设计什么工具,不要把所有角色立体化
人设反差六维度法
| 反差对 | 操作 |
|---|---|
| 表面性格 vs 内在性格 | 笑面虎/刀子嘴豆腐心 |
| 外表形象 vs 表面性格 | 看着凶实际软 |
| 外表形象 vs 内在性格 | 看着柔实际狠 |
| 身份 vs 生活方式 | 豪门子弟住地下室 |
| 身份 vs 爱好特长 | 杀手擅长插花 |
| 身份 vs 内在性格 | 军人内心文艺 |
执行指令
1. 设计配角时先确定其功能(替主角说话/发狠/搞笑/提供信息) 2. 从六维度反差中选 1-2 个维度给配角贴标签 3. 控制配角光环,不超过主角 4. 功能性配角不要强行立体化
---
配角人设逻辑
1. "正戏反写"——看似正面的行为背后有反派动机 2. 配角情感保护壳:看似冷漠无情,实则有深层情感驱动 3. 避免崩人设:角色的行为选择必须符合已建立的人设逻辑 4. 先从题材的"标签人物"直接用——成熟题材里的人设角色都是经受过市场考验的
---
凸显人设的方法
执行指令
1. 抓亮点——找到角色最突出的那个特质,集中火力展现 2. 用行动展现人设,不要用旁白描述(如出狱后不卑不亢、争取利益、展现老练) 3. 用反差碰撞制造张力 4. 反差拉张力会筛读者,控制尺度——反差太大会劝退部分读者
---
高情商/聪明人桥段写法
执行指令
1. 高情商通过具体剧情中的表现来体现,不要旁白夸赞 2. 写察言观色、临场应变、控场接话的具体场景 3. 高情商表现应参考经典网文中的成功案例模式,每个桥段至少包含一个"读者预期尴尬但主角化解"的反转 4. 每个桥段至少有一个"反转"——读者以为会尴尬,结果主角完美化解
---
用配角做期待枢纽(人物扣)
执行指令
1. 选一个配角做"任务基地"——一个人物同时承载多个短期和长期期待 2. 主角每次解决事件装完逼后去找该人物,开始新一轮装逼 3. 每个剧情单元结束后利用同一人物展开新剧情 4. 人物下线时带来更大的好处,用"歪打误撞收获更多"转变读者"损失厌恶"心理
---
群像写作法
执行指令
1. 每个角色出场都要有功能,没有水分——功能不明确的角色不要出场 2. 角色间的关系要有层次(引路人、对手、伙伴、障碍) 3. 不同角色要有不同的说话风格和行为特征 4. 通过行为而非旁白来展示角色特点
配角脸谱化描写
1. 抓住 1-2 个突出特点做鲜明标签(口头禅/标志性动作/极端性格) 2. 标签化让读者迅速记住,不过多占用笔墨 3. 功能性配角要有明确功能:推动剧情、衬托主角、提供信息
角色使用的节奏
1. 高人气角色的出场频率应控制在每3-5章一次,保持期待感而不审美疲劳。每次出场必须有新信息或新功能 2. 读者不感兴趣的角色该舍弃就舍弃,自然"下线" 3. 用"以角色带角色"引入新角色——喜爱延续
角色池编织法
1. 以角色带角色:女主讨喜 → 写女主爸妈/姐姐/闺蜜 → 喜爱延续到新角色 2. 像网一样编织下去 → 很快就有取之不尽的角色池 3. 每个新角色贴一个标签,个个鲜明
---
向人设深化法
执行规则
先判断当前项目适合“故事深化”还是“人设深化”:
| 条件 | 优先方向 | 执行动作 |
|---|---|---|
| 主线已经复杂、多势力、多反转 | 向人设深化 | 保持故事结构简单,在人物欲望、反差、关系互动上制造新鲜感 |
| 主线过直、人物已经鲜明但事件不足 | 向故事深化 | 增加阻碍、目标变化、信息差或代价,不新增无功能角色 |
| 短篇/轻量篇幅 | 向人设深化 | 用 1-2 个强人设标签驱动冲突,不铺大世界观 |
| 长篇关键卷/高潮卷 | 两者结合 | 故事升级一个维度,同时让关键人物关系发生可见变化 |
执行步骤
1. 拿一个简单甚至老套的故事结构 2. 在人物身上加"戏剧性"——能让目标读者找到乐子的设定 3. 通过几个人物的互动循环产生持续剧情
循环写法(一个简单情节可写5章以上)
- 第1章:主角装逼 → 师叔更迫切
- 第2章:师叔逼女生 → 恋人帮着威逼利诱
- 第3章:女生靠近主角 → 恋人在暗地暗爽
- 第4章:女生回去哭诉 → 恋人假意安慰一边暗爽
- 第5章:复命领赏 → 女生发现恋人对奖赏没那么高兴
---
人物塑造技巧
女性角色塑造(男频)
1. 读者喜欢的是女主的标签(高贵优雅、肤白大长腿),不是外貌描写 2. 利用刻板印象:吸血鬼=高贵优雅+外貌出众,不用特意描述读者就知道 3. 网文里美貌是最廉价的资源——不要花大量笔墨写外貌 4. 性格设定可极端化:傲娇到极致、对主角爱得深沉、不考虑自身利益 5. 保持性格一致性:设定后言行始终符合
主角可以犯错但需把握尺度
| 可原谅 | 不可原谅 |
|---|---|
| 因不可抗力或信息差导致的错误 | 因蠢、因圣母心泛滥导致的错误 |
| — | 与实力不匹配的错误(斗帝强者因小人物犯蠢) |
主角人设内外反差
1. 可设计表面与内心的反差(如表面色牛实际内心孤僻) 2. 反差感增加角色深度和趣味,提供丰富的情节冲突可能性
反派的本质
反派 = 与主角立场不同、利益相悖的人。赋予反派自己的想法和追求,不要写纯粹的恶。
渣人设写法
1. 开头就清晰传达主角人设,穿越前后保持一致 2. 避免"又当又立"——前面没描写主角是老色皮后面突然追女读者反感 3. 明确人设 = 筛选接受这种人的读者 = 预期管理
---
人物记忆点法
1. 每个人物至少有一个性格方面特别突出 2. 只有让某一特征特别突出,才有记忆点 3. 目标:哪怕剧情不推进,几个人物坐一起聊天,读者都看得津津有味
---
金手指绑架人设法
执行指令
1. 金手指不只是给主角超能力,目的是让主角的性格合理化 2. 用金手指规则绑架行为 → 配角反应自然塑造形象 → 不需要直接描写主角品格 3. 追求道德爽感(最高级爽感):让主角成为行为层面让读者心服口服的"活圣人"
---
以梗为中心塑造人设
执行指令
1. 单一标签"杀伐果断""热血"太模糊 → 用具体梗来建设角色 → 读者产生强记忆点 2. 例:配角每次看到主角成功 → 羡慕嫉妒恨 → "你真该死啊" → 强记忆点+趣味性 3. 好人设+平平无奇的金手指+俗套套路 → 也能发挥意想不到的吸引力
---
九维人设框架
| 维度 | 内容 | 要点 |
|---|---|---|
| 基本信息 | 前身今世/外貌特征 | 从人物下手建立长期期待感 |
| 性格 | 反差人设 | 为成长弧线铺垫 |
| 爱好习惯 | 贪财/好色/杀人后超度 | 做强烈记忆点反复强调 |
| 人际关系 | 关系网越复杂越能制造冲突 | 牵扯的重要人物个个有实力有背景 |
| 背景 | 家族/出身/成长环境 | — |
| 成长弧线 | 见下方三阶段 | — |
| 对比反差 | 恶人vs好人/医生救死扶伤→扛起枪杀人 | — |
| 价值观态度 | 不同身份地位看法不同 | 态度=行动目标 |
| 人物小传 | 典型重要故事 | 浓缩的生平经历 |
人物成长弧线(三阶段)
| 阶段 | 核心 | 对应 |
|---|---|---|
| 小我(幼年) | 虚构自己,想要成为他人眼中的我 | 动机 |
| 自我(青年) | 真实自己,夹在两者之间痛苦 | 态度 |
| 他我(成熟) | 别人眼中的自己就是追求的目标 | 价值观 |
情绪公式:满足(认同)→ 打击(同情)→ 怀疑(共鸣)→ 心痛(共情)
---
人设关系四阶段标签
| 阶段 | 了解程度 | 表现 |
|---|---|---|
| 相遇(陌生人) | 只知道外表 | 警惕/保持距离/设防 |
| 相识(过客) | 初步了解不知底线 | 察言观色/阿谀奉承 |
| 相知(好哥们/闺蜜) | 知道秉性和底线 | 聊骚话/吐露心声/倾诉烦恼 |
| 相恋(爱人) | 了解内心伤疤 | 占有欲强/喋喋不休/任劳任怨 |
---
用职场思维理解网文关系结构
执行规则
网文本质:在一个"职场"爽透,然后再到另一个"职场"爽。
共性与差异
| 共性维度 | 说明 |
|---|---|
| 层级 | 任何环境中都有上下级关系 |
| 互助 | 同级之间的合作和互利 |
| 互害 | 同级之间的竞争和倾轧 |
| 差异维度 | 说明 |
|---|---|
| 合作方式 | 不同环境合作模式不同 |
| 资源类型 | 不同环境争夺的资源不同 |
| 个体能力 | 主角的独特优势 |
执行步骤
1. 为主角设计一个"职场环境"(学校/宗门/公司/军队) 2. 设置层级关系(上级/同级/下级/对手) 3. 利用层级关系自然产生矛盾和冲突 4. 主角在这个环境中爽透后,换到更大的"职场"
---
代入感构建法
执行规则
- 代入感维护规则:节奏和情感链条不断裂。断裂标志=读者开始用现实逻辑评判情节
- 一旦读者开始用现实逻辑评判 = 节奏出了问题
- 核心是情感链条不断
执行方法
| 方法 | 做法 | 效果 |
|---|---|---|
| 共情切入点 | 用日常生活常见事件 | 瞬间拉近距离 |
| 细节真实性 | 填充生活化细节 | 强化世界真实性 |
| 救猫咪情节 | 开头一个情节强调主角人设某方面 | 读者快速熟悉并代入 |
| 共情前提 | 让角色暴露真实一面(弱点/困境) | 读者产生保护欲 |
| 合理化虑点 | "缺钱"这类人人都懂的困境 | 天然共情 |
共情三层次
1. 表层共情:经历类似 2. 深层共情:情感类似 3. 认同感:价值观一致
破坏代入感的行为(避免)
- 角色做出读者无法理解的选择
- 大段设定说明打断叙事
- 节奏拖沓导致情感链条断裂
- 主角三观与目标读者严重偏离
---
安全感与核心情绪把控
1. 不同题材的读者对安全感需求不同,先确认题材 2. 极道流等紧张感题材:安全感拉爆 = 危机感消失 = 核心情绪偏移——不要给主角找过强的靠山 3. 禁止为主角设置可随时解决危机的强力靠山——靠山的存在必须不削弱紧迫感。违反此规则时标记为"靠山过度" 4. 精力有限时,情节始终是第一位的,世界观只是加分项
---
质量检查清单
完成角色设计后,逐项检查:
- [ ] 角色是否有三层标签(身份/表现/内核),且至少有一层反差
- [ ] 强关联设定是否达到 3 个以上
- [ ] 人设是功能性设计还是只有外貌信息堆砌
- [ ] 配角是否有明确功能,是否抢了主角风头
- [ ] 每个角色是否有至少一个记忆点
- [ ] 配角出场是否都有功能,没有无用水分
- [ ] 不同角色是否有不同的说话风格和行为特征
- [ ] 主角的错误是否在可原谅范围内
- [ ] 反派是否有自己的逻辑和追求,不是纯粹的恶
- [ ] 人设言行是否前后一致,有没有崩人设
- [ ] 代入感情感链条是否连续,有没有被设定说明打断
- [ ] 安全感是否匹配题材要求(紧张题材不能给主角太强靠山)
- [ ] 高情商桥段是否通过具体剧情展现,而非旁白夸赞
角色关系与感情线操作手册
决策路由
| 你在设计什么 | 使用本章方法 |
|---|---|
| 角色间关系类型 | 人物关系类型表 |
| 感情线核心人设 | 感情流人设核心法 |
| 爱情线底层逻辑 | 男频/女频爱情线差异 |
| 穿书/穿游戏角色选择 | 穿书角色选择法则 |
| 多角关系/修罗场 | 修罗场收场策略 |
| 好感度推进节奏 | 好感度体系 + 男频恋爱文攻略 |
| 配角态度变化 | 配角攻略缓冲区 |
| 角色共情写作 | 角色行为自洽检查 |
| 角色目标与关系线 | 角色目标独立性 + 关系线设计 |
---
人物关系类型
查表确定角色间的关系类型,然后按原则执行。
| 关系类型 | 定义 | 功能 | 示例 |
|---|---|---|---|
| 冲突型 | 双方利益/理念对立 | 制造张力,推动情节 | 宿敌、竞争对手 |
| 联盟型 | 双方有共同目标 | 提供助力,制造羁绊 | 战友、师徒 |
| 亲密型 | 情感纽带连接 | 制造软肋,提供情感支点 | 恋人、家人、兄弟 |
| 权威型 | 上下级/支配关系 | 制造压力,限制主角行动 | 师父、老板、监管者 |
执行规则:
- 每个重要关系至少安排一次考验(背叛/牺牲/误解)
- 关系必须有变化弧线(敌人变盟友、盟友变对手)
- 禁止所有关系都是"你好我好"的铁板一块
- 关系的功能必须服务于情节,不能只为甜/虐而存在
---
感情流人设核心法
感情流中剧情为人设服务——每次剧情都要丰满人物或推动感情发展,否则就是无效剧情。
构建步骤
1. 确定人设核心:写下最初出现在脑海里的角色特征(如"想登上皇位的皇子""病弱皇子") 2. 围绕核心发散:回答——为什么有这个核心?过去经历?环境影响?性格成因? 3. 延伸剧情线:核心自带的剧情必须写(有目标→目标线;有伤痛→治愈线)
执行规则
- 俗套剧情配上丰满人设也能脱离套路感
- 两个主角都必须有闪光点和独立变化路线,不能一个人出彩另一个人黯淡
- 高光不等于装逼——所有让读者对角色印象深刻的时刻都是高光,包括痛彻心扉的时刻
- 生命不止恋爱——角色心里希望恋爱,但生命里不能只有恋爱,只有恋爱的角色立不住、很单薄
---
男频与女频爱情线底层逻辑差异
先确定目标读者群,再选择对应逻辑。两者不可混淆,否则读者会觉得"不对味"。
男频爱情线逻辑
| 维度 | 说明 |
|---|---|
| 核心 | "外在因素展示"——主角和对象在一起体现两人的外在因素多优秀 |
| 三种核心逻辑 | "她要是我的该多好" → "这么优秀的人是我的了" → "这么优秀的人都喜欢我,我更优秀" |
| 围观者想法 | "能得到这么优秀的女人,我好羡慕"(非"恋爱好甜") |
| 女主 | 最好有多个女性角色喜欢主角,越多说明主角越优秀 |
| 对象本质 | "奖杯"——一切动机的根本目的是胜利 |
写男频感情线时,围绕"展示优秀"设计事件。
女频爱情线逻辑
| 维度 | 说明 |
|---|---|
| 核心 | "连接"——两人之间唯一、坚不可摧、最优先的情感连接 |
| 连接要求 | "你不是因为我的外貌财富才华才爱我,而是因为我是我" |
| 纯洁性 | 连接形成后应逐渐舍去外在因素影响 |
| 双方 | 最好初恋+双洁——保障连接的纯洁性和唯一性 |
| 围观者想法 | "他们的恋爱好甜,我好羡慕" |
写女频感情线时,围绕"深化连接"设计事件。
---
穿书/穿游戏角色选择法则
必须满足的条件
- 叙事主角必须对原世界有相当熟悉度(最核心的期待感来源)
- 确定穿越进熟悉的世界,一两句话交代清楚,不能超过一章还不知道身处何方
- 必须选择穿越后有强戏剧性或强矛盾的角色(如穿越成恶毒女配)
信息差设计
- 在原世界基础上适当设计信息差,为叙事主角提供探索空间
- 可以用原世界知识卡bug获取超额收益
---
修罗场收场策略
修罗场本质是一种矛盾,控制对抗烈度,不能让爱情线对象之间出现不可调和的矛盾。
| 收场方法 | 操作 |
|---|---|
| 关联回事业线 | 让爱情线对象们把争风吃醋转化为"比谁对主角事业线贡献更大" |
| 插入事业线突发事件 | 对抗进入白热化时,用突发事件让所有人从内斗切换成一致对外 |
| 一笔带过 | 最多两人互相看不惯、说两句嘲讽话就过去,非常克制 |
---
傻白甜角色塑造避坑
六个必避之坑
1. 女主犯错不能是故意的,不能明知不能做偏要做 2. 女主犯错不能违反道德——傻白甜最重要的是天真小孩子般的高道德感 3. 不能站在道德高地指责他人(道德婊行为),自己却做不好 4. 不能因为道德婊行为和队友发生矛盾后还让队友认错赞美她 5. 正确做法:有更高道德标准 → 所作所为符合 → 为此显得与众不同和有点傻气 6. 可以写成长线:坐到被她指责的人的位置上后,发现原来那个做法已是最好的选择
反向用法
塑造傻白甜反派时,把以上六点全加在她身上,让读者一见就厌恶。
---
人设改变的双向翻转法
爱情线中关系发生变化时的人设调整方法。
核心思路
- 最好的改变是两个人都改变,且改变后恰好与之前两人之间的对应关系相反
- 改变不是随便改变,而是基于原人设基础上的部分改变,和原人设有密切联系
执行规则
- 人设变化发生在爱隔山海阶段之后(尤其是面对最大阻碍之后),不要再设计新的矛盾,只要发糖
- 真正的阻碍已在前面解决,此时读者最迫切的渴望是多吃糖
- 发糖要用实在的CP行为和悉心照顾表达爱意,不是"我爱你"式的工业糖精
---
角色行为自洽检查
第一步:排除外部强推
检查角色行为是否只是为了让剧情往某方向发展。如果角色"恰好"做了推进剧情的事但没有自身动机,标记为"人设偏移",必须为该行为补充角色层面的合理理由。
第二步:情绪目标确认
写每段前明确三个要素: 1. 本段目标情绪:这段剧情要让读者产生什么情绪? 2. 角色性格特征是否支持该情绪:角色的设定属性是否自然导向此情绪方向? 3. 角色行为是否符合使命定位:角色在本段的行为是否与其在故事中的功能定位一致?
第三步:人设行为推导
从角色已设定属性(经历/性格/目标/当前状态)推导其在场景中的行为:
- 列出该角色在此场景下的2-3种可能反应
- 评估每种反应与角色已有行为模式的一致性
- 选择最符合人设且最有戏剧张力的那一种
第四步:情绪一致性校验
检查角色表达的情绪核心与场景目标情绪是否一致。不一致则调整角色行为或场景目标情绪,确保输出内容在情绪维度上自洽。
两种执行路径:
- 路径A:先定目标情绪 → 按人设推导角色行为 → 校验一致性
- 路径B:先按人设推导角色行为 → 反推场景目标情绪 → 校验一致性
---
配角攻略缓冲区
配角对主角态度的变化过程 = 主角攻略配角的过程,伴随巨大的期待感和爽点。
缓冲区类型
线上线下、背后议论、异地相处、地位差距、亲密度差距、信任程度、信息差等。
操作步骤
1. 始终保持缓冲区存在 2. 在卷纲中挑出事件拐点(5~7个) 3. 在每个拐点处标注配角状态和对主角的态度变化 4. 每次攻略到关键点位时,配角的态度变化必须写清楚 5. 态度变化本身就产生情绪波动和期待感
执行规则
- 配角不能像NPC一样站着等主角触发
- 配角要有自己的行动,由配角观点引出事件
- 正面角色也一样:和主角立场相同的人也应有自己的行动和动机
---
利用角色身份认知差制造冲突
同一个角色在不同人眼中的"声望"是动态变化的,不是恒定值。
| 视角 | 看重什么 | 对男主的评价 |
|---|---|---|
| 世俗视角 | 家境对等,抗风险能力 | 综合条件匹配度 |
| 男主自身 | 赚钱养家+感情 | 相对门当户对 |
| 女主视角 | 感情+专一+爱 | 只要在乎的就门当户对 |
| 富二代 | 外貌家世匹配度 | 我才更门当户对 |
| 路人 | 综合条件对比 | 女主该嫁富二代 |
操作要点:
- 不同人对同一个角色的评价差异 = 天然的矛盾冲突来源
- 恋爱文的核心爽点之一:不同维度的评价差
---
亦敌亦友关系
最有魅力的人物关系类型。
执行规则
- 前提:两个角色本身都要有魅力,否则只是强行五五开的狗皮膏药
- 核心:高度认可 + 绝对冲突 → 惺惺相惜 → 缺一魅力全无
- 真正的宿敌 = 相互认可的,不是外人说你是
---
竞争者定位与亲情线用法
竞争者(鲶鱼效应)
- 定位:给男主/女主增加紧张感上压力 → 推动攻略进度
- 剧情设置重点在"高潮节点前" → 属于铺垫环节
- 对高潮后续写剧情作用不大 → 不是续命手段
亲情线的四个方向
| 方向 | 作用 | 使用时机 |
|---|---|---|
| 男方助力 | 提供金钱地位权力 | 高潮前发挥 |
| 男方阻力 | 设置障碍让主角得到认可 | 节点前后都能用 |
| 女方助力 | 温柔乡感情补给站 | 高潮前发挥 |
| 女方阻力 | 父母不同意→为了认可去努力 | 节点前后都能用 |
助力主要在高潮前,阻力节点前后都能用,阻力更好发挥。
---
男频恋爱文写法攻略
读者为什么看恋爱文
| 价值 | 来源 |
|---|---|
| 情绪价值 | 填补"被需要、被在乎"的情感空缺 |
| 自尊价值 | 女主条件好→带出去有面子→配角羡慕嫉妒 |
| 高身份女主原因 | 更强的装逼打脸工具人+更大的自尊满足 |
核心技法:把恋爱当升级文写
- 暧昧拉扯的过程才是最有吸引力的
- 好感度进度条:每一步推进 = 升级文中的一个"等级"
- 每一个事件是一次"升级"→ 通过冲突、化解、理解和共鸣让好感攀升
好感度升级路径
路人 → 好人(扶老奶奶过马路) → 正直勇敢的好人(挺身而出) → 不错的朋友(理解原生家庭困境) → 喜欢但不知(特殊契机看到彼此不为人知的一面)
关键原则:主角不主动追求
- 当前男频读者普遍反感"舔狗"人设
- 推动好感靠男主自身优秀品质吸引,不是主动追求
- 男主帮女主是举手之劳不经意为之 → 女主因此记住他
感情升级的不对称性
- 两条进度线:表面社会关系(路人→朋友→情侣)+ 实际情感好感度
- 两条线不应齐头并进 → 一条快一条慢 → 带来丰富的矛盾冲突
- 情感线快于社会线 → 辉夜大小姐模式(双方好感拉满但嘴硬不表白)
- 社会线快于情感线 → 赘婿/择天记模式(表面夫妻实际好感为零)
写女主对主角好
| 女主类型 | 付出方式 |
|---|---|
| 自卑社恐 | 偷偷帮忙塞东西但害怕被发现 |
| 傲娇型 | 用心做便当但嘴硬"做多了顺便带的" |
| 直率泼辣 | 大大方方送礼物或直球表白 |
善用对比
| 对比类型 | 操作 |
|---|---|
| 时间线对比 | 女主刚认识主角时 vs 熟悉后的态度变化 |
| 双标 | 不允许别人摸头但主角可以 → 凸显特殊地位 |
| 信息差 | 男女主双重身份(网上vs现实)→ 期待揭穿时反应 |
---
好感度体系(通用框架)
四阶段
萍水相逢 → 爱情喜剧 → 爱隔山海 → 大结局
好感度 × 关系阶段对照表
好感度(负/零/半/满) x 关系阶段(熟悉/试探/暧昧/确认)
阶段匹配原则:按低的一方计算。好感度到了但关系阶段没到 = 行为突兀。
CP行为三类门槛
| 行为类型 | 门槛 | 说明 |
|---|---|---|
| 需容忍行为 | 半好感+ | 主动亲密、妥协,必须给补偿否则变舔狗 |
| 特殊对待行为 | 半好感+ | 主权、信赖、牺牲、特殊待遇、安抚 |
| 关联行为 | 双方半好感+ | 默契、分享、陪伴 |
好感度不足时写需容忍行为 = 油腻/性骚扰感。
5套感情线结构模板
| 模板 | 核心 |
|---|---|
| 好感度变化 | 可能升/降/已降 → 各自处理路径 → 余韵 |
| 受益 | 享受伴侣带来的好处 = 爱情线装逼核心 |
| 争风吃醋 | 多角色为主角争风,不是主角吃别人醋 |
| 发展受阻 | 阻碍→试图解决→解决→余韵 |
| 狗粮 | CP日常互动 |
---
角色目标的独立性与关系线设计
主角目标独立性原则
- 主角的目标必须属于自己的 → 不能是"帮别人实现目标" → 否则主角变成配角/工具人
- 正确做法:把别人的目标转化为主角自己的(平叛=保护自己的利益/获得认可/获取资源)
- 自检方法:随机看一章 → 主角在主动追求什么 → 如果没有 → 主角沦为别人的棋子
感情线的层次设计
- 感情推进不是线性的,应该有升级节点,每个节点对应一个剧情高潮
- 社会关系线 vs 实质情感线的错位制造张力
- 最佳节奏:感情先慢后快 → 前期铺垫积累好感 → 后期集中爆发 → 匹配盛大仪式
配角的功能性定位
| 类型 | 功能 | 使用时机 |
|---|---|---|
| 竞争者(鲶鱼型) | 制造压力推动主角行动 | 高潮节点前 |
| 助力型亲友 | 提供资源/情感支持 | 高潮前发挥 |
| 阻力型亲友 | 不认可→设置条件→主角克服→获得认可 | 节点前后都能用 |
---
绿茶/负面角色
- 可以推动剧情但要谨慎使用
- 确认该角色是否有不可替代性
- 主角强势时任何角色都能变正反馈
- 主角弱势时负面角色会被读者恨
---
质量检查清单
每次完成角色关系/感情线设计后,逐项核查:
- [ ] 关系类型明确:每个重要关系已归类为冲突/联盟/亲密/权威之一
- [ ] 关系有弧线:每个重要关系至少经历一次考验或变化
- [ ] 人设有核心:主角人设有明确的核心特征和发散依据
- [ ] 目标独立性:主角的目标属于自己的,不是帮别人实现目标
- [ ] 好感度匹配:CP行为与当前好感度阶段匹配(按低的一方计算)
- [ ] 读者群对味:男频围绕"展示优秀"设计事件,女频围绕"深化连接"设计事件
- [ ] 配角有行动:配角不是NPC式站桩等待触发,有自己的行动和动机
- [ ] 缓冲区存在:配角攻略过程中始终保持缓冲区,拐点处标注态度变化
- [ ] 修罗场可控:多角关系中对象之间无不可调和的矛盾
- [ ] 发糖时机正确:爱隔山海之后不再设计新矛盾,只发实在的CP行为糖
- [ ] 角色不止恋爱:角色生命中有恋爱之外的内容,不是单薄的情感工具人
对话设计操作手册
写对话场景时加载。先看决策路由选对话模式,再用操作指令控制质量。
---
决策路由
| 你的对话场景是 | 用这种模式 | 操作 |
|---|---|---|
| 主角碾压/打脸 | 压制模式 | 对方长篇大论 → 主角一字回应 |
| 主角亮底牌/反转 | 反转模式 | 对方嚣张 → 主角一句话事实 → 对方沉默 |
| 关系破裂/心死 | 心死模式 | 对话越回越短:从辩解 → 沉默 → "随意" |
| 日常互动/立人设 | 日常模式 | 让其他人物参与冲突,不要主角一个人独白 |
| 群众震惊/弹幕 | 弹幕模式 | 递进:普通人震惊 → 专业人士分析 → 特殊身份者反应 |
| 信息展示/世界观 | 信息嵌入 | 用角色语气包裹信息,不是机械陈述设定 |
| 情绪拉扯/虐心 | 情绪推动 | 上行下行交替,像拉锯拉升期待 |
对话模式选择补充
| 对话类型 | 常见问题 | 修正操作 |
|---|---|---|
| 问答式(通篇一问一答像审讯) | 改为一方主动说,另一方给反应;反应可用动作/表情/心理 | |
| 冲突式(太礼貌不够劲) | 递进五级:委婉拒绝→友好人道→命令否定→PUA式→直接侮辱 | |
| 日常对话(容易变成没功能的水) | 功能是立人设;能让人参与的冲突别让主角独白 | |
| 多人对话(混乱/没营养) | 写前规划每个角色功能:信息提供者/情绪放大器/冲突制造者 |
---
对话核心规则
每句对话必须承载以下至少一项,否则删除:
1. 推进剧情:透露新信息、推动事件发展 2. 增加期待感:暗示即将发生的事、制造悬念 3. 展示人设:通过语言风格传递角色性格
绝对禁止
| 禁止 | 理由 |
|---|---|
| 配角无脑夸主角 | 假 |
| 互相解释读者已知信息 | 水字数 |
| 大段说明文式对话 | 闷 |
| 所有角色说话方式一样 | 模糊 |
| 对话说服人物 | 现实中没人被几句话说服,用突发状况代替 |
| 情绪写完方向变了 | 需回退到情绪拆分 |
---
权力博弈对话
规则
对话长度 = 权力地位。掌控者话短且冷静,被动者话多且情绪化。
压制模式
结构:对方长篇大论(3-5 行)→ 主角一字回应。
"你以为你是什么东西?我告诉你,这个家轮不到你说话!你嫁进来的那天起就该明白自己的位置。"
"滚。"反转模式
结构:对方嚣张(2-3 行)→ 主角亮底牌(1 行事实)→ 对方沉默。
"你有什么资格管?这是我家的钱,我想怎么花怎么花。"
"你妈的存折,密码是我的生日。"心死模式
结构:对话越回越短,从辩解到沉默到「随意」。
"你听我解释,那天不是你想的那样。"
"嗯。"
"真的,我可以证明。"
"随意。"操作指令
- 掌控者/主角亮底牌时:对话 ≤ 10 字,不加动作描写
- 被压制方:对话 ≥ 20 字,可加动作描写(攥拳/咬唇/站起来)
- 两人对话时:短句方 = 权力上位,长句方 = 权力下位
---
潜台词与议程
潜台词规则
- 角色真实动机绝对不能浅显地写在台词里
- 现实中人说话都给自己找借口,角色也一样
- 每句对白同时设计:角色的动机(可能角色自己都没意识到)和角色的借口
对话议程
- 每个角色进入对话时有自己的议程:想从这场对话中得到什么
- 两个角色的议程碰撞才是张力来源
- 双方议程一致(同立场)= 复述,失去意义
语气由三要素决定
关系 × 场合 × 目的 = 语气
| 场合 | 特点 | 适合内容 |
|---|---|---|
| 私人(单对单) | 深入、感情流露透彻 | 内心剖白、密谋、表白 |
| 公众 | 需考虑体面,措辞收敛 | 需要冲击力时可打破(如当众翻脸) |
| 熟人(朋友/同门) | 深度介于两者之间 | 轻松互动和信息交换 |
私密的话在公众场合说才有冲击力。对话中不能完全表达的内容,通过动作、神态、环境补充。
---
情绪推动对话
强情绪对话
- 命令式+否定式最能激发读者情绪:"我说的还不够清楚吗?"
- 最强话术:打着为你好的幌子,句句不离关心,但句句都是嫌弃、指责、厌恶
- 直接否定比含蓄暗示更伤人
情绪连续性
角色情绪是连续的、循序渐进的。从生气到高兴:生气 → 不那么生气 → 不生气 → 高兴,每次转变需对应事件触发。不能跳步。
情绪四步法(缺一不可)
1. 遇到事件(失衡状态) 2. 情绪反应(外在表现:动作、表情、语言) 3. 内心思考(即使没思考也要写出"没有思考",表达鲁莽) 4. 采取行动(基于前三步结果回应)
对话不平淡三思路
- 对话本身带来/强化某个核心驱动力(期待、爽感、悬念)
- 信息交流因某原因受阻碍,阻碍可能导致驱动力到来
- 发展突然脱离读者预期(但必须合理、符合人设)
- 把长篇对话塞在期待点和爽点之间:读者为了看爽点愿意忍受中间对话
---
信息展示与世界观引出
- 大量信息通过对话展示会显得啰嗦,部分信息转化为情节、心理描写、旁白、环境、动作
- 用角色的语气和立场包裹信息,不是机械陈述设定
- 设定用到哪个稍微带出来就行,不需完完全全讲明白前因后果
信息拉扯示例(以"主角新书起飞了"为例)
| 角色 | 台词 | 功能 |
|---|---|---|
| 甲 | 听说成绩…… | 悬念拉期待 |
| 乙 | 肯定没人看! | 下行 + 拉期待 |
| 甲 | 听说成绩很不错 | 上行 + 拉期待 |
| 乙 | 首订一万三? | 展露核心信息 + 达成爽点 |
上行和下行交替,情绪像拉锯不断拉升期待。
---
人物语言差异化
每个角色要有自己的说话方式。对话时经常卡住不知道角色会说什么 → 人设模糊,去总结类似人设的说话方式。
| 差异化维度 | 操作 |
|---|---|
| 口癖和惯用语 | 给每个主要角色一个标志性用词 |
| 说话节奏 | 长篇大论 vs 短句连击 |
| 信息偏好 | 技术型带专业术语,江湖人带切口 |
| 立场固定 | 某角色永远从某个角度发言(悲观派/乐观派/务实派) |
| 身份影响措辞 | 老者/少年/贵族/市井,身份不同则措辞、自称、敬谦词不同 |
| 性格影响语气 | 智谋型话里有话;鲁莽型想到什么说什么;冷静型措辞精确,偶尔情感外露反而有冲击 |
| 进度影响态度 | 初见/熟悉/对立/亲密,关系阶段不同则语气与信息量不同 |
---
弹幕/群众对话
三大核心作用:剧情推进(透露主角不知道的信息)、增加期待感(悬念、猜测)、情绪渲染(群众震惊/激动/愤怒传染读者)。锦上添花,不代替主线。
设计过的弹幕 vs 没设计的
- 没设计:只有"卧槽好厉害",单调、浪费
- 设计过:普通人震惊 → 专业人士分析 → 特殊身份者反应 → 情感升华
操作要点
- 不同人格化语气,不能每条都一个味
- 短小精悍,每条不超过一句话核心信息
- 善用递进:从最初震惊到逐渐认识全貌
- 可出现"反转"角色:看似路人一句话改变所有人认知
- 不用每章都写,关键爽点/燃点/泪点前后集中使用
---
节奏控制
大量对话保持节奏
- 不要删掉表现人物性格的语气助词来"精简"
- 对话段落间穿插动作描写、环境变化、心理活动调节节奏
- 紧张段落对话短促,舒缓段落可以长一些
- 关键信息放对话开头或结尾,中间用于拉扯情绪
动作和表情处理
- 刻意给每句对话配表情/动作会让行文机械
- 动作和表情在关键转折处使用效果最好,不需要每句都配
- 语气平淡场景(喝茶、散步)用微小动作和沉默体现氛围
对话的呼吸感
- 连续多轮对话后需要"换气",插入环境描写或角色心理
- 适当停顿(动作描写、换行、短句)比连续输出更有张力
- "你确定?"比长篇解释更有压迫感
---
篇幅控制
对话过多时
- 读者已知信息的对话用叙事一句话概括:"爱丽丝向安娜讲述了来城里的原因,安娜听后直皱眉头"
- 能用突发状况替代的对话段落直接替换
- 语气词删掉后干巴巴 = 对话本身缺乏信息量,需重写
对话过少时
- 能用其他人物对话讲出来的东西,不要让主角旁白平铺直叙
- 引入配角参与冲突和对话,但新人物必须安排主线戏份
---
以梗填充对话
梗式 vs 普通
- 普通:"兄弟别灰心,你一步步走到今天我是看着你过来的,这点挫折对于你来说算什么事儿?振作起来!"
- 梗式:"兄弟别灰心,我相信你总有人头落地,落地人头,头落地上……卧槽那句话怎么说的来着?兄弟你懂我意思是吧……"
- 梗式用"说不出来但意思到了"的状态制造趣味
操作
- 在对话中融入梗或骚话,有效提升整体趣味性
- 特别是主角或重要配角的突出对话,适合用梗强化记忆点
- 可用某个梗作为高潮点,整段剧情围绕达成这个梗来设计
---
质量检查
三大自查项(中一条以上需改进)
- [ ] 是否存在大量信息都必须用对话来展示
- [ ] 对话是否是问答式的一问一答
- [ ] 是否习惯依赖对话来推动剧情或人物变化
核心指令检查
- [ ] 权力博弈:掌控者对话 <= 10 字 / 被压制方 >= 20 字,是否有明确的压制/反转/心死模式
- [ ] 潜台词与议程:每个角色进入对话时有自己的议程,真实动机不在台词中
- [ ] 人物差异化:遮住角色名后能否区分是谁在说话(7维差异化)
- [ ] 弹幕递进:普通 → 专业 → 特殊身份,是否有层次感
- [ ] 对话推动剧情:每段对话结束时,剧情是否往前推了一步
- [ ] 篇幅控制:单次对话不超过全节 40%,信息密度是否足够
检验对话质量
- 对话自然度检查:逐句检查对话是否像自然口语交流,而非书面化的问答稿
- 对话结尾能否预示接下来的节奏变化
情绪弧线操作手册
写故事时选弧线、控制节奏、调动情绪的速查操作手册。
决策路由表
| 你想写的情绪效果 | 选哪个弧线 | 关键要点 |
|---|---|---|
| 虐完翻盘 | V 形 | 谷底 60-70%,治愈急速回升 |
| 甜完刀死(BE) | 倒 V 形 | 高点 40-50%,坠落比上升快 |
| 多反转猜不到 | W 形 | 每峰比前高,上限 3 起伏 |
| 层层打脸升级 | 递进形 | 无回落,像台阶往上 |
| 隐忍后大爆发 | 延迟满足 | 前 70-80% 铺垫,最后集中爆发 |
| 结尾颠覆 | 急转形 | 70-80% 处急转弯,前面线索要能回看说通 |
可叠加两种弧线(如"延迟满足 + 急转"),不超过两种。
---
目录
- 六种弧线速查
- 中段加压四手段
- 题材赛道策略
- 期待感管理六法则
- 情绪核心公式
- 前反应-复现-后反应情绪结构
- 以小搏大情绪结构
- 冲突中的情绪层次与死亡赌注
- 基于不该如此的情绪驱动
- 理念矛盾的情感爆发力
- 情绪调动的三层方法
- 男频恋爱文情绪设计
- 情绪调动统一视角
- 期待感维持的底层机制
- 质量检查清单
---
六种弧线速查
一、V 形弧线(虐 -> 治愈)
情绪
10 | *
9 | / \
7 | / \
6 | / * 治愈高点
1 | * 虐谷底
+------------------> 进度
0% 40% 70% 100%操作要点:
- 谷底放在 60-70%,治愈急速回升,结尾情绪必须高于起点
- 谷底要够深,转折要突然,治愈不拖,谷底停留 1-2 场景即转折
| 题材 | 虐的部分 | 治愈的部分 |
|---|---|---|
| 重生复仇 | 前世被虐 | 重来后翻盘 |
| 破镜重圆 | 分开的痛苦 | 重新在一起 |
| 亲情催泪 | 误解/亏欠 | 和解/明白真相 |
| 成长治愈 | 低谷遭遇 | 重新站起来 |
字数分配(12000 字):起始 10% -> 下沉 30% -> 谷底 15% -> 转折 10% -> 治愈上升 25% -> 高点收束 10%
二、倒 V 形弧线(爽 -> 反转 -> 低谷)
情绪
10 | *
5 | * \
1 | * BE 落点
+------------------> 进度
0% 30% 60% 100%操作要点:
- 高点放在 40-50%,反转后急速下坠
- 坠落速度必须快于上升,BE 结尾不加糖
| 题材 | 爽的部分 | 坠落的部分 |
|---|---|---|
| BE 虐恋 | 甜蜜/幸福 | 真相/分离 |
| 职场翻车 | 升职/成功 | 发现是陷阱 |
| 友情背叛 | 亲密无间 | 背后的算计 |
| 信任崩塌 | 深信不疑 | 被欺骗的真相 |
字数分配(12000 字):起步 10% -> 上升 35% -> 顶点 10% -> 反转 5% -> 坠落 30% -> 低谷收束 10%
三、W 形弧线(多起伏)
情绪
10 | * *
5 | * \ /
4 | *
+--------------------> 进度
0% 20% 40% 60% 80% 100%操作要点:
- 至少两个波峰一个波谷,通常三个起伏
- 每个峰必须比前一个高,最终峰在 80-90%
- 起伏之间必须有喘息空间,上限 3 个起伏
| 题材 | 说明 |
|---|---|
| 多反转悬疑 | 每次以为猜到了就再来一个反转 |
| 追妻火葬场 | 反复拉扯,每次以为和好了又出问题 |
| 商战博弈 | 你来我往,每次以为赢了又翻盘 |
字数分配(15000 字,3 起伏):起步+第1峰 25% -> 第1谷 10% -> 第2峰 25% -> 第2谷 10% -> 第3峰 20% -> 收束 10%
四、递进弧线(逐步升级)
情绪
10 | *
7 | * /
5 | * /
3 | * /
+--------------------> 进度
0% 25% 50% 75% 100%操作要点:
- 不能有回落,像台阶一阶一阶往上
- 最高点在 85-95%,中间只给小胜利,不提前释放
| 题材 | 递进方式 |
|---|---|
| 打脸爽文 | 一个一个打,每个比上一个狠 |
| 层层揭秘 | 真相一层比一层震撼 |
| 逆袭翻盘 | 每一步翻盘都比上一步大 |
字数分配(10000 字):压迫 20% -> 第1阶反击 20% -> 第2阶反击 25% -> 第3阶反击 25% -> 收束 10%
五、延迟满足弧线(长铺垫 -> 爆发)
情绪
10 | *
5 | *--------|
3 | *------ |
1 | *------ |
+-------------------------> 进度
0% 20% 40% 60% 80% 100%操作要点:
- 前 70-80% 压制/铺垫,最后 20-30% 集中爆发
- 铺垫阶段每段必须有信息量和张力,不能无聊
- 压的方式要多样,爆发要密集,爆发后快收
| 题材 | 压的部分 | 爆发的部分 |
|---|---|---|
| 复仇爽文 | 隐忍、装弱、被欺压 | 一朝翻盘、全面清算 |
| 身份揭秘 | 隐藏实力/身份 | 真实身份曝光,全场震惊 |
| 长线布局 | 主角暗中操作 | 所有棋子同时落位 |
字数分配(12000 字):初始压制 20% -> 深层铺垫 25% -> 压力最大 15% -> 爆发触发 5% -> 集中爆发 25% -> 收束 10%
六、急转弧线(70-80% 处急转弯)
情绪
10 | * 急转后的新高/低点
8 | *--/
3 | /
+-------------------------> 进度
0% 30% 70% 80% 100%操作要点:
- 前 70-80% 正常弧线,70-80% 处突然转向
- 急转只占 1-2 段,前面埋的线索回看时必须说得通
| 题材 | 前半段 | 急转后 |
|---|---|---|
| 细思极恐 | 温馨日常 | 恐怖真相浮现 |
| 身份错位 | A 视角叙事 | 其实是 B |
| 动机反转 | 以为是爱 | 其实是恨/利用 |
字数分配(10000 字):建立假象 35% -> 推高假象 30% -> 假象高点 10% -> 急转 5% -> 真相展开 15% -> 新情绪收束 5%
---
中段加压四手段
1. 公开升级:把私下伤害搬到公开场合(家宴、公司会议、直播、典礼) 2. 双重背叛:已知一层背叛后再加一层(经济背叛、名誉背叛、立场反转、证据篡改) 3. 代价加速:不行动的代价不断升高(失去机会、当众羞辱、连累他人) 4. 战略性沉默:主角暂不反击,沉默本身持续加压(他人误读、反派更放肆)
---
题材赛道策略
| 赛道 | 最佳爽点 | 中段重点 | 结尾偏好 |
|---|---|---|---|
| 婚恋/追妻火葬场 | 开篇羞辱->公开反杀->渣男后悔->身份翻盘 | 公开/私下反差、代价升级、至少一个 mini-payoff | 静默优越、社会地位反转 |
| 家庭伦理/亲情 | 高压现实场景、家人背叛断裂感 | 层层施压、道德绑架、一次拒绝兜底 | 边界清晰、脱离旧结构 |
| 都市逆袭/职场 | 被轻视->展现实力->身份揭露 | 能力被低估但持续展示、关键场合意外表现 | 身份真相大白、对手代价可视 |
| 悬疑反转 | 反常事实->层层剥开->颠覆认知 | 每层揭露引发新问题、至少一次"以为找到了但不是" | 真相一击(最后一句话重构全篇) |
---
期待感管理六法则
1. 期待最大化定律:爽点到来前那一刻是全篇张力最高位置。将满足而未满足时,读者需求最大。 2. 信息顺序操纵:先植入什么信息,读者就先入为主往哪个方向想。控制信息顺序 = 控制读者预期。 3. 期待递增法:在基底期待上不断添加细节,注入更具体化的需求缺口。添加的细节必须与核心梗一致。 4. 断期待禁止:下一个期待立起来之前,绝不能结束当前期待。旧期待即将兑现时,新期待的种子必须已种下。 5. 下行情节安全原则:写情绪下行时,锅都是别人的,功都是主角的。下行中必须给读者安全感(可能的解法/潜在收获)。 6. 爽点递增对比:连续爽点逐级递增。维度:影响范围(个人->群体->社会)、揭示深度(表象->本质->颠覆)、身份落差(路人->大佬->全场震惊)。
---
情绪核心公式
写每个场景时分离三层情绪: 1. 角色自己的情绪(角色感受到的) 2. 文本传递的情绪(文本要让读者感受的) 3. 读者实际感受的情绪(读者真正的体验)
同一场景三层可以完全不同:角色在哭,文本在撩,读者在爽。
例:女主当众被退婚,强忍着没掉泪——角色:屈辱;文本写她嘴角还挂着笑(角色:撑);读者替她憋着、等后面打脸(读者:爽前蓄力)。
---
前反应-复现-后反应情绪结构
用于虐/悲壮/遗憾类场景。按顺序执行三步:
1. 前反应:让读者提前知道坏结果,然后描写美好事物(读者预知法) 2. 复现:让坏结果真的发生 3. 后反应:主角真情流露,作出改变(愤怒/拼命/振作)
操作示例:知道某人一天后要死 -> 让她经历美好(逛街、看烟花) -> 她真的死了 -> 主角愤怒拼命
---
以小搏大情绪结构
用于热血/逆袭类场景。按顺序执行四步:
1. 前反应:铺垫弱者的苦,用对比强化(现在的弱 vs 以前的强) 2. 复现:强者到来,"我知道你们苦,我来了" 3. 后反应:弱势方被拯救 4. 士气如虹:整体气势转变
---
冲突中的情绪层次与死亡赌注
选择死亡赌注
| 赌注类型 | 适用场景 | 操作要点 |
|---|---|---|
| 肉体死亡 | 恐怖诡异文 | 主角过强时赌注必须转为事业死亡,否则全书崩溃 |
| 事业死亡 | 职场竞争、修仙门派争斗 | 失败 = 一切归零 |
| 心理死亡 | 感情崩塌、信念毁灭 | 情绪冲击最深,优先用于感情线 |
选一种作为主要赌注贯穿全书,其他辅助推动情节。
用黏结剂维持张力
对立双方必须无法轻易脱身。四种黏结剂:杀人理由(序列唯一性必然冲突)、工作职责、道德责任(亲人遇险)、实体场所(副本密室)。
长线维护规则
- 第一卷结局不能太圆满——完美解决会杀死后续追读动力
- 解决一个麻烦的同时必须埋下下一个麻烦
- 越到后期,情绪张力必须越大
---
基于不该如此的情绪驱动
- "不该如此"是最根本的情绪驱动力——写诬告、不公、恃强凌弱,读者天生生出"不该如此"的念头
- 核心情绪逻辑:想要爽,必先不爽;想要公平,必先不公平;想要强大,必先不强大
- "悬而未决"也是强驱动力
- 好的题材必须具备勾起人们惋惜、渴望改变的特质
---
理念矛盾的情感爆发力
- 理念之争比利益之争更能引发读者深层共鸣
- 少量关键场景即可,不需要大量笔墨
- 理想主义与现实的冲突是塑造配角封神级人设的手法
- 理念认同 = 人设认同 = 读者情感投入
- 在主线中穿插理念型角色,用他们的追求和牺牲拔高全书情绪上限
---
情绪调动的三层方法
三层:长期感情投入、短期事件冲突、场景描绘。三者可叠加,核心是前两层。
长期引导三步骤
1. 抛出共鸣炸弹:找到角色最易引发共鸣的情感锚点(梦想、仇恨、恐惧) 2. 让读者变见证者:展示角色付出和挣扎,每一步伴随收获 3. 让读者变参与者:通过足够铺垫和细节,产生命运共同体感
短期情绪引导
短期靠独立事件冲突。直白冲突比繁杂情节更容易引起共鸣。
两种事件类型:
- 推动情节发展的事件:让读者对角色处境产生认同
- 塑造人物性格的事件:让读者对角色思想性格产生认同
开篇必须选择塑造人物性格的事件——先认同角色这个人才关心角色的事。
情绪代入的陷阱
读者未代入主角前:主角弱势可以引起同情,但敌人弱势也同样引起同情。读者还没建立认同时,不要把对手写得可怜。
情绪文笔技法
- 短句 = 果决热血(节奏快,情绪密度高)
- 情绪词:骤然、猛然、刺眼——制造紧迫感
- 动作词:抽、划、留下——画面感强,情绪外化
- 修饰词:精准克制地使用形容词,不堆砌
- 进阶规则:优先通过角色行为暗示情绪,而非直接描写。以乐写悲:角色在最悲伤时表现开心,情绪张力更强(赴死的人最悲的不是她哭,而是她很开心)
---
男频恋爱文情绪设计
两大核心需求
- 情绪价值:读者缺爱,小说中漂亮优秀女生欣赏自己,填补情感空缺
- 自尊价值:带校花/女总裁出场,旁人羡慕嫉妒恨
恋爱当升级文写
- 设定"好感度进度条"(路人->好人->朋友->喜欢不自知->...)
- 最吸引读者的不是在一起的结果,而是暧昧拉扯的过程
- 制造内外部阻碍阻拦两人走到一起,通过克服阻碍加深感情
感情升级的不对称性
两条进度线不能齐头并进:
- 情感快于社会关系:双方好感早已拉满但嘴硬不表白
- 社会关系快于情感:穿越自带老婆/未婚妻,好感为零需逐步提升
关键禁忌与技巧
- 男主不要主动追求,不要舔狗——用自身优秀品质吸引女主注意
- 事业线不可或缺,女主对主角事业起积极作用
- 要写女主对主角好,根据人设设计付出方式(自卑型偷偷塞丹药、傲娇型嘴硬做便当、直率型大方送礼物)
- 对比法:时间线对比(前后态度变化)+ 双标(对别人 vs 对主角)
- 信息差拉期待:双重身份(网络身份 vs 现实身份),读者期待揭穿马甲时的反应
---
情绪调动统一视角
写完一段觉得不到位 / 读者反馈平淡时使用。
终极公式
平静 -> 调动 -> 释放 -> 爽
| 技法 | 调动 | 释放 | 结果 |
|---|---|---|---|
| 装逼打脸 | 反派嚣张 | 主角碾压 | 爽 |
| 拉仇恨 | 负面情绪 | 恶人受罚 | 爽 |
| 先抑后扬 | 打压 | 爆发 | 爽 |
| 期待感 | 制造鸿沟 | 弥合鸿沟 | 爽 |
实操要点
- 每个场景标注:读者当前情绪在哪个阶段;下一步是调动还是释放。
- 只有调动没有释放 = 读者憋屈弃书
- 只有释放没有调动 = 爽感平淡无力
- 调动程度决定释放爽度:仇恨拉多满,打脸就多爽
---
期待感维持的底层机制
写了目标但读者不关心 / 六法则用了但效果不好时使用。
期待感 vs 目标
- 目标 = 角色要做什么(找到宝物、打败魔王)
- 期待感 = 读者对目标达成后会怎样的预期
- 有目标无期待 = 读者不在乎结果,必须把目标转化为期待
确定型 vs 不确定型期待
- 确定型(爽文):读者知道主角会赢,写"怎么赢"(过程创意 > 结果悬念)
- 不确定型(悬疑):读者不知道结果(结果悬念 > 过程体验)
- 爽文不怕"剧透"——因为期待在过程不在结果
悬念的开环与闭环
- 开环 = 制造鸿沟(提出问题/悬念)
- 闭环 = 弥合鸿沟(回答问题/揭晓)
- 嵌套开环 = 闭环一个期待的同时开启新的(维持阅读连续性)
- 规则:闭环一个期待时,必须已有下一个开环在运行
感情线的鸿沟
感情线没有阻碍 = 没有期待 = 白给 = 无意义。必须设置鸿沟。
鸿沟来源:身份差距、家族反对、误会、使命冲突。
---
质量检查清单
写完情绪弧线后逐项检查:
弧线选择与节奏
- [ ] 弧线类型是否匹配你想写的情绪效果?(对照决策路由表)
- [ ] 关键转折点是否在正确的进度位置?(V形谷底60-70%、倒V高点40-50%、急转70-80%)
- [ ] 字数分配是否符合所选弧线的比例要求?
调动与释放
- [ ] 每个场景是否清楚当前是"调动"还是"释放"阶段?
- [ ] 是否存在只有调动没有释放的段落?(会憋屈弃书)
- [ ] 是否存在只有释放没有调动的段落?(爽感平淡)
- [ ] 连续爽点是否逐级递增?(影响范围/揭示深度/身份落差)
期待感
- [ ] 每个目标是否已转化为读者期待?
- [ ] 闭环一个期待时,下一个开环是否已在运行?(断期待禁止)
- [ ] 感情线是否设置了阻碍?(无阻碍 = 无期待)
情绪代入
- [ ] 开篇是否用了塑造人物性格的事件?(先认同人,再关心事)
- [ ] 读者未代入主角前,是否避免了把对手写得可怜?
- [ ] 下行情节中是否给了读者安全感?(锅是别人的,功是主角的)
长线维护
- [ ] 解决一个麻烦时是否同时埋下了下一个麻烦?
- [ ] 越到后期情绪张力是否越大?
- [ ] 死亡赌注是否选了一种贯穿全书?
- [ ] 对立双方是否有黏结剂无法轻易脱身?
情感设计方法:三板斧 + 拉扯节奏 + 失败模式
设计情感桥段时加载。先看决策路由选策略,再用三板斧设计具体段落。
---
决策路由
| 你的情感设计场景是 | 用这个策略 | 跳转到 |
|---|---|---|
| 建立角色羁绊(让读者相信关系) | 羁绊铺设(第一斧) | 三板斧 §1 |
| 制造情感撕裂(反差/错位/背叛) | 情感撕裂(第二斧) | 三板斧 §2 |
| 写结尾余韵(安静细节击穿读者) | 余韵钝痛(第三斧) | 三板斧 §3 |
| 规划整体情感节奏曲线 | 拉扯节奏设计 | 拉扯节奏 |
| 不同题材的情感策略选择 | 题材策略差异 | 按题材 |
| 检查情感设计是否有效 | 失败模式排查 + 快速自查 | 底部清单 |
---
情感虐心三板斧
第一斧:羁绊铺设(前 1/3)
目标:用具体物件/数字/细节建立关系质感,让读者相信这段关系是真实的。
方法:
- 用具体数字建立时间感:「相恋八年」「昏迷五年」「七年光景」
- 用具体物件承载感情:金锁(姐姐的生日礼物)、账本数字(还债记录)、木头小马(父王磨的)
- 用重复动作建立习惯:每天一碗粥、每两周来看一次、每年冬天冻得睡不着
案例:
- 《迟来二十年》:用二十年的账本数字(八万块)建立母女关系的重量
- 《我在佛前求你》:昏迷五年、求神拜佛的细节、从初中开始的暗恋
- 《皇弟欺负幼子》:七年质子生涯的具体苦难(跪雪地、挨巴掌、吃馊饭)
核心:羁绊越具体,后面的撕裂越痛。不要用「他们很相爱」这种抽象描述。
---
第二斧:情感撕裂(中后段)
目标:制造反差,让读者以为恨对了 → 发现恨错了(或反过来)。
方法:
- 反差法:先展示温暖一面,再用残酷真相击碎
- 错位法:角色 A 以为在保护角色 B,实际上在伤害
- 延迟真相法:关键信息在读者最不期待的时候揭示
案例:
- 《姐夫捎路要奶粉钱》:妈妈表面软弱可怜,实际一直操控姐姐索取钱财 → 金锁是假的(金包铜)→ 反差撕裂
- 《皇弟欺负幼子》:王氏表面温柔(送手炉、煎汤药)→ 实际下药逼疯先皇后 → 用诛心话逼死
- 《重生弟弟》:弟弟深爱女友 → 女友是诈骗犯 → 怀孕是假的 → 被骗到电诈园区
核心:撕裂的力度取决于铺垫的厚度。没有好的羁绊铺设,撕裂就是无根之木。
---
第三斧:余韵钝痛(结尾)
目标:不用大哭大闹,用安静细节击穿读者防线。
方法:
- 用日常动作承载巨大情感:继续喂粥、把衣服叠好、不回头
- 用物件细节制造余韵:坏掉的金锁、木头小马、沾血的戒指
- 用「不」制造留白:不解释、不回头、不流泪
案例:
- 《皇弟欺负幼子》:「他拿着那匹被我磨得很光滑的木头小马……他握着正好。」
- 《姐夫捎路要奶粉钱》:「我的手机清净了不少。那些困扰我很久的麻烦,在一瞬间变得很小很小。」
- 《准儿媳打分》:「办了收养手续后,她第一次踏进这个陌生的家……我知道,这一次我没选错。」
核心:最好的余韵不是大哭,是「看完之后很久都忘不掉」。
---
情感拉扯节奏设计
基本节奏曲线
温暖 → 残忍 → 善意 → 真相 → 原谅 → 来不及 → 释然 → 细节暴击不是所有故事都走完整曲线。按题材选择子集:
| 题材 | 典型节奏 | 核心拉扯 |
|---|---|---|
| 世情/爽文 | 欺压 → 忍耐 → 爆发 → 打脸 | 情绪反弹快、打脸密度高 |
| 情感/虐心 | 甜蜜 → 破碎 → 挽回 → 错过 | 慢铺垫、后劲大 |
| 古言/复仇 | 隐忍 → 布局 → 揭穿 → 报应 | 设定简洁、暴力美学 |
| 悬疑/推理 | 平静 → 不安 → 真相 → 震惊 | 信息差制造不安 |
| 年代/亲情 | 误解 → 冲突 → 真相 → 和解 | 代际冲突、时代质感 |
拉扯原则
1. 每 3-5 个小节有一次情绪转向(不能一路虐到底或一路爽到底) 2. 每次转向都要有触发事件(不能无理由地改变情绪) 3. 最后一次转向决定结尾余韵的基调 4. 爽文允许快速反弹,虐文需要更长铺垫
---
按题材的情感策略差异
世情/爽文
- 情绪反弹速度:快(受辱后 2-3 节内打脸)
- 打脸密度:每 3-5 节一次
- 反派嚣张度:递增(第一次小嚣张,最后一次大嚣张)
- 结尾基调:痛快、解气
- 案例:《准儿媳打分》— 打分制反制、铁盒零分、断绝关系
情感/虐心
- 羁绊细节密度:高(前 1/3 必须建立深厚羁绊)
- 反差设计:先暖后冷,先甜后苦
- 余韵技法:安静结尾 + 物件细节
- 结尾基调:意难平、释然
- 案例:《姐夫捎路要奶粉钱》— 金锁真相 → 假爱 → 独立
古言/复仇
- 设定简洁原则:人物关系清晰,不搞复杂世界观
- 暴力美学写法:打脸要直接,不拖泥带水
- 底牌时机:最后 1/4 揭示最大底牌
- 结尾基调:大快人心、因果报应
- 案例:《皇弟欺负幼子》— 一声令下打二十棍 → 查出真相 → 废后
悬疑/推理
- 信息差布局:读者知道角色不知道,或反过来
- 排除法结构:逐步排除可能性,最后只剩真相
- 动机揭示节奏:先揭示做了什么,再揭示为什么做
- 结尾基调:细思极恐、原来如此
- 案例:《重生弟弟》— 重生设定 + 诈骗犯身份 + 电诈园区
年代/亲情
- 代际冲突处理:不站队,展示双方的苦
- 时代细节质感:用时代特有的物件/习俗建立质感
- 和解节奏:不急和解,先让双方充分受伤
- 结尾基调:温暖中带着遗憾
- 案例:《姐夫捎路要奶粉钱》— 亲子关系 → 金锁真相 → 断裂
---
常见失败模式
| 失败模式 | 识别方法 | 修正方向 |
|---|---|---|
| 太平 | 连续 5+ 节没有情绪转折 | 插入意外事件或新信息 |
| 太赶 | 重大转折只用了 1 节铺垫 | 给转折至少 3 节铺垫 |
| 假虐 | 读者不心疼,只是看着难受 | 检查羁绊铺设是否具体 |
| 割裂 | 前半部分和后半部分像两篇不同的故事 | 用伏笔/物件/主题贯穿 |
| 烂尾 | 反转后拖了 2000 字还在交代 | 反转后 500 字内收尾 |
| 人设崩 | 角色在关键时刻的行为不符合前面的人设 | 回顾人设,确保行为逻辑一致 |
---
快速自查
设计情感时,用这个清单:
- [ ] 前 1/3 有具体羁绊细节(不是抽象描述)?
- [ ] 中段有反差/撕裂(读者以为 A → 实际是 B)?
- [ ] 结尾有安静细节(不是大段抒情)?
- [ ] 每 3-5 节有情绪转向?
- [ ] 反派行为符合其人设逻辑?
- [ ] 不存在上述 6 种失败模式?
---
三板斧与 SKILL.md 五段结构映射
| 三板斧 | 对应 SKILL.md 五段 | 说明 |
|---|---|---|
| 第一斧:羁绊铺设(前 1/3) | 铺垫段(第二段,占 30-40%) | 用物件/数字/习惯建立关系质感 |
| 第二斧:情感撕裂(中后段) | 升级段(第三段)+ 反转段(第四段) | 反差/错位/延迟真相制造撕裂 |
| 第三斧:余韵钝痛(结尾) | 结尾段(第五段,占 5-10%) | 安静细节收尾,不写大段抒情 |
# {项目名} — 网文写作工具集
## Skill 路由表
| 命令 | Skill | 说明 |
|------|-------|------|
| `/story-long-write`、`/写长篇` | story-long-write | 长篇网文写作(逐章推进) |
| `/story-short-write`、`/写短篇` | story-short-write | 短篇网文写作(情绪驱动) |
| `/story-long-analyze`、`/长篇拆文` | story-long-analyze | 长篇小说深度拆解 |
| `/story-short-analyze`、`/短篇拆文` | story-short-analyze | 短篇小说拆文分析 |
| `/story-long-scan`、`/长篇扫描` | story-long-scan | 长篇小说批量扫描 |
| `/story-short-scan`、`/短篇扫描` | story-short-scan | 短篇小说批量扫描 |
| `/story-deslop`、`/去AI味` | story-deslop | 去除 AI 写作痕迹 |
| `/story-cover`、`/封面` | story-cover | 生成封面图 |
| `/story-review`、`/审查` | story-review | 多视角对抗式审查 |
| `/story-import`、`/导入` | story-import | 逆向导入已有小说到项目结构 |
| `/story`、`/网文` | story | 工具箱路由 · 模糊意图自动分发 |
| `/story-setup`、`/准备写书` | story-setup | 环境部署 · hooks/rules/agents 一键部署 |
| `/browser-cdp` | browser-cdp | 浏览器 CDP 工具 |
## 文件结构
- `拆文库/` — 拆文分析结果存放目录
- `{书名}/正文/` — 长篇小说正文章节
- `{书名}/设定/` — 角色设定、世界设定
- `{书名}/大纲/` — 卷纲、细纲
- `{书名}/追踪/` — 上下文.md(写作上下文)、伏笔.md
- `{书名}/对标/` — 对标作品分析
## 协作规则
Agent 间的协调关系由各 Agent 定义文件的职责边界描述,不需要独立协调规则文件。
## Compact 后恢复上下文
此部分在 compact 后自动生效。CLAUDE.md 在每次 compact 后会被重新加载。
写作中的关键上下文:
1. 当前写作项目名称和进度
2. 最近讨论的角色设定变更
3. 未完成的伏笔列表
4. 当前章节的情绪/节奏目标
如果存在 {书名}/追踪/上下文.md,compact 后首先读取恢复上下文。
#!/bin/bash
# detect-story-gaps.sh — 检测写作项目中的 5 项缺口
# 设计原则:无缺口时完全静默,不输出任何内容,避免污染 context
set -euo pipefail
# 加载公共函数库(project_root + discover_all_books)
source "$(dirname "$0")/lib/common.sh"
ROOT=$(project_root)
OUTPUT=""
HAS_WARNINGS=false
# 1. 新项目检测:没有书名目录(同时支持长篇和短篇项目)
# bash 3.2 兼容:不用关联数组,由 discover_all_books 内部按顺序去重。
declare -a BOOK_DIRS=()
while IFS= read -r dir; do
[ -n "$dir" ] && BOOK_DIRS+=("$dir")
done < <(discover_all_books)
if [ "${#BOOK_DIRS[@]}" -eq 0 ]; then
# 完全新项目,没有任何目录结构 — 静默退出
exit 0
fi
for BOOK_DIR in "${BOOK_DIRS[@]}"; do
BOOK_NAME=$(basename "$BOOK_DIR")
BOOK_OUTPUT=""
# 2. 正文多但设定少
CHAPTER_COUNT=0
SETTING_COUNT=0
if [ -d "$BOOK_DIR/正文" ]; then
CHAPTER_COUNT=$(find "$BOOK_DIR/正文" -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
elif [ -f "$BOOK_DIR/正文.md" ]; then
CHAPTER_COUNT=1
fi
if [ -d "$BOOK_DIR/设定" ]; then
SETTING_COUNT=$(find "$BOOK_DIR/设定" -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
fi
if [ "$CHAPTER_COUNT" -gt 10 ] && [ "$SETTING_COUNT" -lt 3 ]; then
BOOK_OUTPUT+="[WARN] ${BOOK_NAME}:正文 ${CHAPTER_COUNT} 章,但设定文件只有 ${SETTING_COUNT} 个,建议补充设定。\n"
fi
# 4. 过期或异常伏笔线索
if [ -f "$BOOK_DIR/追踪/伏笔.md" ]; then
# 仅检查表格数据行中的状态列。正常开放状态(未埋/已埋)不报警,
# 避免长篇项目每次 SessionStart 都触发全量伏笔审计。
# 行为回归脚本:scripts/check-hook-regex-sync.sh
ABNORMAL_FORESHADOW=$(awk -F'|' '
function trim(s) { gsub(/^[[:space:]]+|[[:space:]]+$/, "", s); return s }
/^\|/ && $0 !~ /^\|[-[:space:]|]+$/ {
status=trim($6)
if (status == "" || status == "状态" || status ~ /^状态\{/) next
if (status == "已过期" || (status != "未埋" && status != "已埋" && status != "已回收")) print
}
' "$BOOK_DIR/追踪/伏笔.md" 2>/dev/null || true)
if [ -n "$ABNORMAL_FORESHADOW" ]; then
BOOK_OUTPUT+="[WARN] ${BOOK_NAME}:伏笔.md 中检测到过期或异常的伏笔条目,建议跑 /story-review lean 或做一次伏笔审计。\n"
fi
fi
# 5. 大纲缺失(按项目类型区分判定)
if [ -d "$BOOK_DIR/正文" ] || [ -f "$BOOK_DIR/正文.md" ]; then
# 长篇判定:有 追踪/ 视为长篇,要求 大纲/ 目录
if [ -d "$BOOK_DIR/追踪" ] && [ ! -d "$BOOK_DIR/大纲" ]; then
BOOK_OUTPUT+="[WARN] ${BOOK_NAME}:已有 正文/ 但缺少 大纲/,建议先搭大纲。\n"
# 短篇判定:无 追踪/ 视为短篇,要求 小节大纲.md 单文件
elif [ ! -d "$BOOK_DIR/追踪" ] && [ ! -f "$BOOK_DIR/小节大纲.md" ]; then
BOOK_OUTPUT+="[WARN] ${BOOK_NAME}:已有正文但缺少 小节大纲.md,建议先搭大纲。\n"
fi
fi
# 仅在有问题时输出该书目的信息
if [ -n "$BOOK_OUTPUT" ]; then
OUTPUT+="检查:$BOOK_NAME\n$BOOK_OUTPUT"
HAS_WARNINGS=true
fi
done
# 3. 全局拆文未完成检测(项目级,非书目级)
GLOBAL_PROGRESS_OUTPUT=""
if [ -d "$ROOT/拆文库" ]; then
while IFS= read -r -d '' progress_file; do
GLOBAL_PROGRESS_OUTPUT+="[WARN] 拆文未完成:${progress_file#$ROOT/},运行 /story-long-analyze 继续。\n"
done < <(find "$ROOT/拆文库" -name "_progress.md" -print0 2>/dev/null || true)
fi
if [ -n "$GLOBAL_PROGRESS_OUTPUT" ]; then
OUTPUT+="$GLOBAL_PROGRESS_OUTPUT"
HAS_WARNINGS=true
fi
# 仅在有警告时输出
if [ "$HAS_WARNINGS" = true ]; then
printf '%b' "=== 写作缺口检测 ===\n$OUTPUT\n"
fi
#!/bin/bash
# sentinel.sh — 读取 .story-deployed sentinel 字段的工具函数
# .story-deployed 是 YAML key: value 格式(不依赖 yq,用 awk 单进程解析)
# 注意:不加 set -euo pipefail,避免 source 时覆盖调用方的 shell options
sentinel_file() {
if [ -n "${SENTINEL_FILE:-}" ]; then
printf '%s\n' "$SENTINEL_FILE"
elif command -v project_root >/dev/null 2>&1; then
printf '%s/.story-deployed\n' "$(project_root)"
else
printf '%s\n' ".story-deployed"
fi
}
# read_sentinel_field <field_name> [file]
# 输出字段值(已去除前后空格和成对引号);文件或字段缺失时输出空串。
# 调用方安全:始终 return 0,不会因 pipefail / set -e 导致 caller 退出。
read_sentinel_field() {
local field="$1"
local file="${2:-$(sentinel_file)}"
[ -f "$file" ] || return 0
awk -v key="${field}:" '
{ sub(/\r$/, "") }
substr($0, 1, length(key)) == key {
v = substr($0, length(key) + 1)
sub(/^[[:space:]]+/, "", v)
n = length(v)
if (n >= 2 && substr(v, 1, 1) == "\"" && substr(v, n, 1) == "\"") {
v = substr(v, 2, n - 2)
} else if (n >= 2) {
q = sprintf("%c", 39)
if (substr(v, 1, 1) == q && substr(v, n, 1) == q) {
v = substr(v, 2, n - 2)
}
}
sub(/[[:space:]]+$/, "", v)
print v
exit
}
' "$file" 2>/dev/null
return 0
}
# sentinel_exists [file] — exit 0 / 1
sentinel_exists() {
[ -f "${1:-$(sentinel_file)}" ]
}
Related skills
FAQ
Why must I start a new Claude Code session after deployment?
Claude Code only scans .claude/agents/ and registers subagent_type at session startup. Current session cannot see newly deployed agents; story-review/story-long-write will fallback to solo mode without restart.
What happens to my existing CLAUDE.md and settings.local.json?
story-setup merges by section markers (CLAUDE.md) and command deduplication (settings-hooks.json). Your custom sections and unique hooks are preserved; only story-setup managed sections are updated.
How do I know if agent deployment succeeded?
Run /story-review in a new session. Report header shows 'Effective Mode: full/lean' if agents registered, or 'Fallback: ... -> solo' if session still lacks subagent_type.
Is Story Setup safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.