novelws 1.2.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.
Files changed (320) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/LICENSE +22 -0
  3. package/README.md +372 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +50 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/check.d.ts +6 -0
  9. package/dist/commands/check.d.ts.map +1 -0
  10. package/dist/commands/check.js +32 -0
  11. package/dist/commands/check.js.map +1 -0
  12. package/dist/commands/init.d.ts +6 -0
  13. package/dist/commands/init.d.ts.map +1 -0
  14. package/dist/commands/init.js +160 -0
  15. package/dist/commands/init.js.map +1 -0
  16. package/dist/commands/plugin.d.ts +6 -0
  17. package/dist/commands/plugin.d.ts.map +1 -0
  18. package/dist/commands/plugin.js +135 -0
  19. package/dist/commands/plugin.js.map +1 -0
  20. package/dist/commands/upgrade.d.ts +6 -0
  21. package/dist/commands/upgrade.d.ts.map +1 -0
  22. package/dist/commands/upgrade.js +92 -0
  23. package/dist/commands/upgrade.js.map +1 -0
  24. package/dist/core/config.d.ts +72 -0
  25. package/dist/core/config.d.ts.map +1 -0
  26. package/dist/core/config.js +136 -0
  27. package/dist/core/config.js.map +1 -0
  28. package/dist/core/errors.d.ts +59 -0
  29. package/dist/core/errors.d.ts.map +1 -0
  30. package/dist/core/errors.js +125 -0
  31. package/dist/core/errors.js.map +1 -0
  32. package/dist/core/platform.d.ts +27 -0
  33. package/dist/core/platform.d.ts.map +1 -0
  34. package/dist/core/platform.js +75 -0
  35. package/dist/core/platform.js.map +1 -0
  36. package/dist/core/template.d.ts +35 -0
  37. package/dist/core/template.d.ts.map +1 -0
  38. package/dist/core/template.js +94 -0
  39. package/dist/core/template.js.map +1 -0
  40. package/dist/plugins/identifier.d.ts +13 -0
  41. package/dist/plugins/identifier.d.ts.map +1 -0
  42. package/dist/plugins/identifier.js +72 -0
  43. package/dist/plugins/identifier.js.map +1 -0
  44. package/dist/plugins/installers/base.d.ts +27 -0
  45. package/dist/plugins/installers/base.d.ts.map +1 -0
  46. package/dist/plugins/installers/base.js +30 -0
  47. package/dist/plugins/installers/base.js.map +1 -0
  48. package/dist/plugins/installers/github.d.ts +22 -0
  49. package/dist/plugins/installers/github.d.ts.map +1 -0
  50. package/dist/plugins/installers/github.js +133 -0
  51. package/dist/plugins/installers/github.js.map +1 -0
  52. package/dist/plugins/installers/local.d.ts +16 -0
  53. package/dist/plugins/installers/local.d.ts.map +1 -0
  54. package/dist/plugins/installers/local.js +69 -0
  55. package/dist/plugins/installers/local.js.map +1 -0
  56. package/dist/plugins/installers/npm.d.ts +20 -0
  57. package/dist/plugins/installers/npm.d.ts.map +1 -0
  58. package/dist/plugins/installers/npm.js +99 -0
  59. package/dist/plugins/installers/npm.js.map +1 -0
  60. package/dist/plugins/manager.d.ts +77 -0
  61. package/dist/plugins/manager.d.ts.map +1 -0
  62. package/dist/plugins/manager.js +349 -0
  63. package/dist/plugins/manager.js.map +1 -0
  64. package/dist/plugins/registry.d.ts +48 -0
  65. package/dist/plugins/registry.d.ts.map +1 -0
  66. package/dist/plugins/registry.js +111 -0
  67. package/dist/plugins/registry.js.map +1 -0
  68. package/dist/plugins/types.d.ts +66 -0
  69. package/dist/plugins/types.d.ts.map +1 -0
  70. package/dist/plugins/types.js +2 -0
  71. package/dist/plugins/types.js.map +1 -0
  72. package/dist/plugins/validator.d.ts +19 -0
  73. package/dist/plugins/validator.d.ts.map +1 -0
  74. package/dist/plugins/validator.js +164 -0
  75. package/dist/plugins/validator.js.map +1 -0
  76. package/dist/utils/logger.d.ts +13 -0
  77. package/dist/utils/logger.d.ts.map +1 -0
  78. package/dist/utils/logger.js +48 -0
  79. package/dist/utils/logger.js.map +1 -0
  80. package/dist/utils/project.d.ts +24 -0
  81. package/dist/utils/project.d.ts.map +1 -0
  82. package/dist/utils/project.js +61 -0
  83. package/dist/utils/project.js.map +1 -0
  84. package/dist/version.d.ts +3 -0
  85. package/dist/version.d.ts.map +1 -0
  86. package/dist/version.js +21 -0
  87. package/dist/version.js.map +1 -0
  88. package/package.json +76 -0
  89. package/plugins/authentic-voice/README.md +31 -0
  90. package/plugins/authentic-voice/commands/authentic-voice.md +73 -0
  91. package/plugins/authentic-voice/commands/authenticity-audit.md +37 -0
  92. package/plugins/authentic-voice/config.yaml +30 -0
  93. package/plugins/authentic-voice/experts/authentic-editor.md +27 -0
  94. package/plugins/export/README.md +319 -0
  95. package/plugins/export/commands/export.md +460 -0
  96. package/plugins/export/commands/generate-cover.md +256 -0
  97. package/plugins/export/commands/metadata.md +309 -0
  98. package/plugins/export/config.yaml +47 -0
  99. package/plugins/export/experts/publishing-expert.md +171 -0
  100. package/plugins/export/templates/epub/chapter-template.html +13 -0
  101. package/plugins/export/templates/epub/cover-template.html +14 -0
  102. package/plugins/export/templates/epub/stylesheet.css +200 -0
  103. package/plugins/export/templates/pdf/ebook-style.css +137 -0
  104. package/plugins/export/templates/pdf/print-style.css +179 -0
  105. package/plugins/export/templates/platforms/jinjiang-format.md +101 -0
  106. package/plugins/export/templates/platforms/qidian-format.md +108 -0
  107. package/plugins/export/templates/platforms/tomato-format.md +95 -0
  108. package/plugins/translate/README.md +265 -0
  109. package/plugins/translate/commands/glossary.md +731 -0
  110. package/plugins/translate/commands/translate-preview.md +543 -0
  111. package/plugins/translate/commands/translate.md +649 -0
  112. package/plugins/translate/config.yaml +43 -0
  113. package/plugins/translate/experts/literary-translator.md +605 -0
  114. package/templates/commands/analyze.md +1485 -0
  115. package/templates/commands/checklist.md +434 -0
  116. package/templates/commands/clarify.md +257 -0
  117. package/templates/commands/constitution.md +257 -0
  118. package/templates/commands/expert.md +136 -0
  119. package/templates/commands/plan.md +749 -0
  120. package/templates/commands/recap.md +613 -0
  121. package/templates/commands/relations.md +96 -0
  122. package/templates/commands/revise.md +341 -0
  123. package/templates/commands/specify.md +682 -0
  124. package/templates/commands/tasks.md +142 -0
  125. package/templates/commands/timeline.md +73 -0
  126. package/templates/commands/track-init.md +137 -0
  127. package/templates/commands/track.md +463 -0
  128. package/templates/commands/write.md +1264 -0
  129. package/templates/config/keyword-mappings.json +106 -0
  130. package/templates/knowledge/audit-config.json +26 -0
  131. package/templates/knowledge/character-profiles.md +152 -0
  132. package/templates/knowledge/character-voices.md +137 -0
  133. package/templates/knowledge/locations.md +184 -0
  134. package/templates/knowledge/world-setting.md +121 -0
  135. package/templates/knowledge-base/README.md +285 -0
  136. package/templates/knowledge-base/character-archetypes/01-hero.md +233 -0
  137. package/templates/knowledge-base/character-archetypes/02-mentor.md +177 -0
  138. package/templates/knowledge-base/character-archetypes/03-shadow.md +221 -0
  139. package/templates/knowledge-base/character-archetypes/04-ally.md +178 -0
  140. package/templates/knowledge-base/character-archetypes/05-shapeshifter.md +177 -0
  141. package/templates/knowledge-base/character-archetypes/06-trickster.md +181 -0
  142. package/templates/knowledge-base/character-archetypes/07-threshold-guardian.md +177 -0
  143. package/templates/knowledge-base/character-archetypes/08-herald.md +180 -0
  144. package/templates/knowledge-base/character-archetypes/09-father.md +249 -0
  145. package/templates/knowledge-base/character-archetypes/10-mother.md +202 -0
  146. package/templates/knowledge-base/character-archetypes/11-child.md +183 -0
  147. package/templates/knowledge-base/character-archetypes/12-sage.md +202 -0
  148. package/templates/knowledge-base/character-archetypes/README.md +60 -0
  149. package/templates/knowledge-base/character-archetypes/application-guide.md +222 -0
  150. package/templates/knowledge-base/character-archetypes/archetype-combinations.md +242 -0
  151. package/templates/knowledge-base/character-archetypes/config.yaml +28 -0
  152. package/templates/knowledge-base/character-archetypes/examples-analysis.md +223 -0
  153. package/templates/knowledge-base/craft/character-arc.md +1153 -0
  154. package/templates/knowledge-base/craft/dialogue.md +1170 -0
  155. package/templates/knowledge-base/craft/pacing.md +1200 -0
  156. package/templates/knowledge-base/craft/scene-structure.md +1136 -0
  157. package/templates/knowledge-base/craft/show-not-tell.md +1012 -0
  158. package/templates/knowledge-base/emotional-beats/01-first-meeting.md +145 -0
  159. package/templates/knowledge-base/emotional-beats/02-bonding-moment.md +226 -0
  160. package/templates/knowledge-base/emotional-beats/03-declaration.md +284 -0
  161. package/templates/knowledge-base/emotional-beats/04-triumph.md +240 -0
  162. package/templates/knowledge-base/emotional-beats/05-reunion.md +396 -0
  163. package/templates/knowledge-base/emotional-beats/06-forgiveness.md +204 -0
  164. package/templates/knowledge-base/emotional-beats/07-betrayal.md +204 -0
  165. package/templates/knowledge-base/emotional-beats/08-loss.md +214 -0
  166. package/templates/knowledge-base/emotional-beats/09-rejection.md +254 -0
  167. package/templates/knowledge-base/emotional-beats/10-failure.md +244 -0
  168. package/templates/knowledge-base/emotional-beats/11-misunderstanding.md +205 -0
  169. package/templates/knowledge-base/emotional-beats/12-farewell.md +283 -0
  170. package/templates/knowledge-base/emotional-beats/13-revelation.md +242 -0
  171. package/templates/knowledge-base/emotional-beats/14-point-of-no-return.md +215 -0
  172. package/templates/knowledge-base/emotional-beats/15-dark-night.md +244 -0
  173. package/templates/knowledge-base/emotional-beats/16-sacrifice.md +246 -0
  174. package/templates/knowledge-base/emotional-beats/17-awakening.md +246 -0
  175. package/templates/knowledge-base/emotional-beats/18-confrontation.md +217 -0
  176. package/templates/knowledge-base/emotional-beats/19-bittersweet-goodbye.md +368 -0
  177. package/templates/knowledge-base/emotional-beats/20-moral-dilemma.md +248 -0
  178. package/templates/knowledge-base/emotional-beats/21-temptation.md +240 -0
  179. package/templates/knowledge-base/emotional-beats/22-redemption.md +210 -0
  180. package/templates/knowledge-base/emotional-beats/README.md +104 -0
  181. package/templates/knowledge-base/emotional-beats/beat-sequences.md +276 -0
  182. package/templates/knowledge-base/emotional-beats/config.yaml +30 -0
  183. package/templates/knowledge-base/emotional-beats/pacing-guide.md +390 -0
  184. package/templates/knowledge-base/genres/historical.md +1127 -0
  185. package/templates/knowledge-base/genres/mystery.md +1123 -0
  186. package/templates/knowledge-base/genres/revenge.md +846 -0
  187. package/templates/knowledge-base/genres/romance.md +948 -0
  188. package/templates/knowledge-base/genres/sci-fi.md +156 -0
  189. package/templates/knowledge-base/genres/thriller.md +166 -0
  190. package/templates/knowledge-base/genres/wuxia.md +143 -0
  191. package/templates/knowledge-base/references/README.md +96 -0
  192. package/templates/knowledge-base/references/china-1920s/culture.md +423 -0
  193. package/templates/knowledge-base/references/china-1920s/daily-life.md +616 -0
  194. package/templates/knowledge-base/references/china-1920s/overview.md +298 -0
  195. package/templates/knowledge-base/references/china-1920s/society.md +703 -0
  196. package/templates/knowledge-base/references/china-1920s/warlords.md +427 -0
  197. package/templates/knowledge-base/references/cultivation-world/daily-life.md +108 -0
  198. package/templates/knowledge-base/references/cultivation-world/overview.md +64 -0
  199. package/templates/knowledge-base/references/cultivation-world/power-system.md +108 -0
  200. package/templates/knowledge-base/references/cultivation-world/sects.md +104 -0
  201. package/templates/knowledge-base/references/cultivation-world/world-setting.md +108 -0
  202. package/templates/knowledge-base/references/modern-workplace/corporate.md +115 -0
  203. package/templates/knowledge-base/references/modern-workplace/daily-life.md +129 -0
  204. package/templates/knowledge-base/references/modern-workplace/overview.md +73 -0
  205. package/templates/knowledge-base/references/modern-workplace/relationships.md +107 -0
  206. package/templates/knowledge-base/references/modern-workplace/tech-industry.md +131 -0
  207. package/templates/knowledge-base/references/tang-dynasty/culture.md +135 -0
  208. package/templates/knowledge-base/references/tang-dynasty/daily-life.md +139 -0
  209. package/templates/knowledge-base/references/tang-dynasty/overview.md +76 -0
  210. package/templates/knowledge-base/references/tang-dynasty/politics.md +121 -0
  211. package/templates/knowledge-base/references/tang-dynasty/society.md +126 -0
  212. package/templates/knowledge-base/requirements/README.md +240 -0
  213. package/templates/knowledge-base/requirements/anti-ai-v3.md +46 -0
  214. package/templates/knowledge-base/requirements/anti-ai-v4.md +430 -0
  215. package/templates/knowledge-base/requirements/fast-paced.md +552 -0
  216. package/templates/knowledge-base/requirements/no-poison.md +60 -0
  217. package/templates/knowledge-base/requirements/romance-angst.md +102 -0
  218. package/templates/knowledge-base/requirements/romance-sweet.md +63 -0
  219. package/templates/knowledge-base/requirements/serious-literature.md +45 -0
  220. package/templates/knowledge-base/requirements/strong-emotion.md +60 -0
  221. package/templates/knowledge-base/styles/README.md +302 -0
  222. package/templates/knowledge-base/styles/ancient-style.md +579 -0
  223. package/templates/knowledge-base/styles/literary.md +439 -0
  224. package/templates/knowledge-base/styles/minimal.md +472 -0
  225. package/templates/knowledge-base/styles/natural-voice.md +930 -0
  226. package/templates/knowledge-base/styles/web-novel.md +525 -0
  227. package/templates/memory/constitution.md +140 -0
  228. package/templates/memory/personal-voice.md +113 -0
  229. package/templates/scripts/README.md +187 -0
  230. package/templates/scripts/bash/analyze-story.sh +170 -0
  231. package/templates/scripts/bash/check-consistency.sh +463 -0
  232. package/templates/scripts/bash/check-plot.sh +374 -0
  233. package/templates/scripts/bash/check-timeline.sh +346 -0
  234. package/templates/scripts/bash/check-world.sh +395 -0
  235. package/templates/scripts/bash/check-writing-state.sh +854 -0
  236. package/templates/scripts/bash/clarify-story.sh +117 -0
  237. package/templates/scripts/bash/common.sh +151 -0
  238. package/templates/scripts/bash/constitution.sh +114 -0
  239. package/templates/scripts/bash/generate-tasks.sh +65 -0
  240. package/templates/scripts/bash/init-tracking.sh +183 -0
  241. package/templates/scripts/bash/manage-relations.sh +174 -0
  242. package/templates/scripts/bash/plan-story.sh +100 -0
  243. package/templates/scripts/bash/specify-story.sh +93 -0
  244. package/templates/scripts/bash/tasks-story.sh +96 -0
  245. package/templates/scripts/bash/test-word-count.sh +182 -0
  246. package/templates/scripts/bash/tests/bench-preload-cache.sh +100 -0
  247. package/templates/scripts/bash/tests/run-all-benchmarks.sh +16 -0
  248. package/templates/scripts/bash/tests/test-cache-semantics.sh +199 -0
  249. package/templates/scripts/bash/tests/test-cross-platform.sh +35 -0
  250. package/templates/scripts/bash/tests/test-edge-cases-bash.sh +60 -0
  251. package/templates/scripts/bash/tests/test-phase1-bash.sh +28 -0
  252. package/templates/scripts/bash/tests/test-preload-cache.sh +123 -0
  253. package/templates/scripts/bash/tests/test-regex-precompile.sh +89 -0
  254. package/templates/scripts/bash/tests/test-regression-bash.sh +42 -0
  255. package/templates/scripts/bash/tests/test-task6-verification.sh +200 -0
  256. package/templates/scripts/bash/text-audit.sh +144 -0
  257. package/templates/scripts/bash/track-progress.sh +194 -0
  258. package/templates/scripts/powershell/analyze-story.ps1 +171 -0
  259. package/templates/scripts/powershell/check-analyze-stage.ps1 +110 -0
  260. package/templates/scripts/powershell/check-consistency.ps1 +138 -0
  261. package/templates/scripts/powershell/check-plot.ps1 +139 -0
  262. package/templates/scripts/powershell/check-timeline.ps1 +112 -0
  263. package/templates/scripts/powershell/check-writing-state.ps1 +490 -0
  264. package/templates/scripts/powershell/check-writing-state.ps1.backup +135 -0
  265. package/templates/scripts/powershell/clarify-story.ps1 +107 -0
  266. package/templates/scripts/powershell/common.ps1 +36 -0
  267. package/templates/scripts/powershell/constitution.ps1 +142 -0
  268. package/templates/scripts/powershell/generate-tasks.ps1 +75 -0
  269. package/templates/scripts/powershell/init-tracking.ps1 +98 -0
  270. package/templates/scripts/powershell/manage-relations.ps1 +134 -0
  271. package/templates/scripts/powershell/plan-story.ps1 +96 -0
  272. package/templates/scripts/powershell/specify-story.ps1 +82 -0
  273. package/templates/scripts/powershell/tests/bench-ps-cache.ps1 +80 -0
  274. package/templates/scripts/powershell/tests/test-cross-platform.ps1 +27 -0
  275. package/templates/scripts/powershell/tests/test-edge-cases-ps.ps1 +29 -0
  276. package/templates/scripts/powershell/tests/test-phase1-ps.ps1 +28 -0
  277. package/templates/scripts/powershell/tests/test-ps-cache.ps1 +73 -0
  278. package/templates/scripts/powershell/tests/test-regression-ps.ps1 +40 -0
  279. package/templates/scripts/powershell/text-audit.ps1 +100 -0
  280. package/templates/scripts/powershell/track-progress.ps1 +105 -0
  281. package/templates/skills/genre-knowledge/fantasy/SKILL.md +355 -0
  282. package/templates/skills/genre-knowledge/mystery/SKILL.md +337 -0
  283. package/templates/skills/genre-knowledge/romance/SKILL.md +228 -0
  284. package/templates/skills/genre-knowledge/sci-fi/SKILL.md +65 -0
  285. package/templates/skills/genre-knowledge/thriller/SKILL.md +95 -0
  286. package/templates/skills/quality-assurance/consistency-checker/SKILL.md +341 -0
  287. package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +157 -0
  288. package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +147 -0
  289. package/templates/skills/quality-assurance/getting-started/SKILL.md +224 -0
  290. package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +143 -0
  291. package/templates/skills/quality-assurance/pov-validator/SKILL.md +135 -0
  292. package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +583 -0
  293. package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +119 -0
  294. package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +146 -0
  295. package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +160 -0
  296. package/templates/skills/quality-assurance/requirement-detector/SKILL.md +149 -0
  297. package/templates/skills/quality-assurance/setting-detector/SKILL.md +611 -0
  298. package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +126 -0
  299. package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +206 -0
  300. package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +207 -0
  301. package/templates/skills/quality-assurance/style-detector/SKILL.md +126 -0
  302. package/templates/skills/quality-assurance/workflow-guide/SKILL.md +381 -0
  303. package/templates/skills/writing-techniques/character-arc/SKILL.md +267 -0
  304. package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +366 -0
  305. package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +553 -0
  306. package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +226 -0
  307. package/templates/skills/writing-techniques/pacing-control/SKILL.md +377 -0
  308. package/templates/skills/writing-techniques/reader-expectation/SKILL.md +578 -0
  309. package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +209 -0
  310. package/templates/skills/writing-techniques/revision-polish/SKILL.md +496 -0
  311. package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +221 -0
  312. package/templates/skills/writing-techniques/scene-structure/SKILL.md +361 -0
  313. package/templates/skills/writing-techniques/style-learning/SKILL.md +436 -0
  314. package/templates/specification-example.md +146 -0
  315. package/templates/tracking/character-state.json +78 -0
  316. package/templates/tracking/plot-tracker.json +62 -0
  317. package/templates/tracking/relationships.json +70 -0
  318. package/templates/tracking/timeline.json +49 -0
  319. package/templates/tracking/tracking-log.md +110 -0
  320. package/templates/tracking/validation-rules.json +128 -0
@@ -0,0 +1,463 @@
1
+ ---
2
+ name: track
3
+ description: 综合追踪小说创作进度和内容
4
+ argument-hint: [--brief | --plot | --stats | --check | --fix]
5
+ allowed-tools: Read(//spec/tracking/**), Read(spec/tracking/**), Read(//stories/**), Read(stories/**), Bash(find:*), Bash(wc:*), Bash(grep:*), Bash(*)
6
+ model: claude-sonnet-4-5-20250929
7
+ scripts:
8
+ sh: .specify/scripts/bash/track-progress.sh
9
+ ps: .specify/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
+
40
+ ## 使用方法
41
+
42
+ 执行脚本 {SCRIPT} [选项]:
43
+ - 无参数 - 显示完整追踪报告
44
+ - `--brief` - 显示简要信息
45
+ - `--plot` - 仅显示情节追踪
46
+ - `--stats` - 仅显示统计数据
47
+ - `--check` - **[增强]** 执行深度一致性检查(包含角色验证)
48
+ - `--fix` - **[新增]** 自动修复发现的简单问题
49
+
50
+ ## 数据来源
51
+
52
+ 整合多个追踪文件的信息:
53
+ - `progress.json` - 写作进度
54
+ - `spec/tracking/plot-tracker.json` - 情节追踪
55
+ - `spec/tracking/timeline.json` - 时间线
56
+ - `spec/tracking/relationships.json` - 关系网络
57
+ - `spec/tracking/character-state.json` - 角色状态
58
+ - `spec/tracking/validation-rules.json` - **[新增]** 验证规则(用于--check和--fix)
59
+
60
+ ---
61
+
62
+ ## 🆕 Tracking 历史查看
63
+
64
+ **新增功能**: 查看 tracking-log.md 中记录的所有历史更新
65
+
66
+ ### 使用方法
67
+
68
+ **查看所有历史更新**:
69
+ ```bash
70
+ /track --log
71
+ ```
72
+
73
+ **查看特定命令的历史**:
74
+ ```bash
75
+ /track --log --command=write
76
+ /track --log --command=analyze
77
+ /track --log --command=plan
78
+ ```
79
+
80
+ **查看特定时间范围的历史**:
81
+ ```bash
82
+ /track --log --since=2026-02-01
83
+ /track --log --until=2026-02-08
84
+ /track --log --since=2026-02-01 --until=2026-02-08
85
+ ```
86
+
87
+ **查看特定文件的更新历史**:
88
+ ```bash
89
+ /track --log --file=character-state.json
90
+ /track --log --file=relationships.json
91
+ /track --log --file=plot-tracker.json
92
+ /track --log --file=timeline.json
93
+ ```
94
+
95
+ ### 输出格式
96
+
97
+ #### 完整历史列表
98
+
99
+ ```markdown
100
+ 📜 Tracking 更新历史
101
+
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+
104
+ ## 2026-02-08 14:30:25 - /write chapter-05
105
+
106
+ **状态**: 已自动更新
107
+ **更新文件**: character-state.json, relationships.json, plot-tracker.json, timeline.json
108
+
109
+ **摘要**:
110
+ - 林晓情绪变化:平静 → 焦虑
111
+ - 新增关系:林晓 → 队长(信任)
112
+ - 情节推进:主线 +10%
113
+ - 时间线事件:Day 15 - 首次合作任务
114
+
115
+ [查看详情]
116
+
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+
119
+ ## 2026-02-08 15:45:10 - /analyze chapter-01-05
120
+
121
+ **状态**: 用户确认后更新(选择:全部应用)
122
+ **更新文件**: character-state.json, relationships.json, timeline.json, plot-tracker.json
123
+
124
+ **摘要**:
125
+ - 角色分析:Ch.5 林晓焦虑情绪
126
+ - 关系分析:林晓与队长建立信任
127
+ - 时间线:第 15 天事件补充
128
+ - 情节推进:主线 +10%
129
+
130
+ [查看详情]
131
+
132
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133
+
134
+ ## 2026-02-07 10:20:00 - /plan 创作计划
135
+
136
+ **状态**: 已自动更新
137
+ **更新文件**: plot-tracker.json
138
+
139
+ **摘要**:
140
+ - 初始化 5 条情节线定义
141
+ - 设置里程碑和伏笔规划
142
+
143
+ [查看详情]
144
+
145
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
146
+
147
+ 总计:23 次更新记录
148
+ ```
149
+
150
+ #### 详细查看单条记录
151
+
152
+ 当用户选择"[查看详情]"时,显示完整的 diff 和更新依据:
153
+
154
+ ```markdown
155
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
156
+ 📋 更新记录详情
157
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
+
159
+ ## 2026-02-08 14:30:25 - /write chapter-05
160
+
161
+ ### 命令执行
162
+ - **命令**: `/write chapter-05 --focus emotion`
163
+ - **执行者**: AI
164
+ - **状态**: 已自动更新
165
+
166
+ ### 更新内容
167
+
168
+ #### character-state.json
169
+ ```diff
170
+ "林晓": {
171
+ "lastAppearance": "chapter-04",
172
+ + "lastAppearance": "chapter-05",
173
+ "emotion": "平静",
174
+ + "emotion": "焦虑",
175
+ "location": "训练场"
176
+ }
177
+ ```
178
+
179
+ #### relationships.json
180
+ ```diff
181
+ + {
182
+ + "from": "林晓",
183
+ + "to": "队长",
184
+ + "type": "信任",
185
+ + "strength": 0.6,
186
+ + "evidence": "Ch.5 首次合作任务",
187
+ + "lastUpdate": "chapter-05"
188
+ + }
189
+ ```
190
+
191
+ #### plot-tracker.json
192
+ ```diff
193
+ "plotLines": [
194
+ {
195
+ "id": "主线-001",
196
+ "progress": 0.2,
197
+ + "progress": 0.3,
198
+ "lastUpdate": "chapter-04",
199
+ + "lastUpdate": "chapter-05"
200
+ }
201
+ ]
202
+ ```
203
+
204
+ #### timeline.json
205
+ ```diff
206
+ + {
207
+ + "day": 15,
208
+ + "time": "14:00",
209
+ + "chapter": "chapter-05",
210
+ + "event": "首次合作任务"
211
+ + }
212
+ ```
213
+
214
+ ### 更新依据
215
+ - **角色分析**: Ch.5 林晓的对话和行为显示焦虑情绪
216
+ - **关系分析**: Ch.5 林晓与队长首次合作,建立初步信任
217
+ - **情节推进**: 主线进展 10%,发现第一条线索
218
+ - **时间线**: Ch.5 情节推进到第 15 天
219
+
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+ ```
222
+
223
+ #### 过滤查看示例
224
+
225
+ **按命令过滤**:
226
+ ```markdown
227
+ 📜 /write 命令的更新历史(12 条记录)
228
+
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+
231
+ ## 2026-02-08 14:30:25 - /write chapter-05
232
+ [摘要...]
233
+
234
+ ## 2026-02-07 16:15:00 - /write chapter-04
235
+ [摘要...]
236
+
237
+ [继续列出其他 /write 记录...]
238
+ ```
239
+
240
+ **按文件过滤**:
241
+ ```markdown
242
+ 📜 character-state.json 的更新历史(8 条记录)
243
+
244
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
245
+
246
+ ## 2026-02-08 14:30:25 - /write chapter-05
247
+ **变更**: 林晓情绪 平静 → 焦虑
248
+
249
+ ## 2026-02-07 16:15:00 - /write chapter-04
250
+ **变更**: 林晓位置更新
251
+
252
+ [继续列出其他记录...]
253
+ ```
254
+
255
+ **按时间范围过滤**:
256
+ ```markdown
257
+ 📜 2026-02-01 至 2026-02-08 的更新历史(15 条记录)
258
+
259
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
260
+
261
+ [列出时间范围内的所有记录...]
262
+ ```
263
+
264
+ ### 实现逻辑
265
+
266
+ **读取 tracking-log.md**:
267
+ 1. 读取 `stories/*/spec/tracking/tracking-log.md`
268
+ 2. 解析日志格式,提取所有更新记录
269
+ 3. 根据过滤条件筛选记录
270
+ 4. 按时间倒序排列(最新的在前)
271
+
272
+ **解析日志条目**:
273
+ - 提取时间戳、命令类型、更新状态
274
+ - 提取更新文件列表
275
+ - 提取摘要信息(从 diff 中生成)
276
+ - 保留完整的 diff 和更新依据
277
+
278
+ **性能考虑**:
279
+ - 默认仅加载摘要信息(轻量级)
280
+ - 用户选择"查看详情"时才加载完整 diff
281
+ - 对于大型日志文件(>1000 条记录),分页显示
282
+
283
+ ### 错误处理
284
+
285
+ #### 如果 tracking-log.md 不存在
286
+
287
+ ```markdown
288
+ ℹ️ 提示:tracking-log.md 不存在
289
+ - 位置:stories/*/spec/tracking/tracking-log.md
290
+ - 原因:尚未执行过任何 tracking 更新命令
291
+ - 建议:执行 /write 或 /plan 命令后会自动创建
292
+ ```
293
+
294
+ #### 如果日志格式无法解析
295
+
296
+ ```markdown
297
+ ⚠️ 警告:日志文件格式异常
298
+ - 文件:tracking-log.md
299
+ - 问题:无法解析部分日志条目
300
+ - 影响:部分历史记录可能无法显示
301
+ - 建议:检查日志文件格式是否被手动修改
302
+ ```
303
+
304
+ ## 输出示例
305
+
306
+ ```
307
+ 📊 小说创作综合报告
308
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
309
+ 📖 《大明风华录》
310
+
311
+ ✍️ 写作进度
312
+ 完成:60/240章 (25%)
313
+ 字数:162,000/800,000
314
+ 当前:第二卷《朝堂风云》
315
+
316
+ 📍 情节状态
317
+ 主线:改革大业 [朝堂初入阶段]
318
+ 支线:感情线 [相互了解]
319
+
320
+ ⏰ 时间线
321
+ 故事时间:万历三十年春
322
+ 时间跨度:5个月
323
+
324
+ 👥 主要角色
325
+ 李中庸:翰林院编修 @北京
326
+ 沈玉卿:张居正义女 [活跃]
327
+
328
+ ⚡ 待处理
329
+ 伏笔:3个未回收
330
+ 冲突:改革vs保守 [升级中]
331
+
332
+ ✅ 一致性检查:通过
333
+ ```
334
+
335
+ ## 增强功能
336
+
337
+ ### 数据一致性验证
338
+
339
+ 基础检查(默认执行):
340
+ - plot-tracker.json 与 outline.md 的一致性
341
+ - timeline.json 的时间逻辑
342
+ - relationships.json 的关系冲突
343
+ - character-state.json 的位置合理性
344
+
345
+ ### 深度验证模式 (--check)
346
+
347
+ 当使用 `--check` 参数时,执行程序化的深度验证:
348
+
349
+ #### 内部任务流程(自动执行)
350
+ ```markdown
351
+ # Phase 1: 基础验证 [并行执行]
352
+ - [x] T001 [P] 执行情节一致性检查 (plot-check逻辑)
353
+ - [x] T002 [P] 执行时间线验证 (timeline逻辑)
354
+ - [x] T003 [P] 执行关系验证 (relations逻辑)
355
+ - [x] T004 [P] 执行世界观验证 (world-check逻辑)
356
+
357
+ # Phase 2: 角色深度验证
358
+ - [x] T005 加载validation-rules.json验证规则
359
+ - [x] T006 扫描所有章节中的角色名称
360
+ - [x] T007 对比character-state.json验证名称一致性
361
+ - [x] T008 检查称呼是否符合relationships.json
362
+ - [x] T009 验证角色行为是否符合人设
363
+
364
+ # Phase 3: 生成综合报告
365
+ - [x] T010 汇总所有验证结果
366
+ - [x] T011 标记问题严重程度
367
+ - [x] T012 生成修复建议
368
+ ```
369
+
370
+ #### 验证报告示例
371
+ ```
372
+ 📊 深度验证报告
373
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━
374
+ ✅ 通过项目: 15/18
375
+
376
+ ❌ 发现问题 (3):
377
+ 1. [高] 第3章: 主角名"李明"应为"李中庸"
378
+ 2. [中] 第7章: 沈玉卿称呼错误,用了"师兄"
379
+ 3. [低] 第12章: 时间线跳跃未说明
380
+
381
+ 🔧 可自动修复: 2个
382
+ 📝 需人工确认: 1个
383
+
384
+ 运行 /track --fix 自动修复简单问题
385
+ ```
386
+
387
+ ### 自动修复模式 (--fix)
388
+
389
+ 当使用 `--fix` 参数时,基于验证报告自动修复:
390
+
391
+ #### 自动修复范围
392
+ 1. **角色名称错误** - 根据validation-rules.json自动替换
393
+ 2. **固定称呼错误** - 自动修正为正确称呼
394
+ 3. **简单拼写错误** - 修正明显的typo
395
+
396
+ #### 修复流程
397
+ ```markdown
398
+ # 内部修复任务(自动执行)
399
+ - [x] F001 读取验证报告中的问题列表
400
+ - [x] F002 [P] 修复第3章角色名称错误
401
+ - [x] F003 [P] 修复第7章称呼错误
402
+ - [x] F004 生成修复报告
403
+ - [x] F005 更新追踪文件
404
+ ```
405
+
406
+ #### 修复报告示例
407
+ ```
408
+ 🔧 自动修复报告
409
+ ━━━━━━━━━━━━━━━━━━━
410
+ ✅ 已修复: 2个问题
411
+ - 第3章: "李明" → "李中庸"
412
+ - 第7章: "师兄" → "公子"
413
+
414
+ ⚠️ 需人工处理: 1个问题
415
+ - 第12章: 时间线跳跃需要补充说明
416
+
417
+ 修复完成!建议重新运行 /track --check 验证
418
+ ```
419
+
420
+ ### 智能分析与建议
421
+
422
+ 1. **进度分析**
423
+ - 对比计划进度和实际进度
424
+ - 预测完成时间
425
+ - 识别写作瓶颈
426
+
427
+ 2. **内容分析**
428
+ - 伏笔覆盖率(已埋设/已回收)
429
+ - 角色出场频率
430
+ - 冲突强度曲线
431
+
432
+ 3. **行动建议**
433
+ 根据分析结果提供:
434
+ - 下一步写作重点
435
+ - 需要处理的伏笔
436
+ - 建议加强的关系线
437
+ - 时间线调整建议
438
+
439
+ ### 可视化报告
440
+
441
+ 生成结构化报告:
442
+ ```
443
+ 📊 综合追踪报告
444
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━
445
+ [进度条] ████████░░░░░░░ 25%
446
+
447
+ 🎯 下一步建议:
448
+ 1. 第65章前回收"青铜古镜"伏笔
449
+ 2. 加强主角与反派的正面冲突
450
+ 3. 补充第二卷的时间线细节
451
+
452
+ ⚠️ 需要关注:
453
+ - 角色B已5章未出场
454
+ - 支线剧情进度滞后
455
+ - 第45章的时间跳跃需要说明
456
+ ```
457
+
458
+ ### 数据导出
459
+
460
+ 支持导出追踪数据为:
461
+ - Markdown 格式的完整报告
462
+ - JSON 格式的原始数据
463
+ - 可视化图表(关系图、时间轴)