novelws 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/README.md +94 -66
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -33
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +63 -6
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/core/config.d.ts +22 -15
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +28 -16
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +16 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +26 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/utils/diagnostics.d.ts +64 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/diagnostics.js +227 -0
- package/dist/utils/diagnostics.js.map +1 -0
- package/package.json +1 -1
- package/templates/commands/analyze.md +27 -110
- package/templates/commands/character.md +32 -180
- package/templates/commands/checklist.md +27 -27
- package/templates/commands/clarify.md +2 -2
- package/templates/commands/constitution.md +8 -8
- package/templates/commands/expert.md +3 -3
- package/templates/commands/facts.md +9 -9
- package/templates/commands/guide.md +129 -19
- package/templates/commands/help-me.md +221 -0
- package/templates/commands/plan.md +27 -26
- package/templates/commands/recap.md +16 -16
- package/templates/commands/relations.md +13 -13
- package/templates/commands/revise.md +16 -15
- package/templates/commands/search.md +11 -10
- package/templates/commands/specify.md +4 -4
- package/templates/commands/tasks.md +9 -9
- package/templates/commands/timeline.md +13 -13
- package/templates/commands/track-init.md +8 -8
- package/templates/commands/track.md +177 -552
- package/templates/commands/volume-summary.md +6 -6
- package/templates/commands/write.md +148 -38
- package/templates/dot-claude/CLAUDE.md +5 -5
- package/templates/{config → resources/config}/keyword-mappings.json +19 -19
- package/templates/resources/genres/horror.md +211 -0
- package/templates/resources/genres/military.md +209 -0
- package/templates/resources/genres/sports.md +216 -0
- package/templates/resources/genres/workplace.md +214 -0
- package/templates/resources/genres/youth.md +219 -0
- package/templates/{knowledge-base/requirements/anti-ai-v4.md → resources/requirements/anti-ai-v4-deprecated.md} +13 -1
- package/templates/resources/requirements/anti-ai-v5-balanced.md +203 -0
- package/templates/{scripts → resources/scripts}/README.md +8 -8
- package/templates/{scripts → resources/scripts}/bash/analyze-story.sh +1 -1
- package/templates/resources/scripts/bash/check-analyze-stage.sh +108 -0
- package/templates/{scripts → resources/scripts}/bash/check-consistency.sh +7 -7
- package/templates/{scripts → resources/scripts}/bash/check-facts.sh +1 -1
- package/templates/{scripts → resources/scripts}/bash/check-plot.sh +2 -2
- package/templates/{scripts → resources/scripts}/bash/check-timeline.sh +3 -3
- package/templates/{scripts → resources/scripts}/bash/check-world.sh +5 -5
- package/templates/{scripts → resources/scripts}/bash/check-writing-state.sh +26 -26
- package/templates/{scripts → resources/scripts}/bash/common.sh +3 -3
- package/templates/{scripts → resources/scripts}/bash/constitution.sh +1 -1
- package/templates/{scripts → resources/scripts}/bash/init-tracking.sh +13 -13
- package/templates/{scripts → resources/scripts}/bash/manage-relations.sh +10 -10
- package/templates/resources/scripts/bash/migrate-tracking.sh +183 -0
- package/templates/{scripts → resources/scripts}/bash/plan-story.sh +2 -2
- package/templates/{scripts → resources/scripts}/bash/specify-story.sh +1 -1
- package/templates/{scripts → resources/scripts}/bash/tasks-story.sh +2 -2
- package/templates/{scripts → resources/scripts}/bash/tests/bench-preload-cache.sh +3 -3
- package/templates/{scripts → resources/scripts}/bash/tests/test-cross-platform.sh +1 -1
- package/templates/{scripts → resources/scripts}/bash/tests/test-preload-cache.sh +1 -1
- package/templates/{scripts → resources/scripts}/bash/tests/test-regex-precompile.sh +4 -4
- package/templates/{scripts → resources/scripts}/bash/text-audit.sh +3 -3
- package/templates/{scripts → resources/scripts}/bash/track-progress.sh +5 -5
- package/templates/{scripts → resources/scripts}/powershell/analyze-story.ps1 +1 -1
- package/templates/{scripts → resources/scripts}/powershell/check-consistency.ps1 +8 -8
- package/templates/{scripts → resources/scripts}/powershell/check-plot.ps1 +2 -2
- package/templates/{scripts → resources/scripts}/powershell/check-timeline.ps1 +2 -2
- package/templates/{scripts → resources/scripts}/powershell/check-writing-state.ps1 +31 -31
- package/templates/{scripts → resources/scripts}/powershell/common.ps1 +2 -2
- package/templates/{scripts → resources/scripts}/powershell/constitution.ps1 +1 -1
- package/templates/{scripts → resources/scripts}/powershell/init-tracking.ps1 +5 -5
- package/templates/{scripts → resources/scripts}/powershell/manage-relations.ps1 +6 -6
- package/templates/{scripts → resources/scripts}/powershell/migrate-tracking.ps1 +1 -1
- package/templates/{scripts → resources/scripts}/powershell/plan-story.ps1 +2 -2
- package/templates/{scripts → resources/scripts}/powershell/specify-story.ps1 +1 -1
- package/templates/{scripts → resources/scripts}/powershell/tests/bench-ps-cache.ps1 +10 -10
- package/templates/{scripts → resources/scripts}/powershell/tests/test-ps-cache.ps1 +4 -4
- package/templates/{scripts → resources/scripts}/powershell/text-audit.ps1 +2 -2
- package/templates/{scripts → resources/scripts}/powershell/track-progress.ps1 +2 -2
- package/templates/skills/analysis/character-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/foreshadow-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/hook-analysis/SKILL.md +2 -2
- package/templates/skills/analysis/logic-analysis/SKILL.md +2 -2
- package/templates/skills/analysis/opening-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/pacing-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/power-analysis/SKILL.md +3 -3
- package/templates/skills/analysis/reader-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/style-analysis/SKILL.md +1 -1
- package/templates/skills/analysis/voice-analysis/SKILL.md +1 -1
- package/templates/skills/auto-tracking/SKILL.md +1 -1
- package/templates/skills/quality-assurance/consistency-checker/SKILL.md +1 -1
- package/templates/skills/quality-assurance/facts-checker/SKILL.md +2 -2
- package/templates/skills/quality-assurance/hook-checker/SKILL.md +2 -2
- package/templates/skills/quality-assurance/long-series-continuity/SKILL.md +7 -7
- package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +22 -22
- package/templates/skills/quality-assurance/setting-detector/SKILL.md +15 -15
- package/templates/skills/quality-assurance/voice-consistency-checker/SKILL.md +1 -1
- package/templates/skills/writing-techniques/character-arc/SKILL.md +1 -1
- package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +1 -1
- package/templates/skills/writing-techniques/reader-expectation/SKILL.md +1 -1
- package/templates/skills/writing-techniques/revision-polish/SKILL.md +1 -1
- package/templates/skills/writing-techniques/style-learning/SKILL.md +2 -2
- package/templates/skills/writing-techniques/writing-balance/.gitkeep +0 -0
- package/templates/skills/writing-techniques/writing-balance/SKILL.md +460 -0
- package/templates/skills/writing-techniques/writing-techniques/SKILL.md +727 -0
- package/templates/knowledge-base/README.md +0 -285
- package/templates/scripts/powershell/check-writing-state.ps1.backup +0 -135
- /package/templates/{knowledge-base → resources}/character-archetypes/01-hero.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/02-mentor.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/03-shadow.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/04-ally.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/05-shapeshifter.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/06-trickster.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/07-threshold-guardian.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/08-herald.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/09-father.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/10-mother.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/11-child.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/12-sage.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/README.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/application-guide.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/archetype-combinations.md +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/config.yaml +0 -0
- /package/templates/{knowledge-base → resources}/character-archetypes/examples-analysis.md +0 -0
- /package/templates/{specification-example.md → resources/config/specification-example.md} +0 -0
- /package/templates/{knowledge-base → resources}/craft/character-arc.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/dialogue.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/hook-design.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/pacing.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/power-system.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/scene-structure.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/show-not-tell.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/story-structures.md +0 -0
- /package/templates/{knowledge-base → resources}/craft/tension-management.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/01-first-meeting.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/02-bonding-moment.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/03-declaration.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/04-triumph.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/05-reunion.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/06-forgiveness.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/07-betrayal.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/08-loss.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/09-rejection.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/10-failure.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/11-misunderstanding.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/12-farewell.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/13-revelation.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/14-point-of-no-return.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/15-dark-night.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/16-sacrifice.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/17-awakening.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/18-confrontation.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/19-bittersweet-goodbye.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/20-moral-dilemma.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/21-temptation.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/22-redemption.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/README.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/beat-sequences.md +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/config.yaml +0 -0
- /package/templates/{knowledge-base → resources}/emotional-beats/pacing-guide.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/game-lit.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/historical.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/mystery.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/rebirth.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/revenge.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/romance.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/sci-fi.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/thriller.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/urban.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/wuxia.md +0 -0
- /package/templates/{knowledge-base → resources}/genres/xuanhuan.md +0 -0
- /package/templates/{memory → resources/memory}/constitution.md +0 -0
- /package/templates/{memory → resources/memory}/personal-voice.md +0 -0
- /package/templates/{knowledge-base → resources}/references/README.md +0 -0
- /package/templates/{knowledge-base → resources}/references/china-1920s/culture.md +0 -0
- /package/templates/{knowledge-base → resources}/references/china-1920s/daily-life.md +0 -0
- /package/templates/{knowledge-base → resources}/references/china-1920s/overview.md +0 -0
- /package/templates/{knowledge-base → resources}/references/china-1920s/society.md +0 -0
- /package/templates/{knowledge-base → resources}/references/china-1920s/warlords.md +0 -0
- /package/templates/{knowledge-base → resources}/references/cultivation-world/daily-life.md +0 -0
- /package/templates/{knowledge-base → resources}/references/cultivation-world/overview.md +0 -0
- /package/templates/{knowledge-base → resources}/references/cultivation-world/power-system.md +0 -0
- /package/templates/{knowledge-base → resources}/references/cultivation-world/sects.md +0 -0
- /package/templates/{knowledge-base → resources}/references/cultivation-world/world-setting.md +0 -0
- /package/templates/{knowledge-base → resources}/references/modern-workplace/corporate.md +0 -0
- /package/templates/{knowledge-base → resources}/references/modern-workplace/daily-life.md +0 -0
- /package/templates/{knowledge-base → resources}/references/modern-workplace/overview.md +0 -0
- /package/templates/{knowledge-base → resources}/references/modern-workplace/relationships.md +0 -0
- /package/templates/{knowledge-base → resources}/references/modern-workplace/tech-industry.md +0 -0
- /package/templates/{knowledge-base → resources}/references/tang-dynasty/culture.md +0 -0
- /package/templates/{knowledge-base → resources}/references/tang-dynasty/daily-life.md +0 -0
- /package/templates/{knowledge-base → resources}/references/tang-dynasty/overview.md +0 -0
- /package/templates/{knowledge-base → resources}/references/tang-dynasty/politics.md +0 -0
- /package/templates/{knowledge-base → resources}/references/tang-dynasty/society.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/README.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/anti-ai-v3.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/concretization.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/fast-paced.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/no-poison.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/romance-angst.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/romance-sweet.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/serious-literature.md +0 -0
- /package/templates/{knowledge-base → resources}/requirements/strong-emotion.md +0 -0
- /package/templates/{scripts → resources/scripts}/bash/clarify-story.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/generate-tasks.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/test-word-count.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/run-all-benchmarks.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/test-cache-semantics.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/test-edge-cases-bash.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/test-phase1-bash.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/test-regression-bash.sh +0 -0
- /package/templates/{scripts → resources/scripts}/bash/tests/test-task6-verification.sh +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/check-analyze-stage.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/check-facts.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/clarify-story.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/generate-tasks.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/tests/test-cross-platform.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/tests/test-edge-cases-ps.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/tests/test-phase1-ps.ps1 +0 -0
- /package/templates/{scripts → resources/scripts}/powershell/tests/test-regression-ps.ps1 +0 -0
- /package/templates/{knowledge-base → resources}/styles/README.md +0 -0
- /package/templates/{knowledge-base → resources}/styles/ancient-style.md +0 -0
- /package/templates/{knowledge-base → resources}/styles/literary.md +0 -0
- /package/templates/{knowledge-base → resources}/styles/minimal.md +0 -0
- /package/templates/{knowledge-base → resources}/styles/natural-voice.md +0 -0
- /package/templates/{knowledge-base → resources}/styles/web-novel.md +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: character
|
|
3
3
|
description: "统一角色管理 — 创建、查看、更新角色档案,管理角色关系,设定对话指纹"
|
|
4
4
|
argument-hint: [子命令] [角色名或参数] [--volume vol-XX]
|
|
5
|
+
recommended-model: claude-sonnet-4-5-20250929 # 角色设定中等复杂度;复杂角色可用 opus
|
|
5
6
|
allowed-tools: Read, Write, Glob, Grep, Edit
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -9,12 +10,12 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
9
10
|
|
|
10
11
|
## 概述
|
|
11
12
|
|
|
12
|
-
统一管理故事中所有角色的档案、状态、关系和对话风格。所有角色数据存储在 `
|
|
13
|
+
统一管理故事中所有角色的档案、状态、关系和对话风格。所有角色数据存储在 `tracking/` 目录下。
|
|
13
14
|
|
|
14
15
|
## 前置条件
|
|
15
16
|
|
|
16
17
|
1. 确认当前故事目录存在:`stories/*/`
|
|
17
|
-
2. 确认 `
|
|
18
|
+
2. 确认 `tracking/` 目录存在,不存在则创建
|
|
18
19
|
3. 按三层 Fallback 加载角色数据:
|
|
19
20
|
|
|
20
21
|
**Layer 1: MCP 查询(优先)**
|
|
@@ -22,13 +23,13 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
22
23
|
- `query_relationships` → 关系网络
|
|
23
24
|
- `search_content --query=[角色名]` → 角色出场章节
|
|
24
25
|
|
|
25
|
-
**Layer 2: 分片 JSON(次优,检测
|
|
26
|
-
- 无 --volume:读取 `
|
|
27
|
-
- 有 --volume:读取 `
|
|
26
|
+
**Layer 2: 分片 JSON(次优,检测 tracking/volumes/ 是否存在)**
|
|
27
|
+
- 无 --volume:读取 `tracking/summary/characters-summary.json`(活跃角色概览)
|
|
28
|
+
- 有 --volume:读取 `tracking/volumes/vol-XX/character-state.json` 和 `relationships.json`
|
|
28
29
|
|
|
29
30
|
**Layer 3: 单文件 JSON(兜底)**
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
31
|
+
- `tracking/character-state.json`
|
|
32
|
+
- `tracking/relationships.json`
|
|
32
33
|
|
|
33
34
|
## 子命令决策
|
|
34
35
|
|
|
@@ -52,22 +53,10 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
52
53
|
|
|
53
54
|
**Step 1: 收集基本信息**
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
60
|
-
请提供以下信息(可以先填部分,后续用 /character update 补充):
|
|
61
|
-
|
|
62
|
-
1. 角色名称:[必填]
|
|
63
|
-
2. 角色类型:主角 / 重要配角 / 次要配角 / 龙套
|
|
64
|
-
3. 一句话描述:[角色的核心定位]
|
|
65
|
-
4. 外貌特征:[关键外貌,不超过 3 个特征]
|
|
66
|
-
5. 性格核心:[1-3 个核心性格词]
|
|
67
|
-
6. 初始状态:[出场时的状态/处境]
|
|
68
|
-
7. 核心目标:[角色想要什么]
|
|
69
|
-
8. 核心冲突:[角色面临的主要矛盾]
|
|
70
|
-
```
|
|
56
|
+
向用户询问以下信息(未提供的标记为待定,可后续用 update 补充):
|
|
57
|
+
- 角色名称(必填)、角色类型(主角/重要配角/次要配角/龙套)
|
|
58
|
+
- 一句话描述、外貌特征(≤3 个)、性格核心(1-3 词)
|
|
59
|
+
- 初始状态、核心目标、核心冲突
|
|
71
60
|
|
|
72
61
|
**Step 2: 生成角色档案**
|
|
73
62
|
|
|
@@ -122,19 +111,7 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
122
111
|
|
|
123
112
|
**Step 3: 输出确认**
|
|
124
113
|
|
|
125
|
-
|
|
126
|
-
✅ 角色创建成功
|
|
127
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
128
|
-
📛 [角色名]([角色类型])
|
|
129
|
-
📝 [一句话描述]
|
|
130
|
-
🎯 目标:[核心目标]
|
|
131
|
-
⚡ 冲突:[核心冲突]
|
|
132
|
-
|
|
133
|
-
💡 后续操作:
|
|
134
|
-
- /character voice [角色名] — 设定对话风格
|
|
135
|
-
- /character relate [角色名] [其他角色] — 建立关系
|
|
136
|
-
- /character update [角色名] — 补充更多信息
|
|
137
|
-
```
|
|
114
|
+
输出角色名、类型、描述、目标、冲突的摘要,并提示后续可用 `voice`、`relate`、`update` 子命令。
|
|
138
115
|
|
|
139
116
|
---
|
|
140
117
|
|
|
@@ -150,27 +127,9 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
150
127
|
|
|
151
128
|
**Step 2: 按类型分组输出**
|
|
152
129
|
|
|
153
|
-
|
|
154
|
-
📋 角色总览
|
|
155
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
156
|
-
|
|
157
|
-
👑 主角([N] 人)
|
|
158
|
-
| 角色 | 状态 | 位置 | 最近出场 | 出场次数 |
|
|
159
|
-
|------|------|------|---------|---------|
|
|
160
|
-
| [名] | [状态] | [位置] | 第 N 章 | M 次 |
|
|
130
|
+
按角色类型(主角 → 重要配角 → 次要配角 → 龙套)分组,每组以表格显示:角色名、状态、位置、最近出场章节、出场次数。次要配角和龙套可用简略列表。
|
|
161
131
|
|
|
162
|
-
|
|
163
|
-
| 角色 | 状态 | 位置 | 最近出场 | 出场次数 |
|
|
164
|
-
|------|------|------|---------|---------|
|
|
165
|
-
| [名] | [状态] | [位置] | 第 N 章 | M 次 |
|
|
166
|
-
|
|
167
|
-
👤 次要配角([N] 人)
|
|
168
|
-
[简略列表]
|
|
169
|
-
|
|
170
|
-
⚠️ 需关注:
|
|
171
|
-
- [角色A]:超过 5 章未出场
|
|
172
|
-
- [角色B]:状态为「受伤」,需跟进
|
|
173
|
-
```
|
|
132
|
+
末尾附加需关注提醒(如超过 5 章未出场、状态异常的角色)。
|
|
174
133
|
|
|
175
134
|
---
|
|
176
135
|
|
|
@@ -184,48 +143,15 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
184
143
|
|
|
185
144
|
**Step 2: 输出完整档案**
|
|
186
145
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
🧠 性格
|
|
197
|
-
- 核心:[性格词]
|
|
198
|
-
- 优点:[优点]
|
|
199
|
-
- 缺点:[缺点]
|
|
200
|
-
- 习惯:[小习惯/怪癖]
|
|
201
|
-
|
|
202
|
-
📊 当前状态
|
|
203
|
-
- 状态:[当前状态]
|
|
204
|
-
- 位置:[当前位置]
|
|
205
|
-
- 情绪:[当前情绪]
|
|
206
|
-
- 健康:[健康状况]
|
|
207
|
-
|
|
208
|
-
🎯 目标与冲突
|
|
209
|
-
- 主要目标:[目标]
|
|
210
|
-
- 核心冲突:[冲突]
|
|
211
|
-
- 弧线阶段:[当前阶段]
|
|
212
|
-
|
|
213
|
-
🗣️ 对话风格
|
|
214
|
-
- 说话方式:[描述]
|
|
215
|
-
- 常用词汇:[词汇]
|
|
216
|
-
- 口头禅:[口头禅]
|
|
217
|
-
|
|
218
|
-
🔗 关系网络
|
|
219
|
-
[从 relationships.json 提取与此角色相关的所有关系]
|
|
220
|
-
| 对象 | 关系 | 状态 | 备注 |
|
|
221
|
-
|------|------|------|------|
|
|
222
|
-
| [角色B] | [关系类型] | [当前状态] | [备注] |
|
|
223
|
-
|
|
224
|
-
📅 出场记录
|
|
225
|
-
- 首次出场:第 [N] 章
|
|
226
|
-
- 最近出场:第 [M] 章
|
|
227
|
-
- 总出场次数:[K] 次
|
|
228
|
-
```
|
|
146
|
+
输出以下分区信息:
|
|
147
|
+
- 基本信息:角色名、类型、一句话描述
|
|
148
|
+
- 外貌:外貌描述和关键特征
|
|
149
|
+
- 性格:核心性格词、优点、缺点、习惯/怪癖
|
|
150
|
+
- 当前状态:状态、位置、情绪、健康
|
|
151
|
+
- 目标与冲突:主要目标、核心冲突、弧线阶段
|
|
152
|
+
- 对话风格:说话方式、常用词汇、口头禅
|
|
153
|
+
- 关系网络:从 relationships.json 提取,表格显示(对象、关系、状态、备注)
|
|
154
|
+
- 出场记录:首次出场、最近出场、总出场次数
|
|
229
155
|
|
|
230
156
|
---
|
|
231
157
|
|
|
@@ -237,20 +163,7 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
237
163
|
|
|
238
164
|
**Step 2: 询问要更新的内容**
|
|
239
165
|
|
|
240
|
-
|
|
241
|
-
🔄 更新 [角色名]
|
|
242
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
243
|
-
请告诉我要更新什么:
|
|
244
|
-
|
|
245
|
-
1. 状态变化(位置、情绪、健康、处境)
|
|
246
|
-
2. 性格补充(新发现的性格特征)
|
|
247
|
-
3. 目标变化(目标达成、新目标、目标转变)
|
|
248
|
-
4. 弧线推进(角色成长阶段变化)
|
|
249
|
-
5. 外貌变化(受伤、变装、成长)
|
|
250
|
-
6. 其他信息
|
|
251
|
-
|
|
252
|
-
或者直接描述变化内容,我来判断更新哪些字段。
|
|
253
|
-
```
|
|
166
|
+
支持更新的类别:状态变化(位置/情绪/健康/处境)、性格补充、目标变化、弧线推进、外貌变化、其他。用户也可直接描述变化内容,由 AI 判断更新字段。
|
|
254
167
|
|
|
255
168
|
**Step 3: 更新 JSON 并确认**
|
|
256
169
|
|
|
@@ -266,43 +179,11 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
266
179
|
|
|
267
180
|
**Step 2: 收集关系信息**
|
|
268
181
|
|
|
269
|
-
|
|
270
|
-
🔗 建立关系:[角色A] ↔ [角色B]
|
|
271
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
272
|
-
请提供:
|
|
273
|
-
|
|
274
|
-
1. 关系类型:[师徒/朋友/恋人/敌人/亲属/同门/主从/竞争/...]
|
|
275
|
-
2. 关系状态:[稳定/紧张/发展中/破裂/暧昧/...]
|
|
276
|
-
3. A 对 B 的态度:[信任/警惕/依赖/厌恶/...]
|
|
277
|
-
4. B 对 A 的态度:[信任/警惕/依赖/厌恶/...]
|
|
278
|
-
5. 关系起源:[如何认识的]
|
|
279
|
-
6. 关系走向:[预期发展方向,可为空]
|
|
280
|
-
```
|
|
182
|
+
向用户询问:关系类型(师徒/朋友/恋人/敌人/亲属/同门/主从/竞争等)、关系状态(稳定/紧张/发展中/破裂/暧昧等)、双方态度(A→B / B→A)、关系起源、预期走向。
|
|
281
183
|
|
|
282
184
|
**Step 3: 更新 relationships.json**
|
|
283
185
|
|
|
284
|
-
|
|
285
|
-
{
|
|
286
|
-
"id": "[自动生成]",
|
|
287
|
-
"characterA": "[角色A的ID]",
|
|
288
|
-
"characterB": "[角色B的ID]",
|
|
289
|
-
"type": "[关系类型]",
|
|
290
|
-
"status": "[关系状态]",
|
|
291
|
-
"attitudeAtoB": "[A对B的态度]",
|
|
292
|
-
"attitudeBtoA": "[B对A的态度]",
|
|
293
|
-
"origin": "[关系起源]",
|
|
294
|
-
"trajectory": "[预期走向]",
|
|
295
|
-
"history": [
|
|
296
|
-
{
|
|
297
|
-
"chapter": null,
|
|
298
|
-
"event": "关系建立",
|
|
299
|
-
"date": "[ISO日期]"
|
|
300
|
-
}
|
|
301
|
-
],
|
|
302
|
-
"createdAt": "[ISO日期]",
|
|
303
|
-
"updatedAt": "[ISO日期]"
|
|
304
|
-
}
|
|
305
|
-
```
|
|
186
|
+
写入关系条目,包含字段:`id`, `characterA`, `characterB`, `type`, `status`, `attitudeAtoB`, `attitudeBtoA`, `origin`, `trajectory`, `history`(事件数组),`createdAt`, `updatedAt`。
|
|
306
187
|
|
|
307
188
|
---
|
|
308
189
|
|
|
@@ -314,42 +195,13 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
314
195
|
|
|
315
196
|
**Step 2: 收集对话风格信息**
|
|
316
197
|
|
|
317
|
-
|
|
318
|
-
🗣️ 设定 [角色名] 的对话风格
|
|
319
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
320
|
-
请提供以下信息(可部分填写):
|
|
321
|
-
|
|
322
|
-
1. 说话方式:[简洁/啰嗦/文雅/粗犷/冷淡/热情/...]
|
|
323
|
-
2. 常用句式:[例如:总是用反问句、喜欢用比喻]
|
|
324
|
-
3. 口头禅:[例如:"有意思"、"哼"]
|
|
325
|
-
4. 禁忌用语:[这个角色绝对不会说的话]
|
|
326
|
-
5. 语气词偏好:[例如:常用"嗯"、不用"哈哈"]
|
|
327
|
-
6. 方言/口音:[如有]
|
|
328
|
-
7. 教育水平体现:[用词复杂度]
|
|
329
|
-
8. 情绪表达方式:[直接/含蓄/压抑/爆发]
|
|
330
|
-
|
|
331
|
-
💡 也可以提供一段示例对话,我来分析提取风格特征。
|
|
332
|
-
```
|
|
198
|
+
向用户询问:说话方式(简洁/啰嗦/文雅/粗犷等)、常用句式、口头禅、禁忌用语、语气词偏好、方言/口音、教育水平体现、情绪表达方式。也可接受示例对话由 AI 分析提取。
|
|
333
199
|
|
|
334
200
|
**Step 3: 更新 character-state.json 的 voice 字段**
|
|
335
201
|
|
|
336
202
|
**Step 4: 输出对话风格卡片**
|
|
337
203
|
|
|
338
|
-
|
|
339
|
-
🗣️ [角色名] 对话风格卡片
|
|
340
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
341
|
-
说话方式:[描述]
|
|
342
|
-
常用句式:[描述]
|
|
343
|
-
口头禅:[列表]
|
|
344
|
-
禁忌用语:[列表]
|
|
345
|
-
语气词:[偏好]
|
|
346
|
-
情绪表达:[方式]
|
|
347
|
-
|
|
348
|
-
📝 示例对话:
|
|
349
|
-
"[基于风格设定生成的示例对话]"
|
|
350
|
-
|
|
351
|
-
💡 写作时,/write 会自动加载此角色的对话风格作为参考。
|
|
352
|
-
```
|
|
204
|
+
输出角色对话风格摘要(说话方式、句式、口头禅、禁忌、语气词、情绪表达)及一段基于风格设定生成的示例对话。提示 `/write` 会自动加载此风格。
|
|
353
205
|
|
|
354
206
|
---
|
|
355
207
|
|
|
@@ -401,14 +253,14 @@ allowed-tools: Read, Write, Glob, Grep, Edit
|
|
|
401
253
|
|
|
402
254
|
当 `/character` 更新角色数据时:
|
|
403
255
|
|
|
404
|
-
**分片模式(检测到
|
|
256
|
+
**分片模式(检测到 tracking/volumes/ 存在)**:
|
|
405
257
|
1. 确定角色最后出场章节所属的卷
|
|
406
258
|
2. 更新该卷的 `character-state.json` 或 `relationships.json`
|
|
407
|
-
3. 同步更新全局摘要:`
|
|
259
|
+
3. 同步更新全局摘要:`tracking/summary/characters-summary.json`
|
|
408
260
|
4. 如果 MCP 可用,调用 `sync_from_json` 同步到 SQLite
|
|
409
261
|
|
|
410
262
|
**单文件模式**:
|
|
411
|
-
- 直接更新 `
|
|
263
|
+
- 直接更新 `tracking/character-state.json` 和 `relationships.json`
|
|
412
264
|
|
|
413
265
|
### 数据校验
|
|
414
266
|
|
|
@@ -4,8 +4,8 @@ description: 生成或执行质量检查清单(规格验证 + 内容扫描)
|
|
|
4
4
|
argument-hint: [检查类型] [--volume vol-XX | --pre-write | --post-write | --volume-end]
|
|
5
5
|
allowed-tools: Read, Bash, Write, Edit, Glob, Grep
|
|
6
6
|
scripts:
|
|
7
|
-
sh:
|
|
8
|
-
ps:
|
|
7
|
+
sh: resources/scripts/bash/common.sh
|
|
8
|
+
ps: resources/scripts/powershell/common.ps1
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# 质量检查清单(Checklist)
|
|
@@ -18,10 +18,10 @@ scripts:
|
|
|
18
18
|
验证规划文档本身的质量(类似"需求的单元测试"):
|
|
19
19
|
|
|
20
20
|
- `大纲质量` - 检查 creative-plan.md 的完整性、清晰度、一致性
|
|
21
|
-
- `角色设定` - 检查
|
|
22
|
-
- `世界观` - 检查
|
|
21
|
+
- `角色设定` - 检查 resources/knowledge/characters.md
|
|
22
|
+
- `世界观` - 检查 resources/knowledge/world-setting.md 及相关文档
|
|
23
23
|
- `创作计划` - 检查 creative-plan.md / specification.md
|
|
24
|
-
- `伏笔管理` - 检查
|
|
24
|
+
- `伏笔管理` - 检查 tracking/plot-tracker.json 的伏笔定义
|
|
25
25
|
|
|
26
26
|
### 第二类:内容验证检查(结果报告式)
|
|
27
27
|
扫描已写章节,验证实际内容:
|
|
@@ -47,11 +47,11 @@ $ARGUMENTS
|
|
|
47
47
|
### 默认加载
|
|
48
48
|
|
|
49
49
|
自动加载以下资源用于生成检查清单:
|
|
50
|
-
-
|
|
50
|
+
- `resources/memory/constitution.md`(创作宪法)
|
|
51
51
|
- `stories/*/specification.md`(故事规格)
|
|
52
52
|
- `stories/*/tasks.md`(当前任务)
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
53
|
+
- `tracking/plot-tracker.json`(情节追踪)
|
|
54
|
+
- `tracking/character-state.json`(角色状态)
|
|
55
55
|
|
|
56
56
|
### 可选加载
|
|
57
57
|
|
|
@@ -118,8 +118,8 @@ const plotData = await mcp.call('novelws-mcp/query_plot', {
|
|
|
118
118
|
### Layer 2: 分片 JSON(次优)
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
# 当
|
|
122
|
-
for volume_dir in
|
|
121
|
+
# 当 tracking/volumes/ 存在时
|
|
122
|
+
for volume_dir in tracking/volumes/vol-*; do
|
|
123
123
|
if [[ -n "$VOLUME_FILTER" ]] && [[ "$volume_dir" != *"$VOLUME_FILTER"* ]]; then
|
|
124
124
|
continue
|
|
125
125
|
fi
|
|
@@ -139,8 +139,8 @@ done
|
|
|
139
139
|
|
|
140
140
|
```bash
|
|
141
141
|
# 传统模式,加载完整文件
|
|
142
|
-
cat
|
|
143
|
-
cat
|
|
142
|
+
cat tracking/plot-tracker.json
|
|
143
|
+
cat tracking/character-state.json
|
|
144
144
|
# ...
|
|
145
145
|
```
|
|
146
146
|
|
|
@@ -183,7 +183,7 @@ cat spec/tracking/character-state.json
|
|
|
183
183
|
|
|
184
184
|
**读取文件**:
|
|
185
185
|
- `creative-plan.md` 或 `stories/*/creative-plan.md`
|
|
186
|
-
- `
|
|
186
|
+
- `tracking/plot-tracker.json`(如果存在)
|
|
187
187
|
|
|
188
188
|
**生成检查项维度**:
|
|
189
189
|
|
|
@@ -258,9 +258,9 @@ cat spec/tracking/character-state.json
|
|
|
258
258
|
##### 2.2 角色设定检查
|
|
259
259
|
|
|
260
260
|
**读取文件**:
|
|
261
|
-
- `
|
|
262
|
-
- `
|
|
263
|
-
- `
|
|
261
|
+
- `resources/knowledge/characters.md`
|
|
262
|
+
- `tracking/character-state.json`
|
|
263
|
+
- `tracking/relationships.json`
|
|
264
264
|
|
|
265
265
|
**生成检查项维度**:
|
|
266
266
|
|
|
@@ -288,10 +288,10 @@ cat spec/tracking/character-state.json
|
|
|
288
288
|
##### 2.3 世界观检查
|
|
289
289
|
|
|
290
290
|
**读取文件**:
|
|
291
|
-
- `
|
|
292
|
-
- `
|
|
293
|
-
- `
|
|
294
|
-
- `
|
|
291
|
+
- `resources/knowledge/world-setting.md`
|
|
292
|
+
- `resources/knowledge/locations.md`
|
|
293
|
+
- `resources/knowledge/culture.md`
|
|
294
|
+
- `resources/knowledge/rules.md`
|
|
295
295
|
|
|
296
296
|
**生成检查项维度**:
|
|
297
297
|
|
|
@@ -340,7 +340,7 @@ cat spec/tracking/character-state.json
|
|
|
340
340
|
##### 2.5 伏笔管理检查
|
|
341
341
|
|
|
342
342
|
**读取文件**:
|
|
343
|
-
- `
|
|
343
|
+
- `tracking/plot-tracker.json`
|
|
344
344
|
- `creative-plan.md`
|
|
345
345
|
|
|
346
346
|
**生成检查项维度**:
|
|
@@ -370,7 +370,7 @@ cat spec/tracking/character-state.json
|
|
|
370
370
|
|
|
371
371
|
执行命令:
|
|
372
372
|
```bash
|
|
373
|
-
bash
|
|
373
|
+
bash resources/scripts/bash/check-world.sh --checklist
|
|
374
374
|
```
|
|
375
375
|
|
|
376
376
|
如果脚本不存在,提示用户该功能正在开发中。
|
|
@@ -379,21 +379,21 @@ bash .specify/scripts/bash/check-world.sh --checklist
|
|
|
379
379
|
|
|
380
380
|
执行命令:
|
|
381
381
|
```bash
|
|
382
|
-
bash
|
|
382
|
+
bash resources/scripts/bash/check-plot.sh --checklist
|
|
383
383
|
```
|
|
384
384
|
|
|
385
385
|
##### 2.7 数据同步检查
|
|
386
386
|
|
|
387
387
|
执行命令:
|
|
388
388
|
```bash
|
|
389
|
-
bash
|
|
389
|
+
bash resources/scripts/bash/check-consistency.sh --checklist
|
|
390
390
|
```
|
|
391
391
|
|
|
392
392
|
##### 2.8 时间线检查
|
|
393
393
|
|
|
394
394
|
执行命令:
|
|
395
395
|
```bash
|
|
396
|
-
bash
|
|
396
|
+
bash resources/scripts/bash/check-timeline.sh check --checklist
|
|
397
397
|
```
|
|
398
398
|
|
|
399
399
|
##### 2.9 写作状态检查
|
|
@@ -426,7 +426,7 @@ bash .specify/scripts/bash/check-timeline.sh check --checklist
|
|
|
426
426
|
|
|
427
427
|
如果存在脚本,执行:
|
|
428
428
|
```bash
|
|
429
|
-
bash
|
|
429
|
+
bash resources/scripts/bash/check-writing-state.sh --checklist
|
|
430
430
|
```
|
|
431
431
|
|
|
432
432
|
否则,手动检查上述项目并生成报告。
|
|
@@ -446,7 +446,7 @@ bash .specify/scripts/bash/check-writing-state.sh --checklist
|
|
|
446
446
|
/style-learning
|
|
447
447
|
|
|
448
448
|
或手动创建:
|
|
449
|
-
|
|
449
|
+
resources/memory/personal-voice.md
|
|
450
450
|
```
|
|
451
451
|
|
|
452
452
|
### 3. 输出 Checklist
|
|
@@ -4,8 +4,8 @@ argument-hint: [关键词或焦点领域]
|
|
|
4
4
|
allowed-tools: Read(//stories/**), Read(//stories/**), Read(//plugins/**), Read(plugins/**), Write(//stories/*/specification.md), Write(//stories/*/specification.md), Bash(ls:*), Bash(find:*), Bash(*)
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
scripts:
|
|
7
|
-
sh:
|
|
8
|
-
ps:
|
|
7
|
+
sh: resources/scripts/bash/clarify-story.sh --json --paths-only
|
|
8
|
+
ps: resources/scripts/powershell/clarify-story.ps1 -Json -PathsOnly
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
焦点区域(可选):$ARGUMENTS
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 创建或更新小说创作宪法,定义不可妥协的创作原则
|
|
3
3
|
argument-hint: [创作原则描述]
|
|
4
|
-
allowed-tools: Write(
|
|
4
|
+
allowed-tools: Write(//resources/memory/constitution.md), Write(//resources/memory/constitution.md), Read(//resources/memory/**), Read(//resources/memory/**), Bash(find:*), Bash(*)
|
|
5
5
|
scripts:
|
|
6
|
-
sh:
|
|
7
|
-
ps:
|
|
6
|
+
sh: resources/scripts/bash/constitution.sh
|
|
7
|
+
ps: resources/scripts/powershell/constitution.ps1
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
用户输入:$ARGUMENTS
|
|
@@ -39,18 +39,18 @@ resource-loading:
|
|
|
39
39
|
|
|
40
40
|
**首先检查是否存在风格参考文档**(来自 `/book-internalize`):
|
|
41
41
|
```bash
|
|
42
|
-
test -f
|
|
42
|
+
test -f resources/memory/style-reference.md && echo "exists" || echo "not-found"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
- 如果存在,使用 Read 工具读取
|
|
45
|
+
- 如果存在,使用 Read 工具读取 `resources/memory/style-reference.md`
|
|
46
46
|
- 然后告诉用户:"检测到您已完成对标作品分析,我将参考该风格帮您起草宪法。"
|
|
47
47
|
|
|
48
48
|
**然后检查现有宪法**:
|
|
49
49
|
```bash
|
|
50
|
-
test -f
|
|
50
|
+
test -f resources/memory/constitution.md && echo "exists" || echo "not-found"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
- 如果存在(输出 "exists"),使用 Read 工具读取
|
|
53
|
+
- 如果存在(输出 "exists"),使用 Read 工具读取 `resources/memory/constitution.md` 并准备更新
|
|
54
54
|
- 如果不存在(输出 "not-found"),跳过读取步骤,直接准备创建新宪法
|
|
55
55
|
|
|
56
56
|
### 2. 收集创作原则
|
|
@@ -212,7 +212,7 @@ test -f .specify/memory/constitution.md && echo "exists" || echo "not-found"
|
|
|
212
212
|
|
|
213
213
|
### 7. 输出和保存
|
|
214
214
|
|
|
215
|
-
- 将宪法保存到
|
|
215
|
+
- 将宪法保存到 `resources/memory/constitution.md`
|
|
216
216
|
- 输出创建/更新成功消息
|
|
217
217
|
- 提示下一步:`/specify` 定义故事规格
|
|
218
218
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 专家模式 - 获取专业写作指导
|
|
3
3
|
argument-hint: [plot | character | world | style]
|
|
4
|
-
allowed-tools: Read(
|
|
4
|
+
allowed-tools: Read(//resources/experts/**), Read(//resources/experts/**), Read(//plugins/**/experts/**), Read(//plugins/**/experts/**), Bash(find:*), Bash(ls:*), Bash(*)
|
|
5
5
|
scripts:
|
|
6
6
|
sh: echo ""
|
|
7
7
|
ps: Write-Output ""
|
|
@@ -75,7 +75,7 @@ resource-loading:
|
|
|
75
75
|
|
|
76
76
|
### 执行步骤:
|
|
77
77
|
1. **确认专家类型**
|
|
78
|
-
- 核心专家:读取
|
|
78
|
+
- 核心专家:读取 `resources/experts/core/<type>.md`
|
|
79
79
|
- 插件专家:读取对应插件的专家文件
|
|
80
80
|
|
|
81
81
|
2. **加载专家配置**
|
|
@@ -131,7 +131,7 @@ resource-loading:
|
|
|
131
131
|
- 如果专家文件读取失败:
|
|
132
132
|
```
|
|
133
133
|
专家配置加载失败,请检查文件是否存在:
|
|
134
|
-
|
|
134
|
+
resources/experts/core/<type>.md
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
---
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 管理和校验故事设定事实的一致性
|
|
3
3
|
argument-hint: [check | update <fact-id> | add | remove <fact-id>] [--volume vol-XX | --range ch-XXX-YYY]
|
|
4
|
-
allowed-tools: Read(//
|
|
4
|
+
allowed-tools: Read(//tracking/**), Read(//stories/**/content/**), Write(//tracking/story-facts.json), Bash(bash:*), Bash(powershell:*)
|
|
5
5
|
scripts:
|
|
6
|
-
sh:
|
|
7
|
-
ps:
|
|
6
|
+
sh: resources/scripts/bash/check-facts.sh
|
|
7
|
+
ps: resources/scripts/powershell/check-facts.ps1
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# /facts - 故事设定事实管理
|
|
@@ -15,7 +15,7 @@ scripts:
|
|
|
15
15
|
|
|
16
16
|
## 数据源:story-facts.json
|
|
17
17
|
|
|
18
|
-
**单一数据源原则**:所有可量化的设定事实都应注册在 `
|
|
18
|
+
**单一数据源原则**:所有可量化的设定事实都应注册在 `tracking/story-facts.json` 中,作为唯一可信来源(Single Source of Truth)。
|
|
19
19
|
|
|
20
20
|
### 数据结构示例
|
|
21
21
|
|
|
@@ -125,12 +125,12 @@ scripts:
|
|
|
125
125
|
- 支持 `--range ch-XXX-YYY` 过滤:`query_facts --chapter_from=XXX --chapter_to=YYY`
|
|
126
126
|
|
|
127
127
|
**Layer 2: 分片 JSON(次优)**
|
|
128
|
-
- 检测 `
|
|
129
|
-
- 无 --volume 参数:读取 `
|
|
128
|
+
- 检测 `tracking/volumes/` 是否存在
|
|
129
|
+
- 无 --volume 参数:读取 `tracking/story-facts.json`(全局事实文件,不按卷分片)
|
|
130
130
|
- 有 --volume 参数:读取全局事实文件,按 `source` 字段过滤属于该卷的事实
|
|
131
131
|
|
|
132
132
|
**Layer 3: 单文件 JSON(兜底)**
|
|
133
|
-
- 读取 `
|
|
133
|
+
- 读取 `tracking/story-facts.json`
|
|
134
134
|
|
|
135
135
|
### 章节扫描范围
|
|
136
136
|
|
|
@@ -148,7 +148,7 @@ scripts:
|
|
|
148
148
|
|
|
149
149
|
#### 执行步骤
|
|
150
150
|
|
|
151
|
-
1. 读取 `
|
|
151
|
+
1. 读取 `tracking/story-facts.json`
|
|
152
152
|
2. 按 category 分组展示所有已注册事实
|
|
153
153
|
3. 展示 rules 列表及当前校验状态(算术是否成立)
|
|
154
154
|
4. 提示用户可用操作:add / remove / update
|
|
@@ -418,7 +418,7 @@ scripts:
|
|
|
418
418
|
当前: "每月收入仅有五百灵石"
|
|
419
419
|
修改为: "每月收入仅有八百灵石"
|
|
420
420
|
|
|
421
|
-
3.
|
|
421
|
+
3. tracking/plot-tracker.json
|
|
422
422
|
当前: "finance-monthly-income": 500
|
|
423
423
|
修改为: "finance-monthly-income": 800
|
|
424
424
|
```
|