@zhin.js/adapter-napcat 3.0.0 → 3.0.1
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 +17 -0
- package/dist/index.js +2 -2
- package/lib/adapter.d.ts +12 -5
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +14 -7
- package/lib/adapter.js.map +1 -1
- package/lib/endpoint-base.d.ts +1 -0
- package/lib/endpoint-base.d.ts.map +1 -1
- package/lib/endpoint-base.js +12 -5
- package/lib/endpoint-base.js.map +1 -1
- package/lib/endpoint-http.d.ts +0 -1
- package/lib/endpoint-http.d.ts.map +1 -1
- package/lib/endpoint-http.js +0 -13
- package/lib/endpoint-http.js.map +1 -1
- package/lib/endpoint-ws-client.d.ts +0 -1
- package/lib/endpoint-ws-client.d.ts.map +1 -1
- package/lib/endpoint-ws-client.js +0 -26
- package/lib/endpoint-ws-client.js.map +1 -1
- package/lib/endpoint-ws-server.d.ts +0 -1
- package/lib/endpoint-ws-server.d.ts.map +1 -1
- package/lib/endpoint-ws-server.js +0 -13
- package/lib/endpoint-ws-server.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -5
- package/lib/index.js.map +1 -1
- package/lib/segment-mapper.d.ts +2 -0
- package/lib/segment-mapper.d.ts.map +1 -0
- package/lib/segment-mapper.js +2 -0
- package/lib/segment-mapper.js.map +1 -0
- package/lib/tools.js +7 -7
- package/lib/types.d.ts +0 -18
- package/lib/types.d.ts.map +1 -1
- package/package.json +14 -14
- package/skills/napcat/PERMITS.md +3 -3
- package/skills/napcat/SKILL.md +2 -2
- package/src/adapter.ts +14 -7
- package/src/endpoint-base.ts +15 -4
- package/src/endpoint-http.ts +0 -14
- package/src/endpoint-ws-client.ts +0 -27
- package/src/endpoint-ws-server.ts +0 -14
- package/src/index.ts +7 -12
- package/src/segment-mapper.ts +1 -0
- package/src/tools.ts +7 -7
- package/src/types.ts +0 -13
- package/lib/typing-indicator.d.ts +0 -45
- package/lib/typing-indicator.d.ts.map +0 -1
- package/lib/typing-indicator.js +0 -132
- package/lib/typing-indicator.js.map +0 -1
- package/src/typing-indicator.ts +0 -184
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import WebSocket from 'ws';
|
|
5
5
|
import { formatCompact } from 'zhin.js';
|
|
6
6
|
import { NapCatEndpointBase } from './endpoint-base.js';
|
|
7
|
-
import { enableTypingIndicator } from './typing-indicator.js';
|
|
8
7
|
export class NapCatWsServer extends NapCatEndpointBase {
|
|
9
8
|
router;
|
|
10
9
|
#wss;
|
|
@@ -119,7 +118,6 @@ export class NapCatWsServer extends NapCatEndpointBase {
|
|
|
119
118
|
this.#clientMap.set(String(message.self_id), client);
|
|
120
119
|
this.$connected = true;
|
|
121
120
|
this.logger.info(formatCompact({ endpoint: this.$id, self_id: message.self_id }));
|
|
122
|
-
this.initTypingIndicator();
|
|
123
121
|
return;
|
|
124
122
|
}
|
|
125
123
|
this.dispatchEvent(message);
|
|
@@ -135,16 +133,5 @@ export class NapCatWsServer extends NapCatEndpointBase {
|
|
|
135
133
|
}
|
|
136
134
|
}, interval);
|
|
137
135
|
}
|
|
138
|
-
initTypingIndicator() {
|
|
139
|
-
const tiConfig = this.$config.typingIndicator;
|
|
140
|
-
if (tiConfig && tiConfig.enabled !== false) {
|
|
141
|
-
enableTypingIndicator(this, {
|
|
142
|
-
enabled: true,
|
|
143
|
-
defaultEmoji: tiConfig.defaultEmoji || '128516',
|
|
144
|
-
autoRemove: true,
|
|
145
|
-
removeDelay: 5000,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
136
|
}
|
|
150
137
|
//# sourceMappingURL=endpoint-ws-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-ws-server.js","sourceRoot":"","sources":["../src/endpoint-ws-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,SAA8B,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint-ws-server.js","sourceRoot":"","sources":["../src/endpoint-ws-server.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ export { NapCatWsServer } from './endpoint-ws-server.js';
|
|
|
7
7
|
export { NapCatHttpEndpoint } from './endpoint-http.js';
|
|
8
8
|
export { NapCatAdapter, type NapCatEndpoint } from './adapter.js';
|
|
9
9
|
export { NapCatEndpointBase } from './endpoint-base.js';
|
|
10
|
-
export { NapCatTypingIndicatorManager, enableTypingIndicator, type NapCatTypingIndicatorConfig, } from './typing-indicator.js';
|
|
11
10
|
declare module 'zhin.js' {
|
|
12
11
|
namespace Plugin {
|
|
13
12
|
interface Contexts {
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,GAAG,EAAE,WAAW,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;SAChB;KACF;IACD,UAAU,QAAQ;QAChB,MAAM,EAAE,aAAa,CAAC;KACvB;CACF"}
|
package/lib/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* 连接方式:正向 WS / 反向 WS / HTTP
|
|
5
5
|
*/
|
|
6
6
|
import path from 'path';
|
|
7
|
-
import { usePlugin,
|
|
7
|
+
import { usePlugin, createSceneManagementTools, registerDefaultScenePlatformPermitChecker, } from 'zhin.js';
|
|
8
8
|
import { registerAgentPromptContributor, unregisterAgentPromptContributor } from 'zhin.js/agent';
|
|
9
9
|
import { NapCatAdapter } from './adapter.js';
|
|
10
10
|
import { createNapCatTools } from './tools.js';
|
|
@@ -16,7 +16,6 @@ export { NapCatWsServer } from './endpoint-ws-server.js';
|
|
|
16
16
|
export { NapCatHttpEndpoint } from './endpoint-http.js';
|
|
17
17
|
export { NapCatAdapter } from './adapter.js';
|
|
18
18
|
export { NapCatEndpointBase } from './endpoint-base.js';
|
|
19
|
-
export { NapCatTypingIndicatorManager, enableTypingIndicator, } from './typing-indicator.js';
|
|
20
19
|
const plugin = usePlugin();
|
|
21
20
|
const { provide, useContext } = plugin;
|
|
22
21
|
// ── 适配器注册 ─────────────────────────────────────────────────────
|
|
@@ -37,9 +36,9 @@ provide({
|
|
|
37
36
|
// ── AI 工具注册 ────────────────────────────────────────────────────
|
|
38
37
|
useContext('tool', 'napcat', (toolService, napcat) => {
|
|
39
38
|
const disposers = [];
|
|
40
|
-
disposers.push(
|
|
41
|
-
const
|
|
42
|
-
disposers.push(...
|
|
39
|
+
disposers.push(registerDefaultScenePlatformPermitChecker('napcat'));
|
|
40
|
+
const sceneTools = createSceneManagementTools(napcat, 'napcat');
|
|
41
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
43
42
|
const napcatTools = createNapCatTools(napcat);
|
|
44
43
|
disposers.push(...napcatTools.map(t => toolService.addTool(t, plugin.name)));
|
|
45
44
|
return () => disposers.forEach(d => d());
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,SAAS,EAIT,0BAA0B,EAC1B,yCAAyC,GAE1C,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-mapper.d.ts","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-mapper.js","sourceRoot":"","sources":["../src/segment-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
package/lib/tools.js
CHANGED
|
@@ -102,7 +102,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
102
102
|
},
|
|
103
103
|
required: ['endpoint_id', 'message_id'],
|
|
104
104
|
keywords: ['精华', 'essence', '设精', '加精'],
|
|
105
|
-
permit: 'platform(napcat,
|
|
105
|
+
permit: 'platform(napcat,scene_admin)',
|
|
106
106
|
scopes: ['group'],
|
|
107
107
|
execute: async (adapter, args) => {
|
|
108
108
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -119,7 +119,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
119
119
|
},
|
|
120
120
|
required: ['endpoint_id', 'message_id'],
|
|
121
121
|
keywords: ['取消精华', '移除精华', 'delete essence'],
|
|
122
|
-
permit: 'platform(napcat,
|
|
122
|
+
permit: 'platform(napcat,scene_admin)',
|
|
123
123
|
scopes: ['group'],
|
|
124
124
|
execute: async (adapter, args) => {
|
|
125
125
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -155,7 +155,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
155
155
|
},
|
|
156
156
|
required: ['endpoint_id', 'group_id', 'content'],
|
|
157
157
|
keywords: ['群公告', 'notice', '公告', '发公告'],
|
|
158
|
-
permit: 'platform(napcat,
|
|
158
|
+
permit: 'platform(napcat,scene_admin)',
|
|
159
159
|
scopes: ['group'],
|
|
160
160
|
execute: async (adapter, args) => {
|
|
161
161
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -189,7 +189,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
189
189
|
},
|
|
190
190
|
required: ['endpoint_id', 'group_id', 'notice_id'],
|
|
191
191
|
keywords: ['删除公告', 'delete notice'],
|
|
192
|
-
permit: 'platform(napcat,
|
|
192
|
+
permit: 'platform(napcat,scene_admin)',
|
|
193
193
|
scopes: ['group'],
|
|
194
194
|
execute: async (adapter, args) => {
|
|
195
195
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -278,7 +278,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
278
278
|
},
|
|
279
279
|
required: ['endpoint_id', 'group_id', 'file'],
|
|
280
280
|
keywords: ['群头像', 'group portrait', '设置群头像'],
|
|
281
|
-
permit: 'platform(napcat,
|
|
281
|
+
permit: 'platform(napcat,scene_admin)',
|
|
282
282
|
scopes: ['group'],
|
|
283
283
|
execute: async (adapter, args) => {
|
|
284
284
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -297,7 +297,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
297
297
|
},
|
|
298
298
|
required: ['endpoint_id', 'group_id', 'user_id', 'title'],
|
|
299
299
|
keywords: ['头衔', 'title', '专属头衔', '设置头衔'],
|
|
300
|
-
permit: 'platform(napcat,
|
|
300
|
+
permit: 'platform(napcat,scene_owner)',
|
|
301
301
|
scopes: ['group'],
|
|
302
302
|
execute: async (adapter, args) => {
|
|
303
303
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
@@ -576,7 +576,7 @@ const NAPCAT_TOOL_SPECS = [
|
|
|
576
576
|
},
|
|
577
577
|
required: ['endpoint_id', 'user_id'],
|
|
578
578
|
keywords: ['删除好友', 'delete friend', '删好友'],
|
|
579
|
-
permit: 'platform(napcat,
|
|
579
|
+
permit: 'platform(napcat,scene_admin)',
|
|
580
580
|
execute: async (adapter, args) => {
|
|
581
581
|
const endpoint = getEndpoint(adapter, args.endpoint_id);
|
|
582
582
|
await endpoint.deleteFriend(args.user_id);
|
package/lib/types.d.ts
CHANGED
|
@@ -2,28 +2,10 @@
|
|
|
2
2
|
* NapCat 适配器类型定义
|
|
3
3
|
* 覆盖 OneBot11 标准 + go-cqhttp 扩展 + NapCat 独有 API
|
|
4
4
|
*/
|
|
5
|
-
export interface TypingIndicatorConfig {
|
|
6
|
-
/** 是否启用(默认 true) */
|
|
7
|
-
enabled?: boolean;
|
|
8
|
-
/** 默认表情 ID */
|
|
9
|
-
defaultEmoji?: string;
|
|
10
|
-
/** 私聊配置 */
|
|
11
|
-
privateConfig?: {
|
|
12
|
-
type?: 'message' | 'typing';
|
|
13
|
-
message?: string;
|
|
14
|
-
};
|
|
15
|
-
/** 群聊配置 */
|
|
16
|
-
groupConfig?: {
|
|
17
|
-
type?: 'reaction';
|
|
18
|
-
emoji?: string;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
5
|
export interface NapCatConfigBase {
|
|
22
6
|
context: 'napcat';
|
|
23
7
|
name: string;
|
|
24
8
|
access_token?: string;
|
|
25
|
-
/** Typing Indicator 配置 */
|
|
26
|
-
typingIndicator?: TypingIndicatorConfig;
|
|
27
9
|
}
|
|
28
10
|
/** 正向 WebSocket */
|
|
29
11
|
export interface NapCatWsClientConfig extends NapCatConfigBase {
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-napcat",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Zhin.js adapter for NapCatQQ (OneBot11 superset with go-cqhttp & NapCat extensions)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -49,25 +49,25 @@
|
|
|
49
49
|
"ws": "^8.21.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/node": "^
|
|
52
|
+
"@types/node": "^26.1.0",
|
|
53
53
|
"@types/react": "^19.2.17",
|
|
54
54
|
"@types/react-dom": "^19.2.3",
|
|
55
55
|
"@types/ws": "^8.18.1",
|
|
56
|
-
"lucide-react": "^1.
|
|
56
|
+
"lucide-react": "^1.22.0",
|
|
57
57
|
"typescript": "^6.0.3",
|
|
58
|
-
"@zhin.js/
|
|
59
|
-
"@zhin.js/
|
|
60
|
-
"@zhin.js/
|
|
61
|
-
"@zhin.js/host-api": "2.0.
|
|
62
|
-
"@zhin.js/host-router": "2.0.
|
|
63
|
-
"zhin.js": "4.1.
|
|
58
|
+
"@zhin.js/cli": "1.0.92",
|
|
59
|
+
"@zhin.js/contract": "1.0.2",
|
|
60
|
+
"@zhin.js/agent": "1.0.2",
|
|
61
|
+
"@zhin.js/host-api": "2.0.4",
|
|
62
|
+
"@zhin.js/host-router": "2.0.2",
|
|
63
|
+
"zhin.js": "4.1.1"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@zhin.js/
|
|
67
|
-
"@zhin.js/host-
|
|
68
|
-
"@zhin.js/
|
|
69
|
-
"
|
|
70
|
-
"zhin.js": "
|
|
66
|
+
"@zhin.js/contract": "1.0.2",
|
|
67
|
+
"@zhin.js/host-router": "2.0.2",
|
|
68
|
+
"@zhin.js/agent": "1.0.2",
|
|
69
|
+
"zhin.js": "4.1.1",
|
|
70
|
+
"@zhin.js/host-api": "2.0.4"
|
|
71
71
|
},
|
|
72
72
|
"peerDependenciesMeta": {
|
|
73
73
|
"@zhin.js/agent": {
|
package/skills/napcat/PERMITS.md
CHANGED
|
@@ -13,7 +13,7 @@ OneBot `sender.role` 透传:`owner` · `admin` · `member`。
|
|
|
13
13
|
|
|
14
14
|
| `platform(napcat,…)` | 含义 |
|
|
15
15
|
|----------------------|------|
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
16
|
+
| `scene_owner` | 群主 |
|
|
17
|
+
| `scene_admin` | 群管理员(含群主) |
|
|
18
18
|
|
|
19
|
-
使用 core 默认 `
|
|
19
|
+
使用 core 默认 `createSceneRolePlatformChecker`。
|
package/skills/napcat/SKILL.md
CHANGED
|
@@ -110,8 +110,8 @@ NapCat 是 OneBot11 协议的超集实现,提供标准群管理之外大量 QQ
|
|
|
110
110
|
工具分三个权限层级,调用前先判断 Endpoint 在群里的身份:
|
|
111
111
|
|
|
112
112
|
- **user** — 普通成员即可,如查询、点赞、戳一戳
|
|
113
|
-
- **
|
|
114
|
-
- **
|
|
113
|
+
- **scene_admin** — 需要管理员权限,如踢人、禁言、设精华、发公告
|
|
114
|
+
- **scene_owner** — 需要群主权限,如设管理员、设专属头衔
|
|
115
115
|
|
|
116
116
|
如果 Endpoint 权限不足,API 会返回错误。遇到权限不足时,向用户说明需要什么权限,而不是重试。
|
|
117
117
|
|
package/src/adapter.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NapCat 适配器:支持正向 WS / 反向 WS / HTTP
|
|
3
3
|
*/
|
|
4
|
-
import { formatCompact, Adapter, Plugin, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL } from 'zhin.js';
|
|
4
|
+
import { formatCompact, Adapter, Plugin, OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL, ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION } from 'zhin.js';
|
|
5
5
|
import type { Router } from '@zhin.js/host-router';
|
|
6
6
|
import { NapCatWsClient } from './endpoint-ws-client.js';
|
|
7
7
|
import { NapCatWsServer } from './endpoint-ws-server.js';
|
|
@@ -13,6 +13,13 @@ export type NapCatEndpoint = NapCatWsClient | NapCatWsServer | NapCatHttpEndpoin
|
|
|
13
13
|
export class NapCatAdapter extends Adapter<NapCatEndpoint> {
|
|
14
14
|
static override readonly capabilities = ['inbound', 'outbound'] as const;
|
|
15
15
|
static override outboundRichSegmentPolicy = OUTBOUND_RICH_SEGMENT_POLICY_IM_FULL;
|
|
16
|
+
static override interactivePolicy = 'text' as const;
|
|
17
|
+
static override aiOutboundCapabilities = {
|
|
18
|
+
mentions: true,
|
|
19
|
+
richSegments: ['qrcode', 'html', 'markdown', 'tts'],
|
|
20
|
+
interactive: 'text' as const,
|
|
21
|
+
};
|
|
22
|
+
static override aiOutboundExtensions = [ONEBOT_KEYBOARD_AI_OUTBOUND_EXTENSION];
|
|
16
23
|
|
|
17
24
|
#router?: Router;
|
|
18
25
|
|
|
@@ -36,9 +43,9 @@ export class NapCatAdapter extends Adapter<NapCatEndpoint> {
|
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
|
|
39
|
-
// ── 群管理接口(
|
|
46
|
+
// ── 群管理接口(ISceneManagement 适配)──────────────────────────
|
|
40
47
|
|
|
41
|
-
async
|
|
48
|
+
async removeMember(endpointId: string, sceneId: string, userId: string) {
|
|
42
49
|
const endpoint = this.endpoints.get(endpointId);
|
|
43
50
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} not found`);
|
|
44
51
|
return endpoint.kickMember(Number(sceneId), Number(userId));
|
|
@@ -50,13 +57,13 @@ export class NapCatAdapter extends Adapter<NapCatEndpoint> {
|
|
|
50
57
|
return endpoint.muteMember(Number(sceneId), Number(userId), duration);
|
|
51
58
|
}
|
|
52
59
|
|
|
53
|
-
async
|
|
60
|
+
async setSceneMuted(endpointId: string, sceneId: string, enable = true) {
|
|
54
61
|
const endpoint = this.endpoints.get(endpointId);
|
|
55
62
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} not found`);
|
|
56
63
|
return endpoint.muteAll(Number(sceneId), enable);
|
|
57
64
|
}
|
|
58
65
|
|
|
59
|
-
async
|
|
66
|
+
async setModerator(endpointId: string, sceneId: string, userId: string, enable = true) {
|
|
60
67
|
const endpoint = this.endpoints.get(endpointId);
|
|
61
68
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} not found`);
|
|
62
69
|
return endpoint.setAdmin(Number(sceneId), Number(userId), enable);
|
|
@@ -68,7 +75,7 @@ export class NapCatAdapter extends Adapter<NapCatEndpoint> {
|
|
|
68
75
|
return endpoint.setCard(Number(sceneId), Number(userId), nickname);
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
async
|
|
78
|
+
async renameScene(endpointId: string, sceneId: string, name: string) {
|
|
72
79
|
const endpoint = this.endpoints.get(endpointId);
|
|
73
80
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} not found`);
|
|
74
81
|
return endpoint.setGroupName(Number(sceneId), name);
|
|
@@ -86,7 +93,7 @@ export class NapCatAdapter extends Adapter<NapCatEndpoint> {
|
|
|
86
93
|
};
|
|
87
94
|
}
|
|
88
95
|
|
|
89
|
-
async
|
|
96
|
+
async getSceneInfo(endpointId: string, sceneId: string) {
|
|
90
97
|
const endpoint = this.endpoints.get(endpointId);
|
|
91
98
|
if (!endpoint) throw new Error(`Endpoint ${endpointId} not found`);
|
|
92
99
|
return endpoint.getGroupInfo(Number(sceneId));
|
package/src/endpoint-base.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
SendContent,
|
|
10
10
|
SendOptions,
|
|
11
11
|
segment,
|
|
12
|
+
expandInteractiveSegmentsInContent,
|
|
12
13
|
Notice,
|
|
13
14
|
Request,
|
|
14
15
|
type QuotedMessagePayload,} from 'zhin.js';
|
|
@@ -16,6 +17,7 @@ import { parseOneBotGetMsgResponse } from './onebot-get-msg.js';
|
|
|
16
17
|
import type { NapCatEndpointConfig, NapCatMessageEvent, MessageSegment, ApiResponse } from './types.js';
|
|
17
18
|
import type { NapCatAdapter } from './adapter.js';
|
|
18
19
|
import { InboundMessageDeduper, isSelfMessage, normalizeMessage, resolveSideEventDedupeKey } from './napcat-inbound.js';
|
|
20
|
+
import { fromCanonicalSegments, toCanonicalSegments } from './segment-mapper.js';
|
|
19
21
|
|
|
20
22
|
export abstract class NapCatEndpointBase extends EventEmitter implements Endpoint<NapCatEndpointConfig, NapCatMessageEvent> {
|
|
21
23
|
$connected = false;
|
|
@@ -36,10 +38,18 @@ export abstract class NapCatEndpointBase extends EventEmitter implements Endpoin
|
|
|
36
38
|
// 消息格式化
|
|
37
39
|
// ══════════════════════════════════════════════════════════════════
|
|
38
40
|
|
|
41
|
+
private toWireSendContent(content: SendContent): MessageSegment[] {
|
|
42
|
+
const items = (Array.isArray(content) ? content : [content]).map((item) =>
|
|
43
|
+
typeof item === 'string' ? { type: 'text', data: { text: item } } : item as MessageSegment,
|
|
44
|
+
);
|
|
45
|
+
return fromCanonicalSegments(toCanonicalSegments(items)) as MessageSegment[];
|
|
46
|
+
}
|
|
47
|
+
|
|
39
48
|
$formatMessage(ev: NapCatMessageEvent): Message<NapCatMessageEvent> {
|
|
40
|
-
const
|
|
41
|
-
const quoteId = Message.quoteIdFromContent(
|
|
42
|
-
Message.alignReplySegments(
|
|
49
|
+
const wire = normalizeMessage(ev.message);
|
|
50
|
+
const quoteId = Message.quoteIdFromContent(wire);
|
|
51
|
+
Message.alignReplySegments(wire, quoteId);
|
|
52
|
+
const content = toCanonicalSegments(wire);
|
|
43
53
|
|
|
44
54
|
const message = Message.from(ev, {
|
|
45
55
|
$id: ev.message_id.toString(),
|
|
@@ -75,7 +85,8 @@ export abstract class NapCatEndpointBase extends EventEmitter implements Endpoin
|
|
|
75
85
|
}
|
|
76
86
|
|
|
77
87
|
async $sendMessage(options: SendOptions): Promise<string> {
|
|
78
|
-
const
|
|
88
|
+
const content = this.toWireSendContent(expandInteractiveSegmentsInContent(options.content));
|
|
89
|
+
const msg: any = { message: content };
|
|
79
90
|
if (options.type === 'group') {
|
|
80
91
|
const result = await this.callApi<{ message_id: number }>('send_group_msg', { group_id: parseInt(options.id), ...msg });
|
|
81
92
|
this.logger.debug(`${this.$id} send group(${options.id}):${segment.raw(options.content)}`);
|
package/src/endpoint-http.ts
CHANGED
|
@@ -9,7 +9,6 @@ import type { NapCatHttpConfig, ApiResponse } from './types.js';
|
|
|
9
9
|
import type { NapCatAdapter } from './adapter.js';
|
|
10
10
|
import { registerFetchRoute, type Router, type RouterContext } from '@zhin.js/host-router/router';
|
|
11
11
|
import * as crypto from 'crypto';
|
|
12
|
-
import { enableTypingIndicator } from './typing-indicator.js';
|
|
13
12
|
|
|
14
13
|
export class NapCatHttpEndpoint extends NapCatEndpointBase {
|
|
15
14
|
private pollTimer?: NodeJS.Timeout;
|
|
@@ -25,7 +24,6 @@ export class NapCatHttpEndpoint extends NapCatEndpointBase {
|
|
|
25
24
|
await this.checkConnection();
|
|
26
25
|
this.startPoll();
|
|
27
26
|
this.$connected = true;
|
|
28
|
-
this.initTypingIndicator();
|
|
29
27
|
this.logger.info(formatCompact({ endpoint: this.$id, mode: 'http' }));
|
|
30
28
|
}
|
|
31
29
|
|
|
@@ -94,16 +92,4 @@ export class NapCatHttpEndpoint extends NapCatEndpointBase {
|
|
|
94
92
|
}
|
|
95
93
|
}, interval);
|
|
96
94
|
}
|
|
97
|
-
|
|
98
|
-
private initTypingIndicator(): void {
|
|
99
|
-
const tiConfig = (this.$config as any).typingIndicator;
|
|
100
|
-
if (tiConfig && tiConfig.enabled !== false) {
|
|
101
|
-
enableTypingIndicator(this, {
|
|
102
|
-
enabled: true,
|
|
103
|
-
defaultEmoji: tiConfig.defaultEmoji || '128516',
|
|
104
|
-
autoRemove: true,
|
|
105
|
-
removeDelay: 5000,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
95
|
}
|
|
@@ -6,7 +6,6 @@ import { formatCompact } from 'zhin.js';
|
|
|
6
6
|
import { NapCatEndpointBase } from './endpoint-base.js';
|
|
7
7
|
import type { NapCatWsClientConfig, ApiResponse } from './types.js';
|
|
8
8
|
import type { NapCatAdapter } from './adapter.js';
|
|
9
|
-
import { enableTypingIndicator } from './typing-indicator.js';
|
|
10
9
|
|
|
11
10
|
export class NapCatWsClient extends NapCatEndpointBase {
|
|
12
11
|
private ws?: WebSocket;
|
|
@@ -44,7 +43,6 @@ export class NapCatWsClient extends NapCatEndpointBase {
|
|
|
44
43
|
}
|
|
45
44
|
this.logger.info(formatCompact({ endpoint: this.$id, mode: 'ws' }));
|
|
46
45
|
this.startHeartbeat();
|
|
47
|
-
this.initTypingIndicator();
|
|
48
46
|
resolve();
|
|
49
47
|
});
|
|
50
48
|
|
|
@@ -136,29 +134,4 @@ export class NapCatWsClient extends NapCatEndpointBase {
|
|
|
136
134
|
this.logger.info(formatCompact({ endpoint: this.$id, lifecycle: 'connect', self_id: event.self_id }));
|
|
137
135
|
}
|
|
138
136
|
}
|
|
139
|
-
|
|
140
|
-
private initTypingIndicator(): void {
|
|
141
|
-
const tiConfig = this.$config.typingIndicator;
|
|
142
|
-
if (tiConfig && tiConfig.enabled !== false) {
|
|
143
|
-
enableTypingIndicator(this, {
|
|
144
|
-
enabled: tiConfig.enabled ?? true,
|
|
145
|
-
defaultEmoji: tiConfig.defaultEmoji || '128516',
|
|
146
|
-
autoRemove: true,
|
|
147
|
-
removeDelay: 5000,
|
|
148
|
-
privateConfig: tiConfig.privateConfig ? {
|
|
149
|
-
type: tiConfig.privateConfig.type || 'message',
|
|
150
|
-
message: tiConfig.privateConfig.message || '正在思考中...',
|
|
151
|
-
autoRemove: true,
|
|
152
|
-
removeDelay: 3000,
|
|
153
|
-
} : undefined,
|
|
154
|
-
groupConfig: tiConfig.groupConfig ? {
|
|
155
|
-
type: tiConfig.groupConfig.type || 'reaction',
|
|
156
|
-
emoji: tiConfig.groupConfig.emoji || '128516',
|
|
157
|
-
autoRemove: true,
|
|
158
|
-
removeDelay: 5000,
|
|
159
|
-
} : undefined,
|
|
160
|
-
});
|
|
161
|
-
this.logger.info(formatCompact({ endpoint: this.$id, typingIndicator: 'enabled' }));
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
137
|
}
|
|
@@ -8,7 +8,6 @@ import { NapCatEndpointBase } from './endpoint-base.js';
|
|
|
8
8
|
import type { NapCatWsServerConfig, ApiResponse } from './types.js';
|
|
9
9
|
import type { NapCatAdapter } from './adapter.js';
|
|
10
10
|
import type { Router } from '@zhin.js/host-router';
|
|
11
|
-
import { enableTypingIndicator } from './typing-indicator.js';
|
|
12
11
|
|
|
13
12
|
export class NapCatWsServer extends NapCatEndpointBase {
|
|
14
13
|
#wss?: WebSocketServer;
|
|
@@ -120,7 +119,6 @@ export class NapCatWsServer extends NapCatEndpointBase {
|
|
|
120
119
|
this.#clientMap.set(String(message.self_id), client);
|
|
121
120
|
this.$connected = true;
|
|
122
121
|
this.logger.info(formatCompact({ endpoint: this.$id, self_id: message.self_id }));
|
|
123
|
-
this.initTypingIndicator();
|
|
124
122
|
return;
|
|
125
123
|
}
|
|
126
124
|
this.dispatchEvent(message);
|
|
@@ -135,16 +133,4 @@ export class NapCatWsServer extends NapCatEndpointBase {
|
|
|
135
133
|
}
|
|
136
134
|
}, interval);
|
|
137
135
|
}
|
|
138
|
-
|
|
139
|
-
private initTypingIndicator(): void {
|
|
140
|
-
const tiConfig = (this.$config as any).typingIndicator;
|
|
141
|
-
if (tiConfig && tiConfig.enabled !== false) {
|
|
142
|
-
enableTypingIndicator(this, {
|
|
143
|
-
enabled: true,
|
|
144
|
-
defaultEmoji: tiConfig.defaultEmoji || '128516',
|
|
145
|
-
autoRemove: true,
|
|
146
|
-
removeDelay: 5000,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
136
|
}
|
package/src/index.ts
CHANGED
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
usePlugin,
|
|
9
9
|
type Plugin,
|
|
10
10
|
type Context,
|
|
11
|
-
type
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
type ISceneManagement,
|
|
12
|
+
createSceneManagementTools,
|
|
13
|
+
registerDefaultScenePlatformPermitChecker,
|
|
14
14
|
type ToolFeature,
|
|
15
15
|
} from 'zhin.js';
|
|
16
16
|
import { registerAgentPromptContributor, unregisterAgentPromptContributor } from 'zhin.js/agent';
|
|
@@ -27,11 +27,6 @@ export { NapCatWsServer } from './endpoint-ws-server.js';
|
|
|
27
27
|
export { NapCatHttpEndpoint } from './endpoint-http.js';
|
|
28
28
|
export { NapCatAdapter, type NapCatEndpoint } from './adapter.js';
|
|
29
29
|
export { NapCatEndpointBase } from './endpoint-base.js';
|
|
30
|
-
export {
|
|
31
|
-
NapCatTypingIndicatorManager,
|
|
32
|
-
enableTypingIndicator,
|
|
33
|
-
type NapCatTypingIndicatorConfig,
|
|
34
|
-
} from './typing-indicator.js';
|
|
35
30
|
|
|
36
31
|
declare module 'zhin.js' {
|
|
37
32
|
namespace Plugin {
|
|
@@ -67,13 +62,13 @@ provide({
|
|
|
67
62
|
// ── AI 工具注册 ────────────────────────────────────────────────────
|
|
68
63
|
useContext('tool', 'napcat', (toolService: ToolFeature, napcat: NapCatAdapter) => {
|
|
69
64
|
const disposers: (() => void)[] = [];
|
|
70
|
-
disposers.push(
|
|
65
|
+
disposers.push(registerDefaultScenePlatformPermitChecker('napcat'));
|
|
71
66
|
|
|
72
|
-
const
|
|
73
|
-
napcat as unknown as
|
|
67
|
+
const sceneTools = createSceneManagementTools(
|
|
68
|
+
napcat as unknown as ISceneManagement,
|
|
74
69
|
'napcat',
|
|
75
70
|
);
|
|
76
|
-
disposers.push(...
|
|
71
|
+
disposers.push(...sceneTools.map(t => toolService.addTool(t, plugin.name)));
|
|
77
72
|
|
|
78
73
|
const napcatTools = createNapCatTools(napcat);
|
|
79
74
|
disposers.push(...napcatTools.map(t => toolService.addTool(t, plugin.name)));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { toCanonicalSegments, fromCanonicalSegments } from 'zhin.js';
|