dsh-openwrite 0.2.8

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 (275) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +107 -0
  3. package/THIRD_PARTY_NOTICES.md +33 -0
  4. package/assets/logo-dark.svg +31 -0
  5. package/assets/logo-light.svg +31 -0
  6. package/cordis.patch.yml +11 -0
  7. package/docs/BENCHMARK_TASKS.md +54 -0
  8. package/docs/COST_MEASUREMENT.md +39 -0
  9. package/docs/DEVELOPMENT.md +65 -0
  10. package/docs/DSH_STORE.md +58 -0
  11. package/docs/FRAMEWORK_ADVANTAGES.md +288 -0
  12. package/docs/IMPROVEMENT_PLAN.md +252 -0
  13. package/docs/INSTALL.md +99 -0
  14. package/docs/LEARNING.md +68 -0
  15. package/docs/OPEN_SOURCE_NOVEL_AUDIT.md +191 -0
  16. package/docs/PLUGIN_MAINTENANCE.md +54 -0
  17. package/docs/PLUGIN_MAINTENANCE_RC7.md +157 -0
  18. package/docs/QA_20260908.md +103 -0
  19. package/docs/QA_20260909_BENCHMARK.md +24 -0
  20. package/docs/RELEASE_ACCEPTANCE.md +116 -0
  21. package/docs/REVIEW_DAG_FRAMEWORK.md +82 -0
  22. package/docs/TARGETED_NOVEL_PROJECT_REVIEW.md +167 -0
  23. package/docs/WORKFLOWS.md +74 -0
  24. package/docs/WORKSPACE_CONTEXT_CONTRACT.md +125 -0
  25. package/docs/WORKSPACE_INTEGRATION_GOAL.md +278 -0
  26. package/docs/research/autosave-race-repro.mjs +133 -0
  27. package/docs/research/framework-stats-2026-09-05.json +116 -0
  28. package/dog-tools.mjs +11 -0
  29. package/package.json +132 -0
  30. package/packages/openwrite-bridge/LICENSE +201 -0
  31. package/packages/openwrite-bridge/cordis.patch.yml +10 -0
  32. package/packages/openwrite-bridge/lib/client.d.ts +95 -0
  33. package/packages/openwrite-bridge/lib/client.js +193 -0
  34. package/packages/openwrite-bridge/lib/contracts-generated.d.ts +367 -0
  35. package/packages/openwrite-bridge/lib/contracts-generated.js +1764 -0
  36. package/packages/openwrite-bridge/lib/dog-delivery.d.ts +12 -0
  37. package/packages/openwrite-bridge/lib/dog-delivery.js +362 -0
  38. package/packages/openwrite-bridge/lib/dog-review.d.ts +50 -0
  39. package/packages/openwrite-bridge/lib/dog-review.js +470 -0
  40. package/packages/openwrite-bridge/lib/domain.d.ts +70 -0
  41. package/packages/openwrite-bridge/lib/domain.js +496 -0
  42. package/packages/openwrite-bridge/lib/index.d.ts +17 -0
  43. package/packages/openwrite-bridge/lib/index.js +89 -0
  44. package/packages/openwrite-bridge/lib/managed-runtime.d.ts +95 -0
  45. package/packages/openwrite-bridge/lib/managed-runtime.js +510 -0
  46. package/packages/openwrite-bridge/lib/preset-tools.d.ts +13 -0
  47. package/packages/openwrite-bridge/lib/preset-tools.js +18 -0
  48. package/packages/openwrite-bridge/lib/tool-policy.d.ts +6 -0
  49. package/packages/openwrite-bridge/lib/tool-policy.js +56 -0
  50. package/packages/openwrite-bridge/lib/tools.d.ts +24 -0
  51. package/packages/openwrite-bridge/lib/tools.js +2404 -0
  52. package/packages/openwrite-bridge/package.json +67 -0
  53. package/packages/studio-panel/LICENSE +21 -0
  54. package/packages/studio-panel/README.md +51 -0
  55. package/packages/studio-panel/cordis.patch.yml +5 -0
  56. package/packages/studio-panel/lib/client.js +158087 -0
  57. package/packages/studio-panel/lib/client.js.map +1 -0
  58. package/packages/studio-panel/lib/index.js +50 -0
  59. package/packages/studio-panel/lib/types/client/AssetEditor.d.ts +122 -0
  60. package/packages/studio-panel/lib/types/client/AssetsView.d.ts +43 -0
  61. package/packages/studio-panel/lib/types/client/BenchmarkView.d.ts +9 -0
  62. package/packages/studio-panel/lib/types/client/ContinuousReader.d.ts +13 -0
  63. package/packages/studio-panel/lib/types/client/CreationView.d.ts +6 -0
  64. package/packages/studio-panel/lib/types/client/DagCanvas.d.ts +11 -0
  65. package/packages/studio-panel/lib/types/client/DiscardDraftDialog.d.ts +8 -0
  66. package/packages/studio-panel/lib/types/client/DomainToolCard.d.ts +9 -0
  67. package/packages/studio-panel/lib/types/client/GraphView.d.ts +46 -0
  68. package/packages/studio-panel/lib/types/client/HeaderChrome.d.ts +18 -0
  69. package/packages/studio-panel/lib/types/client/LaunchOpenWrite.d.ts +13 -0
  70. package/packages/studio-panel/lib/types/client/LibraryView.d.ts +6 -0
  71. package/packages/studio-panel/lib/types/client/MarkdownText.d.ts +3 -0
  72. package/packages/studio-panel/lib/types/client/ModelView.d.ts +9 -0
  73. package/packages/studio-panel/lib/types/client/OperationsView.d.ts +6 -0
  74. package/packages/studio-panel/lib/types/client/OutlinePlans.d.ts +37 -0
  75. package/packages/studio-panel/lib/types/client/OutlineView.d.ts +29 -0
  76. package/packages/studio-panel/lib/types/client/ResearchView.d.ts +7 -0
  77. package/packages/studio-panel/lib/types/client/ReviewCard.d.ts +28 -0
  78. package/packages/studio-panel/lib/types/client/SceneWorkbench.d.ts +55 -0
  79. package/packages/studio-panel/lib/types/client/SearchView.d.ts +33 -0
  80. package/packages/studio-panel/lib/types/client/TasksView.d.ts +11 -0
  81. package/packages/studio-panel/lib/types/client/TransferWorkspaces.d.ts +19 -0
  82. package/packages/studio-panel/lib/types/client/TurnMutationSummary.d.ts +62 -0
  83. package/packages/studio-panel/lib/types/client/VditorBody.d.ts +55 -0
  84. package/packages/studio-panel/lib/types/client/WorkbenchStore.d.ts +121 -0
  85. package/packages/studio-panel/lib/types/client/api.d.ts +72 -0
  86. package/packages/studio-panel/lib/types/client/asset-drafts.d.ts +20 -0
  87. package/packages/studio-panel/lib/types/client/benchmark-options.d.ts +43 -0
  88. package/packages/studio-panel/lib/types/client/draft-store.d.ts +26 -0
  89. package/packages/studio-panel/lib/types/client/dto.d.ts +517 -0
  90. package/packages/studio-panel/lib/types/client/index.d.ts +4 -0
  91. package/packages/studio-panel/lib/types/client/locales.d.ts +15 -0
  92. package/packages/studio-panel/lib/types/client/manuscript-annotations.d.ts +59 -0
  93. package/packages/studio-panel/lib/types/client/manuscript-markers.d.ts +61 -0
  94. package/packages/studio-panel/lib/types/client/manuscript-mentions.d.ts +30 -0
  95. package/packages/studio-panel/lib/types/client/manuscript-overlay-dom.d.ts +7 -0
  96. package/packages/studio-panel/lib/types/client/manuscript-overlay.d.ts +42 -0
  97. package/packages/studio-panel/lib/types/client/manuscript-selection.d.ts +59 -0
  98. package/packages/studio-panel/lib/types/client/model-view-memory.d.ts +17 -0
  99. package/packages/studio-panel/lib/types/client/storage.d.ts +8 -0
  100. package/packages/studio-panel/lib/types/client/workbench-epochs.d.ts +16 -0
  101. package/packages/studio-panel/lib/types/client/workspace-context.d.ts +52 -0
  102. package/packages/studio-panel/lib/types/client/writing-scope.d.ts +7 -0
  103. package/packages/studio-panel/lib/types/index.d.ts +5 -0
  104. package/packages/studio-panel/package.json +105 -0
  105. package/packages/studio-panel/vendor/vditor/LICENSE +21 -0
  106. package/packages/studio-panel/vendor/vditor/dist/css/content-theme/dark.css +123 -0
  107. package/packages/studio-panel/vendor/vditor/dist/css/content-theme/light.css +101 -0
  108. package/packages/studio-panel/vendor/vditor/dist/index.css +1823 -0
  109. package/packages/studio-panel/vendor/vditor/dist/index.min.js +1 -0
  110. package/packages/studio-panel/vendor/vditor/dist/js/i18n/zh_CN.js +86 -0
  111. package/packages/studio-panel/vendor/vditor/dist/js/icons/ant.js +174 -0
  112. package/packages/studio-panel/vendor/vditor/dist/js/lute/lute.min.js +72 -0
  113. package/plugin.d.ts +3 -0
  114. package/plugin.mjs +80 -0
  115. package/presets/README.md +32 -0
  116. package/presets/openwrite/agent.cordis.yml +317 -0
  117. package/presets/openwrite/preset.yml +3 -0
  118. package/presets/openwrite/skills/canon/SKILL.md +15 -0
  119. package/presets/openwrite/skills/dialoguequality/SKILL.md +166 -0
  120. package/presets/openwrite/skills/dog-delivery-query/SKILL.md +40 -0
  121. package/presets/openwrite/skills/dog-import-query/SKILL.md +27 -0
  122. package/presets/openwrite/skills/dog-review-query/SKILL.md +40 -0
  123. package/presets/openwrite/skills/export-book/SKILL.md +14 -0
  124. package/presets/openwrite/skills/foreshadow/SKILL.md +14 -0
  125. package/presets/openwrite/skills/foreshadowing-system/SKILL.md +125 -0
  126. package/presets/openwrite/skills/learn/SKILL.md +24 -0
  127. package/presets/openwrite/skills/novel-creator/SKILL.md +88 -0
  128. package/presets/openwrite/skills/novel-creator/templates/beat_templates.yaml +179 -0
  129. package/presets/openwrite/skills/novel-creator/templates/example_usage.yaml +74 -0
  130. package/presets/openwrite/skills/novel-reviewer/SKILL.md +85 -0
  131. package/presets/openwrite/skills/oh-story-deslop/LICENSE +21 -0
  132. package/presets/openwrite/skills/oh-story-deslop/SKILL.md +36 -0
  133. package/presets/openwrite/skills/oh-story-deslop/agents/openai.yaml +4 -0
  134. package/presets/openwrite/skills/oh-story-deslop/references/method.md +22 -0
  135. package/presets/openwrite/skills/oh-story-long-analyze/LICENSE +21 -0
  136. package/presets/openwrite/skills/oh-story-long-analyze/SKILL.md +37 -0
  137. package/presets/openwrite/skills/oh-story-long-analyze/agents/openai.yaml +4 -0
  138. package/presets/openwrite/skills/oh-story-long-analyze/references/method.md +22 -0
  139. package/presets/openwrite/skills/oh-story-long-scan/LICENSE +21 -0
  140. package/presets/openwrite/skills/oh-story-long-scan/SKILL.md +36 -0
  141. package/presets/openwrite/skills/oh-story-long-scan/agents/openai.yaml +4 -0
  142. package/presets/openwrite/skills/oh-story-long-scan/references/method.md +21 -0
  143. package/presets/openwrite/skills/oh-story-long-write/LICENSE +21 -0
  144. package/presets/openwrite/skills/oh-story-long-write/SKILL.md +37 -0
  145. package/presets/openwrite/skills/oh-story-long-write/agents/openai.yaml +4 -0
  146. package/presets/openwrite/skills/oh-story-long-write/references/method.md +33 -0
  147. package/presets/openwrite/skills/oh-story-review/LICENSE +21 -0
  148. package/presets/openwrite/skills/oh-story-review/SKILL.md +36 -0
  149. package/presets/openwrite/skills/oh-story-review/agents/openai.yaml +4 -0
  150. package/presets/openwrite/skills/oh-story-review/references/method.md +25 -0
  151. package/presets/openwrite/skills/progress/SKILL.md +16 -0
  152. package/presets/openwrite/skills/review-chapter/SKILL.md +17 -0
  153. package/presets/openwrite/skills/revise-span/SKILL.md +16 -0
  154. package/presets/openwrite/skills/style-system/SKILL.md +135 -0
  155. package/presets/openwrite/skills/style-system/prompts/analyze_style.md +214 -0
  156. package/presets/openwrite/skills/style-system/prompts/batch_extract_style.md +66 -0
  157. package/presets/openwrite/skills/style-system/prompts/compose_style.md +83 -0
  158. package/presets/openwrite/skills/style-system/prompts/extract_style.md +84 -0
  159. package/presets/openwrite/skills/style-system/prompts/initialize_style.md +52 -0
  160. package/presets/openwrite/skills/style-system/templates/analysis_report.yaml +78 -0
  161. package/presets/openwrite/skills/style-system/templates/composed_style.md +96 -0
  162. package/presets/openwrite/skills/style-system/templates/extraction_report.yaml +80 -0
  163. package/presets/openwrite/skills/style-system/templates/fingerprint.yaml +61 -0
  164. package/presets/openwrite/skills/style-system/tools/README.md +33 -0
  165. package/presets/openwrite/skills/truth-validation/SKILL.md +119 -0
  166. package/presets/openwrite/skills/workflow-manager/SKILL.md +81 -0
  167. package/presets/openwrite/skills/world-query/SKILL.md +45 -0
  168. package/presets/openwrite/skills/write-next/SKILL.md +17 -0
  169. package/release/core-requirements.in +12 -0
  170. package/release/licenses/@deepseek-ai__cosmokit@1.8.3/LICENSE +21 -0
  171. package/release/licenses/@deepseek-ai__schemastery@3.18.2/LICENSE +21 -0
  172. package/release/licenses/@isaacs__fs-minipass@4.0.1/LICENSE +15 -0
  173. package/release/licenses/@standard-schema__spec@1.1.0/LICENSE +21 -0
  174. package/release/licenses/@types__d3-color@3.1.3/LICENSE +21 -0
  175. package/release/licenses/@types__d3-drag@3.0.7/LICENSE +21 -0
  176. package/release/licenses/@types__d3-interpolate@3.0.4/LICENSE +21 -0
  177. package/release/licenses/@types__d3-selection@3.0.11/LICENSE +21 -0
  178. package/release/licenses/@types__d3-transition@3.0.9/LICENSE +21 -0
  179. package/release/licenses/@types__d3-zoom@3.0.8/LICENSE +21 -0
  180. package/release/licenses/@xyflow__react@12.11.6/LICENSE +21 -0
  181. package/release/licenses/@xyflow__system@0.0.82/LICENSE +21 -0
  182. package/release/licenses/ajv-formats@3.0.1/LICENSE +21 -0
  183. package/release/licenses/ajv@8.20.0/LICENSE +22 -0
  184. package/release/licenses/chownr@3.0.0/LICENSE.md +63 -0
  185. package/release/licenses/classcat@5.0.5/LICENSE.md +7 -0
  186. package/release/licenses/commander@7.2.0/LICENSE +22 -0
  187. package/release/licenses/d3-array@3.2.4/LICENSE +13 -0
  188. package/release/licenses/d3-axis@3.0.0/LICENSE +13 -0
  189. package/release/licenses/d3-brush@3.0.0/LICENSE +13 -0
  190. package/release/licenses/d3-chord@3.0.1/LICENSE +13 -0
  191. package/release/licenses/d3-color@3.1.0/LICENSE +13 -0
  192. package/release/licenses/d3-contour@4.0.2/LICENSE +13 -0
  193. package/release/licenses/d3-delaunay@6.0.4/LICENSE +14 -0
  194. package/release/licenses/d3-dispatch@3.0.1/LICENSE +13 -0
  195. package/release/licenses/d3-drag@3.0.0/LICENSE +13 -0
  196. package/release/licenses/d3-dsv@3.0.1/LICENSE +13 -0
  197. package/release/licenses/d3-ease@3.0.1/LICENSE +28 -0
  198. package/release/licenses/d3-fetch@3.0.1/LICENSE +13 -0
  199. package/release/licenses/d3-force@3.0.0/LICENSE +13 -0
  200. package/release/licenses/d3-format@3.1.2/LICENSE +13 -0
  201. package/release/licenses/d3-geo@3.1.1/LICENSE +34 -0
  202. package/release/licenses/d3-hierarchy@3.1.2/LICENSE +13 -0
  203. package/release/licenses/d3-interpolate@3.0.1/LICENSE +13 -0
  204. package/release/licenses/d3-path@3.1.0/LICENSE +13 -0
  205. package/release/licenses/d3-polygon@3.0.1/LICENSE +13 -0
  206. package/release/licenses/d3-quadtree@3.0.1/LICENSE +13 -0
  207. package/release/licenses/d3-random@3.0.1/LICENSE +13 -0
  208. package/release/licenses/d3-scale-chromatic@3.1.0/LICENSE +28 -0
  209. package/release/licenses/d3-scale@4.0.2/LICENSE +13 -0
  210. package/release/licenses/d3-selection@3.0.0/LICENSE +13 -0
  211. package/release/licenses/d3-shape@3.2.0/LICENSE +13 -0
  212. package/release/licenses/d3-time-format@4.1.0/LICENSE +13 -0
  213. package/release/licenses/d3-time@3.1.0/LICENSE +13 -0
  214. package/release/licenses/d3-timer@3.0.1/LICENSE +13 -0
  215. package/release/licenses/d3-transition@3.0.1/LICENSE +13 -0
  216. package/release/licenses/d3-zoom@3.0.0/LICENSE +13 -0
  217. package/release/licenses/d3@7.9.0/LICENSE +13 -0
  218. package/release/licenses/delaunator@5.1.0/LICENSE +15 -0
  219. package/release/licenses/elkjs@0.12.0/LICENSE.md +263 -0
  220. package/release/licenses/fast-deep-equal@3.1.3/LICENSE +21 -0
  221. package/release/licenses/fast-uri@3.1.7/LICENSE +30 -0
  222. package/release/licenses/fflate@0.8.2/LICENSE +21 -0
  223. package/release/licenses/graceful-fs@4.2.11/LICENSE +15 -0
  224. package/release/licenses/iconv-lite@0.6.3/LICENSE +21 -0
  225. package/release/licenses/internmap@2.0.3/LICENSE +13 -0
  226. package/release/licenses/json-schema-traverse@1.0.0/LICENSE +21 -0
  227. package/release/licenses/lucide-react@0.468.0/LICENSE +15 -0
  228. package/release/licenses/minipass@7.1.3/LICENSE.md +55 -0
  229. package/release/licenses/minizlib@3.1.0/LICENSE +26 -0
  230. package/release/licenses/proper-lockfile@4.1.2/LICENSE +21 -0
  231. package/release/licenses/require-from-string@2.0.2/license +21 -0
  232. package/release/licenses/retry@0.12.0/License +21 -0
  233. package/release/licenses/robust-predicates@3.0.3/LICENSE +24 -0
  234. package/release/licenses/rw@1.3.3/LICENSE +26 -0
  235. package/release/licenses/safer-buffer@2.1.2/LICENSE +21 -0
  236. package/release/licenses/signal-exit@3.0.7/LICENSE.txt +16 -0
  237. package/release/licenses/tar@7.5.7/LICENSE.md +55 -0
  238. package/release/licenses/use-sync-external-store@1.6.0/LICENSE +21 -0
  239. package/release/licenses/yallist@5.0.0/LICENSE.md +63 -0
  240. package/release/licenses/zustand@4.5.7/LICENSE +21 -0
  241. package/release/openwrite-5.8.1-py3-none-any.whl +0 -0
  242. package/release/platform-overrides.in +5 -0
  243. package/release/python-constraints.in +96 -0
  244. package/release/requirements.lock +2927 -0
  245. package/release/runtime-manifest.json +98 -0
  246. package/release/sdk-compatibility.json +240 -0
  247. package/release/source.json +859 -0
  248. package/release/wheels/cryptography-50.0.1-cp312-abi3-macosx_13_0_x86_64.whl +0 -0
  249. package/release/wheels/licenses/LICENSE.txt +177 -0
  250. package/release/wheels/provenance.json +15 -0
  251. package/scripts/dog/delivery-stage.js +32 -0
  252. package/scripts/dog/import-chapter.js +20 -0
  253. package/scripts/dog/import-record.js +35 -0
  254. package/scripts/dog/review-dimension.js +41 -0
  255. package/scripts/dog/review-record.js +42 -0
  256. package/scripts/maintenance.mjs +179 -0
  257. package/scripts/prepare.mjs +21 -0
  258. package/vendor/dsh-dog/LICENSE +29 -0
  259. package/vendor/dsh-dog/README.md +114 -0
  260. package/vendor/dsh-dog/UPSTREAM.md +22 -0
  261. package/vendor/dsh-dog/cordis.patch.yml +14 -0
  262. package/vendor/dsh-dog/lib/client.js +2898 -0
  263. package/vendor/dsh-dog/lib/client.js.map +1 -0
  264. package/vendor/dsh-dog/lib/core-BiEBMLz3.d.ts +495 -0
  265. package/vendor/dsh-dog/lib/core-DdfMcrB4.js +2074 -0
  266. package/vendor/dsh-dog/lib/core.d.ts +2 -0
  267. package/vendor/dsh-dog/lib/core.js +2 -0
  268. package/vendor/dsh-dog/lib/index.d.ts +133 -0
  269. package/vendor/dsh-dog/lib/index.js +967 -0
  270. package/vendor/dsh-dog/package.json +97 -0
  271. package/vendor/dsh-dog/schemas/schema-0.2/graph.schema.json +139 -0
  272. package/vendor/dsh-dog/schemas/schema-0.2/report.schema.json +87 -0
  273. package/vendor/dsh-dog/schemas/schema-0.2/run.schema.json +259 -0
  274. package/vendor/dsh-dog/schemas/schema-0.2/runtime-event.schema.json +105 -0
  275. package/vendor/dsh-dog/schemas/schema-0.2/verification.schema.json +40 -0
@@ -0,0 +1,214 @@
1
+ # 风格分析提示词
2
+
3
+ 你是一个专业的文本风格分析师。你的任务是分析给定文本的风格特征,并与目标风格进行对比。
4
+
5
+ ## 输入
6
+
7
+ 1. 待分析的文本
8
+ 2. 目标风格指纹(可选)
9
+ 3. 分析深度要求
10
+
11
+ ## 分析维度
12
+
13
+ ### 1. 基本统计
14
+ - 字数、段落数、对话占比
15
+ - 平均句长、段落长度分布
16
+ - 标点符号使用频率
17
+
18
+ ### 2. 风格特征
19
+ - 叙述视角和态度
20
+ - 语言特点(词汇、句式、修辞)
21
+ - 节奏特征
22
+ - 对话风格
23
+ - 情感表达
24
+
25
+ ### 3. AI痕迹检测
26
+ - 常见AI表达模式
27
+ - 不自然的完美结构
28
+ - 过度使用的连接词
29
+
30
+ ### 4. 与目标风格的偏差
31
+ - 符合程度评分
32
+ - 具体偏差点
33
+ - 改进建议
34
+
35
+ ## 输出格式
36
+
37
+ ```yaml
38
+ # 风格分析报告
39
+
40
+ text_info:
41
+ word_count: {字数}
42
+ paragraph_count: {段落数}
43
+ dialogue_ratio: {对话占比}
44
+ avg_sentence_length: {平均句长}
45
+
46
+ # 风格特征
47
+ style_features:
48
+ voice:
49
+ perspective: "{视角}"
50
+ attitude: "{态度}"
51
+ confidence: {置信度}
52
+
53
+ language:
54
+ vocabulary_style: "{词汇风格}"
55
+ sentence_variety: "{句式变化度}"
56
+ rhetoric_usage: "{修辞使用}"
57
+
58
+ rhythm:
59
+ pacing: "{节奏}"
60
+ paragraph_pattern: "{段落模式}"
61
+ scene_count: {场景数}
62
+
63
+ dialogue:
64
+ style: "{对话风格}"
65
+ naturalness: {自然度评分}
66
+ voice_distinction: {角色区分度}
67
+
68
+ # AI痕迹检测
69
+ ai_detection:
70
+ score: {AI痕迹评分 0-100,越低越好}
71
+ issues:
72
+ - type: "{问题类型}"
73
+ example: "{例句}"
74
+ suggestion: "{修改建议}"
75
+ common_patterns:
76
+ - "{发现的AI模式1}"
77
+ - "{发现的AI模式2}"
78
+
79
+ # 与目标风格对比(如有目标风格)
80
+ style_comparison:
81
+ overall_match: {匹配度 0-100}
82
+
83
+ matches:
84
+ - feature: "{特征名}"
85
+ target: "{目标值}"
86
+ actual: "{实际值}"
87
+ status: "match"
88
+
89
+ deviations:
90
+ - feature: "{特征名}"
91
+ target: "{目标值}"
92
+ actual: "{实际值}"
93
+ severity: "{严重程度}"
94
+ suggestion: "{改进建议}"
95
+
96
+ # 改进建议
97
+ recommendations:
98
+ critical: # 必须修改
99
+ - "{建议1}"
100
+
101
+ suggested: # 建议修改
102
+ - "{建议2}"
103
+
104
+ optional: # 可选优化
105
+ - "{建议3}"
106
+
107
+ # 具体修改示例
108
+ edit_examples:
109
+ - original: "{原句}"
110
+ edited: "{修改后}"
111
+ reason: "{修改原因}"
112
+ ```
113
+
114
+ ## AI痕迹检测清单
115
+
116
+ ### 常见AI表达模式
117
+
118
+ 1. **过度使用的连接词**
119
+ - "然而"、"不过"、"不禁"、"竟然"
120
+ - 建议:减少使用,用动作或描写替代
121
+
122
+ 2. **不自然的完美结构**
123
+ - 每段都是"总-分-总"结构
124
+ - 建议:打破规律,增加变化
125
+
126
+ 3. **情感表达套路**
127
+ - "心中涌起一股暖流"
128
+ - "眼神中闪过一丝..."
129
+ - 建议:用具体动作或细节替代
130
+
131
+ 4. **总结性陈述**
132
+ - "这让他意识到..."
133
+ - "他不禁感叹..."
134
+ - 建议:让读者自己体会
135
+
136
+ 5. **对称性过强**
137
+ - 连续使用排比句
138
+ - 规律性的段落长度
139
+ - 建议:增加不对称性
140
+
141
+ ### 检测方法
142
+
143
+ 1. 统计高频词和短语
144
+ 2. 分析句子结构多样性
145
+ 3. 检查段落长度分布
146
+ 4. 识别情感表达模式
147
+
148
+ ## 风格偏差分析
149
+
150
+ ### 偏差类型
151
+
152
+ | 类型 | 描述 | 严重程度 |
153
+ |------|------|----------|
154
+ | 节奏偏差 | 快慢与目标不符 | 中 |
155
+ | 语言偏差 | 词汇/句式与目标不符 | 高 |
156
+ | 对话偏差 | 对话风格与目标不符 | 高 |
157
+ | 情感偏差 | 情感深度与目标不符 | 中 |
158
+ | AI痕迹 | AI表达过多 | 高 |
159
+
160
+ ### 改进优先级
161
+
162
+ 1. **高优先级**:AI痕迹、硬性约束违反
163
+ 2. **中优先级**:风格偏差、节奏问题
164
+ 3. **低优先级**:微调建议
165
+
166
+ ## 示例
167
+
168
+ ### 输入文本
169
+
170
+ > 李明不禁心中一紧。然而他很快调整了心态,眼神中闪过一丝坚定。"我一定要成功,"他对自己说道,"无论遇到什么困难,我都不能放弃。"这让他意识到,真正的勇气不是没有恐惧,而是即使恐惧也要前行。
171
+
172
+ ### 分析输出
173
+
174
+ ```yaml
175
+ ai_detection:
176
+ score: 75 # 较高AI痕迹
177
+ issues:
178
+ - type: "情感套路"
179
+ example: "不禁心中一紧"
180
+ suggestion: "李明的手心沁出了汗"
181
+
182
+ - type: "眼神描写套路"
183
+ example: "眼神中闪过一丝坚定"
184
+ suggestion: "删除,用动作替代"
185
+
186
+ - type: "总结性陈述"
187
+ example: "这让他意识到..."
188
+ suggestion: "删除,让读者自己体会"
189
+
190
+ recommendations:
191
+ critical:
192
+ - "删除所有'不禁'、'眼神中闪过'等AI痕迹"
193
+ - "重写对话,增加角色个性"
194
+
195
+ suggested:
196
+ - "打破句式规律,增加变化"
197
+ - "用具体细节替代抽象情感描述"
198
+
199
+ edit_examples:
200
+ - original: "李明不禁心中一紧。"
201
+ edited: "李明的手指无意识地攥紧了衣角。"
202
+ reason: "用具体动作替代抽象情感"
203
+
204
+ - original: "眼神中闪过一丝坚定"
205
+ edited: "(删除)"
206
+ reason: "AI套路表达,无信息量"
207
+ ```
208
+
209
+ ## 规则
210
+
211
+ 1. **客观分析**:基于文本事实,不带主观评价
212
+ 2. **具体建议**:给出可执行的修改方案
213
+ 3. **优先级明确**:区分必须修改和建议修改
214
+ 4. **有例证**:每个问题都要有文本例证
@@ -0,0 +1,66 @@
1
+ # 大文本分批风格提取提示词
2
+
3
+ 你正在处理一部用户提供的大文本。你的任务是逐批提取风格信号,并逐渐更新项目内的 source pack。
4
+
5
+ ## 路径
6
+
7
+ ```text
8
+ data/novels/{novel_id}/data/sources/{source_id}/
9
+ ```
10
+
11
+ 其中:
12
+
13
+ - `style/*.md`:累计更新的风格文档
14
+ - `setting_profile.md`:累计更新的设定提要
15
+ - `extraction/batch_results/*.yaml`:每批次原始发现
16
+
17
+ ## 每批次要做的事
18
+
19
+ 1. 阅读当前 chunk
20
+ 2. 参考现有 `style/*.md`
21
+ 3. 输出本批次发现
22
+ 4. 区分 `reusable` 与 `source_bound`
23
+ 5. 更新对应风格文档
24
+
25
+ ## 关注重点
26
+
27
+ ### 前几批
28
+
29
+ - 定主基调
30
+ - 定叙述距离
31
+ - 定句长和段落节奏
32
+ - 识别高频对话模式
33
+
34
+ ### 中间批次
35
+
36
+ - 看这些特征是否稳定
37
+ - 修正之前的误判
38
+ - 补充例外情况
39
+
40
+ ### 后几批
41
+
42
+ - 补边缘模式
43
+ - 查缺补漏
44
+ - 总结真正稳定的可复用信号
45
+
46
+ ## 输出格式
47
+
48
+ ```yaml
49
+ findings:
50
+ reusable:
51
+ - name: ""
52
+ dimension: ""
53
+ description: ""
54
+ evidence: []
55
+ source_bound:
56
+ - name: ""
57
+ type: ""
58
+ description: ""
59
+ summary: ""
60
+ ```
61
+
62
+ ## 禁止事项
63
+
64
+ - 不把专名当成风格
65
+ - 不把剧情设定误判成节奏特征
66
+ - 不长篇复制原文
@@ -0,0 +1,83 @@
1
+ # 风格合成提示词
2
+
3
+ 你是一个风格合成专家。你的任务是把多层风格资料合成为一份**可执行、可审阅、可长期维护**的作品风格文档。
4
+
5
+ ## 输入层
6
+
7
+ 1. `craft/`:通用技法与去模板化约束
8
+ 2. `data/novels/{id}/data/sources/{source_id}/style/`:用户提供文本提取出的风格源
9
+ 3. `data/novels/{id}/data/style/fingerprint.yaml`:本书风格指纹
10
+ 4. `data/novels/{id}/src/**`:本书确认版设定与约束
11
+ 5. 用户当前额外要求
12
+
13
+ ## 合成优先级
14
+
15
+ ```text
16
+ 用户当前要求 > 本书设定 > 本书风格指纹 > 提取风格源 > craft 通用技法
17
+ ```
18
+
19
+ ## 输出目标
20
+
21
+ 输出到:
22
+
23
+ ```text
24
+ data/novels/{id}/data/style/composed.md
25
+ ```
26
+
27
+ ## 合成规则
28
+
29
+ - 去重
30
+ - 解决冲突
31
+ - 明确哪些是硬约束,哪些是软约束
32
+ - 不把 source-bound 的专有名词、角色口癖、签名梗直接带入最终风格
33
+ - 只吸收可复用信号:叙述距离、句长分布、对话密度、节奏偏好、信息揭示策略
34
+
35
+ ## 输出结构
36
+
37
+ ```markdown
38
+ # 最终风格文档:{作品名}
39
+
40
+ > 合成时间:{时间}
41
+ > 提取风格源:{source_id 或 无}
42
+ > 来源:craft + fingerprint + source pack + src
43
+
44
+ ## 1. 硬性约束
45
+
46
+ ### 角色一致性
47
+ ...
48
+
49
+ ### 世界观边界
50
+ ...
51
+
52
+ ### 禁止事项
53
+ ...
54
+
55
+ ## 2. 风格约束
56
+
57
+ ### 叙述声音
58
+ ...
59
+
60
+ ### 语言风格
61
+ ...
62
+
63
+ ### 节奏控制
64
+ ...
65
+
66
+ ### 对话风格
67
+ ...
68
+
69
+ ## 3. 可选技法
70
+ ...
71
+
72
+ ## 4. 去模板化规则
73
+ ...
74
+
75
+ ## 5. 生成检查清单
76
+ ...
77
+ ```
78
+
79
+ ## 额外要求
80
+
81
+ - 不要输出“像某作品一样”
82
+ - 不要引用具体版权作品名
83
+ - 不要保留示例文本原句
@@ -0,0 +1,84 @@
1
+ # 风格提取提示词
2
+
3
+ 你是一个风格分析师。你的目标不是“模仿某部作品”,而是从用户提供的文本里提取**可复用**的写作信号,并把**不可迁移**的作品特有信号隔离出来。
4
+
5
+ ## 输入
6
+
7
+ 1. 用户提供的文本
8
+ 2. 文本来源说明
9
+ 3. 当前已有提取结果(可选)
10
+
11
+ ## 必须区分的两类结果
12
+
13
+ ### reusable
14
+
15
+ 可以迁移到别的作品里的内容,例如:
16
+
17
+ - 叙述距离
18
+ - 句长分布
19
+ - 对话密度
20
+ - 段落节奏
21
+ - 信息揭示方式
22
+ - 幽默/克制/冷峻等表达偏好
23
+
24
+ ### source_bound
25
+
26
+ 不应直接迁移的内容,例如:
27
+
28
+ - 专有名词
29
+ - 角色专属口癖
30
+ - 组织、地名、体系名
31
+ - 作品签名梗
32
+ - 明显依赖原设定的表达
33
+
34
+ ## 输出建议
35
+
36
+ ```yaml
37
+ source:
38
+ text_id: "{文本标识}"
39
+ source_type: "user_supplied_text"
40
+ word_count: 0
41
+
42
+ reusable:
43
+ voice:
44
+ perspective: ""
45
+ attitude: ""
46
+ reader_distance: ""
47
+ evidence: []
48
+ language:
49
+ vocabulary: ""
50
+ sentence_style: ""
51
+ rhetoric: ""
52
+ evidence: []
53
+ rhythm:
54
+ paragraph_length: ""
55
+ scene_transition: ""
56
+ information_density: ""
57
+ evidence: []
58
+ dialogue:
59
+ ratio: 0.0
60
+ format: ""
61
+ voice_distinction: ""
62
+ evidence: []
63
+
64
+ source_bound:
65
+ terms: []
66
+ named_entities: []
67
+ character_voice_markers: []
68
+ world_rules: []
69
+
70
+ summary:
71
+ reusable_signals: []
72
+ caution: []
73
+ ```
74
+
75
+ ## 写入目标
76
+
77
+ - `data/novels/{id}/data/sources/{source_id}/style/*.md`
78
+ - `data/novels/{id}/data/sources/{source_id}/setting_profile.md`
79
+
80
+ ## 规则
81
+
82
+ - 每条判断都尽量给证据
83
+ - 不引用长原文
84
+ - 不输出“推荐模仿某作品”
@@ -0,0 +1,52 @@
1
+ # 风格初始化提示词
2
+
3
+ 你要通过问答帮用户生成这本书的初始风格指纹。
4
+
5
+ ## 目标文件
6
+
7
+ ```text
8
+ data/novels/{novel_id}/data/style/fingerprint.yaml
9
+ ```
10
+
11
+ ## 询问重点
12
+
13
+ 1. 基调
14
+ 2. 节奏
15
+ 3. 对话/描写比例
16
+ 4. 是否有用户提供的参考文本
17
+ 5. 禁止事项或特别要求
18
+
19
+ ## 输出要求
20
+
21
+ - 只记录可执行的风格偏好
22
+ - 不凭空创造“参考作品特征”
23
+ - 如果用户有自己的样文,记成 `source_id`
24
+ - 不写具体版权作品名作为默认建议
25
+
26
+ ## 示例思路
27
+
28
+ 输入:
29
+
30
+ - 基调:轻压抑但偶尔冷幽默
31
+ - 节奏:中快
32
+ - 对话:占比高
33
+ - 来源:用户提供一篇职场悬疑样文
34
+ - 禁止事项:不要堆网络流行语
35
+
36
+ 输出:
37
+
38
+ ```yaml
39
+ core:
40
+ tone: "轻压抑 + 冷幽默"
41
+ pacing: "中快"
42
+ dialogue_ratio: 0.55
43
+
44
+ source:
45
+ source_id: "office_excerpt"
46
+ source_type: "user_supplied_text"
47
+
48
+ constraints:
49
+ banned_phrases: []
50
+ custom_rules:
51
+ - "避免网络流行语"
52
+ ```
@@ -0,0 +1,78 @@
1
+ # 风格分析报告模板(Style Analysis Report Template)
2
+ # 路径: data/novels/{novel_id}/data/style/analysis_report.yaml
3
+ # 生成方式: 分析已写文本后由 Agent 填充
4
+
5
+ # ── 基本信息 ──────────────────────────────────────────────
6
+ novel_id: "{novel_id}"
7
+ chapter_id: "{chapter_id}"
8
+ analyzed_at: "{timestamp}"
9
+ source_file: "" # 被分析文件路径
10
+
11
+ # ── 基本统计 ──────────────────────────────────────────────
12
+ statistics:
13
+ total_chars: 0 # 总字数
14
+ paragraph_count: 0 # 段落数
15
+ sentence_count: 0 # 句子数
16
+ avg_sentence_length: 0 # 平均句长
17
+ dialogue_ratio: 0.0 # 对话占比
18
+ short_paragraph_ratio: 0.0 # 短段比例(<50字)
19
+ medium_paragraph_ratio: 0.0 # 中段比例(50-200字)
20
+ long_paragraph_ratio: 0.0 # 长段比例(>200字)
21
+
22
+ # ── 风格特征分析 ──────────────────────────────────────────
23
+ style_features:
24
+ voice:
25
+ detected: "" # 检测到的叙述声音
26
+ consistency: "" # 一致 / 有波动 / 不一致
27
+ notes: ""
28
+ language:
29
+ vocabulary_level: "" # 日常 / 文学 / 古风 / 技术
30
+ sentence_variety: "" # 丰富 / 一般 / 单调
31
+ notes: ""
32
+ rhythm:
33
+ pacing: "" # 快 / 中 / 慢
34
+ variation: "" # 好 / 一般 / 平淡
35
+ notes: ""
36
+ dialogue:
37
+ ratio: 0.0
38
+ quality: "" # 角色分化度
39
+ notes: ""
40
+
41
+ # ── AI痕迹检测 ────────────────────────────────────────────
42
+ ai_detection:
43
+ score: 0 # 人化评分 0-100,越高越好
44
+ total_issues: 0 # 发现的AI痕迹总数
45
+ high_severity: [] # 高严重度问题
46
+ # - location: "第X段"
47
+ # text: "原文片段"
48
+ # pattern: "匹配到的AI模式"
49
+ # suggestion: "替换建议"
50
+ medium_severity: [] # 中严重度问题
51
+ low_severity: [] # 低严重度提示
52
+
53
+ # ── 目标风格偏差 ──────────────────────────────────────────
54
+ # 与 fingerprint.yaml 中目标风格的对比
55
+ deviation:
56
+ tone_match: true # 基调是否匹配
57
+ tone_notes: ""
58
+ rhythm_match: true # 节奏是否匹配
59
+ rhythm_notes: ""
60
+ dialogue_ratio_diff: 0.0 # 对话占比偏差(实际 - 目标)
61
+ dialogue_notes: ""
62
+ overall_alignment: "" # 高 / 中 / 低
63
+
64
+ # ── 改进建议 ──────────────────────────────────────────────
65
+ suggestions:
66
+ must_fix: [] # 必须修改
67
+ # - "删除X处AI痕迹"
68
+ should_fix: [] # 建议修改
69
+ # - "增加对话比例到55%"
70
+ optional: [] # 可选优化
71
+ # - "打破长段落,增加节奏变化"
72
+
73
+ # ── 评分汇总 ──────────────────────────────────────────────
74
+ scores:
75
+ humanization: 0 # 人化评分 0-100
76
+ style_adherence: 0 # 风格遵循度 0-100
77
+ readability: 0 # 可读性 0-100
78
+ overall: 0 # 综合评分 0-100
@@ -0,0 +1,96 @@
1
+ # 风格合成文档模板
2
+
3
+ > 本模板用于生成最终的写作风格指令。Agent 合成风格时按此结构输出到
4
+ > `data/novels/{novel_id}/data/style/composed.md`
5
+
6
+ ---
7
+
8
+ # {novel_id} — 合成风格指令
9
+
10
+ 生成时间: {timestamp}
11
+
12
+ ---
13
+
14
+ ## 一、硬性约束(不可违反)
15
+
16
+ > 来源: 作品设定(Layer 3)+ 用户覆盖
17
+
18
+ ### 禁止事项
19
+ - [ ] (列出禁用表达、禁用情节元素等)
20
+
21
+ ### 必须遵守
22
+ - [ ] (列出必须遵循的世界观规则、角色一致性要求等)
23
+
24
+ ---
25
+
26
+ ## 二、风格约束(应当遵循)
27
+
28
+ > 来源: 作品风格指纹(Layer 2)
29
+
30
+ ### 叙述声音
31
+ - **视角**: (第一人称/第三人称限知/全知等)
32
+ - **基调**: (轻松幽默/严肃/悬疑等)
33
+ - **叙述者态度**: (同情/旁观/讽刺等)
34
+
35
+ ### 语言风格
36
+ - **词汇层级**: (日常/文学/古风/技术)
37
+ - **推荐句式**:
38
+ - (句式1)
39
+ - (句式2)
40
+ - **比喻风格**: (描述)
41
+
42
+ ### 节奏控制
43
+ - **整体节奏**: (快/中/慢)
44
+ - **段落比例**: 短段 X% / 中段 Y% / 长段 Z%
45
+ - **场景切换**: (描述方式)
46
+
47
+ ### 对话
48
+ - **对话占比**: X%
49
+ - **标签风格**: (最简/标准/描述性)
50
+ - **潜台词**: (高/中/低)
51
+
52
+ ---
53
+
54
+ ## 三、可选技法(按需使用)
55
+
56
+ > 来源: 通用技法层(Layer 1: craft/)
57
+
58
+ ### 去AI味规则
59
+ 参考 `craft/humanization.yaml`,核心要点:
60
+ - 避免高频 AI 词汇("然而""不禁""缓缓"等)
61
+ - 允许自然的不完美(片段句、口语化)
62
+ - 长短句参差变化
63
+
64
+ ### 对话技法
65
+ 参考 `craft/dialogue_craft.md`,核心要点:
66
+ - (列出适用的对话技法)
67
+
68
+ ### AI痕迹检测
69
+ 参考 `craft/ai_patterns.yaml`,写作后自查:
70
+ - 高严重度词汇(必须替换)
71
+ - 中严重度词汇(建议替换)
72
+
73
+ ---
74
+
75
+ ## 四、生成检查清单
76
+
77
+ 写作完成后,用以下清单自检:
78
+
79
+ - [ ] 无禁用词/表达
80
+ - [ ] 对话占比在目标范围内(±5%)
81
+ - [ ] 段落长短有变化,无连续3个以上等长段落
82
+ - [ ] 叙述基调一致
83
+ - [ ] 无明显AI套路(参见 `craft/ai_patterns.yaml`)
84
+ - [ ] 角色声音有区分度
85
+ - [ ] 场景切换自然
86
+
87
+ ---
88
+
89
+ ## 合成来源
90
+
91
+ | 层级 | 文件 | 优先级 |
92
+ |------|------|--------|
93
+ | Layer 3 | `data/novels/{novel_id}/...` | 最高(硬性约束) |
94
+ | Layer 2 | `data/novels/{novel_id}/data/style/fingerprint.yaml` | 高(风格约束) |
95
+ | Layer 1 | `craft/humanization.yaml` 等 | 参考(可选技法) |
96
+ | 覆盖 | 用户实时指令 | 最高 |