@yungho/noclaw-channel 0.1.2 → 0.1.4
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
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
# @yungho/noclaw-channel
|
|
2
2
|
|
|
3
|
-
NoClaw Channel Server — WebSocket IPC bridge that connects external chat platforms (WeChat, Telegram) to [NoClaw](https://github.com/
|
|
3
|
+
NoClaw Channel Server — WebSocket IPC bridge that connects external chat platforms (WeChat, Telegram) to [NoClaw](https://github.com/Yungho/obsidian-noclaw) for Obsidian.
|
|
4
4
|
|
|
5
|
-
## How It Works
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Phone (WeChat/Telegram)
|
|
9
|
-
↕ HTTP Long Polling
|
|
10
|
-
@noclaw/channel (this package)
|
|
11
|
-
↕ WebSocket (ws://127.0.0.1:8123)
|
|
12
|
-
NoClaw Plugin (Obsidian)
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The Channel Server runs as a standalone Node.js process. It handles communication with external chat platforms and bridges messages to the NoClaw Obsidian plugin via WebSocket.
|
|
16
5
|
|
|
17
6
|
## Requirements
|
|
18
7
|
|
|
@@ -39,7 +28,6 @@ noclaw-channel start
|
|
|
39
28
|
### Start the server
|
|
40
29
|
|
|
41
30
|
```bash
|
|
42
|
-
# Default (ws://127.0.0.1:8123)
|
|
43
31
|
noclaw-channel start
|
|
44
32
|
|
|
45
33
|
# Custom port
|
|
@@ -72,37 +60,6 @@ noclaw-channel setup # Interactive configuration wizard
|
|
|
72
60
|
| WeChat | ✅ Working | QR Code (ClawBot ilink API) |
|
|
73
61
|
| Telegram | 🔜 Planned | Bot Token |
|
|
74
62
|
|
|
75
|
-
## Configuration
|
|
76
|
-
|
|
77
|
-
The server stores its config at `~/.noclaw/channel-config.json`:
|
|
78
|
-
|
|
79
|
-
```json
|
|
80
|
-
{
|
|
81
|
-
"port": 8123,
|
|
82
|
-
"host": "127.0.0.1",
|
|
83
|
-
"logLevel": "info",
|
|
84
|
-
"wechat": {
|
|
85
|
-
"enabled": true,
|
|
86
|
-
"permissions": {
|
|
87
|
-
"chat": "all",
|
|
88
|
-
"executeTools": true,
|
|
89
|
-
"permissionRelay": true,
|
|
90
|
-
"adminUsers": []
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
"telegram": {
|
|
94
|
-
"enabled": false,
|
|
95
|
-
"botToken": "",
|
|
96
|
-
"allowedUsers": [],
|
|
97
|
-
"permissions": {
|
|
98
|
-
"chat": "whitelist",
|
|
99
|
-
"executeTools": true,
|
|
100
|
-
"permissionRelay": true,
|
|
101
|
-
"adminUsers": []
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
63
|
|
|
107
64
|
## License
|
|
108
65
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WechatChannel.d.ts","sourceRoot":"","sources":["../../src/channels/WechatChannel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,IAAI,MAAM,MAAM,CAAC;AA8BxB,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;IAS/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BpF,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIpD,SAAS,IAAI,aAAa;IAI1B,eAAe,IAAI,mBAAmB;IAUtC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI/D,aAAa,IAAI,IAAI;IAQrB,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIrD;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"WechatChannel.d.ts","sourceRoot":"","sources":["../../src/channels/WechatChannel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,IAAI,MAAM,MAAM,CAAC;AA8BxB,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;IAS/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BpF,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIpD,SAAS,IAAI,aAAa;IAI1B,eAAe,IAAI,mBAAmB;IAUtC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI/D,aAAa,IAAI,IAAI;IAQrB,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIrD;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;YACW,gBAAgB;IAuE9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;YACW,WAAW;IAgCzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Uses WeChat's official ClawBot ilink API for safe, official integration
|
|
5
5
|
* without risk of account suspension.
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
7
|
+
import QRCode from 'qrcode-terminal';
|
|
8
8
|
export class WechatChannel {
|
|
9
9
|
baseUrl;
|
|
10
10
|
defaultBaseUrl = 'https://ilinkai.weixin.qq.com/ilink/bot';
|
|
@@ -146,7 +146,7 @@ export class WechatChannel {
|
|
|
146
146
|
attempts++;
|
|
147
147
|
if (attempts > maxAttempts) {
|
|
148
148
|
clearInterval(this.qrCodePollingInterval);
|
|
149
|
-
|
|
149
|
+
reject(new Error('QR code scan timeout'));
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
152
|
try {
|
|
@@ -166,22 +166,30 @@ export class WechatChannel {
|
|
|
166
166
|
this.setStatus('connected');
|
|
167
167
|
this.startMessagePolling();
|
|
168
168
|
this.logger.info('Successfully connected to WeChat');
|
|
169
|
+
resolve();
|
|
169
170
|
break;
|
|
170
171
|
case 'expired':
|
|
171
172
|
clearInterval(this.qrCodePollingInterval);
|
|
172
|
-
|
|
173
|
+
reject(new Error('QR code expired'));
|
|
174
|
+
break;
|
|
173
175
|
case 'error':
|
|
174
176
|
clearInterval(this.qrCodePollingInterval);
|
|
175
|
-
|
|
177
|
+
reject(new Error(response.message || 'QR code error'));
|
|
178
|
+
break;
|
|
176
179
|
case 'pending':
|
|
177
180
|
// Keep polling
|
|
178
181
|
break;
|
|
179
182
|
}
|
|
180
183
|
}
|
|
181
184
|
catch (error) {
|
|
185
|
+
// Long-polling timeout is expected, just retry
|
|
186
|
+
if (error instanceof Error && error.message === 'Request timeout') {
|
|
187
|
+
this.logger.debug('QR code status long-poll timeout, retrying...');
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
182
190
|
this.logger.error({ err: error }, 'Error polling QR code status');
|
|
183
191
|
clearInterval(this.qrCodePollingInterval);
|
|
184
|
-
|
|
192
|
+
reject(error);
|
|
185
193
|
}
|
|
186
194
|
}, this.QR_CODE_POLLING_INTERVAL);
|
|
187
195
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WechatChannel.js","sourceRoot":"","sources":["../../src/channels/WechatChannel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"WechatChannel.js","sourceRoot":"","sources":["../../src/channels/WechatChannel.ts"],"names":[],"mappings":"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"}
|