@zhin.js/adapter-kook 1.1.24 → 1.1.26
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/CHANGELOG.md +25 -0
- package/lib/console-spec.js +148 -13
- package/package.json +17 -17
- package/src/console-spec.ts +148 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @zhin.js/adapter-kook
|
|
2
2
|
|
|
3
|
+
## 1.1.26
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0d76a7c: Overhaul Console interactive workbenches, platform-specific adapter account onboarding/login flows, DeclarativePageView visual/interactive capabilities, and official utility plugin Console pages.
|
|
8
|
+
- Updated dependencies [0d76a7c]
|
|
9
|
+
- @zhin.js/adapter@1.1.32
|
|
10
|
+
- @zhin.js/core@1.1.60
|
|
11
|
+
|
|
12
|
+
## 1.1.25
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Updated dependencies [8adce16]
|
|
17
|
+
- @zhin.js/console-contract@1.1.5
|
|
18
|
+
- @zhin.js/host-http@1.1.17
|
|
19
|
+
- @zhin.js/core@1.1.59
|
|
20
|
+
- @zhin.js/page@1.1.17
|
|
21
|
+
- @zhin.js/adapter@1.1.31
|
|
22
|
+
- @zhin.js/agent-feature@1.1.16
|
|
23
|
+
- @zhin.js/feature-kit@1.1.15
|
|
24
|
+
- @zhin.js/permission@1.1.15
|
|
25
|
+
- @zhin.js/skill@1.1.16
|
|
26
|
+
- @zhin.js/tool@1.1.18
|
|
27
|
+
|
|
3
28
|
## 1.1.24
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/lib/console-spec.js
CHANGED
|
@@ -2,19 +2,154 @@ export const kookConsoleSpec = {
|
|
|
2
2
|
adapterKey: 'kook',
|
|
3
3
|
adapterDisplayName: 'KOOK',
|
|
4
4
|
fields: [
|
|
5
|
-
{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
{
|
|
5
|
+
{
|
|
6
|
+
key: 'token',
|
|
7
|
+
required: true,
|
|
8
|
+
env: true,
|
|
9
|
+
label: 'Bot Token (机器人令牌)',
|
|
10
|
+
labelI18n: { en: 'Bot Token' },
|
|
11
|
+
group: '基础认证',
|
|
12
|
+
groupI18n: { en: 'Basic Auth' },
|
|
13
|
+
placeholder: '1/MTIzNDU=/...',
|
|
14
|
+
description: 'KOOK 开发者中心获取的 Bot Token',
|
|
15
|
+
descriptionI18n: { en: 'KOOK bot token' },
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: 'connection',
|
|
19
|
+
label: '连接模式',
|
|
20
|
+
labelI18n: { en: 'Connection Mode' },
|
|
21
|
+
group: '连接与回调',
|
|
22
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
23
|
+
placeholder: 'websocket',
|
|
24
|
+
description: 'websocket(默认长连接)或 webhook',
|
|
25
|
+
descriptionI18n: { en: 'websocket or webhook' },
|
|
26
|
+
options: [
|
|
27
|
+
{ value: 'websocket', label: 'WebSocket 长连接(推荐)', labelI18n: { en: 'WebSocket (Recommended)' } },
|
|
28
|
+
{ value: 'webhook', label: 'Webhook 回调', labelI18n: { en: 'Webhook' } },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: 'encrypt_key',
|
|
33
|
+
env: true,
|
|
34
|
+
label: 'Webhook Encrypt Key',
|
|
35
|
+
labelI18n: { en: 'Webhook Encrypt Key' },
|
|
36
|
+
group: '连接与回调',
|
|
37
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
38
|
+
placeholder: 'Webhook 模式下的 Encrypt Key',
|
|
39
|
+
placeholderI18n: { en: 'Encrypt key for webhook mode' },
|
|
40
|
+
description: 'webhook 加密密钥(connection: webhook)',
|
|
41
|
+
descriptionI18n: { en: 'Webhook encryption secret' },
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'verify_token',
|
|
45
|
+
env: true,
|
|
46
|
+
label: 'Webhook Verify Token',
|
|
47
|
+
labelI18n: { en: 'Webhook Verify Token' },
|
|
48
|
+
group: '连接与回调',
|
|
49
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
50
|
+
placeholder: 'Webhook 模式下的 Verify Token',
|
|
51
|
+
placeholderI18n: { en: 'Verify token for webhook mode' },
|
|
52
|
+
description: 'webhook 验证 token(connection: webhook)',
|
|
53
|
+
descriptionI18n: { en: 'Webhook verification token' },
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: 'webhookPath',
|
|
57
|
+
label: 'Webhook 本地路由',
|
|
58
|
+
labelI18n: { en: 'Webhook Local Path' },
|
|
59
|
+
group: '连接与回调',
|
|
60
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
61
|
+
placeholder: '/kook/webhook',
|
|
62
|
+
description: '本地监听的 Webhook 路径',
|
|
63
|
+
descriptionI18n: { en: 'Local webhook route' },
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: 'ignore',
|
|
67
|
+
label: '消息忽略策略',
|
|
68
|
+
labelI18n: { en: 'Ignore Policy' },
|
|
69
|
+
group: '流式体验与代理',
|
|
70
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
71
|
+
placeholder: 'bot',
|
|
72
|
+
description: '忽略消息来源:bot(所有机器人)或 self(仅自身)',
|
|
73
|
+
descriptionI18n: { en: 'SDK inbound ignore setting: bot or self' },
|
|
74
|
+
options: [
|
|
75
|
+
{ value: 'bot', label: '忽略所有机器人 (bot)', labelI18n: { en: 'Ignore all bots (bot)' } },
|
|
76
|
+
{ value: 'self', label: '仅忽略自身 (self)', labelI18n: { en: 'Ignore self only (self)' } },
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
key: 'timeout',
|
|
81
|
+
type: 'number',
|
|
82
|
+
label: '请求超时 (ms)',
|
|
83
|
+
labelI18n: { en: 'Request Timeout (ms)' },
|
|
84
|
+
group: '流式体验与代理',
|
|
85
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
86
|
+
placeholder: '10000',
|
|
87
|
+
description: 'API 请求超时时间(毫秒)',
|
|
88
|
+
descriptionI18n: { en: 'SDK request timeout' },
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
key: 'max_retry',
|
|
92
|
+
type: 'number',
|
|
93
|
+
label: '最大重试次数',
|
|
94
|
+
labelI18n: { en: 'Max Retries' },
|
|
95
|
+
group: '流式体验与代理',
|
|
96
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
97
|
+
placeholder: '3',
|
|
98
|
+
description: 'SDK 请求失败最大重试次数',
|
|
99
|
+
descriptionI18n: { en: 'SDK configured retry count' },
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
key: 'data_dir',
|
|
103
|
+
label: 'SDK 数据目录',
|
|
104
|
+
labelI18n: { en: 'SDK Data Directory' },
|
|
105
|
+
group: '流式体验与代理',
|
|
106
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
107
|
+
placeholder: './data/kook',
|
|
108
|
+
description: 'KOOK SDK 本地缓存目录(可选)',
|
|
109
|
+
descriptionI18n: { en: 'SDK data directory' },
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: 'logLevel',
|
|
113
|
+
label: 'SDK 日志级别',
|
|
114
|
+
labelI18n: { en: 'SDK Log Level' },
|
|
115
|
+
group: '流式体验与代理',
|
|
116
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
117
|
+
placeholder: 'info',
|
|
118
|
+
description: 'KOOK SDK 日志级别(info / warn / error / debug)',
|
|
119
|
+
descriptionI18n: { en: 'SDK log level' },
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: 'apiProxy.port',
|
|
123
|
+
type: 'number',
|
|
124
|
+
label: 'API 代理端口',
|
|
125
|
+
labelI18n: { en: 'API Proxy Port' },
|
|
126
|
+
group: '流式体验与代理',
|
|
127
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
128
|
+
placeholder: '例如 7890',
|
|
129
|
+
description: '本地回环 API 代理端口(可选)',
|
|
130
|
+
descriptionI18n: { en: 'Configured API loopback proxy port' },
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
key: 'streamProxy.port',
|
|
134
|
+
type: 'number',
|
|
135
|
+
label: '网关代理端口',
|
|
136
|
+
labelI18n: { en: 'Gateway Proxy Port' },
|
|
137
|
+
group: '流式体验与代理',
|
|
138
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
139
|
+
placeholder: '例如 7890',
|
|
140
|
+
description: '本地回环 Gateway 代理端口(可选)',
|
|
141
|
+
descriptionI18n: { en: 'Configured Gateway loopback proxy port' },
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
key: 'streamProxy.serverName',
|
|
145
|
+
label: '网关 TLS 主机名',
|
|
146
|
+
labelI18n: { en: 'Gateway TLS Server Name' },
|
|
147
|
+
group: '流式体验与代理',
|
|
148
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
149
|
+
placeholder: 'gateway.kookapp.cn',
|
|
150
|
+
description: '代理校验的 Gateway TLS 主机名(可选)',
|
|
151
|
+
descriptionI18n: { en: 'Expected Gateway TLS hostname' },
|
|
152
|
+
},
|
|
18
153
|
],
|
|
19
154
|
docsUrl: 'https://zhin.js.org/adapters/kook',
|
|
20
155
|
readPermission: 'kook:read',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-kook",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.26",
|
|
4
4
|
"description": "Zhin.js KOOK adapter for Plugin Runtime (WebSocket gateway or Webhook)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -33,25 +33,25 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"kook-client": "^1.0.5",
|
|
36
|
-
"@zhin.js/adapter": "1.1.
|
|
37
|
-
"@zhin.js/agent-feature": "1.1.
|
|
38
|
-
"@zhin.js/console-contract": "1.1.
|
|
39
|
-
"@zhin.js/core": "1.1.
|
|
40
|
-
"@zhin.js/feature-kit": "1.1.
|
|
41
|
-
"@zhin.js/host-http": "1.1.
|
|
36
|
+
"@zhin.js/adapter": "1.1.32",
|
|
37
|
+
"@zhin.js/agent-feature": "1.1.16",
|
|
38
|
+
"@zhin.js/console-contract": "1.1.5",
|
|
39
|
+
"@zhin.js/core": "1.1.60",
|
|
40
|
+
"@zhin.js/feature-kit": "1.1.15",
|
|
41
|
+
"@zhin.js/host-http": "1.1.17",
|
|
42
42
|
"@zhin.js/im-contract": "1.1.13",
|
|
43
43
|
"@zhin.js/logger": "1.1.2",
|
|
44
|
-
"@zhin.js/page": "1.1.
|
|
45
|
-
"@zhin.js/permission": "1.1.
|
|
46
|
-
"@zhin.js/skill": "1.1.
|
|
47
|
-
"@zhin.js/tool": "1.1.
|
|
44
|
+
"@zhin.js/page": "1.1.17",
|
|
45
|
+
"@zhin.js/permission": "1.1.15",
|
|
46
|
+
"@zhin.js/skill": "1.1.16",
|
|
47
|
+
"@zhin.js/tool": "1.1.18"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"zod": "^4.0.0",
|
|
51
|
-
"@zhin.js/adapter": "^1.1.
|
|
52
|
-
"@zhin.js/command": "^1.1.
|
|
53
|
-
"@zhin.js/core": "^1.1.
|
|
54
|
-
"zhin.js": "^1.1.
|
|
51
|
+
"@zhin.js/adapter": "^1.1.32",
|
|
52
|
+
"@zhin.js/command": "^1.1.17",
|
|
53
|
+
"@zhin.js/core": "^1.1.60",
|
|
54
|
+
"zhin.js": "^1.1.25"
|
|
55
55
|
},
|
|
56
56
|
"peerDependenciesMeta": {
|
|
57
57
|
"@zhin.js/command": {
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"typescript": "^6.0.3",
|
|
70
70
|
"vitest": "^4.1.10",
|
|
71
71
|
"zod": "^4.4.3",
|
|
72
|
-
"@zhin.js/host-http": "1.1.
|
|
73
|
-
"zhin.js": "1.1.
|
|
72
|
+
"@zhin.js/host-http": "1.1.17",
|
|
73
|
+
"zhin.js": "1.1.25"
|
|
74
74
|
},
|
|
75
75
|
"files": [
|
|
76
76
|
"adapters",
|
package/src/console-spec.ts
CHANGED
|
@@ -7,19 +7,154 @@ export const kookConsoleSpec = {
|
|
|
7
7
|
adapterKey: 'kook',
|
|
8
8
|
adapterDisplayName: 'KOOK',
|
|
9
9
|
fields: [
|
|
10
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
10
|
+
{
|
|
11
|
+
key: 'token',
|
|
12
|
+
required: true,
|
|
13
|
+
env: true,
|
|
14
|
+
label: 'Bot Token (机器人令牌)',
|
|
15
|
+
labelI18n: { en: 'Bot Token' },
|
|
16
|
+
group: '基础认证',
|
|
17
|
+
groupI18n: { en: 'Basic Auth' },
|
|
18
|
+
placeholder: '1/MTIzNDU=/...',
|
|
19
|
+
description: 'KOOK 开发者中心获取的 Bot Token',
|
|
20
|
+
descriptionI18n: { en: 'KOOK bot token' },
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: 'connection',
|
|
24
|
+
label: '连接模式',
|
|
25
|
+
labelI18n: { en: 'Connection Mode' },
|
|
26
|
+
group: '连接与回调',
|
|
27
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
28
|
+
placeholder: 'websocket',
|
|
29
|
+
description: 'websocket(默认长连接)或 webhook',
|
|
30
|
+
descriptionI18n: { en: 'websocket or webhook' },
|
|
31
|
+
options: [
|
|
32
|
+
{ value: 'websocket', label: 'WebSocket 长连接(推荐)', labelI18n: { en: 'WebSocket (Recommended)' } },
|
|
33
|
+
{ value: 'webhook', label: 'Webhook 回调', labelI18n: { en: 'Webhook' } },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'encrypt_key',
|
|
38
|
+
env: true,
|
|
39
|
+
label: 'Webhook Encrypt Key',
|
|
40
|
+
labelI18n: { en: 'Webhook Encrypt Key' },
|
|
41
|
+
group: '连接与回调',
|
|
42
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
43
|
+
placeholder: 'Webhook 模式下的 Encrypt Key',
|
|
44
|
+
placeholderI18n: { en: 'Encrypt key for webhook mode' },
|
|
45
|
+
description: 'webhook 加密密钥(connection: webhook)',
|
|
46
|
+
descriptionI18n: { en: 'Webhook encryption secret' },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'verify_token',
|
|
50
|
+
env: true,
|
|
51
|
+
label: 'Webhook Verify Token',
|
|
52
|
+
labelI18n: { en: 'Webhook Verify Token' },
|
|
53
|
+
group: '连接与回调',
|
|
54
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
55
|
+
placeholder: 'Webhook 模式下的 Verify Token',
|
|
56
|
+
placeholderI18n: { en: 'Verify token for webhook mode' },
|
|
57
|
+
description: 'webhook 验证 token(connection: webhook)',
|
|
58
|
+
descriptionI18n: { en: 'Webhook verification token' },
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: 'webhookPath',
|
|
62
|
+
label: 'Webhook 本地路由',
|
|
63
|
+
labelI18n: { en: 'Webhook Local Path' },
|
|
64
|
+
group: '连接与回调',
|
|
65
|
+
groupI18n: { en: 'Connection & Webhook' },
|
|
66
|
+
placeholder: '/kook/webhook',
|
|
67
|
+
description: '本地监听的 Webhook 路径',
|
|
68
|
+
descriptionI18n: { en: 'Local webhook route' },
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
key: 'ignore',
|
|
72
|
+
label: '消息忽略策略',
|
|
73
|
+
labelI18n: { en: 'Ignore Policy' },
|
|
74
|
+
group: '流式体验与代理',
|
|
75
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
76
|
+
placeholder: 'bot',
|
|
77
|
+
description: '忽略消息来源:bot(所有机器人)或 self(仅自身)',
|
|
78
|
+
descriptionI18n: { en: 'SDK inbound ignore setting: bot or self' },
|
|
79
|
+
options: [
|
|
80
|
+
{ value: 'bot', label: '忽略所有机器人 (bot)', labelI18n: { en: 'Ignore all bots (bot)' } },
|
|
81
|
+
{ value: 'self', label: '仅忽略自身 (self)', labelI18n: { en: 'Ignore self only (self)' } },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
key: 'timeout',
|
|
86
|
+
type: 'number',
|
|
87
|
+
label: '请求超时 (ms)',
|
|
88
|
+
labelI18n: { en: 'Request Timeout (ms)' },
|
|
89
|
+
group: '流式体验与代理',
|
|
90
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
91
|
+
placeholder: '10000',
|
|
92
|
+
description: 'API 请求超时时间(毫秒)',
|
|
93
|
+
descriptionI18n: { en: 'SDK request timeout' },
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
key: 'max_retry',
|
|
97
|
+
type: 'number',
|
|
98
|
+
label: '最大重试次数',
|
|
99
|
+
labelI18n: { en: 'Max Retries' },
|
|
100
|
+
group: '流式体验与代理',
|
|
101
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
102
|
+
placeholder: '3',
|
|
103
|
+
description: 'SDK 请求失败最大重试次数',
|
|
104
|
+
descriptionI18n: { en: 'SDK configured retry count' },
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
key: 'data_dir',
|
|
108
|
+
label: 'SDK 数据目录',
|
|
109
|
+
labelI18n: { en: 'SDK Data Directory' },
|
|
110
|
+
group: '流式体验与代理',
|
|
111
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
112
|
+
placeholder: './data/kook',
|
|
113
|
+
description: 'KOOK SDK 本地缓存目录(可选)',
|
|
114
|
+
descriptionI18n: { en: 'SDK data directory' },
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
key: 'logLevel',
|
|
118
|
+
label: 'SDK 日志级别',
|
|
119
|
+
labelI18n: { en: 'SDK Log Level' },
|
|
120
|
+
group: '流式体验与代理',
|
|
121
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
122
|
+
placeholder: 'info',
|
|
123
|
+
description: 'KOOK SDK 日志级别(info / warn / error / debug)',
|
|
124
|
+
descriptionI18n: { en: 'SDK log level' },
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
key: 'apiProxy.port',
|
|
128
|
+
type: 'number',
|
|
129
|
+
label: 'API 代理端口',
|
|
130
|
+
labelI18n: { en: 'API Proxy Port' },
|
|
131
|
+
group: '流式体验与代理',
|
|
132
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
133
|
+
placeholder: '例如 7890',
|
|
134
|
+
description: '本地回环 API 代理端口(可选)',
|
|
135
|
+
descriptionI18n: { en: 'Configured API loopback proxy port' },
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
key: 'streamProxy.port',
|
|
139
|
+
type: 'number',
|
|
140
|
+
label: '网关代理端口',
|
|
141
|
+
labelI18n: { en: 'Gateway Proxy Port' },
|
|
142
|
+
group: '流式体验与代理',
|
|
143
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
144
|
+
placeholder: '例如 7890',
|
|
145
|
+
description: '本地回环 Gateway 代理端口(可选)',
|
|
146
|
+
descriptionI18n: { en: 'Configured Gateway loopback proxy port' },
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
key: 'streamProxy.serverName',
|
|
150
|
+
label: '网关 TLS 主机名',
|
|
151
|
+
labelI18n: { en: 'Gateway TLS Server Name' },
|
|
152
|
+
group: '流式体验与代理',
|
|
153
|
+
groupI18n: { en: 'Streaming & Proxy' },
|
|
154
|
+
placeholder: 'gateway.kookapp.cn',
|
|
155
|
+
description: '代理校验的 Gateway TLS 主机名(可选)',
|
|
156
|
+
descriptionI18n: { en: 'Expected Gateway TLS hostname' },
|
|
157
|
+
},
|
|
23
158
|
] as readonly AdapterConsoleField[],
|
|
24
159
|
docsUrl: 'https://zhin.js.org/adapters/kook',
|
|
25
160
|
readPermission: 'kook:read',
|