openclaw-github-trending 1.4.1 → 1.4.3
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 +44 -39
- package/dist/channels/wechat.d.ts +20 -28
- package/dist/channels/wechat.d.ts.map +1 -1
- package/dist/channels/wechat.js +318 -122
- package/dist/channels/wechat.js.map +1 -1
- package/dist/core/history.d.ts +2 -2
- package/dist/core/history.d.ts.map +1 -1
- package/dist/core/history.js +12 -4
- package/dist/core/history.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -21
- package/dist/index.js.map +1 -1
- package/dist/models/config.d.ts +1 -0
- package/dist/models/config.d.ts.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +6 -17
- package/dist/tool.js.map +1 -1
- package/openclaw.plugin.json +13 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -375,15 +375,29 @@ The plugin supports OpenAI-compatible API providers. If not configured in the pl
|
|
|
375
375
|
|
|
376
376
|
| Field | Type | Required | Default | Description |
|
|
377
377
|
|-------|------|----------|---------|-------------|
|
|
378
|
-
| `enabled` | boolean | No | `
|
|
379
|
-
| `receiver_id` | string | No | - | WeChat receiver ID (format: `xxx@im.wechat`) |
|
|
378
|
+
| `enabled` | boolean | No | `true` | Enable WeChat notifications via @tencent-weixin/openclaw-weixin plugin |
|
|
379
|
+
| `receiver_id` | string | No | Auto-detect | WeChat receiver ID (format: `xxx@im.wechat`) |
|
|
380
380
|
| `bot_account_id` | string | No | - | WeChat bot account ID (format: `xxx-im-bot`) |
|
|
381
381
|
|
|
382
|
+
**receiver_id Auto-Detection:**
|
|
383
|
+
|
|
384
|
+
The plugin will automatically detect `receiver_id` using the following priority (no manual configuration needed in most cases):
|
|
385
|
+
|
|
386
|
+
1. **Plugin Config**: `plugins.openclaw-github-trending.config.channels.wechat.receiver_id`
|
|
387
|
+
2. **Environment Variable**: `OPENCLAW_WECHAT_RECEIVER_ID`
|
|
388
|
+
3. **Message Context**: If current session is from WeChat, auto-reply to sender
|
|
389
|
+
4. **Session History**: Extract from `~/.openclaw/agents/main/sessions/sessions.json`
|
|
390
|
+
5. **OpenClaw Config**: Search WeChat plugin configuration and sessions
|
|
391
|
+
|
|
392
|
+
**⚠️ Important:**
|
|
393
|
+
- WeChat ID is **case-sensitive**, e.g., `o9cq806Il_QmHA022BUNXe0hUv4I@im.wechat`
|
|
394
|
+
- If auto-detection fails, detailed configuration guide will be shown
|
|
395
|
+
|
|
382
396
|
**WeChat Requirements:**
|
|
383
397
|
|
|
384
398
|
1. **Install WeChat Plugin**:
|
|
385
399
|
```bash
|
|
386
|
-
|
|
400
|
+
openclaw plugins install @tencent-weixin/openclaw-weixin
|
|
387
401
|
```
|
|
388
402
|
|
|
389
403
|
2. **Configure in OpenClaw** (`~/.openclaw/openclaw.json`):
|
|
@@ -391,20 +405,25 @@ The plugin supports OpenAI-compatible API providers. If not configured in the pl
|
|
|
391
405
|
{
|
|
392
406
|
"plugins": {
|
|
393
407
|
"entries": {
|
|
394
|
-
"
|
|
395
|
-
"enabled": true
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
408
|
+
"openclaw-weixin": {
|
|
409
|
+
"enabled": true
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
3. **Optional: Configure receiver_id** (only if you need to push to a specific user):
|
|
417
|
+
```json
|
|
418
|
+
{
|
|
419
|
+
"plugins": {
|
|
420
|
+
"entries": {
|
|
400
421
|
"openclaw-github-trending": {
|
|
401
|
-
"enabled": true,
|
|
402
422
|
"config": {
|
|
403
423
|
"channels": {
|
|
404
424
|
"wechat": {
|
|
405
425
|
"enabled": true,
|
|
406
|
-
"receiver_id": "
|
|
407
|
-
"bot_account_id": "xxx-im-bot"
|
|
426
|
+
"receiver_id": "o9cq806Il_QmHA022BUNXe0hUv4I@im.wechat"
|
|
408
427
|
}
|
|
409
428
|
}
|
|
410
429
|
}
|
|
@@ -414,38 +433,24 @@ The plugin supports OpenAI-compatible API providers. If not configured in the pl
|
|
|
414
433
|
}
|
|
415
434
|
```
|
|
416
435
|
|
|
417
|
-
|
|
418
|
-
- **Config File (Recommended)**: Set `receiver_id` and `bot_account_id` in the `wechat` section of `openclaw.json`
|
|
419
|
-
- **Environment Variables**: Set `OPENCLAW_WECHAT_RECEIVER_ID` and `OPENCLAW_WECHAT_BOT_ACCOUNT_ID`
|
|
420
|
-
- **Default Values**: Use built-in default configuration (for testing only)
|
|
436
|
+
**💡 Tip**: If `receiver_id` is not configured, the plugin will auto-detect it from session history.
|
|
421
437
|
|
|
422
|
-
|
|
423
|
-
- OpenClaw will prompt you to scan QR code with your personal WeChat
|
|
424
|
-
- After login, messages will be sent to the configured WeChat account
|
|
438
|
+
**🔍 How to Get Your WeChat ID:**
|
|
425
439
|
|
|
426
|
-
|
|
427
|
-
|
|
440
|
+
```bash
|
|
441
|
+
# Method 1: Check OpenClaw session history
|
|
442
|
+
cat ~/.openclaw/agents/main/sessions/sessions.json | jq 'to_entries[] | select(.key | contains("wechat")) | {key, lastTo}'
|
|
428
443
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
Use openclaw-github-trending tool to get today's trending and push to WeChat
|
|
432
|
-
or
|
|
433
|
-
Run immediately: Fetch today's trending and push to WeChat
|
|
434
|
-
```
|
|
444
|
+
# Method 2: Check message send records
|
|
445
|
+
cat ~/.openclaw/agents/main/sessions/sessions.json | grep -i "o9cq.*@im.wechat"
|
|
435
446
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
--cron "0 18 * * *" \
|
|
440
|
-
--system-event '{"tool":"openclaw-github-trending","params":{"since":"daily","channels":["wechat"]}}'
|
|
441
|
-
```
|
|
447
|
+
# Method 3: Send a test message and check logs
|
|
448
|
+
openclaw message send --channel openclaw-weixin --target "your-wechat-id" "test"
|
|
449
|
+
```
|
|
442
450
|
|
|
443
|
-
|
|
444
|
-
- WeChat
|
|
445
|
-
-
|
|
446
|
-
- WeChat functionality depends on the `executeTool` API provided by @tencent-weixin/openclaw-weixin plugin
|
|
447
|
-
- CLI mode will return an error when using WeChat channel
|
|
448
|
-
- If the WeChat plugin is not installed or configured, the plugin will show a warning but continue with other channels
|
|
451
|
+
**⚠️ Notes:**
|
|
452
|
+
- WeChat ID format: `o9cq806Il_QmHA022BUNXe0hUv4I@im.wechat` (case-sensitive!)
|
|
453
|
+
- If auto-detection fails, error message includes detailed configuration guide
|
|
449
454
|
|
|
450
455
|
*Required when using this channel
|
|
451
456
|
|
|
@@ -1,51 +1,43 @@
|
|
|
1
1
|
import { RepositoryInfo } from '../models/repository';
|
|
2
2
|
import { PushResult } from './types';
|
|
3
3
|
/**
|
|
4
|
-
* WeChat channel configuration
|
|
4
|
+
* WeChat channel configuration
|
|
5
5
|
*/
|
|
6
6
|
export interface WeChatConfig {
|
|
7
|
-
|
|
7
|
+
enabled?: boolean;
|
|
8
8
|
receiver_id?: string;
|
|
9
9
|
bot_account_id?: string;
|
|
10
|
+
channel_name?: string;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
|
-
* WeChat Channel
|
|
13
|
-
* Uses the @tencent-weixin/openclaw-weixin plugin
|
|
13
|
+
* WeChat Channel - 通过企业微信推送 GitHub 热榜
|
|
14
14
|
*/
|
|
15
15
|
export declare class WeChatChannel {
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @param newRepositories Array of new repositories
|
|
19
|
-
* @param seenRepositories Array of seen repositories
|
|
20
|
-
* @param since Time period for trending
|
|
21
|
-
* @returns Markdown formatted message
|
|
17
|
+
* 构建纯文本消息(企业微信不支持 markdown)
|
|
22
18
|
*/
|
|
23
|
-
static
|
|
19
|
+
static buildPlainText(newRepositories: RepositoryInfo[], seenRepositories: RepositoryInfo[], since?: 'daily' | 'weekly' | 'monthly'): string;
|
|
24
20
|
/**
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
* 文本自动换行
|
|
22
|
+
*/
|
|
23
|
+
static wrapText(text: string, maxWidth?: number): string[];
|
|
24
|
+
/**
|
|
25
|
+
* 格式化数字(添加 k 后缀)
|
|
28
26
|
*/
|
|
29
27
|
static formatNumberWithK(num: number): string;
|
|
30
28
|
/**
|
|
31
|
-
*
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* @returns Push result
|
|
29
|
+
* 发送消息到微信(通过 openclaw CLI)
|
|
30
|
+
*/
|
|
31
|
+
static send(content: string, openclawApi: any, config: WeChatConfig): Promise<PushResult>;
|
|
32
|
+
/**
|
|
33
|
+
* 从多个来源解析 receiver_id
|
|
34
|
+
* 优先级:1. 插件配置 2. 环境变量 3. 消息上下文 4. 会话历史 5. OpenClaw API
|
|
38
35
|
*/
|
|
39
|
-
static
|
|
36
|
+
private static resolveReceiverId;
|
|
40
37
|
/**
|
|
41
|
-
*
|
|
42
|
-
* This sends the message as if the plugin itself is "chatting" to the user
|
|
43
|
-
*
|
|
44
|
-
* @param markdownContent Markdown content to send
|
|
45
|
-
* @param openclawApi OpenClaw API instance
|
|
46
|
-
* @returns Push result
|
|
38
|
+
* 通过 openclaw CLI 发送消息
|
|
47
39
|
*/
|
|
48
|
-
static
|
|
40
|
+
private static sendViaCli;
|
|
49
41
|
}
|
|
50
42
|
export default WeChatChannel;
|
|
51
43
|
//# sourceMappingURL=wechat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wechat.d.ts","sourceRoot":"","sources":["../../src/channels/wechat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wechat.d.ts","sourceRoot":"","sources":["../../src/channels/wechat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,eAAe,EAAE,cAAc,EAAE,EACjC,gBAAgB,EAAE,cAAc,EAAE,EAClC,KAAK,GAAE,OAAO,GAAG,QAAQ,GAAG,SAAqB,GAChD,MAAM;IA0GT;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,EAAE;IAmB9D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO7C;;OAEG;WACU,IAAI,CACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,GAAG,EAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAsEtB;;;OAGG;mBACkB,iBAAiB;IA2ItC;;OAEG;mBACkB,UAAU;CA6DhC;AAED,eAAe,aAAa,CAAC"}
|