ZenStory AI

实用指南

只有一个梗,怎样写成完整短篇:开篇承诺、递进与结尾兑现

源码核对日期 2026-09-13

一个梗给了短篇起始压力,却还不是完整情节。先决定读者想得到什么回答、什么阻力让答案不能轻易出现、主角必须作什么选择,以及哪种可见变化能兑现这个问题,再留下通向结尾所必需的场景。反转是一种办法,不是每篇必需。Oh Story 的短篇流程把设计与正文分开,使用轻量小节大纲,而不是长篇的完整章节蓝图。这里的四步框架是编辑建议,不是新增强制字段。原创修补店示例会收束一次关系中的选择,但不假装一场谈话就能解决一家人的全部历史。 下方的开头、协商与结尾节选把这项选择写出来:暗示没有奏效,随后条件被说清、定金付下、人离开;这不等于衣服已经修好,也不等于一家人的旧伤全好了。

所属项目 Oh Story在 GitHub 查看源码

开始之前

  • 一个梗,以及你有权使用的材料。写清希望交付的情绪、视角、篇幅范围和不能发生的事。“说清边界后松了一口气,却仍有一点不自在”比“写得感人”更能指导取舍。
  • 分开已确认事实与尚待选择的设计。新人物、隐藏动机或特殊规则是需要决定的内容,不是从一句梗概中还原出的证据。如果接续已有故事,应带上相关事实,而不是按空白项目另起炉灶。
  • 使用示例命令时,需要在受支持的 Agent 宿主中安装 Oh Story,并打开目标写作目录。示例采用 Claude Code slash 语法,不是 ZenStory 托管版功能或 DSH 安装步骤;不清楚这些层次时可先看写作者的 Agent Skills 指南

操作步骤

  1. 把梗改成结尾能够回答的问题 明确主角眼下想要什么、为什么偏偏现在重要。示例的问题不是袖口能不能补,而是许禾能否在离开前,拒绝又一次没有说出口的免费加急承诺。结尾因此有了具体任务。若梗概同时打开五个互不相关的谜,就需要另定篇幅与范围。
  2. 只选一个核心压力,并限定它的范围 让人物、地点和时间窗口适合这篇的体量。问主角沿用惯常办法后,什么会变得更难。压力可以来自互相竞争的责任或紧张关系,不必总靠反派、灾难或新秘密。随包方法强调单一核心支点;示例中具体的人数与时限是作者选择。
  3. 让每一节改变处境 对每个小节追问:什么导致行动、谁实际做了什么、结果怎样改变下一步选择?请求重复一次,并不自动构成升级,除非暴露新的代价或关掉一个选项。流程的小节大纲记录具体行动与因果,不要求每节最低几个情节点,也不支持为凑长度硬加阻碍。 如果场景主要靠谈话推进,人物对白指南展示不同请求、想保护的东西与让步如何带来变化。
  4. 先试结尾,再扩写中段 先说结尾能让读者看到什么。一次决定、付出的代价、改变的关系或得到兑现的后果,都可能形成收束。若使用反转,应为误判提供依据,并在揭示后留出行动空间,不把全部工作丢给一段解释。不用反转时,也要让承诺的变化足够实在,撑得起结尾。
  5. 删掉属于另一篇故事的支线 详细童年史、第二条恋爱线、每件道具背后的秘密都可能有趣,却也会争夺同一个核心问题的篇幅。保留能改变行动、代价或结尾理解的内容。如果必需因果链放不进指定长度,先给取舍建议,不悄悄把短篇扩成连载开头。
  6. 先确认设计,再生成正文 设计阶段产出 设定.md 与 小节大纲.md;正文.md 属于后续写作。明确只做构思时,可以停在正文前。把视角、篇幅范围与节数写出来,不无意中接受默认值。文档的 8000–20000 字是中文网文工作流默认范围,不是所有短篇的定义;第一人称也只是可被明确视角要求覆盖的默认。
  7. 把开头和结尾放在一起读 看结尾是否回答了开头强调的问题,中段是否让这个答案来得有依据。人物的一生尚未解决,不等于核心故事没有收束:衣服可以还没补完,但交付时间、价格和拒绝权已不再含糊。如果审稿意见实际上要求换一篇故事,先按审稿到改稿决策指南作取舍,再决定怎么改。

示例

示例

原创规划示例——为本指南撰写,不是技能运行记录,也不是完整正文。

暂定篇名:最后一张修补单 核心梗:修补店闭店搬走当天,许禾必须向母亲说出真实价格与交付时间,而不是再次答应免费加急。 读者承诺:熟悉的义务变成双方看得见的选择后,松了一口气,却仍有一点不自在。 已确认事实:搬家车 17:00 到;缝纫机已经打包;母亲的工服需要改袖口。机子会随她搬走,她能在新住处拆箱后完成这一单,赶上约定的周三寄出。许禾过去给家人修衣不收费,却从没说清那是赠送还是义务。母亲在世,没有隐藏的重大秘密,也有权拒绝这次报价。不要把任何一人写成脸谱。 核心问题:许禾能否把默认的免费加急改成一份有价格、能按承诺交付的修补约定,然后离开?

六节规划——动作与处境变化,不是通用六节公式: 1. 母亲把工服压在价目表上,说“你走前,就缝两针”。许禾必须回应一个过去总会直接接受的请求。 2. 许禾说自己马上要走。母亲放下带来的午饭,坐着等,把这句话听成推迟而不是拒绝。暗示没能改变默认约定。 3. 许禾看到一张没写价格的旧家人修补单,意识到自己也一直让条件隐形。罗列旧委屈解决不了今天的约定。 4. 她在新单上写下价格与周三寄出时间。只有按这些条件才接,不在搬家车来前做完;母亲可以拿去别处修。代价是对方可能拒绝时的难堪,不是临时制造一场大事故。 5. 母亲问“给我也要写单?”许禾保留报价,也保留她不修的选择。沉默后,母亲支付约定定金。没有人发表一段“一切旧伤都已治愈”的宣言。 6. 母亲把回执收进钱包,问“周三?”许禾确认后,抱着打包好的机子上车,没有补一句今晚就能修好。修补还没完成,但核心约定已经落定。

本篇不加入:绝症揭露、恶邻、意外遗产或第二条恋爱线。没有这些支线,这次决定仍然有代价,也有可见变化。

从规划到正文:三处互相分开的编辑节选 以下是以许禾第一人称写的原创示范,不是连续的完整小节、整篇短篇或技能产出。它们分别取第 1–2 节、第 3–5 节和第 6 节的部分时刻;中间仍需展开,拼在一起不等于交付了六节、3500–5000 字的中文正文。

开头节选——暗示没有说定条件: 母亲把工服压在价目表上:“你走前,就缝两针。” “搬家车五点来。”我说,“机子已经打包了。” 她放下带来的午饭,拉过椅子坐好:“先吃点,吃完再弄。” 价目表还压在衣服下面,我没有伸手去拿工服。

协商节选——看得见的报价,以及真正作出的选择: 旧的家人修补单上,价格那一栏还空着。我翻到一张新单,先填价格,再写“周三寄出”,把单子放在工服旁边。 “给我也要写单?”母亲问。 “这单我搬过去再做,周三寄。”我把价钱指给她看,“你要是不愿意,也可以拿去别处修。” 母亲没有说话。我没去划掉单上的价钱,工服还在桌上。过了一会儿,她付了约定的定金。

结尾节选——离开时仍照已经谈妥的条件: 母亲把回执收进钱包,合上前问:“周三?” “周三寄出。” 她合上钱包。我带上工服和打包好的机子,上了车。

安静的结尾靠什么成立: - 开头的“我要走”接上“先吃,再弄”,旧的默认仍在,暗示没有解除它。工服压着价目表,但只把表露出来也不等于双方达成约定,许禾得把自己愿意接下的条件说出来。 - 旧单上的空白价格,是开头到协商之间的重要一环:今天的不自在,也连着许禾一直没有说清的条件,不靠新秘密解释,更不替母亲判定一个隐藏动机。不能跳过这层变化,只让结尾的回执包办全部情绪。 - 协商让价格、周三寄出与不修的选择同时成立。母亲的沉默不是同意;在获准版本里,支付定金才落实接受。这仍不证明她为什么接受、是否高兴,更不证明关系已经永久修复。 - 结尾再次确认日期,功能已经变了:它是谈妥的承诺,不是又一句等待猜测的暗示。周三是寄出,不是保证送达。工服与机子随许禾离开,改袖口仍是到新住处拆箱后要做的事。

一句更温情的话,也可能撤销这个结尾: 若再加“算了,今晚免费给你弄好”,就恢复了这份规划本来要改变的免费加急默认。这不等于送家人礼物有错,也不等于收费才是唯一好结局;只是另一种选择需要另定兑现,不能靠一句甜话偷偷替换本篇结尾。同样,若作者改选母亲拒绝而不是支付定金,也要规划相应后果,不能仍保留付款,仿佛两种结果同时发生。

节选不是已经写完的中段: 完整稿仍须按本篇节奏接起旧单、说清条件、可能被拒绝与实际接受。不要把每节补成同样长,也不用事故逼母亲付款。保留六节获准职责;若规划本身需要减节,应先改规划,不在写正文时悄悄合并。结尾安静,要靠前面的选择挣出来,不要求前面每场都安静。

在已安装的 Claude Code 工作流中,可以这样请求: /story-short-write 规划这篇原创亲情日常短篇,采用许禾第一人称。中文正文目标 3500–5000 字,共六节;这些数字是本篇选择,不是题材规则。采用上面的已确认事实、核心问题和结尾;进一步新增的内容标为待选设计。保留不疾不徐的语气、带着不自在的温情,以及母亲拒绝报价的权利。不添加隐藏疾病、反派或终局震惊反转。 本轮只做构思。在 [选定的短篇目录] 中,按随包设计格式只创建 设定.md 与 小节大纲.md;不创建 正文.md,不改其他故事。范围或因果有缺口就指出,不靠填充情节凑大纲。设计完成后停止,列出创建的文件。

决定开放选项并读完设计后,再明确请求按确认的蓝图写正文。只有设计文件,还不算完成一篇短篇。

两份设计文件确认后,再明确交接完整正文: /story-short-write [已确认短篇目录] 中的设计已经批准。以许禾第一人称,把完整中文短篇写入 正文.md,保留已定的 3500–5000 字范围和六个规划小节。按流程分批写作,不只返回头尾节选,也不把节选当成全文。保留报价、拒绝权、约定定金、周三寄出与带着打包机子离开;结尾时修补本身仍未完成。保留不疾不徐的声音与带着不自在的温情,不加疾病、反派或震惊揭示。不为凑篇幅悄悄改变已确认设计;约束冲突时,先指出具体冲突再调整。如果 正文.md 已存在,覆盖前先报告。写完本篇即停,说明写入文件与尚未解决的缺口,不另开下一篇。 [换成自己的目录、事实、声音和已定篇幅。]

本页节选是编辑示范,不是新增预览模式。文档中的正文阶段要交付文件并覆盖全部规划小节,只有片段或在聊天里说完成,都不满足这项交付。

预期文件

  • 只做构思后:设定.md 与 小节大纲.md,其中有确认的核心压力、计划中的变化与结尾。随包小节大纲有自己的字段;上面的六条摘要示范创作决定,不替换该格式。
  • 另行明确请求写作后:正文保存在 正文.md,遵循已确认节数与交付参数。本指南不声称已经生成稿件,也不声称选对字数就能保证节奏。 本页开头、协商与结尾的节选不等于这份完整文件;实际稿件仍须覆盖其间获准的展开。
  • 尚未决定的设计或必须作出的取舍清单。安静的结尾不自动等于薄弱,有反转也不自动等于有依据;都要回到本篇承诺了什么、实际展示了什么。

验证结果与边界

  • 能否说清开头的问题,并指出结尾回答它的具体行动?如果收尾只抛出下一个谜,要重新决定自己是否其实在规划连载开头。
  • 每个中段小节是否改变了信息、可选行动、关系或代价?没有变化的重复可以删,但不要把必要的情绪发展压成纯情节点清单。
  • 把确认的视角、篇幅与范围和工具默认值分开。设计完成或结构检查通过,不证明文学质量、平台接纳或商业结果。

来源与版本说明

了解 Oh Story全部指南