-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdatabase.sql
More file actions
3172 lines (2971 loc) · 280 KB
/
Copy pathdatabase.sql
File metadata and controls
3172 lines (2971 loc) · 280 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ad_clicks
-- ----------------------------
DROP TABLE IF EXISTS `ad_clicks`;
CREATE TABLE `ad_clicks` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`ad_id` int UNSIGNED NOT NULL COMMENT '广告ID',
`ip` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '访客IP',
`user_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户代理',
`referer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源页面',
`click_time` datetime NULL DEFAULT NULL COMMENT '点击时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_ad_id`(`ad_id` ASC) USING BTREE,
INDEX `idx_click_time`(`click_time` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '广告点击统计表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ad_clicks
-- ----------------------------
-- ----------------------------
-- Table structure for admin_roles
-- ----------------------------
DROP TABLE IF EXISTS `admin_roles`;
CREATE TABLE `admin_roles` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '角色描述',
`permissions` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '权限列表(JSON格式)',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of admin_roles
-- ----------------------------
INSERT INTO `admin_roles` VALUES (1, '超级管理员', '拥有系统所有权限,包括系统配置、用户管理、内容管理等全部功能', '[\"*\"]', 1, 1, '2025-10-12 02:12:51', '2025-11-30 17:35:17');
INSERT INTO `admin_roles` VALUES (2, '管理员', '管理员拥有系统大部分功能的完整管理权限,包括内容管理、AI功能、站点配置、模板管理、定时任务等,但不包括系统核心配置(system_config.edit)、角色权限管理(role.*)、后台用户管理(admin_user.*)、数据库还原(database.restore)等核心权限', '[\"dashboard.*\", \"article.*\", \"category.*\", \"tag.*\", \"page.*\", \"topic.*\", \"custom_field.*\", \"content_model.*\", \"media.*\", \"watermark.*\", \"thumbnail.*\", \"video.*\", \"comment.*\", \"comment_report.*\", \"violation.*\", \"front_user.view\", \"front_user.read\", \"front_user.edit\", \"front_user.block\", \"member_level.*\", \"ad.*\", \"ad_position.*\", \"slider.*\", \"link.*\", \"ai_config.*\", \"ai_provider.*\", \"ai_model.*\", \"ai_prompt.*\", \"ai_article.*\", \"ai_image.*\", \"site.*\", \"site_config.*\", \"template_package.*\", \"template.view\", \"template.edit\", \"template.check\", \"template_type.*\", \"build.*\", \"seo_analyzer.*\", \"seo_404.*\", \"seo_redirect.*\", \"seo_robot.*\", \"sitemap.*\", \"system_config.view\", \"storage.*\", \"email.*\", \"sms.*\", \"oauth.*\", \"sensitive_word.*\", \"ip_filter.*\", \"cron_job.*\", \"queue.*\", \"operation_log.*\", \"system_log.*\", \"query_monitor.*\", \"database.view\", \"database.backup\", \"database.download\", \"database.delete\", \"database_optimize.*\", \"cache.*\", \"notification_template.*\", \"notification.*\", \"contribute_config.*\", \"contribute.*\", \"point_shop_goods.*\", \"point_shop_order.*\", \"recycle_bin.*\", \"api_doc.view\", \"profile.*\"]', 2, 1, '2025-10-12 02:12:51', '2025-11-30 20:46:29');
INSERT INTO `admin_roles` VALUES (3, '编辑', '可以管理文章、分类、标签、页面、专题、评论等内容相关功能,但无法管理用户和系统设置', '[\n \"dashboard.view\",\n \"article.view\",\n \"article.read\",\n \"article.create\",\n \"article.edit\",\n \"article.delete\",\n \"article.publish\",\n \"article.batch\",\n \"article.flag\",\n \"article.version\",\n \"category.view\",\n \"category.read\",\n \"category.create\",\n \"category.edit\",\n \"tag.view\",\n \"tag.read\",\n \"tag.create\",\n \"tag.edit\",\n \"tag.delete\",\n \"tag.merge\",\n \"page.view\",\n \"page.read\",\n \"page.create\",\n \"page.edit\",\n \"page.delete\",\n \"topic.view\",\n \"topic.read\",\n \"topic.create\",\n \"topic.edit\",\n \"topic.delete\",\n \"topic.article\",\n \"custom_field.view\",\n \"media.view\",\n \"media.upload\",\n \"media.edit\",\n \"media.delete\",\n \"media.move\",\n \"comment.view\",\n \"comment.read\",\n \"comment.approve\",\n \"comment.delete\",\n \"comment.batch\",\n \"comment_report.view\",\n \"comment_report.handle\",\n \"violation.view\",\n \"violation.handle\",\n \"ai_prompt.view\",\n \"ai_article.view\",\n \"ai_article.create\",\n \"ai_image.view\",\n \"ai_image.create\",\n \"template.view\",\n \"build.index\",\n \"build.article\",\n \"build.category\",\n \"build.tag\",\n \"build.page\",\n \"seo_analyzer.view\",\n \"seo_404.view\",\n \"sitemap.view\",\n \"sitemap.generate\",\n \"contribute.view\",\n \"contribute.read\",\n \"contribute.approve\",\n \"contribute.reject\",\n \"recycle_bin.view\",\n \"recycle_bin.restore\",\n \"profile.*\"\n ]', 3, 1, '2025-10-12 02:12:51', '2025-11-30 17:35:17');
INSERT INTO `admin_roles` VALUES (4, '作者', '只能创建和编辑自己的文章,上传媒体文件,查看分类和标签', '[\n \"dashboard.view\",\n \"article.view\",\n \"article.read\",\n \"article.create\",\n \"article.edit_own\",\n \"article.version\",\n \"category.view\",\n \"category.read\",\n \"tag.view\",\n \"tag.read\",\n \"tag.create\",\n \"media.view\",\n \"media.upload\",\n \"media.edit\",\n \"ai_article.view\",\n \"ai_article.create\",\n \"ai_image.view\",\n \"ai_image.create\",\n \"profile.*\"\n ]', 4, 1, '2025-10-12 02:12:51', '2025-11-30 17:35:17');
-- ----------------------------
-- Table structure for admin_users
-- ----------------------------
DROP TABLE IF EXISTS `admin_users`;
CREATE TABLE `admin_users` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(哈希)',
`real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '真实姓名',
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像',
`role_id` int UNSIGNED NOT NULL DEFAULT 3 COMMENT '角色ID:1=超管,2=管理员,3=编辑,4=作者',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=启用',
`last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
`last_login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最后登录IP',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_username`(`username` ASC) USING BTREE,
INDEX `idx_role_id`(`role_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '管理员用户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of admin_users
-- ----------------------------
INSERT INTO `admin_users` VALUES (1, 'admin', '$2y$10$xpuuHKDpthvJEOaVq9AOv.03eFimQqh4yHkpYIzdC55H6gm8.9QlS', '系统管理员', 'sinma@sinma.net', '13131313131', 'uploads/avatar/2025/11/28/avatar_1_20251128111803.png', 1, 1, '2025-12-01 00:48:08', '127.0.0.1', '2025-10-12 02:12:51', '2025-12-01 00:48:08');
INSERT INTO `admin_users` VALUES (2, 'testadmin', '$2y$10$fweJRsiu2nD47mHZrFzGgehsMGDME8Wkx6MJx.Ox/3JBWWWUPibye', 'Test Admin', 'testadmin@test.com', NULL, NULL, 1, 1, '2025-10-28 11:53:46', '127.0.0.1', '2025-10-28 11:50:19', '2025-10-28 11:53:46');
INSERT INTO `admin_users` VALUES (3, 'manager', '$2y$10$W8Cn.fIHjGG5FWIUJoZSn.NQ/TFK.yqQ3vJCUu0ph7zg4KTBPjMgK', '管理员测试', 'manager@test.com', NULL, NULL, 2, 1, '2025-11-30 20:53:29', '127.0.0.1', '2025-11-30 19:05:11', '2025-11-30 20:53:30');
INSERT INTO `admin_users` VALUES (4, 'editor', '$2y$10$gYNKrEhwHpAR2X9BXz1K8.2VpcQ69UdeT6GE8LULUMLFzOLWXAc7.', '编辑测试', 'editor@test.com', NULL, NULL, 3, 1, '2025-11-30 19:06:12', '127.0.0.1', '2025-11-30 19:05:58', '2025-11-30 19:06:13');
INSERT INTO `admin_users` VALUES (5, 'author', '$2y$10$.9MJ6YHGRGMSLLncGTkkw.zbhuzWZHI2NWwmv.j9JwNokoOf41NPq', '作者测试', 'author@test.com', NULL, NULL, 4, 1, '2025-11-30 19:07:57', '127.0.0.1', '2025-11-30 19:07:08', '2025-11-30 19:07:58');
-- ----------------------------
-- Table structure for ads
-- ----------------------------
DROP TABLE IF EXISTS `ads`;
CREATE TABLE `ads` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '广告ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`position_id` int UNSIGNED NOT NULL COMMENT '广告位ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '广告名称',
`type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'image' COMMENT '广告类型:image=图片,code=代码,carousel=轮播',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '广告内容(图片URL或HTML代码)',
`link_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '链接地址',
`images` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '轮播图片(JSON数组)',
`start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=启用',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`click_count` int NOT NULL DEFAULT 0 COMMENT '点击次数',
`view_count` int NOT NULL DEFAULT 0 COMMENT '展示次数',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`deleted_at` datetime NULL DEFAULT NULL COMMENT '删除时间(软删除)',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_position_id`(`position_id` ASC) USING BTREE,
INDEX `idx_type`(`type` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_time`(`start_time` ASC, `end_time` ASC) USING BTREE,
INDEX `idx_sort`(`sort` ASC) USING BTREE,
INDEX `idx_deleted_at`(`deleted_at` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '广告表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ads
-- ----------------------------
INSERT INTO `ads` VALUES (1, 1, 1, '春季促销活动', 'image', 'https://www.carefreecms.com/uploads/2025/10/21/20251021002334_68f66206c30e6.jpg', 'https://example.com/sale', '[]', '2025-10-31 16:00:00', '2025-11-29 16:00:00', 1, 1, 0, 0, '2025-10-19 00:58:34', '2025-11-23 04:45:05', NULL);
INSERT INTO `ads` VALUES (2, 1, 2, '产品推荐', 'image', 'https://www.carefreecms.com/uploads/2025/10/21/20251021002344_68f6621032001.jpg', 'https://example.com/products', '[]', '2025-10-31 16:00:00', '2025-11-29 16:00:00', 1, 2, 0, 0, '2025-10-19 00:58:34', '2025-11-23 04:45:05', NULL);
-- ----------------------------
-- Table structure for ai_article_tasks
-- ----------------------------
DROP TABLE IF EXISTS `ai_article_tasks`;
CREATE TABLE `ai_article_tasks` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT,
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称',
`topic` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '生成主题(或最终生成的完整提示词)',
`prompt_template_id` int UNSIGNED NULL DEFAULT NULL COMMENT '提示词模板ID',
`prompt_variables` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '提示词变量值(JSON)',
`category_id` int UNSIGNED NULL DEFAULT NULL COMMENT '目标分类ID',
`ai_config_id` int UNSIGNED NOT NULL COMMENT 'AI配置ID',
`total_count` int NOT NULL DEFAULT 1 COMMENT '计划生成数量',
`generated_count` int NOT NULL DEFAULT 0 COMMENT '已生成数量',
`success_count` int NOT NULL DEFAULT 0 COMMENT '成功数量',
`failed_count` int NOT NULL DEFAULT 0 COMMENT '失败数量',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'pending' COMMENT '状态:pending待处理/processing处理中/completed已完成/failed失败/stopped已停止',
`settings` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '生成设置(JSON):文章长度、风格、是否自动发布等',
`error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '错误信息',
`started_at` datetime NULL DEFAULT NULL COMMENT '开始时间',
`completed_at` datetime NULL DEFAULT NULL COMMENT '完成时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_category_id`(`category_id` ASC) USING BTREE,
INDEX `idx_ai_config_id`(`ai_config_id` ASC) USING BTREE,
INDEX `idx_prompt_template_id`(`prompt_template_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI文章生成任务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_article_tasks
-- ----------------------------
-- ----------------------------
-- Table structure for ai_configs
-- ----------------------------
DROP TABLE IF EXISTS `ai_configs`;
CREATE TABLE `ai_configs` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT,
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置名称',
`provider` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'AI提供商:openai/claude/wenxin/tongyi/chatglm',
`api_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'API密钥',
`api_endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'API端点(可选)',
`model` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型名称',
`max_tokens` int NULL DEFAULT 2000 COMMENT '最大token数',
`temperature` decimal(3, 2) NULL DEFAULT 0.70 COMMENT '温度参数 0-1',
`settings` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '其他配置(JSON格式)',
`is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置',
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态:0禁用 1启用',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_provider`(`provider` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI配置表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_configs
-- ----------------------------
INSERT INTO `ai_configs` VALUES (3, 1, '逍遥免费AI', 'carefreeai', 'sk-VDnLLud4H4QLfNXh3460630fA7324b32B94311B64751E2F0', '', 'hunyuan-lite', 2000, 0.70, '[]', 0, 1, '2025-12-01 01:32:04', '2025-12-01 01:32:04');
-- ----------------------------
-- Table structure for ai_generated_articles
-- ----------------------------
DROP TABLE IF EXISTS `ai_generated_articles`;
CREATE TABLE `ai_generated_articles` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT,
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`task_id` int UNSIGNED NOT NULL COMMENT '任务ID',
`article_id` int UNSIGNED NULL DEFAULT NULL COMMENT '文章ID(生成后关联)',
`prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '使用的提示词',
`request_prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '实际发送给AI的提示词',
`generated_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '生成的标题',
`generated_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '生成的内容',
`raw_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT 'AI原始返回结果(JSON)',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'pending' COMMENT '状态:pending待处理/success成功/failed失败',
`error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '错误信息',
`tokens_used` int NULL DEFAULT 0 COMMENT '使用的token数',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_task_id`(`task_id` ASC) USING BTREE,
INDEX `idx_article_id`(`article_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI生成文章记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for ai_image_prompt_templates
-- ----------------------------
DROP TABLE IF EXISTS `ai_image_prompt_templates`;
CREATE TABLE `ai_image_prompt_templates` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`site_id` int NOT NULL COMMENT '站点ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类:人物/风景/抽象/商业等',
`prompt_template` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '提示词模板',
`negative_prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '负面提示词',
`variables` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '变量定义(JSON)',
`default_width` int NULL DEFAULT NULL COMMENT '默认宽度',
`default_height` int NULL DEFAULT NULL COMMENT '默认高度',
`default_style` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '默认风格',
`thumbnail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模板缩略图',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '模板描述',
`usage_count` int NOT NULL DEFAULT 0 COMMENT '使用次数',
`is_public` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否公开',
`is_builtin` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否内置',
`sort_order` int NOT NULL DEFAULT 0 COMMENT '排序',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_category`(`category` ASC) USING BTREE,
INDEX `idx_is_public`(`is_public` ASC) USING BTREE,
INDEX `idx_usage_count`(`usage_count` ASC) USING BTREE,
INDEX `idx_sort_order`(`sort_order` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI图片提示词模板表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_image_prompt_templates
-- ----------------------------
-- ----------------------------
-- Table structure for ai_image_tasks
-- ----------------------------
DROP TABLE IF EXISTS `ai_image_tasks`;
CREATE TABLE `ai_image_tasks` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`site_id` int NOT NULL COMMENT '站点ID',
`user_id` int NOT NULL COMMENT '用户ID',
`ai_model_id` int NOT NULL COMMENT 'AI模型ID',
`prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '生成提示词',
`negative_prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '负面提示词',
`template_id` int NULL DEFAULT NULL COMMENT '提示词模板ID',
`template_variables` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '模板变量(JSON)',
`image_count` int NOT NULL DEFAULT 1 COMMENT '生成图片数量',
`width` int NULL DEFAULT NULL COMMENT '图片宽度',
`height` int NULL DEFAULT NULL COMMENT '图片高度',
`style` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '风格',
`quality` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '质量',
`extra_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '其他参数(JSON)',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending' COMMENT '状态:pending/processing/completed/failed',
`progress` int NOT NULL DEFAULT 0 COMMENT '进度0-100',
`generated_count` int NOT NULL DEFAULT 0 COMMENT '已生成数量',
`error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '错误信息',
`cost_tokens` int NULL DEFAULT NULL COMMENT '消耗token数',
`cost_amount` decimal(10, 4) NULL DEFAULT NULL COMMENT '消耗金额',
`started_at` datetime NULL DEFAULT NULL COMMENT '开始时间',
`completed_at` datetime NULL DEFAULT NULL COMMENT '完成时间',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_ai_model_id`(`ai_model_id` ASC) USING BTREE,
INDEX `idx_template_id`(`template_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_created_at`(`created_at` ASC) USING BTREE,
CONSTRAINT `fk_ai_image_tasks_model` FOREIGN KEY (`ai_model_id`) REFERENCES `ai_models` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI图片生成任务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_image_tasks
-- ----------------------------
-- ----------------------------
-- Table structure for ai_models
-- ----------------------------
DROP TABLE IF EXISTS `ai_models`;
CREATE TABLE `ai_models` (
`id` int NOT NULL AUTO_INCREMENT,
`provider_id` int NOT NULL COMMENT '所属厂商ID',
`model_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模型代码',
`model_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模型名称',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型描述',
`context_window` int NULL DEFAULT NULL COMMENT '上下文窗口大小',
`max_output_tokens` int NULL DEFAULT NULL COMMENT '最大输出tokens',
`supports_functions` tinyint(1) NULL DEFAULT 0 COMMENT '是否支持函数调用',
`supports_text_generation` tinyint(1) NULL DEFAULT 1 COMMENT '支持文本生成',
`supports_vision` tinyint(1) NULL DEFAULT 0 COMMENT '是否支持视觉',
`supports_image_input` tinyint(1) NULL DEFAULT 0 COMMENT '支持图像输入/理解',
`supports_image_generation` tinyint(1) NULL DEFAULT 0 COMMENT '支持图像生成(如DALL-E)',
`supports_audio_input` tinyint(1) NULL DEFAULT 0 COMMENT '支持音频输入/语音识别(STT)',
`supports_audio_output` tinyint(1) NULL DEFAULT 0 COMMENT '支持音频输出/文本转语音(TTS)',
`supports_audio_generation` tinyint(1) NULL DEFAULT 0 COMMENT '支持音频生成(如音乐、音效)',
`supports_video_input` tinyint(1) NULL DEFAULT 0 COMMENT '支持视频输入/理解',
`supports_video_generation` tinyint(1) NULL DEFAULT 0 COMMENT '支持视频生成',
`supports_document_parsing` tinyint(1) NULL DEFAULT 0 COMMENT '支持文档解析(PDF/Word/Excel等)',
`supports_code_generation` tinyint(1) NULL DEFAULT 0 COMMENT '支持代码生成',
`supports_code_interpreter` tinyint(1) NULL DEFAULT 0 COMMENT '支持代码解释器/执行',
`supports_realtime_voice` tinyint(1) NULL DEFAULT 0 COMMENT '支持实时语音对话',
`supports_streaming` tinyint(1) NULL DEFAULT 1 COMMENT '支持流式输出',
`supports_embeddings` tinyint(1) NULL DEFAULT 0 COMMENT '支持嵌入向量生成',
`supports_web_search` tinyint(1) NULL DEFAULT 0 COMMENT '支持网络搜索集成',
`multimodal_capabilities` json NULL COMMENT '多模态能力详细配置(JSON)',
`is_custom` tinyint(1) NULL DEFAULT 0 COMMENT '是否自定义模型',
`is_builtin` tinyint(1) NULL DEFAULT 0 COMMENT '是否内置',
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态',
`sort_order` int NULL DEFAULT 0 COMMENT '排序',
`pricing_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '价格信息JSON',
`extra_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '额外配置JSON',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_provider_id`(`provider_id` ASC) USING BTREE,
INDEX `idx_model_code`(`model_code` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_sort_order`(`sort_order` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 194 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI模型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_models
-- ----------------------------
INSERT INTO `ai_models` VALUES (1, 1, 'gpt-4-turbo-2024-04-09', 'GPT-4 Turbo (最新)', 'GPT-4 Turbo最新版本,支持视觉', 128000, NULL, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, '{\"vision_quality\": \"good\"}', 0, 1, 0, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (2, 1, 'gpt-4', 'GPT-4 (8K)', 'GPT-4标准版,8K上下文', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, '{\"vision_quality\": \"good\"}', 0, 1, 0, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (3, 1, 'gpt-4-32k', 'GPT-4 (32K)', 'GPT-4扩展版,32K上下文', 32768, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, '{\"vision_quality\": \"good\"}', 0, 1, 0, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (4, 1, 'gpt-3.5-turbo', 'GPT-3.5 Turbo (16K)', '快速且经济的模型', 16384, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (5, 1, 'gpt-3.5-turbo-16k', 'GPT-3.5 Turbo (16K)', '扩展上下文版本', 16384, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (6, 2, 'claude-3-opus-20240229', 'Claude 3 Opus', '最强大的Claude模型', 200000, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"vision_quality\": \"good\"}', 0, 1, 0, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (7, 2, 'claude-3-sonnet-20240229', 'Claude 3 Sonnet', '平衡性能和成本', 200000, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"vision_quality\": \"good\"}', 0, 1, 0, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (8, 2, 'claude-3-haiku-20240307', 'Claude 3 Haiku', '快速且经济的模型', 200000, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"vision_quality\": \"good\"}', 0, 1, 0, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (9, 2, 'claude-2.1', 'Claude 2.1', '上一代Claude模型', 100000, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (10, 2, 'claude-2.0', 'Claude 2.0', 'Claude 2基础版', 100000, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (11, 3, 'gemini-1.5-pro', 'Gemini 1.5 Pro', 'Gemini 1.5 Pro,支持超长上下文和多模态', 2000000, NULL, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, '{\"audio_quality\": \"good\", \"vision_quality\": \"good\", \"native_multimodal\": true}', 0, 1, 0, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (12, 3, 'gemini-1.5-flash', 'Gemini 1.5 Flash', 'Gemini 1.5 Flash,快速高效的多模态模型', 1000000, NULL, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, '{\"audio_quality\": \"good\", \"vision_quality\": \"good\", \"native_multimodal\": true}', 0, 1, 0, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (13, 3, 'gemini-pro', 'Gemini Pro', '专业版模型', 30720, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (14, 3, 'gemini-pro-vision', 'Gemini Pro Vision', '支持视觉理解', 30720, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (16, 4, 'ernie-3.5-8k', '文心大模型 3.5 (8K)', '文心3.5标准版', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (17, 4, 'ernie-3.5-128k', '文心大模型 3.5 (128K)', '超长上下文版本', 131072, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (18, 4, 'ernie-speed-8k', '文心极速版 (8K)', '快速响应,经济实惠', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (19, 4, 'ernie-lite-8k', '文心轻量版 (8K)', '轻量级模型', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (20, 5, 'qwen-turbo', '通义千问 Turbo', '快速响应,性价比高', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"long_context\": true}', 0, 1, 1, 1, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (21, 5, 'qwen-plus', '通义千问 Plus', '增强版本,效果更好', 32768, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"long_context\": true}', 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (22, 5, 'qwen-max', '通义千问 Max', '最强大的通义千问模型', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"long_context\": true}', 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (23, 5, 'qwen-max-longcontext', '通义千问 Max (长文本)', '支持超长上下文', 30000, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"long_context\": true}', 0, 1, 1, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (24, 6, 'glm-4', 'GLM-4', 'GLM-4基础模型,支持长文本和函数调用', 128000, NULL, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (25, 6, 'glm-4v', 'GLM-4V', 'GLM-4视觉版本', 2048, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"vision_focus\": true}', 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (27, 6, 'chatglm_turbo', 'ChatGLM Turbo', 'ChatGLM快速版', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (28, 7, 'deepseek-chat', 'DeepSeek Chat', 'DeepSeek对话模型', 32768, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"code_focus\": true}', 0, 1, 1, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (29, 7, 'deepseek-coder', 'DeepSeek Coder', '专业代码生成模型', 32768, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"code_focus\": true}', 0, 1, 1, 6, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (36, 10, 'generalv3.5', '星火3.5', '讯飞星火3.5版本', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 1, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (37, 10, 'generalv3', '星火3.0', '讯飞星火3.0版本', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (38, 10, 'generalv2', '星火2.0', '讯飞星火2.0版本', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (39, 11, 'hunyuan-lite', '混元 Lite', '轻量版本,快速响应', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 1, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (40, 11, 'hunyuan-standard', '混元 Standard', '标准版本', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (41, 11, 'hunyuan-pro', '混元 Pro', '专业版本,效果更好', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (42, 12, 'abab6-chat', 'ABAB 6', 'MiniMax ABAB 6对话模型', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (43, 12, 'abab5.5-chat', 'ABAB 5.5', 'MiniMax ABAB 5.5对话模型', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (44, 12, 'abab5-chat', 'ABAB 5', 'MiniMax ABAB 5对话模型', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (45, 13, 'gpt-3.5-turbo', 'GPT-3.5 Turbo', 'OpenAI兼容接口常用模型', 16384, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (46, 13, 'gpt-4', 'GPT-4', 'OpenAI兼容接口高级模型', 8192, NULL, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, '{\"vision_quality\": \"good\"}', 0, 1, 0, 2, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (47, 13, 'claude-2', 'Claude-2', 'Claude兼容接口', 100000, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (48, 13, 'llama-2-70b', 'Llama 2 70B', 'Meta Llama模型', 4096, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (49, 13, 'mistral-7b', 'Mistral 7B', 'Mistral AI模型', 8192, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 5, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (50, 13, 'custom-model', '其他自定义模型', '可手动输入任意模型名称', 4096, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 6, NULL, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_models` VALUES (51, 14, 'MiniMax-M2', 'MiniMax-M2', 'MiniMax-M2', NULL, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 0, 1, 0, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (52, 14, 'hunyuan-lite', 'hunyuan-lite', 'hunyuan-lite', NULL, NULL, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, '{\"chinese_optimized\": true}', 0, 0, 1, 0, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (62, 7, 'deepseek-r1', 'DeepSeek-R1', 'DeepSeek推理增强模型,擅长数学和逻辑推理', 64000, 16384, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, '{\"complex_tasks\": true, \"reasoning_focus\": true}', 0, 1, 1, 4, NULL, NULL, '2025-11-13 23:44:34', '2025-11-13 23:44:34');
INSERT INTO `ai_models` VALUES (97, 2, 'claude-opus-4-5', 'Claude Opus 4.5', 'Anthropic最新旗舰模型,代码能力世界第一,SWE-bench达80.9%准确率', 200000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (98, 2, 'claude-sonnet-4-5', 'Claude Sonnet 4.5', 'Claude 4.5系列平衡版,推理和数学能力大幅提升', 200000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (99, 2, 'claude-haiku-4-5', 'Claude Haiku 4.5', 'Claude 4.5系列快速版,低延迟优化,性价比极高', 200000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (100, 1, 'gpt-5', 'GPT-5', 'GPT-5旗舰模型,包含DALL-E 3图像生成能力', 200000, 32768, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (101, 1, 'gpt-5-1', 'GPT-5.1', 'GPT-5升级版,更温暖、更强大,可自定义语气和风格', 200000, 32768, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (102, 1, 'gpt-4-1', 'GPT-4.1', 'GPT-4升级版,代码和指令遵循能力大幅提升', 128000, 16384, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (103, 1, 'gpt-4-1-mini', 'GPT-4.1 Mini', 'GPT-4.1轻量版,性价比高', 128000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (104, 1, 'gpt-4-1-nano', 'GPT-4.1 Nano', 'GPT-4.1超轻量版,速度最快', 64000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 5, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (105, 1, 'o3', 'O3', 'OpenAI最新推理模型,深度思考能力', 200000, 65536, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 6, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (106, 1, 'o4-mini', 'O4 Mini', 'O4推理模型轻量版', 128000, 32768, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 7, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (107, 3, 'gemini-3', 'Gemini 3', 'Google最新智能模型,推理深度空前,19/20基准测试领先', 2000000, 8192, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (108, 3, 'gemini-3-pro', 'Gemini 3 Pro', 'Gemini 3 Pro版本,跨文本、图像、视频、音频、代码无缝整合', 2000000, 8192, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (109, 3, 'gemini-3-deep-think', 'Gemini 3 Deep Think', 'Gemini 3深度思考模式,Ultra订阅用户专享', 2000000, 16384, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (110, 3, 'gemini-2-5-pro', 'Gemini 2.5 Pro', 'Gemini 2.5系列旗舰,支持自适应思考', 2000000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (111, 3, 'gemini-2-5-flash', 'Gemini 2.5 Flash', 'Gemini 2.5快速版,高性能低成本', 1000000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 5, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (112, 3, 'gemini-2-5-flash-lite', 'Gemini 2.5 Flash Lite', 'Gemini 2.5超轻量版', 1000000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 6, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (113, 7, 'deepseek-v3-2-exp', 'DeepSeek V3.2 Exp', 'DeepSeek最新实验版,引入DSA稀疏注意力,成本降低50%', 64000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (114, 7, 'deepseek-v3-1', 'DeepSeek V3.1', 'DeepSeek混合架构,思考/非思考双模式,SWE-bench提升40%', 64000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (115, 7, 'deepseek-r2', 'DeepSeek R2', 'DeepSeek第二代推理模型', 64000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (116, 5, 'qwen3-max', 'Qwen3 Max', 'Qwen3系列旗舰,MoE架构,预训练数据超20T tokens', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (117, 5, 'qwen3-coder-plus', 'Qwen3 Coder Plus', 'Qwen3代码增强版,强大Coding Agent能力', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (118, 5, 'qwen2-5-max', 'Qwen2.5 Max', 'Qwen2.5系列旗舰', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (119, 5, 'qwen2-5-vl', 'Qwen2.5 VL', 'Qwen2.5视觉理解升级版', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (120, 5, 'qwen2-5-1m', 'Qwen2.5 1M', 'Qwen2.5百万token长文本处理,Dual Chunk Attention机制', 1000000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 5, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (121, 5, 'qwen2-5-omni', 'Qwen2.5 Omni', 'Qwen2.5多模态模型', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 6, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (122, 4, 'ernie-4.5-moe-47b', 'ERNIE 4.5 MoE 47B', '百度文心4.5系列MoE模型,47B激活参数,424B总参数,已开源Apache 2.0', 200000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (123, 4, 'ernie-4.5-moe-3b', 'ERNIE 4.5 MoE 3B', '百度文心4.5系列轻量MoE模型,3B激活参数', 128000, 4096, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (124, 4, 'ernie-4.5-0.3b', 'ERNIE 4.5 0.3B', '百度文心4.5系列超轻量Dense模型,0.3B参数', 64000, 4096, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (125, 4, 'ernie-5.0-preview', 'ERNIE 5.0 Preview', '百度文心5.0预览版,原生全模态,可处理文本/图像/音频/视频,性能超越GPT-5和Gemini 2.5 Pro', 200000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (126, 6, 'glm-4.5', 'GLM-4.5', '智谱AI旗舰Agent基础模型,355B总参数32B激活,全球第三、开源第一,MIT开源', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (127, 6, 'glm-realtime', 'GLM-Realtime', 'GLM实时多模态模型,端到端视频理解和语音交互,支持唱歌功能', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (128, 9, 'doubao-seed-1.6', 'Doubao Seed 1.6', '豆包1.6全功能模型,256K上下文,自适应思考,综合能力提升32%', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (129, 9, 'doubao-seed-1.6-thinking', 'Doubao Seed 1.6 Thinking', '豆包1.6深度推理版,编码+58%、数学+43%,支持复杂Agent', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (130, 9, 'doubao-seed-1.6-flash', 'Doubao Seed 1.6 Flash', '豆包1.6极速版,适用于实时交互场景', 256000, 4096, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (131, 9, 'doubao-seed-code', 'Doubao Seed Code', '豆包编程模型,专为Agentic Coding优化,256K上下文+视觉理解', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (132, 8, 'kimi-k1.5', 'Kimi K1.5', 'Kimi K1.5模型,数学/编码/多模态推理达到o1级别', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (133, 8, 'kimi-k2', 'Kimi K2', 'Kimi K2模型,1T总参数32B激活MoE架构,256K上下文', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (134, 8, 'kimi-k2-thinking', 'Kimi K2 Thinking', 'Kimi K2 Thinking推理模型,1T参数32B激活,支持200-300工具调用,开源SOTA推理模型', 256000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (135, 8, 'kimi-linear', 'Kimi Linear', 'Kimi Linear架构,线性注意力机制,推理速度6倍提升,KV缓存减少75%', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (136, 10, 'spark-x1.5', 'Spark X1.5', '讯飞星火X1.5深度推理模型,全国产算力训练,MoE架构,推理效率提升100%', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (137, 10, 'spark-x1', 'Spark X1', '讯飞星火X1推理模型,对标o1和DeepSeek R1,数学和知识问答优异', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (138, 10, 'spark-4.0-ultra', 'Spark 4.0 Ultra', '讯飞星火4.0 Ultra,图文识别能力升级,文档识别准确率+40%', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (139, 10, 'spark-4.0-turbo', 'Spark 4.0 Turbo', '讯飞星火4.0 Turbo,高性能版本', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (140, 12, 'minimax-text-01', 'MiniMax Text 01', 'MiniMax-01文本模型,456B参数45.9B激活,4M上下文(GPT-4o的32倍),线性注意力机制', 4000000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (141, 12, 'minimax-vl-01', 'MiniMax VL 01', 'MiniMax-01视觉多模态模型,456B参数,4M上下文', 4000000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (142, 12, 'minimax-m1', 'MiniMax M1', 'MiniMax-M1混合注意力推理模型,1M上下文,80K生成长度,Lightning Attention机制', 1000000, 80000, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (143, 12, 'minimax-m2', 'MiniMax M2', 'MiniMax-M2稀疏MoE模型,230B总参数10B激活,开源第一,性能接近Claude 4.5 Sonnet', 256000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (144, 16, 'llama-4-scout', 'Llama 4 Scout', 'Meta Llama 4 Scout,多模态MoE模型,16专家17B激活参数,10M上下文,单H100可运行', 10000000, 8192, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (145, 16, 'llama-4-maverick', 'Llama 4 Maverick', 'Meta Llama 4 Maverick,128专家17B激活参数,400B总参数', 10000000, 8192, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (146, 16, 'llama-4-behemoth', 'Llama 4 Behemoth', 'Meta Llama 4 Behemoth,史上最强Llama模型,2T总参数(训练中)', 10000000, 8192, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 0, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (147, 17, 'mistral-large-2.1', 'Mistral Large 2.1', 'Mistral Large 2.1(2024年11月),长上下文理解提升,函数调用更准确', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (148, 17, 'mistral-medium-3', 'Mistral Medium 3', 'Mistral Medium 3,平衡前沿性能和成本,比Large便宜10倍', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (149, 17, 'mistral-small-3.1', 'Mistral Small 3.1', 'Mistral Small 3.1(2025年3月),24B参数多模态模型,128K上下文,150 tokens/s', 128000, 8192, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (150, 17, 'codestral-2501', 'Codestral 2501', 'Codestral 2501(2025年1月),专业编程模型', 128000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (151, 18, 'grok-4.1', 'Grok 4.1', 'xAI Grok 4.1(2025年11月18日),LMArena排名#2(1465 Elo),非推理模式', 2000000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (152, 18, 'grok-4.1-thinking', 'Grok 4.1 Thinking', 'xAI Grok 4.1 Thinking,LMArena排名#1(1483 Elo),领先第二名31分', 2000000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (153, 18, 'grok-4-fast', 'Grok 4 Fast', 'xAI Grok 4 Fast,高性价比推理模型,2M上下文,统一推理/非推理架构', 2000000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 3, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (154, 18, 'grok-4', 'Grok 4', 'xAI Grok 4(2025年7月9日),旗舰模型', 2000000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 4, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (155, 18, 'grok-4-heavy', 'Grok 4 Heavy', 'xAI Grok 4 Heavy,重量级版本', 2000000, 16384, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 5, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (156, 19, 'command-a-03-2025', 'Command A', 'Cohere Command A(2025年3月),111B参数,256K上下文,吞吐量比Command R+提升150%,擅长工具使用/RAG/Agent/多语言', 256000, 8192, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 1, NULL, NULL, NULL, NULL);
INSERT INTO `ai_models` VALUES (157, 19, 'command-r-plus-08-2024', 'Command R+ 08-2024', 'Cohere Command R+(2024年8月),104B参数,企业级模型', 128000, 4096, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, NULL, 0, 1, 1, 2, NULL, NULL, NULL, NULL);
-- ----------------------------
-- Table structure for ai_prompt_templates
-- ----------------------------
DROP TABLE IF EXISTS `ai_prompt_templates`;
CREATE TABLE `ai_prompt_templates` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT,
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类:article/product/news/custom',
`prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '提示词内容',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述',
`variables` json NULL COMMENT '可用变量说明',
`is_system` tinyint(1) NULL DEFAULT 0 COMMENT '是否系统预置',
`sort_order` int NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态:0禁用 1启用',
`usage_count` int NULL DEFAULT 0 COMMENT '使用次数',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_category`(`category` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI提示词模板表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_prompt_templates
-- ----------------------------
INSERT INTO `ai_prompt_templates` VALUES (1, 1, '科技文章模板', '科技文章', '请根据以下主题撰写一篇专业的科技文章:\n\n【主题】{topic}\n\n【要求】\n- 字数:{length}字左右\n- 文章风格:{style}\n- 关键词:{keywords}\n- 文章结构完整,包含标题、引言、正文、总结\n- 内容专业、准确、易读\n\n请直接输出文章内容。', '适用于科技行业的专业文章撰写,可指定字数、风格和关键词', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 1000, \"required\": false}, {\"name\": \"style\", \"type\": \"select\", \"label\": \"文章风格\", \"default\": \"专业\", \"options\": [\"专业\", \"通俗易懂\", \"学术\"], \"required\": false}, {\"name\": \"keywords\", \"type\": \"text\", \"label\": \"关键词\", \"default\": \"\", \"required\": false}]', 1, 1, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (2, 1, '产品介绍模板', '产品介绍', '请根据以下主题撰写一篇产品介绍文章:\n\n【主题】{topic}\n\n【要求】\n- 字数:{length}字左右\n- 产品类型:{product_type}\n- 核心卖点:{key_features}\n- 突出产品优势和特色\n- 语言生动、具有说服力\n- 包含使用场景描述\n\n请直接输出文章内容。', '用于产品宣传和介绍的文章模板', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 800, \"required\": false}, {\"name\": \"product_type\", \"type\": \"text\", \"label\": \"产品类型\", \"default\": \"软件产品\", \"required\": false}, {\"name\": \"key_features\", \"type\": \"textarea\", \"label\": \"核心卖点\", \"default\": \"功能强大、易于使用\", \"required\": false}]', 1, 2, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (3, 1, '新闻报道模板', '新闻报道', '请根据以下主题撰写一篇新闻报道:\n\n【主题】{topic}\n\n【要求】\n- 字数:{length}字左右\n- 新闻时间:{news_time}\n- 新闻地点:{news_location}\n- 采用新闻写作风格,客观、准确\n- 结构:标题、导语、正文、结尾\n- 突出新闻要素:5W1H\n\n请直接输出新闻内容。', '用于撰写新闻报道类文章', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 600, \"required\": false}, {\"name\": \"news_time\", \"type\": \"text\", \"label\": \"新闻时间\", \"default\": \"今日\", \"required\": false}, {\"name\": \"news_location\", \"type\": \"text\", \"label\": \"新闻地点\", \"default\": \"\", \"required\": false}]', 1, 3, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (4, 1, '教程指南模板', '教程指南', '请根据以下主题撰写一篇教程指南:\n\n【主题】{topic}\n\n【要求】\n- 字数:{length}字左右\n- 目标读者:{target_level}\n- 步骤清晰、易于理解\n- 包含具体操作步骤\n- 结构:简介、准备工作、详细步骤、注意事项、总结\n\n请直接输出教程内容。', '用于撰写操作指南和教程类文章', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 1500, \"required\": false}, {\"name\": \"target_level\", \"type\": \"select\", \"label\": \"目标读者水平\", \"default\": \"初学者\", \"options\": [\"初学者\", \"进阶用户\", \"专业人士\"], \"required\": false}]', 1, 4, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (5, 1, '行业分析模板', '行业分析', '请根据以下主题撰写一篇行业分析文章:\n\n【主题】{topic}\n\n【要求】\n- 字数:{length}字左右\n- 分析角度:{analysis_focus}\n- 时间范围:{time_range}\n- 包含数据和案例支撑\n- 结构:行业概述、市场现状、发展趋势、机遇与挑战、总结\n- 分析深入、观点明确\n\n请直接输出分析文章。', '用于撰写行业分析和市场研究类文章', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 2000, \"required\": false}, {\"name\": \"analysis_focus\", \"type\": \"select\", \"label\": \"分析角度\", \"default\": \"整体发展\", \"options\": [\"整体发展\", \"技术创新\", \"市场竞争\", \"政策影响\"], \"required\": false}, {\"name\": \"time_range\", \"type\": \"text\", \"label\": \"时间范围\", \"default\": \"2024-2025\", \"required\": false}]', 1, 5, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (6, 1, 'SEO优化文章模板', 'SEO文章', '请撰写一篇SEO优化的文章:\n\n【主题】{topic}\n\n【SEO要求】\n- 字数:{length}字左右\n- 目标关键词:{keywords}\n- 长尾关键词:{long_tail_keywords}\n- 内容深度:{depth}\n- 关键词密度:2-3%,自然融入,避免堆砌\n- 标题包含主关键词\n- 每个段落都有小标题(H2/H3)\n- 结构清晰,利于搜索引擎抓取\n\n【内容要求】\n- 满足用户搜索意图\n- 提供实用价值\n- 包含数据和案例\n- 适当内链建议\n\n请直接输出文章内容。', '专门用于SEO优化的文章撰写,提升搜索引擎排名', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 1500, \"required\": false}, {\"name\": \"keywords\", \"type\": \"text\", \"label\": \"目标关键词\", \"default\": \"\", \"required\": false, \"placeholder\": \"主要优化的关键词\"}, {\"name\": \"long_tail_keywords\", \"type\": \"text\", \"label\": \"长尾关键词\", \"default\": \"\", \"required\": false, \"placeholder\": \"相关长尾词,逗号分隔\"}, {\"name\": \"depth\", \"type\": \"select\", \"label\": \"内容深度\", \"default\": \"深入\", \"options\": [\"基础介绍\", \"中等深度\", \"深入分析\"], \"required\": false}]', 1, 6, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (7, 1, '营销软文模板', '营销文案', '请撰写一篇营销软文:\n\n【主题】{topic}\n\n【营销要求】\n- 字数:{length}字左右\n- 产品/服务:{product}\n- 目标人群:{target_audience}\n- 营销角度:{marketing_angle}\n- 转化目标:{conversion_goal}\n\n【写作要求】\n- 不要硬广,自然植入\n- 讲故事,引发共鸣\n- 突出痛点和解决方案\n- 建立信任感\n- 软性引导行动\n\n请直接输出软文内容。', '适用于产品推广、品牌宣传的营销软文', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 1000, \"required\": false}, {\"name\": \"product\", \"type\": \"text\", \"label\": \"产品/服务\", \"default\": \"\", \"required\": false, \"placeholder\": \"推广的产品或服务\"}, {\"name\": \"target_audience\", \"type\": \"text\", \"label\": \"目标人群\", \"default\": \"年轻白领\", \"required\": false, \"placeholder\": \"如:年轻白领、宝妈、企业主\"}, {\"name\": \"marketing_angle\", \"type\": \"select\", \"label\": \"营销角度\", \"default\": \"痛点解决\", \"options\": [\"痛点解决\", \"场景化\", \"对比优势\", \"用户案例\", \"情感共鸣\"], \"required\": false}, {\"name\": \"conversion_goal\", \"type\": \"text\", \"label\": \"转化目标\", \"default\": \"了解产品\", \"required\": false, \"placeholder\": \"如:咨询、下单、注册\"}]', 1, 7, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (8, 1, '技术博客模板', '技术博客', '请撰写一篇技术博客文章:\n\n【主题】{topic}\n\n【技术要求】\n- 字数:{length}字左右\n- 技术难度:{difficulty}\n- 是否包含代码:{include_code}\n- 技术栈:{tech_stack}\n\n【内容结构】\n- 背景介绍:为什么需要这个技术\n- 核心概念:关键原理讲解\n- 实现步骤:详细操作指南\n- 代码示例:实际应用代码(如需要)\n- 注意事项:常见问题和解决方案\n- 总结:最佳实践建议\n\n请直接输出博客内容。', '适用于技术分享、开发经验总结的博客文章', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文章字数\", \"default\": 2000, \"required\": false}, {\"name\": \"difficulty\", \"type\": \"select\", \"label\": \"技术难度\", \"default\": \"中级\", \"options\": [\"入门级\", \"中级\", \"高级\"], \"required\": false}, {\"name\": \"include_code\", \"type\": \"select\", \"label\": \"是否包含代码\", \"default\": \"是\", \"options\": [\"是\", \"否\"], \"required\": false}, {\"name\": \"tech_stack\", \"type\": \"text\", \"label\": \"技术栈\", \"default\": \"\", \"required\": false, \"placeholder\": \"如:Vue.js、Python、Docker等\"}]', 1, 8, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (9, 1, '电商产品描述模板', '电商文案', '请为以下产品撰写吸引人的产品描述:\n\n【产品】{topic}\n\n【产品信息】\n- 产品类型:{product_type}\n- 核心卖点:{selling_points}\n- 目标用户:{target_users}\n- 价格区间:{price_range}\n\n【描述要求】\n- 字数:{length}字左右\n- 开头吸引眼球\n- 突出核心优势(3-5个)\n- 解决用户痛点\n- 使用场景描述\n- 包含购买理由\n- 添加紧迫感(限时优惠等)\n- 结尾引导下单\n\n请直接输出产品描述。', '专门用于电商平台的产品详情页文案', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"文案字数\", \"default\": 500, \"required\": false}, {\"name\": \"product_type\", \"type\": \"text\", \"label\": \"产品类型\", \"default\": \"\", \"required\": false, \"placeholder\": \"如:服饰、电子产品、食品\"}, {\"name\": \"selling_points\", \"type\": \"textarea\", \"label\": \"核心卖点\", \"default\": \"\", \"required\": false, \"placeholder\": \"产品的主要优势,一行一个\"}, {\"name\": \"target_users\", \"type\": \"text\", \"label\": \"目标用户\", \"default\": \"大众用户\", \"required\": false, \"placeholder\": \"如:年轻女性、科技爱好者\"}, {\"name\": \"price_range\", \"type\": \"text\", \"label\": \"价格区间\", \"default\": \"中等价位\", \"required\": false, \"placeholder\": \"如:高端、中等、实惠\"}]', 1, 9, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (10, 1, '社交媒体文案模板', '社交媒体', '请创作一条社交媒体文案:\n\n【主题】{topic}\n\n【平台要求】\n- 目标平台:{platform}\n- 文案长度:{length}字左右\n- 内容风格:{style}\n- 互动目标:{engagement_goal}\n\n【创作要求】\n- 开头3秒抓住注意力\n- 语言轻松、口语化\n- 适当使用emoji表情\n- 包含话题标签\n- 引导互动(点赞、评论、转发)\n- 添加行动号召\n\n请直接输出文案内容。', '适用于微博、小红书、抖音等社交平台的内容创作', '[{\"name\": \"platform\", \"type\": \"select\", \"label\": \"目标平台\", \"default\": \"通用\", \"options\": [\"通用\", \"微信公众号\", \"微博\", \"小红书\", \"抖音\", \"快手\"], \"required\": false}, {\"name\": \"length\", \"type\": \"number\", \"label\": \"文案长度\", \"default\": 200, \"required\": false}, {\"name\": \"style\", \"type\": \"select\", \"label\": \"内容风格\", \"default\": \"轻松幽默\", \"options\": [\"轻松幽默\", \"专业干货\", \"情感共鸣\", \"励志鸡汤\", \"种草推荐\"], \"required\": false}, {\"name\": \"engagement_goal\", \"type\": \"select\", \"label\": \"互动目标\", \"default\": \"点赞收藏\", \"options\": [\"点赞收藏\", \"评论互动\", \"转发分享\", \"引流私信\"], \"required\": false}]', 1, 10, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (11, 1, '问答知识模板', '问答Q&A', '请针对以下问题撰写详细解答:\n\n【问题】{topic}\n\n【回答要求】\n- 字数:{length}字左右\n- 回答风格:{style}\n- 专业程度:{expertise_level}\n\n【内容结构】\n- 直接回答:开门见山给出答案\n- 详细解释:为什么是这样\n- 举例说明:实际案例辅助理解\n- 注意事项:相关的补充提醒\n- 总结建议:实用的行动建议\n\n请直接输出回答内容。', '适用于知乎、百度知道等问答平台的内容创作', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"回答字数\", \"default\": 600, \"required\": false}, {\"name\": \"style\", \"type\": \"select\", \"label\": \"回答风格\", \"default\": \"通俗易懂\", \"options\": [\"通俗易懂\", \"专业严谨\", \"幽默风趣\", \"简洁明了\"], \"required\": false}, {\"name\": \"expertise_level\", \"type\": \"select\", \"label\": \"专业程度\", \"default\": \"中等\", \"options\": [\"基础科普\", \"中等专业\", \"高度专业\"], \"required\": false}]', 1, 11, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (12, 1, '故事创作模板', '故事创作', '请根据以下主题创作一个故事:\n\n【主题】{topic}\n\n【故事要求】\n- 字数:{length}字左右\n- 故事类型:{story_type}\n- 叙事视角:{perspective}\n- 情节节奏:{pacing}\n\n【创作要求】\n- 开头引人入胜\n- 人物形象鲜明\n- 情节合理有冲突\n- 细节描写生动\n- 结尾有回味\n\n请直接输出故事内容。', '适用于创意写作、小说片段、营销故事等', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"故事字数\", \"default\": 1200, \"required\": false}, {\"name\": \"story_type\", \"type\": \"select\", \"label\": \"故事类型\", \"default\": \"现实主义\", \"options\": [\"现实主义\", \"悬疑推理\", \"奇幻冒险\", \"爱情故事\", \"励志成长\", \"科幻未来\"], \"required\": false}, {\"name\": \"perspective\", \"type\": \"select\", \"label\": \"叙事视角\", \"default\": \"第三人称\", \"options\": [\"第一人称\", \"第三人称\", \"全知视角\"], \"required\": false}, {\"name\": \"pacing\", \"type\": \"select\", \"label\": \"情节节奏\", \"default\": \"适中\", \"options\": [\"快节奏\", \"适中\", \"慢节奏\"], \"required\": false}]', 1, 12, 1, 9, NULL, '2025-11-25 14:47:03');
INSERT INTO `ai_prompt_templates` VALUES (13, 1, '演讲稿模板', '演讲稿', '请撰写一篇演讲稿:\n\n【主题】{topic}\n\n【演讲信息】\n- 字数:{length}字左右(约{speech_duration}分钟)\n- 听众对象:{audience}\n- 演讲场合:{occasion}\n- 演讲风格:{style}\n\n【演讲结构】\n- 开场白:吸引听众注意\n- 主题引入:点明演讲主题\n- 核心内容:分点阐述(2-3个要点)\n- 案例故事:增强说服力\n- 号召行动:激发听众行动\n- 结束语:升华主题\n\n【表达要求】\n- 语言口语化,适合朗读\n- 使用排比、反问等修辞\n- 情感充沛,富有感染力\n- 结构清晰,逻辑严密\n\n请直接输出演讲稿内容。', '适用于各类演讲、发言、讲话稿撰写', '[{\"name\": \"length\", \"type\": \"number\", \"label\": \"演讲字数\", \"default\": 800, \"required\": false}, {\"name\": \"speech_duration\", \"type\": \"select\", \"label\": \"演讲时长\", \"default\": \"5\", \"options\": [\"3\", \"5\", \"10\", \"15\", \"20\"], \"required\": false}, {\"name\": \"audience\", \"type\": \"text\", \"label\": \"听众对象\", \"default\": \"公司员工\", \"required\": false, \"placeholder\": \"如:公司员工、学生、行业专家\"}, {\"name\": \"occasion\", \"type\": \"text\", \"label\": \"演讲场合\", \"default\": \"内部会议\", \"required\": false, \"placeholder\": \"如:年会、培训、论坛\"}, {\"name\": \"style\", \"type\": \"select\", \"label\": \"演讲风格\", \"default\": \"激励鼓舞\", \"options\": [\"激励鼓舞\", \"专业严谨\", \"轻松幽默\", \"深刻感人\"], \"required\": false}]', 1, 13, 1, 9, NULL, '2025-11-25 14:47:03');
-- ----------------------------
-- Table structure for ai_providers
-- ----------------------------
DROP TABLE IF EXISTS `ai_providers`;
CREATE TABLE `ai_providers` (
`id` int NOT NULL AUTO_INCREMENT,
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '厂商代码',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '厂商名称',
`name_en` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '厂商英文名称',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '厂商描述',
`logo_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Logo URL',
`website` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '官网地址',
`api_doc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'API文档地址',
`is_custom` tinyint(1) NULL DEFAULT 0 COMMENT '是否自定义厂商',
`is_builtin` tinyint(1) NULL DEFAULT 0 COMMENT '是否内置',
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态',
`sort_order` int NULL DEFAULT 0 COMMENT '排序',
`config_fields` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '配置字段定义JSON',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`code` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_sort_order`(`sort_order` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI厂商表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of ai_providers
-- ----------------------------
INSERT INTO `ai_providers` VALUES (1, 'openai', 'OpenAI (GPT-3.5/4)', 'OpenAI', 'OpenAI的GPT系列模型,包括GPT-3.5和GPT-4', NULL, NULL, NULL, 0, 1, 1, 1, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (2, 'claude', 'Claude (Anthropic)', 'Claude', 'Anthropic的Claude系列模型', NULL, NULL, NULL, 0, 1, 1, 2, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (3, 'gemini', 'Google Gemini', 'Google Gemini', 'Google的Gemini系列模型', NULL, NULL, NULL, 0, 1, 1, 3, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (4, 'wenxin', '百度文心一言', 'Baidu Wenxin', '百度的文心一言大模型', NULL, NULL, NULL, 0, 1, 1, 4, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (5, 'tongyi', '阿里通义千问', 'Alibaba Tongyi', '阿里巴巴的通义千问大模型', NULL, NULL, NULL, 0, 1, 1, 5, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (6, 'chatglm', '智谱ChatGLM', 'Zhipu ChatGLM', '智谱AI的ChatGLM系列模型', NULL, NULL, NULL, 0, 1, 1, 6, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (7, 'deepseek', 'DeepSeek', 'DeepSeek', 'DeepSeek系列模型', NULL, NULL, NULL, 0, 1, 1, 7, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (8, 'kimi', '月之暗面 Kimi', 'Moonshot Kimi', '月之暗面的Kimi模型', NULL, NULL, NULL, 0, 1, 1, 8, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (9, 'doubao', '字节跳动 豆包', 'ByteDance Doubao', '字节跳动的豆包模型', NULL, NULL, NULL, 0, 1, 1, 9, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (10, 'spark', '讯飞星火', 'iFlytek Spark', '科大讯飞的星火认知大模型', NULL, NULL, NULL, 0, 1, 1, 10, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (11, 'hunyuan', '腾讯混元', 'Tencent Hunyuan', '腾讯的混元大模型', NULL, NULL, NULL, 0, 1, 1, 11, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (12, 'minimax', 'MiniMax', 'MiniMax', 'MiniMax的ABAB系列模型', NULL, NULL, NULL, 0, 1, 1, 12, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (13, 'custom', '自定义(兼容OpenAI API)', 'Custom (OpenAI Compatible)', '自定义API服务,兼容OpenAI接口格式', NULL, NULL, NULL, 0, 1, 1, 99, NULL, '2025-11-09 20:55:03', '2025-11-09 20:55:03');
INSERT INTO `ai_providers` VALUES (14, 'carefreeai', '逍遥免费AI', 'Carefree', '逍遥免费AI', NULL, 'https://www.carefreecode.com', 'https://www.carefreecode.com', 0, 0, 1, 0, NULL, NULL, NULL);
INSERT INTO `ai_providers` VALUES (15, 'stability', 'Stability AI', NULL, 'Stable Diffusion图像生成', NULL, NULL, NULL, 0, 1, 1, 0, NULL, NULL, NULL);
INSERT INTO `ai_providers` VALUES (16, 'meta', 'Meta (Llama)', NULL, 'Meta开源大语言模型', NULL, NULL, NULL, 0, 1, 1, 0, NULL, NULL, NULL);
INSERT INTO `ai_providers` VALUES (17, 'mistral', 'Mistral AI', NULL, '法国开源AI公司', NULL, NULL, NULL, 0, 1, 1, 0, NULL, NULL, NULL);
INSERT INTO `ai_providers` VALUES (18, 'xai', 'xAI (Grok)', NULL, 'Elon Musk的AI公司', NULL, NULL, NULL, 0, 1, 1, 0, NULL, NULL, NULL);
INSERT INTO `ai_providers` VALUES (19, 'cohere', 'Cohere', NULL, '企业级AI模型提供商', NULL, NULL, NULL, 0, 1, 1, 0, NULL, NULL, NULL);
-- ----------------------------
-- Table structure for article_flags
-- ----------------------------
DROP TABLE IF EXISTS `article_flags`;
CREATE TABLE `article_flags` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '属性名称',
`flag_value` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '属性值',
`is_show` tinyint(1) NULL DEFAULT 1 COMMENT '是否显示 1-是 0-否',
`sort_order` int NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态 1-启用 0-禁用',
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `flag_value`(`flag_value` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文章属性表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of article_flags
-- ----------------------------
INSERT INTO `article_flags` VALUES (1, '头条', 'h', 1, 1, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (2, '推荐', 'c', 1, 2, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (3, '加推', 'a', 0, 3, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (4, '标题', 'b', 0, 4, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (5, '有图', 'p', 1, 5, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (6, '外链', 'j', 1, 6, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (7, '轮播', 's', 0, 7, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (8, '滚动', 'r', 0, 8, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
INSERT INTO `article_flags` VALUES (9, '热文', 'd', 0, 9, 1, '2025-10-14 20:57:52', '2025-10-14 20:57:52');
-- ----------------------------
-- Table structure for article_versions
-- ----------------------------
DROP TABLE IF EXISTS `article_versions`;
CREATE TABLE `article_versions` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '版本ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`article_id` int UNSIGNED NOT NULL COMMENT '文章ID',
`version_number` int UNSIGNED NOT NULL COMMENT '版本号',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文章标题',
`slug` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL别名',
`summary` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文章摘要',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文章内容',
`cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '封面图',
`images` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '文章图片集',
`category_id` int UNSIGNED NOT NULL COMMENT '分类ID',
`user_id` int UNSIGNED NOT NULL COMMENT '作者ID',
`tags` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '标签JSON',
`author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '作者名称',
`source` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文章来源',
`source_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源URL',
`view_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览量',
`like_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '点赞数',
`comment_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '评论数',
`is_top` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否置顶',
`is_recommend` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否推荐',
`is_hot` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否热门',
`publish_time` datetime NULL DEFAULT NULL COMMENT '发布时间',
`seo_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'SEO标题',
`seo_keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'SEO关键词',
`seo_description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'SEO描述',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0-草稿,1-已发布,2-待审核',
`flags` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '标记',
`change_log` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '修改说明',
`created_by` int UNSIGNED NULL DEFAULT NULL COMMENT '创建版本的用户ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_article_id`(`article_id` ASC) USING BTREE,
INDEX `idx_version_number`(`version_number` ASC) USING BTREE,
INDEX `idx_create_time`(`create_time` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '文章版本表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for articles
-- ----------------------------
DROP TABLE IF EXISTS `articles`;
CREATE TABLE `articles` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '文章ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`source_id` int UNSIGNED NULL DEFAULT NULL COMMENT '源记录ID(用于标识复制关系)',
`category_id` int UNSIGNED NOT NULL COMMENT '分类ID',
`user_id` int UNSIGNED NOT NULL COMMENT '作者ID',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文章标题',
`slug` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'URL别名',
`summary` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文章摘要',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文章内容',
`cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '封面图片',
`images` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '文章图片集(JSON格式)',
`author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '作者名称(显示用)',
`source` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文章来源',
`source_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '来源链接',
`view_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '浏览次数',
`like_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '点赞数',
`comment_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '评论数',
`is_top` tinyint NOT NULL DEFAULT 0 COMMENT '是否置顶:0=否,1=是',
`is_recommend` tinyint NOT NULL DEFAULT 0 COMMENT '是否推荐:0=否,1=是',
`is_hot` tinyint NOT NULL DEFAULT 0 COMMENT '是否热门:0=否,1=是',
`publish_time` datetime NULL DEFAULT NULL COMMENT '发布时间',
`seo_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO标题',
`seo_keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO关键词',
`seo_description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO描述',
`og_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Open Graph标题',
`og_description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Open Graph描述',
`og_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'Open Graph图片',
`twitter_card` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'summary' COMMENT 'Twitter卡片类型:summary, summary_large_image, app, player',
`canonical_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '规范链接',
`schema_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'Article' COMMENT 'Schema.org类型',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0=草稿,1=已发布,2=待审核,3=已下线',
`flags` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '文章属性(多个属性值组合,如hcp)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted_at` datetime NULL DEFAULT NULL,
`is_contribute` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否投稿',
`audit_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '审核状态(0待审核/1已通过/2已拒绝)',
`audit_user_id` int UNSIGNED NULL DEFAULT NULL COMMENT '审核人ID',
`audit_time` datetime NULL DEFAULT NULL COMMENT '审核时间',
`audit_remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '审核备注',
`reward_points` int NOT NULL DEFAULT 0 COMMENT '奖励积分',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_site_slug`(`site_id` ASC, `slug` ASC) USING BTREE,
INDEX `idx_category_id`(`category_id` ASC) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_status_publish`(`status` ASC, `publish_time` ASC) USING BTREE,
INDEX `idx_is_top`(`is_top` ASC) USING BTREE,
INDEX `idx_is_recommend`(`is_recommend` ASC) USING BTREE,
INDEX `idx_is_hot`(`is_hot` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_source_id`(`source_id` ASC) USING BTREE,
FULLTEXT INDEX `ft_title_content`(`title`, `content`)
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文章表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for categories
-- ----------------------------
DROP TABLE IF EXISTS `categories`;
CREATE TABLE `categories` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分类ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`source_id` int UNSIGNED NULL DEFAULT NULL COMMENT '源记录ID(用于标识复制关系)',
`parent_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '父分类ID,0表示顶级分类',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
`slug` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'URL别名',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '分类描述',
`cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '封面图片',
`template` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'category' COMMENT '分类模板名称',
`seo_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO标题',
`seo_keywords` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO关键词',
`seo_description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'SEO描述',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted_at` datetime NULL DEFAULT NULL COMMENT '删除时间(软删除)',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_site_slug`(`site_id` ASC, `slug` ASC) USING BTREE,
INDEX `idx_parent_id`(`parent_id` ASC) USING BTREE,
INDEX `idx_status_sort`(`status` ASC, `sort` ASC) USING BTREE,
INDEX `idx_deleted_at`(`deleted_at` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE,
INDEX `idx_source_id`(`source_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '分类表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for chunked_upload_sessions
-- ----------------------------
DROP TABLE IF EXISTS `chunked_upload_sessions`;
CREATE TABLE `chunked_upload_sessions` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`user_id` int UNSIGNED NOT NULL COMMENT '用户ID',
`site_id` int UNSIGNED NULL DEFAULT NULL COMMENT '站点ID',
`upload_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '上传标识(唯一)',
`file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文件名',
`file_size` bigint NOT NULL COMMENT '文件总大小(字节)',
`file_hash` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件哈希(完成后计算)',
`mime_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'MIME类型',
`chunk_size` int NOT NULL DEFAULT 2097152 COMMENT '分片大小(字节,默认2MB)',
`total_chunks` int NOT NULL COMMENT '总分片数',
`uploaded_chunks` int NOT NULL DEFAULT 0 COMMENT '已上传分片数',
`temp_dir` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '临时目录路径',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'uploading' COMMENT '状态:uploading/merging/completed/failed',
`media_id` int UNSIGNED NULL DEFAULT NULL COMMENT '完成后的媒体ID',
`error_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
`expires_at` datetime NOT NULL COMMENT '过期时间',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
`completed_at` datetime NULL DEFAULT NULL COMMENT '完成时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_upload_id`(`upload_id` ASC) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_expires_at`(`expires_at` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '分片上传会话表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for comment_emojis
-- ----------------------------
DROP TABLE IF EXISTS `comment_emojis`;
CREATE TABLE `comment_emojis` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '表情名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '表情代码(如 :smile:)',
`image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表情图片URL',
`unicode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'Unicode字符(如 ?)',
`category` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'default' COMMENT '分类(default-默认 custom-自定义)',
`sort` int NULL DEFAULT 0 COMMENT '排序',
`is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0-否 1-是)',
`use_count` int NULL DEFAULT 0 COMMENT '使用次数',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_code`(`code` ASC) USING BTREE,
INDEX `idx_category`(`category` ASC) USING BTREE,
INDEX `idx_enabled`(`is_enabled` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评论表情表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of comment_emojis
-- ----------------------------
INSERT INTO `comment_emojis` VALUES (1, '微笑', ':smile:', NULL, '😀', '表情', 1, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (2, '大笑', ':laugh:', NULL, '😂', '表情', 2, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (3, '眨眼', ':wink:', NULL, '😉', '表情', 3, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (4, '喜欢', ':heart_eyes:', NULL, '😍', '表情', 4, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (5, '亲吻', ':kiss:', NULL, '😘', '表情', 5, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (6, '思考', ':thinking:', NULL, '🤔', '表情', 6, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (7, '无语', ':neutral:', NULL, '😐', '表情', 7, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (8, '流汗', ':sweat:', NULL, '😅', '表情', 8, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (9, '尴尬', ':flushed:', NULL, '😳', '表情', 9, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (10, '哭泣', ':cry:', NULL, '😢', '表情', 10, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (11, '大哭', ':sob:', NULL, '😭', '表情', 11, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (12, '生气', ':angry:', NULL, '😠', '表情', 12, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (13, '惊讶', ':surprised:', NULL, '😮', '表情', 13, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (14, '害怕', ':fearful:', NULL, '😨', '表情', 14, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (15, '困倦', ':sleepy:', NULL, '😴', '表情', 15, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (16, '点赞', ':thumbsup:', NULL, '👍', '手势', 20, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (17, '点踩', ':thumbsdown:', NULL, '👎', '手势', 21, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (18, '好的', ':ok:', NULL, '👌', '手势', 22, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (19, '胜利', ':victory:', NULL, '✌️', '手势', 23, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (20, '鼓掌', ':clap:', NULL, '👏', '手势', 24, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (21, '祈祷', ':pray:', NULL, '🙏', '手势', 25, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (22, '强壮', ':muscle:', NULL, '💪', '手势', 26, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (23, '握手', ':handshake:', NULL, '🤝', '手势', 27, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (24, '红心', ':heart:', NULL, '❤️', '心形', 30, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (25, '心碎', ':broken_heart:', NULL, '💔', '心形', 31, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (26, '橙心', ':orange_heart:', NULL, '🧡', '心形', 32, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (27, '黄心', ':yellow_heart:', NULL, '💛', '心形', 33, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (28, '绿心', ':green_heart:', NULL, '💚', '心形', 34, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (29, '蓝心', ':blue_heart:', NULL, '💙', '心形', 35, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (30, '紫心', ':purple_heart:', NULL, '💜', '心形', 36, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (31, '黑心', ':black_heart:', NULL, '🖤', '心形', 37, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (32, '火焰', ':fire:', NULL, '🔥', '心形', 38, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (33, '星星', ':star:', NULL, '⭐', '心形', 39, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (34, '对勾', ':check:', NULL, '✅', '符号', 40, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (35, '叉号', ':x:', NULL, '❌', '符号', 41, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (36, '感叹', ':exclamation:', NULL, '❗', '符号', 42, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (37, '疑问', ':question:', NULL, '❓', '符号', 43, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (38, '灯泡', ':bulb:', NULL, '💡', '符号', 44, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (39, '礼物', ':gift:', NULL, '🎁', '符号', 45, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (40, '蛋糕', ':cake:', NULL, '🎂', '符号', 46, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (41, '派对', ':party:', NULL, '🎉', '符号', 47, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (42, '音乐', ':music:', NULL, '🎵', '符号', 48, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (43, '警告', ':warning:', NULL, '⚠️', '符号', 49, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (44, '狗', ':dog:', NULL, '🐶', '动物', 50, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (45, '猫', ':cat:', NULL, '🐱', '动物', 51, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (46, '老虎', ':tiger:', NULL, '🐯', '动物', 52, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (47, '兔子', ':rabbit:', NULL, '🐰', '动物', 53, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (48, '熊猫', ':panda:', NULL, '🐼', '动物', 54, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (49, '猴子', ':monkey:', NULL, '🐵', '动物', 55, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (50, '鸡', ':chicken:', NULL, '🐔', '动物', 56, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (51, '企鹅', ':penguin:', NULL, '🐧', '动物', 57, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (52, '苹果', ':apple:', NULL, '🍎', '食物', 60, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (53, '香蕉', ':banana:', NULL, '🍌', '食物', 61, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (54, '西瓜', ':watermelon:', NULL, '🍉', '食物', 62, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (55, '汉堡', ':hamburger:', NULL, '🍔', '食物', 63, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (56, '披萨', ':pizza:', NULL, '🍕', '食物', 64, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (57, '咖啡', ':coffee:', NULL, '☕', '食物', 65, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (58, '啤酒', ':beer:', NULL, '🍺', '食物', 66, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (59, '蛋糕', ':birthday:', NULL, '🎂', '食物', 67, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (60, '足球', ':soccer:', NULL, '⚽', '运动', 70, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (61, '篮球', ':basketball:', NULL, '🏀', '运动', 71, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (62, '网球', ':tennis:', NULL, '🎾', '运动', 72, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (63, '奖杯', ':trophy:', NULL, '🏆', '运动', 73, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (64, '奖牌', ':medal:', NULL, '🏅', '运动', 74, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (65, '太阳', ':sunny:', NULL, '☀️', '天气', 80, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (66, '月亮', ':moon:', NULL, '🌙', '天气', 81, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (67, '星星', ':stars:', NULL, '✨', '天气', 82, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (68, '云朵', ':cloud:', NULL, '☁️', '天气', 83, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (69, '雨', ':rain:', NULL, '🌧️', '天气', 84, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (70, '雪', ':snow:', NULL, '❄️', '天气', 85, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (71, '闪电', ':lightning:', NULL, '⚡', '天气', 86, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (72, '彩虹', ':rainbow:', NULL, '🌈', '天气', 87, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (73, '飞机', ':airplane:', NULL, '✈️', '旅行', 90, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (74, '火车', ':train:', NULL, '🚄', '旅行', 91, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (75, '汽车', ':car:', NULL, '🚗', '旅行', 92, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (76, '自行车', ':bike:', NULL, '🚲', '旅行', 93, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (77, '房子', ':house:', NULL, '🏠', '旅行', 94, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (78, '城市', ':city:', NULL, '🏙️', '旅行', 95, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (79, '电脑', ':computer:', NULL, '💻', '物品', 100, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (80, '手机', ':phone:', NULL, '📱', '物品', 101, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (81, '相机', ':camera:', NULL, '📷', '物品', 102, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (82, '书籍', ':book:', NULL, '📚', '物品', 103, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (83, '信封', ':email:', NULL, '✉️', '物品', 104, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (84, '铅笔', ':pencil:', NULL, '✏️', '物品', 105, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (85, '剪刀', ':scissors:', NULL, '✂️', '物品', 106, 1, 0, NULL, NULL);
INSERT INTO `comment_emojis` VALUES (86, '钥匙', ':key:', NULL, '🔑', '物品', 107, 1, 0, NULL, NULL);
-- ----------------------------
-- Table structure for comment_likes
-- ----------------------------
DROP TABLE IF EXISTS `comment_likes`;
CREATE TABLE `comment_likes` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`comment_id` int UNSIGNED NOT NULL COMMENT '评论ID',
`user_id` int UNSIGNED NULL DEFAULT NULL COMMENT '用户ID(注册用户)',
`user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户IP(游客)',
`type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '类型(1-点赞 2-点踩)',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_comment_user`(`comment_id` ASC, `user_id` ASC) USING BTREE,
UNIQUE INDEX `uk_comment_ip`(`comment_id` ASC, `user_ip` ASC) USING BTREE,
INDEX `idx_comment_id`(`comment_id` ASC) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_user_ip`(`user_ip` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评论点赞/点踩表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of comment_likes
-- ----------------------------
-- ----------------------------
-- Table structure for comment_reports
-- ----------------------------
DROP TABLE IF EXISTS `comment_reports`;
CREATE TABLE `comment_reports` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`comment_id` int UNSIGNED NOT NULL COMMENT '评论ID',
`reporter_id` int UNSIGNED NULL DEFAULT NULL COMMENT '举报人ID(注册用户)',
`reporter_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '举报人IP(游客)',
`reporter_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '举报人邮箱(游客)',
`reason` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'spam' COMMENT '举报原因(spam-垃圾 abuse-辱骂 porn-色情 ad-广告 other-其他)',
`reason_detail` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '详细说明',
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '处理状态(0-待处理 1-已处理 2-已忽略)',
`handle_result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '处理结果(deleted-已删除 approved-误报)',
`handler_id` int UNSIGNED NULL DEFAULT NULL COMMENT '处理人ID',
`handle_time` datetime NULL DEFAULT NULL COMMENT '处理时间',
`handle_remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '处理备注',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_comment_id`(`comment_id` ASC) USING BTREE,
INDEX `idx_reporter_id`(`reporter_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_create_time`(`create_time` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评论举报表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of comment_reports
-- ----------------------------
-- ----------------------------
-- Table structure for comments
-- ----------------------------
DROP TABLE IF EXISTS `comments`;
CREATE TABLE `comments` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '评论ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`article_id` int UNSIGNED NOT NULL COMMENT '文章ID',
`user_id` int UNSIGNED NULL DEFAULT NULL COMMENT '前台用户ID(注册用户)',
`is_guest` tinyint NOT NULL DEFAULT 0 COMMENT '是否游客评论:0=注册用户,1=游客',
`parent_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '父评论ID,0表示顶级评论',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论者名称(游客)',
`user_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论者邮箱(游客)',
`user_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评论者IP',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '评论内容',
`like_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '点赞数',
`dislike_count` int NULL DEFAULT 0 COMMENT '点踩数',
`report_count` int NULL DEFAULT 0 COMMENT '被举报次数',
`is_admin` tinyint NOT NULL DEFAULT 0 COMMENT '是否管理员:0=否,1=是',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0=待审核,1=已通过,2=已拒绝',
`is_hot` tinyint(1) NULL DEFAULT 0 COMMENT '是否热门评论',
`hot_score` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '热度分数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_article_id`(`article_id` ASC) USING BTREE,
INDEX `idx_parent_id`(`parent_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_user_id`(`user_id` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '评论表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of comments
-- ----------------------------
INSERT INTO `comments` VALUES (1, 1, 1, NULL, 1, 0, '游客张三', 'guest@example.com', '127.0.0.1', '这是编辑后的评论内容', 0, 0, 0, 0, 1, 0, 0.00, '2025-10-28 11:43:42', '2025-10-28 11:55:41');
INSERT INTO `comments` VALUES (2, 1, 1, 2, 0, 0, NULL, NULL, '127.0.0.1', '这是一条注册用户的评论,测试用户评论功能!', 0, 0, 0, 0, 2, 0, 0.00, '2025-10-28 11:47:14', '2025-10-28 11:54:15');
INSERT INTO `comments` VALUES (3, 1, 1, NULL, 1, 0, '测试用户3', 'test3@test.com', '127.0.0.1', '这是第三条测试评论', 0, 0, 0, 0, 1, 0, 0.00, '2025-10-28 11:54:24', '2025-10-28 11:54:34');
INSERT INTO `comments` VALUES (4, 1, 1, NULL, 1, 0, '测试用户4', 'test4@test.com', '127.0.0.1', '这是第四条测试评论', 0, 0, 0, 0, 1, 0, 0.00, '2025-10-28 11:54:24', '2025-10-28 11:54:34');
INSERT INTO `comments` VALUES (5, 1, 1, NULL, 0, 1, NULL, NULL, '127.0.0.1', '感谢您的评论!这是管理员的回复。', 0, 0, 0, 1, 1, 0, 0.00, '2025-10-28 11:54:44', '2025-10-28 11:54:44');
-- ----------------------------
-- Table structure for content_models
-- ----------------------------
DROP TABLE IF EXISTS `content_models`;
CREATE TABLE `content_models` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '模型ID',
`site_id` int UNSIGNED NOT NULL DEFAULT 1 COMMENT '站点ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模型名称',
`table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '数据表名',
`icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '图标',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型描述',
`template` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '默认模板',
`is_system` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否系统模型:0=自定义,1=系统预设',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=启用',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_table_name`(`table_name` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_site_id`(`site_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '内容模型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of content_models
-- ----------------------------
INSERT INTO `content_models` VALUES (1, 1, '文章', 'articles', 'Document', '系统内置文章模型', NULL, 1, 1, 100, '2025-10-18 22:36:49', '2025-10-18 22:36:49');
INSERT INTO `content_models` VALUES (2, 1, '分类', 'categories', 'FolderOpened', '系统内置分类模型', NULL, 1, 1, 90, '2025-10-18 22:36:49', '2025-10-18 22:36:49');
INSERT INTO `content_models` VALUES (3, 1, '标签', 'tags', 'CollectionTag', '系统内置标签模型', NULL, 1, 1, 80, '2025-10-18 22:36:49', '2025-10-18 22:36:49');
INSERT INTO `content_models` VALUES (4, 1, '单页', 'pages', 'Files', '系统内置单页模型', NULL, 1, 1, 70, '2025-10-18 22:36:49', '2025-10-18 22:36:49');
-- ----------------------------
-- Table structure for content_violations
-- ----------------------------
DROP TABLE IF EXISTS `content_violations`;
CREATE TABLE `content_violations` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`content_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '内容类型(article-文章 comment-评论 page-单页)',
`content_id` int UNSIGNED NOT NULL COMMENT '内容ID',
`user_id` int UNSIGNED NOT NULL COMMENT '发布用户ID',
`matched_words` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '匹配到的敏感词(JSON格式)',
`original_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '原始内容片段',
`filtered_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '过滤后内容',
`action` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '处理动作(warn-警告 replace-替换 reject-拒绝)',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'pending' COMMENT '状态(pending-待处理 reviewed-已审核 ignored-已忽略)',
`reviewed_by` int UNSIGNED NULL DEFAULT NULL COMMENT '审核人ID',
`reviewed_at` timestamp NULL DEFAULT NULL COMMENT '审核时间',
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_content`(`content_type` ASC, `content_id` ASC) USING BTREE,
INDEX `idx_user`(`user_id` ASC) USING BTREE,
INDEX `idx_status`(`status` ASC) USING BTREE,
INDEX `idx_created`(`created_at` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '违规内容记录表' ROW_FORMAT = Dynamic;
-- ----------------------------