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,616 @@
1
+ # 1920年代中国日常生活
2
+
3
+ ## 概览
4
+
5
+ 1920年代中国的日常生活呈现出极大的城乡差异和阶层差异。上海滩的摩登男女与农村的传统生活形成鲜明对比,这是一个新旧交替、中西碰撞的时代。
6
+
7
+ **核心特点**:
8
+ - **城乡差异**:上海如同西方都市,农村仍是传统社会
9
+ - **阶层差异**:富人奢华无度,穷人食不果腹
10
+ - **新旧并存**:西装与长衫、汽车与人力车、电影与戏曲
11
+ - **物价波动**:战乱导致物价不稳,通货膨胀严重
12
+
13
+ ## 核心信息速查
14
+
15
+ | 维度 | 城市(上海) | 农村 |
16
+ |------|------------|------|
17
+ | **主食** | 大米、面食、面包 | 大米(南方)、面食(北方)、杂粮 |
18
+ | **肉类频率** | 每天或隔天 | 每月 1-2 次或节日 |
19
+ | **住房** | 石库门、洋房、公寓 | 土坯房、青砖瓦房 |
20
+ | **交通** | 电车、人力车、汽车 | 步行、牛车、驴车 |
21
+ | **娱乐** | 电影、舞厅、戏院 | 庙会、戏班 |
22
+ | **月收入** | 工人 10-20 元,白领 30-100 元 | 自耕农年收入 50-150 元 |
23
+
24
+ ## 衣(Clothing)
25
+
26
+ ### 男性服饰
27
+
28
+ **长衫**(最常见):
29
+ - 知识分子、商人的日常装
30
+ - 颜色:青、灰、黑为主
31
+ - 面料:绸缎(富人)、棉布(普通人)
32
+ - 搭配:布鞋、瓜皮帽或礼帽
33
+
34
+ **西装**:
35
+ - 高级官员、洋行职员、留学生
36
+ - 极少数人穿着
37
+ - 价格:30-100 银元(普通工人 2-5 个月工资)
38
+
39
+ **短打**:
40
+ - 工人、农民、力工
41
+ - 短衣短裤,方便劳动
42
+ - 粗布制作
43
+
44
+ **学生装**(中山装前身):
45
+ - 学生、进步青年
46
+ - 立领、对襟、四个口袋
47
+ - 象征新思想
48
+
49
+ **军装**:
50
+ - 军人、警察
51
+ - 各军阀军装不统一
52
+
53
+ ### 女性服饰
54
+
55
+ **旗袍**(1920年代开始流行):
56
+ - 早期较宽松,不贴身
57
+ - 1920年代中后期逐渐收腰
58
+ - 主要在城市流行
59
+ - 价格:5-50 银元不等
60
+
61
+ **袄裙**(传统女装):
62
+ - 保守家庭、农村妇女
63
+ - 上衣下裙,宽松
64
+ - 颜色素雅
65
+
66
+ **学生装**:
67
+ - 女学生
68
+ - 短衫长裙或裤装
69
+ - 象征新女性
70
+
71
+ **洋装**:
72
+ - 极少数时髦女性
73
+ - 上海租界、留学归国者
74
+ - 被视为"伤风败俗"
75
+
76
+ ### 发型
77
+
78
+ **男性**:
79
+ - **辫子**:1910年代前,剪辫子 = 革命
80
+ - **分头**:1920年代主流(三七分、四六分)
81
+ - **平头**:学生、军人
82
+ - **光头**:革命者(表示决心)
83
+
84
+ **女性**:
85
+ - **盘髻**:传统发型,已婚妇女
86
+ - **辫子**:未婚少女
87
+ - **短发**:极大胆,被视为"新女性"(不到 1%)
88
+ - **烫发**:上海时髦女性,极少数
89
+
90
+ ### 鞋履
91
+
92
+ **男性**:
93
+ - 布鞋(最常见)
94
+ - 皮鞋(城市白领)
95
+ - 草鞋(农民)
96
+
97
+ **女性**:
98
+ - 绣花鞋(裹小脚)
99
+ - 布鞋(天足)
100
+ - 高跟鞋(极少数时髦女性)
101
+
102
+ ## 食(Food)
103
+
104
+ ### 日常饮食(普通家庭)
105
+
106
+ **主食**:
107
+ - 南方:大米饭
108
+ - 北方:馒头、面条、烙饼
109
+ - 贫困家庭:杂粮(高粱、玉米)
110
+
111
+ **蔬菜**:
112
+ - 时令蔬菜(无反季节菜)
113
+ - 白菜、萝卜、豆角、茄子
114
+ - 腌菜(冬季主要蔬菜)
115
+
116
+ **肉类**:
117
+ - 猪肉(最常见,但昂贵)
118
+ - 鱼(江南地区)
119
+ - 鸡蛋(较贵)
120
+ - 普通家庭:每月吃肉 1-2 次
121
+
122
+ **调味品**:
123
+ - 盐、酱油、醋、葱姜蒜
124
+ - 糖(较贵)
125
+ - 味精(1920年代刚出现,极少)
126
+
127
+ **饮品**:
128
+ - 茶(最常见)
129
+ - 白开水
130
+ - 咖啡(城市富人)
131
+ - 汽水(城市,较贵)
132
+
133
+ ### 典型一日三餐
134
+
135
+ **富裕家庭(中产以上)**:
136
+ - 早餐:粥、咸菜、包子、油条、豆浆
137
+ - 午餐:米饭、3-4 个菜、汤
138
+ - 晚餐:类似午餐
139
+
140
+ **普通家庭(工人、小商人)**:
141
+ - 早餐:粥、咸菜、馒头
142
+ - 午餐:米饭、1-2 个菜
143
+ - 晚餐:剩饭、咸菜
144
+
145
+ **贫困家庭(农民、力工)**:
146
+ - 早餐:稀粥、咸菜
147
+ - 午餐:窝窝头、咸菜
148
+ - 晚餐:稀粥
149
+ - 一日两餐(农忙时三餐)
150
+
151
+ ### 城市餐饮
152
+
153
+ **中餐馆**:
154
+ - **高级酒楼**:10-50 银元/桌
155
+ - **中档饭馆**:2-5 银元/人
156
+ - **小饭馆**:0.2-0.5 银元/碗面
157
+
158
+ **西餐厅**:
159
+ - 上海、北京有
160
+ - 极贵:5-20 银元/人
161
+ - 只有上流社会
162
+
163
+ **茶馆**:
164
+ - 社交场所
165
+ - 茶资:0.05-0.2 银元
166
+ - 可坐一天
167
+
168
+ **小吃摊**:
169
+ - 街头常见
170
+ - 包子、油条、面条
171
+ - 0.05-0.1 银元
172
+
173
+ ### 货币与物价(1920年代中期,上海)
174
+
175
+ | 商品/服务 | 价格(银元) | 说明 |
176
+ |----------|-------------|------|
177
+ | **粮食** | | |
178
+ | 大米 | 0.05-0.08/斤 | 约 500g,波动大 |
179
+ | 面粉 | 0.06-0.10/斤 | |
180
+ | **肉蛋** | | |
181
+ | 猪肉 | 0.15-0.25/斤 | 较贵 |
182
+ | 鸡蛋 | 0.02-0.03/个 | |
183
+ | 鱼 | 0.10-0.20/斤 | 江南常见 |
184
+ | **蔬菜** | | |
185
+ | 白菜 | 0.01-0.02/斤 | 便宜 |
186
+ | 时令菜 | 0.02-0.05/斤 | |
187
+ | **外食** | | |
188
+ | 小饭馆面条 | 0.10-0.20/碗 | |
189
+ | 茶馆茶资 | 0.05-0.10 | |
190
+ | 高级酒楼 | 10-50/桌 | 10 人 |
191
+ | **交通** | | |
192
+ | 黄包车(短途) | 0.10-0.20/次 | 市内 |
193
+ | 电车 | 0.05-0.10/次 | 上海 |
194
+ | 火车(上海-南京) | 5-15 | 分等级 |
195
+ | **娱乐** | | |
196
+ | 电影票 | 0.30-0.80 | 较奢侈 |
197
+ | 戏票 | 0.20-1.00 | 分等级 |
198
+ | **住房** | | |
199
+ | 石库门一间 | 2-5/月 | 租金 |
200
+ | 整套洋房 | 20-50/月 | |
201
+ | **服装** | | |
202
+ | 长衫 | 5-20 | 定制 |
203
+ | 西装 | 30-100 | 极贵 |
204
+ | 旗袍 | 5-50 | |
205
+ | **月收入参考** | | |
206
+ | 普通工人 | 10-20 | 熟练工 |
207
+ | 黄包车夫 | 8-15 | 辛苦 |
208
+ | 小学教师 | 30-50 | |
209
+ | 中学教师 | 50-80 | |
210
+ | 大学教授 | 200-400 | 极高 |
211
+ | 洋行职员 | 50-150 | |
212
+
213
+ **注意**:
214
+ - 物价波动极大(战乱、通货膨胀)
215
+ - 各地差异大(上海最贵)
216
+ - 1 银元 ≈ 1000 文铜钱
217
+
218
+ ## 住(Housing)
219
+
220
+ ### 城市住宅
221
+
222
+ **石库门**(上海典型民居):
223
+ - 砖木结构,中西合璧
224
+ - 一般 2-3 层
225
+ - 一楼:客厅、厨房
226
+ - 二楼:卧室
227
+ - 天井、晒台
228
+ - 租金:单间 2-5 银元/月
229
+
230
+ **四合院**(北京传统建筑):
231
+ - 正房、厢房、倒座房
232
+ - 大家族居住
233
+ - 等级森严
234
+
235
+ **洋房**(富人居所):
236
+ - 西式建筑
237
+ - 花园、车库
238
+ - 自来水、电灯
239
+ - 租金:20-50 银元/月
240
+
241
+ **公寓**(新兴住宅):
242
+ - 1920年代末出现
243
+ - 上海租界
244
+ - 现代化设施
245
+
246
+ **棚户区**(贫民窟):
247
+ - 简陋木板房
248
+ - 拥挤、卫生差
249
+ - 租金:0.5-2 银元/月
250
+
251
+ ### 农村住宅
252
+
253
+ **青砖瓦房**:
254
+ - 殷实人家
255
+ - 3-5 间
256
+ - 堂屋、卧室、厨房
257
+
258
+ **土坯房**:
259
+ - 普通农民
260
+ - 泥土夯筑
261
+ - 茅草或瓦顶
262
+
263
+ **茅草房**:
264
+ - 贫困家庭
265
+ - 极简陋
266
+ - 冬冷夏热
267
+
268
+ ### 居住条件
269
+
270
+ **城市(中产家庭)**:
271
+ - 电灯(部分区域)
272
+ - 自来水(部分区域)
273
+ - 煤炉做饭
274
+ - 马桶(倒粪工每天收)
275
+
276
+ **农村**:
277
+ - 煤油灯、蜡烛
278
+ - 井水、河水
279
+ - 柴火做饭
280
+ - 茅厕
281
+
282
+ ## 行(Transportation)
283
+
284
+ ### 城市交通
285
+
286
+ **步行**:
287
+ - 最常见
288
+ - 城市不大,步行 1 小时可到大部分地方
289
+
290
+ **人力车**(黄包车):
291
+ - 主要交通工具
292
+ - 价格:0.10-0.20 银元/次(短途)
293
+ - 车夫极辛苦,社会底层
294
+
295
+ **电车**:
296
+ - 上海、北京有轨电车
297
+ - 价格:0.05-0.10 银元/次
298
+ - 分等级(头等、二等、三等)
299
+
300
+ **汽车**:
301
+ - 极少数,富人专属
302
+ - 全上海不到 1000 辆(1920年代中期)
303
+ - 价格:5000-10000 银元(天价)
304
+
305
+ **自行车**:
306
+ - 稀有,身份象征
307
+ - 价格:50-100 银元
308
+ - 主要是外国进口
309
+
310
+ **马车**:
311
+ - 传统交通工具
312
+ - 逐渐被人力车取代
313
+
314
+ ### 长途交通
315
+
316
+ **火车**:
317
+ - 主要干线:京汉、京沪、津浦
318
+ - 速度慢(30-50 公里/小时)
319
+ - 分等级:头等、二等、三等
320
+ - 上海 → 北京:30+ 小时
321
+
322
+ **轮船**:
323
+ - 江河湖泊主要交通
324
+ - 长江航运发达
325
+ - 上海 → 武汉:3-5 天
326
+
327
+ **长途汽车**:
328
+ - 极少,只有少数线路
329
+ - 不可靠
330
+
331
+ **步行/驴车**:
332
+ - 农村主要方式
333
+ - 极慢
334
+
335
+ ### 旅行时间参考
336
+
337
+ | 路线 | 交通方式 | 时间 |
338
+ |------|---------|------|
339
+ | 上海 → 北京 | 火车 | 30-36 小时 |
340
+ | 上海 → 南京 | 火车 | 6-8 小时 |
341
+ | 上海 → 武汉 | 轮船 | 3-5 天 |
342
+ | 北京 → 天津 | 火车 | 3-4 小时 |
343
+ | 城内 | 步行 | 1 小时可达大部分地方 |
344
+ | 乡村 → 县城 | 步行 | 半天到一天 |
345
+
346
+ ## 娱乐(Entertainment)
347
+
348
+ ### 传统娱乐
349
+
350
+ **戏曲**:
351
+ - 京剧、地方戏
352
+ - 戏园、茶馆
353
+ - 票价:0.20-1.00 银元
354
+
355
+ **茶馆**:
356
+ - 听书、聊天
357
+ - 社交场所
358
+ - 茶资:0.05-0.20 银元
359
+
360
+ **庙会**:
361
+ - 节日娱乐
362
+ - 杂耍、小吃、买卖
363
+
364
+ **赌博**:
365
+ - 麻将、牌九、骰子
366
+ - 各阶层都有
367
+
368
+ ### 新兴娱乐
369
+
370
+ **电影**:
371
+ - 无声电影为主
372
+ - 1927 年后有有声电影
373
+ - 票价:0.30-0.80 银元
374
+ - 主要在大城市
375
+
376
+ **舞厅**:
377
+ - 上海、北京等大城市
378
+ - 时髦场所
379
+ - 被传统人士视为"伤风败俗"
380
+
381
+ **话剧**:
382
+ - 新文化运动产物
383
+ - 知识分子喜爱
384
+ - 观众较少
385
+
386
+ **体育**:
387
+ - 足球、篮球(学生)
388
+ - 网球(上流社会)
389
+ - 传统武术
390
+
391
+ ### 阅读
392
+
393
+ **报纸**:
394
+ - 《申报》《大公报》等
395
+ - 价格:0.02-0.05 银元
396
+ - 识字率低,读者有限
397
+
398
+ **杂志**:
399
+ - 《新青年》《小说月报》等
400
+ - 知识分子阅读
401
+
402
+ **小说**:
403
+ - 鸳鸯蝴蝶派(通俗小说)
404
+ - 新文学(鲁迅、郁达夫等)
405
+ - 租书摊:0.01-0.02 银元/天
406
+
407
+ **识字率低**:
408
+ - 阅读是少数人特权
409
+ - 农村文盲率 80% 以上
410
+
411
+ ## 通讯与信息
412
+
413
+ ### 通讯方式
414
+
415
+ **信件**:
416
+ - 主要方式
417
+ - 邮局、民信局
418
+ - 平信:0.02-0.04 银元
419
+ - 上海 → 北京:5-7 天
420
+
421
+ **电报**:
422
+ - 紧急事务
423
+ - 按字收费:0.10-0.20 银元/字
424
+ - 极贵,简短
425
+
426
+ **电话**:
427
+ - 大城市富人、机关
428
+ - 极稀有
429
+ - 月租:5-10 银元
430
+
431
+ **口信**:
432
+ - 熟人传话
433
+ - 农村主要方式
434
+
435
+ ### 邮政
436
+
437
+ **邮局**:
438
+ - 城市有正规邮局
439
+ - 清朝建立,民国继承
440
+
441
+ **民信局**:
442
+ - 民间邮递
443
+ - 农村主要依靠
444
+
445
+ **邮资**:
446
+ - 平信:0.02-0.04 银元
447
+ - 挂号:0.06-0.08 银元
448
+
449
+ ## 医疗卫生
450
+
451
+ ### 医疗资源
452
+
453
+ **西医**:
454
+ - 大城市医院
455
+ - 教会医院
456
+ - 极少数,昂贵
457
+
458
+ **中医**:
459
+ - 主流选择
460
+ - 城乡都有
461
+ - 价格:0.20-2.00 银元/次
462
+
463
+ **赤脚医生**:
464
+ - 农村
465
+ - 半医半农
466
+
467
+ **巫医**:
468
+ - 偏远地区
469
+ - 迷信治疗
470
+
471
+ ### 常见疾病
472
+
473
+ **传染病**:
474
+ - 天花、霍乱、伤寒、痢疾
475
+ - 死亡率高
476
+
477
+ **营养不良**:
478
+ - 普遍现象
479
+ - 贫困人口严重
480
+
481
+ **婴儿死亡率**:
482
+ - 极高(30-40%)
483
+
484
+ **平均寿命**:
485
+ - 约 35 岁
486
+
487
+ ### 卫生状况
488
+
489
+ **城市**:
490
+ - 租界卫生较好
491
+ - 华界卫生差
492
+ - 垃圾、粪便处理不善
493
+
494
+ **农村**:
495
+ - 卫生极差
496
+ - 饮用水不洁
497
+ - 疾病流行
498
+
499
+ ## 常见误区
500
+
501
+ ### ❌ 误区 1:到处都有汽车
502
+ **现实**:
503
+ - 1920年代汽车极少
504
+ - 全上海不到 1000 辆
505
+ - 只有大城市少数富人
506
+
507
+ ### ❌ 误区 2:普通人也能吃西餐
508
+ **现实**:
509
+ - 西餐极贵
510
+ - 只有上流社会
511
+ - 普通人一辈子没吃过
512
+
513
+ ### ❌ 误区 3:电话很普及
514
+ **现实**:
515
+ - 电话极稀有
516
+ - 只有大城市富人和机关
517
+ - 多数人一辈子没见过
518
+
519
+ ### ❌ 误区 4:人人都看电影
520
+ **现实**:
521
+ - 电影票较贵(0.30-0.80 银元)
522
+ - 普通工人月薪 10-20 银元
523
+ - 看电影是奢侈消费
524
+
525
+ ### ❌ 误区 5:女性都穿旗袍
526
+ **现实**:
527
+ - 旗袍主要在城市流行
528
+ - 农村妇女仍穿传统袄裙
529
+ - 旗袍是时髦象征
530
+
531
+ ### ❌ 误区 6:医疗条件不错
532
+ **现实**:
533
+ - 医疗资源极度匮乏
534
+ - 婴儿死亡率 30-40%
535
+ - 平均寿命 35 岁
536
+
537
+ ## 写作应用
538
+
539
+ ### 描写日常场景时
540
+
541
+ **细节真实性**:
542
+ - 符合时代物价和生活水平
543
+ - 不同阶层的生活天差地别
544
+ - 地域差异(上海 vs 农村)
545
+
546
+ **阶层差异**:
547
+ ```
548
+ 富人:洋房、汽车、西餐、留学
549
+ 中产:石库门、人力车、茶馆、学堂
550
+ 穷人:棚户、步行、粗茶淡饭、文盲
551
+ ```
552
+
553
+ ### 常见场景的正确描写
554
+
555
+ **吃饭场景**:
556
+ ```
557
+ ✓ "他在小饭馆点了一碗阳春面,花了一角五分"
558
+ ✗ "他点了一份牛排和红酒"(普通人消费不起)
559
+
560
+ ✓ "晚饭是剩饭配咸菜,偶尔有点肉末"
561
+ ✗ "每天大鱼大肉"(不符合普通家庭)
562
+ ```
563
+
564
+ **出行场景**:
565
+ ```
566
+ ✓ "拉了辆黄包车,讲好价钱两角银子"
567
+ ✗ "打了辆出租车"(没有出租车)
568
+
569
+ ✓ "步行了一个时辰,终于到了城西"
570
+ ✗ "骑自行车十分钟就到了"(自行车极少)
571
+ ```
572
+
573
+ **通讯场景**:
574
+ ```
575
+ ✓ "写了封家书,托邮差带回老家"
576
+ ✗ "拿起电话就打给了远在乡下的父母"(农村没电话)
577
+
578
+ ✓ "发了封电报,只写了十个字,花了两块银元"
579
+ ✗ "发了封长长的电报"(电报按字收费,极贵)
580
+ ```
581
+
582
+ **娱乐场景**:
583
+ ```
584
+ ✓ "去戏园听了一出《霸王别姬》"
585
+ ✗ "去电影院看了最新的好莱坞大片"(电影少,且多为国产)
586
+
587
+ ✓ "在茶馆坐了一下午,听说书先生讲《三国》"
588
+ ✗ "在咖啡馆喝咖啡"(咖啡馆极少,且贵)
589
+ ```
590
+
591
+ ### 营造时代氛围
592
+
593
+ **声音**:
594
+ - 黄包车夫的吆喝
595
+ - 卖报童的叫卖
596
+ - 电车的铃声
597
+ - 戏园的锣鼓
598
+
599
+ **气味**:
600
+ - 街头小吃的香味
601
+ - 煤烟味
602
+ - 垃圾的臭味(卫生差)
603
+
604
+ **视觉**:
605
+ - 长衫与西装并存
606
+ - 人力车与汽车同行
607
+ - 洋楼与棚户对比
608
+
609
+ ## 参考来源
610
+
611
+ - 《老上海》系列
612
+ - 《北平风物志》
613
+ - 民国时期物价资料汇编
614
+ - 《民国生活史》
615
+ - 老照片、回忆录
616
+ - 民国时期报刊资料