skill-calorie 0.2.2 → 0.2.4

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 (1300) hide show
  1. package/SKILL.md +477 -123
  2. package/dist/.gen-inputs.json +170 -0
  3. package/dist/analysis/commands.d.ts +62 -0
  4. package/dist/analysis/commands.d.ts.map +1 -0
  5. package/dist/analysis/commands.js +386 -0
  6. package/dist/analysis/commands.js.map +1 -0
  7. package/dist/analysis/contraindications.d.ts.map +1 -1
  8. package/dist/analysis/contraindications.js +16 -12
  9. package/dist/analysis/contraindications.js.map +1 -1
  10. package/dist/analysis/cross.d.ts +3 -0
  11. package/dist/analysis/cross.d.ts.map +1 -1
  12. package/dist/analysis/cross.js +57 -29
  13. package/dist/analysis/cross.js.map +1 -1
  14. package/dist/analysis/dashboard.d.ts.map +1 -1
  15. package/dist/analysis/dashboard.js +3 -2
  16. package/dist/analysis/dashboard.js.map +1 -1
  17. package/dist/analysis/exerciseReview.js +1 -1
  18. package/dist/analysis/exerciseReview.js.map +1 -1
  19. package/dist/analysis/healthPlate.d.ts +21 -0
  20. package/dist/analysis/healthPlate.d.ts.map +1 -0
  21. package/dist/analysis/healthPlate.js +41 -0
  22. package/dist/analysis/healthPlate.js.map +1 -0
  23. package/dist/analysis/historyStore.d.ts +30 -0
  24. package/dist/analysis/historyStore.d.ts.map +1 -0
  25. package/dist/analysis/historyStore.js +32 -0
  26. package/dist/analysis/historyStore.js.map +1 -0
  27. package/dist/analysis/index.d.ts +23 -0
  28. package/dist/analysis/index.d.ts.map +1 -0
  29. package/dist/analysis/index.js +23 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/multiTrend.d.ts +67 -0
  32. package/dist/analysis/multiTrend.d.ts.map +1 -0
  33. package/dist/analysis/multiTrend.js +106 -0
  34. package/dist/analysis/multiTrend.js.map +1 -0
  35. package/dist/analysis/multiTrendPage.d.ts +4 -0
  36. package/dist/analysis/multiTrendPage.d.ts.map +1 -0
  37. package/dist/analysis/multiTrendPage.js +502 -0
  38. package/dist/analysis/multiTrendPage.js.map +1 -0
  39. package/dist/analysis/reportDoc.d.ts +12 -0
  40. package/dist/analysis/reportDoc.d.ts.map +1 -0
  41. package/dist/analysis/reportDoc.js +244 -0
  42. package/dist/analysis/reportDoc.js.map +1 -0
  43. package/dist/analysis/reportDocBmi.d.ts +4 -0
  44. package/dist/analysis/reportDocBmi.d.ts.map +1 -0
  45. package/dist/analysis/reportDocBmi.js +104 -0
  46. package/dist/analysis/reportDocBmi.js.map +1 -0
  47. package/dist/analysis/reportDocParts.d.ts +77 -0
  48. package/dist/analysis/reportDocParts.d.ts.map +1 -0
  49. package/dist/analysis/reportDocParts.js +249 -0
  50. package/dist/analysis/reportDocParts.js.map +1 -0
  51. package/dist/analysis/reportDocScore.d.ts +8 -0
  52. package/dist/analysis/reportDocScore.d.ts.map +1 -0
  53. package/dist/analysis/reportDocScore.js +223 -0
  54. package/dist/analysis/reportDocScore.js.map +1 -0
  55. package/dist/analysis/reportDocScoreSeries.d.ts +3 -0
  56. package/dist/analysis/reportDocScoreSeries.d.ts.map +1 -0
  57. package/dist/analysis/reportDocScoreSeries.js +27 -0
  58. package/dist/analysis/reportDocScoreSeries.js.map +1 -0
  59. package/dist/analysis/reportDocTracked.d.ts +10 -0
  60. package/dist/analysis/reportDocTracked.d.ts.map +1 -0
  61. package/dist/analysis/reportDocTracked.js +195 -0
  62. package/dist/analysis/reportDocTracked.js.map +1 -0
  63. package/dist/analysis/reportPlate.d.ts +163 -0
  64. package/dist/analysis/reportPlate.d.ts.map +1 -0
  65. package/dist/analysis/reportPlate.js +251 -0
  66. package/dist/analysis/reportPlate.js.map +1 -0
  67. package/dist/analysis/routes.d.ts +18 -0
  68. package/dist/analysis/routes.d.ts.map +1 -0
  69. package/dist/analysis/routes.js +178 -0
  70. package/dist/analysis/routes.js.map +1 -0
  71. package/dist/analysis/series.d.ts +31 -6
  72. package/dist/analysis/series.d.ts.map +1 -1
  73. package/dist/analysis/series.js +124 -27
  74. package/dist/analysis/series.js.map +1 -1
  75. package/dist/analysis/simulate.d.ts.map +1 -1
  76. package/dist/analysis/simulate.js +17 -6
  77. package/dist/analysis/simulate.js.map +1 -1
  78. package/dist/analysis/simulate2.d.ts.map +1 -1
  79. package/dist/analysis/simulate2.js +43 -11
  80. package/dist/analysis/simulate2.js.map +1 -1
  81. package/dist/analysis/trend.d.ts +9 -1
  82. package/dist/analysis/trend.d.ts.map +1 -1
  83. package/dist/analysis/trend.js +24 -8
  84. package/dist/analysis/trend.js.map +1 -1
  85. package/dist/analysis/utils.d.ts +50 -1
  86. package/dist/analysis/utils.d.ts.map +1 -1
  87. package/dist/analysis/utils.js +73 -1
  88. package/dist/analysis/utils.js.map +1 -1
  89. package/dist/body/bodyDocs.d.ts +4 -0
  90. package/dist/body/bodyDocs.d.ts.map +1 -0
  91. package/dist/body/bodyDocs.js +284 -0
  92. package/dist/body/bodyDocs.js.map +1 -0
  93. package/dist/body/bodyPlate.d.ts +145 -0
  94. package/dist/body/bodyPlate.d.ts.map +1 -0
  95. package/dist/body/bodyPlate.js +243 -0
  96. package/dist/body/bodyPlate.js.map +1 -0
  97. package/dist/body/bodyReadUi.d.ts +47 -0
  98. package/dist/body/bodyReadUi.d.ts.map +1 -0
  99. package/dist/body/bodyReadUi.js +164 -0
  100. package/dist/body/bodyReadUi.js.map +1 -0
  101. package/dist/body/commands.d.ts +29 -0
  102. package/dist/body/commands.d.ts.map +1 -0
  103. package/dist/body/commands.js +18 -0
  104. package/dist/body/commands.js.map +1 -0
  105. package/dist/body/compare.d.ts +62 -0
  106. package/dist/body/compare.d.ts.map +1 -0
  107. package/dist/body/compare.js +162 -0
  108. package/dist/body/compare.js.map +1 -0
  109. package/dist/body/compareCompositionDoc.d.ts +3 -0
  110. package/dist/body/compareCompositionDoc.d.ts.map +1 -0
  111. package/dist/body/compareCompositionDoc.js +99 -0
  112. package/dist/body/compareCompositionDoc.js.map +1 -0
  113. package/dist/body/compareMeasureDoc.d.ts +3 -0
  114. package/dist/body/compareMeasureDoc.d.ts.map +1 -0
  115. package/dist/body/compareMeasureDoc.js +91 -0
  116. package/dist/body/compareMeasureDoc.js.map +1 -0
  117. package/dist/body/compareUi.d.ts +12 -0
  118. package/dist/body/compareUi.d.ts.map +1 -0
  119. package/dist/body/compareUi.js +27 -0
  120. package/dist/body/compareUi.js.map +1 -0
  121. package/dist/body/index.d.ts +21 -0
  122. package/dist/body/index.d.ts.map +1 -0
  123. package/dist/body/index.js +22 -0
  124. package/dist/body/index.js.map +1 -0
  125. package/dist/body/log.d.ts +29 -0
  126. package/dist/body/log.d.ts.map +1 -0
  127. package/dist/body/log.js +196 -0
  128. package/dist/body/log.js.map +1 -0
  129. package/dist/body/receipt.d.ts +52 -0
  130. package/dist/body/receipt.d.ts.map +1 -0
  131. package/dist/body/receipt.js +248 -0
  132. package/dist/body/receipt.js.map +1 -0
  133. package/dist/body/receiptData.d.ts +46 -0
  134. package/dist/body/receiptData.d.ts.map +1 -0
  135. package/dist/body/receiptData.js +107 -0
  136. package/dist/body/receiptData.js.map +1 -0
  137. package/dist/body/receiptUi.d.ts +9 -0
  138. package/dist/body/receiptUi.d.ts.map +1 -0
  139. package/dist/body/receiptUi.js +75 -0
  140. package/dist/body/receiptUi.js.map +1 -0
  141. package/dist/body/remove.d.ts +21 -0
  142. package/dist/body/remove.d.ts.map +1 -0
  143. package/dist/body/remove.js +78 -0
  144. package/dist/body/remove.js.map +1 -0
  145. package/dist/body/routes.d.ts +10 -0
  146. package/dist/body/routes.d.ts.map +1 -0
  147. package/dist/body/routes.js +20 -0
  148. package/dist/body/routes.js.map +1 -0
  149. package/dist/body/view.d.ts +21 -0
  150. package/dist/body/view.d.ts.map +1 -0
  151. package/dist/body/view.js +50 -0
  152. package/dist/body/view.js.map +1 -0
  153. package/dist/body/wizard.d.ts +14 -0
  154. package/dist/body/wizard.d.ts.map +1 -0
  155. package/dist/body/wizard.js +21 -0
  156. package/dist/body/wizard.js.map +1 -0
  157. package/dist/body/wizardDocs.d.ts +4 -0
  158. package/dist/body/wizardDocs.d.ts.map +1 -0
  159. package/dist/body/wizardDocs.js +260 -0
  160. package/dist/body/wizardDocs.js.map +1 -0
  161. package/dist/body/wizardPlate.d.ts +146 -0
  162. package/dist/body/wizardPlate.d.ts.map +1 -0
  163. package/dist/body/wizardPlate.js +260 -0
  164. package/dist/body/wizardPlate.js.map +1 -0
  165. package/dist/body/wizardPrompt.d.ts +52 -0
  166. package/dist/body/wizardPrompt.d.ts.map +1 -0
  167. package/dist/body/wizardPrompt.js +146 -0
  168. package/dist/body/wizardPrompt.js.map +1 -0
  169. package/dist/body/wizardUi.d.ts +11 -0
  170. package/dist/body/wizardUi.d.ts.map +1 -0
  171. package/dist/body/wizardUi.js +35 -0
  172. package/dist/body/wizardUi.js.map +1 -0
  173. package/dist/cli/cmd_read.d.ts +7 -21
  174. package/dist/cli/cmd_read.d.ts.map +1 -1
  175. package/dist/cli/cmd_read.js +45 -1044
  176. package/dist/cli/cmd_read.js.map +1 -1
  177. package/dist/cli/delivery.d.ts +34 -0
  178. package/dist/cli/delivery.d.ts.map +1 -0
  179. package/dist/cli/delivery.js +223 -0
  180. package/dist/cli/delivery.js.map +1 -0
  181. package/dist/cli/keys.d.ts +305 -163
  182. package/dist/cli/keys.d.ts.map +1 -1
  183. package/dist/cli/keys.js +101 -74
  184. package/dist/cli/keys.js.map +1 -1
  185. package/dist/cli/legacy/index.d.ts +25 -0
  186. package/dist/cli/legacy/index.d.ts.map +1 -0
  187. package/dist/cli/legacy/index.js +37 -0
  188. package/dist/cli/legacy/index.js.map +1 -0
  189. package/dist/cli/legacy/routes/index.d.ts +8 -0
  190. package/dist/cli/legacy/routes/index.d.ts.map +1 -0
  191. package/dist/cli/legacy/routes/index.js +23 -0
  192. package/dist/cli/legacy/routes/index.js.map +1 -0
  193. package/dist/cli/legacy/routes/scene-01.d.ts +12 -0
  194. package/dist/cli/legacy/routes/scene-01.d.ts.map +1 -0
  195. package/dist/cli/legacy/routes/scene-01.js +2 -0
  196. package/dist/cli/legacy/routes/scene-01.js.map +1 -0
  197. package/dist/cli/legacy/routes/scene-02.d.ts +18 -0
  198. package/dist/cli/legacy/routes/scene-02.d.ts.map +1 -0
  199. package/dist/cli/legacy/routes/scene-02.js +2 -0
  200. package/dist/cli/legacy/routes/scene-02.js.map +1 -0
  201. package/dist/cli/legacy/routes/scene-03.d.ts +13 -0
  202. package/dist/cli/legacy/routes/scene-03.d.ts.map +1 -0
  203. package/dist/cli/legacy/routes/scene-03.js +2 -0
  204. package/dist/cli/legacy/routes/scene-03.js.map +1 -0
  205. package/dist/cli/legacy/routes/scene-04.d.ts +10 -0
  206. package/dist/cli/legacy/routes/scene-04.d.ts.map +1 -0
  207. package/dist/cli/legacy/routes/scene-04.js +2 -0
  208. package/dist/cli/legacy/routes/scene-04.js.map +1 -0
  209. package/dist/cli/legacy/routes/scene-05.d.ts +10 -0
  210. package/dist/cli/legacy/routes/scene-05.d.ts.map +1 -0
  211. package/dist/cli/legacy/routes/scene-05.js +2 -0
  212. package/dist/cli/legacy/routes/scene-05.js.map +1 -0
  213. package/dist/cli/legacy/routes/scene-06.d.ts +10 -0
  214. package/dist/cli/legacy/routes/scene-06.d.ts.map +1 -0
  215. package/dist/cli/legacy/routes/scene-06.js +2 -0
  216. package/dist/cli/legacy/routes/scene-06.js.map +1 -0
  217. package/dist/cli/legacy/routes/scene-07.d.ts +10 -0
  218. package/dist/cli/legacy/routes/scene-07.d.ts.map +1 -0
  219. package/dist/cli/legacy/routes/scene-07.js +2 -0
  220. package/dist/cli/legacy/routes/scene-07.js.map +1 -0
  221. package/dist/cli/legacy/routes/scene-08.d.ts +12 -0
  222. package/dist/cli/legacy/routes/scene-08.d.ts.map +1 -0
  223. package/dist/cli/legacy/routes/scene-08.js +2 -0
  224. package/dist/cli/legacy/routes/scene-08.js.map +1 -0
  225. package/dist/cli/legacy/routes/scene-09.d.ts +12 -0
  226. package/dist/cli/legacy/routes/scene-09.d.ts.map +1 -0
  227. package/dist/cli/legacy/routes/scene-09.js +2 -0
  228. package/dist/cli/legacy/routes/scene-09.js.map +1 -0
  229. package/dist/cli/legacy/routes/scene-10.d.ts +10 -0
  230. package/dist/cli/legacy/routes/scene-10.d.ts.map +1 -0
  231. package/dist/cli/legacy/routes/scene-10.js +2 -0
  232. package/dist/cli/legacy/routes/scene-10.js.map +1 -0
  233. package/dist/cli/legacy/scene-01.d.ts +13 -0
  234. package/dist/cli/legacy/scene-01.d.ts.map +1 -0
  235. package/dist/cli/legacy/scene-01.js +2 -0
  236. package/dist/cli/legacy/scene-01.js.map +1 -0
  237. package/dist/cli/legacy/scene-02.d.ts +12 -0
  238. package/dist/cli/legacy/scene-02.d.ts.map +1 -0
  239. package/dist/cli/legacy/scene-02.js +2 -0
  240. package/dist/cli/legacy/scene-02.js.map +1 -0
  241. package/dist/cli/legacy/scene-03.d.ts +14 -0
  242. package/dist/cli/legacy/scene-03.d.ts.map +1 -0
  243. package/dist/cli/legacy/scene-03.js +2 -0
  244. package/dist/cli/legacy/scene-03.js.map +1 -0
  245. package/dist/cli/legacy/scene-04.d.ts +12 -0
  246. package/dist/cli/legacy/scene-04.d.ts.map +1 -0
  247. package/dist/cli/legacy/scene-04.js +2 -0
  248. package/dist/cli/legacy/scene-04.js.map +1 -0
  249. package/dist/cli/legacy/scene-05.d.ts +14 -0
  250. package/dist/cli/legacy/scene-05.d.ts.map +1 -0
  251. package/dist/cli/legacy/scene-05.js +2 -0
  252. package/dist/cli/legacy/scene-05.js.map +1 -0
  253. package/dist/cli/legacy/scene-06.d.ts +15 -0
  254. package/dist/cli/legacy/scene-06.d.ts.map +1 -0
  255. package/dist/cli/legacy/scene-06.js +2 -0
  256. package/dist/cli/legacy/scene-06.js.map +1 -0
  257. package/dist/cli/legacy/scene-07.d.ts +15 -0
  258. package/dist/cli/legacy/scene-07.d.ts.map +1 -0
  259. package/dist/cli/legacy/scene-07.js +2 -0
  260. package/dist/cli/legacy/scene-07.js.map +1 -0
  261. package/dist/cli/legacy/scene-08.d.ts +13 -0
  262. package/dist/cli/legacy/scene-08.d.ts.map +1 -0
  263. package/dist/cli/legacy/scene-08.js +2 -0
  264. package/dist/cli/legacy/scene-08.js.map +1 -0
  265. package/dist/cli/legacy/scene-09.d.ts +13 -0
  266. package/dist/cli/legacy/scene-09.d.ts.map +1 -0
  267. package/dist/cli/legacy/scene-09.js +2 -0
  268. package/dist/cli/legacy/scene-09.js.map +1 -0
  269. package/dist/cli/legacy/scene-10.d.ts +13 -0
  270. package/dist/cli/legacy/scene-10.d.ts.map +1 -0
  271. package/dist/cli/legacy/scene-10.js +2 -0
  272. package/dist/cli/legacy/scene-10.js.map +1 -0
  273. package/dist/cli/legacy/types.d.ts +16 -0
  274. package/dist/cli/legacy/types.d.ts.map +1 -0
  275. package/dist/cli/legacy/types.js +2 -0
  276. package/dist/cli/legacy/types.js.map +1 -0
  277. package/dist/cli/readArgs.d.ts +21 -0
  278. package/dist/cli/readArgs.d.ts.map +1 -0
  279. package/dist/cli/readArgs.js +72 -0
  280. package/dist/cli/readArgs.js.map +1 -0
  281. package/dist/cli/registry.d.ts +12 -0
  282. package/dist/cli/registry.d.ts.map +1 -0
  283. package/dist/cli/registry.js +38 -0
  284. package/dist/cli/registry.js.map +1 -0
  285. package/dist/cli/write.d.ts +17 -15
  286. package/dist/cli/write.d.ts.map +1 -1
  287. package/dist/cli/write.js +38 -902
  288. package/dist/cli/write.js.map +1 -1
  289. package/dist/diet/commands.d.ts +37 -0
  290. package/dist/diet/commands.d.ts.map +1 -0
  291. package/dist/diet/commands.js +44 -0
  292. package/dist/diet/commands.js.map +1 -0
  293. package/dist/diet/dietEngine.d.ts +79 -0
  294. package/dist/diet/dietEngine.d.ts.map +1 -0
  295. package/dist/diet/dietEngine.js +171 -0
  296. package/dist/diet/dietEngine.js.map +1 -0
  297. package/dist/diet/dietUi.d.ts +9 -0
  298. package/dist/diet/dietUi.d.ts.map +1 -0
  299. package/dist/diet/dietUi.js +45 -0
  300. package/dist/diet/dietUi.js.map +1 -0
  301. package/dist/diet/edit.d.ts +22 -0
  302. package/dist/diet/edit.d.ts.map +1 -0
  303. package/dist/diet/edit.js +96 -0
  304. package/dist/diet/edit.js.map +1 -0
  305. package/dist/diet/fieldLabels.d.ts +5 -0
  306. package/dist/diet/fieldLabels.d.ts.map +1 -0
  307. package/dist/diet/fieldLabels.js +44 -0
  308. package/dist/diet/fieldLabels.js.map +1 -0
  309. package/dist/diet/index.d.ts +26 -0
  310. package/dist/diet/index.d.ts.map +1 -0
  311. package/dist/diet/index.js +22 -0
  312. package/dist/diet/index.js.map +1 -0
  313. package/dist/diet/library.d.ts +20 -0
  314. package/dist/diet/library.d.ts.map +1 -0
  315. package/dist/diet/library.js +52 -0
  316. package/dist/diet/library.js.map +1 -0
  317. package/dist/diet/libraryDocs.d.ts +7 -0
  318. package/dist/diet/libraryDocs.d.ts.map +1 -0
  319. package/dist/diet/libraryDocs.js +361 -0
  320. package/dist/diet/libraryDocs.js.map +1 -0
  321. package/dist/diet/libraryPlate.d.ts +41 -0
  322. package/dist/diet/libraryPlate.d.ts.map +1 -0
  323. package/dist/diet/libraryPlate.js +57 -0
  324. package/dist/diet/libraryPlate.js.map +1 -0
  325. package/dist/diet/log.d.ts +18 -0
  326. package/dist/diet/log.d.ts.map +1 -0
  327. package/dist/diet/log.js +152 -0
  328. package/dist/diet/log.js.map +1 -0
  329. package/dist/diet/nutrition.d.ts +37 -0
  330. package/dist/diet/nutrition.d.ts.map +1 -0
  331. package/dist/diet/nutrition.js +135 -0
  332. package/dist/diet/nutrition.js.map +1 -0
  333. package/dist/diet/nutritionPort.d.ts +129 -0
  334. package/dist/diet/nutritionPort.d.ts.map +1 -0
  335. package/dist/diet/nutritionPort.js +246 -0
  336. package/dist/diet/nutritionPort.js.map +1 -0
  337. package/dist/diet/nutritionPortDocs.d.ts +106 -0
  338. package/dist/diet/nutritionPortDocs.d.ts.map +1 -0
  339. package/dist/diet/nutritionPortDocs.js +651 -0
  340. package/dist/diet/nutritionPortDocs.js.map +1 -0
  341. package/dist/diet/precheck.d.ts +7 -0
  342. package/dist/diet/precheck.d.ts.map +1 -0
  343. package/dist/diet/precheck.js +194 -0
  344. package/dist/diet/precheck.js.map +1 -0
  345. package/dist/diet/precheckLabel.d.ts +4 -0
  346. package/dist/diet/precheckLabel.d.ts.map +1 -0
  347. package/dist/diet/precheckLabel.js +191 -0
  348. package/dist/diet/precheckLabel.js.map +1 -0
  349. package/dist/diet/precheckParts.d.ts +49 -0
  350. package/dist/diet/precheckParts.d.ts.map +1 -0
  351. package/dist/diet/precheckParts.js +69 -0
  352. package/dist/diet/precheckParts.js.map +1 -0
  353. package/dist/diet/precheckPort.d.ts +82 -0
  354. package/dist/diet/precheckPort.d.ts.map +1 -0
  355. package/dist/diet/precheckPort.js +176 -0
  356. package/dist/diet/precheckPort.js.map +1 -0
  357. package/dist/diet/productImport.d.ts +28 -0
  358. package/dist/diet/productImport.d.ts.map +1 -0
  359. package/dist/diet/productImport.js +152 -0
  360. package/dist/diet/productImport.js.map +1 -0
  361. package/dist/diet/productStore.d.ts +62 -0
  362. package/dist/diet/productStore.d.ts.map +1 -0
  363. package/dist/diet/productStore.js +73 -0
  364. package/dist/diet/productStore.js.map +1 -0
  365. package/dist/diet/products.d.ts +15 -0
  366. package/dist/diet/products.d.ts.map +1 -0
  367. package/dist/diet/products.js +87 -0
  368. package/dist/diet/products.js.map +1 -0
  369. package/dist/diet/ranking.d.ts +18 -0
  370. package/dist/diet/ranking.d.ts.map +1 -0
  371. package/dist/diet/ranking.js +23 -0
  372. package/dist/diet/ranking.js.map +1 -0
  373. package/dist/diet/rankingDocs.d.ts +13 -0
  374. package/dist/diet/rankingDocs.d.ts.map +1 -0
  375. package/dist/diet/rankingDocs.js +341 -0
  376. package/dist/diet/rankingDocs.js.map +1 -0
  377. package/dist/diet/rankingPlate.d.ts +42 -0
  378. package/dist/diet/rankingPlate.d.ts.map +1 -0
  379. package/dist/diet/rankingPlate.js +96 -0
  380. package/dist/diet/rankingPlate.js.map +1 -0
  381. package/dist/diet/receipt.d.ts +34 -0
  382. package/dist/diet/receipt.d.ts.map +1 -0
  383. package/dist/diet/receipt.js +371 -0
  384. package/dist/diet/receipt.js.map +1 -0
  385. package/dist/diet/review.d.ts +36 -0
  386. package/dist/diet/review.d.ts.map +1 -0
  387. package/dist/diet/review.js +152 -0
  388. package/dist/diet/review.js.map +1 -0
  389. package/dist/diet/reviewDocs.d.ts +72 -0
  390. package/dist/diet/reviewDocs.d.ts.map +1 -0
  391. package/dist/diet/reviewDocs.js +312 -0
  392. package/dist/diet/reviewDocs.js.map +1 -0
  393. package/dist/diet/routes.d.ts +12 -0
  394. package/dist/diet/routes.d.ts.map +1 -0
  395. package/dist/diet/routes.js +108 -0
  396. package/dist/diet/routes.js.map +1 -0
  397. package/dist/diet/sourceStatsDocs.d.ts +3 -0
  398. package/dist/diet/sourceStatsDocs.d.ts.map +1 -0
  399. package/dist/diet/sourceStatsDocs.js +115 -0
  400. package/dist/diet/sourceStatsDocs.js.map +1 -0
  401. package/dist/diet/today.d.ts +14 -0
  402. package/dist/diet/today.d.ts.map +1 -0
  403. package/dist/diet/today.js +87 -0
  404. package/dist/diet/today.js.map +1 -0
  405. package/dist/diet/todayDocs.d.ts +53 -0
  406. package/dist/diet/todayDocs.d.ts.map +1 -0
  407. package/dist/diet/todayDocs.js +238 -0
  408. package/dist/diet/todayDocs.js.map +1 -0
  409. package/dist/exercise/cardio.d.ts +11 -0
  410. package/dist/exercise/cardio.d.ts.map +1 -0
  411. package/dist/exercise/cardio.js +14 -0
  412. package/dist/exercise/cardio.js.map +1 -0
  413. package/dist/exercise/categoryColors.d.ts +23 -0
  414. package/dist/exercise/categoryColors.d.ts.map +1 -0
  415. package/dist/exercise/categoryColors.js +28 -0
  416. package/dist/exercise/categoryColors.js.map +1 -0
  417. package/dist/exercise/commands.d.ts +20 -0
  418. package/dist/exercise/commands.d.ts.map +1 -0
  419. package/dist/exercise/commands.js +22 -0
  420. package/dist/exercise/commands.js.map +1 -0
  421. package/dist/exercise/distribution.d.ts +11 -0
  422. package/dist/exercise/distribution.d.ts.map +1 -0
  423. package/dist/exercise/distribution.js +14 -0
  424. package/dist/exercise/distribution.js.map +1 -0
  425. package/dist/exercise/edit.d.ts +22 -0
  426. package/dist/exercise/edit.d.ts.map +1 -0
  427. package/dist/exercise/edit.js +148 -0
  428. package/dist/exercise/edit.js.map +1 -0
  429. package/dist/exercise/exerciseStore.d.ts +87 -0
  430. package/dist/exercise/exerciseStore.d.ts.map +1 -0
  431. package/dist/exercise/exerciseStore.js +287 -0
  432. package/dist/exercise/exerciseStore.js.map +1 -0
  433. package/dist/exercise/fieldLabels.d.ts +5 -0
  434. package/dist/exercise/fieldLabels.d.ts.map +1 -0
  435. package/dist/exercise/fieldLabels.js +34 -0
  436. package/dist/exercise/fieldLabels.js.map +1 -0
  437. package/dist/exercise/goal.d.ts +16 -0
  438. package/dist/exercise/goal.d.ts.map +1 -0
  439. package/dist/exercise/goal.js +46 -0
  440. package/dist/exercise/goal.js.map +1 -0
  441. package/dist/exercise/index.d.ts +22 -0
  442. package/dist/exercise/index.d.ts.map +1 -0
  443. package/dist/exercise/index.js +22 -0
  444. package/dist/exercise/index.js.map +1 -0
  445. package/dist/exercise/log.d.ts +19 -0
  446. package/dist/exercise/log.d.ts.map +1 -0
  447. package/dist/exercise/log.js +102 -0
  448. package/dist/exercise/log.js.map +1 -0
  449. package/dist/exercise/precheck.d.ts +19 -0
  450. package/dist/exercise/precheck.d.ts.map +1 -0
  451. package/dist/exercise/precheck.js +127 -0
  452. package/dist/exercise/precheck.js.map +1 -0
  453. package/dist/exercise/recap.d.ts +11 -0
  454. package/dist/exercise/recap.d.ts.map +1 -0
  455. package/dist/exercise/recap.js +14 -0
  456. package/dist/exercise/recap.js.map +1 -0
  457. package/dist/exercise/receipt.d.ts +43 -0
  458. package/dist/exercise/receipt.d.ts.map +1 -0
  459. package/dist/exercise/receipt.js +401 -0
  460. package/dist/exercise/receipt.js.map +1 -0
  461. package/dist/exercise/records.d.ts +60 -0
  462. package/dist/exercise/records.d.ts.map +1 -0
  463. package/dist/exercise/records.js +317 -0
  464. package/dist/exercise/records.js.map +1 -0
  465. package/dist/exercise/routes.d.ts +21 -0
  466. package/dist/exercise/routes.d.ts.map +1 -0
  467. package/dist/exercise/routes.js +38 -0
  468. package/dist/exercise/routes.js.map +1 -0
  469. package/dist/exercise/sportUi.d.ts +77 -0
  470. package/dist/exercise/sportUi.d.ts.map +1 -0
  471. package/dist/exercise/sportUi.js +268 -0
  472. package/dist/exercise/sportUi.js.map +1 -0
  473. package/dist/exercise/strength.d.ts +11 -0
  474. package/dist/exercise/strength.d.ts.map +1 -0
  475. package/dist/exercise/strength.js +14 -0
  476. package/dist/exercise/strength.js.map +1 -0
  477. package/dist/exercise/trend.d.ts +11 -0
  478. package/dist/exercise/trend.d.ts.map +1 -0
  479. package/dist/exercise/trend.js +14 -0
  480. package/dist/exercise/trend.js.map +1 -0
  481. package/dist/fetch/audit.d.ts +2 -0
  482. package/dist/fetch/audit.d.ts.map +1 -1
  483. package/dist/fetch/audit.js +11 -10
  484. package/dist/fetch/audit.js.map +1 -1
  485. package/dist/fetch/batch.js +1 -1
  486. package/dist/fetch/batch.js.map +1 -1
  487. package/dist/fetch/body.d.ts +104 -1
  488. package/dist/fetch/body.d.ts.map +1 -1
  489. package/dist/fetch/body.js +200 -31
  490. package/dist/fetch/body.js.map +1 -1
  491. package/dist/fetch/cli.js +11 -5
  492. package/dist/fetch/cli.js.map +1 -1
  493. package/dist/fetch/exercise.d.ts.map +1 -1
  494. package/dist/fetch/exercise.js +7 -3
  495. package/dist/fetch/exercise.js.map +1 -1
  496. package/dist/fetch/index.d.ts +5 -7
  497. package/dist/fetch/index.d.ts.map +1 -1
  498. package/dist/fetch/index.js +7 -6
  499. package/dist/fetch/index.js.map +1 -1
  500. package/dist/fetch/nutritionGoal.d.ts.map +1 -1
  501. package/dist/fetch/nutritionGoal.js +15 -4
  502. package/dist/fetch/nutritionGoal.js.map +1 -1
  503. package/dist/fetch/profile.d.ts +24 -3
  504. package/dist/fetch/profile.d.ts.map +1 -1
  505. package/dist/fetch/profile.js +43 -14
  506. package/dist/fetch/profile.js.map +1 -1
  507. package/dist/fetch/xunji-catalog.d.ts +5 -0
  508. package/dist/fetch/xunji-catalog.d.ts.map +1 -1
  509. package/dist/fetch/xunji-catalog.js +22 -1
  510. package/dist/fetch/xunji-catalog.js.map +1 -1
  511. package/dist/goal/commands.d.ts +31 -0
  512. package/dist/goal/commands.d.ts.map +1 -0
  513. package/dist/goal/commands.js +20 -0
  514. package/dist/goal/commands.js.map +1 -0
  515. package/dist/goal/goalExtraPlate.d.ts +45 -0
  516. package/dist/goal/goalExtraPlate.d.ts.map +1 -0
  517. package/dist/goal/goalExtraPlate.js +95 -0
  518. package/dist/goal/goalExtraPlate.js.map +1 -0
  519. package/dist/goal/goalHistory.d.ts +24 -0
  520. package/dist/goal/goalHistory.d.ts.map +1 -0
  521. package/dist/goal/goalHistory.js +51 -0
  522. package/dist/goal/goalHistory.js.map +1 -0
  523. package/dist/goal/goalPlate.d.ts +24 -0
  524. package/dist/goal/goalPlate.d.ts.map +1 -0
  525. package/dist/goal/goalPlate.js +34 -0
  526. package/dist/goal/goalPlate.js.map +1 -0
  527. package/dist/goal/goalPlates.d.ts +66 -0
  528. package/dist/goal/goalPlates.d.ts.map +1 -0
  529. package/dist/goal/goalPlates.js +114 -0
  530. package/dist/goal/goalPlates.js.map +1 -0
  531. package/dist/goal/goalRecommendDoc.d.ts +6 -0
  532. package/dist/goal/goalRecommendDoc.d.ts.map +1 -0
  533. package/dist/goal/goalRecommendDoc.js +107 -0
  534. package/dist/goal/goalRecommendDoc.js.map +1 -0
  535. package/dist/goal/goalStore.d.ts +56 -0
  536. package/dist/goal/goalStore.d.ts.map +1 -0
  537. package/dist/goal/goalStore.js +111 -0
  538. package/dist/goal/goalStore.js.map +1 -0
  539. package/dist/goal/goalWeightDoc.d.ts +7 -0
  540. package/dist/goal/goalWeightDoc.d.ts.map +1 -0
  541. package/dist/goal/goalWeightDoc.js +107 -0
  542. package/dist/goal/goalWeightDoc.js.map +1 -0
  543. package/dist/goal/index.d.ts +17 -0
  544. package/dist/goal/index.d.ts.map +1 -0
  545. package/dist/goal/index.js +21 -0
  546. package/dist/goal/index.js.map +1 -0
  547. package/dist/goal/nutritionGoal.d.ts +115 -0
  548. package/dist/goal/nutritionGoal.d.ts.map +1 -0
  549. package/dist/goal/nutritionGoal.js +165 -0
  550. package/dist/goal/nutritionGoal.js.map +1 -0
  551. package/dist/goal/precheck.d.ts +14 -0
  552. package/dist/goal/precheck.d.ts.map +1 -0
  553. package/dist/goal/precheck.js +213 -0
  554. package/dist/goal/precheck.js.map +1 -0
  555. package/dist/goal/read.d.ts +53 -0
  556. package/dist/goal/read.d.ts.map +1 -0
  557. package/dist/goal/read.js +154 -0
  558. package/dist/goal/read.js.map +1 -0
  559. package/dist/goal/receipt.d.ts +38 -0
  560. package/dist/goal/receipt.d.ts.map +1 -0
  561. package/dist/goal/receipt.js +290 -0
  562. package/dist/goal/receipt.js.map +1 -0
  563. package/dist/goal/resultDocs.d.ts +23 -0
  564. package/dist/goal/resultDocs.d.ts.map +1 -0
  565. package/dist/goal/resultDocs.js +279 -0
  566. package/dist/goal/resultDocs.js.map +1 -0
  567. package/dist/goal/routes.d.ts +12 -0
  568. package/dist/goal/routes.d.ts.map +1 -0
  569. package/dist/goal/routes.js +29 -0
  570. package/dist/goal/routes.js.map +1 -0
  571. package/dist/goal/set.d.ts +97 -0
  572. package/dist/goal/set.d.ts.map +1 -0
  573. package/dist/goal/set.js +103 -0
  574. package/dist/goal/set.js.map +1 -0
  575. package/dist/goal/write.d.ts +30 -0
  576. package/dist/goal/write.d.ts.map +1 -0
  577. package/dist/goal/write.js +102 -0
  578. package/dist/goal/write.js.map +1 -0
  579. package/dist/help-missing.json +35 -0
  580. package/dist/home/commands.d.ts +11 -0
  581. package/dist/home/commands.d.ts.map +1 -0
  582. package/dist/home/commands.js +8 -0
  583. package/dist/home/commands.js.map +1 -0
  584. package/dist/home/exercise.d.ts +27 -0
  585. package/dist/home/exercise.d.ts.map +1 -0
  586. package/dist/home/exercise.js +60 -0
  587. package/dist/home/exercise.js.map +1 -0
  588. package/dist/home/goalProgressDocs.d.ts +27 -0
  589. package/dist/home/goalProgressDocs.d.ts.map +1 -0
  590. package/dist/home/goalProgressDocs.js +363 -0
  591. package/dist/home/goalProgressDocs.js.map +1 -0
  592. package/dist/home/home.d.ts +38 -0
  593. package/dist/home/home.d.ts.map +1 -0
  594. package/dist/home/home.js +78 -0
  595. package/dist/home/home.js.map +1 -0
  596. package/dist/home/homeDocs.d.ts +8 -0
  597. package/dist/home/homeDocs.d.ts.map +1 -0
  598. package/dist/home/homeDocs.js +307 -0
  599. package/dist/home/homeDocs.js.map +1 -0
  600. package/dist/home/homeViewParts.d.ts +42 -0
  601. package/dist/home/homeViewParts.d.ts.map +1 -0
  602. package/dist/home/homeViewParts.js +316 -0
  603. package/dist/home/homeViewParts.js.map +1 -0
  604. package/dist/home/index.d.ts +14 -0
  605. package/dist/home/index.d.ts.map +1 -0
  606. package/dist/home/index.js +13 -0
  607. package/dist/home/index.js.map +1 -0
  608. package/dist/home/routes.d.ts +10 -0
  609. package/dist/home/routes.d.ts.map +1 -0
  610. package/dist/home/routes.js +47 -0
  611. package/dist/home/routes.js.map +1 -0
  612. package/dist/home/today.d.ts +50 -0
  613. package/dist/home/today.d.ts.map +1 -0
  614. package/dist/home/today.js +255 -0
  615. package/dist/home/today.js.map +1 -0
  616. package/dist/index.d.ts +2 -0
  617. package/dist/index.d.ts.map +1 -1
  618. package/dist/index.js +3 -0
  619. package/dist/index.js.map +1 -1
  620. package/dist/migrate/migrate.js +1 -1
  621. package/dist/output.d.ts +31 -16
  622. package/dist/output.d.ts.map +1 -1
  623. package/dist/output.js +118 -143
  624. package/dist/output.js.map +1 -1
  625. package/dist/photo/commands.d.ts +55 -0
  626. package/dist/photo/commands.d.ts.map +1 -0
  627. package/dist/photo/commands.js +25 -0
  628. package/dist/photo/commands.js.map +1 -0
  629. package/dist/photo/compare.d.ts +24 -0
  630. package/dist/photo/compare.d.ts.map +1 -0
  631. package/dist/photo/compare.js +48 -0
  632. package/dist/photo/compare.js.map +1 -0
  633. package/dist/photo/compareDoc.d.ts +5 -0
  634. package/dist/photo/compareDoc.d.ts.map +1 -0
  635. package/dist/photo/compareDoc.js +221 -0
  636. package/dist/photo/compareDoc.js.map +1 -0
  637. package/dist/photo/dir.d.ts +5 -0
  638. package/dist/photo/dir.d.ts.map +1 -0
  639. package/dist/photo/dir.js +22 -0
  640. package/dist/photo/dir.js.map +1 -0
  641. package/dist/photo/gallery.d.ts +16 -0
  642. package/dist/photo/gallery.d.ts.map +1 -0
  643. package/dist/photo/gallery.js +45 -0
  644. package/dist/photo/gallery.js.map +1 -0
  645. package/dist/photo/galleryDoc.d.ts +12 -0
  646. package/dist/photo/galleryDoc.d.ts.map +1 -0
  647. package/dist/photo/galleryDoc.js +291 -0
  648. package/dist/photo/galleryDoc.js.map +1 -0
  649. package/dist/photo/gif.d.ts +28 -0
  650. package/dist/photo/gif.d.ts.map +1 -0
  651. package/dist/photo/gif.js +281 -0
  652. package/dist/photo/gif.js.map +1 -0
  653. package/dist/photo/gifDoc.d.ts +52 -0
  654. package/dist/photo/gifDoc.d.ts.map +1 -0
  655. package/dist/photo/gifDoc.js +311 -0
  656. package/dist/photo/gifDoc.js.map +1 -0
  657. package/dist/photo/help.d.ts +4 -0
  658. package/dist/photo/help.d.ts.map +1 -0
  659. package/dist/photo/help.js +87 -0
  660. package/dist/photo/help.js.map +1 -0
  661. package/dist/photo/helpCenter.d.ts +137 -0
  662. package/dist/photo/helpCenter.d.ts.map +1 -0
  663. package/dist/photo/helpCenter.js +475 -0
  664. package/dist/photo/helpCenter.js.map +1 -0
  665. package/dist/photo/helpDoc.d.ts +5 -0
  666. package/dist/photo/helpDoc.d.ts.map +1 -0
  667. package/dist/photo/helpDoc.js +205 -0
  668. package/dist/photo/helpDoc.js.map +1 -0
  669. package/dist/photo/helpDocContent.d.ts +77 -0
  670. package/dist/photo/helpDocContent.d.ts.map +1 -0
  671. package/dist/photo/helpDocContent.js +120 -0
  672. package/dist/photo/helpDocContent.js.map +1 -0
  673. package/dist/photo/helpDocCss.d.ts +5 -0
  674. package/dist/photo/helpDocCss.d.ts.map +1 -0
  675. package/dist/photo/helpDocCss.js +119 -0
  676. package/dist/photo/helpDocCss.js.map +1 -0
  677. package/dist/photo/helpFile.d.ts +26 -0
  678. package/dist/photo/helpFile.d.ts.map +1 -0
  679. package/dist/photo/helpFile.js +90 -0
  680. package/dist/photo/helpFile.js.map +1 -0
  681. package/dist/photo/helpLookup.d.ts +18 -0
  682. package/dist/photo/helpLookup.d.ts.map +1 -0
  683. package/dist/photo/helpLookup.js +58 -0
  684. package/dist/photo/helpLookup.js.map +1 -0
  685. package/dist/photo/helpPaths.d.ts +22 -0
  686. package/dist/photo/helpPaths.d.ts.map +1 -0
  687. package/dist/photo/helpPaths.js +22 -0
  688. package/dist/photo/helpPaths.js.map +1 -0
  689. package/dist/photo/index.d.ts +17 -0
  690. package/dist/photo/index.d.ts.map +1 -0
  691. package/dist/photo/index.js +21 -0
  692. package/dist/photo/index.js.map +1 -0
  693. package/dist/photo/manage.d.ts +13 -0
  694. package/dist/photo/manage.d.ts.map +1 -0
  695. package/dist/photo/manage.js +64 -0
  696. package/dist/photo/manage.js.map +1 -0
  697. package/dist/photo/photo.d.ts +118 -0
  698. package/dist/photo/photo.d.ts.map +1 -0
  699. package/dist/photo/photo.js +279 -0
  700. package/dist/photo/photo.js.map +1 -0
  701. package/dist/photo/photoThumb.d.ts +38 -0
  702. package/dist/photo/photoThumb.d.ts.map +1 -0
  703. package/dist/photo/photoThumb.js +83 -0
  704. package/dist/photo/photoThumb.js.map +1 -0
  705. package/dist/photo/photoUi.d.ts +39 -0
  706. package/dist/photo/photoUi.d.ts.map +1 -0
  707. package/dist/photo/photoUi.js +233 -0
  708. package/dist/photo/photoUi.js.map +1 -0
  709. package/dist/photo/photos.d.ts +76 -0
  710. package/dist/photo/photos.d.ts.map +1 -0
  711. package/dist/photo/photos.js +193 -0
  712. package/dist/photo/photos.js.map +1 -0
  713. package/dist/photo/picker.d.ts +41 -0
  714. package/dist/photo/picker.d.ts.map +1 -0
  715. package/dist/photo/picker.js +132 -0
  716. package/dist/photo/picker.js.map +1 -0
  717. package/dist/photo/pickerDoc.d.ts +12 -0
  718. package/dist/photo/pickerDoc.d.ts.map +1 -0
  719. package/dist/photo/pickerDoc.js +231 -0
  720. package/dist/photo/pickerDoc.js.map +1 -0
  721. package/dist/photo/receipt.d.ts +23 -0
  722. package/dist/photo/receipt.d.ts.map +1 -0
  723. package/dist/photo/receipt.js +331 -0
  724. package/dist/photo/receipt.js.map +1 -0
  725. package/dist/photo/receiptUi.d.ts +42 -0
  726. package/dist/photo/receiptUi.d.ts.map +1 -0
  727. package/dist/photo/receiptUi.js +147 -0
  728. package/dist/photo/receiptUi.js.map +1 -0
  729. package/dist/photo/routes.d.ts +10 -0
  730. package/dist/photo/routes.d.ts.map +1 -0
  731. package/dist/photo/routes.js +29 -0
  732. package/dist/photo/routes.js.map +1 -0
  733. package/dist/photo/store.d.ts +10 -0
  734. package/dist/photo/store.d.ts.map +1 -0
  735. package/dist/photo/store.js +44 -0
  736. package/dist/photo/store.js.map +1 -0
  737. package/dist/photo/viewerDoc.d.ts +5 -0
  738. package/dist/photo/viewerDoc.d.ts.map +1 -0
  739. package/dist/photo/viewerDoc.js +255 -0
  740. package/dist/photo/viewerDoc.js.map +1 -0
  741. package/dist/photo/wizard.d.ts +15 -0
  742. package/dist/photo/wizard.d.ts.map +1 -0
  743. package/dist/photo/wizard.js +25 -0
  744. package/dist/photo/wizard.js.map +1 -0
  745. package/dist/photo/wizardUi.d.ts +24 -0
  746. package/dist/photo/wizardUi.d.ts.map +1 -0
  747. package/dist/photo/wizardUi.js +101 -0
  748. package/dist/photo/wizardUi.js.map +1 -0
  749. package/dist/profile/commands.d.ts +28 -0
  750. package/dist/profile/commands.d.ts.map +1 -0
  751. package/dist/profile/commands.js +10 -0
  752. package/dist/profile/commands.js.map +1 -0
  753. package/dist/profile/index.d.ts +23 -0
  754. package/dist/profile/index.d.ts.map +1 -0
  755. package/dist/profile/index.js +22 -0
  756. package/dist/profile/index.js.map +1 -0
  757. package/dist/profile/labels.d.ts +10 -0
  758. package/dist/profile/labels.d.ts.map +1 -0
  759. package/dist/profile/labels.js +52 -0
  760. package/dist/profile/labels.js.map +1 -0
  761. package/dist/profile/read.d.ts +13 -0
  762. package/dist/profile/read.d.ts.map +1 -0
  763. package/dist/profile/read.js +24 -0
  764. package/dist/profile/read.js.map +1 -0
  765. package/dist/profile/receipt.d.ts +10 -0
  766. package/dist/profile/receipt.d.ts.map +1 -0
  767. package/dist/profile/receipt.js +19 -0
  768. package/dist/profile/receipt.js.map +1 -0
  769. package/dist/profile/routes.d.ts +8 -0
  770. package/dist/profile/routes.d.ts.map +1 -0
  771. package/dist/profile/routes.js +9 -0
  772. package/dist/profile/routes.js.map +1 -0
  773. package/dist/profile/setup.d.ts +67 -0
  774. package/dist/profile/setup.d.ts.map +1 -0
  775. package/dist/profile/setup.js +396 -0
  776. package/dist/profile/setup.js.map +1 -0
  777. package/dist/profile/update.d.ts +5 -0
  778. package/dist/profile/update.d.ts.map +1 -0
  779. package/dist/profile/update.js +85 -0
  780. package/dist/profile/update.js.map +1 -0
  781. package/dist/profile/view.d.ts +64 -0
  782. package/dist/profile/view.d.ts.map +1 -0
  783. package/dist/profile/view.js +204 -0
  784. package/dist/profile/view.js.map +1 -0
  785. package/dist/profile/write.d.ts +16 -0
  786. package/dist/profile/write.d.ts.map +1 -0
  787. package/dist/profile/write.js +75 -0
  788. package/dist/profile/write.js.map +1 -0
  789. package/dist/render/analysisPlate.d.ts +1 -1
  790. package/dist/render/analysisPlate.d.ts.map +1 -1
  791. package/dist/render/analysisPlate.js +1 -1
  792. package/dist/render/analysisPlate.js.map +1 -1
  793. package/dist/render/dietDocs.d.ts +19 -19
  794. package/dist/render/dietDocs.d.ts.map +1 -1
  795. package/dist/render/dietDocs.js +173 -435
  796. package/dist/render/dietDocs.js.map +1 -1
  797. package/dist/render/exercisePort.d.ts +3 -1
  798. package/dist/render/exercisePort.d.ts.map +1 -1
  799. package/dist/render/exercisePort.js +4 -3
  800. package/dist/render/exercisePort.js.map +1 -1
  801. package/dist/render/goalExtra.d.ts.map +1 -1
  802. package/dist/render/goalExtra.js +2 -1
  803. package/dist/render/goalExtra.js.map +1 -1
  804. package/dist/render/goalPlate.d.ts +2 -2
  805. package/dist/render/goalPlate.d.ts.map +1 -1
  806. package/dist/render/goalPlate.js +3 -3
  807. package/dist/render/goalPlate.js.map +1 -1
  808. package/dist/render/helpCenter.d.ts.map +1 -1
  809. package/dist/render/helpCenter.js +4 -2
  810. package/dist/render/helpCenter.js.map +1 -1
  811. package/dist/render/helpFile.d.ts +26 -0
  812. package/dist/render/helpFile.d.ts.map +1 -0
  813. package/dist/render/helpFile.js +60 -0
  814. package/dist/render/helpFile.js.map +1 -0
  815. package/dist/render/helpPaths.d.ts +22 -0
  816. package/dist/render/helpPaths.d.ts.map +1 -0
  817. package/dist/render/helpPaths.js +22 -0
  818. package/dist/render/helpPaths.js.map +1 -0
  819. package/dist/render/helpShell.d.ts +16 -0
  820. package/dist/render/helpShell.d.ts.map +1 -0
  821. package/dist/render/helpShell.js +27 -0
  822. package/dist/render/helpShell.js.map +1 -0
  823. package/dist/render/html.d.ts +37 -21
  824. package/dist/render/html.d.ts.map +1 -1
  825. package/dist/render/html.js +37 -45
  826. package/dist/render/html.js.map +1 -1
  827. package/dist/render/index.d.ts +37 -33
  828. package/dist/render/index.d.ts.map +1 -1
  829. package/dist/render/index.js +32 -18
  830. package/dist/render/index.js.map +1 -1
  831. package/dist/render/insightPlate.d.ts +17 -0
  832. package/dist/render/insightPlate.d.ts.map +1 -1
  833. package/dist/render/insightPlate.js +109 -1
  834. package/dist/render/insightPlate.js.map +1 -1
  835. package/dist/render/nutritionPortDocs.d.ts.map +1 -1
  836. package/dist/render/nutritionPortDocs.js +41 -48
  837. package/dist/render/nutritionPortDocs.js.map +1 -1
  838. package/dist/render/pageChromeCss.d.ts +24 -0
  839. package/dist/render/pageChromeCss.d.ts.map +1 -0
  840. package/dist/render/pageChromeCss.js +45 -0
  841. package/dist/render/pageChromeCss.js.map +1 -0
  842. package/dist/render/planCopyBlock.d.ts +32 -0
  843. package/dist/render/planCopyBlock.d.ts.map +1 -0
  844. package/dist/render/planCopyBlock.js +34 -0
  845. package/dist/render/planCopyBlock.js.map +1 -0
  846. package/dist/render/planEditor.d.ts +94 -0
  847. package/dist/render/planEditor.d.ts.map +1 -0
  848. package/dist/render/planEditor.js +38 -0
  849. package/dist/render/planEditor.js.map +1 -0
  850. package/dist/render/planEditorCss.d.ts +13 -0
  851. package/dist/render/planEditorCss.d.ts.map +1 -0
  852. package/dist/render/planEditorCss.js +140 -0
  853. package/dist/render/planEditorCss.js.map +1 -0
  854. package/dist/render/planEditorDocs.d.ts +7 -0
  855. package/dist/render/planEditorDocs.d.ts.map +1 -0
  856. package/dist/render/planEditorDocs.js +56 -0
  857. package/dist/render/planEditorDocs.js.map +1 -0
  858. package/dist/render/planEditorPort.d.ts +45 -0
  859. package/dist/render/planEditorPort.d.ts.map +1 -0
  860. package/dist/render/planEditorPort.js +217 -0
  861. package/dist/render/planEditorPort.js.map +1 -0
  862. package/dist/render/planEditorRuntime.d.ts +15 -0
  863. package/dist/render/planEditorRuntime.d.ts.map +1 -0
  864. package/dist/render/planEditorRuntime.js +427 -0
  865. package/dist/render/planEditorRuntime.js.map +1 -0
  866. package/dist/render/planPlate.d.ts +84 -4
  867. package/dist/render/planPlate.d.ts.map +1 -1
  868. package/dist/render/planPlate.js +155 -7
  869. package/dist/render/planPlate.js.map +1 -1
  870. package/dist/render/planWizardCss.d.ts +21 -0
  871. package/dist/render/planWizardCss.d.ts.map +1 -0
  872. package/dist/render/planWizardCss.js +121 -0
  873. package/dist/render/planWizardCss.js.map +1 -0
  874. package/dist/render/planWizardDocs.d.ts +8 -0
  875. package/dist/render/planWizardDocs.d.ts.map +1 -0
  876. package/dist/render/planWizardDocs.js +151 -0
  877. package/dist/render/planWizardDocs.js.map +1 -0
  878. package/dist/render/receipt.d.ts +4 -0
  879. package/dist/render/receipt.d.ts.map +1 -1
  880. package/dist/render/receipt.js +4 -1
  881. package/dist/render/receipt.js.map +1 -1
  882. package/dist/render/reviewDocs.d.ts +3 -0
  883. package/dist/render/reviewDocs.d.ts.map +1 -0
  884. package/dist/render/reviewDocs.js +222 -0
  885. package/dist/render/reviewDocs.js.map +1 -0
  886. package/dist/render/reviewDocsCss.d.ts +5 -0
  887. package/dist/render/reviewDocsCss.d.ts.map +1 -0
  888. package/dist/render/reviewDocsCss.js +128 -0
  889. package/dist/render/reviewDocsCss.js.map +1 -0
  890. package/dist/render/sportDocs.d.ts +17 -12
  891. package/dist/render/sportDocs.d.ts.map +1 -1
  892. package/dist/render/sportDocs.js +370 -497
  893. package/dist/render/sportDocs.js.map +1 -1
  894. package/dist/render/sportPortDocs.d.ts +3 -2
  895. package/dist/render/sportPortDocs.d.ts.map +1 -1
  896. package/dist/render/sportPortDocs.js +825 -397
  897. package/dist/render/sportPortDocs.js.map +1 -1
  898. package/dist/render/trendDocs.d.ts +16 -6
  899. package/dist/render/trendDocs.d.ts.map +1 -1
  900. package/dist/render/trendDocs.js +310 -262
  901. package/dist/render/trendDocs.js.map +1 -1
  902. package/dist/render/trendMiscPort.d.ts +9 -24
  903. package/dist/render/trendMiscPort.d.ts.map +1 -1
  904. package/dist/render/trendMiscPort.js +7 -30
  905. package/dist/render/trendMiscPort.js.map +1 -1
  906. package/dist/render/trendMiscPortDocs.d.ts +1 -2
  907. package/dist/render/trendMiscPortDocs.d.ts.map +1 -1
  908. package/dist/render/trendMiscPortDocs.js +303 -133
  909. package/dist/render/trendMiscPortDocs.js.map +1 -1
  910. package/dist/render/trendPredictDocs.d.ts +16 -0
  911. package/dist/render/trendPredictDocs.d.ts.map +1 -0
  912. package/dist/render/trendPredictDocs.js +1131 -0
  913. package/dist/render/trendPredictDocs.js.map +1 -0
  914. package/dist/render/wizardPort.d.ts +9 -62
  915. package/dist/render/wizardPort.d.ts.map +1 -1
  916. package/dist/render/wizardPort.js +20 -180
  917. package/dist/render/wizardPort.js.map +1 -1
  918. package/dist/render/wizardPortDocs.d.ts +5 -5
  919. package/dist/render/wizardPortDocs.d.ts.map +1 -1
  920. package/dist/render/wizardPortDocs.js +282 -234
  921. package/dist/render/wizardPortDocs.js.map +1 -1
  922. package/dist/render/workoutMovementTable.d.ts +10 -0
  923. package/dist/render/workoutMovementTable.d.ts.map +1 -0
  924. package/dist/render/workoutMovementTable.js +153 -0
  925. package/dist/render/workoutMovementTable.js.map +1 -0
  926. package/dist/render/workoutPlanCss.d.ts +15 -0
  927. package/dist/render/workoutPlanCss.d.ts.map +1 -0
  928. package/dist/render/workoutPlanCss.js +217 -0
  929. package/dist/render/workoutPlanCss.js.map +1 -0
  930. package/dist/render/workoutPlanDocs.d.ts +23 -0
  931. package/dist/render/workoutPlanDocs.d.ts.map +1 -0
  932. package/dist/render/workoutPlanDocs.js +244 -0
  933. package/dist/render/workoutPlanDocs.js.map +1 -0
  934. package/dist/render/workoutPlanLook.d.ts +16 -0
  935. package/dist/render/workoutPlanLook.d.ts.map +1 -0
  936. package/dist/render/workoutPlanLook.js +135 -0
  937. package/dist/render/workoutPlanLook.js.map +1 -0
  938. package/dist/schema.d.ts.map +1 -1
  939. package/dist/schema.js +11 -0
  940. package/dist/schema.js.map +1 -1
  941. package/dist/shared/commandSpec.d.ts +73 -0
  942. package/dist/shared/commandSpec.d.ts.map +1 -0
  943. package/dist/shared/commandSpec.js +2 -0
  944. package/dist/shared/commandSpec.js.map +1 -0
  945. package/dist/shared/conclusionLine.d.ts +3 -0
  946. package/dist/shared/conclusionLine.d.ts.map +1 -0
  947. package/dist/shared/conclusionLine.js +21 -0
  948. package/dist/shared/conclusionLine.js.map +1 -0
  949. package/dist/shared/contentSuffix.d.ts +17 -0
  950. package/dist/shared/contentSuffix.d.ts.map +1 -0
  951. package/dist/shared/contentSuffix.js +125 -0
  952. package/dist/shared/contentSuffix.js.map +1 -0
  953. package/dist/shared/copyArea.d.ts +73 -0
  954. package/dist/shared/copyArea.d.ts.map +1 -0
  955. package/dist/shared/copyArea.js +144 -0
  956. package/dist/shared/copyArea.js.map +1 -0
  957. package/dist/shared/docPage.d.ts +42 -0
  958. package/dist/shared/docPage.d.ts.map +1 -0
  959. package/dist/shared/docPage.js +129 -0
  960. package/dist/shared/docPage.js.map +1 -0
  961. package/dist/shared/emptyGuide.d.ts +9 -0
  962. package/dist/shared/emptyGuide.d.ts.map +1 -0
  963. package/dist/shared/emptyGuide.js +31 -0
  964. package/dist/shared/emptyGuide.js.map +1 -0
  965. package/dist/shared/fieldLabel.d.ts +5 -0
  966. package/dist/shared/fieldLabel.d.ts.map +1 -0
  967. package/dist/shared/fieldLabel.js +42 -0
  968. package/dist/shared/fieldLabel.js.map +1 -0
  969. package/dist/shared/operationHead.d.ts +21 -0
  970. package/dist/shared/operationHead.d.ts.map +1 -0
  971. package/dist/shared/operationHead.js +73 -0
  972. package/dist/shared/operationHead.js.map +1 -0
  973. package/dist/shared/pageKit.d.ts +25 -0
  974. package/dist/shared/pageKit.d.ts.map +1 -0
  975. package/dist/shared/pageKit.js +56 -0
  976. package/dist/shared/pageKit.js.map +1 -0
  977. package/dist/shared/params.d.ts +54 -0
  978. package/dist/shared/params.d.ts.map +1 -0
  979. package/dist/shared/params.js +176 -0
  980. package/dist/shared/params.js.map +1 -0
  981. package/dist/shared/receiptParts.d.ts +9 -0
  982. package/dist/shared/receiptParts.d.ts.map +1 -0
  983. package/dist/shared/receiptParts.js +40 -0
  984. package/dist/shared/receiptParts.js.map +1 -0
  985. package/dist/shared/sceneEnvelope.d.ts +32 -0
  986. package/dist/shared/sceneEnvelope.d.ts.map +1 -0
  987. package/dist/shared/sceneEnvelope.js +12 -0
  988. package/dist/shared/sceneEnvelope.js.map +1 -0
  989. package/dist/shared/sourceLine.d.ts +10 -0
  990. package/dist/shared/sourceLine.d.ts.map +1 -0
  991. package/dist/shared/sourceLine.js +37 -0
  992. package/dist/shared/sourceLine.js.map +1 -0
  993. package/dist/shared/writeParts.d.ts +61 -0
  994. package/dist/shared/writeParts.d.ts.map +1 -0
  995. package/dist/shared/writeParts.js +79 -0
  996. package/dist/shared/writeParts.js.map +1 -0
  997. package/dist/triggers/help-lookup.d.ts +41 -5
  998. package/dist/triggers/help-lookup.d.ts.map +1 -1
  999. package/dist/triggers/help-lookup.js +100 -51
  1000. package/dist/triggers/help-lookup.js.map +1 -1
  1001. package/dist/triggers/index.js +1 -1
  1002. package/dist/triggers/routeSpec.d.ts +66 -0
  1003. package/dist/triggers/routeSpec.d.ts.map +1 -0
  1004. package/dist/triggers/routeSpec.js +21 -0
  1005. package/dist/triggers/routeSpec.js.map +1 -0
  1006. package/dist/triggers/routes.generated.d.ts +17 -0
  1007. package/dist/triggers/routes.generated.d.ts.map +1 -0
  1008. package/dist/triggers/routes.generated.js +519 -0
  1009. package/dist/triggers/routes.generated.js.map +1 -0
  1010. package/dist/triggers/routing.d.ts +17 -38
  1011. package/dist/triggers/routing.d.ts.map +1 -1
  1012. package/dist/triggers/routing.js +13 -527
  1013. package/dist/triggers/routing.js.map +1 -1
  1014. package/dist/triggers/scene-01-home.js +9 -9
  1015. package/dist/triggers/scene-01-home.js.map +1 -1
  1016. package/dist/triggers/scene-02-diet.js +62 -62
  1017. package/dist/triggers/scene-02-diet.js.map +1 -1
  1018. package/dist/triggers/scene-03-weight.js +54 -54
  1019. package/dist/triggers/scene-03-weight.js.map +1 -1
  1020. package/dist/triggers/scene-04-exercise.js +33 -33
  1021. package/dist/triggers/scene-04-exercise.js.map +1 -1
  1022. package/dist/triggers/scene-05-workout.js +32 -32
  1023. package/dist/triggers/scene-05-workout.js.map +1 -1
  1024. package/dist/triggers/scene-06-goal.d.ts +1 -1
  1025. package/dist/triggers/scene-06-goal.d.ts.map +1 -1
  1026. package/dist/triggers/scene-06-goal.js +25 -24
  1027. package/dist/triggers/scene-06-goal.js.map +1 -1
  1028. package/dist/triggers/scene-07-profile.js +4 -4
  1029. package/dist/triggers/scene-07-profile.js.map +1 -1
  1030. package/dist/triggers/scene-08-body.js +10 -10
  1031. package/dist/triggers/scene-08-body.js.map +1 -1
  1032. package/dist/triggers/scene-09-photo.js +10 -10
  1033. package/dist/triggers/scene-09-photo.js.map +1 -1
  1034. package/dist/triggers/scene-10-analysis.js +176 -176
  1035. package/dist/triggers/scene-10-analysis.js.map +1 -1
  1036. package/dist/triggers/wake-assets.d.ts +47 -0
  1037. package/dist/triggers/wake-assets.d.ts.map +1 -0
  1038. package/dist/triggers/wake-assets.js +4725 -0
  1039. package/dist/triggers/wake-assets.js.map +1 -0
  1040. package/dist/weight/commands.d.ts +21 -0
  1041. package/dist/weight/commands.d.ts.map +1 -0
  1042. package/dist/weight/commands.js +18 -0
  1043. package/dist/weight/commands.js.map +1 -0
  1044. package/dist/weight/compare.d.ts +60 -0
  1045. package/dist/weight/compare.d.ts.map +1 -0
  1046. package/dist/weight/compare.js +570 -0
  1047. package/dist/weight/compare.js.map +1 -0
  1048. package/dist/weight/edit.d.ts +13 -0
  1049. package/dist/weight/edit.d.ts.map +1 -0
  1050. package/dist/weight/edit.js +87 -0
  1051. package/dist/weight/edit.js.map +1 -0
  1052. package/dist/weight/fieldLabels.d.ts +5 -0
  1053. package/dist/weight/fieldLabels.d.ts.map +1 -0
  1054. package/dist/weight/fieldLabels.js +23 -0
  1055. package/dist/weight/fieldLabels.js.map +1 -0
  1056. package/dist/weight/figures.d.ts +87 -0
  1057. package/dist/weight/figures.d.ts.map +1 -0
  1058. package/dist/weight/figures.js +219 -0
  1059. package/dist/weight/figures.js.map +1 -0
  1060. package/dist/weight/history.d.ts +85 -0
  1061. package/dist/weight/history.d.ts.map +1 -0
  1062. package/dist/weight/history.js +771 -0
  1063. package/dist/weight/history.js.map +1 -0
  1064. package/dist/weight/index.d.ts +27 -0
  1065. package/dist/weight/index.d.ts.map +1 -0
  1066. package/dist/weight/index.js +23 -0
  1067. package/dist/weight/index.js.map +1 -0
  1068. package/dist/weight/log.d.ts +40 -0
  1069. package/dist/weight/log.d.ts.map +1 -0
  1070. package/dist/weight/log.js +355 -0
  1071. package/dist/weight/log.js.map +1 -0
  1072. package/dist/weight/logReceipt.d.ts +28 -0
  1073. package/dist/weight/logReceipt.d.ts.map +1 -0
  1074. package/dist/weight/logReceipt.js +259 -0
  1075. package/dist/weight/logReceipt.js.map +1 -0
  1076. package/dist/weight/plate.d.ts +77 -0
  1077. package/dist/weight/plate.d.ts.map +1 -0
  1078. package/dist/weight/plate.js +60 -0
  1079. package/dist/weight/plate.js.map +1 -0
  1080. package/dist/weight/plateDocs.d.ts +83 -0
  1081. package/dist/weight/plateDocs.d.ts.map +1 -0
  1082. package/dist/weight/plateDocs.js +179 -0
  1083. package/dist/weight/plateDocs.js.map +1 -0
  1084. package/dist/weight/receipt.d.ts +23 -0
  1085. package/dist/weight/receipt.d.ts.map +1 -0
  1086. package/dist/weight/receipt.js +178 -0
  1087. package/dist/weight/receipt.js.map +1 -0
  1088. package/dist/weight/records.d.ts +109 -0
  1089. package/dist/weight/records.d.ts.map +1 -0
  1090. package/dist/weight/records.js +210 -0
  1091. package/dist/weight/records.js.map +1 -0
  1092. package/dist/weight/review.d.ts +114 -0
  1093. package/dist/weight/review.d.ts.map +1 -0
  1094. package/dist/weight/review.js +651 -0
  1095. package/dist/weight/review.js.map +1 -0
  1096. package/dist/weight/routes.d.ts +7 -0
  1097. package/dist/weight/routes.d.ts.map +1 -0
  1098. package/dist/weight/routes.js +68 -0
  1099. package/dist/weight/routes.js.map +1 -0
  1100. package/dist/weight/volatility.d.ts +78 -0
  1101. package/dist/weight/volatility.d.ts.map +1 -0
  1102. package/dist/weight/volatility.js +203 -0
  1103. package/dist/weight/volatility.js.map +1 -0
  1104. package/dist/weight/volatilityDoc.d.ts +10 -0
  1105. package/dist/weight/volatilityDoc.d.ts.map +1 -0
  1106. package/dist/weight/volatilityDoc.js +395 -0
  1107. package/dist/weight/volatilityDoc.js.map +1 -0
  1108. package/dist/weight/weightCompare.d.ts +70 -0
  1109. package/dist/weight/weightCompare.d.ts.map +1 -0
  1110. package/dist/weight/weightCompare.js +221 -0
  1111. package/dist/weight/weightCompare.js.map +1 -0
  1112. package/dist/weight/weightCompare2.d.ts +66 -0
  1113. package/dist/weight/weightCompare2.d.ts.map +1 -0
  1114. package/dist/weight/weightCompare2.js +218 -0
  1115. package/dist/weight/weightCompare2.js.map +1 -0
  1116. package/dist/weight/weightCompare3.d.ts +18 -0
  1117. package/dist/weight/weightCompare3.d.ts.map +1 -0
  1118. package/dist/weight/weightCompare3.js +222 -0
  1119. package/dist/weight/weightCompare3.js.map +1 -0
  1120. package/dist/weight/weightUi.d.ts +114 -0
  1121. package/dist/weight/weightUi.d.ts.map +1 -0
  1122. package/dist/weight/weightUi.js +256 -0
  1123. package/dist/weight/weightUi.js.map +1 -0
  1124. package/dist/workout/commands.d.ts +29 -0
  1125. package/dist/workout/commands.d.ts.map +1 -0
  1126. package/dist/workout/commands.js +35 -0
  1127. package/dist/workout/commands.js.map +1 -0
  1128. package/dist/workout/contraindication.d.ts +11 -0
  1129. package/dist/workout/contraindication.d.ts.map +1 -0
  1130. package/dist/workout/contraindication.js +11 -0
  1131. package/dist/workout/contraindication.js.map +1 -0
  1132. package/dist/workout/dayPhrase.d.ts +13 -0
  1133. package/dist/workout/dayPhrase.d.ts.map +1 -0
  1134. package/dist/workout/dayPhrase.js +15 -0
  1135. package/dist/workout/dayPhrase.js.map +1 -0
  1136. package/dist/workout/fieldLabels.d.ts +5 -0
  1137. package/dist/workout/fieldLabels.d.ts.map +1 -0
  1138. package/dist/workout/fieldLabels.js +45 -0
  1139. package/dist/workout/fieldLabels.js.map +1 -0
  1140. package/dist/workout/index.d.ts +30 -0
  1141. package/dist/workout/index.d.ts.map +1 -0
  1142. package/dist/workout/index.js +34 -0
  1143. package/dist/workout/index.js.map +1 -0
  1144. package/dist/workout/land.d.ts +45 -0
  1145. package/dist/workout/land.d.ts.map +1 -0
  1146. package/dist/workout/land.js +280 -0
  1147. package/dist/workout/land.js.map +1 -0
  1148. package/dist/workout/landBatch.d.ts +60 -0
  1149. package/dist/workout/landBatch.d.ts.map +1 -0
  1150. package/dist/workout/landBatch.js +225 -0
  1151. package/dist/workout/landBatch.js.map +1 -0
  1152. package/dist/workout/landBatchPages.d.ts +31 -0
  1153. package/dist/workout/landBatchPages.d.ts.map +1 -0
  1154. package/dist/workout/landBatchPages.js +132 -0
  1155. package/dist/workout/landBatchPages.js.map +1 -0
  1156. package/dist/workout/landPages.d.ts +41 -0
  1157. package/dist/workout/landPages.d.ts.map +1 -0
  1158. package/dist/workout/landPages.js +153 -0
  1159. package/dist/workout/landPages.js.map +1 -0
  1160. package/dist/workout/landRunner.d.ts +42 -0
  1161. package/dist/workout/landRunner.d.ts.map +1 -0
  1162. package/dist/workout/landRunner.js +155 -0
  1163. package/dist/workout/landRunner.js.map +1 -0
  1164. package/dist/workout/movementType.d.ts +14 -0
  1165. package/dist/workout/movementType.d.ts.map +1 -0
  1166. package/dist/workout/movementType.js +16 -0
  1167. package/dist/workout/movementType.js.map +1 -0
  1168. package/dist/workout/plan.d.ts +21 -0
  1169. package/dist/workout/plan.d.ts.map +1 -0
  1170. package/dist/workout/plan.js +44 -0
  1171. package/dist/workout/plan.js.map +1 -0
  1172. package/dist/workout/planStore.d.ts +157 -0
  1173. package/dist/workout/planStore.d.ts.map +1 -0
  1174. package/dist/workout/planStore.js +282 -0
  1175. package/dist/workout/planStore.js.map +1 -0
  1176. package/dist/workout/precheckPrompt.d.ts +7 -0
  1177. package/dist/workout/precheckPrompt.d.ts.map +1 -0
  1178. package/dist/workout/precheckPrompt.js +35 -0
  1179. package/dist/workout/precheckPrompt.js.map +1 -0
  1180. package/dist/workout/progress.d.ts +12 -0
  1181. package/dist/workout/progress.d.ts.map +1 -0
  1182. package/dist/workout/progress.js +16 -0
  1183. package/dist/workout/progress.js.map +1 -0
  1184. package/dist/workout/receipt.d.ts +15 -0
  1185. package/dist/workout/receipt.d.ts.map +1 -0
  1186. package/dist/workout/receipt.js +128 -0
  1187. package/dist/workout/receipt.js.map +1 -0
  1188. package/dist/workout/review.d.ts +12 -0
  1189. package/dist/workout/review.d.ts.map +1 -0
  1190. package/dist/workout/review.js +15 -0
  1191. package/dist/workout/review.js.map +1 -0
  1192. package/dist/workout/routes.d.ts +13 -0
  1193. package/dist/workout/routes.d.ts.map +1 -0
  1194. package/dist/workout/routes.js +49 -0
  1195. package/dist/workout/routes.js.map +1 -0
  1196. package/dist/workout/wizard.d.ts +14 -0
  1197. package/dist/workout/wizard.d.ts.map +1 -0
  1198. package/dist/workout/wizard.js +20 -0
  1199. package/dist/workout/wizard.js.map +1 -0
  1200. package/dist/workout/write.d.ts +78 -0
  1201. package/dist/workout/write.d.ts.map +1 -0
  1202. package/dist/workout/write.js +607 -0
  1203. package/dist/workout/write.js.map +1 -0
  1204. package/dist/workout/xunjiBackfill.d.ts +36 -0
  1205. package/dist/workout/xunjiBackfill.d.ts.map +1 -0
  1206. package/dist/workout/xunjiBackfill.js +198 -0
  1207. package/dist/workout/xunjiBackfill.js.map +1 -0
  1208. package/dist/workout/xunjiPush.d.ts +33 -0
  1209. package/dist/workout/xunjiPush.d.ts.map +1 -0
  1210. package/dist/workout/xunjiPush.js +236 -0
  1211. package/dist/workout/xunjiPush.js.map +1 -0
  1212. package/dist/workout/xunjiRunner.d.ts +29 -0
  1213. package/dist/workout/xunjiRunner.d.ts.map +1 -0
  1214. package/dist/workout/xunjiRunner.js +110 -0
  1215. package/dist/workout/xunjiRunner.js.map +1 -0
  1216. package/dist/xunji/backfill.d.ts +63 -0
  1217. package/dist/xunji/backfill.d.ts.map +1 -0
  1218. package/dist/xunji/backfill.js +150 -0
  1219. package/dist/xunji/backfill.js.map +1 -0
  1220. package/dist/xunji/catalog.d.ts +53 -0
  1221. package/dist/xunji/catalog.d.ts.map +1 -0
  1222. package/dist/xunji/catalog.js +126 -0
  1223. package/dist/xunji/catalog.js.map +1 -0
  1224. package/dist/xunji/cli.d.ts +3 -0
  1225. package/dist/xunji/cli.d.ts.map +1 -0
  1226. package/dist/xunji/cli.js +15 -0
  1227. package/dist/xunji/cli.js.map +1 -0
  1228. package/dist/xunji/exitMap.d.ts +37 -0
  1229. package/dist/xunji/exitMap.d.ts.map +1 -0
  1230. package/dist/xunji/exitMap.js +42 -0
  1231. package/dist/xunji/exitMap.js.map +1 -0
  1232. package/dist/xunji/fetch.d.ts +77 -0
  1233. package/dist/xunji/fetch.d.ts.map +1 -0
  1234. package/dist/xunji/fetch.js +160 -0
  1235. package/dist/xunji/fetch.js.map +1 -0
  1236. package/dist/xunji/index.d.ts +21 -0
  1237. package/dist/xunji/index.d.ts.map +1 -0
  1238. package/dist/xunji/index.js +18 -0
  1239. package/dist/xunji/index.js.map +1 -0
  1240. package/dist/xunji/key.d.ts +77 -0
  1241. package/dist/xunji/key.d.ts.map +1 -0
  1242. package/dist/xunji/key.js +160 -0
  1243. package/dist/xunji/key.js.map +1 -0
  1244. package/dist/xunji/overlay-plan.d.ts +79 -0
  1245. package/dist/xunji/overlay-plan.d.ts.map +1 -0
  1246. package/dist/xunji/overlay-plan.js +145 -0
  1247. package/dist/xunji/overlay-plan.js.map +1 -0
  1248. package/dist/xunji/planSource.d.ts +40 -0
  1249. package/dist/xunji/planSource.d.ts.map +1 -0
  1250. package/dist/xunji/planSource.js +78 -0
  1251. package/dist/xunji/planSource.js.map +1 -0
  1252. package/dist/xunji/push.d.ts +55 -0
  1253. package/dist/xunji/push.d.ts.map +1 -0
  1254. package/dist/xunji/push.js +69 -0
  1255. package/dist/xunji/push.js.map +1 -0
  1256. package/dist/xunji/rateLimit.d.ts +44 -0
  1257. package/dist/xunji/rateLimit.d.ts.map +1 -0
  1258. package/dist/xunji/rateLimit.js +99 -0
  1259. package/dist/xunji/rateLimit.js.map +1 -0
  1260. package/dist/xunji/request.d.ts +48 -0
  1261. package/dist/xunji/request.d.ts.map +1 -0
  1262. package/dist/xunji/request.js +60 -0
  1263. package/dist/xunji/request.js.map +1 -0
  1264. package/dist/xunji/retry.d.ts +50 -0
  1265. package/dist/xunji/retry.d.ts.map +1 -0
  1266. package/dist/xunji/retry.js +106 -0
  1267. package/dist/xunji/retry.js.map +1 -0
  1268. package/dist/xunji/rows.d.ts +32 -0
  1269. package/dist/xunji/rows.d.ts.map +1 -0
  1270. package/dist/xunji/rows.js +74 -0
  1271. package/dist/xunji/rows.js.map +1 -0
  1272. package/dist/xunji/run-sync.d.ts +106 -0
  1273. package/dist/xunji/run-sync.d.ts.map +1 -0
  1274. package/dist/xunji/run-sync.js +223 -0
  1275. package/dist/xunji/run-sync.js.map +1 -0
  1276. package/dist/xunji/run.d.ts +56 -0
  1277. package/dist/xunji/run.d.ts.map +1 -0
  1278. package/dist/xunji/run.js +300 -0
  1279. package/dist/xunji/run.js.map +1 -0
  1280. package/dist/xunji/store.d.ts +31 -0
  1281. package/dist/xunji/store.d.ts.map +1 -0
  1282. package/dist/xunji/store.js +60 -0
  1283. package/dist/xunji/store.js.map +1 -0
  1284. package/dist/xunji/subcommands.d.ts +64 -0
  1285. package/dist/xunji/subcommands.d.ts.map +1 -0
  1286. package/dist/xunji/subcommands.js +203 -0
  1287. package/dist/xunji/subcommands.js.map +1 -0
  1288. package/dist/xunji/upsert.d.ts +61 -0
  1289. package/dist/xunji/upsert.d.ts.map +1 -0
  1290. package/dist/xunji/upsert.js +100 -0
  1291. package/dist/xunji/upsert.js.map +1 -0
  1292. package/package.json +7 -3
  1293. package/src/xunji/data//350/256/255/350/256/260/345/256/230/346/226/271/345/212/250/344/275/234.json +1099 -0
  1294. package/templates/help.html +1 -1
  1295. package/workflows/08-/350/272/253/344/275/223/347/273/206/350/212/202.md +60 -0
  1296. package/workflows/09-/350/272/253/346/235/220/347/205/247/347/211/207.md +98 -0
  1297. package/dist/render/profilePlate.d.ts +0 -17
  1298. package/dist/render/profilePlate.d.ts.map +0 -1
  1299. package/dist/render/profilePlate.js +0 -18
  1300. package/dist/render/profilePlate.js.map +0 -1
@@ -2,73 +2,73 @@
2
2
  export const SCENE_02_DIET = [
3
3
  { "category": "饮食", "wake_word": "记一餐", "desc": "记一餐", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"鸡胸\",\"calories\":200,\"protein\":35}'", "text": "请你加载技能 卡路里,执行唤醒词「记一餐」。\n\n我刚吃了一顿,帮我记录。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n克数(选填,默认按食品库每 100g):____\n\n⚠️ 同餐多食物(用「和/、/同时/一起」连接)必须合并为 1 个回执:全部食物确认后一次调用 --live-diet-batch-meal(issue #158),禁止逐个 --live-diet-add。" }, "fill_hints": [], "variants": [], "key": "diet_add_meal", "name": "记一餐", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"鸡胸\",\"calories\":200,\"protein\":35}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「记一餐」。\n\n我刚吃了一顿,帮我记录。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n克数(选填,默认按食品库每 100g):____\n\n⚠️ 同餐多食物(用「和/、/同时/一起」连接)必须合并为 1 个回执:全部食物确认后一次调用 --live-diet-batch-meal(issue #158),禁止逐个 --live-diet-add。", "user_intent": "记录刚吃的一餐食物与营养", "data_fields": ["food_name", "grams", "calories", "protein", "carbs", "fat", "meal", "time"], "depends_on_external": false, "order": 0 },
4
4
  { "category": "饮食", "wake_word": "记一餐(含备注)", "desc": "记一餐(含备注)", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"鸡胸\",\"calories\":200,\"protein\":35,\"note\":\"加了辣酱\"}'", "text": "请你加载技能 卡路里,执行唤醒词「记一餐(含备注)」。\n\n我刚吃了一顿,要连同备注一起记录(如「加了辣酱」「食堂打的」)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n克数(选填,默认按食品库每 100g):____\n备注:____" }, "fill_hints": [], "variants": [], "key": "diet_add_meal_note", "name": "记一餐(含备注)", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"鸡胸\",\"calories\":200,\"protein\":35,\"note\":\"加了辣酱\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「记一餐(含备注)」。\n\n我刚吃了一顿,要连同备注一起记录(如「加了辣酱」「食堂打的」)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n克数(选填,默认按食品库每 100g):____\n备注:____", "user_intent": "记录一餐并附上备注", "data_fields": ["food_name", "grams", "calories", "protein", "carbs", "fat", "meal", "time", "note"], "depends_on_external": false, "order": 1 },
5
- { "category": "饮食", "wake_word": "补记饮食", "desc": "补记饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"米饭\",\"calories\":500,\"protein\":10,\"date\":\"2026-09-06\",\"time\":\"12:30:00\"}'", "text": "请你加载技能 卡路里,执行唤醒词「补记饮食」。\n\n我要补录之前某天的饮食(不是现在吃的)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n日期(YYYY-MM-DD):____\n时间(选填):____\n克数(选填,默认按食品库每 100g):____" }, "fill_hints": [], "variants": [], "key": "diet_backfill", "name": "补记饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"米饭\",\"calories\":500,\"protein\":10,\"date\":\"2026-09-06\",\"time\":\"12:30:00\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「补记饮食」。\n\n我要补录之前某天的饮食(不是现在吃的)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n日期(YYYY-MM-DD):____\n时间(选填):____\n克数(选填,默认按食品库每 100g):____", "user_intent": "补录之前某天的饮食", "data_fields": ["food_name", "grams", "calories", "protein", "date", "time", "meal"], "depends_on_external": false, "order": 2 },
6
- { "category": "饮食", "wake_word": "批量补记饮食", "desc": "批量补记饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.batch --params '{\"items\":[{\"foodName\":\"粥\",\"calories\":150,\"protein\":3,\"date\":\"2026-09-06\"}]}'", "text": "请你加载技能 卡路里,执行唤醒词「批量补记饮食」。\n\n我要一次补录多餐(不同日期/不同餐别),一行一餐地说。写之前先给我看整理好的清单,确认无误再写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n每行一餐(日期/时间/食物/克数/营养,换行分隔):\n____" }, "fill_hints": [], "variants": [], "key": "diet_backfill_batch", "name": "批量补记饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.batch --params '{\"items\":[{\"foodName\":\"粥\",\"calories\":150,\"protein\":3,\"date\":\"2026-09-06\"}]}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量补记饮食」。\n\n我要一次补录多餐(不同日期/不同餐别),一行一餐地说。写之前先给我看整理好的清单,确认无误再写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n每行一餐(日期/时间/食物/克数/营养,换行分隔):\n____", "user_intent": "一次批量补录多餐饮食", "data_fields": ["date", "time", "food_name", "grams", "calories", "protein", "carbs", "fat"], "depends_on_external": false, "order": 3 },
7
- { "category": "饮食", "wake_word": "拍营养表记一餐", "desc": "拍营养表记一餐", "main_prompt": { "cli": "mmx vision describe <图片> → python scripts/render_nutrition_label.py --ai-json <json> → 确认后 python scripts/calorie_tracker.py add", "text": "请你加载技能 卡路里,执行唤醒词「拍营养表记一餐」。\n\n我刚吃了这个食物,手边有包装。我拍下包装上的营养成分表给你,请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养),我确认后记入今天的饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____" }, "fill_hints": [], "variants": [], "key": "diet_scan_label", "name": "拍营养表记一餐", "subfunction": "记饮食", "output_type": "process", "html_template": "templates/nutrition_label_wizard.html", "data_source": "mmx vision describe <图片> → python scripts/render_nutrition_label.py --ai-json <json> → 确认后 python scripts/calorie_tracker.py add", "prompt_template": "请你加载技能 卡路里,执行唤醒词「拍营养表记一餐」。\n\n我刚吃了这个食物,手边有包装。我拍下包装上的营养成分表给你,请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养),我确认后记入今天的饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____", "user_intent": "拍照识别营养成分表并记录", "data_fields": ["calories", "protein", "carbs", "fat", "sugar", "sodium", "fiber"], "depends_on_external": false, "order": 4 },
8
- { "category": "饮食", "wake_word": "拍营养表补记一餐", "desc": "拍营养表补记一餐", "main_prompt": { "cli": "mmx vision describe <图片> → python scripts/render_nutrition_label.py --ai-json <json> --date <日期> → 确认后 python scripts/calorie_tracker.py add --date <日期>", "text": "请你加载技能 卡路里,执行唤醒词「拍营养表补记一餐」。\n\n我某天吃了这个食物但忘了记,现在手边有包装,拍给你识别。请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养 + 补录日期),我确认后按那天记入饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____\n日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_scan_label_date", "name": "拍营养表补记一餐", "subfunction": "记饮食", "output_type": "process", "html_template": "templates/nutrition_label_wizard.html", "data_source": "mmx vision describe <图片> → python scripts/render_nutrition_label.py --ai-json <json> --date <日期> → 确认后 python scripts/calorie_tracker.py add --date <日期>", "prompt_template": "请你加载技能 卡路里,执行唤醒词「拍营养表补记一餐」。\n\n我某天吃了这个食物但忘了记,现在手边有包装,拍给你识别。请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养 + 补录日期),我确认后按那天记入饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____\n日期(YYYY-MM-DD):____", "user_intent": "拍照识别营养表并补录到指定日期", "data_fields": ["calories", "protein", "carbs", "fat", "date"], "depends_on_external": false, "order": 5 },
5
+ { "category": "饮食", "wake_word": "补记饮食", "desc": "补记饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"米饭\",\"calories\":500,\"protein\":10,\"time\":\"12:30:00\",\"date\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「补记饮食」。\n\n我要补录之前某天的饮食(不是现在吃的)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n日期(YYYY-MM-DD):____\n时间(选填):____\n克数(选填,默认按食品库每 100g):____" }, "fill_hints": [], "variants": [], "key": "diet_backfill", "name": "补记饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.add --params '{\"foodName\":\"米饭\",\"calories\":500,\"protein\":10,\"time\":\"12:30:00\",\"date\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「补记饮食」。\n\n我要补录之前某天的饮食(不是现在吃的)。如果我没说全克数或营养,问我补齐。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____\n日期(YYYY-MM-DD):____\n时间(选填):____\n克数(选填,默认按食品库每 100g):____", "user_intent": "补录之前某天的饮食", "data_fields": ["food_name", "grams", "calories", "protein", "date", "time", "meal"], "depends_on_external": false, "order": 2 },
6
+ { "category": "饮食", "wake_word": "批量补记饮食", "desc": "批量补记饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.batch --params '{\"items\":[{\"foodName\":\"粥\",\"calories\":150,\"protein\":3,\"date\":\"<日期>\"}]}'", "text": "请你加载技能 卡路里,执行唤醒词「批量补记饮食」。\n\n我要一次补录多餐(不同日期/不同餐别),一行一餐地说。写之前先给我看整理好的清单,确认无误再写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n每行一餐(日期/时间/食物/克数/营养,换行分隔):\n____" }, "fill_hints": [], "variants": [], "key": "diet_backfill_batch", "name": "批量补记饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.batch --params '{\"items\":[{\"foodName\":\"粥\",\"calories\":150,\"protein\":3,\"date\":\"<日期>\"}]}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量补记饮食」。\n\n我要一次补录多餐(不同日期/不同餐别),一行一餐地说。写之前先给我看整理好的清单,确认无误再写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n每行一餐(日期/时间/食物/克数/营养,换行分隔):\n____", "user_intent": "一次批量补录多餐饮食", "data_fields": ["date", "time", "food_name", "grams", "calories", "protein", "carbs", "fat"], "depends_on_external": false, "order": 3 },
7
+ { "category": "饮食", "wake_word": "拍营养表记一餐", "desc": "拍营养表记一餐", "main_prompt": { "cli": "拍包装上的营养成分表照片,识别出热量与蛋白/碳水/脂肪,确认后记入今天的一餐", "text": "请你加载技能 卡路里,执行唤醒词「拍营养表记一餐」。\n\n我刚吃了这个食物,手边有包装。我拍下包装上的营养成分表给你,请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养),我确认后记入今天的饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____" }, "fill_hints": [], "variants": [], "key": "diet_scan_label", "name": "拍营养表记一餐", "subfunction": "记饮食", "output_type": "process", "html_template": "templates/nutrition_label_wizard.html", "data_source": "拍包装上的营养成分表照片,识别出热量与蛋白/碳水/脂肪,确认后记入今天的一餐", "prompt_template": "请你加载技能 卡路里,执行唤醒词「拍营养表记一餐」。\n\n我刚吃了这个食物,手边有包装。我拍下包装上的营养成分表给你,请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养),我确认后记入今天的饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____", "user_intent": "拍照识别营养成分表并记录", "data_fields": ["calories", "protein", "carbs", "fat", "sugar", "sodium", "fiber"], "depends_on_external": false, "order": 4 },
8
+ { "category": "饮食", "wake_word": "拍营养表补记一餐", "desc": "拍营养表补记一餐", "main_prompt": { "cli": "拍包装上的营养成分表照片,识别后按指定日期补记一餐", "text": "请你加载技能 卡路里,执行唤醒词「拍营养表补记一餐」。\n\n我某天吃了这个食物但忘了记,现在手边有包装,拍给你识别。请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养 + 补录日期),我确认后按那天记入饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____\n日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_scan_label_date", "name": "拍营养表补记一餐", "subfunction": "记饮食", "output_type": "process", "html_template": "templates/nutrition_label_wizard.html", "data_source": "拍包装上的营养成分表照片,识别后按指定日期补记一餐", "prompt_template": "请你加载技能 卡路里,执行唤醒词「拍营养表补记一餐」。\n\n我某天吃了这个食物但忘了记,现在手边有包装,拍给你识别。请你识别出热量/蛋白/碳水/脂肪等字段,给我看识别结果(照片 + 识别出的营养 + 补录日期),我确认后按那天记入饮食。识别不确定的地方标注一下。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n营养表图片路径:____\n日期(YYYY-MM-DD):____", "user_intent": "拍照识别营养表并补录到指定日期", "data_fields": ["calories", "protein", "carbs", "fat", "date"], "depends_on_external": false, "order": 5 },
9
9
  { "category": "饮食", "wake_word": "记喝水", "desc": "记喝水", "main_prompt": { "cli": "calorie-cmd-read calorie.water.log --params '{\"ml\":300}'", "text": "请你加载技能 卡路里,执行唤醒词「记喝水」。\n\n我喝了水,帮我记录。如果我说「喝了几杯」,请按一杯约 250ml 折算成总量;如果我只说了杯子大小,先问我确认。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n喝水量(ml,或「几杯」):____" }, "fill_hints": ["喝水量(ml,或「几杯」): "], "variants": [], "key": "diet_log_water", "name": "记喝水", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.water.log --params '{\"ml\":300}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「记喝水」。\n\n我喝了水,帮我记录。如果我说「喝了几杯」,请按一杯约 250ml 折算成总量;如果我只说了杯子大小,先问我确认。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n喝水量(ml,或「几杯」):____", "user_intent": "记录一次饮水(含多杯解析)", "data_fields": ["ml", "today_total_ml", "water_goal_ml", "remaining_ml"], "depends_on_external": false, "order": 6 },
10
- { "category": "饮食", "wake_word": "复制昨日饮食", "desc": "复制昨日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.copy --params '{\"from\":\"2026-09-06\"}'", "text": "请你加载技能 卡路里,执行唤醒词「复制昨日饮食」。\n\n我要把昨天(或指定某天)吃的东西原样复制到今天(或指定某天),省得重新记。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n来源日期(选填,默认昨天):____\n目标日期(选填,默认今天):____" }, "fill_hints": [], "variants": [], "key": "diet_copy_yesterday", "name": "复制昨日饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.copy --params '{\"from\":\"2026-09-06\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「复制昨日饮食」。\n\n我要把昨天(或指定某天)吃的东西原样复制到今天(或指定某天),省得重新记。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n来源日期(选填,默认昨天):____\n目标日期(选填,默认今天):____", "user_intent": "一键把昨天的饮食复制到今天", "data_fields": ["copied", "skipped", "from_date", "to_date"], "depends_on_external": false, "order": 7 },
10
+ { "category": "饮食", "wake_word": "复制昨日饮食", "desc": "复制昨日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.copy --params '{\"from\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「复制昨日饮食」。\n\n我要把昨天(或指定某天)吃的东西原样复制到今天(或指定某天),省得重新记。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n来源日期(选填,默认昨天):____\n目标日期(选填,默认今天):____" }, "fill_hints": [], "variants": [], "key": "diet_copy_yesterday", "name": "复制昨日饮食", "subfunction": "记饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.copy --params '{\"from\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「复制昨日饮食」。\n\n我要把昨天(或指定某天)吃的东西原样复制到今天(或指定某天),省得重新记。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n来源日期(选填,默认昨天):____\n目标日期(选填,默认今天):____", "user_intent": "一键把昨天的饮食复制到今天", "data_fields": ["copied", "skipped", "from_date", "to_date"], "depends_on_external": false, "order": 7 },
11
11
  { "category": "饮食", "wake_word": "改饮食记录", "desc": "改饮食记录", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.update --params '{\"id\":1,\"grams\":150}'", "text": "请你加载技能 卡路里,执行唤醒词「改饮食记录」。\n\n我要改某条饮食记录。如果我没说清是哪条,请先列出最近的记录让我选。改之前先给我看这条记录的当前内容。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n要改的记录(如「最近一条」或日期+食物):____\n要改的字段(食物/克数/热量/蛋白/碳水/脂肪/日期/时间/备注):____\n新值:____" }, "fill_hints": [], "variants": [], "key": "diet_update_record", "name": "改饮食记录", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.update --params '{\"id\":1,\"grams\":150}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「改饮食记录」。\n\n我要改某条饮食记录。如果我没说清是哪条,请先列出最近的记录让我选。改之前先给我看这条记录的当前内容。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n要改的记录(如「最近一条」或日期+食物):____\n要改的字段(食物/克数/热量/蛋白/碳水/脂肪/日期/时间/备注):____\n新值:____", "user_intent": "修改某条饮食记录的字段", "data_fields": ["food_name", "grams", "calories", "protein", "carbs", "fat", "note"], "depends_on_external": false, "order": 0 },
12
- { "category": "饮食", "wake_word": "改某日饮食", "desc": "改某日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.update-by-date --params '{\"date\":\"2026-09-06\",\"note\":\"食堂\"}'", "text": "请你加载技能 卡路里,执行唤醒词「改某日饮食」。\n\n我要改某一天的全部饮食记录(如那天的时间/克数/备注都记错了)。改之前先告诉我那天有几条记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____\n要改的字段与新值(如 备注=修正):____" }, "fill_hints": [], "variants": [], "key": "diet_update_by_date", "name": "改某日饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.update-by-date --params '{\"date\":\"2026-09-06\",\"note\":\"食堂\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「改某日饮食」。\n\n我要改某一天的全部饮食记录(如那天的时间/克数/备注都记错了)。改之前先告诉我那天有几条记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____\n要改的字段与新值(如 备注=修正):____", "user_intent": "按日期批量修改当天饮食记录", "data_fields": ["date", "matched", "updated", "changed_fields"], "depends_on_external": false, "order": 1 },
12
+ { "category": "饮食", "wake_word": "改某日饮食", "desc": "改某日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.update-by-date --params '{\"note\":\"食堂\",\"date\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「改某日饮食」。\n\n我要改某一天的全部饮食记录(如那天的时间/克数/备注都记错了)。改之前先告诉我那天有几条记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____\n要改的字段与新值(如 备注=修正):____" }, "fill_hints": [], "variants": [], "key": "diet_update_by_date", "name": "改某日饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.update-by-date --params '{\"note\":\"食堂\",\"date\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「改某日饮食」。\n\n我要改某一天的全部饮食记录(如那天的时间/克数/备注都记错了)。改之前先告诉我那天有几条记录。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____\n要改的字段与新值(如 备注=修正):____", "user_intent": "按日期批量修改当天饮食记录", "data_fields": ["date", "matched", "updated", "changed_fields"], "depends_on_external": false, "order": 1 },
13
13
  { "category": "饮食", "wake_word": "删饮食记录", "desc": "删饮食记录", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove --params '{\"id\":1}'", "text": "请你加载技能 卡路里,执行唤醒词「删饮食记录」。\n\n我要删一条饮食记录。如果我没说清是哪条,请先列出最近的几条让我选。删除前先给我看这条记录的内容,确认无误再删,最后给我确认回执。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n要删的记录(选填,如「最近一条」或日期):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_record", "name": "删饮食记录", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove --params '{\"id\":1}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「删饮食记录」。\n\n我要删一条饮食记录。如果我没说清是哪条,请先列出最近的几条让我选。删除前先给我看这条记录的内容,确认无误再删,最后给我确认回执。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n要删的记录(选填,如「最近一条」或日期):____", "user_intent": "删除一条饮食记录", "data_fields": ["id", "food_name", "calories", "date", "snapshot"], "depends_on_external": false, "order": 2 },
14
- { "category": "饮食", "wake_word": "删一餐", "desc": "删一餐", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-type --params '{\"date\":\"2026-09-06\",\"mealType\":\"早餐\"}'", "text": "请你加载技能 卡路里,执行唤醒词「删一餐」。\n\n我要删某天某一餐的全部记录(如删掉今天的早餐)。如果我没说日期默认今天。删除前告诉我这一餐有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n餐别(早餐/午餐/下午茶/晚餐/夜宵/加餐):____\n日期(选填,默认今天):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_meal", "name": "删一餐", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-type --params '{\"date\":\"2026-09-06\",\"mealType\":\"早餐\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「删一餐」。\n\n我要删某天某一餐的全部记录(如删掉今天的早餐)。如果我没说日期默认今天。删除前告诉我这一餐有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n餐别(早餐/午餐/下午茶/晚餐/夜宵/加餐):____\n日期(选填,默认今天):____", "user_intent": "按餐别删除某天的一餐记录", "data_fields": ["date", "meal", "deleted"], "depends_on_external": false, "order": 3 },
15
- { "category": "饮食", "wake_word": "删某日饮食", "desc": "删某日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-date --params '{\"date\":\"2026-09-06\"}'", "text": "请你加载技能 卡路里,执行唤醒词「删某日饮食」。\n\n我要清空某一天的整日饮食记录。删除前告诉我那天有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_date", "name": "删某日饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-date --params '{\"date\":\"2026-09-06\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「删某日饮食」。\n\n我要清空某一天的整日饮食记录。删除前告诉我那天有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____", "user_intent": "清空某一天的整日饮食记录", "data_fields": ["date", "deleted"], "depends_on_external": false, "order": 4 },
16
- { "category": "饮食", "wake_word": "批量删饮食", "desc": "批量删饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-range --params '{\"start\":\"2026-09-01\",\"end\":\"2026-09-02\"}'", "text": "请你加载技能 卡路里,执行唤醒词「批量删饮食」。\n\n我要按日期范围批量删除饮食记录。删除前告诉我这个范围有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_range", "name": "批量删饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-range --params '{\"start\":\"2026-09-01\",\"end\":\"2026-09-02\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量删饮食」。\n\n我要按日期范围批量删除饮食记录。删除前告诉我这个范围有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "按日期范围批量删除饮食记录", "data_fields": ["start", "end", "deleted"], "depends_on_external": false, "order": 5 },
17
- { "category": "饮食", "wake_word": "看今日饮食", "desc": "看今日饮食", "main_prompt": { "cli": "python scripts/render_today_diet.py --mode nutrition --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日饮食」。\n\n我想看今天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_today", "name": "看今日饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "python scripts/render_today_diet.py --mode nutrition --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日饮食」。\n\n我想看今天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今天按餐别分组的饮食明细", "data_fields": ["meal", "food_name", "grams", "calories", "protein", "carbs", "fat", "goal"], "depends_on_external": false, "order": 0 },
18
- { "category": "饮食", "wake_word": "看昨日饮食", "desc": "看昨日饮食", "main_prompt": { "cli": "python scripts/render_today_diet.py --date <昨天> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看昨日饮食」。\n\n我想看昨天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_yesterday", "name": "看昨日饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "python scripts/render_today_diet.py --date <昨天> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看昨日饮食」。\n\n我想看昨天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看昨天按餐别分组的饮食明细", "data_fields": ["meal", "food_name", "grams", "calories", "protein", "carbs", "fat", "goal"], "depends_on_external": false, "order": 1 },
19
- { "category": "饮食", "wake_word": "看本周饮食", "desc": "看本周饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --week current --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看本周饮食」。\n\n我想看本周(周一到今天)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_this_week", "name": "看本周饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --week current --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本周饮食」。\n\n我想看本周(周一到今天)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周自然周的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 2 },
20
- { "category": "饮食", "wake_word": "看上周饮食", "desc": "看上周饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --week last --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看上周饮食」。\n\n我想看上周(上一个自然周)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_last_week", "name": "看上周饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --week last --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看上周饮食」。\n\n我想看上周(上一个自然周)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看上周自然周的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 3 },
21
- { "category": "饮食", "wake_word": "看本月饮食", "desc": "看本月饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --month current --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看本月饮食」。\n\n我想看本月(自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_this_month", "name": "看本月饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --month current --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本月饮食」。\n\n我想看本月(自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月自然月的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 4 },
22
- { "category": "饮食", "wake_word": "看上月饮食", "desc": "看上月饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --month last --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看上月饮食」。\n\n我想看上月(上一个自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_last_month", "name": "看上月饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --month last --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看上月饮食」。\n\n我想看上月(上一个自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看上月自然月的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 5 },
23
- { "category": "饮食", "wake_word": "看最近 7 天饮食", "desc": "看最近 7 天饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看最近 7 天饮食」。\n\n我想看最近 7 天(滚动窗口)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_7d", "name": "看最近 7 天饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看最近 7 天饮食」。\n\n我想看最近 7 天(滚动窗口)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天滚动窗口的饮食明细", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 6 },
24
- { "category": "饮食", "wake_word": "看最近 30 天饮食", "desc": "看最近 30 天饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看最近 30 天饮食」。\n\n我想看最近 30 天(滚动窗口)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_30d", "name": "看最近 30 天饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看最近 30 天饮食」。\n\n我想看最近 30 天(滚动窗口)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天滚动窗口的饮食汇总", "data_fields": ["date", "calories", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 7 },
25
- { "category": "饮食", "wake_word": "看某段时间饮食", "desc": "看某段时间饮食", "main_prompt": { "cli": "python scripts/render_today_meals.py --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看某段时间饮食」。\n\n我想看自定义日期区间的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_view_range", "name": "看某段时间饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看某段时间饮食」。\n\n我想看自定义日期区间的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义日期区间的饮食明细", "data_fields": ["start", "end", "date", "food_name", "calories", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 8 },
26
- { "category": "饮食", "wake_word": "看今日喝水", "desc": "看今日喝水", "main_prompt": { "cli": "python scripts/render_today_water.py --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日喝水」。\n\n我想看今天的饮水。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_water", "name": "看今日喝水", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_water.html", "data_source": "python scripts/render_today_water.py --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日喝水」。\n\n我想看今天的饮水。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今日饮水总量与目标进度", "data_fields": ["total_ml", "goal_ml", "remaining_ml", "cups"], "depends_on_external": false, "order": 9 },
27
- { "category": "饮食", "wake_word": "看有备注的饮食记录", "desc": "看「有备注」的饮食记录", "main_prompt": { "cli": "python scripts/render_today_meals.py --with-note --days <N> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看有备注的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "diet_view_with_note", "name": "看「有备注」的饮食记录", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "python scripts/render_today_meals.py --with-note --days <N> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看有备注的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "查看带备注的饮食记录", "data_fields": ["date", "meal", "food_name", "grams", "calories", "protein", "note"], "depends_on_external": false, "order": 10 },
28
- { "category": "饮食", "wake_word": "查食品", "desc": "查食品", "main_prompt": { "cli": "python scripts/render_food_search.py --query <关键词>", "text": "请你加载技能 卡路里,执行唤醒词「查食品」。\n\n我想查某食物的营养数据。如果没查到精确的,给我相近的几条。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____" }, "fill_hints": [], "variants": [], "key": "food_search", "name": "查食品", "subfunction": "查食品", "output_type": "result", "html_template": "templates/food_search.html", "data_source": "python scripts/render_food_search.py --query <关键词>", "prompt_template": "请你加载技能 卡路里,执行唤醒词「查食品」。\n\n我想查某食物的营养数据。如果没查到精确的,给我相近的几条。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____", "user_intent": "查询食物的营养数据", "data_fields": ["product_name", "brand", "calories", "protein", "carbs", "fat", "source"], "depends_on_external": false, "order": 0 },
29
- { "category": "饮食", "wake_word": "查食品(按分类)", "desc": "查食品(按分类)", "main_prompt": { "cli": "python scripts/render_food_search.py --category <分类>", "text": "请你加载技能 卡路里,执行唤醒词「查食品(按分类)」。\n\n我想按分类查食品库(如 饮料/主食/蛋白类/水果/零食):列出该分类全部食品 + 营养数据,按分类分组。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n分类名称:____" }, "fill_hints": [], "variants": [], "key": "food_search_category", "name": "查食品(按分类)", "subfunction": "查食品", "output_type": "result", "html_template": "templates/food_search.html", "data_source": "python scripts/render_food_search.py --category <分类>", "prompt_template": "请你加载技能 卡路里,执行唤醒词「查食品(按分类)」。\n\n我想按分类查食品库(如 饮料/主食/蛋白类/水果/零食):列出该分类全部食品 + 营养数据,按分类分组。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n分类名称:____", "user_intent": "按分类浏览食品库", "data_fields": ["category", "product_name", "brand", "calories", "protein"], "depends_on_external": false, "order": 1 },
14
+ { "category": "饮食", "wake_word": "删一餐", "desc": "删一餐", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-type --params '{\"mealType\":\"早餐\",\"date\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「删一餐」。\n\n我要删某天某一餐的全部记录(如删掉今天的早餐)。如果我没说日期默认今天。删除前告诉我这一餐有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n餐别(早餐/午餐/下午茶/晚餐/夜宵/加餐):____\n日期(选填,默认今天):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_meal", "name": "删一餐", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-type --params '{\"mealType\":\"早餐\",\"date\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「删一餐」。\n\n我要删某天某一餐的全部记录(如删掉今天的早餐)。如果我没说日期默认今天。删除前告诉我这一餐有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n餐别(早餐/午餐/下午茶/晚餐/夜宵/加餐):____\n日期(选填,默认今天):____", "user_intent": "按餐别删除某天的一餐记录", "data_fields": ["date", "meal", "deleted"], "depends_on_external": false, "order": 3 },
15
+ { "category": "饮食", "wake_word": "删某日饮食", "desc": "删某日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-date --params '{\"date\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「删某日饮食」。\n\n我要清空某一天的整日饮食记录。删除前告诉我那天有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_date", "name": "删某日饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-date --params '{\"date\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「删某日饮食」。\n\n我要清空某一天的整日饮食记录。删除前告诉我那天有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n日期(YYYY-MM-DD):____", "user_intent": "清空某一天的整日饮食记录", "data_fields": ["date", "deleted"], "depends_on_external": false, "order": 4 },
16
+ { "category": "饮食", "wake_word": "批量删饮食", "desc": "批量删饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.diet.remove-by-range --params '{\"start\":\"<日期>\",\"end\":\"<日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「批量删饮食」。\n\n我要按日期范围批量删除饮食记录。删除前告诉我这个范围有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_delete_by_range", "name": "批量删饮食", "subfunction": "改饮食", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.diet.remove-by-range --params '{\"start\":\"<日期>\",\"end\":\"<日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量删饮食」。\n\n我要按日期范围批量删除饮食记录。删除前告诉我这个范围有几条,确认后删除。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "按日期范围批量删除饮食记录", "data_fields": ["start", "end", "deleted"], "depends_on_external": false, "order": 5 },
17
+ { "category": "饮食", "wake_word": "看今日饮食", "desc": "看今日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.today --params '{\"date\":\"今日\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看今日饮食」。\n\n我想看今天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_today", "name": "看今日饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "calorie-cmd-read calorie.today --params '{\"date\":\"今日\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日饮食」。\n\n我想看今天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今天按餐别分组的饮食明细", "data_fields": ["meal", "food_name", "grams", "calories", "protein", "carbs", "fat", "goal"], "depends_on_external": false, "order": 0 },
18
+ { "category": "饮食", "wake_word": "看昨日饮食", "desc": "看昨日饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"昨日\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看昨日饮食」。\n\n我想看昨天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_yesterday", "name": "看昨日饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"昨日\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看昨日饮食」。\n\n我想看昨天的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看昨天按餐别分组的饮食明细", "data_fields": ["meal", "food_name", "grams", "calories", "protein", "carbs", "fat", "goal"], "depends_on_external": false, "order": 1 },
19
+ { "category": "饮食", "wake_word": "看本周饮食", "desc": "看本周饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"本周\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看本周饮食」。\n\n我想看本周(周一到今天)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_this_week", "name": "看本周饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"本周\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本周饮食」。\n\n我想看本周(周一到今天)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周自然周的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 2 },
20
+ { "category": "饮食", "wake_word": "看上周饮食", "desc": "看上周饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"上周\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看上周饮食」。\n\n我想看上周(上一个自然周)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_last_week", "name": "看上周饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"上周\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看上周饮食」。\n\n我想看上周(上一个自然周)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看上周自然周的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 3 },
21
+ { "category": "饮食", "wake_word": "看本月饮食", "desc": "看本月饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看本月饮食」。\n\n我想看本月(自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_this_month", "name": "看本月饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看本月饮食」。\n\n我想看本月(自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月自然月的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 4 },
22
+ { "category": "饮食", "wake_word": "看上月饮食", "desc": "看上月饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"上月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看上月饮食」。\n\n我想看上月(上一个自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_last_month", "name": "看上月饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"上月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看上月饮食」。\n\n我想看上月(上一个自然月)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看上月自然月的饮食明细与汇总", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 5 },
23
+ { "category": "饮食", "wake_word": "看最近 7 天饮食", "desc": "看最近 7 天饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看最近 7 天饮食」。\n\n我想看最近 7 天(滚动窗口)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_7d", "name": "看最近 7 天饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看最近 7 天饮食」。\n\n我想看最近 7 天(滚动窗口)的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天滚动窗口的饮食明细", "data_fields": ["date", "food_name", "calories", "protein", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 6 },
24
+ { "category": "饮食", "wake_word": "看最近 30 天饮食", "desc": "看最近 30 天饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看最近 30 天饮食」。\n\n我想看最近 30 天(滚动窗口)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_30d", "name": "看最近 30 天饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看最近 30 天饮食」。\n\n我想看最近 30 天(滚动窗口)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天滚动窗口的饮食汇总", "data_fields": ["date", "calories", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 7 },
25
+ { "category": "饮食", "wake_word": "看某段时间饮食", "desc": "看某段时间饮食", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看某段时间饮食」。\n\n我想看自定义日期区间的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_view_range", "name": "看某段时间饮食", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看某段时间饮食」。\n\n我想看自定义日期区间的饮食明细。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义日期区间的饮食明细", "data_fields": ["start", "end", "date", "food_name", "calories", "total_calorie", "avg_calorie"], "depends_on_external": false, "order": 8 },
26
+ { "category": "饮食", "wake_word": "看今日喝水", "desc": "看今日喝水", "main_prompt": { "cli": "calorie-cmd-read calorie.view.today-water --params '{\"date\":\"今日\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看今日喝水」。\n\n我想看今天的饮水。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_view_water", "name": "看今日喝水", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_water.html", "data_source": "calorie-cmd-read calorie.view.today-water --params '{\"date\":\"今日\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日喝水」。\n\n我想看今天的饮水。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今日饮水总量与目标进度", "data_fields": ["total_ml", "goal_ml", "remaining_ml", "cups"], "depends_on_external": false, "order": 9 },
27
+ { "category": "饮食", "wake_word": "看有备注的饮食记录", "desc": "看「有备注」的饮食记录", "main_prompt": { "cli": "看带备注的饮食记录,按时间范围筛选(默认最近 7 天)", "text": "请你加载技能 卡路里,执行唤醒词「看有备注的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "diet_view_with_note", "name": "看「有备注」的饮食记录", "subfunction": "看饮食", "output_type": "result", "html_template": "templates/today_meals.html", "data_source": "看带备注的饮食记录,按时间范围筛选(默认最近 7 天)", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看有备注的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "查看带备注的饮食记录", "data_fields": ["date", "meal", "food_name", "grams", "calories", "protein", "note"], "depends_on_external": false, "order": 10 },
28
+ { "category": "饮食", "wake_word": "查食品", "desc": "查食品", "main_prompt": { "cli": "calorie-cmd-read calorie.view.search --params '{\"keyword\":\"鸡胸\"}'", "text": "请你加载技能 卡路里,执行唤醒词「查食品」。\n\n我想查某食物的营养数据。如果没查到精确的,给我相近的几条。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____" }, "fill_hints": [], "variants": [], "key": "food_search", "name": "查食品", "subfunction": "查食品", "output_type": "result", "html_template": "templates/food_search.html", "data_source": "calorie-cmd-read calorie.view.search --params '{\"keyword\":\"鸡胸\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「查食品」。\n\n我想查某食物的营养数据。如果没查到精确的,给我相近的几条。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食物名称:____", "user_intent": "查询食物的营养数据", "data_fields": ["product_name", "brand", "calories", "protein", "carbs", "fat", "source"], "depends_on_external": false, "order": 0 },
29
+ { "category": "饮食", "wake_word": "查食品(按分类)", "desc": "查食品(按分类)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.library --params '{\"category\":\"蛋白类\"}'", "text": "请你加载技能 卡路里,执行唤醒词「查食品(按分类)」。\n\n我想按分类查食品库(如 饮料/主食/蛋白类/水果/零食):列出该分类全部食品 + 营养数据,按分类分组。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n分类名称:____" }, "fill_hints": [], "variants": [], "key": "food_search_category", "name": "查食品(按分类)", "subfunction": "查食品", "output_type": "result", "html_template": "templates/food_search.html", "data_source": "calorie-cmd-read calorie.view.library --params '{\"category\":\"蛋白类\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「查食品(按分类)」。\n\n我想按分类查食品库(如 饮料/主食/蛋白类/水果/零食):列出该分类全部食品 + 营养数据,按分类分组。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n分类名称:____", "user_intent": "按分类浏览食品库", "data_fields": ["category", "product_name", "brand", "calories", "protein"], "depends_on_external": false, "order": 1 },
30
30
  { "category": "饮食", "wake_word": "存食品", "desc": "存食品", "main_prompt": { "cli": "calorie-cmd-read calorie.product.add --params '{\"productName\":\"鸡胸肉\",\"calories\":165,\"protein\":31,\"fat\":3.6,\"carbohydrates\":0,\"sodium\":70}'", "text": "请你加载技能 卡路里,执行唤醒词「存食品」。\n\n我要把新食品的营养数据存进食品库(每 100g 为基准)。告诉我必填字段:名称/品牌/热量/蛋白/脂肪/饱和脂肪/碳水/糖/纤维/钠/来源。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称:____\n品牌:____\n热量(每 100g):____\n蛋白:____\n脂肪:____\n饱和脂肪(选填):____\n碳水:____\n糖(选填):____\n纤维(选填):____\n钠:____\n来源(选填):____" }, "fill_hints": [], "variants": [], "key": "food_add", "name": "存食品", "subfunction": "查食品", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.product.add --params '{\"productName\":\"鸡胸肉\",\"calories\":165,\"protein\":31,\"fat\":3.6,\"carbohydrates\":0,\"sodium\":70}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「存食品」。\n\n我要把新食品的营养数据存进食品库(每 100g 为基准)。告诉我必填字段:名称/品牌/热量/蛋白/脂肪/饱和脂肪/碳水/糖/纤维/钠/来源。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称:____\n品牌:____\n热量(每 100g):____\n蛋白:____\n脂肪:____\n饱和脂肪(选填):____\n碳水:____\n糖(选填):____\n纤维(选填):____\n钠:____\n来源(选填):____", "user_intent": "把新食品的营养数据存入食品库", "data_fields": ["product_name", "brand", "calories", "protein", "fat", "carbohydrates", "sodium", "source"], "depends_on_external": false, "order": 2 },
31
31
  { "category": "饮食", "wake_word": "改食品", "desc": "改食品", "main_prompt": { "cli": "calorie-cmd-read calorie.product.update --params '{\"id\":1,\"note\":\"新版\"}'", "text": "请你加载技能 卡路里,执行唤醒词「改食品」。\n\n我要改食品库里某条食品的营养数据。如果我没说清是哪条,先列出相近的几条让我选。改前给我看原值。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称或编号:____\n要改的字段(热量/蛋白/脂肪/碳水/糖/钠/品牌等):____\n新值:____" }, "fill_hints": [], "variants": [], "key": "food_update", "name": "改食品", "subfunction": "查食品", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.product.update --params '{\"id\":1,\"note\":\"新版\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「改食品」。\n\n我要改食品库里某条食品的营养数据。如果我没说清是哪条,先列出相近的几条让我选。改前给我看原值。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称或编号:____\n要改的字段(热量/蛋白/脂肪/碳水/糖/钠/品牌等):____\n新值:____", "user_intent": "修改食品库中某条食品的数据", "data_fields": ["product_name", "brand", "calories", "protein", "fat", "carbohydrates", "sodium"], "depends_on_external": false, "order": 3 },
32
32
  { "category": "饮食", "wake_word": "下架食品", "desc": "下架食品", "main_prompt": { "cli": "calorie-cmd-read calorie.product.deprecate --params '{\"id\":1}'", "text": "请你加载技能 卡路里,执行唤醒词「下架食品」。\n\n我要把食品库里的某条食品下架(标废弃,以后查询/搜索/导入去重都不再出现)。先确认是哪条,下架后给我回执并提示「已下架」。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称或编号:____" }, "fill_hints": [], "variants": [], "key": "food_deprecate", "name": "下架食品", "subfunction": "查食品", "output_type": "receipt", "html_template": "templates/crud_receipt.html", "data_source": "calorie-cmd-read calorie.product.deprecate --params '{\"id\":1}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「下架食品」。\n\n我要把食品库里的某条食品下架(标废弃,以后查询/搜索/导入去重都不再出现)。先确认是哪条,下架后给我回执并提示「已下架」。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n食品名称或编号:____", "user_intent": "下架食品库中的某条食品", "data_fields": ["id", "product_name", "is_deprecated"], "depends_on_external": false, "order": 4 },
33
- { "category": "饮食", "wake_word": "看食品库(去重)", "desc": "看食品库(去重)", "main_prompt": { "cli": "python scripts/render_dedupe_report.py", "text": "请你加载技能 卡路里,执行唤醒词「看食品库(去重)」。\n\n我想检查食品库有没有重复的食品(同名同品牌多条)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "food_dedupe", "name": "看食品库(去重)", "subfunction": "查食品", "output_type": "result", "html_template": "templates/dedupe_report.html", "data_source": "python scripts/render_dedupe_report.py", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看食品库(去重)」。\n\n我想检查食品库有没有重复的食品(同名同品牌多条)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "检查食品库中的重复条目", "data_fields": ["product_name", "brand", "count", "ids"], "depends_on_external": false, "order": 5 },
34
- { "category": "饮食", "wake_word": "批量导入食品", "desc": "批量导入食品", "main_prompt": { "cli": "python scripts/render_batch_import.py --input <preview.json> 确认后 python scripts/batch_import.py import <file.jsonl>", "text": "请你加载技能 卡路里,执行唤醒词「批量导入食品」。\n\n我有一个食品数据文件(每行一条:名称/热量/蛋白/脂肪/碳水/钠/来源等)要批量导入食品库。先给我看导入预览(导入条数/跳过条数/失败明细),我确认后再真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____" }, "fill_hints": [], "variants": [], "key": "food_batch_import", "name": "批量导入食品", "subfunction": "查食品", "output_type": "process", "html_template": "templates/batch_import_preview.html", "data_source": "python scripts/render_batch_import.py --input <preview.json> 确认后 python scripts/batch_import.py import <file.jsonl>", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量导入食品」。\n\n我有一个食品数据文件(每行一条:名称/热量/蛋白/脂肪/碳水/钠/来源等)要批量导入食品库。先给我看导入预览(导入条数/跳过条数/失败明细),我确认后再真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____", "user_intent": "批量导入食品数据到食品库", "data_fields": ["product_name", "calories", "protein", "fat", "carbohydrates", "sodium", "source"], "depends_on_external": false, "order": 6 },
35
- { "category": "饮食", "wake_word": "校验批量导入", "desc": "校验批量导入", "main_prompt": { "cli": "python scripts/batch_import.py validate <file.jsonl> --json-output <out.json> python scripts/render_batch_import.py --input <out.json>", "text": "请你加载技能 卡路里,执行唤醒词「校验批量导入」。\n\n我有一个食品数据文件(每行一条),只想先校验能不能导入,不真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____" }, "fill_hints": [], "variants": [], "key": "food_batch_validate", "name": "校验批量导入", "subfunction": "查食品", "output_type": "result", "html_template": "templates/batch_import_preview.html", "data_source": "python scripts/batch_import.py validate <file.jsonl> --json-output <out.json> python scripts/render_batch_import.py --input <out.json>", "prompt_template": "请你加载技能 卡路里,执行唤醒词「校验批量导入」。\n\n我有一个食品数据文件(每行一条),只想先校验能不能导入,不真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____", "user_intent": "预校验批量导入文件能否通过", "data_fields": ["line", "name", "status", "reason"], "depends_on_external": false, "order": 7 },
36
- { "category": "饮食", "wake_word": "看食品来源统计", "desc": "看食品来源统计", "main_prompt": { "cli": "python scripts/render_source_stats.py", "text": "请你加载技能 卡路里,执行唤醒词「看食品来源统计」。\n\n我想看食品库的食品来源分布(按来源分组计数)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "food_source_stats", "name": "看食品来源统计", "subfunction": "查食品", "output_type": "result", "html_template": "templates/source_stats.html", "data_source": "python scripts/render_source_stats.py", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看食品来源统计」。\n\n我想看食品库的食品来源分布(按来源分组计数)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看食品库按来源分组的统计", "data_fields": ["source", "count", "pct", "total"], "depends_on_external": false, "order": 8 },
37
- { "category": "饮食", "wake_word": "看营养结构", "desc": "看营养结构", "main_prompt": { "cli": "python scripts/render_nutrition_ratio.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看营养结构」。\n\n我想看最近一段时间(默认 7 天)的蛋白/碳水/脂肪占比。如果我要看别的窗口会告诉你。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "nutrition_ratio", "name": "看营养结构", "subfunction": "看营养", "output_type": "result", "html_template": "templates/nutrition_ratio.html", "data_source": "python scripts/render_nutrition_ratio.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看营养结构」。\n\n我想看最近一段时间(默认 7 天)的蛋白/碳水/脂肪占比。如果我要看别的窗口会告诉你。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "看蛋白碳水脂肪的营养占比", "data_fields": ["protein_pct", "carb_pct", "fat_pct", "goal"], "depends_on_external": false, "order": 0 },
38
- { "category": "饮食", "wake_word": "看今日营养", "desc": "看今日营养", "main_prompt": { "cli": "python scripts/render_today_diet.py --mode nutrition --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看今日营养」。\n\n我想看今天 4 项营养(热量/蛋白/碳水/脂肪)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "nutrition_today", "name": "看今日营养", "subfunction": "看营养", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "python scripts/render_today_diet.py --mode nutrition --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日营养」。\n\n我想看今天 4 项营养(热量/蛋白/碳水/脂肪)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今日 4 项营养完成度", "data_fields": ["calories", "protein", "carbs", "fat", "goal", "pct"], "depends_on_external": false, "order": 1 },
39
- { "category": "饮食", "wake_word": "看饮食总览", "desc": "看饮食总览", "main_prompt": { "cli": "python scripts/render_diet_overview.py --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看饮食总览」。\n\n我想看周期累计的饮食总览。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "nutrition_overview", "name": "看饮食总览", "subfunction": "看营养", "output_type": "result", "html_template": "templates/diet_overview.html", "data_source": "python scripts/render_diet_overview.py --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看饮食总览」。\n\n我想看周期累计的饮食总览。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周本月累计饮食总览", "data_fields": ["week_total", "month_total", "avg_cal", "trend"], "depends_on_external": false, "order": 2 },
40
- { "category": "饮食", "wake_word": "看营养素深度", "desc": "看营养素深度", "main_prompt": { "cli": "python scripts/render_nutrition_detail.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看营养素深度」。\n\n我想看微量营养素摄入。食品库没有的按缺数据标注。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "nutrition_detail", "name": "看营养素深度", "subfunction": "看营养", "output_type": "result", "html_template": "templates/nutrition_detail.html", "data_source": "python scripts/render_nutrition_detail.py --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看营养素深度」。\n\n我想看微量营养素摄入。食品库没有的按缺数据标注。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "看纤维钠糖等微量营养素摄入", "data_fields": ["fiber", "sodium", "sugar", "target", "missing_foods"], "depends_on_external": false, "order": 3 },
41
- { "category": "饮食", "wake_word": "看高热量榜", "desc": "看高热量榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie", "name": "看高热量榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 0 },
42
- { "category": "饮食", "wake_word": "看低热量榜", "desc": "看低热量榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie", "name": "看低热量榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 1 },
43
- { "category": "饮食", "wake_word": "看频繁吃榜", "desc": "看频繁吃榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category frequent --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜」。\n\n我想看最近一段时间(默认 7 天)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent", "name": "看频繁吃榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category frequent --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜」。\n\n我想看最近一段时间(默认 7 天)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 2 },
44
- { "category": "饮食", "wake_word": "看高碳水榜", "desc": "看高碳水榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜」。\n\n我想看最近一段时间(默认 7 天)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb", "name": "看高碳水榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜」。\n\n我想看最近一段时间(默认 7 天)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 3 },
45
- { "category": "饮食", "wake_word": "看高蛋白榜", "desc": "看高蛋白榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜」。\n\n我想看最近一段时间(默认 7 天)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein", "name": "看高蛋白榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜」。\n\n我想看最近一段时间(默认 7 天)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 4 },
46
- { "category": "饮食", "wake_word": "看全部排行榜", "desc": "看全部排行榜", "main_prompt": { "cli": "python scripts/render_food_ranking.py --all --top-n 10 --days <N> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看全部排行榜」。\n\n我想同时看所有食物榜单。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "ranking_all", "name": "看全部排行榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --all --top-n 10 --days <N> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看全部排行榜」。\n\n我想同时看所有食物榜单。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "同时看 5 个食物榜单(高热量/低热量/频繁吃/高碳水/高蛋白)", "data_fields": ["rank", "food_name", "calories", "cnt", "category"], "depends_on_external": false, "order": 5 },
47
- { "category": "饮食", "wake_word": "看高热量榜(最近 30 天)", "desc": "看高热量榜(最近 30 天)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_30d", "name": "看高热量榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 5 },
48
- { "category": "饮食", "wake_word": "看高热量榜(本月)", "desc": "看高热量榜(本月)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(本月)」。\n\n我想看本月(自然月)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_month", "name": "看高热量榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(本月)」。\n\n我想看本月(自然月)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 6 },
49
- { "category": "饮食", "wake_word": "看高热量榜(自定义)", "desc": "看高热量榜(自定义)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(自定义)」。\n\n我想看自定义日期区间热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_custom", "name": "看高热量榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_calorie --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(自定义)」。\n\n我想看自定义日期区间热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories", "start", "end"], "depends_on_external": false, "order": 7 },
50
- { "category": "饮食", "wake_word": "看低热量榜(最近 30 天)", "desc": "看低热量榜(最近 30 天)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_30d", "name": "看低热量榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 8 },
51
- { "category": "饮食", "wake_word": "看低热量榜(本月)", "desc": "看低热量榜(本月)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(本月)」。\n\n我想看本月(自然月)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_month", "name": "看低热量榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(本月)」。\n\n我想看本月(自然月)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 9 },
52
- { "category": "饮食", "wake_word": "看低热量榜(自定义)", "desc": "看低热量榜(自定义)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(自定义)」。\n\n我想看自定义日期区间热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_custom", "name": "看低热量榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category low_calorie --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(自定义)」。\n\n我想看自定义日期区间热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories", "start", "end"], "depends_on_external": false, "order": 10 },
53
- { "category": "饮食", "wake_word": "看频繁吃榜(最近 30 天)", "desc": "看频繁吃榜(最近 30 天)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category frequent --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(最近 30 天)」。\n\n我想看最近 30 天吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_30d", "name": "看频繁吃榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category frequent --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(最近 30 天)」。\n\n我想看最近 30 天吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 11 },
54
- { "category": "饮食", "wake_word": "看频繁吃榜(本月)", "desc": "看频繁吃榜(本月)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category frequent --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(本月)」。\n\n我想看本月(自然月)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_month", "name": "看频繁吃榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category frequent --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(本月)」。\n\n我想看本月(自然月)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 12 },
55
- { "category": "饮食", "wake_word": "看频繁吃榜(自定义)", "desc": "看频繁吃榜(自定义)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category frequent --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(自定义)」。\n\n我想看自定义日期区间吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_custom", "name": "看频繁吃榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category frequent --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(自定义)」。\n\n我想看自定义日期区间吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date", "start", "end"], "depends_on_external": false, "order": 13 },
56
- { "category": "饮食", "wake_word": "看高碳水榜(最近 30 天)", "desc": "看高碳水榜(最近 30 天)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(最近 30 天)」。\n\n我想看最近 30 天碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_30d", "name": "看高碳水榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(最近 30 天)」。\n\n我想看最近 30 天碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 14 },
57
- { "category": "饮食", "wake_word": "看高碳水榜(本月)", "desc": "看高碳水榜(本月)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(本月)」。\n\n我想看本月(自然月)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_month", "name": "看高碳水榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(本月)」。\n\n我想看本月(自然月)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 15 },
58
- { "category": "饮食", "wake_word": "看高碳水榜(自定义)", "desc": "看高碳水榜(自定义)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(自定义)」。\n\n我想看自定义日期区间碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_custom", "name": "看高碳水榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_carb --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(自定义)」。\n\n我想看自定义日期区间碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs", "start", "end"], "depends_on_external": false, "order": 16 },
59
- { "category": "饮食", "wake_word": "看高蛋白榜(最近 30 天)", "desc": "看高蛋白榜(最近 30 天)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(最近 30 天)」。\n\n我想看最近 30 天蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_30d", "name": "看高蛋白榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --days 30 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(最近 30 天)」。\n\n我想看最近 30 天蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 17 },
60
- { "category": "饮食", "wake_word": "看高蛋白榜(本月)", "desc": "看高蛋白榜(本月)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(本月)」。\n\n我想看本月(自然月)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_month", "name": "看高蛋白榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --start <月初> --end <月末> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(本月)」。\n\n我想看本月(自然月)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 18 },
61
- { "category": "饮食", "wake_word": "看高蛋白榜(自定义)", "desc": "看高蛋白榜(自定义)", "main_prompt": { "cli": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(自定义)」。\n\n我想看自定义日期区间蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_custom", "name": "看高蛋白榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "python scripts/render_food_ranking.py --category high_protein --top-n 10 --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(自定义)」。\n\n我想看自定义日期区间蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein", "start", "end"], "depends_on_external": false, "order": 19 },
62
- { "category": "饮食", "wake_word": "饮食复盘(本周)", "desc": "饮食复盘(本周)", "main_prompt": { "cli": "python scripts/render_diet_review.py --type week --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本周)」。\n\n我想看本周饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_week", "name": "饮食复盘(本周)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "python scripts/render_diet_review.py --type week --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本周)」。\n\n我想看本周饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 0 },
63
- { "category": "饮食", "wake_word": "饮食复盘(本月)", "desc": "饮食复盘(本月)", "main_prompt": { "cli": "python scripts/render_diet_review.py --type month --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本月)」。\n\n我想看本月饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_month", "name": "饮食复盘(本月)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "python scripts/render_diet_review.py --type month --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本月)」。\n\n我想看本月饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 1 },
64
- { "category": "饮食", "wake_word": "饮食复盘(最近 90 天)", "desc": "饮食复盘(最近 90 天)", "main_prompt": { "cli": "python scripts/render_diet_review.py --type quarter --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(最近 90 天)」。\n\n我想看最近 90 天饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_90d", "name": "饮食复盘(最近 90 天)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "python scripts/render_diet_review.py --type quarter --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(最近 90 天)」。\n\n我想看最近 90 天饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 90 天饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 2 },
65
- { "category": "饮食", "wake_word": "饮食复盘(今年)", "desc": "饮食复盘(今年)", "main_prompt": { "cli": "python scripts/render_diet_review.py --type year --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(今年)」。\n\n我想看今年饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_year", "name": "饮食复盘(今年)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "python scripts/render_diet_review.py --type year --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(今年)」。\n\n我想看今年饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今年饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 3 },
66
- { "category": "饮食", "wake_word": "饮食复盘(自定义时间)", "desc": "饮食复盘(自定义时间)", "main_prompt": { "cli": "python scripts/render_diet_review.py --type range --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(自定义时间)」。\n\n我想看自定义日期区间的饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_review_range", "name": "饮食复盘(自定义时间)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "python scripts/render_diet_review.py --type range --start <开始> --end <结束> --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(自定义时间)」。\n\n我想看自定义日期区间的饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间的饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend", "start", "end"], "depends_on_external": false, "order": 4 },
67
- { "category": "饮食", "wake_word": "看早餐(最近 7 天)", "desc": "看早餐(最近 7 天)", "main_prompt": { "cli": "python scripts/render_meal_distribution.py --meal breakfast --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看早餐(最近 7 天)」。\n\n我想看最近 7 天早餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_breakfast", "name": "看早餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "python scripts/render_meal_distribution.py --meal breakfast --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看早餐(最近 7 天)」。\n\n我想看最近 7 天早餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天早餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 0 },
68
- { "category": "饮食", "wake_word": "看午餐(最近 7 天)", "desc": "看午餐(最近 7 天)", "main_prompt": { "cli": "python scripts/render_meal_distribution.py --meal breakfast --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看午餐(最近 7 天)」。\n\n我想看最近 7 天午餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_lunch", "name": "看午餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "python scripts/render_meal_distribution.py --meal lunch --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看午餐(最近 7 天)」。\n\n我想看最近 7 天午餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天午餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 1 },
69
- { "category": "饮食", "wake_word": "看晚餐(最近 7 天)", "desc": "看晚餐(最近 7 天)", "main_prompt": { "cli": "python scripts/render_meal_distribution.py --meal lunch --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看晚餐(最近 7 天)」。\n\n我想看最近 7 天晚餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_dinner", "name": "看晚餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "python scripts/render_meal_distribution.py --meal dinner --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看晚餐(最近 7 天)」。\n\n我想看最近 7 天晚餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天晚餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 2 },
70
- { "category": "饮食", "wake_word": "看加餐(最近 7 天)", "desc": "看加餐(最近 7 天)", "main_prompt": { "cli": "python scripts/render_meal_distribution.py --meal dinner --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看加餐(最近 7 天)」。\n\n我想看最近 7 天加餐(下午茶+夜宵)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_snack", "name": "看加餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "python scripts/render_meal_distribution.py --meal snack --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看加餐(最近 7 天)」。\n\n我想看最近 7 天加餐(下午茶+夜宵)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天加餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 3 },
71
- { "category": "饮食", "wake_word": "看全部餐别分布(最近 7 天)", "desc": "看全部餐别分布(最近 7 天)", "main_prompt": { "cli": "python scripts/render_meal_distribution.py --meal snack --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看全部餐别分布(最近 7 天)」。\n\n我想看最近 7 天各餐别(早餐/午餐/晚餐/加餐)的分布对比。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_all", "name": "看全部餐别分布(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "python scripts/render_meal_distribution.py --meal all --days 7 --chain \"1.识别→2.读DB→3.渲染\"", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看全部餐别分布(最近 7 天)」。\n\n我想看最近 7 天各餐别(早餐/午餐/晚餐/加餐)的分布对比。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天全部餐别分布对比", "data_fields": ["meal", "count", "calories", "pct"], "depends_on_external": false, "order": 4 },
72
- { "category": "饮食", "wake_word": "看「有备注」的饮食记录", "desc": "看「有备注」的饮食记录", "main_prompt": { "cli": "python scripts/render_today_meals.py --with-note --days <N> --chain \"1.识别→2.读DB→3.渲染\"", "text": "请你加载技能 卡路里,执行唤醒词「看「有备注」的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [] },
33
+ { "category": "饮食", "wake_word": "看食品库(去重)", "desc": "看食品库(去重)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.dedupe", "text": "请你加载技能 卡路里,执行唤醒词「看食品库(去重)」。\n\n我想检查食品库有没有重复的食品(同名同品牌多条)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "food_dedupe", "name": "看食品库(去重)", "subfunction": "查食品", "output_type": "result", "html_template": "templates/dedupe_report.html", "data_source": "calorie-cmd-read calorie.view.dedupe", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看食品库(去重)」。\n\n我想检查食品库有没有重复的食品(同名同品牌多条)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "检查食品库中的重复条目", "data_fields": ["product_name", "brand", "count", "ids"], "depends_on_external": false, "order": 5 },
34
+ { "category": "饮食", "wake_word": "批量导入食品", "desc": "批量导入食品", "main_prompt": { "cli": "先看导入预览(导入条数/跳过条数/失败明细)确认后写入食品库", "text": "请你加载技能 卡路里,执行唤醒词「批量导入食品」。\n\n我有一个食品数据文件(每行一条:名称/热量/蛋白/脂肪/碳水/钠/来源等)要批量导入食品库。先给我看导入预览(导入条数/跳过条数/失败明细),我确认后再真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____" }, "fill_hints": [], "variants": [], "key": "food_batch_import", "name": "批量导入食品", "subfunction": "查食品", "output_type": "process", "html_template": "templates/batch_import_preview.html", "data_source": "先看导入预览(导入条数/跳过条数/失败明细)确认后写入食品库", "prompt_template": "请你加载技能 卡路里,执行唤醒词「批量导入食品」。\n\n我有一个食品数据文件(每行一条:名称/热量/蛋白/脂肪/碳水/钠/来源等)要批量导入食品库。先给我看导入预览(导入条数/跳过条数/失败明细),我确认后再真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____", "user_intent": "批量导入食品数据到食品库", "data_fields": ["product_name", "calories", "protein", "fat", "carbohydrates", "sodium", "source"], "depends_on_external": false, "order": 6 },
35
+ { "category": "饮食", "wake_word": "校验批量导入", "desc": "校验批量导入", "main_prompt": { "cli": "校验食品数据文件逐行结果与失败原因不写入食品库", "text": "请你加载技能 卡路里,执行唤醒词「校验批量导入」。\n\n我有一个食品数据文件(每行一条),只想先校验能不能导入,不真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____" }, "fill_hints": [], "variants": [], "key": "food_batch_validate", "name": "校验批量导入", "subfunction": "查食品", "output_type": "result", "html_template": "templates/batch_import_preview.html", "data_source": "校验食品数据文件逐行结果与失败原因不写入食品库", "prompt_template": "请你加载技能 卡路里,执行唤醒词「校验批量导入」。\n\n我有一个食品数据文件(每行一条),只想先校验能不能导入,不真正写入。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n文件路径:____", "user_intent": "预校验批量导入文件能否通过", "data_fields": ["line", "name", "status", "reason"], "depends_on_external": false, "order": 7 },
36
+ { "category": "饮食", "wake_word": "看食品来源统计", "desc": "看食品来源统计", "main_prompt": { "cli": "calorie-cmd-read calorie.view.source-stats", "text": "请你加载技能 卡路里,执行唤醒词「看食品来源统计」。\n\n我想看食品库的食品来源分布(按来源分组计数)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "food_source_stats", "name": "看食品来源统计", "subfunction": "查食品", "output_type": "result", "html_template": "templates/source_stats.html", "data_source": "calorie-cmd-read calorie.view.source-stats", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看食品来源统计」。\n\n我想看食品库的食品来源分布(按来源分组计数)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看食品库按来源分组的统计", "data_fields": ["source", "count", "pct", "total"], "depends_on_external": false, "order": 8 },
37
+ { "category": "饮食", "wake_word": "看营养结构", "desc": "看营养结构", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看营养结构」。\n\n我想看最近一段时间(默认 7 天)的蛋白/碳水/脂肪占比。如果我要看别的窗口会告诉你。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "nutrition_ratio", "name": "看营养结构", "subfunction": "看营养", "output_type": "result", "html_template": "templates/nutrition_ratio.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看营养结构」。\n\n我想看最近一段时间(默认 7 天)的蛋白/碳水/脂肪占比。如果我要看别的窗口会告诉你。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "看蛋白碳水脂肪的营养占比", "data_fields": ["protein_pct", "carb_pct", "fat_pct", "goal"], "depends_on_external": false, "order": 0 },
38
+ { "category": "饮食", "wake_word": "看今日营养", "desc": "看今日营养", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"今日\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看今日营养」。\n\n我想看今天 4 项营养(热量/蛋白/碳水/脂肪)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "nutrition_today", "name": "看今日营养", "subfunction": "看营养", "output_type": "result", "html_template": "templates/today_diet.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"今日\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看今日营养」。\n\n我想看今天 4 项营养(热量/蛋白/碳水/脂肪)。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今日 4 项营养完成度", "data_fields": ["calories", "protein", "carbs", "fat", "goal", "pct"], "depends_on_external": false, "order": 1 },
39
+ { "category": "饮食", "wake_word": "看饮食总览", "desc": "看饮食总览", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看饮食总览」。\n\n我想看周期累计的饮食总览。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "nutrition_overview", "name": "看饮食总览", "subfunction": "看营养", "output_type": "result", "html_template": "templates/diet_overview.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看饮食总览」。\n\n我想看周期累计的饮食总览。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周本月累计饮食总览", "data_fields": ["week_total", "month_total", "avg_cal", "trend"], "depends_on_external": false, "order": 2 },
40
+ { "category": "饮食", "wake_word": "看营养素深度", "desc": "看营养素深度", "main_prompt": { "cli": "calorie-cmd-read calorie.view.nutrition-detail --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看营养素深度」。\n\n我想看微量营养素摄入。食品库没有的按缺数据标注。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "nutrition_detail", "name": "看营养素深度", "subfunction": "看营养", "output_type": "result", "html_template": "templates/nutrition_detail.html", "data_source": "calorie-cmd-read calorie.view.nutrition-detail --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看营养素深度」。\n\n我想看微量营养素摄入。食品库没有的按缺数据标注。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "看纤维钠糖等微量营养素摄入", "data_fields": ["fiber", "sodium", "sugar", "target", "missing_foods"], "depends_on_external": false, "order": 3 },
41
+ { "category": "饮食", "wake_word": "看高热量榜", "desc": "看高热量榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie", "name": "看高热量榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 0 },
42
+ { "category": "饮食", "wake_word": "看低热量榜", "desc": "看低热量榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie", "name": "看低热量榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜」。\n\n我想看最近一段时间(默认 7 天)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 1 },
43
+ { "category": "饮食", "wake_word": "看频繁吃榜", "desc": "看频繁吃榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜」。\n\n我想看最近一段时间(默认 7 天)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent", "name": "看频繁吃榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜」。\n\n我想看最近一段时间(默认 7 天)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 2 },
44
+ { "category": "饮食", "wake_word": "看高碳水榜", "desc": "看高碳水榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜」。\n\n我想看最近一段时间(默认 7 天)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb", "name": "看高碳水榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜」。\n\n我想看最近一段时间(默认 7 天)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 3 },
45
+ { "category": "饮食", "wake_word": "看高蛋白榜", "desc": "看高蛋白榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜」。\n\n我想看最近一段时间(默认 7 天)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein", "name": "看高蛋白榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜」。\n\n我想看最近一段时间(默认 7 天)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 4 },
46
+ { "category": "饮食", "wake_word": "看全部排行榜", "desc": "看全部排行榜", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"topN\":10,\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看全部排行榜」。\n\n我想同时看所有食物榜单。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [], "key": "ranking_all", "name": "看全部排行榜", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"topN\":10,\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看全部排行榜」。\n\n我想同时看所有食物榜单。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____", "user_intent": "同时看 5 个食物榜单(高热量/低热量/频繁吃/高碳水/高蛋白)", "data_fields": ["rank", "food_name", "calories", "cnt", "category"], "depends_on_external": false, "order": 5 },
47
+ { "category": "饮食", "wake_word": "看高热量榜(最近 30 天)", "desc": "看高热量榜(最近 30 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_30d", "name": "看高热量榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 5 },
48
+ { "category": "饮食", "wake_word": "看高热量榜(本月)", "desc": "看高热量榜(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(本月)」。\n\n我想看本月(自然月)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_month", "name": "看高热量榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(本月)」。\n\n我想看本月(自然月)热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 6 },
49
+ { "category": "饮食", "wake_word": "看高热量榜(自定义)", "desc": "看高热量榜(自定义)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高热量榜(自定义)」。\n\n我想看自定义日期区间热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_calorie_custom", "name": "看高热量榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_calorie\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高热量榜(自定义)」。\n\n我想看自定义日期区间热量最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高热量食物 TOP10", "data_fields": ["rank", "food_name", "calories", "start", "end"], "depends_on_external": false, "order": 7 },
50
+ { "category": "饮食", "wake_word": "看低热量榜(最近 30 天)", "desc": "看低热量榜(最近 30 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_30d", "name": "看低热量榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(最近 30 天)」。\n\n我想看最近 30 天热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 8 },
51
+ { "category": "饮食", "wake_word": "看低热量榜(本月)", "desc": "看低热量榜(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(本月)」。\n\n我想看本月(自然月)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_month", "name": "看低热量榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(本月)」。\n\n我想看本月(自然月)热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories"], "depends_on_external": false, "order": 9 },
52
+ { "category": "饮食", "wake_word": "看低热量榜(自定义)", "desc": "看低热量榜(自定义)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看低热量榜(自定义)」。\n\n我想看自定义日期区间热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_low_calorie_custom", "name": "看低热量榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"low_calorie\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看低热量榜(自定义)」。\n\n我想看自定义日期区间热量最低的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间低热量食物 TOP10", "data_fields": ["rank", "food_name", "calories", "start", "end"], "depends_on_external": false, "order": 10 },
53
+ { "category": "饮食", "wake_word": "看频繁吃榜(最近 30 天)", "desc": "看频繁吃榜(最近 30 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(最近 30 天)」。\n\n我想看最近 30 天吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_30d", "name": "看频繁吃榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(最近 30 天)」。\n\n我想看最近 30 天吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 11 },
54
+ { "category": "饮食", "wake_word": "看频繁吃榜(本月)", "desc": "看频繁吃榜(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(本月)」。\n\n我想看本月(自然月)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_month", "name": "看频繁吃榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(本月)」。\n\n我想看本月(自然月)吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date"], "depends_on_external": false, "order": 12 },
55
+ { "category": "饮食", "wake_word": "看频繁吃榜(自定义)", "desc": "看频繁吃榜(自定义)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(自定义)」。\n\n我想看自定义日期区间吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_frequent_custom", "name": "看频繁吃榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"frequent\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看频繁吃榜(自定义)」。\n\n我想看自定义日期区间吃得最多的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间最常吃的食物 TOP10", "data_fields": ["rank", "food_name", "count", "last_date", "start", "end"], "depends_on_external": false, "order": 13 },
56
+ { "category": "饮食", "wake_word": "看高碳水榜(最近 30 天)", "desc": "看高碳水榜(最近 30 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(最近 30 天)」。\n\n我想看最近 30 天碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_30d", "name": "看高碳水榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(最近 30 天)」。\n\n我想看最近 30 天碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 14 },
57
+ { "category": "饮食", "wake_word": "看高碳水榜(本月)", "desc": "看高碳水榜(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(本月)」。\n\n我想看本月(自然月)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_month", "name": "看高碳水榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(本月)」。\n\n我想看本月(自然月)碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs"], "depends_on_external": false, "order": 15 },
58
+ { "category": "饮食", "wake_word": "看高碳水榜(自定义)", "desc": "看高碳水榜(自定义)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(自定义)」。\n\n我想看自定义日期区间碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_carb_custom", "name": "看高碳水榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_carb\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高碳水榜(自定义)」。\n\n我想看自定义日期区间碳水最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高碳水食物 TOP10", "data_fields": ["rank", "food_name", "carbs", "start", "end"], "depends_on_external": false, "order": 16 },
59
+ { "category": "饮食", "wake_word": "看高蛋白榜(最近 30 天)", "desc": "看高蛋白榜(最近 30 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"30d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(最近 30 天)」。\n\n我想看最近 30 天蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_30d", "name": "看高蛋白榜(最近 30 天)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"30d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(最近 30 天)」。\n\n我想看最近 30 天蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 30 天高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 17 },
60
+ { "category": "饮食", "wake_word": "看高蛋白榜(本月)", "desc": "看高蛋白榜(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(本月)」。\n\n我想看本月(自然月)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_month", "name": "看高蛋白榜(本月)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(本月)」。\n\n我想看本月(自然月)蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein"], "depends_on_external": false, "order": 18 },
61
+ { "category": "饮食", "wake_word": "看高蛋白榜(自定义)", "desc": "看高蛋白榜(自定义)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(自定义)」。\n\n我想看自定义日期区间蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "ranking_high_protein_custom", "name": "看高蛋白榜(自定义)", "subfunction": "看排行", "output_type": "result", "html_template": "templates/food_ranking.html", "data_source": "calorie-cmd-read calorie.view.ranking --params '{\"category\":\"high_protein\",\"topN\":10,\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看高蛋白榜(自定义)」。\n\n我想看自定义日期区间蛋白最高的食物 TOP 10。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间高蛋白食物 TOP10", "data_fields": ["rank", "food_name", "protein", "start", "end"], "depends_on_external": false, "order": 19 },
62
+ { "category": "饮食", "wake_word": "饮食复盘(本周)", "desc": "饮食复盘(本周)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"本周\"}'", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本周)」。\n\n我想看本周饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_week", "name": "饮食复盘(本周)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"本周\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本周)」。\n\n我想看本周饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本周饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 0 },
63
+ { "category": "饮食", "wake_word": "饮食复盘(本月)", "desc": "饮食复盘(本月)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"本月\"}'", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本月)」。\n\n我想看本月饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_month", "name": "饮食复盘(本月)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"本月\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(本月)」。\n\n我想看本月饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看本月饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 1 },
64
+ { "category": "饮食", "wake_word": "饮食复盘(最近 90 天)", "desc": "饮食复盘(最近 90 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"90d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(最近 90 天)」。\n\n我想看最近 90 天饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_90d", "name": "饮食复盘(最近 90 天)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"90d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(最近 90 天)」。\n\n我想看最近 90 天饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 90 天饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 2 },
65
+ { "category": "饮食", "wake_word": "饮食复盘(今年)", "desc": "饮食复盘(今年)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"今年\"}'", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(今年)」。\n\n我想看今年饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "diet_review_year", "name": "饮食复盘(今年)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"今年\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(今年)」。\n\n我想看今年饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看今年饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend"], "depends_on_external": false, "order": 3 },
66
+ { "category": "饮食", "wake_word": "饮食复盘(自定义时间)", "desc": "饮食复盘(自定义时间)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "text": "请你加载技能 卡路里,执行唤醒词「饮食复盘(自定义时间)」。\n\n我想看自定义日期区间的饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____" }, "fill_hints": [], "variants": [], "key": "diet_review_range", "name": "饮食复盘(自定义时间)", "subfunction": "饮食复盘", "output_type": "result", "html_template": "templates/diet_review.html", "data_source": "calorie-cmd-read calorie.view.diet-review --params '{\"window\":\"custom\",\"start\":\"<开始日期>\",\"end\":\"<结束日期>\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「饮食复盘(自定义时间)」。\n\n我想看自定义日期区间的饮食复盘。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n开始日期(YYYY-MM-DD):____\n结束日期(YYYY-MM-DD):____", "user_intent": "看自定义区间的饮食复盘小结", "data_fields": ["total_cal", "avg_cal", "total_protein", "avg_protein", "top5", "trend", "start", "end"], "depends_on_external": false, "order": 4 },
67
+ { "category": "饮食", "wake_word": "看早餐(最近 7 天)", "desc": "看早餐(最近 7 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看早餐(最近 7 天)」。\n\n我想看最近 7 天早餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_breakfast", "name": "看早餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看早餐(最近 7 天)」。\n\n我想看最近 7 天早餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天早餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 0 },
68
+ { "category": "饮食", "wake_word": "看午餐(最近 7 天)", "desc": "看午餐(最近 7 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看午餐(最近 7 天)」。\n\n我想看最近 7 天午餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_lunch", "name": "看午餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看午餐(最近 7 天)」。\n\n我想看最近 7 天午餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天午餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 1 },
69
+ { "category": "饮食", "wake_word": "看晚餐(最近 7 天)", "desc": "看晚餐(最近 7 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看晚餐(最近 7 天)」。\n\n我想看最近 7 天晚餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_dinner", "name": "看晚餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看晚餐(最近 7 天)」。\n\n我想看最近 7 天晚餐的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天晚餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 2 },
70
+ { "category": "饮食", "wake_word": "看加餐(最近 7 天)", "desc": "看加餐(最近 7 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看加餐(最近 7 天)」。\n\n我想看最近 7 天加餐(下午茶+夜宵)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_snack", "name": "看加餐(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看加餐(最近 7 天)」。\n\n我想看最近 7 天加餐(下午茶+夜宵)的饮食。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天加餐饮食明细", "data_fields": ["date", "food_name", "calories", "avg_cal", "meal"], "depends_on_external": false, "order": 3 },
71
+ { "category": "饮食", "wake_word": "看全部餐别分布(最近 7 天)", "desc": "看全部餐别分布(最近 7 天)", "main_prompt": { "cli": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "text": "请你加载技能 卡路里,执行唤醒词「看全部餐别分布(最近 7 天)」。\n\n我想看最近 7 天各餐别(早餐/午餐/晚餐/加餐)的分布对比。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。" }, "fill_hints": [], "variants": [], "key": "meal_dist_all", "name": "看全部餐别分布(最近 7 天)", "subfunction": "餐别分布", "output_type": "result", "html_template": "templates/meal_distribution.html", "data_source": "calorie-cmd-read calorie.view.diet --params '{\"window\":\"7d\"}'", "prompt_template": "请你加载技能 卡路里,执行唤醒词「看全部餐别分布(最近 7 天)」。\n\n我想看最近 7 天各餐别(早餐/午餐/晚餐/加餐)的分布对比。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。", "user_intent": "看最近 7 天全部餐别分布对比", "data_fields": ["meal", "count", "calories", "pct"], "depends_on_external": false, "order": 4 },
72
+ { "category": "饮食", "wake_word": "看「有备注」的饮食记录", "desc": "看「有备注」的饮食记录", "main_prompt": { "cli": "看带备注的饮食记录,时间范围默认最近 <N> ", "text": "请你加载技能 卡路里,执行唤醒词「看「有备注」的饮食记录」。\n\n我想看带备注的饮食记录(如「加了辣酱」「食堂打的」)。时间范围默认最近 7 天,也可指定。交付 HTML 时,文字只回复精简而全面概括的信息,文字不允许超过三句话。\n\n时间范围(选填,默认最近 7 天):____" }, "fill_hints": [], "variants": [] },
73
73
  ];
74
74
  //# sourceMappingURL=scene-02-diet.js.map