best-geo-test 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/capabilities/capabilities.json +1442 -0
- package/dist/index.cjs +7 -7
- package/guides/article-task.json +76 -0
- package/guides/article.json +32 -5
- package/guides/material.json +33 -6
- package/guides/question-task.json +73 -0
- package/guides/scheduled-monitor.json +89 -0
- package/package.json +2 -2
- package/skills/best-geo/SKILL.md +5 -1
|
@@ -436,6 +436,112 @@
|
|
|
436
436
|
"additionalProperties": false
|
|
437
437
|
}
|
|
438
438
|
},
|
|
439
|
+
{
|
|
440
|
+
"name": "articles.create",
|
|
441
|
+
"mode": "write",
|
|
442
|
+
"guide": "article",
|
|
443
|
+
"requiresPlan": true,
|
|
444
|
+
"description": "在某个 GEO 项目下新建一篇文章。手动建文章按篇扣一次费用,plan 摘要的 notice 里写了,念给用户听。没给封面也能建出来,但提交审核前必须补一张。",
|
|
445
|
+
"inputSchema": {
|
|
446
|
+
"type": "object",
|
|
447
|
+
"properties": {
|
|
448
|
+
"productId": {
|
|
449
|
+
"type": "integer",
|
|
450
|
+
"minimum": 1,
|
|
451
|
+
"description": "文章归属的 GEO 项目"
|
|
452
|
+
},
|
|
453
|
+
"title": {
|
|
454
|
+
"type": "string",
|
|
455
|
+
"description": "文章标题,最多 30 字(和网页编辑器一致)",
|
|
456
|
+
"maxLength": 30
|
|
457
|
+
},
|
|
458
|
+
"content": {
|
|
459
|
+
"type": "string",
|
|
460
|
+
"description": "正文,Markdown 格式。可以不给,之后再补"
|
|
461
|
+
},
|
|
462
|
+
"coverImageUrl": {
|
|
463
|
+
"type": "string",
|
|
464
|
+
"description": "封面图链接。不给的话,系统会尝试从正文里的第一张图提取",
|
|
465
|
+
"maxLength": 2048
|
|
466
|
+
},
|
|
467
|
+
"tags": {
|
|
468
|
+
"type": "array",
|
|
469
|
+
"items": {
|
|
470
|
+
"type": "string"
|
|
471
|
+
},
|
|
472
|
+
"description": "整体覆盖,不是追加。会自动去重、去空白"
|
|
473
|
+
},
|
|
474
|
+
"summaries": {
|
|
475
|
+
"type": "array",
|
|
476
|
+
"items": {
|
|
477
|
+
"type": "string",
|
|
478
|
+
"maxLength": 300
|
|
479
|
+
},
|
|
480
|
+
"maxItems": 20,
|
|
481
|
+
"description": "摘要列表,按长度档位排。整体覆盖,不是追加"
|
|
482
|
+
},
|
|
483
|
+
"folderId": {
|
|
484
|
+
"type": "integer",
|
|
485
|
+
"minimum": 1,
|
|
486
|
+
"description": "放进哪个文件夹;不给就进该项目的默认文件夹"
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
"required": [
|
|
490
|
+
"productId",
|
|
491
|
+
"title"
|
|
492
|
+
],
|
|
493
|
+
"additionalProperties": false
|
|
494
|
+
}
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"name": "articles.update",
|
|
498
|
+
"mode": "write",
|
|
499
|
+
"guide": "article",
|
|
500
|
+
"requiresPlan": true,
|
|
501
|
+
"description": "改一篇已有文章。改不了所属项目和文件夹——那两个要去网页改。不扣费。",
|
|
502
|
+
"inputSchema": {
|
|
503
|
+
"type": "object",
|
|
504
|
+
"properties": {
|
|
505
|
+
"articleId": {
|
|
506
|
+
"type": "integer",
|
|
507
|
+
"minimum": 1
|
|
508
|
+
},
|
|
509
|
+
"title": {
|
|
510
|
+
"type": "string",
|
|
511
|
+
"description": "最多 30 字",
|
|
512
|
+
"maxLength": 30
|
|
513
|
+
},
|
|
514
|
+
"content": {
|
|
515
|
+
"type": "string",
|
|
516
|
+
"description": "正文,Markdown。整体覆盖,不是在原文后面追加"
|
|
517
|
+
},
|
|
518
|
+
"coverImageUrl": {
|
|
519
|
+
"type": "string",
|
|
520
|
+
"maxLength": 2048
|
|
521
|
+
},
|
|
522
|
+
"tags": {
|
|
523
|
+
"type": "array",
|
|
524
|
+
"items": {
|
|
525
|
+
"type": "string"
|
|
526
|
+
},
|
|
527
|
+
"description": "整体覆盖,不是追加"
|
|
528
|
+
},
|
|
529
|
+
"summaries": {
|
|
530
|
+
"type": "array",
|
|
531
|
+
"items": {
|
|
532
|
+
"type": "string",
|
|
533
|
+
"maxLength": 300
|
|
534
|
+
},
|
|
535
|
+
"maxItems": 20,
|
|
536
|
+
"description": "整体覆盖,不是追加"
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"required": [
|
|
540
|
+
"articleId"
|
|
541
|
+
],
|
|
542
|
+
"additionalProperties": false
|
|
543
|
+
}
|
|
544
|
+
},
|
|
439
545
|
{
|
|
440
546
|
"name": "knowledge.list",
|
|
441
547
|
"mode": "read",
|
|
@@ -714,6 +820,110 @@
|
|
|
714
820
|
},
|
|
715
821
|
"requiresPlan": false
|
|
716
822
|
},
|
|
823
|
+
{
|
|
824
|
+
"name": "images.create",
|
|
825
|
+
"mode": "write",
|
|
826
|
+
"guide": "material",
|
|
827
|
+
"requiresPlan": true,
|
|
828
|
+
"description": "上传一张本机图片到素材库。按张扣一次费用,plan 摘要的 notice 里写了。文件在用户确认之后才真正上传。",
|
|
829
|
+
"inputSchema": {
|
|
830
|
+
"type": "object",
|
|
831
|
+
"properties": {
|
|
832
|
+
"filePath": {
|
|
833
|
+
"type": "string",
|
|
834
|
+
"description": "本机图片路径。png/jpg/jpeg,最大 2MB——超了会在本机就报错,报错里写了差多少。CLI 不校验分辨率:网页会把超过 2000px 的长边自动缩下来,CLI 做不到这一步,给多大就存多大"
|
|
835
|
+
},
|
|
836
|
+
"name": {
|
|
837
|
+
"type": "string",
|
|
838
|
+
"description": "素材名称",
|
|
839
|
+
"maxLength": 255
|
|
840
|
+
},
|
|
841
|
+
"productId": {
|
|
842
|
+
"type": "integer",
|
|
843
|
+
"minimum": 1,
|
|
844
|
+
"description": "归到某个 GEO 项目;不给就要给 companyId,存成公司级素材"
|
|
845
|
+
},
|
|
846
|
+
"companyId": {
|
|
847
|
+
"type": "integer",
|
|
848
|
+
"minimum": 1,
|
|
849
|
+
"description": "给了 productId 就不用给这个——公司会从项目上取"
|
|
850
|
+
},
|
|
851
|
+
"tags": {
|
|
852
|
+
"type": "array",
|
|
853
|
+
"items": {
|
|
854
|
+
"type": "string"
|
|
855
|
+
},
|
|
856
|
+
"description": "整体覆盖,不是追加"
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
"required": [
|
|
860
|
+
"filePath",
|
|
861
|
+
"name"
|
|
862
|
+
],
|
|
863
|
+
"additionalProperties": false
|
|
864
|
+
}
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"name": "videos.create",
|
|
868
|
+
"mode": "write",
|
|
869
|
+
"guide": "material",
|
|
870
|
+
"requiresPlan": true,
|
|
871
|
+
"description": "上传一段本机视频到素材库。要同时给封面图和时长——CLI 读不出视频里的这两样。不额外扣费。",
|
|
872
|
+
"inputSchema": {
|
|
873
|
+
"type": "object",
|
|
874
|
+
"properties": {
|
|
875
|
+
"videoPath": {
|
|
876
|
+
"type": "string",
|
|
877
|
+
"description": "本机视频路径。只收 mp4,最大 200MB"
|
|
878
|
+
},
|
|
879
|
+
"thumbnailPath": {
|
|
880
|
+
"type": "string",
|
|
881
|
+
"description": "本机封面图路径。png/jpg/jpeg,最大 5MB。没有现成封面就问用户要,别跳过"
|
|
882
|
+
},
|
|
883
|
+
"duration": {
|
|
884
|
+
"type": "integer",
|
|
885
|
+
"minimum": 1,
|
|
886
|
+
"description": "视频时长(秒)。系统不会去解码核对,填错了列表里就显示错的——拿不准就问用户"
|
|
887
|
+
},
|
|
888
|
+
"title": {
|
|
889
|
+
"type": "string",
|
|
890
|
+
"description": "视频标题",
|
|
891
|
+
"maxLength": 255
|
|
892
|
+
},
|
|
893
|
+
"productId": {
|
|
894
|
+
"type": "integer",
|
|
895
|
+
"minimum": 1,
|
|
896
|
+
"description": "归到某个 GEO 项目;不给就要给 companyId"
|
|
897
|
+
},
|
|
898
|
+
"companyId": {
|
|
899
|
+
"type": "integer",
|
|
900
|
+
"minimum": 1
|
|
901
|
+
},
|
|
902
|
+
"tags": {
|
|
903
|
+
"type": "array",
|
|
904
|
+
"items": {
|
|
905
|
+
"type": "string"
|
|
906
|
+
},
|
|
907
|
+
"description": "整体覆盖,不是追加"
|
|
908
|
+
},
|
|
909
|
+
"summaries": {
|
|
910
|
+
"type": "array",
|
|
911
|
+
"items": {
|
|
912
|
+
"type": "string"
|
|
913
|
+
},
|
|
914
|
+
"description": "视频摘要列表,最多 20 条(和网页一致)。整体覆盖,不是追加",
|
|
915
|
+
"maxItems": 20
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
"required": [
|
|
919
|
+
"videoPath",
|
|
920
|
+
"thumbnailPath",
|
|
921
|
+
"duration",
|
|
922
|
+
"title"
|
|
923
|
+
],
|
|
924
|
+
"additionalProperties": false
|
|
925
|
+
}
|
|
926
|
+
},
|
|
717
927
|
{
|
|
718
928
|
"name": "images.update",
|
|
719
929
|
"mode": "write",
|
|
@@ -775,6 +985,1238 @@
|
|
|
775
985
|
],
|
|
776
986
|
"additionalProperties": false
|
|
777
987
|
}
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"name": "prompts.list",
|
|
991
|
+
"mode": "read",
|
|
992
|
+
"guide": "article-task",
|
|
993
|
+
"requiresPlan": false,
|
|
994
|
+
"description": "列出可用的提示词:写作方向(正文)和标题风格(标题)。建 AI 文章创作任务前必须先查一次——写作方向是必填的,只能从这里选。",
|
|
995
|
+
"inputSchema": {
|
|
996
|
+
"type": "object",
|
|
997
|
+
"properties": {
|
|
998
|
+
"productId": {
|
|
999
|
+
"type": "integer",
|
|
1000
|
+
"description": "只看某个 GEO 项目能用的(含不限项目的公共提示词)"
|
|
1001
|
+
},
|
|
1002
|
+
"companyId": {
|
|
1003
|
+
"type": "integer",
|
|
1004
|
+
"description": "只看某家公司的;不传就是全部授权公司"
|
|
1005
|
+
},
|
|
1006
|
+
"type": {
|
|
1007
|
+
"type": "integer",
|
|
1008
|
+
"enum": [
|
|
1009
|
+
1,
|
|
1010
|
+
2
|
|
1011
|
+
],
|
|
1012
|
+
"description": "1=写作方向(正文提示词),2=标题风格(标题提示词)。不传就两类都给"
|
|
1013
|
+
},
|
|
1014
|
+
"name": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "按名称前缀匹配"
|
|
1017
|
+
},
|
|
1018
|
+
"page": {
|
|
1019
|
+
"type": "integer",
|
|
1020
|
+
"default": 1
|
|
1021
|
+
},
|
|
1022
|
+
"limit": {
|
|
1023
|
+
"type": "integer",
|
|
1024
|
+
"default": 20,
|
|
1025
|
+
"maximum": 100
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
"additionalProperties": false
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"name": "models.list",
|
|
1033
|
+
"mode": "read",
|
|
1034
|
+
"guide": "article-task",
|
|
1035
|
+
"requiresPlan": false,
|
|
1036
|
+
"description": "列出可用的大模型账号。建 AI 文章创作任务时要指定用哪个模型写——查的时候带上 usage=1,只有那一类能用来写文章。",
|
|
1037
|
+
"inputSchema": {
|
|
1038
|
+
"type": "object",
|
|
1039
|
+
"properties": {
|
|
1040
|
+
"name": {
|
|
1041
|
+
"type": "string",
|
|
1042
|
+
"description": "按名称模糊匹配"
|
|
1043
|
+
},
|
|
1044
|
+
"usage": {
|
|
1045
|
+
"type": "integer",
|
|
1046
|
+
"description": "按用途筛。写文章传 1;不传会把别的用途的模型也列出来"
|
|
1047
|
+
},
|
|
1048
|
+
"page": {
|
|
1049
|
+
"type": "integer",
|
|
1050
|
+
"default": 1
|
|
1051
|
+
},
|
|
1052
|
+
"limit": {
|
|
1053
|
+
"type": "integer",
|
|
1054
|
+
"default": 20,
|
|
1055
|
+
"maximum": 100
|
|
1056
|
+
}
|
|
1057
|
+
},
|
|
1058
|
+
"additionalProperties": false
|
|
1059
|
+
}
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"name": "questionTasks.list",
|
|
1063
|
+
"mode": "read",
|
|
1064
|
+
"guide": "question-task",
|
|
1065
|
+
"requiresPlan": false,
|
|
1066
|
+
"description": "列出 AI 扩展问题任务,看跑到哪一步了。不含生成出来的问题正文——要看结果用 questionTasks.get。",
|
|
1067
|
+
"inputSchema": {
|
|
1068
|
+
"type": "object",
|
|
1069
|
+
"properties": {
|
|
1070
|
+
"companyId": {
|
|
1071
|
+
"type": "integer",
|
|
1072
|
+
"description": "只看某家公司;不传就是全部授权公司"
|
|
1073
|
+
},
|
|
1074
|
+
"productId": {
|
|
1075
|
+
"type": "integer",
|
|
1076
|
+
"description": "只看某个 GEO 项目"
|
|
1077
|
+
},
|
|
1078
|
+
"status": {
|
|
1079
|
+
"type": "integer",
|
|
1080
|
+
"description": "按状态过滤。0=待处理,1=生成中,2=已完成,3=失败,4=部分成功",
|
|
1081
|
+
"enum": [
|
|
1082
|
+
0,
|
|
1083
|
+
1,
|
|
1084
|
+
2,
|
|
1085
|
+
3,
|
|
1086
|
+
4
|
|
1087
|
+
]
|
|
1088
|
+
},
|
|
1089
|
+
"name": {
|
|
1090
|
+
"type": "string",
|
|
1091
|
+
"description": "按任务名前缀匹配"
|
|
1092
|
+
},
|
|
1093
|
+
"page": {
|
|
1094
|
+
"type": "integer",
|
|
1095
|
+
"default": 1
|
|
1096
|
+
},
|
|
1097
|
+
"limit": {
|
|
1098
|
+
"type": "integer",
|
|
1099
|
+
"default": 20,
|
|
1100
|
+
"maximum": 100
|
|
1101
|
+
}
|
|
1102
|
+
},
|
|
1103
|
+
"additionalProperties": false
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"name": "questionTasks.get",
|
|
1108
|
+
"mode": "read",
|
|
1109
|
+
"guide": "question-task",
|
|
1110
|
+
"requiresPlan": false,
|
|
1111
|
+
"description": "读一个 AI 扩展问题任务,含它生成出来的全部问题。要挑问题导入问题库,必须先读这一条——导入传的 id 就是这里每条问题的 id。",
|
|
1112
|
+
"inputSchema": {
|
|
1113
|
+
"type": "object",
|
|
1114
|
+
"properties": {
|
|
1115
|
+
"taskId": {
|
|
1116
|
+
"type": "integer",
|
|
1117
|
+
"minimum": 1
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
1120
|
+
"required": [
|
|
1121
|
+
"taskId"
|
|
1122
|
+
],
|
|
1123
|
+
"additionalProperties": false
|
|
1124
|
+
}
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"name": "articleTasks.list",
|
|
1128
|
+
"mode": "read",
|
|
1129
|
+
"guide": "article-task",
|
|
1130
|
+
"requiresPlan": false,
|
|
1131
|
+
"description": "列出 AI 文章创作任务,看生成和审核进度。",
|
|
1132
|
+
"inputSchema": {
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"properties": {
|
|
1135
|
+
"companyId": {
|
|
1136
|
+
"type": "integer",
|
|
1137
|
+
"description": "只看某家公司;不传就是全部授权公司"
|
|
1138
|
+
},
|
|
1139
|
+
"productId": {
|
|
1140
|
+
"type": "integer",
|
|
1141
|
+
"description": "只看某个 GEO 项目"
|
|
1142
|
+
},
|
|
1143
|
+
"status": {
|
|
1144
|
+
"type": "integer",
|
|
1145
|
+
"description": "按状态过滤。0=待处理,1=生成中,2=已完成,3=失败,4=部分成功",
|
|
1146
|
+
"enum": [
|
|
1147
|
+
0,
|
|
1148
|
+
1,
|
|
1149
|
+
2,
|
|
1150
|
+
3,
|
|
1151
|
+
4
|
|
1152
|
+
]
|
|
1153
|
+
},
|
|
1154
|
+
"name": {
|
|
1155
|
+
"type": "string",
|
|
1156
|
+
"description": "按任务名前缀匹配"
|
|
1157
|
+
},
|
|
1158
|
+
"page": {
|
|
1159
|
+
"type": "integer",
|
|
1160
|
+
"default": 1
|
|
1161
|
+
},
|
|
1162
|
+
"limit": {
|
|
1163
|
+
"type": "integer",
|
|
1164
|
+
"default": 20,
|
|
1165
|
+
"maximum": 100
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
"additionalProperties": false
|
|
1169
|
+
}
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "articleTasks.get",
|
|
1173
|
+
"mode": "read",
|
|
1174
|
+
"guide": "article-task",
|
|
1175
|
+
"requiresPlan": false,
|
|
1176
|
+
"description": "读一个 AI 文章创作任务的进度。生成出来的文章用 articles.list 传 productId 去查。",
|
|
1177
|
+
"inputSchema": {
|
|
1178
|
+
"type": "object",
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"taskId": {
|
|
1181
|
+
"type": "integer",
|
|
1182
|
+
"minimum": 1
|
|
1183
|
+
}
|
|
1184
|
+
},
|
|
1185
|
+
"required": [
|
|
1186
|
+
"taskId"
|
|
1187
|
+
],
|
|
1188
|
+
"additionalProperties": false
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"name": "questionTasks.create",
|
|
1193
|
+
"mode": "write",
|
|
1194
|
+
"guide": "question-task",
|
|
1195
|
+
"requiresPlan": true,
|
|
1196
|
+
"description": "让 AI 按关键词扩展出一批搜索问题。按问题条数扣费,plan 摘要的 notice 里写了,念给用户听。执行之后任务在后台跑,问题不会马上出来。",
|
|
1197
|
+
"inputSchema": {
|
|
1198
|
+
"type": "object",
|
|
1199
|
+
"properties": {
|
|
1200
|
+
"productId": {
|
|
1201
|
+
"type": "integer",
|
|
1202
|
+
"minimum": 1,
|
|
1203
|
+
"description": "给哪个 GEO 项目生成"
|
|
1204
|
+
},
|
|
1205
|
+
"keywords": {
|
|
1206
|
+
"type": "array",
|
|
1207
|
+
"items": {
|
|
1208
|
+
"type": "string"
|
|
1209
|
+
},
|
|
1210
|
+
"minItems": 1,
|
|
1211
|
+
"description": "围绕哪些词扩展。不给的话可以先用 products.get 看项目自带的关键词,念给用户确认"
|
|
1212
|
+
},
|
|
1213
|
+
"acquisitionCount": {
|
|
1214
|
+
"type": "integer",
|
|
1215
|
+
"minimum": 0,
|
|
1216
|
+
"maximum": 50,
|
|
1217
|
+
"description": "获客上榜问题的条数。这类问题是潜在客户找解决方案时会问的,里面不出现品牌词"
|
|
1218
|
+
},
|
|
1219
|
+
"reputationCount": {
|
|
1220
|
+
"type": "integer",
|
|
1221
|
+
"minimum": 0,
|
|
1222
|
+
"maximum": 50,
|
|
1223
|
+
"description": "口碑监测问题的条数。这类问题直接问品牌本身好不好"
|
|
1224
|
+
},
|
|
1225
|
+
"extraRequirement": {
|
|
1226
|
+
"type": "string",
|
|
1227
|
+
"maxLength": 200,
|
|
1228
|
+
"description": "补充要求,比如「侧重北方市场」"
|
|
1229
|
+
},
|
|
1230
|
+
"tags": {
|
|
1231
|
+
"type": "array",
|
|
1232
|
+
"items": {
|
|
1233
|
+
"type": "string"
|
|
1234
|
+
},
|
|
1235
|
+
"description": "导入问题库时会带到每条问题上"
|
|
1236
|
+
},
|
|
1237
|
+
"knowledgeBaseIds": {
|
|
1238
|
+
"type": "array",
|
|
1239
|
+
"items": {
|
|
1240
|
+
"type": "integer",
|
|
1241
|
+
"minimum": 1
|
|
1242
|
+
},
|
|
1243
|
+
"description": "参考哪些知识资料。不传就完全不用知识库"
|
|
1244
|
+
}
|
|
1245
|
+
},
|
|
1246
|
+
"required": [
|
|
1247
|
+
"productId",
|
|
1248
|
+
"keywords",
|
|
1249
|
+
"acquisitionCount",
|
|
1250
|
+
"reputationCount"
|
|
1251
|
+
],
|
|
1252
|
+
"additionalProperties": false
|
|
1253
|
+
}
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"name": "questionTasks.import",
|
|
1257
|
+
"mode": "write",
|
|
1258
|
+
"guide": "question-task",
|
|
1259
|
+
"requiresPlan": true,
|
|
1260
|
+
"description": "把任务生成出来的问题挑一批导入搜索问题库。不导入的话这些问题只停在任务里,建不了文章。这一步不扣费。",
|
|
1261
|
+
"inputSchema": {
|
|
1262
|
+
"type": "object",
|
|
1263
|
+
"properties": {
|
|
1264
|
+
"taskId": {
|
|
1265
|
+
"type": "integer",
|
|
1266
|
+
"minimum": 1
|
|
1267
|
+
},
|
|
1268
|
+
"selectedIds": {
|
|
1269
|
+
"type": "array",
|
|
1270
|
+
"items": {
|
|
1271
|
+
"type": "integer",
|
|
1272
|
+
"minimum": 1
|
|
1273
|
+
},
|
|
1274
|
+
"description": "要导入哪几条。传的是 questionTasks.get 里每条问题的 id(任务内序号),不是问题库的 id。不传表示全导",
|
|
1275
|
+
"minItems": 1
|
|
1276
|
+
}
|
|
1277
|
+
},
|
|
1278
|
+
"required": [
|
|
1279
|
+
"taskId"
|
|
1280
|
+
],
|
|
1281
|
+
"additionalProperties": false
|
|
1282
|
+
}
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
"name": "questionTasks.retry",
|
|
1286
|
+
"mode": "write",
|
|
1287
|
+
"guide": "question-task",
|
|
1288
|
+
"requiresPlan": true,
|
|
1289
|
+
"description": "重跑一个失败的「AI 扩展问题」任务,参数原样不变。费用按这次的条数重新算一笔,plan 摘要里写了,念给用户听。",
|
|
1290
|
+
"inputSchema": {
|
|
1291
|
+
"type": "object",
|
|
1292
|
+
"properties": {
|
|
1293
|
+
"taskId": {
|
|
1294
|
+
"type": "integer",
|
|
1295
|
+
"minimum": 1
|
|
1296
|
+
}
|
|
1297
|
+
},
|
|
1298
|
+
"required": [
|
|
1299
|
+
"taskId"
|
|
1300
|
+
],
|
|
1301
|
+
"additionalProperties": false
|
|
1302
|
+
}
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
"name": "articleTasks.create",
|
|
1306
|
+
"mode": "write",
|
|
1307
|
+
"guide": "article-task",
|
|
1308
|
+
"requiresPlan": true,
|
|
1309
|
+
"description": "挑一批搜索问题,让 AI 批量写文章。按生成篇数扣费(问题数 × 每题篇数),plan 摘要的 notice 里写了,念给用户听。执行之后任务在后台跑,文章不会马上出来。",
|
|
1310
|
+
"inputSchema": {
|
|
1311
|
+
"type": "object",
|
|
1312
|
+
"properties": {
|
|
1313
|
+
"productId": {
|
|
1314
|
+
"type": "integer",
|
|
1315
|
+
"minimum": 1,
|
|
1316
|
+
"description": "给哪个 GEO 项目写"
|
|
1317
|
+
},
|
|
1318
|
+
"topicIds": {
|
|
1319
|
+
"type": "array",
|
|
1320
|
+
"items": {
|
|
1321
|
+
"type": "integer",
|
|
1322
|
+
"minimum": 1
|
|
1323
|
+
},
|
|
1324
|
+
"minItems": 1,
|
|
1325
|
+
"maxItems": 50,
|
|
1326
|
+
"description": "围绕哪些搜索问题写。id 来自 questions.list"
|
|
1327
|
+
},
|
|
1328
|
+
"generateCount": {
|
|
1329
|
+
"type": "integer",
|
|
1330
|
+
"minimum": 1,
|
|
1331
|
+
"maximum": 20,
|
|
1332
|
+
"description": "每个问题写几篇。总篇数 = 问题数 × 这个值,也就是要扣的量"
|
|
1333
|
+
},
|
|
1334
|
+
"imageCount": {
|
|
1335
|
+
"type": "integer",
|
|
1336
|
+
"minimum": 0,
|
|
1337
|
+
"maximum": 6,
|
|
1338
|
+
"default": 0,
|
|
1339
|
+
"description": "每篇文章配几张图。0 = 不配图,也不要封面"
|
|
1340
|
+
},
|
|
1341
|
+
"contentPromptId": {
|
|
1342
|
+
"type": "integer",
|
|
1343
|
+
"minimum": 1,
|
|
1344
|
+
"description": "写作方向。必填,从 prompts.list 里 type=1 的挑"
|
|
1345
|
+
},
|
|
1346
|
+
"titlePromptId": {
|
|
1347
|
+
"type": [
|
|
1348
|
+
"integer",
|
|
1349
|
+
"null"
|
|
1350
|
+
],
|
|
1351
|
+
"minimum": 1,
|
|
1352
|
+
"description": "标题风格。从 prompts.list 里 type=2 的挑;不给就让模型按问题自拟标题"
|
|
1353
|
+
},
|
|
1354
|
+
"modelId": {
|
|
1355
|
+
"type": "integer",
|
|
1356
|
+
"minimum": 1,
|
|
1357
|
+
"description": "用哪个大模型写。从 models.list 挑"
|
|
1358
|
+
},
|
|
1359
|
+
"knowledgeBaseIds": {
|
|
1360
|
+
"type": "array",
|
|
1361
|
+
"items": {
|
|
1362
|
+
"type": "integer",
|
|
1363
|
+
"minimum": 1
|
|
1364
|
+
},
|
|
1365
|
+
"description": "参考哪些知识资料。不传就自动用这个项目当前全部可用资料"
|
|
1366
|
+
},
|
|
1367
|
+
"imageBaseIds": {
|
|
1368
|
+
"type": "array",
|
|
1369
|
+
"items": {
|
|
1370
|
+
"type": "integer",
|
|
1371
|
+
"minimum": 1
|
|
1372
|
+
},
|
|
1373
|
+
"description": "从哪些图片里选配图。不传且要配图时,自动用这个项目当前全部可用图片"
|
|
1374
|
+
}
|
|
1375
|
+
},
|
|
1376
|
+
"required": [
|
|
1377
|
+
"productId",
|
|
1378
|
+
"topicIds",
|
|
1379
|
+
"generateCount",
|
|
1380
|
+
"contentPromptId",
|
|
1381
|
+
"modelId"
|
|
1382
|
+
],
|
|
1383
|
+
"additionalProperties": false
|
|
1384
|
+
}
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"name": "indexingPlatforms.list",
|
|
1388
|
+
"mode": "read",
|
|
1389
|
+
"guide": "scheduled-monitor",
|
|
1390
|
+
"requiresPlan": false,
|
|
1391
|
+
"description": "列出这个代理可用的 AI 平台,以及每个平台支持哪些采集方式(sources:1=浏览器插件,3=云端)。建定时收录/舆情计划之前必须先查这里 —— 云端只覆盖其中一部分平台,凑出跑不了的组合会在 plan 阶段就被打回,报错里写清是哪几个平台不行,得回去重挑再来一遍。",
|
|
1392
|
+
"inputSchema": {
|
|
1393
|
+
"type": "object",
|
|
1394
|
+
"properties": {},
|
|
1395
|
+
"additionalProperties": false
|
|
1396
|
+
}
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
"name": "scheduledIndexing.list",
|
|
1400
|
+
"mode": "read",
|
|
1401
|
+
"guide": "scheduled-monitor",
|
|
1402
|
+
"requiresPlan": false,
|
|
1403
|
+
"description": "列出定时收录计划(拿一批搜索问题定期去问各家 AI,看有没有提到我们)。问题文本不在列表里,要看得用 get。",
|
|
1404
|
+
"inputSchema": {
|
|
1405
|
+
"type": "object",
|
|
1406
|
+
"properties": {
|
|
1407
|
+
"companyId": {
|
|
1408
|
+
"type": "integer",
|
|
1409
|
+
"minimum": 1,
|
|
1410
|
+
"description": "只看某家公司的"
|
|
1411
|
+
},
|
|
1412
|
+
"name": {
|
|
1413
|
+
"type": "string",
|
|
1414
|
+
"description": "按计划名模糊匹配"
|
|
1415
|
+
},
|
|
1416
|
+
"enabled": {
|
|
1417
|
+
"type": "boolean",
|
|
1418
|
+
"description": "true=只看启用中的,false=只看已停用的;不传看全部"
|
|
1419
|
+
},
|
|
1420
|
+
"page": {
|
|
1421
|
+
"type": "integer",
|
|
1422
|
+
"default": 1
|
|
1423
|
+
},
|
|
1424
|
+
"limit": {
|
|
1425
|
+
"type": "integer",
|
|
1426
|
+
"default": 20,
|
|
1427
|
+
"maximum": 100
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1430
|
+
"additionalProperties": false
|
|
1431
|
+
}
|
|
1432
|
+
},
|
|
1433
|
+
{
|
|
1434
|
+
"name": "scheduledIndexing.get",
|
|
1435
|
+
"mode": "read",
|
|
1436
|
+
"guide": "scheduled-monitor",
|
|
1437
|
+
"requiresPlan": false,
|
|
1438
|
+
"description": "定时收录计划详情,比列表多出这个计划到底要问哪些问题。",
|
|
1439
|
+
"inputSchema": {
|
|
1440
|
+
"type": "object",
|
|
1441
|
+
"properties": {
|
|
1442
|
+
"planId": {
|
|
1443
|
+
"type": "integer",
|
|
1444
|
+
"minimum": 1
|
|
1445
|
+
}
|
|
1446
|
+
},
|
|
1447
|
+
"required": [
|
|
1448
|
+
"planId"
|
|
1449
|
+
],
|
|
1450
|
+
"additionalProperties": false
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"name": "scheduledIndexing.runs",
|
|
1455
|
+
"mode": "read",
|
|
1456
|
+
"guide": "scheduled-monitor",
|
|
1457
|
+
"requiresPlan": false,
|
|
1458
|
+
"description": "定时收录计划的执行历史。想知道「上次跑完了没、跑到第几个」看这里:taskTotal 是这次要问多少次,taskFinished 是已经问完多少次。status:0=还在跑,1=已跑完,2=超时,3=失败。",
|
|
1459
|
+
"inputSchema": {
|
|
1460
|
+
"type": "object",
|
|
1461
|
+
"properties": {
|
|
1462
|
+
"planId": {
|
|
1463
|
+
"type": "integer",
|
|
1464
|
+
"minimum": 1
|
|
1465
|
+
},
|
|
1466
|
+
"page": {
|
|
1467
|
+
"type": "integer",
|
|
1468
|
+
"default": 1
|
|
1469
|
+
},
|
|
1470
|
+
"limit": {
|
|
1471
|
+
"type": "integer",
|
|
1472
|
+
"default": 20,
|
|
1473
|
+
"maximum": 100
|
|
1474
|
+
}
|
|
1475
|
+
},
|
|
1476
|
+
"required": [
|
|
1477
|
+
"planId"
|
|
1478
|
+
],
|
|
1479
|
+
"additionalProperties": false
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"name": "scheduledSentiment.list",
|
|
1484
|
+
"mode": "read",
|
|
1485
|
+
"guide": "scheduled-monitor",
|
|
1486
|
+
"requiresPlan": false,
|
|
1487
|
+
"description": "列出定时舆情计划(拿一批问句定期去问各家 AI,看它们怎么评价我们)。问题文本不在列表里,要看得用 get。",
|
|
1488
|
+
"inputSchema": {
|
|
1489
|
+
"type": "object",
|
|
1490
|
+
"properties": {
|
|
1491
|
+
"companyId": {
|
|
1492
|
+
"type": "integer",
|
|
1493
|
+
"minimum": 1,
|
|
1494
|
+
"description": "只看某家公司的"
|
|
1495
|
+
},
|
|
1496
|
+
"name": {
|
|
1497
|
+
"type": "string",
|
|
1498
|
+
"description": "按计划名模糊匹配"
|
|
1499
|
+
},
|
|
1500
|
+
"enabled": {
|
|
1501
|
+
"type": "boolean",
|
|
1502
|
+
"description": "true=只看启用中的,false=只看已停用的;不传看全部"
|
|
1503
|
+
},
|
|
1504
|
+
"page": {
|
|
1505
|
+
"type": "integer",
|
|
1506
|
+
"default": 1
|
|
1507
|
+
},
|
|
1508
|
+
"limit": {
|
|
1509
|
+
"type": "integer",
|
|
1510
|
+
"default": 20,
|
|
1511
|
+
"maximum": 100
|
|
1512
|
+
}
|
|
1513
|
+
},
|
|
1514
|
+
"additionalProperties": false
|
|
1515
|
+
}
|
|
1516
|
+
},
|
|
1517
|
+
{
|
|
1518
|
+
"name": "scheduledSentiment.get",
|
|
1519
|
+
"mode": "read",
|
|
1520
|
+
"guide": "scheduled-monitor",
|
|
1521
|
+
"requiresPlan": false,
|
|
1522
|
+
"description": "定时舆情计划详情,比列表多出这个计划到底要问哪些问题。",
|
|
1523
|
+
"inputSchema": {
|
|
1524
|
+
"type": "object",
|
|
1525
|
+
"properties": {
|
|
1526
|
+
"planId": {
|
|
1527
|
+
"type": "integer",
|
|
1528
|
+
"minimum": 1
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
"required": [
|
|
1532
|
+
"planId"
|
|
1533
|
+
],
|
|
1534
|
+
"additionalProperties": false
|
|
1535
|
+
}
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"name": "scheduledSentiment.runs",
|
|
1539
|
+
"mode": "read",
|
|
1540
|
+
"guide": "scheduled-monitor",
|
|
1541
|
+
"requiresPlan": false,
|
|
1542
|
+
"description": "定时舆情计划的执行历史。想知道「上次跑完了没、跑到第几个」看这里:taskTotal 是这次要问多少次,taskFinished 是已经问完多少次。status:0=还在跑,1=已跑完,2=超时,3=失败。",
|
|
1543
|
+
"inputSchema": {
|
|
1544
|
+
"type": "object",
|
|
1545
|
+
"properties": {
|
|
1546
|
+
"planId": {
|
|
1547
|
+
"type": "integer",
|
|
1548
|
+
"minimum": 1
|
|
1549
|
+
},
|
|
1550
|
+
"page": {
|
|
1551
|
+
"type": "integer",
|
|
1552
|
+
"default": 1
|
|
1553
|
+
},
|
|
1554
|
+
"limit": {
|
|
1555
|
+
"type": "integer",
|
|
1556
|
+
"default": 20,
|
|
1557
|
+
"maximum": 100
|
|
1558
|
+
}
|
|
1559
|
+
},
|
|
1560
|
+
"required": [
|
|
1561
|
+
"planId"
|
|
1562
|
+
],
|
|
1563
|
+
"additionalProperties": false
|
|
1564
|
+
}
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
"name": "scheduledIndexing.metrics",
|
|
1568
|
+
"mode": "read",
|
|
1569
|
+
"guide": "scheduled-monitor",
|
|
1570
|
+
"requiresPlan": false,
|
|
1571
|
+
"description": "定时收录计划的效果。「做了这么久到底有没有用」就答这个:提问了多少次、其中多少次 AI 提到了我们(mentionCount)、提及率多少(mentionRate)、被提到时平均排在第几位(avgRank,越小越靠前)。同一天跑了多次会合并成一个点。",
|
|
1572
|
+
"inputSchema": {
|
|
1573
|
+
"type": "object",
|
|
1574
|
+
"properties": {
|
|
1575
|
+
"planId": {
|
|
1576
|
+
"type": "integer",
|
|
1577
|
+
"minimum": 1
|
|
1578
|
+
},
|
|
1579
|
+
"platform": {
|
|
1580
|
+
"type": "string",
|
|
1581
|
+
"description": "只看某个平台。不传就是全平台汇总"
|
|
1582
|
+
},
|
|
1583
|
+
"topicId": {
|
|
1584
|
+
"type": "integer",
|
|
1585
|
+
"minimum": 1,
|
|
1586
|
+
"description": "只看某一条搜索问题的表现"
|
|
1587
|
+
},
|
|
1588
|
+
"runId": {
|
|
1589
|
+
"type": "integer",
|
|
1590
|
+
"minimum": 1,
|
|
1591
|
+
"description": "只看某一次执行"
|
|
1592
|
+
},
|
|
1593
|
+
"startDate": {
|
|
1594
|
+
"type": "string",
|
|
1595
|
+
"description": "起始日期,ISO 字符串,如 2026-08-01"
|
|
1596
|
+
},
|
|
1597
|
+
"endDate": {
|
|
1598
|
+
"type": "string",
|
|
1599
|
+
"description": "结束日期,ISO 字符串,如 2026-08-31"
|
|
1600
|
+
}
|
|
1601
|
+
},
|
|
1602
|
+
"required": [
|
|
1603
|
+
"planId"
|
|
1604
|
+
],
|
|
1605
|
+
"additionalProperties": false
|
|
1606
|
+
}
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"name": "scheduledSentiment.metrics",
|
|
1610
|
+
"mode": "read",
|
|
1611
|
+
"guide": "scheduled-monitor",
|
|
1612
|
+
"requiresPlan": false,
|
|
1613
|
+
"description": "定时舆情计划的效果。和收录那套不是一回事:这里答的是「AI 说起我们时用了哪些词」——positiveWords / negativeWords 是具体的词和出现次数,后面几个 Count 是汇总。一次执行就是一个点,不按天合并。",
|
|
1614
|
+
"inputSchema": {
|
|
1615
|
+
"type": "object",
|
|
1616
|
+
"properties": {
|
|
1617
|
+
"planId": {
|
|
1618
|
+
"type": "integer",
|
|
1619
|
+
"minimum": 1
|
|
1620
|
+
},
|
|
1621
|
+
"platform": {
|
|
1622
|
+
"type": "string",
|
|
1623
|
+
"description": "只看某个平台。不传就是全平台汇总"
|
|
1624
|
+
},
|
|
1625
|
+
"runId": {
|
|
1626
|
+
"type": "integer",
|
|
1627
|
+
"minimum": 1,
|
|
1628
|
+
"description": "只看某一次执行"
|
|
1629
|
+
},
|
|
1630
|
+
"startDate": {
|
|
1631
|
+
"type": "string",
|
|
1632
|
+
"description": "起始日期,ISO 字符串,如 2026-08-01"
|
|
1633
|
+
},
|
|
1634
|
+
"endDate": {
|
|
1635
|
+
"type": "string",
|
|
1636
|
+
"description": "结束日期,ISO 字符串,如 2026-08-31"
|
|
1637
|
+
}
|
|
1638
|
+
},
|
|
1639
|
+
"required": [
|
|
1640
|
+
"planId"
|
|
1641
|
+
],
|
|
1642
|
+
"additionalProperties": false
|
|
1643
|
+
}
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"name": "scheduledIndexing.create",
|
|
1647
|
+
"mode": "write",
|
|
1648
|
+
"guide": "scheduled-monitor",
|
|
1649
|
+
"requiresPlan": true,
|
|
1650
|
+
"description": "建一个定时收录计划。建之前先用 indexingPlatforms.list 看清楚哪些平台支持你要用的采集方式。每跑一次要问「问题条数 × 平台数」次,云端采集按这个次数扣算力,plan 摘要的 notice 里写了具体数字,念给用户听。",
|
|
1651
|
+
"inputSchema": {
|
|
1652
|
+
"type": "object",
|
|
1653
|
+
"properties": {
|
|
1654
|
+
"name": {
|
|
1655
|
+
"type": "string",
|
|
1656
|
+
"maxLength": 128,
|
|
1657
|
+
"description": "计划名,用户之后靠它认出这个计划"
|
|
1658
|
+
},
|
|
1659
|
+
"companyId": {
|
|
1660
|
+
"type": "integer",
|
|
1661
|
+
"minimum": 1,
|
|
1662
|
+
"description": "归哪家公司"
|
|
1663
|
+
},
|
|
1664
|
+
"productId": {
|
|
1665
|
+
"type": "integer",
|
|
1666
|
+
"minimum": 1,
|
|
1667
|
+
"description": "归哪个 GEO 项目"
|
|
1668
|
+
},
|
|
1669
|
+
"topics": {
|
|
1670
|
+
"type": "array",
|
|
1671
|
+
"items": {
|
|
1672
|
+
"type": "string",
|
|
1673
|
+
"maxLength": 255
|
|
1674
|
+
},
|
|
1675
|
+
"minItems": 1,
|
|
1676
|
+
"maxItems": 100,
|
|
1677
|
+
"description": "要定期去问的搜索问题。问题库里没有的会自动建一条"
|
|
1678
|
+
},
|
|
1679
|
+
"platforms": {
|
|
1680
|
+
"type": "array",
|
|
1681
|
+
"items": {
|
|
1682
|
+
"type": "string"
|
|
1683
|
+
},
|
|
1684
|
+
"minItems": 1,
|
|
1685
|
+
"description": "AI 平台。可选值必须来自 indexingPlatforms.list,不要凭印象填 —— 每个代理开的平台不一样"
|
|
1686
|
+
},
|
|
1687
|
+
"source": {
|
|
1688
|
+
"type": "integer",
|
|
1689
|
+
"enum": [
|
|
1690
|
+
1,
|
|
1691
|
+
3
|
|
1692
|
+
],
|
|
1693
|
+
"description": "采集方式:1=浏览器插件(本机插件去问,不扣算力,但插件得在线),3=云端(我们代问,按提问次数扣算力)。两种支持的平台不是同一批,选之前先看 indexingPlatforms.list 里每个平台的 sources。不传默认 1(浏览器插件)"
|
|
1694
|
+
},
|
|
1695
|
+
"screenshotPlatforms": {
|
|
1696
|
+
"type": "array",
|
|
1697
|
+
"items": {
|
|
1698
|
+
"type": "string"
|
|
1699
|
+
},
|
|
1700
|
+
"description": "要截图的平台,必须是 platforms 的子集。只有云端采集能截图:采集方式是 1(浏览器插件)时传非空数组会直接报错。空数组=不截图,在 update 里就是把已配的截图平台清掉;update 里不传则保持原样。截图的平台每次算两份算力"
|
|
1701
|
+
},
|
|
1702
|
+
"competitorBrands": {
|
|
1703
|
+
"type": "array",
|
|
1704
|
+
"maxItems": 20,
|
|
1705
|
+
"items": {
|
|
1706
|
+
"type": "string",
|
|
1707
|
+
"maxLength": 128
|
|
1708
|
+
},
|
|
1709
|
+
"description": "要一起对比的竞品品牌名。最多 20 个,单个最多 128 字"
|
|
1710
|
+
},
|
|
1711
|
+
"scheduleConfig": {
|
|
1712
|
+
"type": "object",
|
|
1713
|
+
"description": "多久跑一次。daily 给 hours 或 timesPerDay;weekly 还要给 weekdays;interval 还要给 intervalDays;once 什么都不用给。",
|
|
1714
|
+
"properties": {
|
|
1715
|
+
"type": {
|
|
1716
|
+
"type": "string",
|
|
1717
|
+
"enum": [
|
|
1718
|
+
"daily",
|
|
1719
|
+
"weekly",
|
|
1720
|
+
"interval",
|
|
1721
|
+
"once"
|
|
1722
|
+
],
|
|
1723
|
+
"description": "daily=每天,weekly=每周固定几天,interval=每隔几天,once=只跑一次"
|
|
1724
|
+
},
|
|
1725
|
+
"hours": {
|
|
1726
|
+
"type": "array",
|
|
1727
|
+
"items": {
|
|
1728
|
+
"type": "integer",
|
|
1729
|
+
"minimum": 0,
|
|
1730
|
+
"maximum": 23
|
|
1731
|
+
},
|
|
1732
|
+
"description": "几点跑,如 [9,15]。和「跑几次」二选一;两个都给的话后端以 hours 为准"
|
|
1733
|
+
},
|
|
1734
|
+
"timesPerDay": {
|
|
1735
|
+
"type": "integer",
|
|
1736
|
+
"minimum": 1,
|
|
1737
|
+
"maximum": 24,
|
|
1738
|
+
"description": "daily:一天跑几次,时点由系统均分"
|
|
1739
|
+
},
|
|
1740
|
+
"weekdays": {
|
|
1741
|
+
"type": "array",
|
|
1742
|
+
"items": {
|
|
1743
|
+
"type": "integer",
|
|
1744
|
+
"minimum": 1,
|
|
1745
|
+
"maximum": 7
|
|
1746
|
+
},
|
|
1747
|
+
"description": "weekly 必填:1=周一 … 7=周日"
|
|
1748
|
+
},
|
|
1749
|
+
"timesPerActiveDay": {
|
|
1750
|
+
"type": "integer",
|
|
1751
|
+
"minimum": 1,
|
|
1752
|
+
"maximum": 24,
|
|
1753
|
+
"description": "weekly:每个活跃日跑几次"
|
|
1754
|
+
},
|
|
1755
|
+
"intervalDays": {
|
|
1756
|
+
"type": "integer",
|
|
1757
|
+
"minimum": 1,
|
|
1758
|
+
"description": "interval 必填:隔几天跑一轮"
|
|
1759
|
+
},
|
|
1760
|
+
"timesPerCycle": {
|
|
1761
|
+
"type": "integer",
|
|
1762
|
+
"minimum": 1,
|
|
1763
|
+
"maximum": 24,
|
|
1764
|
+
"description": "interval:每轮跑几次"
|
|
1765
|
+
}
|
|
1766
|
+
},
|
|
1767
|
+
"required": [
|
|
1768
|
+
"type"
|
|
1769
|
+
],
|
|
1770
|
+
"additionalProperties": false
|
|
1771
|
+
},
|
|
1772
|
+
"enabled": {
|
|
1773
|
+
"type": "boolean",
|
|
1774
|
+
"default": true,
|
|
1775
|
+
"description": "建完是否立刻启用"
|
|
1776
|
+
}
|
|
1777
|
+
},
|
|
1778
|
+
"required": [
|
|
1779
|
+
"name",
|
|
1780
|
+
"companyId",
|
|
1781
|
+
"productId",
|
|
1782
|
+
"topics",
|
|
1783
|
+
"platforms",
|
|
1784
|
+
"scheduleConfig"
|
|
1785
|
+
],
|
|
1786
|
+
"additionalProperties": false
|
|
1787
|
+
}
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
"name": "scheduledIndexing.update",
|
|
1791
|
+
"mode": "write",
|
|
1792
|
+
"guide": "scheduled-monitor",
|
|
1793
|
+
"requiresPlan": true,
|
|
1794
|
+
"description": "改一个定时收录计划,只传要改的字段。公司和项目定了就不能改,要换得新建一个。注意平台和采集方式是一起判的:只改其中一个也可能凑出跑不了的组合。",
|
|
1795
|
+
"inputSchema": {
|
|
1796
|
+
"type": "object",
|
|
1797
|
+
"properties": {
|
|
1798
|
+
"planId": {
|
|
1799
|
+
"type": "integer",
|
|
1800
|
+
"minimum": 1,
|
|
1801
|
+
"description": "要改哪个计划"
|
|
1802
|
+
},
|
|
1803
|
+
"name": {
|
|
1804
|
+
"type": "string",
|
|
1805
|
+
"maxLength": 128,
|
|
1806
|
+
"description": "计划名,用户之后靠它认出这个计划"
|
|
1807
|
+
},
|
|
1808
|
+
"topics": {
|
|
1809
|
+
"type": "array",
|
|
1810
|
+
"items": {
|
|
1811
|
+
"type": "string",
|
|
1812
|
+
"maxLength": 255
|
|
1813
|
+
},
|
|
1814
|
+
"minItems": 1,
|
|
1815
|
+
"maxItems": 100,
|
|
1816
|
+
"description": "要定期去问的搜索问题。问题库里没有的会自动建一条"
|
|
1817
|
+
},
|
|
1818
|
+
"platforms": {
|
|
1819
|
+
"type": "array",
|
|
1820
|
+
"items": {
|
|
1821
|
+
"type": "string"
|
|
1822
|
+
},
|
|
1823
|
+
"minItems": 1,
|
|
1824
|
+
"description": "AI 平台。可选值必须来自 indexingPlatforms.list,不要凭印象填 —— 每个代理开的平台不一样"
|
|
1825
|
+
},
|
|
1826
|
+
"source": {
|
|
1827
|
+
"type": "integer",
|
|
1828
|
+
"enum": [
|
|
1829
|
+
1,
|
|
1830
|
+
3
|
|
1831
|
+
],
|
|
1832
|
+
"description": "采集方式:1=浏览器插件(本机插件去问,不扣算力,但插件得在线),3=云端(我们代问,按提问次数扣算力)。两种支持的平台不是同一批,选之前先看 indexingPlatforms.list 里每个平台的 sources。不传就沿用计划当前的采集方式,不会回落成插件"
|
|
1833
|
+
},
|
|
1834
|
+
"screenshotPlatforms": {
|
|
1835
|
+
"type": "array",
|
|
1836
|
+
"items": {
|
|
1837
|
+
"type": "string"
|
|
1838
|
+
},
|
|
1839
|
+
"description": "要截图的平台,必须是 platforms 的子集。只有云端采集能截图:采集方式是 1(浏览器插件)时传非空数组会直接报错。空数组=不截图,在 update 里就是把已配的截图平台清掉;update 里不传则保持原样。截图的平台每次算两份算力"
|
|
1840
|
+
},
|
|
1841
|
+
"competitorBrands": {
|
|
1842
|
+
"type": "array",
|
|
1843
|
+
"maxItems": 20,
|
|
1844
|
+
"items": {
|
|
1845
|
+
"type": "string",
|
|
1846
|
+
"maxLength": 128
|
|
1847
|
+
},
|
|
1848
|
+
"description": "要一起对比的竞品品牌名。最多 20 个,单个最多 128 字。不传就不动这一项;传空数组也不会清空,服务端一样当作不改"
|
|
1849
|
+
},
|
|
1850
|
+
"scheduleConfig": {
|
|
1851
|
+
"type": "object",
|
|
1852
|
+
"description": "多久跑一次。daily 给 hours 或 timesPerDay;weekly 还要给 weekdays;interval 还要给 intervalDays;once 什么都不用给。",
|
|
1853
|
+
"properties": {
|
|
1854
|
+
"type": {
|
|
1855
|
+
"type": "string",
|
|
1856
|
+
"enum": [
|
|
1857
|
+
"daily",
|
|
1858
|
+
"weekly",
|
|
1859
|
+
"interval",
|
|
1860
|
+
"once"
|
|
1861
|
+
],
|
|
1862
|
+
"description": "daily=每天,weekly=每周固定几天,interval=每隔几天,once=只跑一次"
|
|
1863
|
+
},
|
|
1864
|
+
"hours": {
|
|
1865
|
+
"type": "array",
|
|
1866
|
+
"items": {
|
|
1867
|
+
"type": "integer",
|
|
1868
|
+
"minimum": 0,
|
|
1869
|
+
"maximum": 23
|
|
1870
|
+
},
|
|
1871
|
+
"description": "几点跑,如 [9,15]。和「跑几次」二选一;两个都给的话后端以 hours 为准"
|
|
1872
|
+
},
|
|
1873
|
+
"timesPerDay": {
|
|
1874
|
+
"type": "integer",
|
|
1875
|
+
"minimum": 1,
|
|
1876
|
+
"maximum": 24,
|
|
1877
|
+
"description": "daily:一天跑几次,时点由系统均分"
|
|
1878
|
+
},
|
|
1879
|
+
"weekdays": {
|
|
1880
|
+
"type": "array",
|
|
1881
|
+
"items": {
|
|
1882
|
+
"type": "integer",
|
|
1883
|
+
"minimum": 1,
|
|
1884
|
+
"maximum": 7
|
|
1885
|
+
},
|
|
1886
|
+
"description": "weekly 必填:1=周一 … 7=周日"
|
|
1887
|
+
},
|
|
1888
|
+
"timesPerActiveDay": {
|
|
1889
|
+
"type": "integer",
|
|
1890
|
+
"minimum": 1,
|
|
1891
|
+
"maximum": 24,
|
|
1892
|
+
"description": "weekly:每个活跃日跑几次"
|
|
1893
|
+
},
|
|
1894
|
+
"intervalDays": {
|
|
1895
|
+
"type": "integer",
|
|
1896
|
+
"minimum": 1,
|
|
1897
|
+
"description": "interval 必填:隔几天跑一轮"
|
|
1898
|
+
},
|
|
1899
|
+
"timesPerCycle": {
|
|
1900
|
+
"type": "integer",
|
|
1901
|
+
"minimum": 1,
|
|
1902
|
+
"maximum": 24,
|
|
1903
|
+
"description": "interval:每轮跑几次"
|
|
1904
|
+
}
|
|
1905
|
+
},
|
|
1906
|
+
"required": [
|
|
1907
|
+
"type"
|
|
1908
|
+
],
|
|
1909
|
+
"additionalProperties": false
|
|
1910
|
+
},
|
|
1911
|
+
"enabled": {
|
|
1912
|
+
"type": "boolean",
|
|
1913
|
+
"description": "停用后不再自动执行;历史记录和指标都还在"
|
|
1914
|
+
}
|
|
1915
|
+
},
|
|
1916
|
+
"required": [
|
|
1917
|
+
"planId"
|
|
1918
|
+
],
|
|
1919
|
+
"additionalProperties": false
|
|
1920
|
+
}
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
"name": "scheduledIndexing.runNow",
|
|
1924
|
+
"mode": "write",
|
|
1925
|
+
"guide": "scheduled-monitor",
|
|
1926
|
+
"requiresPlan": true,
|
|
1927
|
+
"description": "不等排期,立刻把这个定时收录计划跑一次。跑的就是它当前那份配置,不接受临时改参数。云端采集当场扣算力,plan 摘要里写了这次要问多少次、扣多少,念给用户听。执行是异步的,发出去之后用 scheduledIndexing.runs 看进度。",
|
|
1928
|
+
"inputSchema": {
|
|
1929
|
+
"type": "object",
|
|
1930
|
+
"properties": {
|
|
1931
|
+
"planId": {
|
|
1932
|
+
"type": "integer",
|
|
1933
|
+
"minimum": 1
|
|
1934
|
+
}
|
|
1935
|
+
},
|
|
1936
|
+
"required": [
|
|
1937
|
+
"planId"
|
|
1938
|
+
],
|
|
1939
|
+
"additionalProperties": false
|
|
1940
|
+
}
|
|
1941
|
+
},
|
|
1942
|
+
{
|
|
1943
|
+
"name": "scheduledSentiment.create",
|
|
1944
|
+
"mode": "write",
|
|
1945
|
+
"guide": "scheduled-monitor",
|
|
1946
|
+
"requiresPlan": true,
|
|
1947
|
+
"description": "建一个定时舆情计划。建之前先用 indexingPlatforms.list 看清楚哪些平台支持你要用的采集方式。每跑一次要问「问题条数 × 平台数」次,云端采集按这个次数扣算力,plan 摘要的 notice 里写了具体数字,念给用户听。",
|
|
1948
|
+
"inputSchema": {
|
|
1949
|
+
"type": "object",
|
|
1950
|
+
"properties": {
|
|
1951
|
+
"name": {
|
|
1952
|
+
"type": "string",
|
|
1953
|
+
"maxLength": 128,
|
|
1954
|
+
"description": "计划名,用户之后靠它认出这个计划"
|
|
1955
|
+
},
|
|
1956
|
+
"companyId": {
|
|
1957
|
+
"type": "integer",
|
|
1958
|
+
"minimum": 1,
|
|
1959
|
+
"description": "归哪家公司"
|
|
1960
|
+
},
|
|
1961
|
+
"productId": {
|
|
1962
|
+
"type": "integer",
|
|
1963
|
+
"minimum": 1,
|
|
1964
|
+
"description": "归哪个 GEO 项目"
|
|
1965
|
+
},
|
|
1966
|
+
"questions": {
|
|
1967
|
+
"type": "array",
|
|
1968
|
+
"items": {
|
|
1969
|
+
"type": "string",
|
|
1970
|
+
"maxLength": 500
|
|
1971
|
+
},
|
|
1972
|
+
"minItems": 1,
|
|
1973
|
+
"maxItems": 50,
|
|
1974
|
+
"description": "要定期去问的舆情问句,比如「用户对这个品牌的评价如何」"
|
|
1975
|
+
},
|
|
1976
|
+
"platforms": {
|
|
1977
|
+
"type": "array",
|
|
1978
|
+
"items": {
|
|
1979
|
+
"type": "string"
|
|
1980
|
+
},
|
|
1981
|
+
"minItems": 1,
|
|
1982
|
+
"description": "AI 平台。可选值必须来自 indexingPlatforms.list,不要凭印象填 —— 每个代理开的平台不一样"
|
|
1983
|
+
},
|
|
1984
|
+
"source": {
|
|
1985
|
+
"type": "integer",
|
|
1986
|
+
"enum": [
|
|
1987
|
+
1,
|
|
1988
|
+
3
|
|
1989
|
+
],
|
|
1990
|
+
"description": "采集方式:1=浏览器插件(本机插件去问,不扣算力,但插件得在线),3=云端(我们代问,按提问次数扣算力)。两种支持的平台不是同一批,选之前先看 indexingPlatforms.list 里每个平台的 sources。不传默认 1(浏览器插件)"
|
|
1991
|
+
},
|
|
1992
|
+
"screenshotPlatforms": {
|
|
1993
|
+
"type": "array",
|
|
1994
|
+
"items": {
|
|
1995
|
+
"type": "string"
|
|
1996
|
+
},
|
|
1997
|
+
"description": "要截图的平台,必须是 platforms 的子集。只有云端采集能截图:采集方式是 1(浏览器插件)时传非空数组会直接报错。空数组=不截图,在 update 里就是把已配的截图平台清掉;update 里不传则保持原样。截图的平台每次算两份算力"
|
|
1998
|
+
},
|
|
1999
|
+
"scheduleConfig": {
|
|
2000
|
+
"type": "object",
|
|
2001
|
+
"description": "多久跑一次。daily 给 hours 或 timesPerDay;weekly 还要给 weekdays;interval 还要给 intervalDays;once 什么都不用给。",
|
|
2002
|
+
"properties": {
|
|
2003
|
+
"type": {
|
|
2004
|
+
"type": "string",
|
|
2005
|
+
"enum": [
|
|
2006
|
+
"daily",
|
|
2007
|
+
"weekly",
|
|
2008
|
+
"interval",
|
|
2009
|
+
"once"
|
|
2010
|
+
],
|
|
2011
|
+
"description": "daily=每天,weekly=每周固定几天,interval=每隔几天,once=只跑一次"
|
|
2012
|
+
},
|
|
2013
|
+
"hours": {
|
|
2014
|
+
"type": "array",
|
|
2015
|
+
"items": {
|
|
2016
|
+
"type": "integer",
|
|
2017
|
+
"minimum": 0,
|
|
2018
|
+
"maximum": 23
|
|
2019
|
+
},
|
|
2020
|
+
"description": "几点跑,如 [9,15]。和「跑几次」二选一;两个都给的话后端以 hours 为准"
|
|
2021
|
+
},
|
|
2022
|
+
"timesPerDay": {
|
|
2023
|
+
"type": "integer",
|
|
2024
|
+
"minimum": 1,
|
|
2025
|
+
"maximum": 24,
|
|
2026
|
+
"description": "daily:一天跑几次,时点由系统均分"
|
|
2027
|
+
},
|
|
2028
|
+
"weekdays": {
|
|
2029
|
+
"type": "array",
|
|
2030
|
+
"items": {
|
|
2031
|
+
"type": "integer",
|
|
2032
|
+
"minimum": 1,
|
|
2033
|
+
"maximum": 7
|
|
2034
|
+
},
|
|
2035
|
+
"description": "weekly 必填:1=周一 … 7=周日"
|
|
2036
|
+
},
|
|
2037
|
+
"timesPerActiveDay": {
|
|
2038
|
+
"type": "integer",
|
|
2039
|
+
"minimum": 1,
|
|
2040
|
+
"maximum": 24,
|
|
2041
|
+
"description": "weekly:每个活跃日跑几次"
|
|
2042
|
+
},
|
|
2043
|
+
"intervalDays": {
|
|
2044
|
+
"type": "integer",
|
|
2045
|
+
"minimum": 1,
|
|
2046
|
+
"description": "interval 必填:隔几天跑一轮"
|
|
2047
|
+
},
|
|
2048
|
+
"timesPerCycle": {
|
|
2049
|
+
"type": "integer",
|
|
2050
|
+
"minimum": 1,
|
|
2051
|
+
"maximum": 24,
|
|
2052
|
+
"description": "interval:每轮跑几次"
|
|
2053
|
+
}
|
|
2054
|
+
},
|
|
2055
|
+
"required": [
|
|
2056
|
+
"type"
|
|
2057
|
+
],
|
|
2058
|
+
"additionalProperties": false
|
|
2059
|
+
},
|
|
2060
|
+
"enabled": {
|
|
2061
|
+
"type": "boolean",
|
|
2062
|
+
"default": true,
|
|
2063
|
+
"description": "建完是否立刻启用"
|
|
2064
|
+
}
|
|
2065
|
+
},
|
|
2066
|
+
"required": [
|
|
2067
|
+
"name",
|
|
2068
|
+
"companyId",
|
|
2069
|
+
"productId",
|
|
2070
|
+
"questions",
|
|
2071
|
+
"platforms",
|
|
2072
|
+
"scheduleConfig"
|
|
2073
|
+
],
|
|
2074
|
+
"additionalProperties": false
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
2077
|
+
{
|
|
2078
|
+
"name": "scheduledSentiment.update",
|
|
2079
|
+
"mode": "write",
|
|
2080
|
+
"guide": "scheduled-monitor",
|
|
2081
|
+
"requiresPlan": true,
|
|
2082
|
+
"description": "改一个定时舆情计划,只传要改的字段。公司和项目定了就不能改,要换得新建一个。注意平台和采集方式是一起判的:只改其中一个也可能凑出跑不了的组合。",
|
|
2083
|
+
"inputSchema": {
|
|
2084
|
+
"type": "object",
|
|
2085
|
+
"properties": {
|
|
2086
|
+
"planId": {
|
|
2087
|
+
"type": "integer",
|
|
2088
|
+
"minimum": 1,
|
|
2089
|
+
"description": "要改哪个计划"
|
|
2090
|
+
},
|
|
2091
|
+
"name": {
|
|
2092
|
+
"type": "string",
|
|
2093
|
+
"maxLength": 128,
|
|
2094
|
+
"description": "计划名,用户之后靠它认出这个计划"
|
|
2095
|
+
},
|
|
2096
|
+
"questions": {
|
|
2097
|
+
"type": "array",
|
|
2098
|
+
"items": {
|
|
2099
|
+
"type": "string",
|
|
2100
|
+
"maxLength": 500
|
|
2101
|
+
},
|
|
2102
|
+
"minItems": 1,
|
|
2103
|
+
"maxItems": 50,
|
|
2104
|
+
"description": "要定期去问的舆情问句,比如「用户对这个品牌的评价如何」"
|
|
2105
|
+
},
|
|
2106
|
+
"platforms": {
|
|
2107
|
+
"type": "array",
|
|
2108
|
+
"items": {
|
|
2109
|
+
"type": "string"
|
|
2110
|
+
},
|
|
2111
|
+
"minItems": 1,
|
|
2112
|
+
"description": "AI 平台。可选值必须来自 indexingPlatforms.list,不要凭印象填 —— 每个代理开的平台不一样"
|
|
2113
|
+
},
|
|
2114
|
+
"source": {
|
|
2115
|
+
"type": "integer",
|
|
2116
|
+
"enum": [
|
|
2117
|
+
1,
|
|
2118
|
+
3
|
|
2119
|
+
],
|
|
2120
|
+
"description": "采集方式:1=浏览器插件(本机插件去问,不扣算力,但插件得在线),3=云端(我们代问,按提问次数扣算力)。两种支持的平台不是同一批,选之前先看 indexingPlatforms.list 里每个平台的 sources。不传就沿用计划当前的采集方式,不会回落成插件"
|
|
2121
|
+
},
|
|
2122
|
+
"screenshotPlatforms": {
|
|
2123
|
+
"type": "array",
|
|
2124
|
+
"items": {
|
|
2125
|
+
"type": "string"
|
|
2126
|
+
},
|
|
2127
|
+
"description": "要截图的平台,必须是 platforms 的子集。只有云端采集能截图:采集方式是 1(浏览器插件)时传非空数组会直接报错。空数组=不截图,在 update 里就是把已配的截图平台清掉;update 里不传则保持原样。截图的平台每次算两份算力"
|
|
2128
|
+
},
|
|
2129
|
+
"scheduleConfig": {
|
|
2130
|
+
"type": "object",
|
|
2131
|
+
"description": "多久跑一次。daily 给 hours 或 timesPerDay;weekly 还要给 weekdays;interval 还要给 intervalDays;once 什么都不用给。",
|
|
2132
|
+
"properties": {
|
|
2133
|
+
"type": {
|
|
2134
|
+
"type": "string",
|
|
2135
|
+
"enum": [
|
|
2136
|
+
"daily",
|
|
2137
|
+
"weekly",
|
|
2138
|
+
"interval",
|
|
2139
|
+
"once"
|
|
2140
|
+
],
|
|
2141
|
+
"description": "daily=每天,weekly=每周固定几天,interval=每隔几天,once=只跑一次"
|
|
2142
|
+
},
|
|
2143
|
+
"hours": {
|
|
2144
|
+
"type": "array",
|
|
2145
|
+
"items": {
|
|
2146
|
+
"type": "integer",
|
|
2147
|
+
"minimum": 0,
|
|
2148
|
+
"maximum": 23
|
|
2149
|
+
},
|
|
2150
|
+
"description": "几点跑,如 [9,15]。和「跑几次」二选一;两个都给的话后端以 hours 为准"
|
|
2151
|
+
},
|
|
2152
|
+
"timesPerDay": {
|
|
2153
|
+
"type": "integer",
|
|
2154
|
+
"minimum": 1,
|
|
2155
|
+
"maximum": 24,
|
|
2156
|
+
"description": "daily:一天跑几次,时点由系统均分"
|
|
2157
|
+
},
|
|
2158
|
+
"weekdays": {
|
|
2159
|
+
"type": "array",
|
|
2160
|
+
"items": {
|
|
2161
|
+
"type": "integer",
|
|
2162
|
+
"minimum": 1,
|
|
2163
|
+
"maximum": 7
|
|
2164
|
+
},
|
|
2165
|
+
"description": "weekly 必填:1=周一 … 7=周日"
|
|
2166
|
+
},
|
|
2167
|
+
"timesPerActiveDay": {
|
|
2168
|
+
"type": "integer",
|
|
2169
|
+
"minimum": 1,
|
|
2170
|
+
"maximum": 24,
|
|
2171
|
+
"description": "weekly:每个活跃日跑几次"
|
|
2172
|
+
},
|
|
2173
|
+
"intervalDays": {
|
|
2174
|
+
"type": "integer",
|
|
2175
|
+
"minimum": 1,
|
|
2176
|
+
"description": "interval 必填:隔几天跑一轮"
|
|
2177
|
+
},
|
|
2178
|
+
"timesPerCycle": {
|
|
2179
|
+
"type": "integer",
|
|
2180
|
+
"minimum": 1,
|
|
2181
|
+
"maximum": 24,
|
|
2182
|
+
"description": "interval:每轮跑几次"
|
|
2183
|
+
}
|
|
2184
|
+
},
|
|
2185
|
+
"required": [
|
|
2186
|
+
"type"
|
|
2187
|
+
],
|
|
2188
|
+
"additionalProperties": false
|
|
2189
|
+
},
|
|
2190
|
+
"enabled": {
|
|
2191
|
+
"type": "boolean",
|
|
2192
|
+
"description": "停用后不再自动执行;历史记录和指标都还在"
|
|
2193
|
+
}
|
|
2194
|
+
},
|
|
2195
|
+
"required": [
|
|
2196
|
+
"planId"
|
|
2197
|
+
],
|
|
2198
|
+
"additionalProperties": false
|
|
2199
|
+
}
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"name": "scheduledSentiment.runNow",
|
|
2203
|
+
"mode": "write",
|
|
2204
|
+
"guide": "scheduled-monitor",
|
|
2205
|
+
"requiresPlan": true,
|
|
2206
|
+
"description": "不等排期,立刻把这个定时舆情计划跑一次。跑的就是它当前那份配置,不接受临时改参数。云端采集当场扣算力,plan 摘要里写了这次要问多少次、扣多少,念给用户听。执行是异步的,发出去之后用 scheduledSentiment.runs 看进度。",
|
|
2207
|
+
"inputSchema": {
|
|
2208
|
+
"type": "object",
|
|
2209
|
+
"properties": {
|
|
2210
|
+
"planId": {
|
|
2211
|
+
"type": "integer",
|
|
2212
|
+
"minimum": 1
|
|
2213
|
+
}
|
|
2214
|
+
},
|
|
2215
|
+
"required": [
|
|
2216
|
+
"planId"
|
|
2217
|
+
],
|
|
2218
|
+
"additionalProperties": false
|
|
2219
|
+
}
|
|
778
2220
|
}
|
|
779
2221
|
]
|
|
780
2222
|
}
|