墨韵图标
Moyun
铺纸入墨 · 正在加载
{{ toast.message }}
Moyun

创作设定工作台 Story Bible

上下文包:按细纲钉选资料,预览并控制正文续写实际使用的资料。
{{ storyBibleFoundationStats.projectFilled }}/{{ storyBibleFoundationStats.projectTotal }} 项项目承诺
流式:{{ workbenchAiStreamPreview.slice(-36) }} {{ aiSupplementSegmentProgress }}
项目总览
作品级事实与写作约束。所有字段均可留空,旧书无需重填。
更改自动保存
世界总览
这是“世界观总览”的兼容编辑器:它不会被结构化资料自动覆盖,正文生成仍会读取它。若你在下方填了结构化资料,这里可作为整体背景补充。
世界总览仍是作者原文的兼容入口。结构化资料请在“资料条目”维护;它们不会反向改写这里。正文续写、AI 建议、全书大纲和细纲生成均已接入统一上下文包。
总览字符
{{ storyBibleFoundationStats.worldChars }}
世界条目
{{ storyBibleFoundationStats.entries }}
历史事件
{{ storyBibleFoundationStats.events }}
状态
兼容中
事件时间线
按作者定义的时间与顺序整理世界历史和故事主线;每章正文完成后会自动记录,并作为下一章的辅助记忆。
{{ storyEventSupplementProgress }}
事件时间线自动补录
开启后每章正文完成会自动提取事件写入时间线;关闭后只保留手动新建和 AI 批量补充
全部事件
{{ storyBibleEventStats.total }}
世界历史
{{ storyBibleEventStats.world }}
故事主线
{{ storyBibleEventStats.story }}
读者可见
{{ storyBibleEventStats.public }}
事件档案
稳定 ID:{{ selectedStoryBibleEvent.id }} · 更新 {{ formatStoryBibleEventTime(selectedStoryBibleEvent.updatedAt) }}
{{ aiSupplementSegmentProgress }}
先选择或新建一个事件
筛选结果为空时,已有事件仍会保留;清除筛选即可重新选择。
资料条目
用稳定 ID 关联地点、势力、规则、文化、物件和术语;是否进入已接入请求由上下文策略、目标与预算共同决定。
条目可关联角色、细纲和其他条目;“上下文包”会据此生成安全预览,并由正文续写、AI 建议、全书大纲和细纲生成按各自目标使用。
条目档案
所有关联均使用稳定 ID,改名或调整排序不会断开关系。
{{ aiSupplementSegmentProgress }}
关联资料条目
多选 · 已选 {{ (selectedStoryBibleEntry.links||[]).length }}
点选即可多选。关联项可成为一跳候选,仍受上下文模式与预算控制。
还没有其他资料条目可关联。
关联角色
多选 · 已选 {{ (selectedStoryBibleEntry.characterIds||[]).length }}
点选即可多选。使用现有角色 ID;角色改名或重排不会断开。
还没有角色可关联。
关联细纲
多选 · 已选 {{ (selectedStoryBibleEntry.outlineIds||[]).length }}
点选即可多选。使用稳定细纲 ID;正文续写和 AI 建议按目标章选取,全书大纲不会误读单章关联。
还没有细纲可关联。
◇
先选择或新建一条资料
地点、势力、规则、文化、物件和术语都能从同一份档案开始。
上下文包安全预览
按目标细纲解释哪些作者资料会成为候选、为何入选以及预计占用多少字符。
纯本地计算 · 不调用模型
此处只展示书名、世界资料和角色档案的安全摘要,不读取预设、MOD、白鸟内部内容、连接凭据或原始请求。正文续写、AI 建议、全书大纲和细纲生成使用同源的候选、模式与预算结果。
预览目标与预算
使用细纲稳定 ID;改名或重排不会把钉选串到别章。
尚无细纲。可以先配置全书默认钉选;创建细纲后再建立本章追加项。
世界资料预算
{{ storyBibleContextPreview.world.used }} / {{ storyBibleContextPreview.world.budget===null?'不限':storyBibleContextPreview.world.budget }} 字
角色资料预算
{{ storyBibleContextPreview.character.used }} / {{ storyBibleContextPreview.character.budget===null?'不限':storyBibleContextPreview.character.budget }} 字
预算继承“全局设置 → 上下文”的世界观/角色字符上限。{{ storyBibleContextPreview.limitEnabled ? (storyBibleContextPreview.compactMode ? '当前已启用省 token 模式。' : '当前按普通上限预览。') : '当前已关闭截断上限。' }}
有 {{ storyBibleExcludedEntryStats.draft }} 条草稿、{{ storyBibleExcludedEntryStats.archived }} 条归档、{{ storyBibleExcludedEntryStats.never }} 条“从不注入”的资料不会进入上下文,也不出现在下方预览里。要让它生效,请把状态改成“启用”。
下方预览是安全摘要;真实请求还会附带角色典型台词、对话类型与写作约束,因此实际注入字数会略高于预览摘要长度。事件时间线按与本章的关联度参与预算,未对读者公开的事件会带上“不得直接揭露”的标注。
全书默认钉选
适合每章都要关注的资料;与条目的“全局规则”策略分别保存。
资料条目多选 · 已选 {{ (storyBible.context.pinnedEntryIds||[]).length }}
没有可钉选的资料条目。
角色多选 · 已选 {{ (storyBible.context.pinnedCharacterIds||[]).length }}
没有可钉选的角色。
本细纲追加钉选 · {{ storyBibleContextPreview.targetOutline?.title || '未命名细纲' }}
只保存在当前细纲的上下文包中;切换细纲后使用各自独立的选择。
追加资料条目多选 · 已选 {{ (activeStoryBibleOutlinePack.pinnedEntryIds||[]).length }}
没有可追加的资料条目。
追加角色多选 · 已选 {{ (activeStoryBibleOutlinePack.pinnedCharacterIds||[]).length }}
没有可追加的角色。
世界资料候选
预览结果,不是输入。全局规则与手动钉选不会因预算静默消失。
{{ storyBibleContextPreview.world.items.length }} 项
{{ item.name }}
{{ source }}
{{ getStoryBibleContextStatusLabel(item.status) }}{{ item.charCount ? item.charCount+' 字' : '未计入' }}
{{ item.safeExcerpt }}
当前没有世界资料候选。这是预览结果,不是输入框。
角色资料候选
预览结果,不是输入。仅使用角色档案白名单字段,不显示角色写作提示词。
{{ storyBibleContextPreview.character.items.length }} 项
{{ item.name }}
{{ source }}
{{ getStoryBibleContextStatusLabel(item.status) }}{{ item.charCount ? item.charCount+' 字' : '未计入' }}
{{ item.safeExcerpt }}
当前没有角色资料候选。可在上方钉选角色,或让资料条目关联角色。这是预览结果,不是输入框。

角色工作台

用稳定档案、状态、关系与出场关联维护人物在故事中的变化。
{{ characterWorkbenchStats.total }} 人 · {{ characterWorkbenchStats.relations }} 条关系流式:{{ workbenchAiStreamPreview.slice(-36) }}
没有匹配角色,调整上方筛选或搜索
{{ selectedWorkbenchCharacter.name || '未命名角色' }}
更改自动保存;改名和排序不会改变关系或出场关联。
{{ aiSupplementSegmentProgress }}
档位只调整显示栏目,不会删除、清空或复制已填写内容。

基本档案与声音

速写档也始终保留当前状态和写作约束。

动机与核心秘密

常规档梳理行动逻辑;核心档额外维护秘密。

状态变更记录

只有点击“记录当前状态”才会新增一条记录,编辑当前状态不会产生碎片日志。

尚无状态记录。
记录 {{ si+1 }}{{ formatCharacterStateLogTime(row.createdAt) }}

角色关系

关系始终指向稳定角色 ID;“当前态”沿用原关系描述字段。

暂无关系。
{{ getCharacterNameById(rel.targetId) }}

章节与细纲关联

底层只保存稳定 ID;改名和重排不会改变关联对象。

正文章节
尚无章节。
稳定细纲
尚无细纲。
当前角色检查器
状态记录{{ selectedCharacterWorkbenchStats.stateLog }}关系{{ selectedCharacterWorkbenchStats.relations }}章节{{ selectedCharacterWorkbenchStats.chapters }}细纲{{ selectedCharacterWorkbenchStats.outlines }}

{{ selectedCharacterWorkbenchStats.invalid ? ('发现 '+selectedCharacterWorkbenchStats.invalid+' 个失效引用,请保存后重试。') : '稳定 ID 引用完整;角色档案继续由统一上下文包按目标与预算使用。' }}

◌
先选一位角色
角色卡数据会保留;也可以从这里直接新建。

故事大纲

结构化总纲、修订审阅和拆细纲前检查
{{ formatOutlineRequestSummary(outlineLastRequest) }}
{{ outlineRevisions.length>0 ? '修订审阅' : '总纲文本' }} {{ outlineRevisions.length>0 ? '逐项接受或拒绝' : '更改自动保存' }}
正在流式生成大纲…
{{ outlineStreamPreview }}
正在流式生成细纲…(第 {{ detailedOutlineRun.batchIndex }}/{{ detailedOutlineRun.batchTotal }} 批:{{ detailedOutlineRun.currentRange }})
AI 每输出一章标题,对应章节卡片会立即出现并流式填入正文。
卷纲(必选·分层写作边界)
AI 会读取并使用已有卷纲;作者仍可随时编辑与调整。
尚未建立卷纲;生成大纲时会自动建立“第一卷”作为默认边界。
{{ vol.title }}
章节至
编辑{{ activeVolumeEditor.title }}
收起后返回大纲文本;修改会自动保存。
安全改写 AI 修改只处理下方意见,未提及设定、主线和段落会要求保留。 {{ formatOutlineRequestSummary(outlineLastRequest) }}
{{ aiSupplementSegmentProgress }}
{{ getOutlineAiDisabledReason() }}

细纲详情

分批生成、逐章检查、失败重试和正文前打磨
范围 第 至 章 批次 请求
生成时按批次写入,失败章节可重试。细纲里写的字数不生效,正文长度只看写作页的目标字数。
{{ getDetailedOutlineRunSummary() }} {{ getDetailedOutlineQualitySummary() }}
总章数{{ detailedOutlineWorkbenchStats.total }}
已有内容{{ detailedOutlineWorkbenchStats.filled }}
结构齐{{ detailedOutlineWorkbenchStats.good }}
待补/过短{{ detailedOutlineWorkbenchStats.issues }}
{{ detailedOutlineDensityHint }}
存在失败章节
{{ getDetailedOutlineFailedSummary() }} 未完成,可直接重试。
{{ getDetailedOutlineAiDisabledReason('retry') }}
长篇工程
章节索引、暗线回收计划和问题检查会共同服务大纲与细纲扩写。
索引{{ chapterIndexStats.total }}
目标齐{{ chapterIndexStats.goal }}
暗线{{ foreshadowMatrixStats.total }}
问题{{ storyCheckStats.total }}
「整理索引 / 补齐暗线」只补空缺,不会覆盖你已经填好的内容;「从细纲整理索引」会同时同步暗线计划,结果会写在提示里。 {{ getDetailedOutlineAiDisabledReason('index') }}
暂无章节索引。可以先从现有细纲整理,也可以手动添加章节目标。
章
阶段
标题
一句话目标
暗线标签
暗线回收计划 · 宿主规划层
这里按主线章号排布置、推进、计划回收与实际回收;支线不会自动改写共享计划。白鸟“雪翼伏笔池”负责写作运行时状态、记忆联动和生成后分析。两层不会暗中同步。
墨韵 大纲/细纲排期与查漏 白鸟 实际埋入、轻触、升级与回收
{{ darklineWhitebirdBridge.message }}
计划完整 {{ foreshadowMatrixStats.planComplete }} / {{ foreshadowMatrixStats.total }},已实际回收 {{ foreshadowMatrixStats.recovered }},风险 {{ foreshadowMatrixStats.risk }}
暂无暗线回收计划。可手动新增,或在章节索引中使用“暗线名[布置/推进/回收]”后同步。
暗线名称
{{ getDarklineIndexReferenceLabel(row) }}
布置章
推进节点
计划回收
{{ getDarklinePlanStageLabel(row) }}
实际进度
{{ getDarklineActualStatusLabel(row) }}
实际回收章
回收方式 / 备注
{{ getDarklinePlanAnalysis(row).summary }}
主线正文进度:第 {{ getDarklineCurrentChapterNo() || 0 }} 章 · 当前在支线,本章动作已停用
缺章{{ storyCheckStats.missing }}
过短{{ storyCheckStats.short }}
暗线缺口{{ storyCheckStats.unrecovered }}
范围外{{ storyCheckStats.outOfRange }}
当前筛选下没有问题。检查结果只提示,不会阻断自由编辑。
有 {{ detailedOutlineNumberMismatches.length }} 章的标题章号和实际位置不一致(如第{{ detailedOutlineNumberMismatches[0].positionNo }}位写着「第{{ detailedOutlineNumberMismatches[0].titleNo }}章」)。章号一律按位置计算,AI 改写这些章会因为章号对不上而失败。
显示 {{ getVisibleChapterOutlineCount() }} / {{ chapterOutlines.length }} 章

当前没有待补或失败章节

切回“全部”可继续查看完整细纲。

📋

暂无细纲

{{ novel.title || 'Moyun' }}

{{ totalWordCount }} 字 {{ visibleChapters.length }} 章
封面生图关键词(可编辑)
∞

无限模式

MOD {{ infiniteEditorWordCount }} 字

由启用的无限模式 MOD 提供。直接撰写正文,AI 会读取当前全文并自然续写。

{{ isInfiniteGenerating ? 'AI正在根据当前全文生成续写...' : '最近生成内容' }}
续写方向
可选填写;关闭或留空时,AI 会保守延续当前正文
反推世界观与设定
根据当前正文自动补全主题、简介与世界观
检测到正文内容较完整,是否自动反推并填充世界观与设定?
{{ infiniteSaveStatus }}·续写字数
笔未落,墨先浓

在下方输入剧情走向,点击「提笔续写」开始创作

+ 插入章节
{{ idx+1 }} {{ getDisplayChapterTitle(ch, idx) }} {{ ch.wordCount||0 }}字
白鸟推演
已归档
模型原生思考
已分流
工具事件时间线
{{ getChapterToolTimeline(ch).length }} 条
{{ item.title || item.kind || '宿主事件' }} {{ item.status || 'recorded' }} · {{ formatToolTimelineTime(item.createdAt || item.time) }}
{{ formatToolTimelineDetail(item) }}
第{{ idx+1 }}章
📖 本章书评 ({{ ch.comments.length }})
生成中... {{ ch.showComments ? '收起' : '展开' }}
{{ (comment.username||'?')[0] }}
{{ comment.username }} Lv.{{ comment.level || 1 }} 热评
{{ comment.content }}
{{ comment.time || '刚刚' }} · IP: {{ comment.location || '未知' }}
{{ (reply.username||'?')[0] }}
{{ reply.username }} 回复 @{{ reply.targetUser }}
{{ reply.content }}
{{ reply.time || '刚刚' }}
本章场景词:
+ 在此插入章节

笔耕不辍,思如泉涌

⏱ {{ genElapsed }} 📝 {{ genCharCount }} 字 🧠 推演 {{ streamReasoningCharCount }} 字 ⚡ {{ genRate }} 字/秒

{{ getModelForModule('writing') || '未配置模型' }}

⚠ 超过15秒未收到数据,可能已断连
模型仍在推演、尚未落笔正文;可继续等待,或停止后降低本章字数与参与上下文
白鸟推演
{{ streamCotActive ? '推演流动中' : '推演已收束' }}
模型原生思考
{{ streamCotActive ? '同步接收中' : '已分流' }}
工具事件时间线
{{ streamToolTimeline.length }} 条
{{ item.title || item.kind || '宿主事件' }} {{ item.status || 'recorded' }} · {{ formatToolTimelineTime(item.createdAt || item.time) }}
{{ formatToolTimelineDetail(item) }}
⚠
{{ interruptedIssue ? '输出待人工处理' : (interruptedThinkingOnly ? '本轮只产出了推演' : (interruptedBodyLooksLikeReasoning ? '这段内容像推演,不像正文' : '生成中断')) }}
{{ interruptedIssue ? interruptedIssue.message : (interruptedThinkingOnly ? '正文尚未开始,推演内容已为你保留;可直接重新生成,或复制推演另作参考' : (interruptedBodyLooksLikeReasoning ? '内容已为你保留,但它通篇是分条推演;按它续写会污染后文,建议重新生成' : '网络波动或超时,已保留已输出的内容')) }}
硬边界:{{ item.rule }}(命中「{{ item.anchor }}」)
推演内容({{ interruptedThinkingText.length }} 字)
成功后自动清空;失败或停止会保留
({{ nextChapterPrompt.length }}字)
{{ getModFloatingEyebrow(entry) }}
{{ getModEntryIcon(entry) }}{{ entry.title }}
{{ entry.desc }}
{{ entry.content }}
{{ hint.title || '组合提示' }}{{ hint.message }}
{{ stat.label }}
{{ stat.value }}
{{ sec.iconLabel }}{{ sec.title }}{{ sec.badge }}⌄
{{ sec.content }}
{{ group.title }}
{{ group.text }}
{{ getModHostedViewMark(entry) }} {{ entry.view.title }}
{{ entry.view.desc || entry.mod.name }}
{{ entry.view.badge || '视图' }}
{{ component.text }}
{{ component.value }} {{ component.title || component.text }}
{{ component.title || component.id }} · {{ MOD_HOSTED_VIEW_COMPONENT_CATALOG[component.type] || component.type }}
插件:{{ entry.mod.name }} · 安全视图
已加载 MOD
点击 MOD 查看详情与可用动作
{{ getModFloatingHubMods().length }} 个
🧩 {{ getActiveModHubMod().name }}
v{{ getActiveModHubMod().version || '1.0.0' }} · {{ getActiveModHubMod().enabled===false ? '已禁用' : '已启用' }}
{{ getActiveModHubMod().description }}
{{ name }} 规则包
悬浮动作
{{ entry.icon || '🧩' }}
{{ entry.title }}
{{ entry.desc }}
{{ entry.content }}
安全悬浮视图
🧩 {{ entry.view.title }}
{{ entry.view.desc || entry.mod.name }}
{{ component.text }}
{{ component.value }} {{ component.title || component.text }}
{{ component.title || component.id }} · {{ MOD_HOSTED_VIEW_COMPONENT_CATALOG[component.type] || component.type }}
权限
{{ perm }}