novelws 4.0.0 → 5.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 +100 -623
- package/README.md +79 -594
- package/dist/cli.js +1 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -99
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +17 -108
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/core/config.d.ts +1 -37
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +6 -45
- package/dist/core/config.js.map +1 -1
- package/dist/core/errors.d.ts +0 -31
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +0 -58
- package/dist/core/errors.js.map +1 -1
- package/dist/utils/diagnostics.d.ts +2 -16
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js +5 -72
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/project.d.ts +1 -1
- package/dist/utils/project.d.ts.map +1 -1
- package/dist/utils/project.js +3 -3
- package/dist/utils/project.js.map +1 -1
- package/package.json +1 -2
- package/templates/commands/analyze.md +65 -265
- package/templates/commands/expand.md +70 -0
- package/templates/commands/plan.md +47 -452
- package/templates/commands/specify.md +43 -869
- package/templates/commands/write.md +49 -643
- package/templates/dot-claude/CLAUDE.md +38 -202
- package/templates/resources/anti-ai.md +16 -0
- package/templates/resources/style-reference.md +19 -0
- package/templates/tracking/character-state.json +1 -76
- package/templates/tracking/plot-tracker.json +3 -60
- package/templates/tracking/relationships.json +1 -68
- package/templates/tracking/timeline.json +1 -47
- package/dist/commands/plugin.d.ts +0 -6
- package/dist/commands/plugin.d.ts.map +0 -1
- package/dist/commands/plugin.js +0 -135
- package/dist/commands/plugin.js.map +0 -1
- package/dist/plugins/identifier.d.ts +0 -13
- package/dist/plugins/identifier.d.ts.map +0 -1
- package/dist/plugins/identifier.js +0 -72
- package/dist/plugins/identifier.js.map +0 -1
- package/dist/plugins/installers/base.d.ts +0 -27
- package/dist/plugins/installers/base.d.ts.map +0 -1
- package/dist/plugins/installers/base.js +0 -30
- package/dist/plugins/installers/base.js.map +0 -1
- package/dist/plugins/installers/github.d.ts +0 -22
- package/dist/plugins/installers/github.d.ts.map +0 -1
- package/dist/plugins/installers/github.js +0 -133
- package/dist/plugins/installers/github.js.map +0 -1
- package/dist/plugins/installers/local.d.ts +0 -16
- package/dist/plugins/installers/local.d.ts.map +0 -1
- package/dist/plugins/installers/local.js +0 -69
- package/dist/plugins/installers/local.js.map +0 -1
- package/dist/plugins/installers/npm.d.ts +0 -20
- package/dist/plugins/installers/npm.d.ts.map +0 -1
- package/dist/plugins/installers/npm.js +0 -99
- package/dist/plugins/installers/npm.js.map +0 -1
- package/dist/plugins/manager.d.ts +0 -77
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -349
- package/dist/plugins/manager.js.map +0 -1
- package/dist/plugins/registry.d.ts +0 -48
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -111
- package/dist/plugins/registry.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -66
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -2
- package/dist/plugins/types.js.map +0 -1
- package/dist/plugins/validator.d.ts +0 -19
- package/dist/plugins/validator.d.ts.map +0 -1
- package/dist/plugins/validator.js +0 -164
- package/dist/plugins/validator.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -13
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -48
- package/dist/utils/logger.js.map +0 -1
- package/plugins/authentic-voice/README.md +0 -31
- package/plugins/authentic-voice/commands/authentic-voice.md +0 -73
- package/plugins/authentic-voice/commands/authenticity-audit.md +0 -37
- package/plugins/authentic-voice/config.yaml +0 -30
- package/plugins/authentic-voice/experts/authentic-editor.md +0 -27
- package/plugins/export/README.md +0 -319
- package/plugins/export/commands/export.md +0 -460
- package/plugins/export/commands/generate-cover.md +0 -256
- package/plugins/export/commands/metadata.md +0 -309
- package/plugins/export/config.yaml +0 -47
- package/plugins/export/experts/publishing-expert.md +0 -171
- package/plugins/export/templates/epub/chapter-template.html +0 -13
- package/plugins/export/templates/epub/cover-template.html +0 -14
- package/plugins/export/templates/epub/stylesheet.css +0 -200
- package/plugins/export/templates/pdf/ebook-style.css +0 -137
- package/plugins/export/templates/pdf/print-style.css +0 -179
- package/plugins/export/templates/platforms/jinjiang-format.md +0 -101
- package/plugins/export/templates/platforms/qidian-format.md +0 -108
- package/plugins/export/templates/platforms/tomato-format.md +0 -95
- package/plugins/translate/README.md +0 -265
- package/plugins/translate/commands/glossary.md +0 -731
- package/plugins/translate/commands/translate-preview.md +0 -543
- package/plugins/translate/commands/translate.md +0 -649
- package/plugins/translate/config.yaml +0 -43
- package/plugins/translate/experts/literary-translator.md +0 -605
- package/templates/commands/character.md +0 -287
- package/templates/commands/checklist.md +0 -744
- package/templates/commands/clarify.md +0 -269
- package/templates/commands/constitution.md +0 -269
- package/templates/commands/expert.md +0 -188
- package/templates/commands/facts.md +0 -552
- package/templates/commands/guide.md +0 -900
- package/templates/commands/help-me.md +0 -221
- package/templates/commands/recap.md +0 -748
- package/templates/commands/relations.md +0 -385
- package/templates/commands/revise.md +0 -450
- package/templates/commands/search.md +0 -531
- package/templates/commands/tasks.md +0 -396
- package/templates/commands/timeline.md +0 -309
- package/templates/commands/track-init.md +0 -149
- package/templates/commands/track.md +0 -704
- package/templates/commands/volume-summary.md +0 -471
- package/templates/knowledge/audit-config.json +0 -26
- package/templates/knowledge/character-profiles.md +0 -152
- package/templates/knowledge/character-voices.md +0 -137
- package/templates/knowledge/locations.md +0 -184
- package/templates/knowledge/world-setting.md +0 -121
- package/templates/resources/character-archetypes/01-hero.md +0 -233
- package/templates/resources/character-archetypes/02-mentor.md +0 -177
- package/templates/resources/character-archetypes/03-shadow.md +0 -221
- package/templates/resources/character-archetypes/04-ally.md +0 -178
- package/templates/resources/character-archetypes/05-shapeshifter.md +0 -177
- package/templates/resources/character-archetypes/06-trickster.md +0 -181
- package/templates/resources/character-archetypes/07-threshold-guardian.md +0 -177
- package/templates/resources/character-archetypes/08-herald.md +0 -180
- package/templates/resources/character-archetypes/09-father.md +0 -249
- package/templates/resources/character-archetypes/10-mother.md +0 -202
- package/templates/resources/character-archetypes/11-child.md +0 -183
- package/templates/resources/character-archetypes/12-sage.md +0 -202
- package/templates/resources/character-archetypes/README.md +0 -60
- package/templates/resources/character-archetypes/application-guide.md +0 -222
- package/templates/resources/character-archetypes/archetype-combinations.md +0 -242
- package/templates/resources/character-archetypes/config.yaml +0 -28
- package/templates/resources/character-archetypes/examples-analysis.md +0 -223
- package/templates/resources/config/keyword-mappings.json +0 -226
- package/templates/resources/config/specification-example.md +0 -146
- package/templates/resources/craft/character-arc.md +0 -1153
- package/templates/resources/craft/dialogue.md +0 -1170
- package/templates/resources/craft/hook-design.md +0 -345
- package/templates/resources/craft/pacing.md +0 -1200
- package/templates/resources/craft/power-system.md +0 -254
- package/templates/resources/craft/scene-structure.md +0 -1136
- package/templates/resources/craft/show-not-tell.md +0 -1012
- package/templates/resources/craft/story-structures.md +0 -134
- package/templates/resources/craft/tension-management.md +0 -168
- package/templates/resources/emotional-beats/01-first-meeting.md +0 -145
- package/templates/resources/emotional-beats/02-bonding-moment.md +0 -226
- package/templates/resources/emotional-beats/03-declaration.md +0 -284
- package/templates/resources/emotional-beats/04-triumph.md +0 -240
- package/templates/resources/emotional-beats/05-reunion.md +0 -396
- package/templates/resources/emotional-beats/06-forgiveness.md +0 -204
- package/templates/resources/emotional-beats/07-betrayal.md +0 -204
- package/templates/resources/emotional-beats/08-loss.md +0 -214
- package/templates/resources/emotional-beats/09-rejection.md +0 -254
- package/templates/resources/emotional-beats/10-failure.md +0 -244
- package/templates/resources/emotional-beats/11-misunderstanding.md +0 -205
- package/templates/resources/emotional-beats/12-farewell.md +0 -283
- package/templates/resources/emotional-beats/13-revelation.md +0 -242
- package/templates/resources/emotional-beats/14-point-of-no-return.md +0 -215
- package/templates/resources/emotional-beats/15-dark-night.md +0 -244
- package/templates/resources/emotional-beats/16-sacrifice.md +0 -246
- package/templates/resources/emotional-beats/17-awakening.md +0 -246
- package/templates/resources/emotional-beats/18-confrontation.md +0 -217
- package/templates/resources/emotional-beats/19-bittersweet-goodbye.md +0 -368
- package/templates/resources/emotional-beats/20-moral-dilemma.md +0 -248
- package/templates/resources/emotional-beats/21-temptation.md +0 -240
- package/templates/resources/emotional-beats/22-redemption.md +0 -210
- package/templates/resources/emotional-beats/README.md +0 -104
- package/templates/resources/emotional-beats/beat-sequences.md +0 -276
- package/templates/resources/emotional-beats/config.yaml +0 -30
- package/templates/resources/emotional-beats/pacing-guide.md +0 -390
- package/templates/resources/genres/game-lit.md +0 -174
- package/templates/resources/genres/historical.md +0 -1127
- package/templates/resources/genres/horror.md +0 -211
- package/templates/resources/genres/military.md +0 -209
- package/templates/resources/genres/mystery.md +0 -1123
- package/templates/resources/genres/rebirth.md +0 -177
- package/templates/resources/genres/revenge.md +0 -846
- package/templates/resources/genres/romance.md +0 -948
- package/templates/resources/genres/sci-fi.md +0 -156
- package/templates/resources/genres/sports.md +0 -216
- package/templates/resources/genres/thriller.md +0 -166
- package/templates/resources/genres/urban.md +0 -170
- package/templates/resources/genres/workplace.md +0 -214
- package/templates/resources/genres/wuxia.md +0 -143
- package/templates/resources/genres/xuanhuan.md +0 -234
- package/templates/resources/genres/youth.md +0 -219
- package/templates/resources/memory/personal-voice.md +0 -113
- package/templates/resources/references/README.md +0 -96
- package/templates/resources/references/china-1920s/culture.md +0 -423
- package/templates/resources/references/china-1920s/daily-life.md +0 -616
- package/templates/resources/references/china-1920s/overview.md +0 -298
- package/templates/resources/references/china-1920s/society.md +0 -703
- package/templates/resources/references/china-1920s/warlords.md +0 -427
- package/templates/resources/references/cultivation-world/daily-life.md +0 -108
- package/templates/resources/references/cultivation-world/overview.md +0 -64
- package/templates/resources/references/cultivation-world/power-system.md +0 -108
- package/templates/resources/references/cultivation-world/sects.md +0 -104
- package/templates/resources/references/cultivation-world/world-setting.md +0 -108
- package/templates/resources/references/modern-workplace/corporate.md +0 -115
- package/templates/resources/references/modern-workplace/daily-life.md +0 -129
- package/templates/resources/references/modern-workplace/overview.md +0 -73
- package/templates/resources/references/modern-workplace/relationships.md +0 -107
- package/templates/resources/references/modern-workplace/tech-industry.md +0 -131
- package/templates/resources/references/tang-dynasty/culture.md +0 -135
- package/templates/resources/references/tang-dynasty/daily-life.md +0 -139
- package/templates/resources/references/tang-dynasty/overview.md +0 -76
- package/templates/resources/references/tang-dynasty/politics.md +0 -121
- package/templates/resources/references/tang-dynasty/society.md +0 -126
- package/templates/resources/requirements/README.md +0 -240
- package/templates/resources/requirements/anti-ai-v3.md +0 -46
- package/templates/resources/requirements/anti-ai-v4-deprecated.md +0 -442
- package/templates/resources/requirements/anti-ai-v5-balanced.md +0 -203
- package/templates/resources/requirements/concretization.md +0 -90
- package/templates/resources/requirements/fast-paced.md +0 -552
- package/templates/resources/requirements/no-poison.md +0 -60
- package/templates/resources/requirements/romance-angst.md +0 -102
- package/templates/resources/requirements/romance-sweet.md +0 -63
- package/templates/resources/requirements/serious-literature.md +0 -45
- package/templates/resources/requirements/strong-emotion.md +0 -60
- package/templates/resources/scripts/README.md +0 -187
- package/templates/resources/scripts/bash/analyze-story.sh +0 -170
- package/templates/resources/scripts/bash/check-analyze-stage.sh +0 -108
- package/templates/resources/scripts/bash/check-consistency.sh +0 -463
- package/templates/resources/scripts/bash/check-facts.sh +0 -214
- package/templates/resources/scripts/bash/check-plot.sh +0 -374
- package/templates/resources/scripts/bash/check-timeline.sh +0 -346
- package/templates/resources/scripts/bash/check-world.sh +0 -395
- package/templates/resources/scripts/bash/check-writing-state.sh +0 -854
- package/templates/resources/scripts/bash/clarify-story.sh +0 -117
- package/templates/resources/scripts/bash/common.sh +0 -151
- package/templates/resources/scripts/bash/constitution.sh +0 -114
- package/templates/resources/scripts/bash/generate-tasks.sh +0 -65
- package/templates/resources/scripts/bash/init-tracking.sh +0 -183
- package/templates/resources/scripts/bash/manage-relations.sh +0 -174
- package/templates/resources/scripts/bash/migrate-tracking.sh +0 -183
- package/templates/resources/scripts/bash/plan-story.sh +0 -100
- package/templates/resources/scripts/bash/specify-story.sh +0 -93
- package/templates/resources/scripts/bash/tasks-story.sh +0 -96
- package/templates/resources/scripts/bash/test-word-count.sh +0 -182
- package/templates/resources/scripts/bash/tests/bench-preload-cache.sh +0 -100
- package/templates/resources/scripts/bash/tests/run-all-benchmarks.sh +0 -16
- package/templates/resources/scripts/bash/tests/test-cache-semantics.sh +0 -199
- package/templates/resources/scripts/bash/tests/test-cross-platform.sh +0 -35
- package/templates/resources/scripts/bash/tests/test-edge-cases-bash.sh +0 -60
- package/templates/resources/scripts/bash/tests/test-phase1-bash.sh +0 -28
- package/templates/resources/scripts/bash/tests/test-preload-cache.sh +0 -123
- package/templates/resources/scripts/bash/tests/test-regex-precompile.sh +0 -89
- package/templates/resources/scripts/bash/tests/test-regression-bash.sh +0 -42
- package/templates/resources/scripts/bash/tests/test-task6-verification.sh +0 -200
- package/templates/resources/scripts/bash/text-audit.sh +0 -144
- package/templates/resources/scripts/bash/track-progress.sh +0 -194
- package/templates/resources/scripts/powershell/analyze-story.ps1 +0 -174
- package/templates/resources/scripts/powershell/check-analyze-stage.ps1 +0 -110
- package/templates/resources/scripts/powershell/check-consistency.ps1 +0 -138
- package/templates/resources/scripts/powershell/check-facts.ps1 +0 -195
- package/templates/resources/scripts/powershell/check-plot.ps1 +0 -139
- package/templates/resources/scripts/powershell/check-timeline.ps1 +0 -112
- package/templates/resources/scripts/powershell/check-writing-state.ps1 +0 -486
- package/templates/resources/scripts/powershell/clarify-story.ps1 +0 -107
- package/templates/resources/scripts/powershell/common.ps1 +0 -36
- package/templates/resources/scripts/powershell/constitution.ps1 +0 -145
- package/templates/resources/scripts/powershell/generate-tasks.ps1 +0 -70
- package/templates/resources/scripts/powershell/init-tracking.ps1 +0 -98
- package/templates/resources/scripts/powershell/manage-relations.ps1 +0 -134
- package/templates/resources/scripts/powershell/migrate-tracking.ps1 +0 -145
- package/templates/resources/scripts/powershell/plan-story.ps1 +0 -99
- package/templates/resources/scripts/powershell/specify-story.ps1 +0 -85
- package/templates/resources/scripts/powershell/tests/bench-ps-cache.ps1 +0 -80
- package/templates/resources/scripts/powershell/tests/test-cross-platform.ps1 +0 -27
- package/templates/resources/scripts/powershell/tests/test-edge-cases-ps.ps1 +0 -29
- package/templates/resources/scripts/powershell/tests/test-phase1-ps.ps1 +0 -28
- package/templates/resources/scripts/powershell/tests/test-ps-cache.ps1 +0 -73
- package/templates/resources/scripts/powershell/tests/test-regression-ps.ps1 +0 -40
- package/templates/resources/scripts/powershell/text-audit.ps1 +0 -102
- package/templates/resources/scripts/powershell/track-progress.ps1 +0 -105
- package/templates/resources/styles/README.md +0 -302
- package/templates/resources/styles/ancient-style.md +0 -579
- package/templates/resources/styles/literary.md +0 -439
- package/templates/resources/styles/minimal.md +0 -472
- package/templates/resources/styles/natural-voice.md +0 -930
- package/templates/resources/styles/web-novel.md +0 -525
- package/templates/skills/analysis/character-analysis/SKILL.md +0 -71
- package/templates/skills/analysis/foreshadow-analysis/SKILL.md +0 -45
- package/templates/skills/analysis/hook-analysis/SKILL.md +0 -111
- package/templates/skills/analysis/logic-analysis/SKILL.md +0 -58
- package/templates/skills/analysis/opening-analysis/SKILL.md +0 -59
- package/templates/skills/analysis/pacing-analysis/SKILL.md +0 -55
- package/templates/skills/analysis/power-analysis/SKILL.md +0 -148
- package/templates/skills/analysis/reader-analysis/SKILL.md +0 -117
- package/templates/skills/analysis/style-analysis/SKILL.md +0 -60
- package/templates/skills/analysis/voice-analysis/SKILL.md +0 -42
- package/templates/skills/auto-tracking/SKILL.md +0 -280
- package/templates/skills/genre-knowledge/fantasy/SKILL.md +0 -355
- package/templates/skills/genre-knowledge/mystery/SKILL.md +0 -337
- package/templates/skills/genre-knowledge/romance/SKILL.md +0 -228
- package/templates/skills/genre-knowledge/sci-fi/SKILL.md +0 -65
- package/templates/skills/genre-knowledge/thriller/SKILL.md +0 -95
- package/templates/skills/planning/volume-detail/SKILL.md +0 -219
- package/templates/skills/quality-assurance/consistency-checker/SKILL.md +0 -412
- package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +0 -157
- package/templates/skills/quality-assurance/facts-checker/SKILL.md +0 -405
- package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +0 -147
- package/templates/skills/quality-assurance/getting-started/SKILL.md +0 -224
- package/templates/skills/quality-assurance/hook-checker/SKILL.md +0 -164
- package/templates/skills/quality-assurance/hook-checker/experts/hook-analyst.md +0 -33
- package/templates/skills/quality-assurance/long-series-continuity/SKILL.md +0 -570
- package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +0 -143
- package/templates/skills/quality-assurance/pov-validator/SKILL.md +0 -135
- package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +0 -583
- package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +0 -119
- package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +0 -146
- package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +0 -160
- package/templates/skills/quality-assurance/requirement-detector/SKILL.md +0 -149
- package/templates/skills/quality-assurance/setting-detector/SKILL.md +0 -611
- package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +0 -126
- package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +0 -206
- package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +0 -207
- package/templates/skills/quality-assurance/style-detector/SKILL.md +0 -264
- package/templates/skills/quality-assurance/voice-consistency-checker/SKILL.md +0 -103
- package/templates/skills/quality-assurance/voice-consistency-checker/experts/voice-analyst.md +0 -21
- package/templates/skills/quality-assurance/workflow-guide/SKILL.md +0 -381
- package/templates/skills/writing-techniques/character-arc/SKILL.md +0 -267
- package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +0 -366
- package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +0 -708
- package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +0 -226
- package/templates/skills/writing-techniques/pacing-control/SKILL.md +0 -480
- package/templates/skills/writing-techniques/reader-expectation/SKILL.md +0 -1026
- package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +0 -209
- package/templates/skills/writing-techniques/revision-polish/SKILL.md +0 -496
- package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +0 -221
- package/templates/skills/writing-techniques/scene-structure/SKILL.md +0 -361
- package/templates/skills/writing-techniques/style-learning/SKILL.md +0 -436
- package/templates/skills/writing-techniques/writing-balance/.gitkeep +0 -0
- package/templates/skills/writing-techniques/writing-balance/SKILL.md +0 -460
- package/templates/skills/writing-techniques/writing-techniques/SKILL.md +0 -727
- package/templates/tracking/story-facts.json +0 -5
- package/templates/tracking/summary/characters-summary.json +0 -7
- package/templates/tracking/summary/plot-summary.json +0 -13
- package/templates/tracking/summary/timeline-summary.json +0 -8
- package/templates/tracking/summary/volume-summaries.json +0 -5
- package/templates/tracking/tracking-log.md +0 -110
- package/templates/tracking/validation-rules.json +0 -128
- /package/templates/resources/{memory/constitution.md → constitution.md} +0 -0
|
@@ -1,704 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: track
|
|
3
|
-
description: 综合追踪小说创作进度和内容
|
|
4
|
-
argument-hint: [--brief | --plot | --stats | --check [--volume vol-XX] | --fix | --sync [--incremental] | --migrate [--auto | --volumes "1-100,101-200"] | --log]
|
|
5
|
-
recommended-model: claude-haiku-4-5-20251001 # --sync 数据更新速度优先;--check 深度检查可用 sonnet
|
|
6
|
-
allowed-tools: Read(//tracking/**), Read(//tracking/**), Read(//stories/**), Read(//stories/**), Bash(find:*), Bash(wc:*), Bash(grep:*), Bash(*)
|
|
7
|
-
scripts:
|
|
8
|
-
sh: resources/scripts/bash/track-progress.sh
|
|
9
|
-
ps: resources/scripts/powershell/track-progress.ps1
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# 综合进度追踪
|
|
13
|
-
|
|
14
|
-
全面展示小说创作的各项进度和状态。
|
|
15
|
-
|
|
16
|
-
## 资源加载(可选)
|
|
17
|
-
|
|
18
|
-
本命令用于管理 tracking 文件,默认不加载额外资源。
|
|
19
|
-
|
|
20
|
-
### 可选配置
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
resource-loading:
|
|
24
|
-
track:
|
|
25
|
-
skills:
|
|
26
|
-
quality-assurance:
|
|
27
|
-
- consistency-checker # 追踪数据一致性检查
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**推荐资源**: consistency-checker(验证追踪数据一致性)
|
|
31
|
-
|
|
32
|
-
## 追踪维度
|
|
33
|
-
|
|
34
|
-
1. **写作进度** - 字数、章节、完成率
|
|
35
|
-
2. **情节发展** - 主线进度、支线状态
|
|
36
|
-
3. **时间线** - 故事时间推进
|
|
37
|
-
4. **角色状态** - 角色发展和位置
|
|
38
|
-
5. **伏笔管理** - 埋设和回收状态
|
|
39
|
-
6. **叙事线管理** - **[新增]** 多线叙事进度、视角调度、信息差
|
|
40
|
-
|
|
41
|
-
## 使用方法
|
|
42
|
-
|
|
43
|
-
执行脚本 {SCRIPT} [选项]:
|
|
44
|
-
- 无参数 - 显示完整追踪报告
|
|
45
|
-
- `--brief` - 显示简要信息
|
|
46
|
-
- `--plot` - 仅显示情节追踪
|
|
47
|
-
- `--stats` - 仅显示统计数据
|
|
48
|
-
- `--check` - **[增强]** 执行深度一致性检查(包含角色验证),支持 `--volume vol-XX` --volume 范围限定,只检查该卷的 tracking 数据
|
|
49
|
-
- `--fix` - **[新增]** 自动修复发现的简单问题
|
|
50
|
-
- `--sync` - **[新增]** 批量同步多章节的 tracking 数据,支持 `--incremental` 增量同步
|
|
51
|
-
|
|
52
|
-
## 数据来源
|
|
53
|
-
|
|
54
|
-
整合多个追踪文件的信息:
|
|
55
|
-
- `progress.json` - 写作进度
|
|
56
|
-
- `tracking/plot-tracker.json` - 情节追踪
|
|
57
|
-
- `tracking/timeline.json` - 时间线
|
|
58
|
-
- `tracking/relationships.json` - 关系网络
|
|
59
|
-
- `tracking/character-state.json` - 角色状态
|
|
60
|
-
- `tracking/narrative-threads.json` - **[新增]** 多线叙事追踪(POV调度、信息差、线程交汇)
|
|
61
|
-
- `tracking/validation-rules.json` - **[新增]** 验证规则(用于--check和--fix)
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 🆕 Tracking 历史查看
|
|
66
|
-
|
|
67
|
-
**新增功能**: 查看 tracking-log.md 中记录的所有历史更新
|
|
68
|
-
|
|
69
|
-
### 使用方法
|
|
70
|
-
|
|
71
|
-
**查看所有历史更新**:
|
|
72
|
-
```bash
|
|
73
|
-
/track --log
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**查看特定命令的历史**:
|
|
77
|
-
```bash
|
|
78
|
-
/track --log --command=write
|
|
79
|
-
/track --log --command=analyze
|
|
80
|
-
/track --log --command=plan
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**查看特定时间范围的历史**:
|
|
84
|
-
```bash
|
|
85
|
-
/track --log --since=2026-02-01
|
|
86
|
-
/track --log --until=2026-02-08
|
|
87
|
-
/track --log --since=2026-02-01 --until=2026-02-08
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**查看特定文件的更新历史**:
|
|
91
|
-
```bash
|
|
92
|
-
/track --log --file=character-state.json
|
|
93
|
-
/track --log --file=relationships.json
|
|
94
|
-
/track --log --file=plot-tracker.json
|
|
95
|
-
/track --log --file=timeline.json
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 输出格式
|
|
99
|
-
|
|
100
|
-
#### 完整历史列表
|
|
101
|
-
|
|
102
|
-
```markdown
|
|
103
|
-
📜 Tracking 更新历史
|
|
104
|
-
|
|
105
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
106
|
-
|
|
107
|
-
## 2026-02-08 14:30:25 - /write chapter-05
|
|
108
|
-
|
|
109
|
-
**状态**: 已自动更新
|
|
110
|
-
**更新文件**: character-state.json, relationships.json, plot-tracker.json, timeline.json
|
|
111
|
-
|
|
112
|
-
**摘要**:
|
|
113
|
-
- 林晓情绪变化:平静 → 焦虑
|
|
114
|
-
- 新增关系:林晓 → 队长(信任)
|
|
115
|
-
- 情节推进:主线 +10%
|
|
116
|
-
- 时间线事件:Day 15 - 首次合作任务
|
|
117
|
-
|
|
118
|
-
[查看详情]
|
|
119
|
-
|
|
120
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
121
|
-
|
|
122
|
-
## 2026-02-08 15:45:10 - /analyze chapter-01-05
|
|
123
|
-
|
|
124
|
-
**状态**: 用户确认后更新(选择:全部应用)
|
|
125
|
-
**更新文件**: character-state.json, relationships.json, timeline.json, plot-tracker.json
|
|
126
|
-
|
|
127
|
-
**摘要**:
|
|
128
|
-
- 角色分析:Ch.5 林晓焦虑情绪
|
|
129
|
-
- 关系分析:林晓与队长建立信任
|
|
130
|
-
- 时间线:第 15 天事件补充
|
|
131
|
-
- 情节推进:主线 +10%
|
|
132
|
-
|
|
133
|
-
[查看详情]
|
|
134
|
-
|
|
135
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
136
|
-
|
|
137
|
-
## 2026-02-07 10:20:00 - /plan 创作计划
|
|
138
|
-
|
|
139
|
-
**状态**: 已自动更新
|
|
140
|
-
**更新文件**: plot-tracker.json
|
|
141
|
-
|
|
142
|
-
**摘要**:
|
|
143
|
-
- 初始化 5 条情节线定义
|
|
144
|
-
- 设置里程碑和伏笔规划
|
|
145
|
-
|
|
146
|
-
[查看详情]
|
|
147
|
-
|
|
148
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
149
|
-
|
|
150
|
-
总计:23 次更新记录
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
#### 详细查看单条记录
|
|
154
|
-
|
|
155
|
-
选择"[查看详情]"时,显示完整的 diff 和更新依据:
|
|
156
|
-
|
|
157
|
-
```markdown
|
|
158
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
159
|
-
📋 更新记录详情
|
|
160
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
161
|
-
|
|
162
|
-
## 2026-02-08 14:30:25 - /write chapter-05
|
|
163
|
-
|
|
164
|
-
### 命令执行
|
|
165
|
-
- **命令**: `/write chapter-05 --focus emotion`
|
|
166
|
-
- **状态**: 已自动更新
|
|
167
|
-
|
|
168
|
-
### 更新内容
|
|
169
|
-
|
|
170
|
-
#### character-state.json
|
|
171
|
-
- 林晓:lastAppearance chapter-04 → chapter-05,emotion 平静 → 焦虑
|
|
172
|
-
|
|
173
|
-
#### relationships.json
|
|
174
|
-
+ 新增:林晓 → 队长(信任,strength: 0.6,evidence: Ch.5 首次合作任务)
|
|
175
|
-
|
|
176
|
-
#### plot-tracker.json
|
|
177
|
-
- 主线-001:progress 0.2 → 0.3,lastUpdate chapter-04 → chapter-05
|
|
178
|
-
|
|
179
|
-
#### timeline.json
|
|
180
|
-
+ 新增:Day 15 14:00 chapter-05 首次合作任务
|
|
181
|
-
|
|
182
|
-
### 更新依据
|
|
183
|
-
- 角色分析: Ch.5 林晓对话和行为显示焦虑情绪
|
|
184
|
-
- 关系分析: 林晓与队长首次合作,建立初步信任
|
|
185
|
-
- 情节推进: 主线进展 10%,发现第一条线索
|
|
186
|
-
- 时间线: Ch.5 推进到第 15 天
|
|
187
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
#### 过滤查看
|
|
191
|
-
|
|
192
|
-
支持按命令、文件、时间范围过滤:
|
|
193
|
-
- **按命令**: `/track --log --command=write` → 只显示 /write 命令的更新记录
|
|
194
|
-
- **按文件**: `/track --log --file=character-state.json` → 只显示该文件的变更记录
|
|
195
|
-
- **按时间**: `/track --log --since=2026-02-01 --until=2026-02-08` → 时间范围内的记录
|
|
196
|
-
|
|
197
|
-
### 实现逻辑
|
|
198
|
-
|
|
199
|
-
1. 读取 `tracking/tracking-log.md`,解析日志格式
|
|
200
|
-
2. 根据过滤条件筛选,按时间倒序排列
|
|
201
|
-
3. 默认仅加载摘要(轻量级),选择"查看详情"时加载完整 diff
|
|
202
|
-
4. 大型日志(>1000 条)分页显示
|
|
203
|
-
|
|
204
|
-
**注意**:如果 `tracking-log.md` 不存在,说明尚未执行过 tracking 更新命令,执行 `/write` 或 `/plan` 后会自动创建。
|
|
205
|
-
|
|
206
|
-
### 错误处理
|
|
207
|
-
|
|
208
|
-
#### 如果 tracking-log.md 不存在
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
ℹ️ 提示:tracking-log.md 不存在
|
|
212
|
-
- 位置:tracking/tracking-log.md
|
|
213
|
-
- 原因:尚未执行过任何 tracking 更新命令
|
|
214
|
-
- 建议:执行 /write 或 /plan 命令后会自动创建
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
#### 如果日志格式无法解析
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
⚠️ 警告:日志文件格式异常
|
|
221
|
-
- 文件:tracking-log.md
|
|
222
|
-
- 问题:无法解析部分日志条目
|
|
223
|
-
- 影响:部分历史记录可能无法显示
|
|
224
|
-
- 建议:检查日志文件格式是否被手动修改
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
## 输出示例
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
📊 小说创作综合报告
|
|
231
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
232
|
-
📖 《大明风华录》
|
|
233
|
-
|
|
234
|
-
✍️ 写作进度
|
|
235
|
-
完成:60/240章 (25%)
|
|
236
|
-
字数:162,000/800,000
|
|
237
|
-
当前:第二卷《朝堂风云》
|
|
238
|
-
|
|
239
|
-
📍 情节状态
|
|
240
|
-
主线:改革大业 [朝堂初入阶段]
|
|
241
|
-
支线:感情线 [相互了解]
|
|
242
|
-
|
|
243
|
-
⏰ 时间线
|
|
244
|
-
故事时间:万历三十年春
|
|
245
|
-
时间跨度:5个月
|
|
246
|
-
|
|
247
|
-
👥 主要角色
|
|
248
|
-
李中庸:翰林院编修 @北京
|
|
249
|
-
沈玉卿:张居正义女 [活跃]
|
|
250
|
-
|
|
251
|
-
⚡ 待处理
|
|
252
|
-
伏笔:3个未回收
|
|
253
|
-
冲突:改革vs保守 [升级中]
|
|
254
|
-
|
|
255
|
-
✅ 一致性检查:通过
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
## 增强功能
|
|
259
|
-
|
|
260
|
-
### 叙事线同步(--check 扩展)
|
|
261
|
-
|
|
262
|
-
当检测到 `narrative-threads.json` 或多线叙事结构时,自动提取和更新叙事线数据:
|
|
263
|
-
- **视角角色** → 更新 `povSchedule`
|
|
264
|
-
- **叙事线推进** → 更新 thread 的 `chapters` 和 `lastActiveChapter`
|
|
265
|
-
- **信息揭示** → 更新 `informationState`
|
|
266
|
-
- **叙事线交汇** → 更新 `intersections`
|
|
267
|
-
|
|
268
|
-
检测内容:叙事线活跃度(冷线警告)、视角分布比例、活跃信息差数量。
|
|
269
|
-
|
|
270
|
-
```
|
|
271
|
-
📊 叙事线健康度
|
|
272
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
273
|
-
| 叙事线 | 最后活跃 | 冷线章数 | 状态 |
|
|
274
|
-
|--------|---------|---------|------|
|
|
275
|
-
| 主线 | 第 15 章 | 0 | ✅ 活跃 |
|
|
276
|
-
| 支线1 | 第 12 章 | 3 | ⚠️ 注意 |
|
|
277
|
-
| 暗线 | 第 5 章 | 10 | 🔴 危险 |
|
|
278
|
-
|
|
279
|
-
视角分布:主角 60% / 角色B 25% / 角色C 15%
|
|
280
|
-
活跃信息差:[N] 个
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
### 伏笔健康度检测(--check 扩展)
|
|
285
|
-
|
|
286
|
-
在 `--check` 模式下,对 `plot-tracker.json` 中的伏笔执行健康度检测,包含三项检测:
|
|
287
|
-
|
|
288
|
-
1. **伏笔热度管理** — 基于 `heat` 字段(current/trend/lastMentioned/readerAwareness)检测冷却伏笔
|
|
289
|
-
2. **伏笔回收时机** — 基于 `urgency` 和持续章数,按紧急/建议/可持有三级分类
|
|
290
|
-
3. **伏笔链完整性** — 基于 `chain` 字段(parentId/childIds/chainName)检测孤立伏笔
|
|
291
|
-
|
|
292
|
-
#### 增强后的伏笔数据结构
|
|
293
|
-
|
|
294
|
-
`plot-tracker.json` 的 foreshadowing 条目增强字段:
|
|
295
|
-
|
|
296
|
-
```json
|
|
297
|
-
{
|
|
298
|
-
"id": "fs-001",
|
|
299
|
-
"content": "[伏笔内容]",
|
|
300
|
-
"plantedChapter": 3,
|
|
301
|
-
"status": "planted|hinted|partially_resolved|resolved|abandoned",
|
|
302
|
-
"urgency": 0.5,
|
|
303
|
-
"heat": { "current": 0.6, "trend": "rising|stable|cooling", "lastMentioned": 12, "readerAwareness": "high|medium|low" },
|
|
304
|
-
"chain": { "parentId": null, "childIds": ["fs-003"], "chainName": "身世之谜" },
|
|
305
|
-
"resolution": { "plannedChapter": 25, "plannedMethod": "[回收方式]", "impact": "major|moderate|minor" },
|
|
306
|
-
"hints": [{ "chapter": 8, "content": "[提示内容]", "subtlety": "obvious|moderate|subtle" }]
|
|
307
|
-
}
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
#### 检测输出示例
|
|
311
|
-
|
|
312
|
-
```
|
|
313
|
-
🔮 伏笔健康度
|
|
314
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
315
|
-
| 伏笔 | 热度 | 趋势 | 上次提及 | 状态 |
|
|
316
|
-
|------|------|------|---------|------|
|
|
317
|
-
| [身世之谜] | 🔥🔥🔥 高 | ↑ 上升 | 第 15 章 | ✅ 健康 |
|
|
318
|
-
| [失踪事件] | 🔥 低 | ↓ 冷却 | 第 5 章 | ⚠️ 需要提示 |
|
|
319
|
-
| [预言] | ❄️ 极低 | ↓ 冷却 | 第 2 章 | ❌ 读者可能已遗忘 |
|
|
320
|
-
|
|
321
|
-
⏰ 伏笔回收建议
|
|
322
|
-
🔴 紧急:[身世之谜] 已持续 20 章,建议第 [N]-[N+3] 章内回收
|
|
323
|
-
⚠️ 建议:[神秘宝物] 已持续 12 章,建议第 [M]-[M+5] 章内回收
|
|
324
|
-
✅ 可持有:[预言] 刚埋设 5 章
|
|
325
|
-
|
|
326
|
-
🔗 伏笔链「身世之谜」:fs-001 ✅ → fs-003 🔄 → fs-005 ⏳
|
|
327
|
-
🔗 伏笔链「远古秘密」:fs-002 ✅ → fs-004 ⏳
|
|
328
|
-
⚠️ 孤立伏笔:fs-006 — 考虑关联或放弃
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### 模式:创作数据统计(`--stats`)
|
|
332
|
-
|
|
333
|
-
**触发条件**:`$ARGUMENTS` 包含 `--stats`
|
|
334
|
-
|
|
335
|
-
**数据收集**:
|
|
336
|
-
- 读取所有章节文件(`content/*.md`)
|
|
337
|
-
- 读取 `tasks.md`、`creative-plan.md`
|
|
338
|
-
- 读取 `tracking/character-state.json`、`tracking/plot-tracker.json`
|
|
339
|
-
|
|
340
|
-
#### 总览面板
|
|
341
|
-
|
|
342
|
-
```
|
|
343
|
-
📊 创作统计 — [故事名]
|
|
344
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
345
|
-
|
|
346
|
-
📖 总字数:[N] 字 | 📝 章节:已写 [M] / 计划 [K]
|
|
347
|
-
📈 完成度:▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░ [X]%
|
|
348
|
-
👥 活跃角色:[A] 个 | 🔮 活跃伏笔:[B] 个 | 📋 待办:[C] 个
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
#### 字数详情与角色
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
📝 字数统计
|
|
355
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
356
|
-
每章字数分布:
|
|
357
|
-
第 01 章 ████████████████ 3,200 字
|
|
358
|
-
第 02 章 ██████████████░░ 2,800 字
|
|
359
|
-
第 03 章 ████████████████████ 4,100 字
|
|
360
|
-
...
|
|
361
|
-
|
|
362
|
-
统计:平均 [N] 字/章 | 最长:第[X]章([N]字) | 最短:第[Y]章([M]字)
|
|
363
|
-
每卷:第 1 卷 [N] 字([M] 章)✅ | 第 2 卷 [N] 字([M] 章)🔄
|
|
364
|
-
|
|
365
|
-
👥 角色出场频率(Top 5)
|
|
366
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
367
|
-
| 角色 | 出场率 | 最近 | 缺席 |
|
|
368
|
-
|------|--------|------|------|
|
|
369
|
-
| [主角] | 100% | 第[K]章 | 0 |
|
|
370
|
-
| [角色A] | 72% | 第[K]章 | 1 |
|
|
371
|
-
| [角色B] | 48% | 第[K]章 | 5 ⚠️ |
|
|
372
|
-
|
|
373
|
-
⚠️ 长期缺席:[角色C] 10 章未出场、[角色D] 8 章未出场
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
#### 内容构成与伏笔状态
|
|
377
|
-
|
|
378
|
-
```
|
|
379
|
-
📊 内容构成(全书平均)
|
|
380
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
381
|
-
对话 [X]% | 描写 [Y]% | 叙述 [Z]% | 动作 [W]%
|
|
382
|
-
参考范围:对话 30-40% | 描写 20-30% | 叙述 15-25% | 动作 15-25%
|
|
383
|
-
状态:[✅ 均衡 / ⚠️ 偏向描述]
|
|
384
|
-
|
|
385
|
-
🔮 伏笔状态:[N]个(已回收[A] ✅ | 进行中[B] 🔄 | 待回收[C] ⏳)
|
|
386
|
-
回收率:[X]%(建议 > 80%)
|
|
387
|
-
紧急伏笔:[伏笔内容] — 紧急度 [X],持续 [N] 章
|
|
388
|
-
|
|
389
|
-
📋 情节线进度
|
|
390
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
391
|
-
主线 [名称] ▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░ 60%
|
|
392
|
-
支线1 [名称] ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░ 90%
|
|
393
|
-
支线2 [名称] ▓▓▓▓▓▓░░░░░░░░░░░░░░ 30%
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
### 节奏健康度检测(--check 扩展)
|
|
397
|
-
|
|
398
|
-
`--check` 时执行四项节奏检测:
|
|
399
|
-
|
|
400
|
-
1. **节奏单一性** — 分析最近 N 章情绪强度分布(健康:高/中/低各占 20%-50%;偏单一:某项 >60%;严重:>80% 或连续 5+ 章同强度)
|
|
401
|
-
2. **爽点间隔** — 检测爽点分布(正常 ≤3 章;偏长 4-5 章;过长 >5 章)
|
|
402
|
-
3. **钩子连续性** — 检查最近章节是否有钩子(悬念/反转/信息/情感),标记无钩子章节
|
|
403
|
-
4. **情绪曲线合理性** — 基于张弛有度原则,检测连续高强度导致的读者疲劳
|
|
404
|
-
|
|
405
|
-
#### 检测输出示例
|
|
406
|
-
|
|
407
|
-
```
|
|
408
|
-
📊 节奏分布(最近 10 章)
|
|
409
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
410
|
-
高强度:[N] 章([X]%)| 中强度:[N] 章([X]%)| 低强度:[N] 章([X]%)
|
|
411
|
-
判定:[✅ 节奏多样 / ⚠️ 偏单一 / ❌ 严重单一]
|
|
412
|
-
|
|
413
|
-
⭐ 爽点间隔:最近爽点第 [N] 章,当前间隔 [M] 章 [✅/⚠️/❌]
|
|
414
|
-
|
|
415
|
-
🪝 钩子连续性(最近 5 章):
|
|
416
|
-
第[A]章 ✅ 悬念 | 第[B]章 ✅ 反转 | 第[C]章 ❌ 无钩子 | 第[D]章 ✅ 信息 | 第[E]章 ✅ 情感
|
|
417
|
-
|
|
418
|
-
📈 情绪曲线:
|
|
419
|
-
第[A]章 ████████░░ 高 → 第[B]章 ██████████ 高 → 第[C]章 █████████░ 高
|
|
420
|
-
⚠️ 连续 3 章高强度,建议下一章安排过渡/日常
|
|
421
|
-
|
|
422
|
-
🏥 综合节奏健康度
|
|
423
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
424
|
-
节奏多样性:[✅/⚠️/❌] 高[X]% 中[Y]% 低[Z]%
|
|
425
|
-
爽点间隔 :[✅/⚠️/❌] 当前间隔 [M] 章
|
|
426
|
-
钩子连续性:[✅/⚠️/❌] 最近 5 章中 [N] 章有钩子
|
|
427
|
-
情绪曲线 :[✅/⚠️/❌] 连续 [K] 章高强度
|
|
428
|
-
|
|
429
|
-
综合评定:[健康 / 需关注 / 需改进]
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
### 数据一致性验证与深度检查
|
|
435
|
-
|
|
436
|
-
**基础检查**(默认执行):验证 plot-tracker / timeline / relationships / character-state 的一致性、时间逻辑、关系冲突、位置合理性。
|
|
437
|
-
|
|
438
|
-
**深度验证 (--check)**:在基础检查之上,增加角色深度验证(名称一致性、称呼规则、行为人设匹配),基于 `validation-rules.json`。支持 `--volume vol-XX` 限定范围。MCP 可用时优先调用 `stats_consistency`。
|
|
439
|
-
|
|
440
|
-
#### 内部任务流程(自动执行)
|
|
441
|
-
|
|
442
|
-
```
|
|
443
|
-
Phase 1: 基础验证 [并行]
|
|
444
|
-
T001-T004: 情节一致性 / 时间线验证 / 关系验证 / 世界观验证
|
|
445
|
-
|
|
446
|
-
Phase 2: 角色深度验证
|
|
447
|
-
T005: 加载 validation-rules.json
|
|
448
|
-
T006-T007: 扫描章节角色名称,对比 character-state.json
|
|
449
|
-
T008-T009: 检查称呼规则,验证角色行为人设
|
|
450
|
-
|
|
451
|
-
Phase 3: 生成综合报告
|
|
452
|
-
T010-T012: 汇总结果 → 标记严重程度 → 生成修复建议
|
|
453
|
-
```
|
|
454
|
-
|
|
455
|
-
```
|
|
456
|
-
📊 深度验证报告
|
|
457
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
458
|
-
✅ 通过项目: 15/18
|
|
459
|
-
|
|
460
|
-
❌ 发现问题 (3):
|
|
461
|
-
1. [高] 第3章: 主角名"李明"应为"李中庸"
|
|
462
|
-
2. [中] 第7章: 沈玉卿称呼错误,用了"师兄"
|
|
463
|
-
3. [低] 第12章: 时间线跳跃未说明
|
|
464
|
-
|
|
465
|
-
🔧 可自动修复: 2个 → 运行 /track --fix
|
|
466
|
-
```
|
|
467
|
-
|
|
468
|
-
### 自动修复模式 (--fix)
|
|
469
|
-
|
|
470
|
-
基于验证报告自动修复:角色名称错误、固定称呼错误、简单拼写错误(根据 validation-rules.json)。不可自动修复的问题标记为需人工处理。修复后建议重新运行 `--check` 验证。
|
|
471
|
-
|
|
472
|
-
```
|
|
473
|
-
🔧 自动修复报告
|
|
474
|
-
━━━━━━━━━━━━━━━━━━━
|
|
475
|
-
✅ 已修复: 2个问题
|
|
476
|
-
- 第3章: "李明" → "李中庸"
|
|
477
|
-
- 第7章: "师兄" → "公子"
|
|
478
|
-
|
|
479
|
-
⚠️ 需人工处理: 1个问题
|
|
480
|
-
- 第12章: 时间线跳跃需要补充说明
|
|
481
|
-
|
|
482
|
-
修复完成!建议重新运行 /track --check 验证
|
|
483
|
-
```
|
|
484
|
-
|
|
485
|
-
### 智能分析与建议
|
|
486
|
-
|
|
487
|
-
根据追踪数据自动分析:进度对比(计划 vs 实际)、完成时间预测、伏笔覆盖率、角色出场频率、冲突强度曲线。基于分析结果提供下一步写作重点、待处理伏笔、关系线和时间线调整建议。
|
|
488
|
-
|
|
489
|
-
```
|
|
490
|
-
📊 综合追踪报告
|
|
491
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
492
|
-
[进度条] ████████░░░░░░░ 25%
|
|
493
|
-
|
|
494
|
-
🎯 下一步建议:
|
|
495
|
-
1. 第65章前回收"青铜古镜"伏笔
|
|
496
|
-
2. 加强主角与反派的正面冲突
|
|
497
|
-
3. 补充第二卷的时间线细节
|
|
498
|
-
|
|
499
|
-
⚠️ 需要关注:
|
|
500
|
-
- 角色B已5章未出场
|
|
501
|
-
- 支线剧情进度滞后
|
|
502
|
-
```
|
|
503
|
-
|
|
504
|
-
### 数据导出
|
|
505
|
-
|
|
506
|
-
支持导出为 Markdown 报告、JSON 原始数据、可视化图表(关系图、时间轴)。
|
|
507
|
-
|
|
508
|
-
---
|
|
509
|
-
|
|
510
|
-
### 批量同步模式 (--sync)
|
|
511
|
-
|
|
512
|
-
批量扫描并同步多个章节的 tracking 数据。适用于连续写了多章但忘记更新 tracking、导入外部内容、数据严重不同步等场景。
|
|
513
|
-
|
|
514
|
-
#### 增量同步(--sync --incremental)
|
|
515
|
-
|
|
516
|
-
只处理上次同步后的新章节:
|
|
517
|
-
|
|
518
|
-
1. 读取 `tracking/tracking-log.md` 最后一条记录,获取 last_sync_chapter
|
|
519
|
-
2. 扫描 `stories/[current]/content/` 中编号 > last_sync_chapter 的章节
|
|
520
|
-
3. 只对这些新章节执行 tracking 更新
|
|
521
|
-
4. 更新 tracking-log.md 记录本次同步
|
|
522
|
-
|
|
523
|
-
如果 tracking-log.md 不存在或无法确定 last_sync_chapter,回退到全量同步。
|
|
524
|
-
|
|
525
|
-
#### 使用场景
|
|
526
|
-
|
|
527
|
-
- 连续写了多章但忘记更新 tracking
|
|
528
|
-
- 导入外部写作内容后需要同步
|
|
529
|
-
- tracking 数据与实际内容严重不同步
|
|
530
|
-
|
|
531
|
-
#### 同步流程
|
|
532
|
-
|
|
533
|
-
##### Step 1: 差异检测
|
|
534
|
-
|
|
535
|
-
扫描所有已写章节,对比 tracking 数据,找出不同步的部分:
|
|
536
|
-
|
|
537
|
-
```
|
|
538
|
-
📊 同步差异检测
|
|
539
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
540
|
-
已写章节:[N] 章 | tracking 最后更新:第 [M] 章
|
|
541
|
-
需要同步:第 [M+1]-[N] 章(共 [K] 章)
|
|
542
|
-
差异:角色 [X] 处 | 关系 [Y] 处 | 情节 [Z] 处 | 时间线 [W] 处
|
|
543
|
-
```
|
|
544
|
-
|
|
545
|
-
##### Step 2: 批量分析
|
|
546
|
-
|
|
547
|
-
对每个未同步的章节执行内容分析,提取:
|
|
548
|
-
1. 出场角色及状态变化
|
|
549
|
-
2. 角色关系变化
|
|
550
|
-
3. 情节推进事件
|
|
551
|
-
4. 时间线信息
|
|
552
|
-
|
|
553
|
-
##### Step 3: 生成同步方案
|
|
554
|
-
|
|
555
|
-
```
|
|
556
|
-
📋 同步方案
|
|
557
|
-
━━━━━━━━━━━━━━━━━━━━
|
|
558
|
-
|
|
559
|
-
### character-state.json
|
|
560
|
-
[列出所有需要更新的角色状态变化]
|
|
561
|
-
|
|
562
|
-
### relationships.json
|
|
563
|
-
[列出所有需要更新的关系变化]
|
|
564
|
-
|
|
565
|
-
### plot-tracker.json
|
|
566
|
-
[列出所有需要更新的情节进度]
|
|
567
|
-
|
|
568
|
-
### timeline.json
|
|
569
|
-
[列出所有需要更新的时间线事件]
|
|
570
|
-
|
|
571
|
-
是否应用同步? [Y/N/S(选择性)]
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
##### Step 4: 执行同步
|
|
575
|
-
|
|
576
|
-
用户确认后,批量更新所有 tracking 文件,并记录到 tracking-log.md。
|
|
577
|
-
|
|
578
|
-
#### 性能优化
|
|
579
|
-
|
|
580
|
-
- 按章节顺序处理,避免重复分析
|
|
581
|
-
- 增量更新:仅更新变化部分
|
|
582
|
-
- 批量写入:所有更新一次性写入文件
|
|
583
|
-
|
|
584
|
-
---
|
|
585
|
-
|
|
586
|
-
### 数据写入协议
|
|
587
|
-
|
|
588
|
-
当 /track 更新 tracking 数据时,根据当前模式选择写入方式:
|
|
589
|
-
|
|
590
|
-
**三层 Fallback 数据加载:**
|
|
591
|
-
|
|
592
|
-
读取 tracking 数据时按以下优先级:
|
|
593
|
-
1. **MCP 查询(优先)**:调用对应 MCP 工具获取精确数据
|
|
594
|
-
2. **分片 JSON(次优)**:读取 `tracking/volumes/[currentVolume]/` 下的分片文件
|
|
595
|
-
3. **单文件 JSON(兜底)**:读取 `tracking/` 下的单文件
|
|
596
|
-
|
|
597
|
-
**分片模式写入:**
|
|
598
|
-
1. 确定当前章节属于哪个卷(从 volume-summaries.json 的 chapters 范围判断)
|
|
599
|
-
2. 更新该卷的分片文件(如 `tracking/volumes/vol-03/character-state.json`)
|
|
600
|
-
3. 同步更新全局摘要文件(如 characters-summary.json 的 activeCount)
|
|
601
|
-
4. 如果 MCP 可用,调用 `sync_from_json` 同步到 SQLite
|
|
602
|
-
|
|
603
|
-
**单文件模式写入:**
|
|
604
|
-
- 直接更新 `tracking/` 下的文件(现有逻辑)
|
|
605
|
-
|
|
606
|
-
---
|
|
607
|
-
|
|
608
|
-
## 🆕 分片迁移(--migrate)
|
|
609
|
-
|
|
610
|
-
当 tracking 文件过大(单文件超过 50KB)时,将数据从单文件模式迁移到分卷分片模式。
|
|
611
|
-
|
|
612
|
-
### 使用方法
|
|
613
|
-
|
|
614
|
-
```
|
|
615
|
-
/track --migrate # 交互式迁移(AI 引导确认卷边界)
|
|
616
|
-
/track --migrate --auto # 自动迁移(按 100 章一卷拆分)
|
|
617
|
-
/track --migrate --volumes "1-100,101-250,251-400" # 自定义卷边界
|
|
618
|
-
```
|
|
619
|
-
|
|
620
|
-
### 迁移流程
|
|
621
|
-
|
|
622
|
-
**阶段 1:检测与备份**
|
|
623
|
-
|
|
624
|
-
1. 运行脚本检测当前状态:
|
|
625
|
-
```powershell
|
|
626
|
-
powershell -File {SCRIPT_DIR}/migrate-tracking.ps1 -Mode check -Json
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
2. 如果已经是分片模式,提示用户并退出
|
|
630
|
-
3. 如果是单文件模式,运行备份:
|
|
631
|
-
```powershell
|
|
632
|
-
powershell -File {SCRIPT_DIR}/migrate-tracking.ps1 -Mode backup -Json
|
|
633
|
-
```
|
|
634
|
-
|
|
635
|
-
**阶段 2:确定卷边界**
|
|
636
|
-
- `--auto`:从 `plot-tracker.json` 的 `checkpoints.volumeEnd` 获取,无则按 100 章一卷
|
|
637
|
-
- `--volumes`:解析用户提供的边界字符串,验证连续性
|
|
638
|
-
- 交互式(默认):分析情节弧线建议卷边界,用户确认
|
|
639
|
-
|
|
640
|
-
**阶段 3:数据拆分**
|
|
641
|
-
|
|
642
|
-
运行脚本创建目录结构:
|
|
643
|
-
```powershell
|
|
644
|
-
powershell -File {SCRIPT_DIR}/migrate-tracking.ps1 -Mode auto -Json
|
|
645
|
-
```
|
|
646
|
-
|
|
647
|
-
按卷边界拆分 character-state / timeline / relationships / plot-tracker 四个文件:
|
|
648
|
-
- 拆分原则:按 chapter 分配数据到对应卷,跨卷数据保留引用
|
|
649
|
-
- 写入 `tracking/volumes/vol-XX/`
|
|
650
|
-
|
|
651
|
-
拆分规则概要:
|
|
652
|
-
| 文件 | 拆分方式 |
|
|
653
|
-
|------|---------|
|
|
654
|
-
| character-state.json | protagonist 复制到每卷(状态为卷末);supportingCharacters 按 lastSeen.chapter 分配;appearanceTracking 按 chapter 分配 |
|
|
655
|
-
| timeline.json | events 按 chapter 分配;storyTime 每卷记录时间范围;parallelEvents 按时间点分配 |
|
|
656
|
-
| relationships.json | characters 复制到每卷(只保留活跃角色);history 按 chapter 分配;factions 复制到每卷(状态为卷末) |
|
|
657
|
-
| plot-tracker.json | foreshadowing 按 planted.chapter 分配(跨卷未解决伏笔保留引用);plotlines 每卷记录进展;checkpoints 按卷分配 |
|
|
658
|
-
|
|
659
|
-
**阶段 4:生成全局摘要**
|
|
660
|
-
- 生成 4 个摘要文件到 `tracking/summary/`:
|
|
661
|
-
- characters-summary.json — 活跃/归档角色统计
|
|
662
|
-
- plot-summary.json — 未解决伏笔汇总、回收统计
|
|
663
|
-
- timeline-summary.json — 每卷关键里程碑、故事时间范围
|
|
664
|
-
- volume-summaries.json — 每卷摘要(id, title, chapters, wordCount, keyEvents, unresolvedPlots, newCharacters, exitedCharacters)
|
|
665
|
-
|
|
666
|
-
**阶段 5:初始化 SQLite**(MCP 可用时)
|
|
667
|
-
- 调用 `sync_from_json` 导入 + `sync_status` 验证
|
|
668
|
-
|
|
669
|
-
**阶段 6:验证与清理**
|
|
670
|
-
|
|
671
|
-
1. 验证每个卷的文件都存在且 JSON 格式正确
|
|
672
|
-
2. 验证摘要文件的统计数据与分卷数据一致
|
|
673
|
-
3. 确认无误后,删除原始单文件(备份已保存)
|
|
674
|
-
4. 输出迁移报告:
|
|
675
|
-
|
|
676
|
-
```
|
|
677
|
-
📦 分片迁移报告
|
|
678
|
-
━━━━━━━━━━━━━━━━━━━
|
|
679
|
-
迁移前:单文件模式,总大小 XXX KB
|
|
680
|
-
迁移后:N 卷分片,每卷平均 XX KB
|
|
681
|
-
备份位置:tracking/backup/YYYYMMDD-HHMMSS/
|
|
682
|
-
```
|
|
683
|
-
|
|
684
|
-
### 错误处理
|
|
685
|
-
|
|
686
|
-
任何步骤失败时,提示用户从备份恢复:
|
|
687
|
-
```
|
|
688
|
-
迁移失败。备份文件在 tracking/backup/YYYYMMDD-HHMMSS/
|
|
689
|
-
可以手动将备份文件复制回 tracking/ 恢复原状。
|
|
690
|
-
```
|
|
691
|
-
不自动删除备份,由用户手动清理。
|
|
692
|
-
|
|
693
|
-
---
|
|
694
|
-
|
|
695
|
-
## 🔗 命令链式提示
|
|
696
|
-
|
|
697
|
-
**追踪报告生成后,自动附加下一步建议**:
|
|
698
|
-
|
|
699
|
-
```
|
|
700
|
-
💡 下一步建议:
|
|
701
|
-
1️⃣ `/write [下一章节号]` — 数据正常,继续写作
|
|
702
|
-
2️⃣ `/guide` — 查看智能引导,获取全局建议
|
|
703
|
-
3️⃣ `/analyze --focus=logic` — 如发现一致性问题,执行逻辑专项分析
|
|
704
|
-
```
|