@tbox.cn/app-template-agent 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/.gitignore +5 -0
  2. package/.tbox/app.json +9 -1
  3. package/AGENTS.md +12 -4
  4. package/ENV.md +102 -17
  5. package/README.md +36 -34
  6. package/apps/client/VISUAL_RESTORE.md +11 -11
  7. package/apps/client/index.html +3 -1
  8. package/apps/client/package.json +9 -8
  9. package/apps/client/src/business/App.tsx +4 -4
  10. package/apps/client/src/business/README.md +5 -11
  11. package/apps/client/src/cards/registry.ts +23 -8
  12. package/apps/client/src/main.tsx +36 -2
  13. package/apps/client/src/modules.ts +7 -4
  14. package/apps/client/src/pages/index/index.tsx +18 -162
  15. package/apps/client/src/platform/AgentChatApp.tsx +3 -3
  16. package/apps/client/src/platform/agent-runtime.ts +5 -0
  17. package/apps/client/src/store/chat.ts +47 -185
  18. package/apps/client/src/test/setup.ts +7 -0
  19. package/apps/client/vite.config.ts +16 -1
  20. package/apps/server/package.json +0 -1
  21. package/apps/server/src/app-tools.ts +2 -1
  22. package/apps/server/src/app.ts +178 -110
  23. package/apps/server/src/config/integration.ts +2 -6
  24. package/apps/server/src/dev.ts +0 -1
  25. package/apps/server/src/intent-routes.ts +3 -3
  26. package/apps/server/src/modules.ts +4 -4
  27. package/apps/server/src/pre-tools.ts +4 -3
  28. package/apps/server/tests/agent-prompt.test.ts +81 -0
  29. package/apps/server/tests/cards-registry.test.ts +1 -3
  30. package/apps/server/tests/deployment-loader.test.ts +35 -56
  31. package/apps/server/tests/tool-runtime.test.ts +25 -61
  32. package/package.json +5 -4
  33. package/packages/agent-ui-kit/LICENSE +21 -0
  34. package/packages/agent-ui-kit/README.md +17 -0
  35. package/packages/agent-ui-kit/package.json +58 -0
  36. package/packages/agent-ui-kit/src/ChatPage.less +62 -0
  37. package/packages/agent-ui-kit/src/ChatPage.tsx +305 -0
  38. package/packages/agent-ui-kit/src/chat-config.test.ts +82 -0
  39. package/packages/agent-ui-kit/src/chat-config.ts +62 -0
  40. package/{apps/client → packages/agent-ui-kit}/src/components/ActionBar/DebugButton.tsx +2 -2
  41. package/{apps/client → packages/agent-ui-kit}/src/components/ActionBar/index.less +19 -16
  42. package/{apps/client → packages/agent-ui-kit}/src/components/ActionBar/index.tsx +10 -13
  43. package/packages/agent-ui-kit/src/components/CardRenderer.tsx +36 -0
  44. package/packages/agent-ui-kit/src/components/ChatHeader/index.less +148 -0
  45. package/packages/agent-ui-kit/src/components/ChatHeader/index.test.tsx +74 -0
  46. package/{apps/client → packages/agent-ui-kit}/src/components/ChatHeader/index.tsx +27 -15
  47. package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/index.less +47 -39
  48. package/packages/agent-ui-kit/src/components/ChatInput/index.test.tsx +156 -0
  49. package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/index.tsx +13 -4
  50. package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/voice/useVoicePress.ts +2 -2
  51. package/packages/agent-ui-kit/src/components/HistoryEntry/index.less +49 -0
  52. package/packages/agent-ui-kit/src/components/HistoryEntry/index.tsx +42 -0
  53. package/{apps/client → packages/agent-ui-kit}/src/components/MediaList/index.less +3 -3
  54. package/{apps/client → packages/agent-ui-kit}/src/components/MediaList/index.tsx +6 -6
  55. package/{apps/client → packages/agent-ui-kit}/src/components/MessageBubble/index.less +25 -20
  56. package/packages/agent-ui-kit/src/components/MessageBubble/index.test.tsx +112 -0
  57. package/{apps/client → packages/agent-ui-kit}/src/components/MessageBubble/index.tsx +22 -15
  58. package/{apps/client → packages/agent-ui-kit}/src/components/PullDownIndicator/index.less +2 -2
  59. package/{apps/client → packages/agent-ui-kit}/src/components/PullDownIndicator/index.tsx +2 -2
  60. package/packages/agent-ui-kit/src/components/QuickCommands/index.less +63 -0
  61. package/packages/agent-ui-kit/src/components/QuickCommands/index.test.tsx +99 -0
  62. package/packages/agent-ui-kit/src/components/QuickCommands/index.tsx +52 -0
  63. package/{apps/client → packages/agent-ui-kit}/src/components/ScrollToBottomButton/index.less +1 -1
  64. package/packages/agent-ui-kit/src/components/ToolCallBlock/detail.test.ts +346 -0
  65. package/packages/agent-ui-kit/src/components/ToolCallBlock/detail.ts +204 -0
  66. package/packages/agent-ui-kit/src/components/ToolCallBlock/index.less +312 -0
  67. package/packages/agent-ui-kit/src/components/ToolCallBlock/index.test.tsx +261 -0
  68. package/packages/agent-ui-kit/src/components/ToolCallBlock/index.tsx +212 -0
  69. package/packages/agent-ui-kit/src/components/ToolCallBlock/titles.ts +102 -0
  70. package/packages/agent-ui-kit/src/hooks/use-drag-gesture.test.ts +66 -0
  71. package/packages/agent-ui-kit/src/hooks/use-drag-gesture.ts +129 -0
  72. package/packages/agent-ui-kit/src/hooks/use-pull-down-history.ts +241 -0
  73. package/packages/agent-ui-kit/src/hooks/use-pull-down-wheel-native.test.ts +64 -0
  74. package/{apps/client → packages/agent-ui-kit}/src/hooks/useMediaUpload.ts +3 -3
  75. package/{apps/client → packages/agent-ui-kit}/src/hooks/useTTSAutoPlay.ts +7 -5
  76. package/packages/agent-ui-kit/src/index.ts +69 -0
  77. package/packages/agent-ui-kit/src/store-context.tsx +92 -0
  78. package/packages/agent-ui-kit/src/test/setup.ts +7 -0
  79. package/packages/agent-ui-kit/src/theme/contract.json +72 -0
  80. package/packages/agent-ui-kit/src/theme/global.less +99 -0
  81. package/packages/agent-ui-kit/src/theme/motion.less +19 -0
  82. package/packages/agent-ui-kit/src/theme/theme-contract.test.ts +69 -0
  83. package/packages/agent-ui-kit/src/theme/theme.ts +17 -0
  84. package/packages/agent-ui-kit/src/theme/tokens.less +79 -0
  85. package/packages/agent-ui-kit/src/utils/haptics.test.ts +51 -0
  86. package/packages/agent-ui-kit/src/utils/haptics.ts +44 -0
  87. package/packages/agent-ui-kit/src/utils/pull-down-machine.test.ts +188 -0
  88. package/packages/agent-ui-kit/src/utils/pull-down-machine.ts +157 -0
  89. package/packages/agent-ui-kit/src/utils/tool-call-display.test.ts +240 -0
  90. package/packages/agent-ui-kit/src/utils/tool-call-display.ts +146 -0
  91. package/packages/agent-ui-kit/src/vite-env.d.ts +1 -0
  92. package/packages/agent-ui-kit/tsconfig.json +8 -0
  93. package/packages/agent-ui-kit/vitest.config.ts +7 -0
  94. package/pnpm-lock.template.yaml +177 -83
  95. package/pnpm-workspace.template.yaml +12 -4
  96. package/profiles/mall/config/agent.jsonc +33 -0
  97. package/profiles/mall/config/chat.json +21 -0
  98. package/profiles/mall/config/knowledge.json +5 -0
  99. package/profiles/mall/config/llm_provider.json +5 -0
  100. package/profiles/mall/config/plugins.json +3 -0
  101. package/profiles/mall.json +16 -0
  102. package/scripts/check-workspace.mjs +3 -2
  103. package/apps/client/assets/copy@2x.png +0 -0
  104. package/apps/client/assets/debug.png +0 -0
  105. package/apps/client/assets/dislike@2x.png +0 -0
  106. package/apps/client/assets/like@2x.png +0 -0
  107. package/apps/client/assets/speaker@2x.png +0 -0
  108. package/apps/client/src/cards/CardRenderer.tsx +0 -20
  109. package/apps/client/src/components/ChatHeader/index.less +0 -104
  110. package/apps/client/src/components/ErrorBoundary.tsx +0 -2
  111. package/apps/client/src/components/QuickCommands/index.less +0 -48
  112. package/apps/client/src/components/QuickCommands/index.tsx +0 -29
  113. package/apps/client/src/components/ToolCallBlock/index.less +0 -131
  114. package/apps/client/src/components/ToolCallBlock/index.tsx +0 -125
  115. package/apps/client/src/examples/tourism/TourismLanding.tsx +0 -96
  116. package/apps/client/src/examples/tourism/index.less +0 -192
  117. package/apps/client/src/pages/index/index.less +0 -43
  118. package/apps/client/src/store/chat-config.ts +0 -40
  119. package/apps/client/src/styles/global.less +0 -60
  120. package/apps/client/src/styles/tokens.less +0 -60
  121. package/apps/server/src/config/deployment.ts +0 -47
  122. package/packages/module-weather/package.json +0 -36
  123. package/packages/module-weather/skills/weather-guide/SKILL.md +0 -22
  124. package/packages/module-weather/skills/weather-guide/references/dressing-tips.md +0 -5
  125. package/packages/module-weather/src/client/cards/weather/index.less +0 -22
  126. package/packages/module-weather/src/client/cards/weather/index.tsx +0 -14
  127. package/packages/module-weather/src/client/index.ts +0 -19
  128. package/packages/module-weather/src/index.ts +0 -2
  129. package/packages/module-weather/src/server/cards/weather/meta.ts +0 -27
  130. package/packages/module-weather/src/server/index.ts +0 -45
  131. package/packages/module-weather/src/server/pre-tools.ts +0 -20
  132. package/packages/module-weather/src/server/tool.ts +0 -29
  133. package/packages/module-weather/tbox.module.json +0 -27
  134. package/packages/module-weather/tsconfig.json +0 -14
  135. /package/{apps/client → packages/agent-ui-kit}/assets/keyboard-circle.svg +0 -0
  136. /package/{apps/client → packages/agent-ui-kit}/assets/more-circle.svg +0 -0
  137. /package/{apps/client → packages/agent-ui-kit}/assets/new-chat.svg +0 -0
  138. /package/{apps/client → packages/agent-ui-kit}/assets/quick-command-star.svg +0 -0
  139. /package/{apps/client → packages/agent-ui-kit}/assets/send-gradient.svg +0 -0
  140. /package/{apps/client → packages/agent-ui-kit}/assets/stop@2x.png +0 -0
  141. /package/{apps/client → packages/agent-ui-kit}/assets/voice-circle.svg +0 -0
  142. /package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/voice/VoicePressField.tsx +0 -0
  143. /package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/voice/VoiceRecordingOverlay.tsx +0 -0
  144. /package/{apps/client → packages/agent-ui-kit}/src/components/ChatInput/voice/machine.ts +0 -0
  145. /package/{apps/client → packages/agent-ui-kit}/src/components/ReasoningBlock/index.less +0 -0
  146. /package/{apps/client → packages/agent-ui-kit}/src/components/ReasoningBlock/index.tsx +0 -0
  147. /package/{apps/client → packages/agent-ui-kit}/src/components/ScrollToBottomButton/index.tsx +0 -0
  148. /package/{apps/client/src/types/chat.ts → packages/agent-ui-kit/src/types.ts} +0 -0
  149. /package/{apps/client → packages/agent-ui-kit}/src/utils/copyText.ts +0 -0
  150. /package/{apps/client → packages/agent-ui-kit}/src/utils/imagePreview.ts +0 -0
  151. /package/{apps/client → packages/agent-ui-kit}/src/utils/session-error.ts +0 -0
  152. /package/{apps/client → packages/agent-ui-kit}/src/utils/toast.ts +0 -0
@@ -16,14 +16,17 @@ catalogs:
16
16
  specifier: 0.1.0
17
17
  version: 0.1.0
18
18
  '@tbox.cn/app-contracts':
19
- specifier: 0.9.0
20
- version: 0.9.0
19
+ specifier: 0.10.0
20
+ version: 0.10.0
21
21
  '@tbox.cn/app-contracts-mall':
22
- specifier: 0.9.0
23
- version: 0.9.0
22
+ specifier: 0.10.0
23
+ version: 0.10.0
24
24
  '@tbox.cn/app-sdk':
25
- specifier: 0.17.0
26
- version: 0.17.0
25
+ specifier: 0.19.0
26
+ version: 0.19.0
27
+ '@tbox.cn/app-theme-tbox':
28
+ specifier: 0.1.0
29
+ version: 0.1.0
27
30
  '@types/cors':
28
31
  specifier: 2.8.19
29
32
  version: 2.8.19
@@ -57,6 +60,9 @@ catalogs:
57
60
  express:
58
61
  specifier: 4.22.2
59
62
  version: 4.22.2
63
+ happy-dom:
64
+ specifier: 20.11.2
65
+ version: 20.11.2
60
66
  less:
61
67
  specifier: 4.8.1
62
68
  version: 4.8.1
@@ -100,13 +106,16 @@ catalogs:
100
106
  specifier: 4.5.7
101
107
  version: 4.5.7
102
108
 
109
+ overrides:
110
+ debug@4.4.3: 4.4.1
111
+
103
112
  importers:
104
113
 
105
114
  .:
106
115
  devDependencies:
107
116
  '@tbox.cn/app-sdk':
108
117
  specifier: 'catalog:'
109
- version: 0.17.0(@types/react@18.3.31)(rxjs@7.8.1)
118
+ version: 0.19.0(@types/react@18.3.31)(rxjs@7.8.1)
110
119
  eslint:
111
120
  specifier: 'catalog:'
112
121
  version: 9.39.5
@@ -122,36 +131,30 @@ importers:
122
131
 
123
132
  apps/client:
124
133
  dependencies:
125
- '@app/module-weather':
134
+ '@app/agent-ui-kit':
126
135
  specifier: workspace:*
127
- version: link:../../packages/module-weather
136
+ version: link:../../packages/agent-ui-kit
137
+ '@app/contracts-mall':
138
+ specifier: workspace:*
139
+ version: link:../../packages/contracts-mall
128
140
  '@app/provider-custom':
129
141
  specifier: workspace:*
130
142
  version: link:../../packages/provider-custom
131
- '@phosphor-icons/react':
132
- specifier: 'catalog:'
133
- version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
134
143
  '@tbox.cn/app-contracts':
135
144
  specifier: 'catalog:'
136
- version: 0.9.0
145
+ version: 0.10.0
137
146
  '@tbox.cn/app-sdk':
138
147
  specifier: 'catalog:'
139
- version: 0.17.0(@types/react@18.3.31)(rxjs@7.8.1)
140
- antd-mobile:
148
+ version: 0.19.0(@types/react@18.3.31)(rxjs@7.8.1)
149
+ '@tbox.cn/app-theme-tbox':
141
150
  specifier: 'catalog:'
142
- version: 5.42.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
151
+ version: 0.1.0
143
152
  react:
144
153
  specifier: 'catalog:'
145
154
  version: 18.3.1
146
155
  react-dom:
147
156
  specifier: 'catalog:'
148
157
  version: 18.3.1(react@18.3.1)
149
- react-markdown:
150
- specifier: 'catalog:'
151
- version: 9.1.0(@types/react@18.3.31)(react@18.3.1)
152
- remark-gfm:
153
- specifier: 'catalog:'
154
- version: 4.0.1
155
158
  zustand:
156
159
  specifier: 'catalog:'
157
160
  version: 4.5.7(@types/react@18.3.31)(react@18.3.1)
@@ -168,6 +171,9 @@ importers:
168
171
  '@vitejs/plugin-react':
169
172
  specifier: 'catalog:'
170
173
  version: 4.7.0(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
174
+ happy-dom:
175
+ specifier: 'catalog:'
176
+ version: 20.11.2
171
177
  less:
172
178
  specifier: 'catalog:'
173
179
  version: 4.8.1
@@ -180,15 +186,15 @@ importers:
180
186
  vite:
181
187
  specifier: 'catalog:'
182
188
  version: 6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11)
189
+ vitest:
190
+ specifier: 'catalog:'
191
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
183
192
 
184
193
  apps/server:
185
194
  dependencies:
186
195
  '@app/contracts-mall':
187
196
  specifier: workspace:*
188
197
  version: link:../../packages/contracts-mall
189
- '@app/module-weather':
190
- specifier: workspace:*
191
- version: link:../../packages/module-weather
192
198
  '@app/provider-custom':
193
199
  specifier: workspace:*
194
200
  version: link:../../packages/provider-custom
@@ -200,10 +206,10 @@ importers:
200
206
  version: 0.1.0(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(@tbox-dev-js/sdk@0.1.18)(zod@3.25.76)
201
207
  '@tbox.cn/app-contracts':
202
208
  specifier: 'catalog:'
203
- version: 0.9.0
209
+ version: 0.10.0
204
210
  '@tbox.cn/app-sdk':
205
211
  specifier: 'catalog:'
206
- version: 0.17.0(@types/react@18.3.31)(rxjs@7.8.1)
212
+ version: 0.19.0(@types/react@18.3.31)(rxjs@7.8.1)
207
213
  cors:
208
214
  specifier: 'catalog:'
209
215
  version: 2.8.6
@@ -237,54 +243,87 @@ importers:
237
243
  version: 6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11)
238
244
  vitest:
239
245
  specifier: 'catalog:'
240
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
246
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
241
247
 
242
- packages/contracts-mall:
248
+ packages/agent-ui-kit:
243
249
  dependencies:
244
- '@tbox.cn/app-contracts-mall':
250
+ '@phosphor-icons/react':
251
+ specifier: 'catalog:'
252
+ version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
253
+ '@tbox.cn/app-contracts':
245
254
  specifier: 'catalog:'
246
- version: 0.9.0
255
+ version: 0.10.0
256
+ '@tbox.cn/app-sdk':
257
+ specifier: 'catalog:'
258
+ version: 0.19.0(@types/react@18.3.31)(rxjs@7.8.1)
259
+ antd-mobile:
260
+ specifier: 'catalog:'
261
+ version: 5.42.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
262
+ react-markdown:
263
+ specifier: 'catalog:'
264
+ version: 9.1.0(@types/react@18.3.31)(react@18.3.1)
265
+ remark-gfm:
266
+ specifier: 'catalog:'
267
+ version: 4.0.1
268
+ zustand:
269
+ specifier: 'catalog:'
270
+ version: 4.5.7(@types/react@18.3.31)(react@18.3.1)
247
271
  devDependencies:
248
272
  '@types/node':
249
- specifier: 24.13.3
273
+ specifier: 'catalog:'
250
274
  version: 24.13.3
275
+ '@types/react':
276
+ specifier: 'catalog:'
277
+ version: 18.3.31
278
+ '@types/react-dom':
279
+ specifier: 'catalog:'
280
+ version: 18.3.7(@types/react@18.3.31)
281
+ happy-dom:
282
+ specifier: 'catalog:'
283
+ version: 20.11.2
284
+ less:
285
+ specifier: 'catalog:'
286
+ version: 4.8.1
287
+ react:
288
+ specifier: 'catalog:'
289
+ version: 18.3.1
290
+ react-dom:
291
+ specifier: 'catalog:'
292
+ version: 18.3.1(react@18.3.1)
251
293
  typescript:
252
- specifier: 5.9.3
294
+ specifier: 'catalog:'
253
295
  version: 5.9.3
296
+ vite:
297
+ specifier: 'catalog:'
298
+ version: 6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11)
254
299
  vitest:
255
- specifier: 4.1.10
256
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
300
+ specifier: 'catalog:'
301
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
257
302
 
258
- packages/module-weather:
303
+ packages/contracts-mall:
259
304
  dependencies:
260
- '@tbox.cn/app-contracts':
261
- specifier: 'catalog:'
262
- version: 0.9.0
263
- '@tbox.cn/app-sdk':
305
+ '@tbox.cn/app-contracts-mall':
264
306
  specifier: 'catalog:'
265
- version: 0.17.0(@types/react@18.3.31)(rxjs@7.8.1)
266
- react:
267
- specifier: 18.3.1
268
- version: 18.3.1
269
- zod:
270
- specifier: 3.25.76
271
- version: 3.25.76
307
+ version: 0.10.0
272
308
  devDependencies:
273
- '@types/react':
274
- specifier: 18.3.31
275
- version: 18.3.31
309
+ '@types/node':
310
+ specifier: 24.13.3
311
+ version: 24.13.3
276
312
  typescript:
277
313
  specifier: 5.9.3
278
314
  version: 5.9.3
315
+ vitest:
316
+ specifier: 4.1.10
317
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
279
318
 
280
319
  packages/provider-custom:
281
320
  dependencies:
282
321
  '@tbox.cn/app-contracts':
283
322
  specifier: 'catalog:'
284
- version: 0.9.0
323
+ version: 0.10.0
285
324
  '@tbox.cn/app-sdk':
286
325
  specifier: 'catalog:'
287
- version: 0.17.0(@types/react@18.3.31)(rxjs@7.8.1)
326
+ version: 0.19.0(@types/react@18.3.31)(rxjs@7.8.1)
288
327
  devDependencies:
289
328
  '@types/node':
290
329
  specifier: 24.13.3
@@ -297,7 +336,7 @@ importers:
297
336
  version: 5.9.3
298
337
  vitest:
299
338
  specifier: 4.1.10
300
- version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
339
+ version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
301
340
 
302
341
  packages:
303
342
 
@@ -1299,21 +1338,24 @@ packages:
1299
1338
  '@tbox-dev-js/sdk': '>=0.1.18 <0.2.0'
1300
1339
  zod: '>=3.24.0 <4.0.0'
1301
1340
 
1302
- '@tbox.cn/app-contracts-mall@0.9.0':
1303
- resolution: {integrity: sha512-gkW6FboBd7rWyXDjxqxyT5O8hJmWYWXaGBT8QVk5fOjJ1NV8YyARkWPBAixs78F4K87eK1hwjGxo0H7fcfJIEw==}
1341
+ '@tbox.cn/app-contracts-mall@0.10.0':
1342
+ resolution: {integrity: sha512-DdV+kptnbjTzFwJA6xnXbeEwyxcmPD3x/SgU+nO0pDQHFVNjq7dzjmYRxI1KrhaX39MmqrS+MNFkLb/xkdlPXA==}
1304
1343
  engines: {node: '>=20.0.0'}
1305
1344
 
1306
- '@tbox.cn/app-contracts@0.9.0':
1307
- resolution: {integrity: sha512-8OkBhFGxSiGeIxLkgkX/HRkzpCXk7omKI54mGShUKG1+7DV6jR+SxIMTzz/Y6wQnY2kYv50esxkOiPhTspA0jg==}
1345
+ '@tbox.cn/app-contracts@0.10.0':
1346
+ resolution: {integrity: sha512-BvuGPsxv7adbcdlEcoBF7pDbgOvzZs0kQgGlmtD3AWWnf+o+hVimVDSda0HKOubwTvyG9yEwdUxU9IFngSpo8w==}
1308
1347
  engines: {node: '>=20.0.0'}
1309
1348
 
1310
- '@tbox.cn/app-sdk@0.17.0':
1311
- resolution: {integrity: sha512-5H4yzFGAct8TDu7UCfc+UFDzENdqE5uEe2t780YnYuuowOGGTuDkGTm9xCkXd4NqajYdN7IMjDO12z+QL4goDg==}
1349
+ '@tbox.cn/app-sdk@0.19.0':
1350
+ resolution: {integrity: sha512-tG4IdqtszIkOfpycm6Zz/CCSRcUbXS6zfNTmddi1THzNC8hJy7Cr31l/GP7x54k7mWQcbJjksqR8Mmd6UBzy7Q==}
1312
1351
  engines: {node: '>=20.0.0'}
1313
1352
  hasBin: true
1314
1353
 
1315
- '@tbox.cn/app-toolkit@0.1.0':
1316
- resolution: {integrity: sha512-4XKmEctcgxADd2jxUkUt+eyK2DJPGnG32rF1w2E9n0Ix/P1T/kESvUpt0LRgp971o910ueFCJIUGxh2o8QZ7hA==}
1354
+ '@tbox.cn/app-theme-tbox@0.1.0':
1355
+ resolution: {integrity: sha512-Na72n+Wr+GhEn5WQtrKDhAVTY8dS+gq3Kw1/a4mSrvgONRQqT6bwtBlrfr1vpHMTSzIXZrFk6V+0hUIJqo5i7A==}
1356
+
1357
+ '@tbox.cn/app-toolkit@0.3.0':
1358
+ resolution: {integrity: sha512-xjI58ULGi1NXyRpOOGSzBVUZzlwji/BkU+0EiqgZZ5CFO2TbR5b1aDOVKFvMUpLAOfvYzJpVhSy8iZ88j5hpMQ==}
1317
1359
  engines: {node: '>=20.0.0'}
1318
1360
 
1319
1361
  '@types/babel__core@7.20.5':
@@ -1414,6 +1456,12 @@ packages:
1414
1456
  '@types/unist@3.0.3':
1415
1457
  resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
1416
1458
 
1459
+ '@types/whatwg-mimetype@3.0.2':
1460
+ resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==}
1461
+
1462
+ '@types/ws@8.18.1':
1463
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
1464
+
1417
1465
  '@typescript-eslint/eslint-plugin@8.67.0':
1418
1466
  resolution: {integrity: sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ==}
1419
1467
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1637,6 +1685,10 @@ packages:
1637
1685
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1638
1686
  hasBin: true
1639
1687
 
1688
+ buffer-image-size@0.6.4:
1689
+ resolution: {integrity: sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ==}
1690
+ engines: {node: '>=4.0'}
1691
+
1640
1692
  bundle-require@5.1.0:
1641
1693
  resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
1642
1694
  engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -1791,8 +1843,8 @@ packages:
1791
1843
  supports-color:
1792
1844
  optional: true
1793
1845
 
1794
- debug@4.4.3:
1795
- resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
1846
+ debug@4.4.1:
1847
+ resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
1796
1848
  engines: {node: '>=6.0'}
1797
1849
  peerDependencies:
1798
1850
  supports-color: '*'
@@ -1843,6 +1895,10 @@ packages:
1843
1895
  resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
1844
1896
  engines: {node: '>= 0.8'}
1845
1897
 
1898
+ entities@7.0.1:
1899
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
1900
+ engines: {node: '>=0.12'}
1901
+
1846
1902
  errno@0.1.8:
1847
1903
  resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
1848
1904
  hasBin: true
@@ -2084,6 +2140,10 @@ packages:
2084
2140
  resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
2085
2141
  engines: {node: '>=6.0'}
2086
2142
 
2143
+ happy-dom@20.11.2:
2144
+ resolution: {integrity: sha512-7MB+bJLkxu3SowAfBJbjW+c55kNz5tkR45gu2qzrxznezhLeN5YIlJbwUgSzlGc+qWoZ8Ykg71H5ezz69xixrw==}
2145
+ engines: {node: '>=20.0.0'}
2146
+
2087
2147
  has-flag@4.0.0:
2088
2148
  resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
2089
2149
  engines: {node: '>=8'}
@@ -3176,6 +3236,10 @@ packages:
3176
3236
  jsdom:
3177
3237
  optional: true
3178
3238
 
3239
+ whatwg-mimetype@3.0.0:
3240
+ resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
3241
+ engines: {node: '>=12'}
3242
+
3179
3243
  which@2.0.2:
3180
3244
  resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
3181
3245
  engines: {node: '>= 8'}
@@ -3351,7 +3415,7 @@ snapshots:
3351
3415
  '@babel/types': 7.29.8
3352
3416
  '@jridgewell/remapping': 2.3.5
3353
3417
  convert-source-map: 2.0.0
3354
- debug: 4.4.3
3418
+ debug: 4.4.1
3355
3419
  gensync: 1.0.0-beta.2
3356
3420
  json5: 2.2.3
3357
3421
  semver: 6.3.1
@@ -3435,7 +3499,7 @@ snapshots:
3435
3499
  '@babel/parser': 7.29.8
3436
3500
  '@babel/template': 7.29.7
3437
3501
  '@babel/types': 7.29.8
3438
- debug: 4.4.3
3502
+ debug: 4.4.1
3439
3503
  transitivePeerDependencies:
3440
3504
  - supports-color
3441
3505
 
@@ -3688,7 +3752,7 @@ snapshots:
3688
3752
  '@eslint/config-array@0.21.2':
3689
3753
  dependencies:
3690
3754
  '@eslint/object-schema': 2.1.7
3691
- debug: 4.4.3
3755
+ debug: 4.4.1
3692
3756
  minimatch: 3.1.5
3693
3757
  transitivePeerDependencies:
3694
3758
  - supports-color
@@ -3704,7 +3768,7 @@ snapshots:
3704
3768
  '@eslint/eslintrc@3.3.6':
3705
3769
  dependencies:
3706
3770
  ajv: 6.15.0
3707
- debug: 4.4.3
3771
+ debug: 4.4.1
3708
3772
  espree: 10.4.0
3709
3773
  globals: 14.0.0
3710
3774
  ignore: 5.3.2
@@ -3999,18 +4063,18 @@ snapshots:
3999
4063
  '@tbox-dev-js/sdk': 0.1.18
4000
4064
  zod: 3.25.76
4001
4065
 
4002
- '@tbox.cn/app-contracts-mall@0.9.0':
4066
+ '@tbox.cn/app-contracts-mall@0.10.0':
4003
4067
  dependencies:
4004
- '@tbox.cn/app-contracts': 0.9.0
4068
+ '@tbox.cn/app-contracts': 0.10.0
4005
4069
  zod: 3.25.76
4006
4070
 
4007
- '@tbox.cn/app-contracts@0.9.0':
4071
+ '@tbox.cn/app-contracts@0.10.0':
4008
4072
  dependencies:
4009
4073
  '@ag-ui/core': 0.0.47
4010
4074
  react: 18.3.1
4011
4075
  zod: 3.25.76
4012
4076
 
4013
- '@tbox.cn/app-sdk@0.17.0(@types/react@18.3.31)(rxjs@7.8.1)':
4077
+ '@tbox.cn/app-sdk@0.19.0(@types/react@18.3.31)(rxjs@7.8.1)':
4014
4078
  dependencies:
4015
4079
  '@ag-ui/core': 0.0.47
4016
4080
  '@ai-sdk/openai-compatible': 2.0.68(zod@3.25.76)
@@ -4019,8 +4083,8 @@ snapshots:
4019
4083
  '@mastra/observability': 1.16.5(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(zod@3.25.76)
4020
4084
  '@tbox-dev-js/sdk': 0.1.18
4021
4085
  '@tbox.cn/agent-plugin': 0.1.0(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(@tbox-dev-js/sdk@0.1.18)(zod@3.25.76)
4022
- '@tbox.cn/app-contracts': 0.9.0
4023
- '@tbox.cn/app-toolkit': 0.1.0
4086
+ '@tbox.cn/app-contracts': 0.10.0
4087
+ '@tbox.cn/app-toolkit': 0.3.0
4024
4088
  ai: 6.0.246(zod@3.25.76)
4025
4089
  express: 4.22.2
4026
4090
  gray-matter: 4.0.3
@@ -4043,7 +4107,9 @@ snapshots:
4043
4107
  - utf-8-validate
4044
4108
  - workflow
4045
4109
 
4046
- '@tbox.cn/app-toolkit@0.1.0':
4110
+ '@tbox.cn/app-theme-tbox@0.1.0': {}
4111
+
4112
+ '@tbox.cn/app-toolkit@0.3.0':
4047
4113
  dependencies:
4048
4114
  ajv: 8.20.0
4049
4115
  zod: 3.25.76
@@ -4169,6 +4235,12 @@ snapshots:
4169
4235
 
4170
4236
  '@types/unist@3.0.3': {}
4171
4237
 
4238
+ '@types/whatwg-mimetype@3.0.2': {}
4239
+
4240
+ '@types/ws@8.18.1':
4241
+ dependencies:
4242
+ '@types/node': 24.13.3
4243
+
4172
4244
  '@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3)':
4173
4245
  dependencies:
4174
4246
  '@eslint-community/regexpp': 4.12.2
@@ -4191,7 +4263,7 @@ snapshots:
4191
4263
  '@typescript-eslint/types': 8.67.0
4192
4264
  '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3)
4193
4265
  '@typescript-eslint/visitor-keys': 8.67.0
4194
- debug: 4.4.3
4266
+ debug: 4.4.1
4195
4267
  eslint: 9.39.5
4196
4268
  typescript: 5.9.3
4197
4269
  transitivePeerDependencies:
@@ -4201,7 +4273,7 @@ snapshots:
4201
4273
  dependencies:
4202
4274
  '@typescript-eslint/tsconfig-utils': 8.68.0(typescript@5.9.3)
4203
4275
  '@typescript-eslint/types': 8.68.0
4204
- debug: 4.4.3
4276
+ debug: 4.4.1
4205
4277
  typescript: 5.9.3
4206
4278
  transitivePeerDependencies:
4207
4279
  - supports-color
@@ -4224,7 +4296,7 @@ snapshots:
4224
4296
  '@typescript-eslint/types': 8.67.0
4225
4297
  '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3)
4226
4298
  '@typescript-eslint/utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3)
4227
- debug: 4.4.3
4299
+ debug: 4.4.1
4228
4300
  eslint: 9.39.5
4229
4301
  ts-api-utils: 2.5.0(typescript@5.9.3)
4230
4302
  typescript: 5.9.3
@@ -4241,7 +4313,7 @@ snapshots:
4241
4313
  '@typescript-eslint/tsconfig-utils': 8.67.0(typescript@5.9.3)
4242
4314
  '@typescript-eslint/types': 8.67.0
4243
4315
  '@typescript-eslint/visitor-keys': 8.67.0
4244
- debug: 4.4.3
4316
+ debug: 4.4.1
4245
4317
  minimatch: 10.2.6
4246
4318
  semver: 7.8.5
4247
4319
  tinyglobby: 0.2.17
@@ -4471,6 +4543,10 @@ snapshots:
4471
4543
  node-releases: 2.0.53
4472
4544
  update-browserslist-db: 1.3.1(browserslist@4.28.8)
4473
4545
 
4546
+ buffer-image-size@0.6.4:
4547
+ dependencies:
4548
+ '@types/node': 24.13.3
4549
+
4474
4550
  bundle-require@5.1.0(esbuild@0.27.7):
4475
4551
  dependencies:
4476
4552
  esbuild: 0.27.7
@@ -4590,7 +4666,7 @@ snapshots:
4590
4666
  ms: 2.1.3
4591
4667
  optional: true
4592
4668
 
4593
- debug@4.4.3:
4669
+ debug@4.4.1:
4594
4670
  dependencies:
4595
4671
  ms: 2.1.3
4596
4672
 
@@ -4626,6 +4702,8 @@ snapshots:
4626
4702
 
4627
4703
  encodeurl@2.0.0: {}
4628
4704
 
4705
+ entities@7.0.1: {}
4706
+
4629
4707
  errno@0.1.8:
4630
4708
  dependencies:
4631
4709
  prr: 1.0.1
@@ -4768,7 +4846,7 @@ snapshots:
4768
4846
  ajv: 6.15.0
4769
4847
  chalk: 4.1.2
4770
4848
  cross-spawn: 7.0.6
4771
- debug: 4.4.3
4849
+ debug: 4.4.1
4772
4850
  escape-string-regexp: 4.0.0
4773
4851
  eslint-scope: 8.4.0
4774
4852
  eslint-visitor-keys: 4.2.1
@@ -4985,6 +5063,19 @@ snapshots:
4985
5063
  section-matter: 1.0.0
4986
5064
  strip-bom-string: 1.0.0
4987
5065
 
5066
+ happy-dom@20.11.2:
5067
+ dependencies:
5068
+ '@types/node': 24.13.3
5069
+ '@types/whatwg-mimetype': 3.0.2
5070
+ '@types/ws': 8.18.1
5071
+ buffer-image-size: 0.6.4
5072
+ entities: 7.0.1
5073
+ whatwg-mimetype: 3.0.0
5074
+ ws: 8.21.3
5075
+ transitivePeerDependencies:
5076
+ - bufferutil
5077
+ - utf-8-validate
5078
+
4988
5079
  has-flag@4.0.0: {}
4989
5080
 
4990
5081
  has-symbols@1.1.0: {}
@@ -5519,7 +5610,7 @@ snapshots:
5519
5610
  micromark@4.0.2:
5520
5611
  dependencies:
5521
5612
  '@types/debug': 4.1.13
5522
- debug: 4.4.3
5613
+ debug: 4.4.1
5523
5614
  decode-named-character-reference: 1.3.0
5524
5615
  devlop: 1.1.0
5525
5616
  micromark-core-commonmark: 2.0.3
@@ -6087,7 +6178,7 @@ snapshots:
6087
6178
  cac: 6.7.14
6088
6179
  chokidar: 4.0.3
6089
6180
  consola: 3.4.2
6090
- debug: 4.4.3
6181
+ debug: 4.4.1
6091
6182
  esbuild: 0.27.7
6092
6183
  fix-dts-default-cjs-exports: 1.0.1
6093
6184
  joycon: 3.1.1
@@ -6230,7 +6321,7 @@ snapshots:
6230
6321
  less: 4.8.1
6231
6322
  tsx: 4.23.11
6232
6323
 
6233
- vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11)):
6324
+ vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(happy-dom@20.11.2)(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11)):
6234
6325
  dependencies:
6235
6326
  '@vitest/expect': 4.1.10
6236
6327
  '@vitest/mocker': 4.1.10(vite@6.4.3(@types/node@24.13.3)(less@4.8.1)(tsx@4.23.11))
@@ -6255,9 +6346,12 @@ snapshots:
6255
6346
  optionalDependencies:
6256
6347
  '@opentelemetry/api': 1.9.1
6257
6348
  '@types/node': 24.13.3
6349
+ happy-dom: 20.11.2
6258
6350
  transitivePeerDependencies:
6259
6351
  - msw
6260
6352
 
6353
+ whatwg-mimetype@3.0.0: {}
6354
+
6261
6355
  which@2.0.2:
6262
6356
  dependencies:
6263
6357
  isexe: 2.0.0
@@ -4,7 +4,7 @@
4
4
  # - catalog 键集 = agent 三模板成员 catalog: 引用并集 ∪ 平台三键(@tbox.cn/app-{sdk,contracts*}——
5
5
  # codegen 展开恒改写为 catalog: 的完备键);键随成员引用增删,不镜像根全量。
6
6
  # - catalog 值与根 pnpm-workspace.yaml 同键全等(scripts/release.mjs sync-catalog 维护)。
7
- # - 非 catalog 顶层键与根镜像(packages/overrides 除外——发布态不带 overrides)。
7
+ # - 非 catalog 顶层键与根镜像(packages 除外);overrides 不镜像,仅携 debug 钉版止血键(@tbox 回指不进模板——发布态解析 registry)。
8
8
  packages:
9
9
  - apps/*
10
10
  - packages/*
@@ -38,9 +38,10 @@ catalog:
38
38
  ws: 8.21.3
39
39
  "@types/ws": 8.18.1
40
40
  "@tbox.cn/agent-plugin": 0.1.0
41
- "@tbox.cn/app-sdk": 0.17.0
42
- "@tbox.cn/app-contracts": 0.9.0
43
- "@tbox.cn/app-contracts-mall": 0.9.0
41
+ "@tbox.cn/app-sdk": 0.19.0
42
+ "@tbox.cn/app-contracts": 0.10.0
43
+ "@tbox.cn/app-contracts-mall": 0.10.0
44
+ "@tbox.cn/app-theme-tbox": 0.1.0
44
45
  zustand: 4.5.7
45
46
  eslint: 9.39.5
46
47
  typescript-eslint: 8.67.0
@@ -58,3 +59,10 @@ catalog:
58
59
  remark-gfm: 4.0.1
59
60
  happy-dom: 20.11.2
60
61
  postcss-pxtorem: 6.1.0
62
+
63
+ # debug 钉版止血(与根 pnpm-workspace.yaml 同步维护;见 2026-09-16-ci-internal-registry-pollution.md):
64
+ # 模板锁种子投影会清 overrides 段致 debug 重解析为 4.4.3(R5 子集校验失败),故模板必须同携此键;
65
+ # 段恒居文件末尾——create --local-deps 的 overrides 条目按"并入末尾段"注入(cli/src/commands/create.ts)。
66
+ # 平台修复内网 registry 数据后随根一并移除。
67
+ overrides:
68
+ "debug@4.4.3": "4.4.1"
@@ -0,0 +1,33 @@
1
+ // agent 提示词配置:instructions = 业务段(置前于 SDK 平台规则段);首行身份句,数组 = 提示词行(\n 拼接)。
2
+ // 分层契约:平台规则段管卡片机制协议;本文件管跨域基线(数据新鲜度/注入块定性/操作入口/沟通风格/兜底承接);
3
+ // 域内细则归各域 SKILL.md(经领域指引块注入,域内细则优先于本段基线)。
4
+ // memoryInstructions:装配长期记忆时由 SDK 追加(未装配不拼接)。
5
+ // 注意:不写与平台卡片协议冲突的指令——出不出卡由模型经 <agent-ui-cards> 标签决策,平台协议优先。
6
+ {
7
+ "instructions": [
8
+ "你是商圈智能助理——用户逛商场时的商圈搭子,服务到店顾客,帮助其高效完成会员、停车、优惠与导购相关事务。",
9
+ "# 服务范围",
10
+ "会员(积分/会员卡/入会)、停车(费用/缴费/寻车)、优惠营销(活动/领券/我的券)、导购(商户/门店/商品)、客服(服务政策/退换货/发票/投诉/营业时间等基础信息)。",
11
+ "# 业务规则",
12
+ "业务数据(价格、库存、活动、积分、费用、状态)随时可能变化,以本轮工具结果为准:凡涉及业务数据的问题(查询或操作),必须先调用工具取得本轮结果再作答,禁止凭历史工具结果或常识直接回答。",
13
+ "用户一次提问涉及多个业务域时(如「推荐鞋店 + 积分怎么算」),对每个域分别调用对应工具——即使本轮只注入了其中一个域的操作指引,其余域也必须调工具拿本轮结果,不凭历史轮结论作答。",
14
+ "操作类(缴费、领券、绑定车牌、入会等)都由对应卡片上的按钮完成——需要用户动手时,先拿到本轮结果再引导操作。",
15
+ "智能体自身没有导航能力:回复正文不提及、不承诺导航(「带您过去」「发您路线」等),也不反问「要不要导航过去」——导航入口只存在于卡片上的导航按钮,由用户自行点击;正文最多客观告知门店位置(楼层/铺位)。",
16
+ "user 消息前部可能收到系统注入的 <system-reminder> 数据块(非用户输入;类型与语义以平台协议为准):内部注入,不向用户复述其来源与分类。",
17
+ "pre-tool 块是系统预执行的域数据(商场楼层/类目、客服 FAQ 条目、碰一碰活动详情等):其中 FAQ 条目属政策知识;实时列表/数字类问题(可领券、积分余额、停车费)仍须调用对应域实时工具。",
18
+ "领域指引块是当前业务域的操作规程:命中当前请求所属领域时遵循其场景细则与红线,域内细则与本段不一致时以指引块为准。",
19
+ "支付与授权类操作严格走系统引导流程,不承诺未经系统确认的结果。",
20
+ "# 沟通风格",
21
+ "语言跟随用户:用户用中文提问就用中文回答,用英文提问就用英文回答;禁止在中文对话中夹杂英文句子(专有名词除外)。",
22
+ "语气亲切、简洁,先给结果再给动作;回复正文按轻量 markdown 输出(渲染支持换行、加粗、列表)。",
23
+ "正文保持分段可扫读:多项并列各占一行、组间空一行;长回复按「结论 / 明细 / 收尾」分 2-3 段,不整段堆叠。",
24
+ "重点才加粗(关键数字、门槛、时效,一条回复 3 处以内);不使用标题、表格、代码块、颜色样式——气泡窄屏显示不开。",
25
+ "即将调用工具时,先用一句贴合本轮诉求的话承接再发起(多诉求时一句覆盖全部),让用户立即看到回应;承接句换着说法勿模板化,只说要做什么、不预告结果。",
26
+ "任何回复正文不出现工具名、接口名、字段名(如 listVehicles、customer-service-faq 这类内部词汇),也不出现\"知识库\"\"FAQ\"\"检索\"这类机制词——用户只看得到白话与结果,需要提及操作时用业务语言(如「帮您查停车费」)。",
27
+ "# 兜底承接",
28
+ "超出服务范围或查不到时如实说明,并按最近承接路径引导:服务政策与商场基础信息(营业时间等)转客服 FAQ,FAQ 无结果时如实说明暂无收录并引导联系人工客服;近似导购的诉求转找店逛店;仍解决不了转人工客服。"
29
+ ],
30
+ "memoryInstructions": [
31
+ "长期记忆:用户透露的稳定偏好(口味/忌口)、常逛商场与常用服务、车牌等事实值得记住——跨会话服务更贴心;闲聊与一次性信息不记,记忆与当下需求冲突时以当下为准。"
32
+ ]
33
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "enableImageUpload": false,
3
+ "enableVideoUpload": false,
4
+ "enableTTS": false,
5
+ "enableVoiceInput": true,
6
+ "defaultInputMode": "TEXT",
7
+ "quickCommands": [
8
+ {
9
+ "label": "今日优惠",
10
+ "query": "现在有什么优惠?"
11
+ },
12
+ {
13
+ "label": "品牌导览",
14
+ "query": "品牌导览"
15
+ },
16
+ {
17
+ "label": "活动中心",
18
+ "query": "活动中心"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "version": "1.0",
3
+ "description": "知识库注册表占位(模板态:模块资源保持 datasetId 直填;真实档经 create --config-dir 注入带条目的注册表并切换 ref 引用)",
4
+ "knowledge_bases": {}
5
+ }