@zhin.js/adapter-satori 0.0.0 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +1 -0
- package/lib/adapter.js.map +1 -1
- package/lib/bot-ws.d.ts.map +1 -1
- package/lib/bot-ws.js +10 -2
- package/lib/bot-ws.js.map +1 -1
- package/package.json +12 -5
- package/src/adapter.ts +1 -0
- package/src/bot-ws.ts +9 -2
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @zhin.js/adapter-satori
|
|
2
2
|
|
|
3
|
-
Zhin.js [Satori](https://satori.chat/zh-CN/introduction.html)
|
|
3
|
+
Zhin.js [Satori](https://satori.chat/zh-CN/introduction.html) **聊天协议**适配器,**一个适配器**支持 WebSocket 正向与 Webhook 两种连接方式,由配置项 `connection` 区分;支持 HTTP API 与 Bearer Token 鉴权。
|
|
4
|
+
|
|
5
|
+
> **勿与本仓库的 `@zhin.js/satori` 混淆**:后者是 [Vercel satori](https://github.com/vercel/satori) 的 **SVG 图片渲染**工具包(`packages/satori`),用于把 HTML/React 画成 SVG,**不是**聊天协议。参见 [@zhin.js/satori README](https://github.com/zhinjs/zhin/tree/master/packages/satori)。
|
|
4
6
|
|
|
5
7
|
## 功能特性
|
|
6
8
|
|
package/lib/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,qBAAa,aAAc,SAAQ,OAAO,CAAC,SAAS,CAAC;;gBAGvC,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;IAcvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,qBAAa,aAAc,SAAQ,OAAO,CAAC,SAAS,CAAC;;gBAGvC,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;IAcvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
package/lib/adapter.js
CHANGED
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAU,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUpD,MAAM,OAAO,aAAc,SAAQ,OAAkB;IACnD,OAAO,CAAU;IAEjB,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,IAAI;gBACP,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,MAAwB,CAAC,CAAC;YAC5D,KAAK,SAAS;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAA6B,CAAC,CAAC;YACjF;gBACE,MAAM,IAAI,KAAK,CAAC,8BAA+B,MAA0B,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,MAAM,CAAC,MAA8C,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,UAAkE,CAAC,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;YAC3G,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAU,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUpD,MAAM,OAAO,aAAc,SAAQ,OAAkB;IACnD,OAAO,CAAU;IAEjB,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAuB;QAC/B,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,IAAI;gBACP,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,MAAwB,CAAC,CAAC;YAC5D,KAAK,SAAS;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAA6B,CAAC,CAAC;YACjF;gBACE,MAAM,IAAI,KAAK,CAAC,8BAA+B,MAA0B,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,MAAM,CAAC,MAA8C,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,UAAkE,CAAC,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE;YAC3G,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
package/lib/bot-ws.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-ws.d.ts","sourceRoot":"","sources":["../src/bot-ws.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAW,MAAM,SAAS,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAe,MAAM,YAAY,CAAC;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,qBAAa,cAAe,SAAQ,YAAa,YAAW,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC;IAa3E,OAAO,EAAE,aAAa;IAAS,OAAO,EAAE,cAAc;IAZzE,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,IAAI,MAAM,6BAET;gBAEkB,OAAO,EAAE,aAAa,EAAS,OAAO,EAAE,cAAc;IAKzE,IAAI,GAAG,WAEN;IAED,OAAO,KAAK,KAAK,GAGhB;IAED,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IASnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"bot-ws.d.ts","sourceRoot":"","sources":["../src/bot-ws.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAW,MAAM,SAAS,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAe,MAAM,YAAY,CAAC;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,qBAAa,cAAe,SAAQ,YAAa,YAAW,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC;IAa3E,OAAO,EAAE,aAAa;IAAS,OAAO,EAAE,cAAc;IAZzE,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,IAAI,MAAM,6BAET;gBAEkB,OAAO,EAAE,aAAa,EAAS,OAAO,EAAE,cAAc;IAKzE,IAAI,GAAG,WAEN;IAED,OAAO,KAAK,KAAK,GAGhB;IAED,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IASnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBlC,OAAO,CAAC,WAAW;IAUnB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BzD,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIhD"}
|
package/lib/bot-ws.js
CHANGED
|
@@ -61,9 +61,13 @@ export class SatoriWsClient extends EventEmitter {
|
|
|
61
61
|
}
|
|
62
62
|
async $connect() {
|
|
63
63
|
return new Promise((resolve, reject) => {
|
|
64
|
-
|
|
64
|
+
const headers = {};
|
|
65
|
+
if (this.$config.token)
|
|
66
|
+
headers['Authorization'] = `Bearer ${this.$config.token}`;
|
|
67
|
+
this.ws = new WebSocket(this.wsUrl, { headers });
|
|
65
68
|
this.ws.on('open', () => {
|
|
66
69
|
this.$connected = true;
|
|
70
|
+
this.logger.info(`${this.$config.name} 已连接 (WS: ${this.wsUrl})`);
|
|
67
71
|
this.sendSignal(SatoriOpcode.IDENTIFY, {
|
|
68
72
|
token: this.$config.token,
|
|
69
73
|
sn: this.lastSn,
|
|
@@ -93,10 +97,14 @@ export class SatoriWsClient extends EventEmitter {
|
|
|
93
97
|
});
|
|
94
98
|
this.ws.on('close', (code, reason) => {
|
|
95
99
|
this.$connected = false;
|
|
96
|
-
|
|
100
|
+
const reasonStr = reason?.toString?.() || String(reason);
|
|
101
|
+
const codeHint = code === 1005 ? ' [无状态,多为服务端/代理未发 close 帧即断开]' : code === 1006 ? ' [异常关闭]' : '';
|
|
102
|
+
this.logger.warn(`${this.$config.name} 连接已断开 (code=${code}${codeHint}${reasonStr ? `, reason=${reasonStr}` : ''}),5000ms 后重连`);
|
|
103
|
+
reject(new Error(`Satori WS closed: ${code} ${reasonStr}`));
|
|
97
104
|
this.scheduleReconnect();
|
|
98
105
|
});
|
|
99
106
|
this.ws.on('error', (error) => {
|
|
107
|
+
this.logger.warn(`${this.$config.name} WS 错误: ${error instanceof Error ? error.message : String(error)}`);
|
|
100
108
|
reject(error);
|
|
101
109
|
});
|
|
102
110
|
});
|
package/lib/bot-ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-ws.js","sourceRoot":"","sources":["../src/bot-ws.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bot-ws.js","sourceRoot":"","sources":["../src/bot-ws.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-satori",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Zhin.js adapter for Satori protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -12,8 +12,11 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
-
"lib",
|
|
16
15
|
"src",
|
|
16
|
+
"lib",
|
|
17
|
+
"client",
|
|
18
|
+
"dist",
|
|
19
|
+
"skills",
|
|
17
20
|
"README.md"
|
|
18
21
|
],
|
|
19
22
|
"keywords": [
|
|
@@ -24,6 +27,10 @@
|
|
|
24
27
|
"chatbot"
|
|
25
28
|
],
|
|
26
29
|
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/zhinjs/zhin"
|
|
33
|
+
},
|
|
27
34
|
"dependencies": {
|
|
28
35
|
"ws": "^8.18.3"
|
|
29
36
|
},
|
|
@@ -31,11 +38,11 @@
|
|
|
31
38
|
"@types/node": "^24.3.0",
|
|
32
39
|
"@types/ws": "^8.18.1",
|
|
33
40
|
"typescript": "^5.3.0",
|
|
34
|
-
"zhin.js": "1.0.
|
|
41
|
+
"zhin.js": "1.0.52"
|
|
35
42
|
},
|
|
36
43
|
"peerDependencies": {
|
|
37
|
-
"zhin.js": "1.0.
|
|
38
|
-
"@zhin.js/http": "1.0.
|
|
44
|
+
"zhin.js": "1.0.52",
|
|
45
|
+
"@zhin.js/http": "1.0.46"
|
|
39
46
|
},
|
|
40
47
|
"peerDependenciesMeta": {
|
|
41
48
|
"@zhin.js/http": {
|
package/src/adapter.ts
CHANGED
package/src/bot-ws.ts
CHANGED
|
@@ -67,10 +67,13 @@ export class SatoriWsClient extends EventEmitter implements Bot<SatoriWsConfig,
|
|
|
67
67
|
|
|
68
68
|
async $connect(): Promise<void> {
|
|
69
69
|
return new Promise((resolve, reject) => {
|
|
70
|
-
|
|
70
|
+
const headers: Record<string, string> = {};
|
|
71
|
+
if (this.$config.token) headers['Authorization'] = `Bearer ${this.$config.token}`;
|
|
72
|
+
this.ws = new WebSocket(this.wsUrl, { headers });
|
|
71
73
|
|
|
72
74
|
this.ws.on('open', () => {
|
|
73
75
|
this.$connected = true;
|
|
76
|
+
this.logger.info(`${this.$config.name} 已连接 (WS: ${this.wsUrl})`);
|
|
74
77
|
this.sendSignal(SatoriOpcode.IDENTIFY, {
|
|
75
78
|
token: this.$config.token,
|
|
76
79
|
sn: this.lastSn,
|
|
@@ -99,11 +102,15 @@ export class SatoriWsClient extends EventEmitter implements Bot<SatoriWsConfig,
|
|
|
99
102
|
|
|
100
103
|
this.ws.on('close', (code, reason) => {
|
|
101
104
|
this.$connected = false;
|
|
102
|
-
|
|
105
|
+
const reasonStr = reason?.toString?.() || String(reason);
|
|
106
|
+
const codeHint = code === 1005 ? ' [无状态,多为服务端/代理未发 close 帧即断开]' : code === 1006 ? ' [异常关闭]' : '';
|
|
107
|
+
this.logger.warn(`${this.$config.name} 连接已断开 (code=${code}${codeHint}${reasonStr ? `, reason=${reasonStr}` : ''}),5000ms 后重连`);
|
|
108
|
+
reject(new Error(`Satori WS closed: ${code} ${reasonStr}`));
|
|
103
109
|
this.scheduleReconnect();
|
|
104
110
|
});
|
|
105
111
|
|
|
106
112
|
this.ws.on('error', (error) => {
|
|
113
|
+
this.logger.warn(`${this.$config.name} WS 错误: ${error instanceof Error ? error.message : String(error)}`);
|
|
107
114
|
reject(error);
|
|
108
115
|
});
|
|
109
116
|
});
|