guanwei 1.1.1

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 (157) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +202 -0
  3. package/README.md +247 -0
  4. package/dist/assets/index-CsOD5rSo.js +102 -0
  5. package/dist/assets/index-CsOD5rSo.js.map +1 -0
  6. package/dist/assets/index-DQx62TUr.css +1 -0
  7. package/dist/favicon.svg +12 -0
  8. package/dist/index.html +15 -0
  9. package/eslint.config.js +28 -0
  10. package/index.html +25 -0
  11. package/package.json +96 -0
  12. package/postcss.config.js +10 -0
  13. package/public/favicon.svg +12 -0
  14. package/scripts/guanwei +245 -0
  15. package/scripts/install.sh +79 -0
  16. package/scripts/release.sh +42 -0
  17. package/scripts/setup.bat +36 -0
  18. package/scripts/setup.sh +123 -0
  19. package/server/src/data/db.json +12059 -0
  20. package/server/src/data/guanwei.db +0 -0
  21. package/server/src/data/lifeContext.ts +423 -0
  22. package/server/src/data/spreads.ts +255 -0
  23. package/server/src/data/tarotCards.ts +2353 -0
  24. package/server/src/index.ts +71 -0
  25. package/server/src/routes/ai.ts +376 -0
  26. package/server/src/routes/divine.ts +140 -0
  27. package/server/src/routes/hour.ts +40 -0
  28. package/server/src/routes/tarot.ts +129 -0
  29. package/server/src/routes/users.ts +140 -0
  30. package/server/src/services/chartBrief.ts +131 -0
  31. package/server/src/services/divineStore.ts +188 -0
  32. package/server/src/services/hourInference.ts +150 -0
  33. package/server/src/services/llmProvider.ts +181 -0
  34. package/server/src/services/promptBuilder.ts +327 -0
  35. package/server/src/services/relativesCheck.ts +139 -0
  36. package/server/src/services/sixRelatives.ts +70 -0
  37. package/server/src/services/skills.ts +116 -0
  38. package/server/src/types/index.ts +104 -0
  39. package/server/src/utils/semanticAnalyzer.ts +555 -0
  40. package/server/src/utils/tarotEngine.ts +849 -0
  41. package/server/tsconfig.json +18 -0
  42. package/shared/core/data/classics.ts +276 -0
  43. package/shared/core/data/courses.ts +211 -0
  44. package/shared/core/data/duanyu.ts +148 -0
  45. package/shared/core/data/ganzhi.ts +53 -0
  46. package/shared/core/data/gua64.ts +93 -0
  47. package/shared/core/data/liuren.ts +18 -0
  48. package/shared/core/data/liuyao.ts +73 -0
  49. package/shared/core/data/qimen.ts +27 -0
  50. package/shared/core/data/region-full.ts +3 -0
  51. package/shared/core/data/region.ts +310 -0
  52. package/shared/core/data/tarotSpreads.ts +78 -0
  53. package/shared/core/data/xiaoliuren.ts +18 -0
  54. package/shared/core/data/ziwei.ts +97 -0
  55. package/shared/core/data/zodiac.ts +20 -0
  56. package/shared/core/engine/astrology.ts +169 -0
  57. package/shared/core/engine/bazi.ts +306 -0
  58. package/shared/core/engine/calendar.ts +127 -0
  59. package/shared/core/engine/daily.ts +133 -0
  60. package/shared/core/engine/liuren.ts +86 -0
  61. package/shared/core/engine/liuyao.ts +93 -0
  62. package/shared/core/engine/meihua.ts +87 -0
  63. package/shared/core/engine/qimen.ts +78 -0
  64. package/shared/core/engine/questionFit.ts +94 -0
  65. package/shared/core/engine/tarot.ts +69 -0
  66. package/shared/core/engine/trueSolarTime.ts +86 -0
  67. package/shared/core/engine/xiaoliuren.ts +19 -0
  68. package/shared/core/engine/ziwei.ts +217 -0
  69. package/shared/core/engine/ziweiInterpret.ts +161 -0
  70. package/shared/core/types.ts +206 -0
  71. package/src/App.tsx +69 -0
  72. package/src/arts/registry.ts +31 -0
  73. package/src/assets/react.svg +1 -0
  74. package/src/components/Backdrop.tsx +27 -0
  75. package/src/components/BambooArt.tsx +41 -0
  76. package/src/components/CalendarInput.tsx +131 -0
  77. package/src/components/DateInput.tsx +103 -0
  78. package/src/components/Disclaimer.tsx +12 -0
  79. package/src/components/Empty.tsx +8 -0
  80. package/src/components/ErrorBoundary.tsx +38 -0
  81. package/src/components/HomeSideAnchor.tsx +62 -0
  82. package/src/components/InkVein.tsx +10 -0
  83. package/src/components/LifeEventsInput.tsx +47 -0
  84. package/src/components/LocationPicker.tsx +117 -0
  85. package/src/components/Motes.tsx +65 -0
  86. package/src/components/Navigation.tsx +80 -0
  87. package/src/components/ProfileForm.tsx +40 -0
  88. package/src/components/ProfilePicker.tsx +40 -0
  89. package/src/components/QuestionFields.tsx +47 -0
  90. package/src/components/ReportView.tsx +211 -0
  91. package/src/components/ResultCard.tsx +40 -0
  92. package/src/components/SealButton.tsx +18 -0
  93. package/src/components/SiteFooter.tsx +17 -0
  94. package/src/components/SiteNav.tsx +103 -0
  95. package/src/components/SongDialog.tsx +64 -0
  96. package/src/components/SongSearchSelect.tsx +81 -0
  97. package/src/components/SongSelect.tsx +61 -0
  98. package/src/components/StarField.tsx +119 -0
  99. package/src/components/TarotCard.tsx +129 -0
  100. package/src/components/TimeShichenInput.tsx +29 -0
  101. package/src/components/arts/AstrologyArt.tsx +141 -0
  102. package/src/components/arts/BaziArt.tsx +269 -0
  103. package/src/components/arts/LiurenArt.tsx +87 -0
  104. package/src/components/arts/LiuyaoArt.tsx +111 -0
  105. package/src/components/arts/MeihuaArt.tsx +105 -0
  106. package/src/components/arts/QimenArt.tsx +86 -0
  107. package/src/components/arts/TarotArt.tsx +110 -0
  108. package/src/components/arts/XiaoliurenArt.tsx +93 -0
  109. package/src/components/arts/ZiweiArt.tsx +296 -0
  110. package/src/data/arts.ts +84 -0
  111. package/src/data/lifeContext.ts +423 -0
  112. package/src/data/sample-report.json +146 -0
  113. package/src/data/shichen.ts +21 -0
  114. package/src/data/spreads.ts +255 -0
  115. package/src/data/tarotCards.ts +2353 -0
  116. package/src/hooks/useAIInterpret.ts +76 -0
  117. package/src/hooks/useDivine.ts +39 -0
  118. package/src/hooks/useTheme.ts +29 -0
  119. package/src/index.css +190 -0
  120. package/src/lib/utils.ts +6 -0
  121. package/src/main.tsx +12 -0
  122. package/src/pages/AboutPage.tsx +25 -0
  123. package/src/pages/AcademyPage.tsx +128 -0
  124. package/src/pages/AstrologyPage.tsx +33 -0
  125. package/src/pages/AuthPage.tsx +263 -0
  126. package/src/pages/BaZiPage.tsx +33 -0
  127. package/src/pages/ClassicsPage.tsx +120 -0
  128. package/src/pages/DemoPage.tsx +161 -0
  129. package/src/pages/HistoryPage.tsx +133 -0
  130. package/src/pages/Home.tsx +179 -0
  131. package/src/pages/HomePage.tsx +174 -0
  132. package/src/pages/ModulePage.tsx +320 -0
  133. package/src/pages/SpreadEditor.tsx +230 -0
  134. package/src/pages/SpreadEditorPage.tsx +105 -0
  135. package/src/pages/SpreadLibrary.tsx +199 -0
  136. package/src/pages/SpreadLibraryPage.tsx +17 -0
  137. package/src/pages/TarotPage.tsx +738 -0
  138. package/src/pages/ZiWeiPage.tsx +33 -0
  139. package/src/services/api.ts +342 -0
  140. package/src/stores/useDivinationStore.ts +22 -0
  141. package/src/styles/song.css +1066 -0
  142. package/src/styles/tokens.css +60 -0
  143. package/src/types/index.ts +104 -0
  144. package/src/utils/astrologyCalc.ts +61 -0
  145. package/src/utils/comboEngine.ts +134 -0
  146. package/src/utils/dst.ts +24 -0
  147. package/src/utils/panTone.ts +206 -0
  148. package/src/utils/recordStore.ts +60 -0
  149. package/src/utils/semanticAnalyzer.ts +555 -0
  150. package/src/utils/spreadStorage.ts +32 -0
  151. package/src/utils/storage.ts +27 -0
  152. package/src/utils/tarotEngine.ts +849 -0
  153. package/src/utils/userStore.ts +234 -0
  154. package/src/vite-env.d.ts +1 -0
  155. package/tailwind.config.js +52 -0
  156. package/tsconfig.json +40 -0
  157. package/vite.config.ts +34 -0
Binary file
@@ -0,0 +1,423 @@
1
+ // 生活化场景语料库
2
+ // 根据场景提供具体的日常落地建议
3
+
4
+ import type { Scene, Emotion } from '../utils/semanticAnalyzer.js';
5
+
6
+ export interface LifeContext {
7
+ scenes: string[];
8
+ actions: string[];
9
+ warnings: string[];
10
+ timeline: { short: string; mid: string; long: string };
11
+ emotionAdvice: Record<Emotion, string>;
12
+ }
13
+
14
+ export const LIFE_CONTEXTS: Record<Scene, LifeContext> = {
15
+ love: {
16
+ scenes: [
17
+ '下次见面前的准备', '周末约会安排', '吵架后的修复窗口', '同居的边界讨论',
18
+ '朋友圈互动', '对方家庭的相处', '纪念日的礼物准备', '异地见面的频率',
19
+ '朋友圈的公开', '对未来规划的讨论', '财务上的彼此透明', '朋友面前的相处'
20
+ ],
21
+ actions: [
22
+ '找一个不被手机打扰的时段,约对方喝杯咖啡而非吃饭',
23
+ '用非暴力沟通的方式表达:"我希望"而非"你总是"',
24
+ '今晚给对方发一条具体的小事:今天看到了某个东西想起你',
25
+ '把心里的担忧写在纸上再读出来,避免面对面时情绪化',
26
+ '主动安排一个共同朋友在场的小型聚会,让关系更自然',
27
+ '买对方一直提过但没舍得买的小东西,不用贵,重在心意',
28
+ '给彼此留出独立的半天时间,再重逢会有新的吸引力',
29
+ '下次争吵时先停30秒,默念"我是在乎这段关系的"',
30
+ '用具体数字表达爱:每周至少2次高质量陪伴、每月1次小惊喜',
31
+ '在朋友圈偶尔发对方的照片或感谢,给关系一个公开的位置',
32
+ ],
33
+ warnings: [
34
+ '不要在深夜或酒后讨论关系的核心问题',
35
+ '不要在对方加班疲惫时提敏感话题',
36
+ '不要把对方与前任或别人比较,哪怕只是玩笑',
37
+ '不要冷战超过24小时,主动打破僵局',
38
+ '不要在朋友圈用含沙射影的方式表达情绪',
39
+ '不要让对方从朋友口中才知道你的不开心',
40
+ ],
41
+ timeline: {
42
+ short: '1周内:你与对方的一次具体互动能感受到变化',
43
+ mid: '1个月内:相处的氛围或模式会有一个明显的调整',
44
+ long: '3个月内:关系进入一个新的阶段或方向',
45
+ },
46
+ emotionAdvice: {
47
+ anxious: '先照顾自己的情绪,焦虑时做的决定往往偏激;可以先做让自己放松的事(运动、泡澡、看老电影),再处理关系',
48
+ hopeful: '保持这份期待,但给彼此留有空间;过度的期待会变成压力,对方可能感受到',
49
+ confused: '写下三个最让你困惑的具体问题,比空想"他到底爱不爱我"更有用',
50
+ lost: '现在不是做决定的时机,先把情绪稳一稳;做让你感觉好的事,重建自我感',
51
+ grateful: '把这份感恩用行动表达,写一段话给 ta,比买礼物更让关系升温',
52
+ calm: '稳定的你才是关系中最好的定海神针;继续做让你踏实的事',
53
+ angry: '别让愤怒在沉默中累积;用"我感到"开头说出具体的事,不上升到人格',
54
+ sad: '允许自己难过;别用"我没事"来武装,真实的脆弱会让关系更近',
55
+ curious: '用好奇代替评判:问 ta "你那会儿是怎么想的"而非"你怎么能这样"',
56
+ },
57
+ },
58
+ career: {
59
+ scenes: [
60
+ '明天的会议或汇报', '与老板的1对1沟通', '同事之间的协作',
61
+ '简历或作品集更新', '面试前的准备', '提出加薪或晋升的窗口',
62
+ '跳槽的时机判断', '副业与主业的平衡', '项目汇报的表达',
63
+ '行业转型的可行性', '团队管理的难题', '跨部门合作',
64
+ ],
65
+ actions: [
66
+ '把当前的工作列出"我喜欢"和"我讨厌"两栏,找3个能立刻调整的小事',
67
+ '主动约老板一次30分钟的咖啡时间,聊聊你的发展方向',
68
+ '在下次会议上提前准备3个有深度的发言,让同事记住你',
69
+ '本周更新一次LinkedIn或简历,标记你最近的成果',
70
+ '找一个比你资深的人做非正式的mentor,请他吃顿饭聊聊',
71
+ '清理一份你拖了1周以上的文档,先从"简单"那部分开始',
72
+ '把加班的2小时换成早上提前1小时,工作产出可能反而更高',
73
+ '记录下你本周的3个小成就,面试或谈薪时用得到',
74
+ '与一个你欣赏的同事建立一个互助的小组:互相看代码、看方案',
75
+ '这周至少读一篇行业深度文章,比刷短视频有长期价值',
76
+ ],
77
+ warnings: [
78
+ '不要在情绪最低谷时提离职或裸辞',
79
+ '不要在没有下家时与老板摊牌',
80
+ '不要在公开场合抱怨同事或上级',
81
+ '不要在刚入职3个月内频繁请假',
82
+ '不要在没有准备的情况下接受跨部门合作',
83
+ '不要让副业影响主业的核心工作时间',
84
+ ],
85
+ timeline: {
86
+ short: '1周内:会有一个工作上的具体反馈或机会出现',
87
+ mid: '1-3个月:你的工作表现会得到某个形式的认可或调整',
88
+ long: '半年内:你的职业路径会有一个明确的方向变化',
89
+ },
90
+ emotionAdvice: {
91
+ anxious: '把大任务拆成2小时可以完成的小块;完成小任务能缓解焦虑',
92
+ hopeful: '保持这股劲,但注意身体健康;不要透支睡眠去拼工作',
93
+ confused: '约一次和mentor或前辈的对话,比自己在脑子里转更快',
94
+ lost: '在"要不要换"之前,先想清楚"换什么"和"换到哪"',
95
+ grateful: '把感恩写进工作日志,记录那些帮过你的人和事',
96
+ calm: '这种稳定是你做长期规划的最佳状态;可以做半年后的规划',
97
+ angry: '把愤怒写下来,但不发送;过两天再看,会更客观',
98
+ sad: '允许自己难过,但不要让一次失败定义你的能力',
99
+ curious: '用"我想了解"的态度去接触新项目或新领域,比"我必须"更持久',
100
+ },
101
+ },
102
+ wealth: {
103
+ scenes: [
104
+ '本月的预算分配', '信用卡账单的还款节奏', '下笔投资的方向',
105
+ '副业的尝试窗口', '跳槽谈薪的时机', '房租/房贷的支付',
106
+ '给家人的转账', '意外支出的应对', '理财产品到期续投',
107
+ '购物节前的清单', '是否要做一笔大额支出', '节流与开源的平衡',
108
+ ],
109
+ actions: [
110
+ '今天用记账APP记录一笔非必需支出,看一周累积多少',
111
+ '检查你的自动续费,关闭3个用不上的订阅',
112
+ '把应急资金单独放一个账户,不到万不得已不动',
113
+ '下笔超过月收入10%的消费前,给自己72小时冷静期',
114
+ '把"想要"和"需要"分开列,购物前列出来',
115
+ '如果你有负债,本周做一份还款计划表,标注每个月的目标',
116
+ '找一项低风险的副业尝试,每月多500-2000元是合理目标',
117
+ '读一本个人理财的基础书(如《小狗钱钱》《穷爸爸富爸爸》)',
118
+ '和另一半公开讨论一次财务现状,列出共同目标',
119
+ '清理闲置物品:闲鱼上挂3件,回收成本就是额外收入',
120
+ ],
121
+ warnings: [
122
+ '不要借贷去做超过你承受能力的投资',
123
+ '不要被"高回报"承诺冲昏头脑,远离不熟悉的金融产品',
124
+ '不要让信用卡分期成为长期习惯',
125
+ '不要在情绪低落时做大额消费',
126
+ '不要借钱给不熟的人,除非你能承受全部损失',
127
+ '不要因为别人都在赚就盲目跟风,独立的判断最重要',
128
+ ],
129
+ timeline: {
130
+ short: '1周内:财务上的一个具体变化或机会',
131
+ mid: '1-3个月:现金流或理财方式会有一个明显调整',
132
+ long: '半年到1年:你的财务结构会有一个方向性的变化',
133
+ },
134
+ emotionAdvice: {
135
+ anxious: '先盘点你的实际数字,把"想象的最坏"和"实际的数字"对比',
136
+ hopeful: '保持乐观但也做好风险预案;投资最忌讳把鸡蛋都放一个篮子',
137
+ confused: '从最简单的开始:先有3个月应急金,再考虑投资',
138
+ lost: '现在不是投资的好时机,先稳住基本盘',
139
+ grateful: '从感恩开始记账,你会重新看到那些你习以为常的丰盛',
140
+ calm: '理性的你适合做长期规划;可以研究一下指数基金',
141
+ angry: '情绪激动时不做任何财务决定;24小时后再看那个支出/投资',
142
+ sad: '用"小确幸"重建对生活的掌控感,比如自己做饭、买便宜的咖啡',
143
+ curious: '学习阶段最适合:读财经书、看纪录片,比直接投资更安全',
144
+ },
145
+ },
146
+ study: {
147
+ scenes: [
148
+ '明天的考试', '论文的deadline', '与导师的沟通',
149
+ '是否要考研/留学', '是否换专业', '同学之间的竞争',
150
+ '实习的获取', '课堂上的发言', '小组作业的协作',
151
+ ],
152
+ actions: [
153
+ '用番茄钟法设定25分钟专注学习,5分钟休息',
154
+ '把大目标拆成每天2小时的小目标',
155
+ '找一个学习搭子,互相督促',
156
+ '本周与导师约一次1对1,谈你的进展',
157
+ '整理笔记,用思维导图串联知识',
158
+ '真题做3套比刷10套泛题更有效',
159
+ '错题本是你最宝贵的财富,每天看一遍',
160
+ ],
161
+ warnings: [
162
+ '不要熬夜通宵复习,临场发挥更重要',
163
+ '不要因为焦虑而拖延,越拖越焦虑',
164
+ '不要和别人比较进度,每个人的节奏不同',
165
+ '不要在考前临时换学习方式',
166
+ ],
167
+ timeline: {
168
+ short: '1周内:会有一个学习上的小进展',
169
+ mid: '1-3个月:成绩或能力会有一个具体提升',
170
+ long: '半年到1年:升学或学业目标会有结果',
171
+ },
172
+ emotionAdvice: {
173
+ anxious: '深呼吸,把注意力拉回当下;专注过程而非结果',
174
+ hopeful: '这股劲很珍贵,但记得保重身体',
175
+ confused: '找学长学姐或老师聊聊,比自己摸索更高效',
176
+ lost: '现在不是硬撑的时候,先休息再调整',
177
+ grateful: '感谢陪你学习的人,孤独的旅程需要同路人',
178
+ calm: '稳定的节奏是学习最大的助力;继续',
179
+ angry: '先处理情绪再学习;运动30分钟再回来',
180
+ sad: '允许自己难过,但别放弃;找朋友聊聊',
181
+ curious: '把"为什么"当成最好的老师',
182
+ },
183
+ },
184
+ health: {
185
+ scenes: [
186
+ '今天的睡眠', '本周的运动计划', '饮食的调整',
187
+ '情绪波动的觉察', '体检或就医', '戒掉一个坏习惯',
188
+ '补充营养或维生素', '冥想或呼吸练习', '社交与独处平衡',
189
+ ],
190
+ actions: [
191
+ '今晚比平时早30分钟关灯,看纸质书而非手机',
192
+ '本周至少做3次20分钟的运动(散步也算)',
193
+ '把"重油重盐"换一顿为"蒸煮炖"',
194
+ '每天喝够1500ml的水,用杯子或水壶提醒',
195
+ '做一个10分钟的身体扫描冥想(从头到脚)',
196
+ '做一份简单的"心情日记",记录每天最触动的一个情绪',
197
+ '预约一次年度体检,把该做的检查都做了',
198
+ '戒一个你最想戒的坏习惯:奶茶、熬夜、刷手机',
199
+ '找一个喜欢的运动,每周至少2次',
200
+ ],
201
+ warnings: [
202
+ '不要长期熬夜,睡眠是最好的养生',
203
+ '不要用极端节食减肥,新陈代谢会越来越差',
204
+ '不要在情绪低落时用暴食、购物等逃避',
205
+ '不要忽视身体的求救信号(小痛、持续疲惫)',
206
+ '不要在身体不适时硬撑,及时就医',
207
+ ],
208
+ timeline: {
209
+ short: '1周内:身体或情绪会有一个具体改善',
210
+ mid: '1-3个月:生活习惯会有一个明显的调整',
211
+ long: '半年到1年:身心状态会有整体提升',
212
+ },
213
+ emotionAdvice: {
214
+ anxious: '呼吸练习是最快的缓解:4秒吸气-7秒屏息-8秒呼气',
215
+ hopeful: '这股力量会让你坚持下去,记得设小目标',
216
+ confused: '先记录一周的身体和情绪,找规律',
217
+ lost: '从最简单的开始:早睡、喝水、散步',
218
+ grateful: '感谢这个身体;每天对它说一声谢谢',
219
+ calm: '保持这种状态,是养生的最佳环境',
220
+ angry: '运动是消化愤怒最好的方式,跑步或拳击',
221
+ sad: '允许自己哭;眼泪是身体排毒的方式',
222
+ curious: '读一本关于身心健康的书,了解你的身体',
223
+ },
224
+ },
225
+ family: {
226
+ scenes: [
227
+ '下次和父母通电话', '回家过节的准备', '孩子教育的分歧',
228
+ '婆媳/翁婿的相处', '家里有大事需要决策', '与兄弟姐妹的相处',
229
+ '父母催婚/催生的应对', '远距离陪伴父母',
230
+ ],
231
+ actions: [
232
+ '本周给父母打一次电话,不聊正事只聊家常',
233
+ '准备一份小礼物,无需贵重,重在心意',
234
+ '把家里的某个"老问题"列出来,思考是否能改变',
235
+ '主动安排一次家庭聚餐,固定一个时间',
236
+ '为父母预约一次体检,把关怀落实到行动',
237
+ '在朋友圈多发一些家庭相关的照片,让父母开心',
238
+ '回家时放下手机,认真陪父母聊聊天',
239
+ '为家人做一件具体的家务事,比如洗碗、打扫',
240
+ ],
241
+ warnings: [
242
+ '不要在节日里讨论敏感话题',
243
+ '不要在父母面前炫耀或比较',
244
+ '不要在兄弟姐妹间挑起矛盾',
245
+ '不要逃避沟通,越不说越疏远',
246
+ ],
247
+ timeline: {
248
+ short: '1周内:与家人的一次具体互动',
249
+ mid: '1-3个月:家庭关系会有一个改善',
250
+ long: '半年到1年:家庭氛围会进入新阶段',
251
+ },
252
+ emotionAdvice: {
253
+ anxious: '先理清你自己能改变什么,不能改变什么',
254
+ hopeful: '这份心意是修复关系的最佳能量',
255
+ confused: '找信任的长辈或心理咨询师聊聊',
256
+ lost: '从最容易相处的家人开始重建连接',
257
+ grateful: '把感恩变成一句具体的"谢谢"',
258
+ calm: '用稳定的爱去影响家人',
259
+ angry: '先消化自己的情绪再与家人沟通',
260
+ sad: '允许自己难过,家人之间也会有遗憾',
261
+ curious: '尝试了解家人的童年,那是理解他们的钥匙',
262
+ },
263
+ },
264
+ friendship: {
265
+ scenes: [
266
+ '失联朋友的联系', '近期聚会的安排', '与朋友的小矛盾',
267
+ '朋友圈的边界', '是否要参加不想去的局', '新朋友的融入',
268
+ '给朋友提供帮助', '朋友向你求助的应对',
269
+ ],
270
+ actions: [
271
+ '今天主动给一个许久未见的朋友发条信息',
272
+ '组织一次小型聚会,不必隆重,重在真诚',
273
+ '与朋友约定一个"固定节目",比如每月一次下午茶',
274
+ '在朋友失落时送一份小礼物或一个电话',
275
+ '清理朋友圈:取消关注不喜欢的,留下真正在乎的',
276
+ '加入一个兴趣社群,认识有共同话题的新朋友',
277
+ '和朋友来一次深度的对话,不只是闲聊',
278
+ ],
279
+ warnings: [
280
+ '不要在背后议论朋友',
281
+ '不要在朋友低谷时消失',
282
+ '不要勉强自己与不喜欢的人维持关系',
283
+ '不要借钱给可能要不回来的朋友',
284
+ ],
285
+ timeline: {
286
+ short: '1周内:会有一场具体的社交活动',
287
+ mid: '1-3个月:朋友圈会有一轮调整',
288
+ long: '半年到1年:核心朋友圈会进入新形态',
289
+ },
290
+ emotionAdvice: {
291
+ anxious: '社交焦虑时从小事开始:先回个消息',
292
+ hopeful: '主动邀约朋友比等他们找你更有用',
293
+ confused: '列一个"我喜欢"和"我不喜欢"的朋友类型清单',
294
+ lost: '先从独处开始,了解自己再选择朋友',
295
+ grateful: '给每个核心朋友发一条具体的感谢',
296
+ calm: '稳定的友谊比热闹的饭局更珍贵',
297
+ angry: '在冷静前不做任何关系决定',
298
+ sad: '允许自己难过;朋友疏远是常见的',
299
+ curious: '每个人都有自己的故事,多倾听',
300
+ },
301
+ },
302
+ spiritual: {
303
+ scenes: [
304
+ '今日的冥想练习', '与内在自我的连接', '梦境的理解',
305
+ '人生意义的思考', '灵性成长的方向', '与自然的关系',
306
+ '灵性社群的活动', '书籍或课程的选取',
307
+ ],
308
+ actions: [
309
+ '每天早晨做5分钟感恩冥想',
310
+ '找一个安静的地方散步,专注于呼吸',
311
+ '读一本灵性书籍,每天一个章节',
312
+ '尝试"正念饮食":认真感受每一口食物',
313
+ '做一次"人生回顾"练习:写下来你做过最自豪的3件事',
314
+ '接触自然:森林、海边、星空',
315
+ '与志同道合的人深度交流',
316
+ ],
317
+ warnings: [
318
+ '不要追求"开悟"的快速结果',
319
+ '不要让灵性变成逃避现实的工具',
320
+ '不要盲信任何"大师",保持独立思考',
321
+ '不要在情绪低谷时做重大灵性决定',
322
+ ],
323
+ timeline: {
324
+ short: '1周内:会有一次有意义的内在体验',
325
+ mid: '1-3个月:内在状态会有一个转变',
326
+ long: '半年到1年:人生观会有整体性调整',
327
+ },
328
+ emotionAdvice: {
329
+ anxious: '冥想是最快的工具;先从5分钟开始',
330
+ hopeful: '保持探索,但记得灵性在日常中体现',
331
+ confused: '允许自己"不知道";困惑是成长的一部分',
332
+ lost: '回到身体的感受:呼吸、脚踩地、温度',
333
+ grateful: '每天睡前写下3件感恩的事',
334
+ calm: '这是灵性成长的最佳状态;继续',
335
+ angry: '愤怒也是神圣的;接纳它,再放下它',
336
+ sad: '悲伤是灵魂在说话;给它空间',
337
+ curious: '保持开放,但用理性过滤信息',
338
+ },
339
+ },
340
+ travel: {
341
+ scenes: [
342
+ '即将出行的准备', '目的地的选择', '行程的安排',
343
+ '行李的收拾', '签证或手续的办理', '当地交通与住宿',
344
+ '与旅伴的协调', '预算的分配', '归来的调整',
345
+ ],
346
+ actions: [
347
+ '做一份详细的行程清单:必去、想去、可舍弃',
348
+ '提前了解当地的文化与禁忌',
349
+ '准备一些通用药品与应急物品',
350
+ '在手机上保存好重要文件(身份证、护照、机票)',
351
+ '把这次旅行的意义写下来:是为了放松还是探索',
352
+ '与同行者开一次协调会:预算、节奏、兴趣点',
353
+ '尝试一种当地的食物或活动',
354
+ ],
355
+ warnings: [
356
+ '不要在心情低落时冲动旅行',
357
+ '不要在陌生的环境里过度冒险',
358
+ '不要把旅行当成"逃避",回来后问题还在',
359
+ '不要忽略安全:财物、人身、健康',
360
+ ],
361
+ timeline: {
362
+ short: '1周内:会有一个具体的出行或预订决定',
363
+ mid: '1-3个月:行程或目的地会有一个明确',
364
+ long: '半年到1年:人生会有一次重要的远行',
365
+ },
366
+ emotionAdvice: {
367
+ anxious: '详细的计划能减少焦虑;列清单',
368
+ hopeful: '这份期待是最好的旅行准备',
369
+ confused: '先想清楚"为什么旅行",再决定去哪',
370
+ lost: '也许需要的是"换环境",而非单纯旅游',
371
+ grateful: '感谢即将到来的体验',
372
+ calm: '你最能从旅行中获益;慢慢走,慢慢看',
373
+ angry: '先消化愤怒再出发,否则体验打折',
374
+ sad: '换环境可以是疗愈,但记得回来面对',
375
+ curious: '保持开放,旅行会给你礼物',
376
+ },
377
+ },
378
+ general: {
379
+ scenes: [
380
+ '今日的节奏', '本周的计划', '近期的决策',
381
+ '与人的互动', '生活与工作的平衡', '健康习惯的养成',
382
+ '情绪的觉察', '自我的成长',
383
+ ],
384
+ actions: [
385
+ '今天列出明天最重要的3件事',
386
+ '本周安排一次彻底的"数字断舍离":少刷手机1小时',
387
+ '与一个重要的人聊一次真诚的对话',
388
+ '尝试一个新的活动或学习一样新东西',
389
+ '给自己写一封信:现在的状态、未来的期望',
390
+ '清理一次房间或办公桌,物理的整洁带来心理的清朗',
391
+ '做一次"三日回顾":哪些做得好,哪些可以改进',
392
+ ],
393
+ warnings: [
394
+ '不要在疲惫时做重大决定',
395
+ '不要让忙碌挤掉了重要的关系',
396
+ '不要忽视身体的信号',
397
+ '不要与负能量的人长时间相处',
398
+ ],
399
+ timeline: {
400
+ short: '1周内:会有一个具体的进展或契机',
401
+ mid: '1-3个月:生活的某个方面会有调整',
402
+ long: '半年到1年:你的人生会有一个方向性变化',
403
+ },
404
+ emotionAdvice: {
405
+ anxious: '把"我要怎样"换成"我可以做的一件小事"',
406
+ hopeful: '这股劲需要节制,避免过度消耗',
407
+ confused: '列出你最在意的3个价值,重新对齐',
408
+ lost: '从最小的事开始:吃饭、睡觉、运动',
409
+ grateful: '把感恩写下来,让它具体化',
410
+ calm: '继续这种节奏,你在做对的事',
411
+ angry: '运动或书写是出口;别压抑',
412
+ sad: '允许自己难过,但也别忘了:明天又是新的一天',
413
+ curious: '保持这份好奇,它是你最大的力量',
414
+ },
415
+ },
416
+ };
417
+
418
+ // 特定场景与时间线的对应文案
419
+ export const TIMELINE_TEMPLATES = {
420
+ short: (scene: string) => `**短期(1周内)**:${scene}`,
421
+ mid: (scene: string) => `**中期(1-3个月)**:${scene}`,
422
+ long: (scene: string) => `**长期(半年-1年)**:${scene}`,
423
+ };