@liujitcn/kratos-uni-app-system 0.0.62 → 0.0.65

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.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  ```text
8
8
  packages/modules/system
9
9
  ├── src
10
- │ ├── api/base/v1 # AI 消息、会话和工具接口
10
+ │ ├── api/base/v1 # AI 消息、会话、快捷入口和Provider模型选项接口
11
11
  │ ├── rpc # system 相关 Buf 生成类型
12
12
  │ ├── views
13
13
  │ │ ├── pages/my # 个人中心主页
package/dist/index.mjs CHANGED
@@ -271,6 +271,7 @@ var zh_CN_default = {
271
271
  "system.ai.delete_session_failed": "\u5220\u9664\u4F1A\u8BDD\u5931\u8D25",
272
272
  "system.ai.efficiency_assistant": "\u6548\u7387\u52A9\u624B",
273
273
  "system.ai.failed_response": "\u8FD9\u6B21\u56DE\u590D\u6CA1\u6709\u6210\u529F\u8FD4\u56DE\uFF0C\u4F60\u53EF\u4EE5\u76F4\u63A5\u91CD\u8BD5\u521A\u624D\u7684\u95EE\u9898\u3002",
274
+ "system.ai.chat.error.details_unavailable": "\u804A\u5929\u754C\u9762\u4E0D\u5C55\u793A\u5E95\u5C42\u670D\u52A1\u9519\u8BEF\u8BE6\u60C5\uFF0C\u8BF7\u67E5\u770B\u670D\u52A1\u65E5\u5FD7\u3002",
274
275
  "system.ai.general_assistant": "\u901A\u7528\u52A9\u624B",
275
276
  "system.ai.greeting": "\u60A8\u597D\uFF0C{period}\u597D\uFF01\u4ECA\u5929\u6709\u4EC0\u4E48\u9700\u8981\u6211\u534F\u52A9\u7684\u5417\uFF1F",
276
277
  "system.ai.greeting_hello": "\u60A8\u597D\uFF0CAI\u52A9\u624B\u4E3A\u60A8\u670D\u52A1\uFF01",
@@ -318,6 +319,7 @@ var zh_CN_default = {
318
319
  "system.ai.text_assistant": "\u6587\u672C\u52A9\u624B",
319
320
  "system.ai.thinking": "\u6B63\u5728\u56DE\u590D",
320
321
  "system.ai.tool_called": "\u5DF2\u8C03\u7528\uFF1A{tools}",
322
+ "system.ai.web_search": "\u8054\u7F51\u641C\u7D22",
321
323
  "system.ai.upload_failed": "\u9644\u4EF6\u4E0A\u4F20\u5931\u8D25",
322
324
  "system.profile.account": "\u8D26\u53F7",
323
325
  "system.profile.avatar_change": "\u70B9\u51FB\u4FEE\u6539\u5934\u50CF",
@@ -353,6 +355,7 @@ var zh_CN_default = {
353
355
  "system.settings.ai_title": "\u667A\u80FD\u52A9\u624B",
354
356
  "system.settings.go_ask": "\u53BB\u63D0\u95EE",
355
357
  "system.notification.title": "\u6D88\u606F\u4E2D\u5FC3",
358
+ "system.notification.sender.system": "\u7CFB\u7EDF",
356
359
  "system.notification.description": "\u67E5\u770B\u7CFB\u7EDF\u901A\u77E5\u548C\u4E1A\u52A1\u6D88\u606F",
357
360
  "system.notification.empty": "\u6682\u65E0\u6D88\u606F",
358
361
  "system.notification.action.view_all": "\u67E5\u770B\u5168\u90E8",
@@ -363,7 +366,13 @@ var zh_CN_default = {
363
366
  "system.notification.mark_all_read": "\u5168\u90E8\u5DF2\u8BFB",
364
367
  "system.notification.action.archive": "\u5F52\u6863",
365
368
  "system.notification.action.restore": "\u6062\u590D",
366
- "system.notification.action.delete": "\u5220\u9664"
369
+ "system.notification.action.delete": "\u5220\u9664",
370
+ "system.ai.model.provider_placeholder": "\u9009\u62E9\u4F9B\u5E94\u5546",
371
+ "system.ai.model.model_placeholder": "\u9009\u62E9\u6A21\u578B",
372
+ "system.ai.model.load_failed": "\u52A0\u8F7D\u4F9B\u5E94\u5546\u548C\u6A21\u578B\u5931\u8D25",
373
+ "system.ai.model.title": "\u9009\u62E9\u6A21\u578B",
374
+ "system.ai.model.provider_model_count": "{providers} \u4E2A\u4F9B\u5E94\u5546 \xB7 {models} \u4E2A\u6A21\u578B",
375
+ "system.ai.model.empty": "\u6682\u65E0\u53EF\u9009\u6A21\u578B"
367
376
  };
368
377
 
369
378
  // src/locales/en-US.json
@@ -384,6 +393,7 @@ var en_US_default = {
384
393
  "system.ai.delete_session_failed": "Failed to delete session",
385
394
  "system.ai.efficiency_assistant": "Productivity assistant",
386
395
  "system.ai.failed_response": "The response did not complete. You can retry your previous question.",
396
+ "system.ai.chat.error.details_unavailable": "Provider error details are not exposed in chat. See the service logs.",
387
397
  "system.ai.general_assistant": "General assistant",
388
398
  "system.ai.greeting": "Good {period}, how can I help you today?",
389
399
  "system.ai.greeting_hello": "Hello, your AI assistant is ready to help.",
@@ -431,6 +441,7 @@ var en_US_default = {
431
441
  "system.ai.text_assistant": "Writing assistant",
432
442
  "system.ai.thinking": "Responding",
433
443
  "system.ai.tool_called": "Tools used: {tools}",
444
+ "system.ai.web_search": "Web search",
434
445
  "system.ai.upload_failed": "Attachment upload failed",
435
446
  "system.profile.account": "Account",
436
447
  "system.profile.avatar_change": "Tap to change avatar",
@@ -466,6 +477,7 @@ var en_US_default = {
466
477
  "system.settings.ai_title": "AI Assistant",
467
478
  "system.settings.go_ask": "Ask now",
468
479
  "system.notification.title": "Message Center",
480
+ "system.notification.sender.system": "System",
469
481
  "system.notification.description": "View system notifications and business messages",
470
482
  "system.notification.empty": "No messages",
471
483
  "system.notification.action.view_all": "View all",
@@ -476,7 +488,13 @@ var en_US_default = {
476
488
  "system.notification.mark_all_read": "Mark all read",
477
489
  "system.notification.action.archive": "Archive",
478
490
  "system.notification.action.restore": "Restore",
479
- "system.notification.action.delete": "Delete"
491
+ "system.notification.action.delete": "Delete",
492
+ "system.ai.model.provider_placeholder": "Select a provider",
493
+ "system.ai.model.model_placeholder": "Select a model",
494
+ "system.ai.model.load_failed": "Failed to load providers and models",
495
+ "system.ai.model.title": "Select Model",
496
+ "system.ai.model.provider_model_count": "{providers} providers \xB7 {models} models",
497
+ "system.ai.model.empty": "No models available"
480
498
  };
481
499
 
482
500
  // src/locales/ja-JP.json
@@ -497,6 +515,7 @@ var ja_JP_default = {
497
515
  "system.ai.delete_session_failed": "\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
498
516
  "system.ai.efficiency_assistant": "\u52B9\u7387\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
499
517
  "system.ai.failed_response": "\u4ECA\u56DE\u306F\u5FDC\u7B54\u304C\u6B63\u5E38\u306B\u8FD4\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8CEA\u554F\u3092\u76F4\u63A5\u518D\u8A66\u884C\u3067\u304D\u307E\u3059\u3002",
518
+ "system.ai.chat.error.details_unavailable": "\u30C1\u30E3\u30C3\u30C8\u3067\u306F\u5185\u90E8\u30A8\u30E9\u30FC\u306E\u8A73\u7D30\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u30B5\u30FC\u30D3\u30B9\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
500
519
  "system.ai.general_assistant": "\u30E6\u30CB\u30D0\u30FC\u30B5\u30EB \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
501
520
  "system.ai.greeting": "\u3053\u3093\u306B\u3061\u306F\u3001{period} \u3053\u3093\u306B\u3061\u306F\uFF01\u4ECA\u65E5\u306F\u4F55\u304B\u304A\u624B\u4F1D\u3044\u304C\u5FC5\u8981\u306A\u3053\u3068\u306F\u3042\u308A\u307E\u3059\u304B?",
502
521
  "system.ai.greeting_hello": "\u3053\u3093\u306B\u3061\u306F\u3001AI \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u304C\u304A\u624B\u4F1D\u3044\u3057\u307E\u3059\u3002",
@@ -544,6 +563,7 @@ var ja_JP_default = {
544
563
  "system.ai.text_assistant": "\u30C6\u30AD\u30B9\u30C8 \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
545
564
  "system.ai.thinking": "\u304C\u8FD4\u4FE1\u3057\u3066\u3044\u307E\u3059",
546
565
  "system.ai.tool_called": "\u547C\u3073\u51FA\u3057\u5148: {tools}",
566
+ "system.ai.web_search": "\u30A6\u30A7\u30D6\u691C\u7D22",
547
567
  "system.ai.upload_failed": "\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
548
568
  "system.profile.account": "\u30A2\u30AB\u30A6\u30F3\u30C8",
549
569
  "system.profile.avatar_change": "\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A2\u30D0\u30BF\u30FC\u3092\u5909\u66F4\u3057\u307E\u3059",
@@ -579,6 +599,7 @@ var ja_JP_default = {
579
599
  "system.settings.ai_title": "\u30A4\u30F3\u30C6\u30EA\u30B8\u30A7\u30F3\u30C8 \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
580
600
  "system.settings.go_ask": "\u8CEA\u554F\u3057\u3066\u307F\u3088\u3046",
581
601
  "system.notification.title": "\u30E1\u30C3\u30BB\u30FC\u30B8\u30BB\u30F3\u30BF\u30FC",
602
+ "system.notification.sender.system": "\u30B7\u30B9\u30C6\u30E0",
582
603
  "system.notification.description": "\u30B7\u30B9\u30C6\u30E0\u901A\u77E5\u3068\u696D\u52D9\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u78BA\u8A8D",
583
604
  "system.notification.empty": "\u30E1\u30C3\u30BB\u30FC\u30B8\u306F\u3042\u308A\u307E\u305B\u3093",
584
605
  "system.notification.action.view_all": "\u3059\u3079\u3066\u8868\u793A",
@@ -589,7 +610,13 @@ var ja_JP_default = {
589
610
  "system.notification.mark_all_read": "\u3059\u3079\u3066\u65E2\u8AAD",
590
611
  "system.notification.action.archive": "\u30A2\u30FC\u30AB\u30A4\u30D6",
591
612
  "system.notification.action.restore": "\u5FA9\u5143",
592
- "system.notification.action.delete": "\u524A\u9664"
613
+ "system.notification.action.delete": "\u524A\u9664",
614
+ "system.ai.model.provider_placeholder": "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u9078\u629E",
615
+ "system.ai.model.model_placeholder": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
616
+ "system.ai.model.load_failed": "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3068\u30E2\u30C7\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",
617
+ "system.ai.model.title": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
618
+ "system.ai.model.provider_model_count": "{providers} \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC \xB7 {models} \u30E2\u30C7\u30EB",
619
+ "system.ai.model.empty": "\u9078\u629E\u53EF\u80FD\u306A\u30E2\u30C7\u30EB\u304C\u3042\u308A\u307E\u305B\u3093"
593
620
  };
594
621
 
595
622
  // src/locales/zh-TW.json
@@ -610,6 +637,7 @@ var zh_TW_default = {
610
637
  "system.ai.delete_session_failed": "\u522A\u9664\u6703\u8A71\u5931\u6557",
611
638
  "system.ai.efficiency_assistant": "\u6548\u7387\u52A9\u624B",
612
639
  "system.ai.failed_response": "\u9019\u6B21\u56DE\u8986\u6C92\u6709\u6210\u529F\u8FD4\u56DE\uFF0C\u4F60\u53EF\u4EE5\u76F4\u63A5\u91CD\u8A66\u525B\u624D\u7684\u554F\u984C\u3002",
640
+ "system.ai.chat.error.details_unavailable": "\u804A\u5929\u4ECB\u9762\u4E0D\u6703\u986F\u793A\u5E95\u5C64\u670D\u52D9\u932F\u8AA4\u8A73\u60C5\uFF0C\u8ACB\u67E5\u770B\u670D\u52D9\u65E5\u8A8C\u3002",
613
641
  "system.ai.general_assistant": "\u901A\u7528\u52A9\u624B",
614
642
  "system.ai.greeting": "\u60A8\u597D\uFF0C{period}\u597D\uFF01\u4ECA\u5929\u6709\u4EC0\u9EBC\u9700\u8981\u6211\u5354\u52A9\u7684\u55CE\uFF1F",
615
643
  "system.ai.greeting_hello": "\u60A8\u597D\uFF0CAI\u52A9\u624B\u70BA\u60A8\u670D\u52D9\uFF01",
@@ -657,6 +685,7 @@ var zh_TW_default = {
657
685
  "system.ai.text_assistant": "\u6587\u5B57\u52A9\u624B",
658
686
  "system.ai.thinking": "\u6B63\u5728\u56DE\u8986",
659
687
  "system.ai.tool_called": "\u5DF2\u547C\u53EB\uFF1A{tools}",
688
+ "system.ai.web_search": "\u7DB2\u8DEF\u641C\u5C0B",
660
689
  "system.ai.upload_failed": "\u9644\u4EF6\u4E0A\u50B3\u5931\u6557",
661
690
  "system.profile.account": "\u8CEC\u865F",
662
691
  "system.profile.avatar_change": "\u9EDE\u9078\u4FEE\u6539\u982D\u50CF",
@@ -692,6 +721,7 @@ var zh_TW_default = {
692
721
  "system.settings.ai_title": "\u667A\u6167\u52A9\u624B",
693
722
  "system.settings.go_ask": "\u53BB\u63D0\u554F",
694
723
  "system.notification.title": "\u6D88\u606F\u4E2D\u5FC3",
724
+ "system.notification.sender.system": "\u7CFB\u7D71",
695
725
  "system.notification.description": "\u67E5\u770B\u7CFB\u7D71\u901A\u77E5\u548C\u696D\u52D9\u6D88\u606F",
696
726
  "system.notification.empty": "\u66AB\u7121\u6D88\u606F",
697
727
  "system.notification.action.view_all": "\u67E5\u770B\u5168\u90E8",
@@ -702,7 +732,13 @@ var zh_TW_default = {
702
732
  "system.notification.mark_all_read": "\u5168\u90E8\u5DF2\u8B80",
703
733
  "system.notification.action.archive": "\u6B78\u6A94",
704
734
  "system.notification.action.restore": "\u6062\u5FA9",
705
- "system.notification.action.delete": "\u522A\u9664"
735
+ "system.notification.action.delete": "\u522A\u9664",
736
+ "system.ai.model.provider_placeholder": "\u9078\u64C7\u4F9B\u61C9\u5546",
737
+ "system.ai.model.model_placeholder": "\u9078\u64C7\u6A21\u578B",
738
+ "system.ai.model.load_failed": "\u8F09\u5165\u4F9B\u61C9\u5546\u8207\u6A21\u578B\u5931\u6557",
739
+ "system.ai.model.title": "\u9078\u64C7\u6A21\u578B",
740
+ "system.ai.model.provider_model_count": "{providers} \u500B\u4F9B\u61C9\u5546 \xB7 {models} \u500B\u6A21\u578B",
741
+ "system.ai.model.empty": "\u66AB\u7121\u53EF\u9078\u6A21\u578B"
706
742
  };
707
743
 
708
744
  // src/locales/generated.ts
package/dist/module.mjs CHANGED
@@ -51,6 +51,7 @@ var zh_CN_default = {
51
51
  "system.ai.delete_session_failed": "\u5220\u9664\u4F1A\u8BDD\u5931\u8D25",
52
52
  "system.ai.efficiency_assistant": "\u6548\u7387\u52A9\u624B",
53
53
  "system.ai.failed_response": "\u8FD9\u6B21\u56DE\u590D\u6CA1\u6709\u6210\u529F\u8FD4\u56DE\uFF0C\u4F60\u53EF\u4EE5\u76F4\u63A5\u91CD\u8BD5\u521A\u624D\u7684\u95EE\u9898\u3002",
54
+ "system.ai.chat.error.details_unavailable": "\u804A\u5929\u754C\u9762\u4E0D\u5C55\u793A\u5E95\u5C42\u670D\u52A1\u9519\u8BEF\u8BE6\u60C5\uFF0C\u8BF7\u67E5\u770B\u670D\u52A1\u65E5\u5FD7\u3002",
54
55
  "system.ai.general_assistant": "\u901A\u7528\u52A9\u624B",
55
56
  "system.ai.greeting": "\u60A8\u597D\uFF0C{period}\u597D\uFF01\u4ECA\u5929\u6709\u4EC0\u4E48\u9700\u8981\u6211\u534F\u52A9\u7684\u5417\uFF1F",
56
57
  "system.ai.greeting_hello": "\u60A8\u597D\uFF0CAI\u52A9\u624B\u4E3A\u60A8\u670D\u52A1\uFF01",
@@ -98,6 +99,7 @@ var zh_CN_default = {
98
99
  "system.ai.text_assistant": "\u6587\u672C\u52A9\u624B",
99
100
  "system.ai.thinking": "\u6B63\u5728\u56DE\u590D",
100
101
  "system.ai.tool_called": "\u5DF2\u8C03\u7528\uFF1A{tools}",
102
+ "system.ai.web_search": "\u8054\u7F51\u641C\u7D22",
101
103
  "system.ai.upload_failed": "\u9644\u4EF6\u4E0A\u4F20\u5931\u8D25",
102
104
  "system.profile.account": "\u8D26\u53F7",
103
105
  "system.profile.avatar_change": "\u70B9\u51FB\u4FEE\u6539\u5934\u50CF",
@@ -133,6 +135,7 @@ var zh_CN_default = {
133
135
  "system.settings.ai_title": "\u667A\u80FD\u52A9\u624B",
134
136
  "system.settings.go_ask": "\u53BB\u63D0\u95EE",
135
137
  "system.notification.title": "\u6D88\u606F\u4E2D\u5FC3",
138
+ "system.notification.sender.system": "\u7CFB\u7EDF",
136
139
  "system.notification.description": "\u67E5\u770B\u7CFB\u7EDF\u901A\u77E5\u548C\u4E1A\u52A1\u6D88\u606F",
137
140
  "system.notification.empty": "\u6682\u65E0\u6D88\u606F",
138
141
  "system.notification.action.view_all": "\u67E5\u770B\u5168\u90E8",
@@ -143,7 +146,13 @@ var zh_CN_default = {
143
146
  "system.notification.mark_all_read": "\u5168\u90E8\u5DF2\u8BFB",
144
147
  "system.notification.action.archive": "\u5F52\u6863",
145
148
  "system.notification.action.restore": "\u6062\u590D",
146
- "system.notification.action.delete": "\u5220\u9664"
149
+ "system.notification.action.delete": "\u5220\u9664",
150
+ "system.ai.model.provider_placeholder": "\u9009\u62E9\u4F9B\u5E94\u5546",
151
+ "system.ai.model.model_placeholder": "\u9009\u62E9\u6A21\u578B",
152
+ "system.ai.model.load_failed": "\u52A0\u8F7D\u4F9B\u5E94\u5546\u548C\u6A21\u578B\u5931\u8D25",
153
+ "system.ai.model.title": "\u9009\u62E9\u6A21\u578B",
154
+ "system.ai.model.provider_model_count": "{providers} \u4E2A\u4F9B\u5E94\u5546 \xB7 {models} \u4E2A\u6A21\u578B",
155
+ "system.ai.model.empty": "\u6682\u65E0\u53EF\u9009\u6A21\u578B"
147
156
  };
148
157
 
149
158
  // src/locales/en-US.json
@@ -164,6 +173,7 @@ var en_US_default = {
164
173
  "system.ai.delete_session_failed": "Failed to delete session",
165
174
  "system.ai.efficiency_assistant": "Productivity assistant",
166
175
  "system.ai.failed_response": "The response did not complete. You can retry your previous question.",
176
+ "system.ai.chat.error.details_unavailable": "Provider error details are not exposed in chat. See the service logs.",
167
177
  "system.ai.general_assistant": "General assistant",
168
178
  "system.ai.greeting": "Good {period}, how can I help you today?",
169
179
  "system.ai.greeting_hello": "Hello, your AI assistant is ready to help.",
@@ -211,6 +221,7 @@ var en_US_default = {
211
221
  "system.ai.text_assistant": "Writing assistant",
212
222
  "system.ai.thinking": "Responding",
213
223
  "system.ai.tool_called": "Tools used: {tools}",
224
+ "system.ai.web_search": "Web search",
214
225
  "system.ai.upload_failed": "Attachment upload failed",
215
226
  "system.profile.account": "Account",
216
227
  "system.profile.avatar_change": "Tap to change avatar",
@@ -246,6 +257,7 @@ var en_US_default = {
246
257
  "system.settings.ai_title": "AI Assistant",
247
258
  "system.settings.go_ask": "Ask now",
248
259
  "system.notification.title": "Message Center",
260
+ "system.notification.sender.system": "System",
249
261
  "system.notification.description": "View system notifications and business messages",
250
262
  "system.notification.empty": "No messages",
251
263
  "system.notification.action.view_all": "View all",
@@ -256,7 +268,13 @@ var en_US_default = {
256
268
  "system.notification.mark_all_read": "Mark all read",
257
269
  "system.notification.action.archive": "Archive",
258
270
  "system.notification.action.restore": "Restore",
259
- "system.notification.action.delete": "Delete"
271
+ "system.notification.action.delete": "Delete",
272
+ "system.ai.model.provider_placeholder": "Select a provider",
273
+ "system.ai.model.model_placeholder": "Select a model",
274
+ "system.ai.model.load_failed": "Failed to load providers and models",
275
+ "system.ai.model.title": "Select Model",
276
+ "system.ai.model.provider_model_count": "{providers} providers \xB7 {models} models",
277
+ "system.ai.model.empty": "No models available"
260
278
  };
261
279
 
262
280
  // src/locales/ja-JP.json
@@ -277,6 +295,7 @@ var ja_JP_default = {
277
295
  "system.ai.delete_session_failed": "\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
278
296
  "system.ai.efficiency_assistant": "\u52B9\u7387\u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
279
297
  "system.ai.failed_response": "\u4ECA\u56DE\u306F\u5FDC\u7B54\u304C\u6B63\u5E38\u306B\u8FD4\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8CEA\u554F\u3092\u76F4\u63A5\u518D\u8A66\u884C\u3067\u304D\u307E\u3059\u3002",
298
+ "system.ai.chat.error.details_unavailable": "\u30C1\u30E3\u30C3\u30C8\u3067\u306F\u5185\u90E8\u30A8\u30E9\u30FC\u306E\u8A73\u7D30\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u30B5\u30FC\u30D3\u30B9\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
280
299
  "system.ai.general_assistant": "\u30E6\u30CB\u30D0\u30FC\u30B5\u30EB \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
281
300
  "system.ai.greeting": "\u3053\u3093\u306B\u3061\u306F\u3001{period} \u3053\u3093\u306B\u3061\u306F\uFF01\u4ECA\u65E5\u306F\u4F55\u304B\u304A\u624B\u4F1D\u3044\u304C\u5FC5\u8981\u306A\u3053\u3068\u306F\u3042\u308A\u307E\u3059\u304B?",
282
301
  "system.ai.greeting_hello": "\u3053\u3093\u306B\u3061\u306F\u3001AI \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8\u304C\u304A\u624B\u4F1D\u3044\u3057\u307E\u3059\u3002",
@@ -324,6 +343,7 @@ var ja_JP_default = {
324
343
  "system.ai.text_assistant": "\u30C6\u30AD\u30B9\u30C8 \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
325
344
  "system.ai.thinking": "\u304C\u8FD4\u4FE1\u3057\u3066\u3044\u307E\u3059",
326
345
  "system.ai.tool_called": "\u547C\u3073\u51FA\u3057\u5148: {tools}",
346
+ "system.ai.web_search": "\u30A6\u30A7\u30D6\u691C\u7D22",
327
347
  "system.ai.upload_failed": "\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
328
348
  "system.profile.account": "\u30A2\u30AB\u30A6\u30F3\u30C8",
329
349
  "system.profile.avatar_change": "\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30A2\u30D0\u30BF\u30FC\u3092\u5909\u66F4\u3057\u307E\u3059",
@@ -359,6 +379,7 @@ var ja_JP_default = {
359
379
  "system.settings.ai_title": "\u30A4\u30F3\u30C6\u30EA\u30B8\u30A7\u30F3\u30C8 \u30A2\u30B7\u30B9\u30BF\u30F3\u30C8",
360
380
  "system.settings.go_ask": "\u8CEA\u554F\u3057\u3066\u307F\u3088\u3046",
361
381
  "system.notification.title": "\u30E1\u30C3\u30BB\u30FC\u30B8\u30BB\u30F3\u30BF\u30FC",
382
+ "system.notification.sender.system": "\u30B7\u30B9\u30C6\u30E0",
362
383
  "system.notification.description": "\u30B7\u30B9\u30C6\u30E0\u901A\u77E5\u3068\u696D\u52D9\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u78BA\u8A8D",
363
384
  "system.notification.empty": "\u30E1\u30C3\u30BB\u30FC\u30B8\u306F\u3042\u308A\u307E\u305B\u3093",
364
385
  "system.notification.action.view_all": "\u3059\u3079\u3066\u8868\u793A",
@@ -369,7 +390,13 @@ var ja_JP_default = {
369
390
  "system.notification.mark_all_read": "\u3059\u3079\u3066\u65E2\u8AAD",
370
391
  "system.notification.action.archive": "\u30A2\u30FC\u30AB\u30A4\u30D6",
371
392
  "system.notification.action.restore": "\u5FA9\u5143",
372
- "system.notification.action.delete": "\u524A\u9664"
393
+ "system.notification.action.delete": "\u524A\u9664",
394
+ "system.ai.model.provider_placeholder": "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u9078\u629E",
395
+ "system.ai.model.model_placeholder": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
396
+ "system.ai.model.load_failed": "\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3068\u30E2\u30C7\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F",
397
+ "system.ai.model.title": "\u30E2\u30C7\u30EB\u3092\u9078\u629E",
398
+ "system.ai.model.provider_model_count": "{providers} \u30D7\u30ED\u30D0\u30A4\u30C0\u30FC \xB7 {models} \u30E2\u30C7\u30EB",
399
+ "system.ai.model.empty": "\u9078\u629E\u53EF\u80FD\u306A\u30E2\u30C7\u30EB\u304C\u3042\u308A\u307E\u305B\u3093"
373
400
  };
374
401
 
375
402
  // src/locales/zh-TW.json
@@ -390,6 +417,7 @@ var zh_TW_default = {
390
417
  "system.ai.delete_session_failed": "\u522A\u9664\u6703\u8A71\u5931\u6557",
391
418
  "system.ai.efficiency_assistant": "\u6548\u7387\u52A9\u624B",
392
419
  "system.ai.failed_response": "\u9019\u6B21\u56DE\u8986\u6C92\u6709\u6210\u529F\u8FD4\u56DE\uFF0C\u4F60\u53EF\u4EE5\u76F4\u63A5\u91CD\u8A66\u525B\u624D\u7684\u554F\u984C\u3002",
420
+ "system.ai.chat.error.details_unavailable": "\u804A\u5929\u4ECB\u9762\u4E0D\u6703\u986F\u793A\u5E95\u5C64\u670D\u52D9\u932F\u8AA4\u8A73\u60C5\uFF0C\u8ACB\u67E5\u770B\u670D\u52D9\u65E5\u8A8C\u3002",
393
421
  "system.ai.general_assistant": "\u901A\u7528\u52A9\u624B",
394
422
  "system.ai.greeting": "\u60A8\u597D\uFF0C{period}\u597D\uFF01\u4ECA\u5929\u6709\u4EC0\u9EBC\u9700\u8981\u6211\u5354\u52A9\u7684\u55CE\uFF1F",
395
423
  "system.ai.greeting_hello": "\u60A8\u597D\uFF0CAI\u52A9\u624B\u70BA\u60A8\u670D\u52D9\uFF01",
@@ -437,6 +465,7 @@ var zh_TW_default = {
437
465
  "system.ai.text_assistant": "\u6587\u5B57\u52A9\u624B",
438
466
  "system.ai.thinking": "\u6B63\u5728\u56DE\u8986",
439
467
  "system.ai.tool_called": "\u5DF2\u547C\u53EB\uFF1A{tools}",
468
+ "system.ai.web_search": "\u7DB2\u8DEF\u641C\u5C0B",
440
469
  "system.ai.upload_failed": "\u9644\u4EF6\u4E0A\u50B3\u5931\u6557",
441
470
  "system.profile.account": "\u8CEC\u865F",
442
471
  "system.profile.avatar_change": "\u9EDE\u9078\u4FEE\u6539\u982D\u50CF",
@@ -472,6 +501,7 @@ var zh_TW_default = {
472
501
  "system.settings.ai_title": "\u667A\u6167\u52A9\u624B",
473
502
  "system.settings.go_ask": "\u53BB\u63D0\u554F",
474
503
  "system.notification.title": "\u6D88\u606F\u4E2D\u5FC3",
504
+ "system.notification.sender.system": "\u7CFB\u7D71",
475
505
  "system.notification.description": "\u67E5\u770B\u7CFB\u7D71\u901A\u77E5\u548C\u696D\u52D9\u6D88\u606F",
476
506
  "system.notification.empty": "\u66AB\u7121\u6D88\u606F",
477
507
  "system.notification.action.view_all": "\u67E5\u770B\u5168\u90E8",
@@ -482,7 +512,13 @@ var zh_TW_default = {
482
512
  "system.notification.mark_all_read": "\u5168\u90E8\u5DF2\u8B80",
483
513
  "system.notification.action.archive": "\u6B78\u6A94",
484
514
  "system.notification.action.restore": "\u6062\u5FA9",
485
- "system.notification.action.delete": "\u522A\u9664"
515
+ "system.notification.action.delete": "\u522A\u9664",
516
+ "system.ai.model.provider_placeholder": "\u9078\u64C7\u4F9B\u61C9\u5546",
517
+ "system.ai.model.model_placeholder": "\u9078\u64C7\u6A21\u578B",
518
+ "system.ai.model.load_failed": "\u8F09\u5165\u4F9B\u61C9\u5546\u8207\u6A21\u578B\u5931\u6557",
519
+ "system.ai.model.title": "\u9078\u64C7\u6A21\u578B",
520
+ "system.ai.model.provider_model_count": "{providers} \u500B\u4F9B\u61C9\u5546 \xB7 {models} \u500B\u6A21\u578B",
521
+ "system.ai.model.empty": "\u66AB\u7121\u53EF\u9078\u6A21\u578B"
486
522
  };
487
523
 
488
524
  // src/locales/generated.ts
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "type": "git",
8
8
  "url": "git@github.com:liujitcn/kratos-admin.git"
9
9
  },
10
- "version": "0.0.62",
10
+ "version": "0.0.65",
11
11
  "type": "module",
12
12
  "files": [
13
13
  "dist",
@@ -35,7 +35,7 @@
35
35
  "@dcloudio/uni-app": "3.0.0-5010520260709002",
36
36
  "@dcloudio/uni-ui": "^1.4.28",
37
37
  "vue": "^3.4.21",
38
- "@liujitcn/kratos-uni-app-core": "^0.0.62"
38
+ "@liujitcn/kratos-uni-app-core": "^0.0.65"
39
39
  },
40
40
  "devDependencies": {
41
41
  "esbuild": "^0.20.2",
@@ -1,4 +1,5 @@
1
1
  import {
2
+ AuthPromptError,
2
3
  getRequestAccessToken,
3
4
  handleAuthExpired,
4
5
  http,
@@ -92,7 +93,7 @@ export async function SendAiMessageStream(
92
93
  // direct stream 不经过 uni.request 拦截器,需要在这里补齐登录失效处理。
93
94
  if (response.status === 401 || response.status === 403) {
94
95
  handleAuthExpired('required')
95
- throw new Error(t('core.auth.session_expired'))
96
+ throw new AuthPromptError()
96
97
  }
97
98
  if (!response.ok) {
98
99
  throw new Error(await resolveStreamErrorMessage(response))
@@ -140,7 +141,7 @@ export function StreamAiMessageByChunkedRequest(
140
141
  }
141
142
  if (res.statusCode === 401 || res.statusCode === 403) {
142
143
  handleAuthExpired('required')
143
- reject(new Error(t('core.auth.session_expired')))
144
+ reject(new AuthPromptError())
144
145
  return
145
146
  }
146
147
  if (res.statusCode < 200 || res.statusCode >= 300) {
@@ -0,0 +1,25 @@
1
+ import { http } from '@liujitcn/kratos-uni-app-core/utils/http'
2
+ import type {
3
+ AiModelService,
4
+ ListAiProviderModelOptionsRequest,
5
+ ListAiProviderModelOptionsResponse,
6
+ } from '../../../rpc/base/v1/ai_provider'
7
+
8
+ const AI_PROVIDER_MODELS_URL = '/v1/base/ai/provider-models'
9
+
10
+ /** AI Provider模型选项服务。 */
11
+ export class AiModelServiceImpl implements AiModelService {
12
+ /** 查询已启用Provider及其可用模型。 */
13
+ ListAiProviderModelOptions(
14
+ request: ListAiProviderModelOptionsRequest,
15
+ ): Promise<ListAiProviderModelOptionsResponse> {
16
+ return http<ListAiProviderModelOptionsResponse>({
17
+ url: AI_PROVIDER_MODELS_URL,
18
+ method: 'GET',
19
+ authMode: 'required',
20
+ data: request,
21
+ })
22
+ }
23
+ }
24
+
25
+ export const defAiModelService = new AiModelServiceImpl()
@@ -15,6 +15,7 @@
15
15
  "system.ai.delete_session_failed": "Failed to delete session",
16
16
  "system.ai.efficiency_assistant": "Productivity assistant",
17
17
  "system.ai.failed_response": "The response did not complete. You can retry your previous question.",
18
+ "system.ai.chat.error.details_unavailable": "Provider error details are not exposed in chat. See the service logs.",
18
19
  "system.ai.general_assistant": "General assistant",
19
20
  "system.ai.greeting": "Good {period}, how can I help you today?",
20
21
  "system.ai.greeting_hello": "Hello, your AI assistant is ready to help.",
@@ -62,6 +63,7 @@
62
63
  "system.ai.text_assistant": "Writing assistant",
63
64
  "system.ai.thinking": "Responding",
64
65
  "system.ai.tool_called": "Tools used: {tools}",
66
+ "system.ai.web_search": "Web search",
65
67
  "system.ai.upload_failed": "Attachment upload failed",
66
68
  "system.profile.account": "Account",
67
69
  "system.profile.avatar_change": "Tap to change avatar",
@@ -97,6 +99,7 @@
97
99
  "system.settings.ai_title": "AI Assistant",
98
100
  "system.settings.go_ask": "Ask now",
99
101
  "system.notification.title": "Message Center",
102
+ "system.notification.sender.system": "System",
100
103
  "system.notification.description": "View system notifications and business messages",
101
104
  "system.notification.empty": "No messages",
102
105
  "system.notification.action.view_all": "View all",
@@ -107,5 +110,11 @@
107
110
  "system.notification.mark_all_read": "Mark all read",
108
111
  "system.notification.action.archive": "Archive",
109
112
  "system.notification.action.restore": "Restore",
110
- "system.notification.action.delete": "Delete"
113
+ "system.notification.action.delete": "Delete",
114
+ "system.ai.model.provider_placeholder": "Select a provider",
115
+ "system.ai.model.model_placeholder": "Select a model",
116
+ "system.ai.model.load_failed": "Failed to load providers and models",
117
+ "system.ai.model.title": "Select Model",
118
+ "system.ai.model.provider_model_count": "{providers} providers · {models} models",
119
+ "system.ai.model.empty": "No models available"
111
120
  }
@@ -15,6 +15,7 @@
15
15
  "system.ai.delete_session_failed": "セッションの削除に失敗しました",
16
16
  "system.ai.efficiency_assistant": "効率アシスタント",
17
17
  "system.ai.failed_response": "今回は応答が正常に返されませんでした。質問を直接再試行できます。",
18
+ "system.ai.chat.error.details_unavailable": "チャットでは内部エラーの詳細は表示されません。サービスログを確認してください。",
18
19
  "system.ai.general_assistant": "ユニバーサル アシスタント",
19
20
  "system.ai.greeting": "こんにちは、{period} こんにちは!今日は何かお手伝いが必要なことはありますか?",
20
21
  "system.ai.greeting_hello": "こんにちは、AI アシスタントがお手伝いします。",
@@ -62,6 +63,7 @@
62
63
  "system.ai.text_assistant": "テキスト アシスタント",
63
64
  "system.ai.thinking": "が返信しています",
64
65
  "system.ai.tool_called": "呼び出し先: {tools}",
66
+ "system.ai.web_search": "ウェブ検索",
65
67
  "system.ai.upload_failed": "添付ファイルのアップロードに失敗しました",
66
68
  "system.profile.account": "アカウント",
67
69
  "system.profile.avatar_change": "クリックしてアバターを変更します",
@@ -97,6 +99,7 @@
97
99
  "system.settings.ai_title": "インテリジェント アシスタント",
98
100
  "system.settings.go_ask": "質問してみよう",
99
101
  "system.notification.title": "メッセージセンター",
102
+ "system.notification.sender.system": "システム",
100
103
  "system.notification.description": "システム通知と業務メッセージを確認",
101
104
  "system.notification.empty": "メッセージはありません",
102
105
  "system.notification.action.view_all": "すべて表示",
@@ -107,5 +110,11 @@
107
110
  "system.notification.mark_all_read": "すべて既読",
108
111
  "system.notification.action.archive": "アーカイブ",
109
112
  "system.notification.action.restore": "復元",
110
- "system.notification.action.delete": "削除"
113
+ "system.notification.action.delete": "削除",
114
+ "system.ai.model.provider_placeholder": "プロバイダーを選択",
115
+ "system.ai.model.model_placeholder": "モデルを選択",
116
+ "system.ai.model.load_failed": "プロバイダーとモデルを読み込めませんでした",
117
+ "system.ai.model.title": "モデルを選択",
118
+ "system.ai.model.provider_model_count": "{providers} プロバイダー · {models} モデル",
119
+ "system.ai.model.empty": "選択可能なモデルがありません"
111
120
  }
@@ -15,6 +15,7 @@
15
15
  "system.ai.delete_session_failed": "删除会话失败",
16
16
  "system.ai.efficiency_assistant": "效率助手",
17
17
  "system.ai.failed_response": "这次回复没有成功返回,你可以直接重试刚才的问题。",
18
+ "system.ai.chat.error.details_unavailable": "聊天界面不展示底层服务错误详情,请查看服务日志。",
18
19
  "system.ai.general_assistant": "通用助手",
19
20
  "system.ai.greeting": "您好,{period}好!今天有什么需要我协助的吗?",
20
21
  "system.ai.greeting_hello": "您好,AI助手为您服务!",
@@ -62,6 +63,7 @@
62
63
  "system.ai.text_assistant": "文本助手",
63
64
  "system.ai.thinking": "正在回复",
64
65
  "system.ai.tool_called": "已调用:{tools}",
66
+ "system.ai.web_search": "联网搜索",
65
67
  "system.ai.upload_failed": "附件上传失败",
66
68
  "system.profile.account": "账号",
67
69
  "system.profile.avatar_change": "点击修改头像",
@@ -97,6 +99,7 @@
97
99
  "system.settings.ai_title": "智能助手",
98
100
  "system.settings.go_ask": "去提问",
99
101
  "system.notification.title": "消息中心",
102
+ "system.notification.sender.system": "系统",
100
103
  "system.notification.description": "查看系统通知和业务消息",
101
104
  "system.notification.empty": "暂无消息",
102
105
  "system.notification.action.view_all": "查看全部",
@@ -107,5 +110,11 @@
107
110
  "system.notification.mark_all_read": "全部已读",
108
111
  "system.notification.action.archive": "归档",
109
112
  "system.notification.action.restore": "恢复",
110
- "system.notification.action.delete": "删除"
113
+ "system.notification.action.delete": "删除",
114
+ "system.ai.model.provider_placeholder": "选择供应商",
115
+ "system.ai.model.model_placeholder": "选择模型",
116
+ "system.ai.model.load_failed": "加载供应商和模型失败",
117
+ "system.ai.model.title": "选择模型",
118
+ "system.ai.model.provider_model_count": "{providers} 个供应商 · {models} 个模型",
119
+ "system.ai.model.empty": "暂无可选模型"
111
120
  }
@@ -15,6 +15,7 @@
15
15
  "system.ai.delete_session_failed": "刪除會話失敗",
16
16
  "system.ai.efficiency_assistant": "效率助手",
17
17
  "system.ai.failed_response": "這次回覆沒有成功返回,你可以直接重試剛才的問題。",
18
+ "system.ai.chat.error.details_unavailable": "聊天介面不會顯示底層服務錯誤詳情,請查看服務日誌。",
18
19
  "system.ai.general_assistant": "通用助手",
19
20
  "system.ai.greeting": "您好,{period}好!今天有什麼需要我協助的嗎?",
20
21
  "system.ai.greeting_hello": "您好,AI助手為您服務!",
@@ -62,6 +63,7 @@
62
63
  "system.ai.text_assistant": "文字助手",
63
64
  "system.ai.thinking": "正在回覆",
64
65
  "system.ai.tool_called": "已呼叫:{tools}",
66
+ "system.ai.web_search": "網路搜尋",
65
67
  "system.ai.upload_failed": "附件上傳失敗",
66
68
  "system.profile.account": "賬號",
67
69
  "system.profile.avatar_change": "點選修改頭像",
@@ -97,6 +99,7 @@
97
99
  "system.settings.ai_title": "智慧助手",
98
100
  "system.settings.go_ask": "去提問",
99
101
  "system.notification.title": "消息中心",
102
+ "system.notification.sender.system": "系統",
100
103
  "system.notification.description": "查看系統通知和業務消息",
101
104
  "system.notification.empty": "暫無消息",
102
105
  "system.notification.action.view_all": "查看全部",
@@ -107,5 +110,11 @@
107
110
  "system.notification.mark_all_read": "全部已讀",
108
111
  "system.notification.action.archive": "歸檔",
109
112
  "system.notification.action.restore": "恢復",
110
- "system.notification.action.delete": "刪除"
113
+ "system.notification.action.delete": "刪除",
114
+ "system.ai.model.provider_placeholder": "選擇供應商",
115
+ "system.ai.model.model_placeholder": "選擇模型",
116
+ "system.ai.model.load_failed": "載入供應商與模型失敗",
117
+ "system.ai.model.title": "選擇模型",
118
+ "system.ai.model.provider_model_count": "{providers} 個供應商 · {models} 個模型",
119
+ "system.ai.model.empty": "暫無可選模型"
111
120
  }
@@ -46,7 +46,13 @@ export interface SendAiMessageRequest {
46
46
  /** 附件列表 */
47
47
  attachments: AiAttachment[];
48
48
  /** 助手动作 */
49
- action: AiAction | undefined;
49
+ action:
50
+ | AiAction
51
+ | undefined;
52
+ /** 所选供应商ID;留空时使用首个可用模型 */
53
+ provider_id: number;
54
+ /** 所选模型名称 */
55
+ model_name: string;
50
56
  }
51
57
 
52
58
  /** AI 助手失败消息重试请求 */
@@ -0,0 +1,41 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.8
4
+ // protoc unknown
5
+ // source: base/v1/ai_provider.proto
6
+
7
+ /* eslint-disable */
8
+
9
+ /** AI Provider模型选项查询请求。 */
10
+ export interface ListAiProviderModelOptionsRequest {
11
+ }
12
+
13
+ /** AI Provider模型选项查询响应。 */
14
+ export interface ListAiProviderModelOptionsResponse {
15
+ /** Provider及其模型列表 */
16
+ providers: AiProviderModelOption[];
17
+ }
18
+
19
+ /** 已启用的AI Provider及其模型选项。 */
20
+ export interface AiProviderModelOption {
21
+ /** Provider ID */
22
+ provider_id: number;
23
+ /** Provider名称 */
24
+ name: string;
25
+ /** 模型选项列表 */
26
+ models: AiProviderModel[];
27
+ }
28
+
29
+ /** AI Provider下的单个模型选项。 */
30
+ export interface AiProviderModel {
31
+ /** 模型名称 */
32
+ model_name: string;
33
+ /** 展示名称 */
34
+ display_name: string;
35
+ }
36
+
37
+ /** AI Provider 可选模型查询服务。 */
38
+ export interface AiModelService {
39
+ /** 查询已启用的AI Provider及其可用模型。 */
40
+ ListAiProviderModelOptions(request: ListAiProviderModelOptionsRequest): Promise<ListAiProviderModelOptionsResponse>;
41
+ }
@@ -108,6 +108,8 @@ export interface DeleteAiSessionResponse {
108
108
  export interface AiSession {
109
109
  /** 会话ID */
110
110
  id: string;
111
+ /** 租户ID */
112
+ tenant_id: number;
111
113
  /** 会话标题 */
112
114
  title: string;
113
115
  /** 会话摘要 */
@@ -124,6 +126,8 @@ export interface AiSession {
124
126
  export interface AiMessage {
125
127
  /** 消息ID */
126
128
  id: string;
129
+ /** 租户ID */
130
+ tenant_id: number;
127
131
  /** 输入内容 */
128
132
  input_content:
129
133
  | AiInputContent
@@ -278,6 +278,8 @@ export interface DeleteNotificationRequest {
278
278
  export interface Notification {
279
279
  /** 投递ID */
280
280
  id: number;
281
+ /** 租户ID */
282
+ tenant_id: number;
281
283
  /** 消息ID */
282
284
  message_id: number;
283
285
  /** 分类ID */