skill-schedule 0.1.0 → 0.2.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 (128) hide show
  1. package/SKILL.md +105 -0
  2. package/dist/cli/cmd_read.js +174 -116
  3. package/dist/cli/cmd_read.js.map +1 -1
  4. package/dist/cli/config.d.ts +16 -0
  5. package/dist/cli/config.d.ts.map +1 -0
  6. package/dist/cli/config.js +84 -0
  7. package/dist/cli/config.js.map +1 -0
  8. package/dist/cli/health.d.ts +7 -0
  9. package/dist/cli/health.d.ts.map +1 -0
  10. package/dist/cli/health.js +32 -0
  11. package/dist/cli/health.js.map +1 -0
  12. package/dist/config.d.ts +43 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +64 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/fetch/db.d.ts +4 -0
  17. package/dist/fetch/db.d.ts.map +1 -1
  18. package/dist/fetch/db.js +10 -0
  19. package/dist/fetch/db.js.map +1 -1
  20. package/dist/fetch/errors.d.ts +1 -1
  21. package/dist/fetch/errors.d.ts.map +1 -1
  22. package/dist/fetch/errors.js.map +1 -1
  23. package/dist/fetch/feishu.d.ts +33 -9
  24. package/dist/fetch/feishu.d.ts.map +1 -1
  25. package/dist/fetch/feishu.js +137 -23
  26. package/dist/fetch/feishu.js.map +1 -1
  27. package/dist/fetch/index.d.ts +4 -4
  28. package/dist/fetch/index.d.ts.map +1 -1
  29. package/dist/fetch/index.js +3 -3
  30. package/dist/fetch/index.js.map +1 -1
  31. package/dist/fetch/paths.d.ts +5 -3
  32. package/dist/fetch/paths.d.ts.map +1 -1
  33. package/dist/fetch/paths.js +19 -24
  34. package/dist/fetch/paths.js.map +1 -1
  35. package/dist/health.d.ts +41 -0
  36. package/dist/health.d.ts.map +1 -0
  37. package/dist/health.js +580 -0
  38. package/dist/health.js.map +1 -0
  39. package/dist/help/helpFile.d.ts +69 -0
  40. package/dist/help/helpFile.d.ts.map +1 -0
  41. package/dist/help/helpFile.js +136 -0
  42. package/dist/help/helpFile.js.map +1 -0
  43. package/dist/help/helpPaths.d.ts +14 -0
  44. package/dist/help/helpPaths.d.ts.map +1 -0
  45. package/dist/help/helpPaths.js +40 -0
  46. package/dist/help/helpPaths.js.map +1 -0
  47. package/dist/help/lookup.d.ts.map +1 -1
  48. package/dist/help/lookup.js +8 -1
  49. package/dist/help/lookup.js.map +1 -1
  50. package/dist/help/output.d.ts +22 -0
  51. package/dist/help/output.d.ts.map +1 -0
  52. package/dist/help/output.js +79 -0
  53. package/dist/help/output.js.map +1 -0
  54. package/dist/help/scenes/help-assets.d.ts +97 -0
  55. package/dist/help/scenes/help-assets.d.ts.map +1 -0
  56. package/dist/help/scenes/help-assets.js +2148 -0
  57. package/dist/help/scenes/help-assets.js.map +1 -0
  58. package/dist/plan/check.d.ts +3 -0
  59. package/dist/plan/check.d.ts.map +1 -0
  60. package/dist/plan/check.js +71 -0
  61. package/dist/plan/check.js.map +1 -0
  62. package/dist/plan/context.d.ts +18 -0
  63. package/dist/plan/context.d.ts.map +1 -0
  64. package/dist/plan/context.js +4 -0
  65. package/dist/plan/context.js.map +1 -0
  66. package/dist/plan/ensure.d.ts +4 -0
  67. package/dist/plan/ensure.d.ts.map +1 -0
  68. package/dist/plan/ensure.js +140 -0
  69. package/dist/plan/ensure.js.map +1 -0
  70. package/dist/plan/index.d.ts +8 -0
  71. package/dist/plan/index.d.ts.map +1 -0
  72. package/dist/plan/index.js +56 -0
  73. package/dist/plan/index.js.map +1 -0
  74. package/dist/plan/iso.d.ts +27 -0
  75. package/dist/plan/iso.d.ts.map +1 -0
  76. package/dist/plan/iso.js +55 -0
  77. package/dist/plan/iso.js.map +1 -0
  78. package/dist/plan/overview.d.ts +23 -0
  79. package/dist/plan/overview.d.ts.map +1 -0
  80. package/dist/plan/overview.js +38 -0
  81. package/dist/plan/overview.js.map +1 -0
  82. package/dist/plan/pull.d.ts +25 -0
  83. package/dist/plan/pull.d.ts.map +1 -0
  84. package/dist/plan/pull.js +83 -0
  85. package/dist/plan/pull.js.map +1 -0
  86. package/dist/plan/receipt.d.ts +52 -0
  87. package/dist/plan/receipt.d.ts.map +1 -0
  88. package/dist/plan/receipt.js +57 -0
  89. package/dist/plan/receipt.js.map +1 -0
  90. package/dist/plan/remoteDay.d.ts +62 -0
  91. package/dist/plan/remoteDay.d.ts.map +1 -0
  92. package/dist/plan/remoteDay.js +102 -0
  93. package/dist/plan/remoteDay.js.map +1 -0
  94. package/dist/plan/single.d.ts +4 -0
  95. package/dist/plan/single.d.ts.map +1 -0
  96. package/dist/plan/single.js +176 -0
  97. package/dist/plan/single.js.map +1 -0
  98. package/dist/plan/sync.d.ts +14 -0
  99. package/dist/plan/sync.d.ts.map +1 -0
  100. package/dist/plan/sync.js +158 -0
  101. package/dist/plan/sync.js.map +1 -0
  102. package/dist/plan/upsert.d.ts +5 -0
  103. package/dist/plan/upsert.d.ts.map +1 -0
  104. package/dist/plan/upsert.js +102 -0
  105. package/dist/plan/upsert.js.map +1 -0
  106. package/dist/policy/index.d.ts +2 -2
  107. package/dist/policy/index.d.ts.map +1 -1
  108. package/dist/policy/index.js +1 -1
  109. package/dist/policy/index.js.map +1 -1
  110. package/dist/policy/plan.d.ts +16 -1
  111. package/dist/policy/plan.d.ts.map +1 -1
  112. package/dist/policy/plan.js +51 -1
  113. package/dist/policy/plan.js.map +1 -1
  114. package/dist/policy/wakewords.js +4 -4
  115. package/dist/policy/wakewords.js.map +1 -1
  116. package/dist/render/html.d.ts +0 -6
  117. package/dist/render/html.d.ts.map +1 -1
  118. package/dist/render/html.js +0 -17
  119. package/dist/render/html.js.map +1 -1
  120. package/dist/render/index.d.ts +2 -1
  121. package/dist/render/index.d.ts.map +1 -1
  122. package/dist/render/index.js +3 -1
  123. package/dist/render/index.js.map +1 -1
  124. package/dist/shared/templateFill.d.ts +4 -0
  125. package/dist/shared/templateFill.d.ts.map +1 -0
  126. package/dist/shared/templateFill.js +20 -0
  127. package/dist/shared/templateFill.js.map +1 -0
  128. package/package.json +7 -4
@@ -0,0 +1,2148 @@
1
+ /** #201 · 作息管家 HELP 内容资产(机器生成,禁手改词)。
2
+ *
3
+ * 唯一内容源:`.scratch/t198/old-scenarios.json`——旧作息管家 HELP 实物里原样取出的场景数据
4
+ * (世代判定与内容骨架见 `docs/skills/skill-schedule/t198-old-help-truth.md`)。
5
+ * 本文件由 `scripts/gen-help-assets.mjs` 生成:5 个一级分组/34 条唤醒词/85 条场景,
6
+ * 分组、唤醒词、场景的先后次序与源数据一致。
7
+ *
8
+ * 载荷契约:`packages/base-render/src/spec/help.ts` 的 `SCENE_DATA_SCHEMA`——`HELP_GROUPS` 就是
9
+ * 共享 help 模板要的 `groups` 参数,分三层:一级分组 → 子功能(=旧唤醒词)→ 场景卡片。
10
+ * 该 schema 各层都是 `additionalProperties:false`,多一个键即校验失败,故本文件里的对象字段是闭集。
11
+ *
12
+ * 三处形状转换(生成器里写死、可复核):
13
+ * 1. 源 `dimensions`(参数名 → 说明的自由对象)→ 契约 `editable_fields`:`name`/`label` 取维度键
14
+ * 原名;`hint` 取维度说明原文(逐字;布尔与数字按其 JSON 字面量文本);`value` 一律空串、
15
+ * `required` 一律 false——理由见生成器的 `toField`。
16
+ * 2. 源 `status` 为空、但唤醒词属「今天没有命令可执行」的 5 条者,标 `【待开发】`:
17
+ * 源自标待开发 1 条,加上这几条下辖的场景,本文件标 `【待开发】` 的共 11 条。
18
+ * 3. 三层对齐:源「分组 → 唤醒词 → 场景」直接对到契约「groups → subgroups → scenes」,
19
+ * 不合并、不新造分组(用户在 HELP 页里看到的分组与旧技能所见一致)。
20
+ *
21
+ * 票面点名的逐场景「类型」字段(`type`)在本文件里不存在——这是有据的偏离,不是漏了:契约里那个位
22
+ * 叫 `types`(复数、无单数别名,`packages/base-render/src/spec/help.ts` 的 `SCENE_TYPE_FIELD`/
23
+ * `Scene.types`),而源数据的场景字段是闭集(生成器 `SOURCE_SCENE_KEYS`=wake_word/scenario_id/scenario_title/dimensions/prompt/status/result)、
24
+ * 里面没有类型位,旧实物 HELP 也没有类型徽章——凭空补一个空 `types` 等于自造内容,故不落该字段;
25
+ * 将来源数据真出现类型位,生成器会因字段闭集断言失败而报错(不会静默丢掉)。要变体徽章另开票。
26
+ *
27
+ * 页面外的两张源数据镜像(**留档,页面不渲染**):契约没有对应位、故不进 `HELP_GROUPS` 的两处源信息,
28
+ * 仍按原样镜像在本文件里——源场景的 `result` → `HELP_SCENE_RESULTS`(逐场景一条);
29
+ * 源一级分组的 `desc` → `HELP_GROUP_NOTES`(逐分组一条)。保留数据本身的理由:这两张表的源头在
30
+ * **未入库**的 `.scratch/t198/old-scenarios.json`,删掉即从仓库里彻底灭失,故留档备查。
31
+ * **当前 HELP 页不展示它们**(用户 2026-09-13 裁定:作息 HELP 与其它技能 HELP 同构,不多自带功能模块):
32
+ * 页面上的「预期 ·」与一级分组说明一律不出现,两个渲染出口与 `#help-data` 载荷里都取不到这两个键。
33
+ * 为什么不塞进载荷:校验器按 `additionalProperties:false` 直接拒收多余键
34
+ * (`packages/base-render/src/help.ts` 的字段闭集判定);并进 `editable_fields[].hint` 会让
35
+ * 「可编辑参数」这个位变浑浊,且没有维度的场景(`first_use`)无处可放。
36
+ *
37
+ * 计数全部由数据算出(见 `HELP_TOTALS`),本文件不写第二个数;改资产即跟变。
38
+ * 改词走生成器:`node packages/skill-schedule/scripts/gen-help-assets.mjs`(`--check` 只比对不落盘)。
39
+ */
40
+ /** 5 个一级分组/34 条唤醒词/85 条场景(=共享 help 模板要的 `groups` 参数)。 */
41
+ export const HELP_GROUPS = [
42
+ {
43
+ "id": "write",
44
+ "icon": "📝",
45
+ "label": "写入与同步",
46
+ "subgroups": [
47
+ {
48
+ "id": "write_1",
49
+ "label": "#0 记作息",
50
+ "scenes": [
51
+ {
52
+ "id": "record_add_single",
53
+ "title": "添加单条作息记录",
54
+ "wake_word": "#0 记作息",
55
+ "status": "",
56
+ "prompt_template": "请帮我记一条作息:今天 14:00-15:00 写了 AI 调优代码",
57
+ "editable_fields": [
58
+ {
59
+ "name": "activity",
60
+ "label": "activity",
61
+ "value": "",
62
+ "hint": "任意活动",
63
+ "required": false
64
+ },
65
+ {
66
+ "name": "duration_minutes",
67
+ "label": "duration_minutes",
68
+ "value": "",
69
+ "hint": "1-1440",
70
+ "required": false
71
+ },
72
+ {
73
+ "name": "category",
74
+ "label": "category",
75
+ "value": "",
76
+ "hint": "白名单二级",
77
+ "required": false
78
+ }
79
+ ]
80
+ },
81
+ {
82
+ "id": "record_add_json",
83
+ "title": "通过 JSON 文件批量添加",
84
+ "wake_word": "#0 记作息",
85
+ "status": "",
86
+ "prompt_template": "请帮我批量导入这些作息数据(从 JSON 文件)",
87
+ "editable_fields": [
88
+ {
89
+ "name": "input",
90
+ "label": "input",
91
+ "value": "",
92
+ "hint": "JSON 文件路径",
93
+ "required": false
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ "id": "record_add_illegal_category",
99
+ "title": "category 不在白名单",
100
+ "wake_word": "#0 记作息",
101
+ "status": "【待开发】",
102
+ "prompt_template": "记一笔:14:00 写了代码",
103
+ "editable_fields": [
104
+ {
105
+ "name": "category",
106
+ "label": "category",
107
+ "value": "",
108
+ "hint": "未在白名单的二级",
109
+ "required": false
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "id": "record_add_l1_only",
115
+ "title": "只传一级 category",
116
+ "wake_word": "#0 记作息",
117
+ "status": "",
118
+ "prompt_template": "请帮我记一条创作类作息",
119
+ "editable_fields": [
120
+ {
121
+ "name": "category",
122
+ "label": "category",
123
+ "value": "",
124
+ "hint": "仅一级(如'创作')",
125
+ "required": false
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "id": "record_add_missing_field",
131
+ "title": "必填字段缺失",
132
+ "wake_word": "#0 记作息",
133
+ "status": "",
134
+ "prompt_template": "请帮我记一条作息(用户漏说活动名)",
135
+ "editable_fields": [
136
+ {
137
+ "name": "missing",
138
+ "label": "missing",
139
+ "value": "",
140
+ "hint": "任一必填",
141
+ "required": false
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "id": "batch_add",
147
+ "title": "批量导入作息(JSON 批量写入)",
148
+ "wake_word": "#0 记作息",
149
+ "status": "",
150
+ "prompt_template": "请帮我批量导入这些作息数据(从 JSON 文件)",
151
+ "editable_fields": [
152
+ {
153
+ "name": "input",
154
+ "label": "input",
155
+ "value": "",
156
+ "hint": "JSON 文件路径",
157
+ "required": false
158
+ },
159
+ {
160
+ "name": "date",
161
+ "label": "date",
162
+ "value": "",
163
+ "hint": "目标日期(缺省取当日)",
164
+ "required": false
165
+ },
166
+ {
167
+ "name": "mode",
168
+ "label": "mode",
169
+ "value": "",
170
+ "hint": "一次性批量写入(无唯一键,不幂等)",
171
+ "required": false
172
+ }
173
+ ]
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "id": "write_2",
179
+ "label": "#1 准备消息",
180
+ "scenes": [
181
+ {
182
+ "id": "prep_default",
183
+ "title": "默认游标到当前时间拉取",
184
+ "wake_word": "#1 准备消息",
185
+ "status": "【待开发】",
186
+ "prompt_template": "请帮我准备今天的消息",
187
+ "editable_fields": [
188
+ {
189
+ "name": "range",
190
+ "label": "range",
191
+ "value": "",
192
+ "hint": "默认(游标到当前)",
193
+ "required": false
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ "id": "prep_with_range",
199
+ "title": "指定时间区间拉取",
200
+ "wake_word": "#1 准备消息",
201
+ "status": "【待开发】",
202
+ "prompt_template": "请帮我拉 2026-07-20 00:00 到 2026-07-24 23:59 的消息",
203
+ "editable_fields": [
204
+ {
205
+ "name": "range",
206
+ "label": "range",
207
+ "value": "",
208
+ "hint": "YYYY-MM-DD HH:MM ~ YYYY-MM-DD HH:MM",
209
+ "required": false
210
+ }
211
+ ]
212
+ },
213
+ {
214
+ "id": "prep_pagination",
215
+ "title": "翻页获取下一页",
216
+ "wake_word": "#1 准备消息",
217
+ "status": "【待开发】",
218
+ "prompt_template": "请帮我翻第 3 页",
219
+ "editable_fields": [
220
+ {
221
+ "name": "page",
222
+ "label": "page",
223
+ "value": "",
224
+ "hint": "N",
225
+ "required": false
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ "id": "prep_no_messages",
231
+ "title": "区间内无消息",
232
+ "wake_word": "#1 准备消息",
233
+ "status": "【待开发】",
234
+ "prompt_template": "请帮我准备 2026-07-23 的消息",
235
+ "editable_fields": [
236
+ {
237
+ "name": "range",
238
+ "label": "range",
239
+ "value": "",
240
+ "hint": "无消息区间",
241
+ "required": false
242
+ }
243
+ ]
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "id": "write_3",
249
+ "label": "#2 同步作息",
250
+ "scenes": [
251
+ {
252
+ "id": "sync_full",
253
+ "title": "完整同步流程(准备+分析+写入)",
254
+ "wake_word": "#2 同步作息",
255
+ "status": "【待开发】",
256
+ "prompt_template": "请帮我同步今天的消息成作息记录",
257
+ "editable_fields": [
258
+ {
259
+ "name": "range",
260
+ "label": "range",
261
+ "value": "",
262
+ "hint": "默认",
263
+ "required": false
264
+ }
265
+ ]
266
+ },
267
+ {
268
+ "id": "sync_partial_day",
269
+ "title": "同步指定日期",
270
+ "wake_word": "#2 同步作息",
271
+ "status": "【待开发】",
272
+ "prompt_template": "请帮我同步 2026-07-22 的消息",
273
+ "editable_fields": [
274
+ {
275
+ "name": "date",
276
+ "label": "date",
277
+ "value": "",
278
+ "hint": "YYYY-MM-DD",
279
+ "required": false
280
+ }
281
+ ]
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ "id": "write_4",
287
+ "label": "#3 增量同步",
288
+ "scenes": [
289
+ {
290
+ "id": "sync_incremental",
291
+ "title": "从游标继续",
292
+ "wake_word": "#3 增量同步",
293
+ "status": "【待开发】",
294
+ "prompt_template": "请帮我增量同步(接着上次)",
295
+ "editable_fields": [
296
+ {
297
+ "name": "cursor",
298
+ "label": "cursor",
299
+ "value": "",
300
+ "hint": "上次结束位置",
301
+ "required": false
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "id": "sync_no_cursor",
307
+ "title": "首次同步无游标",
308
+ "wake_word": "#3 增量同步",
309
+ "status": "【待开发】",
310
+ "prompt_template": "请帮我同步(从未同步过)",
311
+ "editable_fields": [
312
+ {
313
+ "name": "first_time",
314
+ "label": "first_time",
315
+ "value": "",
316
+ "hint": "true",
317
+ "required": false
318
+ }
319
+ ]
320
+ }
321
+ ]
322
+ }
323
+ ]
324
+ },
325
+ {
326
+ "id": "query",
327
+ "icon": "🔍",
328
+ "label": "查询与浏览",
329
+ "subgroups": [
330
+ {
331
+ "id": "query_1",
332
+ "label": "#4 今天总结",
333
+ "scenes": [
334
+ {
335
+ "id": "summary_full_24h",
336
+ "title": "当日满 24h 出综合报告",
337
+ "wake_word": "#4 今天总结",
338
+ "status": "",
339
+ "prompt_template": "请给我今天总结",
340
+ "editable_fields": [
341
+ {
342
+ "name": "date",
343
+ "label": "date",
344
+ "value": "",
345
+ "hint": "今天",
346
+ "required": false
347
+ },
348
+ {
349
+ "name": "complete",
350
+ "label": "complete",
351
+ "value": "",
352
+ "hint": "true",
353
+ "required": false
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ "id": "summary_partial",
359
+ "title": "当日未满 24h 出摘要",
360
+ "wake_word": "#4 今天总结",
361
+ "status": "",
362
+ "prompt_template": "请给我今天总结(还没记完)",
363
+ "editable_fields": [
364
+ {
365
+ "name": "date",
366
+ "label": "date",
367
+ "value": "",
368
+ "hint": "今天",
369
+ "required": false
370
+ },
371
+ {
372
+ "name": "complete",
373
+ "label": "complete",
374
+ "value": "",
375
+ "hint": "false",
376
+ "required": false
377
+ }
378
+ ]
379
+ },
380
+ {
381
+ "id": "summary_specific_date",
382
+ "title": "指定日期总结",
383
+ "wake_word": "#4 今天总结",
384
+ "status": "",
385
+ "prompt_template": "请给我 2026-07-22 的总结",
386
+ "editable_fields": [
387
+ {
388
+ "name": "date",
389
+ "label": "date",
390
+ "value": "",
391
+ "hint": "YYYY-MM-DD",
392
+ "required": false
393
+ }
394
+ ]
395
+ },
396
+ {
397
+ "id": "summary_no_records",
398
+ "title": "指定日期无记录",
399
+ "wake_word": "#4 今天总结",
400
+ "status": "",
401
+ "prompt_template": "请给我 2026-01-01 的总结",
402
+ "editable_fields": [
403
+ {
404
+ "name": "date",
405
+ "label": "date",
406
+ "value": "",
407
+ "hint": "YYYY-MM-DD",
408
+ "required": false
409
+ },
410
+ {
411
+ "name": "records",
412
+ "label": "records",
413
+ "value": "",
414
+ "hint": "0",
415
+ "required": false
416
+ }
417
+ ]
418
+ }
419
+ ]
420
+ },
421
+ {
422
+ "id": "query_2",
423
+ "label": "#5 汇总作息",
424
+ "scenes": [
425
+ {
426
+ "id": "summary_range_default",
427
+ "title": "日期范围汇总",
428
+ "wake_word": "#5 汇总作息",
429
+ "status": "",
430
+ "prompt_template": "请给我 7/13~7/19 这一周的汇总",
431
+ "editable_fields": [
432
+ {
433
+ "name": "range",
434
+ "label": "range",
435
+ "value": "",
436
+ "hint": "YYYY-MM-DD ~ YYYY-MM-DD",
437
+ "required": false
438
+ }
439
+ ]
440
+ },
441
+ {
442
+ "id": "summary_range_full",
443
+ "title": "日期范围文本汇总",
444
+ "wake_word": "#5 汇总作息",
445
+ "status": "",
446
+ "prompt_template": "请给我 7/13~7/19 的文本汇总",
447
+ "editable_fields": [
448
+ {
449
+ "name": "range",
450
+ "label": "range",
451
+ "value": "",
452
+ "hint": "任意范围",
453
+ "required": false
454
+ },
455
+ {
456
+ "name": "format",
457
+ "label": "format",
458
+ "value": "",
459
+ "hint": "text",
460
+ "required": false
461
+ }
462
+ ]
463
+ }
464
+ ]
465
+ },
466
+ {
467
+ "id": "query_3",
468
+ "label": "#6 查作息",
469
+ "scenes": [
470
+ {
471
+ "id": "record_list_today",
472
+ "title": "今日作息列表",
473
+ "wake_word": "#6 查作息",
474
+ "status": "",
475
+ "prompt_template": "请帮我看看今天我做了什么",
476
+ "editable_fields": [
477
+ {
478
+ "name": "date",
479
+ "label": "date",
480
+ "value": "",
481
+ "hint": "今天",
482
+ "required": false
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ "id": "record_list_yesterday",
488
+ "title": "昨日作息",
489
+ "wake_word": "#6 查作息",
490
+ "status": "",
491
+ "prompt_template": "昨天我做了什么",
492
+ "editable_fields": [
493
+ {
494
+ "name": "date",
495
+ "label": "date",
496
+ "value": "",
497
+ "hint": "昨天",
498
+ "required": false
499
+ }
500
+ ]
501
+ },
502
+ {
503
+ "id": "record_list_specific",
504
+ "title": "指定日期作息",
505
+ "wake_word": "#6 查作息",
506
+ "status": "",
507
+ "prompt_template": "请帮我看看 2026-07-15 我做了什么",
508
+ "editable_fields": [
509
+ {
510
+ "name": "date",
511
+ "label": "date",
512
+ "value": "",
513
+ "hint": "YYYY-MM-DD",
514
+ "required": false
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "id": "record_list_empty",
520
+ "title": "指定日期无记录",
521
+ "wake_word": "#6 查作息",
522
+ "status": "",
523
+ "prompt_template": "请帮我看看 2026-07-01 我做了什么",
524
+ "editable_fields": [
525
+ {
526
+ "name": "date",
527
+ "label": "date",
528
+ "value": "",
529
+ "hint": "YYYY-MM-DD",
530
+ "required": false
531
+ },
532
+ {
533
+ "name": "records",
534
+ "label": "records",
535
+ "value": "",
536
+ "hint": "0",
537
+ "required": false
538
+ }
539
+ ]
540
+ }
541
+ ]
542
+ },
543
+ {
544
+ "id": "query_4",
545
+ "label": "#7 查作息详情",
546
+ "scenes": [
547
+ {
548
+ "id": "detail_day",
549
+ "title": "查看某日所有详情",
550
+ "wake_word": "#7 查作息详情",
551
+ "status": "",
552
+ "prompt_template": "请帮我看 7/15 作息详情(含 AI 推理链)",
553
+ "editable_fields": [
554
+ {
555
+ "name": "date",
556
+ "label": "date",
557
+ "value": "",
558
+ "hint": "YYYY-MM-DD",
559
+ "required": false
560
+ }
561
+ ]
562
+ },
563
+ {
564
+ "id": "detail_record",
565
+ "title": "查看单条详情",
566
+ "wake_word": "#7 查作息详情",
567
+ "status": "",
568
+ "prompt_template": "请帮我看 id=123 这条记录详情",
569
+ "editable_fields": [
570
+ {
571
+ "name": "record_id",
572
+ "label": "record_id",
573
+ "value": "",
574
+ "hint": "N",
575
+ "required": false
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "id": "detail_with_reasoning",
581
+ "title": "查看 AI 推理链",
582
+ "wake_word": "#7 查作息详情",
583
+ "status": "",
584
+ "prompt_template": "请帮我看 7/15 的 AI 是怎么分类的",
585
+ "editable_fields": [
586
+ {
587
+ "name": "date",
588
+ "label": "date",
589
+ "value": "",
590
+ "hint": "YYYY-MM-DD",
591
+ "required": false
592
+ },
593
+ {
594
+ "name": "include_reasoning",
595
+ "label": "include_reasoning",
596
+ "value": "",
597
+ "hint": "true",
598
+ "required": false
599
+ }
600
+ ]
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "id": "query_5",
606
+ "label": "#8 查作息时间轴",
607
+ "scenes": [
608
+ {
609
+ "id": "timeline_today",
610
+ "title": "今日时间轴",
611
+ "wake_word": "#8 查作息时间轴",
612
+ "status": "",
613
+ "prompt_template": "今天时间轴看一下",
614
+ "editable_fields": [
615
+ {
616
+ "name": "date",
617
+ "label": "date",
618
+ "value": "",
619
+ "hint": "今天",
620
+ "required": false
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "id": "timeline_specific",
626
+ "title": "指定日期时间轴",
627
+ "wake_word": "#8 查作息时间轴",
628
+ "status": "",
629
+ "prompt_template": "请帮我看 7/15 的 24h 时间轴",
630
+ "editable_fields": [
631
+ {
632
+ "name": "date",
633
+ "label": "date",
634
+ "value": "",
635
+ "hint": "YYYY-MM-DD",
636
+ "required": false
637
+ }
638
+ ]
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ "id": "query_6",
644
+ "label": "#9 查作息范围",
645
+ "scenes": [
646
+ {
647
+ "id": "range_default",
648
+ "title": "日期范围统计",
649
+ "wake_word": "#9 查作息范围",
650
+ "status": "",
651
+ "prompt_template": "请帮我看 7/13~7/19 这一周",
652
+ "editable_fields": [
653
+ {
654
+ "name": "range",
655
+ "label": "range",
656
+ "value": "",
657
+ "hint": "YYYY-MM-DD ~ YYYY-MM-DD",
658
+ "required": false
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "id": "range_this_week",
664
+ "title": "本周范围",
665
+ "wake_word": "#9 查作息范围",
666
+ "status": "",
667
+ "prompt_template": "请帮我看本周",
668
+ "editable_fields": [
669
+ {
670
+ "name": "range",
671
+ "label": "range",
672
+ "value": "",
673
+ "hint": "本周(自动计算)",
674
+ "required": false
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ "id": "range_text",
680
+ "title": "范围文本降级",
681
+ "wake_word": "#9 查作息范围",
682
+ "status": "",
683
+ "prompt_template": "请帮我看本周(直接给文本)",
684
+ "editable_fields": [
685
+ {
686
+ "name": "range",
687
+ "label": "range",
688
+ "value": "",
689
+ "hint": "任意",
690
+ "required": false
691
+ },
692
+ {
693
+ "name": "format",
694
+ "label": "format",
695
+ "value": "",
696
+ "hint": "text",
697
+ "required": false
698
+ }
699
+ ]
700
+ }
701
+ ]
702
+ },
703
+ {
704
+ "id": "query_7",
705
+ "label": "#11 查作息状态",
706
+ "scenes": [
707
+ {
708
+ "id": "status_default",
709
+ "title": "查整体状态",
710
+ "wake_word": "#11 查作息状态",
711
+ "status": "",
712
+ "prompt_template": "作息状态怎么样",
713
+ "editable_fields": [
714
+ {
715
+ "name": "scope",
716
+ "label": "scope",
717
+ "value": "",
718
+ "hint": "all",
719
+ "required": false
720
+ }
721
+ ]
722
+ }
723
+ ]
724
+ },
725
+ {
726
+ "id": "query_8",
727
+ "label": "#12 查日程",
728
+ "scenes": [
729
+ {
730
+ "id": "list_events_today",
731
+ "title": "今日日程",
732
+ "wake_word": "#12 查日程",
733
+ "status": "",
734
+ "prompt_template": "请帮我看今天的日程",
735
+ "editable_fields": [
736
+ {
737
+ "name": "date",
738
+ "label": "date",
739
+ "value": "",
740
+ "hint": "今天",
741
+ "required": false
742
+ }
743
+ ]
744
+ },
745
+ {
746
+ "id": "list_events_specific",
747
+ "title": "指定日期日程",
748
+ "wake_word": "#12 查日程",
749
+ "status": "",
750
+ "prompt_template": "请帮我看 7/15 的日程",
751
+ "editable_fields": [
752
+ {
753
+ "name": "date",
754
+ "label": "date",
755
+ "value": "",
756
+ "hint": "YYYY-MM-DD",
757
+ "required": false
758
+ }
759
+ ]
760
+ },
761
+ {
762
+ "id": "search_event_title",
763
+ "title": "按标题搜索日程",
764
+ "wake_word": "#12 查日程",
765
+ "status": "",
766
+ "prompt_template": "今天有健身吗",
767
+ "editable_fields": [
768
+ {
769
+ "name": "date",
770
+ "label": "date",
771
+ "value": "",
772
+ "hint": "今天",
773
+ "required": false
774
+ },
775
+ {
776
+ "name": "title",
777
+ "label": "title",
778
+ "value": "",
779
+ "hint": "健身",
780
+ "required": false
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "id": "search_event_triplet",
786
+ "title": "按时间三元组查重",
787
+ "wake_word": "#12 查日程",
788
+ "status": "",
789
+ "prompt_template": "今天 17:00-18:00 有什么安排",
790
+ "editable_fields": [
791
+ {
792
+ "name": "date",
793
+ "label": "date",
794
+ "value": "",
795
+ "hint": "今天",
796
+ "required": false
797
+ },
798
+ {
799
+ "name": "time_start",
800
+ "label": "time_start",
801
+ "value": "",
802
+ "hint": "HH:MM",
803
+ "required": false
804
+ },
805
+ {
806
+ "name": "time_end",
807
+ "label": "time_end",
808
+ "value": "",
809
+ "hint": "HH:MM",
810
+ "required": false
811
+ }
812
+ ]
813
+ },
814
+ {
815
+ "id": "list_events_inactive",
816
+ "title": "查已软删事件",
817
+ "wake_word": "#12 查日程",
818
+ "status": "",
819
+ "prompt_template": "今天被删的日程有哪些",
820
+ "editable_fields": [
821
+ {
822
+ "name": "date",
823
+ "label": "date",
824
+ "value": "",
825
+ "hint": "今天",
826
+ "required": false
827
+ },
828
+ {
829
+ "name": "include_inactive",
830
+ "label": "include_inactive",
831
+ "value": "",
832
+ "hint": "true",
833
+ "required": false
834
+ }
835
+ ]
836
+ }
837
+ ]
838
+ },
839
+ {
840
+ "id": "query_9",
841
+ "label": "#15 24h 概览",
842
+ "scenes": [
843
+ {
844
+ "id": "query_plans_today",
845
+ "title": "今日 24h 概览",
846
+ "wake_word": "#15 24h 概览",
847
+ "status": "",
848
+ "prompt_template": "今天 24h 安排概览",
849
+ "editable_fields": [
850
+ {
851
+ "name": "date",
852
+ "label": "date",
853
+ "value": "",
854
+ "hint": "今天",
855
+ "required": false
856
+ }
857
+ ]
858
+ }
859
+ ]
860
+ },
861
+ {
862
+ "id": "query_10",
863
+ "label": "#16 查多日计划",
864
+ "scenes": [
865
+ {
866
+ "id": "query_plans_multi",
867
+ "title": "多日简版",
868
+ "wake_word": "#16 查多日计划",
869
+ "status": "",
870
+ "prompt_template": "请帮我看 7/13、7/14、7/15 三天计划",
871
+ "editable_fields": [
872
+ {
873
+ "name": "dates",
874
+ "label": "dates",
875
+ "value": "",
876
+ "hint": "YYYY-MM-DD,YYYY-MM-DD,...",
877
+ "required": false
878
+ }
879
+ ]
880
+ }
881
+ ]
882
+ },
883
+ {
884
+ "id": "query_11",
885
+ "label": "#23 按 ID 查记录",
886
+ "scenes": [
887
+ {
888
+ "id": "get_record_basic",
889
+ "title": "按 ID 查单条",
890
+ "wake_word": "#23 按 ID 查记录",
891
+ "status": "",
892
+ "prompt_template": "帮我查 id=123 这条记录",
893
+ "editable_fields": [
894
+ {
895
+ "name": "record_id",
896
+ "label": "record_id",
897
+ "value": "",
898
+ "hint": "N",
899
+ "required": false
900
+ }
901
+ ]
902
+ }
903
+ ]
904
+ },
905
+ {
906
+ "id": "query_12",
907
+ "label": "周视图",
908
+ "scenes": [
909
+ {
910
+ "id": "week_view",
911
+ "title": "周视图(7×24 全分类总览)",
912
+ "wake_word": "周视图",
913
+ "status": "【待开发】",
914
+ "prompt_template": "请帮我看看这一周的作息总览(唤醒词:周视图)",
915
+ "editable_fields": [
916
+ {
917
+ "name": "week",
918
+ "label": "week",
919
+ "value": "",
920
+ "hint": "目标周(默认本周;锚点日期 YYYY-MM-DD)",
921
+ "required": false
922
+ }
923
+ ]
924
+ }
925
+ ]
926
+ }
927
+ ]
928
+ },
929
+ {
930
+ "id": "plan",
931
+ "icon": "📅",
932
+ "label": "日程与计划",
933
+ "subgroups": [
934
+ {
935
+ "id": "plan_1",
936
+ "label": "#13 补计划",
937
+ "scenes": [
938
+ {
939
+ "id": "ensure_event_basic",
940
+ "title": "补一条计划(基础)",
941
+ "wake_word": "#13 补计划",
942
+ "status": "",
943
+ "prompt_template": "帮我补一条计划到后天 17:00-18:00 健身",
944
+ "editable_fields": [
945
+ {
946
+ "name": "date",
947
+ "label": "date",
948
+ "value": "",
949
+ "hint": "后天",
950
+ "required": false
951
+ },
952
+ {
953
+ "name": "time_start",
954
+ "label": "time_start",
955
+ "value": "",
956
+ "hint": "HH:MM",
957
+ "required": false
958
+ },
959
+ {
960
+ "name": "time_end",
961
+ "label": "time_end",
962
+ "value": "",
963
+ "hint": "HH:MM",
964
+ "required": false
965
+ },
966
+ {
967
+ "name": "title",
968
+ "label": "title",
969
+ "value": "",
970
+ "hint": "X",
971
+ "required": false
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "id": "ensure_event_idempotent",
977
+ "title": "同时间重复(幂等)",
978
+ "wake_word": "#13 补计划",
979
+ "status": "",
980
+ "prompt_template": "再补一条 17:00-18:00 的健身(已有)",
981
+ "editable_fields": [
982
+ {
983
+ "name": "date",
984
+ "label": "date",
985
+ "value": "",
986
+ "hint": "今天",
987
+ "required": false
988
+ },
989
+ {
990
+ "name": "time_start",
991
+ "label": "time_start",
992
+ "value": "",
993
+ "hint": "HH:MM",
994
+ "required": false
995
+ },
996
+ {
997
+ "name": "time_end",
998
+ "label": "time_end",
999
+ "value": "",
1000
+ "hint": "HH:MM",
1001
+ "required": false
1002
+ }
1003
+ ]
1004
+ },
1005
+ {
1006
+ "id": "ensure_event_with_notes",
1007
+ "title": "补计划含备注",
1008
+ "wake_word": "#13 补计划",
1009
+ "status": "",
1010
+ "prompt_template": "帮我补明天 17:00-18:00 健身(练背+有氧)",
1011
+ "editable_fields": [
1012
+ {
1013
+ "name": "date",
1014
+ "label": "date",
1015
+ "value": "",
1016
+ "hint": "明天",
1017
+ "required": false
1018
+ },
1019
+ {
1020
+ "name": "notes",
1021
+ "label": "notes",
1022
+ "value": "",
1023
+ "hint": "细节",
1024
+ "required": false
1025
+ },
1026
+ {
1027
+ "name": "category",
1028
+ "label": "category",
1029
+ "value": "",
1030
+ "hint": "健康.健身",
1031
+ "required": false
1032
+ }
1033
+ ]
1034
+ }
1035
+ ]
1036
+ },
1037
+ {
1038
+ "id": "plan_2",
1039
+ "label": "#14 复盘",
1040
+ "scenes": [
1041
+ {
1042
+ "id": "review_today_normal",
1043
+ "title": "今日复盘(标准流程)",
1044
+ "wake_word": "#14 复盘",
1045
+ "status": "",
1046
+ "prompt_template": "请帮我复盘今天",
1047
+ "editable_fields": [
1048
+ {
1049
+ "name": "date",
1050
+ "label": "date",
1051
+ "value": "",
1052
+ "hint": "今天",
1053
+ "required": false
1054
+ }
1055
+ ]
1056
+ },
1057
+ {
1058
+ "id": "review_today_all_done",
1059
+ "title": "今日已全部复盘",
1060
+ "wake_word": "#14 复盘",
1061
+ "status": "",
1062
+ "prompt_template": "再帮我复盘一下今天",
1063
+ "editable_fields": [
1064
+ {
1065
+ "name": "date",
1066
+ "label": "date",
1067
+ "value": "",
1068
+ "hint": "今天",
1069
+ "required": false
1070
+ },
1071
+ {
1072
+ "name": "completion_all",
1073
+ "label": "completion_all",
1074
+ "value": "",
1075
+ "hint": "true",
1076
+ "required": false
1077
+ }
1078
+ ]
1079
+ },
1080
+ {
1081
+ "id": "review_no_events",
1082
+ "title": "该日无活跃事件",
1083
+ "wake_word": "#14 复盘",
1084
+ "status": "",
1085
+ "prompt_template": "请帮我复盘 2026-07-01",
1086
+ "editable_fields": [
1087
+ {
1088
+ "name": "date",
1089
+ "label": "date",
1090
+ "value": "",
1091
+ "hint": "YYYY-MM-DD",
1092
+ "required": false
1093
+ },
1094
+ {
1095
+ "name": "events_count",
1096
+ "label": "events_count",
1097
+ "value": "",
1098
+ "hint": "0",
1099
+ "required": false
1100
+ }
1101
+ ]
1102
+ },
1103
+ {
1104
+ "id": "review_with_memo_sync",
1105
+ "title": "复盘前先同步备忘录",
1106
+ "wake_word": "#14 复盘",
1107
+ "status": "",
1108
+ "prompt_template": "复盘前先对一下今天的打卡数据",
1109
+ "editable_fields": [
1110
+ {
1111
+ "name": "date",
1112
+ "label": "date",
1113
+ "value": "",
1114
+ "hint": "今天",
1115
+ "required": false
1116
+ },
1117
+ {
1118
+ "name": "memo_cli",
1119
+ "label": "memo_cli",
1120
+ "value": "",
1121
+ "hint": "true",
1122
+ "required": false
1123
+ }
1124
+ ]
1125
+ }
1126
+ ]
1127
+ },
1128
+ {
1129
+ "id": "plan_3",
1130
+ "label": "#17 商量计划",
1131
+ "scenes": [
1132
+ {
1133
+ "id": "plan_discuss_tomorrow",
1134
+ "title": "商量明天计划",
1135
+ "wake_word": "#17 商量计划",
1136
+ "status": "",
1137
+ "prompt_template": "商量一下明天的计划",
1138
+ "editable_fields": [
1139
+ {
1140
+ "name": "date",
1141
+ "label": "date",
1142
+ "value": "",
1143
+ "hint": "明天",
1144
+ "required": false
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "id": "plan_with_locked",
1150
+ "title": "商量时已有部分事件",
1151
+ "wake_word": "#17 商量计划",
1152
+ "status": "",
1153
+ "prompt_template": "帮我重新商量明天的计划(已有 4 条)",
1154
+ "editable_fields": [
1155
+ {
1156
+ "name": "date",
1157
+ "label": "date",
1158
+ "value": "",
1159
+ "hint": "明天",
1160
+ "required": false
1161
+ },
1162
+ {
1163
+ "name": "existing_events",
1164
+ "label": "existing_events",
1165
+ "value": "",
1166
+ "hint": "4",
1167
+ "required": false
1168
+ }
1169
+ ]
1170
+ },
1171
+ {
1172
+ "id": "plan_with_wish",
1173
+ "title": "商量时拉心愿清单",
1174
+ "wake_word": "#17 商量计划",
1175
+ "status": "",
1176
+ "prompt_template": "商量明天(把心愿 X 安排进去)",
1177
+ "editable_fields": [
1178
+ {
1179
+ "name": "date",
1180
+ "label": "date",
1181
+ "value": "",
1182
+ "hint": "明天",
1183
+ "required": false
1184
+ },
1185
+ {
1186
+ "name": "memo_cli",
1187
+ "label": "memo_cli",
1188
+ "value": "",
1189
+ "hint": "true",
1190
+ "required": false
1191
+ }
1192
+ ]
1193
+ },
1194
+ {
1195
+ "id": "plan_24h_coverage_fail",
1196
+ "title": "覆盖校验失败",
1197
+ "wake_word": "#17 商量计划",
1198
+ "status": "",
1199
+ "prompt_template": "商量明天计划(生成的事件有空隙)",
1200
+ "editable_fields": [
1201
+ {
1202
+ "name": "date",
1203
+ "label": "date",
1204
+ "value": "",
1205
+ "hint": "明天",
1206
+ "required": false
1207
+ },
1208
+ {
1209
+ "name": "gap_or_overlap",
1210
+ "label": "gap_or_overlap",
1211
+ "value": "",
1212
+ "hint": "true",
1213
+ "required": false
1214
+ }
1215
+ ]
1216
+ },
1217
+ {
1218
+ "id": "plan_feishu_sync",
1219
+ "title": "商量后飞书同步",
1220
+ "wake_word": "#17 商量计划",
1221
+ "status": "",
1222
+ "prompt_template": "商量后顺便同步到飞书",
1223
+ "editable_fields": [
1224
+ {
1225
+ "name": "date",
1226
+ "label": "date",
1227
+ "value": "",
1228
+ "hint": "明天",
1229
+ "required": false
1230
+ },
1231
+ {
1232
+ "name": "feishu",
1233
+ "label": "feishu",
1234
+ "value": "",
1235
+ "hint": "full",
1236
+ "required": false
1237
+ }
1238
+ ]
1239
+ },
1240
+ {
1241
+ "id": "plan_result_tomorrow",
1242
+ "title": "制定次日计划(结果强化)",
1243
+ "wake_word": "#17 商量计划",
1244
+ "status": "",
1245
+ "prompt_template": "帮我制定明天的计划,生成计划结果 HTML",
1246
+ "editable_fields": [
1247
+ {
1248
+ "name": "date",
1249
+ "label": "date",
1250
+ "value": "",
1251
+ "hint": "明天",
1252
+ "required": false
1253
+ },
1254
+ {
1255
+ "name": "history_days",
1256
+ "label": "history_days",
1257
+ "value": "",
1258
+ "hint": "7",
1259
+ "required": false
1260
+ },
1261
+ {
1262
+ "name": "candidates",
1263
+ "label": "candidates",
1264
+ "value": "",
1265
+ "hint": "6-10 段",
1266
+ "required": false
1267
+ }
1268
+ ]
1269
+ },
1270
+ {
1271
+ "id": "plan_result_adjust",
1272
+ "title": "制定计划后调整再生成",
1273
+ "wake_word": "#17 商量计划",
1274
+ "status": "",
1275
+ "prompt_template": "把第 2 段改成 19:00 开始,再生成一次",
1276
+ "editable_fields": [
1277
+ {
1278
+ "name": "date",
1279
+ "label": "date",
1280
+ "value": "",
1281
+ "hint": "明天",
1282
+ "required": false
1283
+ },
1284
+ {
1285
+ "name": "round",
1286
+ "label": "round",
1287
+ "value": "",
1288
+ "hint": "2-N",
1289
+ "required": false
1290
+ }
1291
+ ]
1292
+ },
1293
+ {
1294
+ "id": "plan_result_history_none",
1295
+ "title": "无历史作息参考",
1296
+ "wake_word": "#17 商量计划",
1297
+ "status": "",
1298
+ "prompt_template": "帮我制定明天的计划(新环境,没有历史记录)",
1299
+ "editable_fields": [
1300
+ {
1301
+ "name": "date",
1302
+ "label": "date",
1303
+ "value": "",
1304
+ "hint": "明天",
1305
+ "required": false
1306
+ },
1307
+ {
1308
+ "name": "history_days",
1309
+ "label": "history_days",
1310
+ "value": "",
1311
+ "hint": "7",
1312
+ "required": false
1313
+ },
1314
+ {
1315
+ "name": "no_history",
1316
+ "label": "no_history",
1317
+ "value": "",
1318
+ "hint": "true",
1319
+ "required": false
1320
+ }
1321
+ ]
1322
+ },
1323
+ {
1324
+ "id": "plan_result_conflict",
1325
+ "title": "候选与已锁定事件冲突",
1326
+ "wake_word": "#17 商量计划",
1327
+ "status": "",
1328
+ "prompt_template": "商量明天的计划(已有 2 条已锁定)",
1329
+ "editable_fields": [
1330
+ {
1331
+ "name": "date",
1332
+ "label": "date",
1333
+ "value": "",
1334
+ "hint": "明天",
1335
+ "required": false
1336
+ },
1337
+ {
1338
+ "name": "locked_events",
1339
+ "label": "locked_events",
1340
+ "value": "",
1341
+ "hint": "2",
1342
+ "required": false
1343
+ },
1344
+ {
1345
+ "name": "conflict",
1346
+ "label": "conflict",
1347
+ "value": "",
1348
+ "hint": "true",
1349
+ "required": false
1350
+ }
1351
+ ]
1352
+ },
1353
+ {
1354
+ "id": "plan_result_drift",
1355
+ "title": "与历史习惯偏离",
1356
+ "wake_word": "#17 商量计划",
1357
+ "status": "",
1358
+ "prompt_template": "明天把下午改成运动(历史下午都是工作)",
1359
+ "editable_fields": [
1360
+ {
1361
+ "name": "date",
1362
+ "label": "date",
1363
+ "value": "",
1364
+ "hint": "明天",
1365
+ "required": false
1366
+ },
1367
+ {
1368
+ "name": "drift",
1369
+ "label": "drift",
1370
+ "value": "",
1371
+ "hint": "true",
1372
+ "required": false
1373
+ }
1374
+ ]
1375
+ }
1376
+ ]
1377
+ },
1378
+ {
1379
+ "id": "plan_4",
1380
+ "label": "#18 改计划",
1381
+ "scenes": [
1382
+ {
1383
+ "id": "update_event_basic",
1384
+ "title": "改单个事件字段",
1385
+ "wake_word": "#18 改计划",
1386
+ "status": "",
1387
+ "prompt_template": "改 id=544 这条的 title 为健身(上午)",
1388
+ "editable_fields": [
1389
+ {
1390
+ "name": "event_id",
1391
+ "label": "event_id",
1392
+ "value": "",
1393
+ "hint": "N",
1394
+ "required": false
1395
+ },
1396
+ {
1397
+ "name": "fields",
1398
+ "label": "fields",
1399
+ "value": "",
1400
+ "hint": "[\"title\",\"notes\"]",
1401
+ "required": false
1402
+ }
1403
+ ]
1404
+ },
1405
+ {
1406
+ "id": "update_event_time",
1407
+ "title": "改时段(飞书删旧建新)",
1408
+ "wake_word": "#18 改计划",
1409
+ "status": "",
1410
+ "prompt_template": "把 id=544 改成 17:30-18:30",
1411
+ "editable_fields": [
1412
+ {
1413
+ "name": "event_id",
1414
+ "label": "event_id",
1415
+ "value": "",
1416
+ "hint": "N",
1417
+ "required": false
1418
+ },
1419
+ {
1420
+ "name": "time_start",
1421
+ "label": "time_start",
1422
+ "value": "",
1423
+ "hint": "HH:MM",
1424
+ "required": false
1425
+ },
1426
+ {
1427
+ "name": "time_end",
1428
+ "label": "time_end",
1429
+ "value": "",
1430
+ "hint": "HH:MM",
1431
+ "required": false
1432
+ }
1433
+ ]
1434
+ },
1435
+ {
1436
+ "id": "update_event_completion",
1437
+ "title": "改 completion",
1438
+ "wake_word": "#18 改计划",
1439
+ "status": "",
1440
+ "prompt_template": "把 id=544 标已完成",
1441
+ "editable_fields": [
1442
+ {
1443
+ "name": "event_id",
1444
+ "label": "event_id",
1445
+ "value": "",
1446
+ "hint": "N",
1447
+ "required": false
1448
+ },
1449
+ {
1450
+ "name": "completion",
1451
+ "label": "completion",
1452
+ "value": "",
1453
+ "hint": "已完成",
1454
+ "required": false
1455
+ }
1456
+ ]
1457
+ },
1458
+ {
1459
+ "id": "update_event_feishu_ask",
1460
+ "title": "改后飞书询问",
1461
+ "wake_word": "#18 改计划",
1462
+ "status": "",
1463
+ "prompt_template": "改 id=544 的 title(已同步飞书)",
1464
+ "editable_fields": [
1465
+ {
1466
+ "name": "event_id",
1467
+ "label": "event_id",
1468
+ "value": "",
1469
+ "hint": "N",
1470
+ "required": false
1471
+ },
1472
+ {
1473
+ "name": "feishu_synced",
1474
+ "label": "feishu_synced",
1475
+ "value": "",
1476
+ "hint": "true",
1477
+ "required": false
1478
+ }
1479
+ ]
1480
+ }
1481
+ ]
1482
+ },
1483
+ {
1484
+ "id": "plan_5",
1485
+ "label": "#19 删计划",
1486
+ "scenes": [
1487
+ {
1488
+ "id": "deactivate_event",
1489
+ "title": "软删事件",
1490
+ "wake_word": "#19 删计划",
1491
+ "status": "",
1492
+ "prompt_template": "删 id=544 这条计划",
1493
+ "editable_fields": [
1494
+ {
1495
+ "name": "event_id",
1496
+ "label": "event_id",
1497
+ "value": "",
1498
+ "hint": "N",
1499
+ "required": false
1500
+ }
1501
+ ]
1502
+ },
1503
+ {
1504
+ "id": "deactivate_with_feishu",
1505
+ "title": "软删 + 飞书删",
1506
+ "wake_word": "#19 删计划",
1507
+ "status": "",
1508
+ "prompt_template": "删 id=544(已同步飞书)",
1509
+ "editable_fields": [
1510
+ {
1511
+ "name": "event_id",
1512
+ "label": "event_id",
1513
+ "value": "",
1514
+ "hint": "N",
1515
+ "required": false
1516
+ },
1517
+ {
1518
+ "name": "feishu_synced",
1519
+ "label": "feishu_synced",
1520
+ "value": "",
1521
+ "hint": "true",
1522
+ "required": false
1523
+ }
1524
+ ]
1525
+ }
1526
+ ]
1527
+ },
1528
+ {
1529
+ "id": "plan_6",
1530
+ "label": "#20 日程管家同步",
1531
+ "scenes": [
1532
+ {
1533
+ "id": "feishu_resync_basic",
1534
+ "title": "反向对账+diff 询问",
1535
+ "wake_word": "#20 日程管家同步",
1536
+ "status": "",
1537
+ "prompt_template": "请帮我同步今天的日程到飞书",
1538
+ "editable_fields": [
1539
+ {
1540
+ "name": "date",
1541
+ "label": "date",
1542
+ "value": "",
1543
+ "hint": "YYYY-MM-DD",
1544
+ "required": false
1545
+ }
1546
+ ]
1547
+ }
1548
+ ]
1549
+ },
1550
+ {
1551
+ "id": "plan_7",
1552
+ "label": "复盘今日",
1553
+ "scenes": [
1554
+ {
1555
+ "id": "replay_day",
1556
+ "title": "复盘今日(计划 vs 实际对照 + 叙事 + 单日健康分)",
1557
+ "wake_word": "复盘今日",
1558
+ "status": "",
1559
+ "prompt_template": "请帮我复盘今天(唤醒词:复盘今日)",
1560
+ "editable_fields": [
1561
+ {
1562
+ "name": "date",
1563
+ "label": "date",
1564
+ "value": "",
1565
+ "hint": "单日 YYYY-MM-DD(默认今天)",
1566
+ "required": false
1567
+ }
1568
+ ]
1569
+ }
1570
+ ]
1571
+ },
1572
+ {
1573
+ "id": "plan_8",
1574
+ "label": "复盘本周",
1575
+ "scenes": [
1576
+ {
1577
+ "id": "replay_week",
1578
+ "title": "复盘本周(7 维趋势 + 热力图 + 健康分均值)",
1579
+ "wake_word": "复盘本周",
1580
+ "status": "",
1581
+ "prompt_template": "请帮我复盘本周(唤醒词:复盘本周)",
1582
+ "editable_fields": [
1583
+ {
1584
+ "name": "range",
1585
+ "label": "range",
1586
+ "value": "",
1587
+ "hint": "本周一~周日(自动换算)",
1588
+ "required": false
1589
+ }
1590
+ ]
1591
+ }
1592
+ ]
1593
+ },
1594
+ {
1595
+ "id": "plan_9",
1596
+ "label": "复盘本月",
1597
+ "scenes": [
1598
+ {
1599
+ "id": "replay_month",
1600
+ "title": "复盘本月(月度聚合 + 环比对比 + 目标达成)",
1601
+ "wake_word": "复盘本月",
1602
+ "status": "",
1603
+ "prompt_template": "请帮我复盘本月(唤醒词:复盘本月)",
1604
+ "editable_fields": [
1605
+ {
1606
+ "name": "range",
1607
+ "label": "range",
1608
+ "value": "",
1609
+ "hint": "本月 1 日~月末(自动换算)",
1610
+ "required": false
1611
+ }
1612
+ ]
1613
+ }
1614
+ ]
1615
+ },
1616
+ {
1617
+ "id": "plan_10",
1618
+ "label": "复盘区间",
1619
+ "scenes": [
1620
+ {
1621
+ "id": "replay_range",
1622
+ "title": "复盘区间(任意区间跨域复盘 · 原 start-end)",
1623
+ "wake_word": "复盘区间",
1624
+ "status": "",
1625
+ "prompt_template": "请帮我复盘 2026-07-13~2026-07-19(唤醒词:复盘区间)",
1626
+ "editable_fields": [
1627
+ {
1628
+ "name": "range",
1629
+ "label": "range",
1630
+ "value": "",
1631
+ "hint": "任意 start-end(预置 上周/上月/今年/上年 + 自由区间语法)",
1632
+ "required": false
1633
+ }
1634
+ ]
1635
+ }
1636
+ ]
1637
+ }
1638
+ ]
1639
+ },
1640
+ {
1641
+ "id": "analyze",
1642
+ "icon": "🔬",
1643
+ "label": "分析与洞察",
1644
+ "subgroups": [
1645
+ {
1646
+ "id": "analyze_1",
1647
+ "label": "#24 写作息摘要",
1648
+ "scenes": [
1649
+ {
1650
+ "id": "add_summary_basic",
1651
+ "title": "写摘要",
1652
+ "wake_word": "#24 写作息摘要",
1653
+ "status": "",
1654
+ "prompt_template": "帮我写摘要:2026-07-22 工作.AI调优 60 分钟",
1655
+ "editable_fields": [
1656
+ {
1657
+ "name": "date",
1658
+ "label": "date",
1659
+ "value": "",
1660
+ "hint": "YYYY-MM-DD",
1661
+ "required": false
1662
+ },
1663
+ {
1664
+ "name": "category",
1665
+ "label": "category",
1666
+ "value": "",
1667
+ "hint": "X",
1668
+ "required": false
1669
+ },
1670
+ {
1671
+ "name": "total_minutes",
1672
+ "label": "total_minutes",
1673
+ "value": "",
1674
+ "hint": "N",
1675
+ "required": false
1676
+ }
1677
+ ]
1678
+ },
1679
+ {
1680
+ "id": "add_summary_idempotent",
1681
+ "title": "同 date+category upsert",
1682
+ "wake_word": "#24 写作息摘要",
1683
+ "status": "",
1684
+ "prompt_template": "再写一次(已有)",
1685
+ "editable_fields": [
1686
+ {
1687
+ "name": "date",
1688
+ "label": "date",
1689
+ "value": "",
1690
+ "hint": "YYYY-MM-DD",
1691
+ "required": false
1692
+ },
1693
+ {
1694
+ "name": "category",
1695
+ "label": "category",
1696
+ "value": "",
1697
+ "hint": "X",
1698
+ "required": false
1699
+ }
1700
+ ]
1701
+ }
1702
+ ]
1703
+ },
1704
+ {
1705
+ "id": "analyze_2",
1706
+ "label": "#25 对比两个月",
1707
+ "scenes": [
1708
+ {
1709
+ "id": "compare_months",
1710
+ "title": "整月对比",
1711
+ "wake_word": "#25 对比两个月",
1712
+ "status": "",
1713
+ "prompt_template": "6 月和 7 月对比",
1714
+ "editable_fields": [
1715
+ {
1716
+ "name": "month_a",
1717
+ "label": "month_a",
1718
+ "value": "",
1719
+ "hint": "YYYY-MM",
1720
+ "required": false
1721
+ },
1722
+ {
1723
+ "name": "month_b",
1724
+ "label": "month_b",
1725
+ "value": "",
1726
+ "hint": "YYYY-MM",
1727
+ "required": false
1728
+ }
1729
+ ]
1730
+ },
1731
+ {
1732
+ "id": "compare_range",
1733
+ "title": "任意范围对比",
1734
+ "wake_word": "#25 对比两个月",
1735
+ "status": "",
1736
+ "prompt_template": "上周和这周对比",
1737
+ "editable_fields": [
1738
+ {
1739
+ "name": "label_a",
1740
+ "label": "label_a",
1741
+ "value": "",
1742
+ "hint": "X",
1743
+ "required": false
1744
+ },
1745
+ {
1746
+ "name": "range_a",
1747
+ "label": "range_a",
1748
+ "value": "",
1749
+ "hint": "YYYY-MM-DD ~ YYYY-MM-DD",
1750
+ "required": false
1751
+ },
1752
+ {
1753
+ "name": "label_b",
1754
+ "label": "label_b",
1755
+ "value": "",
1756
+ "hint": "Y",
1757
+ "required": false
1758
+ },
1759
+ {
1760
+ "name": "range_b",
1761
+ "label": "range_b",
1762
+ "value": "",
1763
+ "hint": "YYYY-MM-DD ~ YYYY-MM-DD",
1764
+ "required": false
1765
+ }
1766
+ ]
1767
+ },
1768
+ {
1769
+ "id": "compare_week_vs_week",
1770
+ "title": "周对比",
1771
+ "wake_word": "#25 对比两个月",
1772
+ "status": "",
1773
+ "prompt_template": "上周和这周差多少",
1774
+ "editable_fields": [
1775
+ {
1776
+ "name": "label_a",
1777
+ "label": "label_a",
1778
+ "value": "",
1779
+ "hint": "上周",
1780
+ "required": false
1781
+ },
1782
+ {
1783
+ "name": "range_a",
1784
+ "label": "range_a",
1785
+ "value": "",
1786
+ "hint": "周一~周日",
1787
+ "required": false
1788
+ },
1789
+ {
1790
+ "name": "label_b",
1791
+ "label": "label_b",
1792
+ "value": "",
1793
+ "hint": "本周",
1794
+ "required": false
1795
+ },
1796
+ {
1797
+ "name": "range_b",
1798
+ "label": "range_b",
1799
+ "value": "",
1800
+ "hint": "周一~周日",
1801
+ "required": false
1802
+ }
1803
+ ]
1804
+ }
1805
+ ]
1806
+ },
1807
+ {
1808
+ "id": "analyze_3",
1809
+ "label": "#26 修正作息",
1810
+ "scenes": [
1811
+ {
1812
+ "id": "amend_basic",
1813
+ "title": "改 1 条记录多字段",
1814
+ "wake_word": "#26 修正作息",
1815
+ "status": "",
1816
+ "prompt_template": "这条记错了,改成工作.AI调优,活动是写代码",
1817
+ "editable_fields": [
1818
+ {
1819
+ "name": "record_id",
1820
+ "label": "record_id",
1821
+ "value": "",
1822
+ "hint": "N",
1823
+ "required": false
1824
+ },
1825
+ {
1826
+ "name": "fields",
1827
+ "label": "fields",
1828
+ "value": "",
1829
+ "hint": "[\"category\",\"activity\"]",
1830
+ "required": false
1831
+ }
1832
+ ]
1833
+ },
1834
+ {
1835
+ "id": "amend_json_inline",
1836
+ "title": "JSON 内联修改",
1837
+ "wake_word": "#26 修正作息",
1838
+ "status": "",
1839
+ "prompt_template": "用 JSON 改 id=123 的多字段",
1840
+ "editable_fields": [
1841
+ {
1842
+ "name": "record_id",
1843
+ "label": "record_id",
1844
+ "value": "",
1845
+ "hint": "N",
1846
+ "required": false
1847
+ },
1848
+ {
1849
+ "name": "json",
1850
+ "label": "json",
1851
+ "value": "",
1852
+ "hint": "...",
1853
+ "required": false
1854
+ }
1855
+ ]
1856
+ },
1857
+ {
1858
+ "id": "amend_24h_warn",
1859
+ "title": "超过 24h 修改警告",
1860
+ "wake_word": "#26 修正作息",
1861
+ "status": "",
1862
+ "prompt_template": "改 3 天前那条记录(超 24h)",
1863
+ "editable_fields": [
1864
+ {
1865
+ "name": "record_id",
1866
+ "label": "record_id",
1867
+ "value": "",
1868
+ "hint": "N",
1869
+ "required": false
1870
+ },
1871
+ {
1872
+ "name": "record_date",
1873
+ "label": "record_date",
1874
+ "value": "",
1875
+ "hint": "24h 前",
1876
+ "required": false
1877
+ }
1878
+ ]
1879
+ }
1880
+ ]
1881
+ },
1882
+ {
1883
+ "id": "analyze_4",
1884
+ "label": "T4 类别深挖",
1885
+ "scenes": [
1886
+ {
1887
+ "id": "category_range",
1888
+ "title": "区间内某分类深挖",
1889
+ "wake_word": "T4 类别深挖",
1890
+ "status": "",
1891
+ "prompt_template": "这周健身什么时候做的",
1892
+ "editable_fields": [
1893
+ {
1894
+ "name": "range",
1895
+ "label": "range",
1896
+ "value": "",
1897
+ "hint": "YYYY-MM-DD ~ YYYY-MM-DD",
1898
+ "required": false
1899
+ },
1900
+ {
1901
+ "name": "category",
1902
+ "label": "category",
1903
+ "value": "",
1904
+ "hint": "X",
1905
+ "required": false
1906
+ }
1907
+ ]
1908
+ },
1909
+ {
1910
+ "id": "category_day",
1911
+ "title": "单日某分类",
1912
+ "wake_word": "T4 类别深挖",
1913
+ "status": "",
1914
+ "prompt_template": "7/15 健身什么时候做的",
1915
+ "editable_fields": [
1916
+ {
1917
+ "name": "date",
1918
+ "label": "date",
1919
+ "value": "",
1920
+ "hint": "YYYY-MM-DD",
1921
+ "required": false
1922
+ },
1923
+ {
1924
+ "name": "category",
1925
+ "label": "category",
1926
+ "value": "",
1927
+ "hint": "X",
1928
+ "required": false
1929
+ }
1930
+ ]
1931
+ }
1932
+ ]
1933
+ },
1934
+ {
1935
+ "id": "analyze_5",
1936
+ "label": "T5 异常检测",
1937
+ "scenes": [
1938
+ {
1939
+ "id": "anomaly_default",
1940
+ "title": "默认 7 天窗口检测",
1941
+ "wake_word": "T5 异常检测",
1942
+ "status": "",
1943
+ "prompt_template": "最近状态怎么样/有没有异常",
1944
+ "editable_fields": [
1945
+ {
1946
+ "name": "window",
1947
+ "label": "window",
1948
+ "value": "",
1949
+ "hint": "7",
1950
+ "required": false
1951
+ }
1952
+ ]
1953
+ },
1954
+ {
1955
+ "id": "anomaly_window_30",
1956
+ "title": "30 天窗口",
1957
+ "wake_word": "T5 异常检测",
1958
+ "status": "",
1959
+ "prompt_template": "最近 30 天有没有异常",
1960
+ "editable_fields": [
1961
+ {
1962
+ "name": "window",
1963
+ "label": "window",
1964
+ "value": "",
1965
+ "hint": "30",
1966
+ "required": false
1967
+ }
1968
+ ]
1969
+ }
1970
+ ]
1971
+ }
1972
+ ]
1973
+ },
1974
+ {
1975
+ "id": "admin",
1976
+ "icon": "⚙️",
1977
+ "label": "辅助与管理",
1978
+ "subgroups": [
1979
+ {
1980
+ "id": "admin_1",
1981
+ "label": "#21 飞书探测",
1982
+ "scenes": [
1983
+ {
1984
+ "id": "feishu_probe",
1985
+ "title": "三档探测",
1986
+ "wake_word": "#21 飞书探测",
1987
+ "status": "",
1988
+ "prompt_template": "飞书能力怎么样",
1989
+ "editable_fields": [
1990
+ {
1991
+ "name": "scope",
1992
+ "label": "scope",
1993
+ "value": "",
1994
+ "hint": "cli/auth/calendar",
1995
+ "required": false
1996
+ }
1997
+ ]
1998
+ }
1999
+ ]
2000
+ },
2001
+ {
2002
+ "id": "admin_2",
2003
+ "label": "#22 初始化数据库",
2004
+ "scenes": [
2005
+ {
2006
+ "id": "init_default",
2007
+ "title": "建三表",
2008
+ "wake_word": "#22 初始化数据库",
2009
+ "status": "",
2010
+ "prompt_template": "帮我初始化数据库",
2011
+ "editable_fields": [
2012
+ {
2013
+ "name": "scope",
2014
+ "label": "scope",
2015
+ "value": "",
2016
+ "hint": "all",
2017
+ "required": false
2018
+ }
2019
+ ]
2020
+ }
2021
+ ]
2022
+ },
2023
+ {
2024
+ "id": "admin_3",
2025
+ "label": "首次使用",
2026
+ "scenes": [
2027
+ {
2028
+ "id": "first_use",
2029
+ "title": "首次使用(初始化工作流)",
2030
+ "wake_word": "首次使用",
2031
+ "status": "【待开发】",
2032
+ "prompt_template": "请帮我初始化作息管家,我是第一次使用(唤醒词:首次使用)",
2033
+ "editable_fields": []
2034
+ }
2035
+ ]
2036
+ }
2037
+ ]
2038
+ }
2039
+ ];
2040
+ /** 扁平 85 条(顺序与 HELP 分组一致;单源派生,不重复落词)。 */
2041
+ export const HELP_ASSETS = HELP_GROUPS.flatMap((g) => g.subgroups.flatMap((s) => s.scenes));
2042
+ /** 源场景 `result` 原文(85/85,键=场景 id)。契约里没有这个位,故不进
2043
+ * `HELP_GROUPS`(`HELP_GROUPS` 只装纯场景数据);本表是源数据镜像,**当前 HELP 页不渲染**
2044
+ * —— 页面上的「预期 ·」一律不出现(见文件头「页面外的两张源数据镜像」)。 */
2045
+ export const HELP_SCENE_RESULTS = {
2046
+ "record_add_single": "写入 1 条作息记录,自动生成三件套结果 HTML(全天时间轴 + 过去几小时推断高亮 + 状态总览)",
2047
+ "record_add_json": "逐条校验后写入,自动生成三件套结果 HTML(多条记录;批量场景由「批量导入」强化)",
2048
+ "record_add_illegal_category": "校验会报错,提示'提议新增 X'等心法 #5 申请流程,不生成结果 HTML",
2049
+ "record_add_l1_only": "写入成功但附加 warning:建议细化到二级,三件套结果 HTML 顶部显示警示条",
2050
+ "record_add_missing_field": "校验报错,提示缺哪个字段 + 当前值 + 期望值,不生成结果 HTML",
2051
+ "batch_add": "逐条校验复用 add 链路(batch-add 命令)后写入,单条失败不打断,返回 ok/partial JSON 回执;重复执行会重复插入",
2052
+ "prep_default": "返回分页消息(默认 200 条/页)",
2053
+ "prep_with_range": "返回该区间分页消息",
2054
+ "prep_pagination": "返回第 3 页消息 + pagination.has_next 提示",
2055
+ "prep_no_messages": "返回空列表,AI 应告知无消息",
2056
+ "sync_full": "AI 拉消息→分析→批量写入,每条生成回执 HTML",
2057
+ "sync_partial_day": "同步该日全量消息",
2058
+ "sync_incremental": "从 get_last_record_full 拿游标继续",
2059
+ "sync_no_cursor": "从最早消息开始同步",
2060
+ "summary_full_24h": "生成 record_day.html 综合报告(分类/时长/24h 时间轴/睡眠/AI 钩子)",
2061
+ "summary_partial": "生成简短摘要 + 提示'补全后再看完整报告'",
2062
+ "summary_specific_date": "生成该日 report",
2063
+ "summary_no_records": "报告空态,提示该日无记录",
2064
+ "summary_range_default": "生成 record_range.html(分类聚合+7维趋势+睡眠统计)",
2065
+ "summary_range_full": "生成纯文本分类聚合",
2066
+ "record_list_today": "生成 record_day.html(4 卡摘要+分类进度+时间轴+睡眠)",
2067
+ "record_list_yesterday": "生成昨日 report_day.html",
2068
+ "record_list_specific": "生成该日 record_day.html",
2069
+ "record_list_empty": "生成空态 HTML,提示该日无记录",
2070
+ "detail_day": "生成 record_detail.html(每条记录 11 字段全展开)",
2071
+ "detail_record": "生成 record_detail.html(单条)",
2072
+ "detail_with_reasoning": "详情页 analysis_reasoning 字段完整展示",
2073
+ "timeline_today": "生成 record_day.html(24h 时间轴高亮)",
2074
+ "timeline_specific": "生成该日 report 含时间轴",
2075
+ "range_default": "生成 record_range.html",
2076
+ "range_this_week": "本周一~周日 record_range.html",
2077
+ "range_text": "纯文本分类聚合",
2078
+ "status_default": "5 行文本(记录数/天数/最早/最近/同步状态)",
2079
+ "list_events_today": "生成 plan_list_events.html(24h 时间轴+事件卡+筛选)",
2080
+ "list_events_specific": "生成该日 plan_list_events.html",
2081
+ "search_event_title": "返回 search 结果(命中/未命中 JSON)",
2082
+ "search_event_triplet": "返回该时间槽事件(JSON)",
2083
+ "list_events_inactive": "返回含 ✗ 前缀的事件",
2084
+ "query_plans_today": "生成 plan_list_events.html(query-plans 模式,同小时 + 合并)",
2085
+ "query_plans_multi": "生成多日聚合 plan_list_events.html(不含 notes/completion/飞书状态)",
2086
+ "get_record_basic": "render-records-detail --record-id 123 → record_detail.html",
2087
+ "week_view": "render-record-week [日期] → 7×24 全分类热力图(复用 record_category 组件)+ 分类总览 + 每日汇总 + 健康分 + 复制 prompt 按钮",
2088
+ "ensure_event_basic": "ensure-plan-event → 生成 plan_receipt_add.html",
2089
+ "ensure_event_idempotent": "幂等命中,返回原 event_id,不重复创建",
2090
+ "ensure_event_with_notes": "ensure-plan-event with notes → receipt HTML",
2091
+ "review_today_normal": "list-events → 逐条 update-event --completion → render-plans-review.html",
2092
+ "review_today_all_done": "跳过 Step 0-5,直接进 Step 6 讨论模式",
2093
+ "review_no_events": "提示'该日没有计划,无法复盘',退出",
2094
+ "review_with_memo_sync": "询问用户是否已执行 /备忘录 备忘录同步",
2095
+ "plan_discuss_tomorrow": "多轮对话 → render-plans-preview.html → 用户确认 → upsert-plan-events → plan_receipt_write.html",
2096
+ "plan_with_locked": "Step 2 列出已有事件,询问保留策略,锁定后填空隙",
2097
+ "plan_with_wish": "Step 3 拉备忘·心愿,询问已完成的 + 本次推进的",
2098
+ "plan_24h_coverage_fail": "24h 联合校验失败,提示具体哪条不连续/越界,重新生成",
2099
+ "plan_feishu_sync": "CLI 探测后询问[Y/n],yes 则 diff_and_sync 批量 create + 回写 event_id",
2100
+ "plan_result_tomorrow": "多轮对话 → plan-result 渲染(时间轴+分类色带+历史贴合提示)→ 复制 prompt → upsert-plan-events → plan_receipt_write.html",
2101
+ "plan_result_adjust": "调整候选 → 再调 plan-result(同秒多版 _2/_3 不覆盖)→ 循环直至满意 → 写库",
2102
+ "plan_result_history_none": "历史窗口无记录 → 贴合率显示\"—\",逐段\"无参考\"提示,不降级仍可写库",
2103
+ "plan_result_conflict": "冲突段红色徽章 + §3 冲突清单,提示调整时段或更新已锁定后重新生成",
2104
+ "plan_result_drift": "偏离段显示「⚠️ 偏离」+ 历史主要分类提示,用户确认是刻意安排后仍可写库",
2105
+ "update_event_basic": "update-event → render-plan-receipt.html",
2106
+ "update_event_time": "飞书删旧 event_id + 建新 event_id + 回写新 feishu_event_id",
2107
+ "update_event_completion": "update-event --completion,生成 receipt HTML",
2108
+ "update_event_feishu_ask": "询问'飞书那边也要改吗?',yes 则飞书 +update",
2109
+ "deactivate_event": "deactivate-event → is_active=0 → render-plan-receipt.html",
2110
+ "deactivate_with_feishu": "软删 + 询问飞书删,yes 则 feishu_delete_event + 清空 feishu_event_id",
2111
+ "feishu_resync_basic": "Phase 0 反向对账 → diff create/update/delete → 逐条询问 [Y/n] → 执行",
2112
+ "replay_day": "render-replay <今日> <今日> --granularity day → 一体模板今日区块:计划 vs 实际对照表 + 实际作息 + 健康分;缺计划 → 补齐引导(不降级);底部复盘→制定明日计划衔接",
2113
+ "replay_week": "render-replay <周一> <周日> --granularity week → 一体模板周区块:7 维趋势折线 + 24h×N 热力图 + 健康分均值趋势 + 亮点/问题",
2114
+ "replay_month": "render-replay <月初> <月末> --granularity month → 一体模板月区块:分类聚合 + 环比对比(vs 上月同期) + 目标达成(完成率 + 维持占比) + 健康分趋势",
2115
+ "replay_range": "render-replay <start> <end>(默认粒度 range)→ 一体模板按区间跨度自动路由区块(≤1天→今日 / ≤7天→周 / ≤31天→月 / 其他→通用 4 段叙事)",
2116
+ "add_summary_basic": "add-summary 写入 daily_summary(解决孤儿表问题)",
2117
+ "add_summary_idempotent": "upsert,total_minutes 覆盖",
2118
+ "compare_months": "render-record-compare-months → record_compare.html(4 卡+7维差异柱+AI 钩子)",
2119
+ "compare_range": "render-record-compare → record_compare.html",
2120
+ "compare_week_vs_week": "render-record-compare 自动计算 + record_compare.html",
2121
+ "amend_basic": "amend-record → render-record-receipt-edit.html(蓝调 diff)",
2122
+ "amend_json_inline": "amend-record --json '{...}' → 蓝调 diff",
2123
+ "amend_24h_warn": "写入成功但附加 warning:操作规范建议 24h 内",
2124
+ "category_range": "render-record-category-range → record_category.html(24h × N 天热力图)",
2125
+ "category_day": "render-record-category → record_category.html",
2126
+ "anomaly_default": "render-record-anomaly → record_anomaly.html(7 维雷达 + 红/黄框异常)",
2127
+ "anomaly_window_30": "render-record-anomaly --window 30 → record_anomaly.html",
2128
+ "feishu_probe": "返回 FeishuStatus( cli_installed/authenticated/calendar_writable/tier=full/partial/missing )",
2129
+ "init_default": "创建 schedule_records / daily_summary / schedule_plans 三表",
2130
+ "first_use": "6 步向导(环境检测→路径确认→建库→状态确认→初始化报告→完成),幂等可重试,已有库不重置;飞书强引导(配合飞书效果最好,拒绝才跳过);初始化报告 HTML + 复制数据/复制日志"
2131
+ };
2132
+ /** 源一级分组 `desc` 原文(5/5,键=分组 id)。同上:契约里没有这个位,
2133
+ * 不进 `HELP_GROUPS`;本表是源数据镜像,**当前 HELP 页不渲染**(见文件头「页面外的两张源数据镜像」)。 */
2134
+ export const HELP_GROUP_NOTES = {
2135
+ "write": "记录作息 / 同步消息 / 增量同步",
2136
+ "query": "查作息 / 查日程 / 查状态 / 时间轴 / 范围",
2137
+ "plan": "计划 CRUD / 商量 / 复盘 / 飞书同步",
2138
+ "analyze": "对比 / 修正 / 类别深挖 / 异常检测 / 摘要",
2139
+ "admin": "飞书探测 / 初始化数据库"
2140
+ };
2141
+ /** 计数(全部由数据算出;改资产即跟变,内容另由测试里的摘要锁钉住)。 */
2142
+ export const HELP_TOTALS = Object.freeze({
2143
+ groups: HELP_GROUPS.length,
2144
+ subgroups: HELP_GROUPS.reduce((n, g) => n + g.subgroups.length, 0),
2145
+ scenes: HELP_ASSETS.length,
2146
+ pending: HELP_ASSETS.filter((s) => s.status !== '').length,
2147
+ });
2148
+ //# sourceMappingURL=help-assets.js.map