@kirigaya/openclaw-onebot 1.0.1 → 1.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 +5 -52
- package/dist/config.js +5 -5
- package/dist/setup.js +4 -4
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/skills/onebot-ops/SKILL.md +1 -1
- package/skills/onebot-ops/config.md +6 -6
package/README.md
CHANGED
|
@@ -19,60 +19,13 @@
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
openclaw plugins install @kirigaya/openclaw-onebot
|
|
22
|
+
openclaw onebot setup
|
|
22
23
|
```
|
|
23
24
|
|
|
24
25
|
## 安装 onebot 服务端
|
|
25
26
|
|
|
26
27
|
你需要安装 onebot 服务端,QQ 目前比较常用的是 onebot 服务端是 NapCat,可以查看 [官网](https://napneko.github.io/) 了解安装方法
|
|
27
28
|
|
|
28
|
-
## 配置
|
|
29
|
-
|
|
30
|
-
### 方式一:TUI 向导(推荐)
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
openclaw onebot setup
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
交互式输入:连接类型、主机、端口、Access Token。
|
|
37
|
-
|
|
38
|
-
### 方式二:手动编辑 `~/.openclaw/openclaw.json`
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"channels": {
|
|
43
|
-
"onebot": {
|
|
44
|
-
"type": "forward-websocket",
|
|
45
|
-
"host": "127.0.0.1",
|
|
46
|
-
"port": 3001,
|
|
47
|
-
"accessToken": "可选",
|
|
48
|
-
"enabled": true,
|
|
49
|
-
"requireMention": true,
|
|
50
|
-
"groupIncrease": {
|
|
51
|
-
"enabled": true,
|
|
52
|
-
"message": "欢迎 {userId} 加入群聊!"
|
|
53
|
-
},
|
|
54
|
-
"cronJobs": [
|
|
55
|
-
{
|
|
56
|
-
"name": "每日科技新闻",
|
|
57
|
-
"cron": "0 8 * * *",
|
|
58
|
-
"timezone": "Asia/Shanghai",
|
|
59
|
-
"script": "./Tiphareth/src/openclaw/cron/daily-news.ts",
|
|
60
|
-
"groupIds": [782833642]
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"name": "每日GitHub热榜",
|
|
64
|
-
"cron": "0 9 * * *",
|
|
65
|
-
"timezone": "Asia/Shanghai",
|
|
66
|
-
"script": "./Tiphareth/src/openclaw/cron/github-trending.ts",
|
|
67
|
-
"groupIds": [782833642]
|
|
68
|
-
}
|
|
69
|
-
]
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**说明**:`cronJobs` 为内置定时任务,在指定时间**直接执行脚本**并推送到群聊,不经过 Agent,无 token 消耗。脚本路径相对 `process.cwd()`(通常为启动 OpenClaw 时的目录),请确保从项目根目录启动。
|
|
76
29
|
|
|
77
30
|
### 连接类型
|
|
78
31
|
|
|
@@ -87,10 +40,10 @@ openclaw onebot setup
|
|
|
87
40
|
|
|
88
41
|
| 变量 | 说明 |
|
|
89
42
|
|------|------|
|
|
90
|
-
| `
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
43
|
+
| `ONEBOT_WS_TYPE` | forward-websocket / backward-websocket |
|
|
44
|
+
| `ONEBOT_WS_HOST` | 主机地址 |
|
|
45
|
+
| `ONEBOT_WS_PORT` | 端口 |
|
|
46
|
+
| `ONEBOT_WS_ACCESS_TOKEN` | 访问令牌 |
|
|
94
47
|
|
|
95
48
|
## 使用
|
|
96
49
|
|
package/dist/config.js
CHANGED
|
@@ -30,11 +30,11 @@ export function getOneBotConfig(api, accountId) {
|
|
|
30
30
|
path: channel.path ?? "/onebot/v11/ws",
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
const type = process.env.
|
|
34
|
-
const host = process.env.
|
|
35
|
-
const portStr = process.env.
|
|
36
|
-
const accessToken = process.env.
|
|
37
|
-
const path = process.env.
|
|
33
|
+
const type = process.env.ONEBOT_WS_TYPE;
|
|
34
|
+
const host = process.env.ONEBOT_WS_HOST;
|
|
35
|
+
const portStr = process.env.ONEBOT_WS_PORT;
|
|
36
|
+
const accessToken = process.env.ONEBOT_WS_ACCESS_TOKEN;
|
|
37
|
+
const path = process.env.ONEBOT_WS_PATH ?? "/onebot/v11/ws";
|
|
38
38
|
if (host && portStr) {
|
|
39
39
|
const port = parseInt(portStr, 10);
|
|
40
40
|
if (Number.isFinite(port)) {
|
package/dist/setup.js
CHANGED
|
@@ -22,19 +22,19 @@ export async function runOneBotSetup() {
|
|
|
22
22
|
{ value: "forward-websocket", label: "forward-websocket(正向,主动连接 OneBot)" },
|
|
23
23
|
{ value: "backward-websocket", label: "backward-websocket(反向,OneBot 连接本机)" },
|
|
24
24
|
],
|
|
25
|
-
initialValue: process.env.
|
|
25
|
+
initialValue: process.env.ONEBOT_WS_TYPE === "backward-websocket" ? "backward-websocket" : "forward-websocket",
|
|
26
26
|
}));
|
|
27
27
|
const host = guardCancel(await clackText({
|
|
28
28
|
message: "主机地址",
|
|
29
|
-
initialValue: process.env.
|
|
29
|
+
initialValue: process.env.ONEBOT_WS_HOST || "127.0.0.1",
|
|
30
30
|
}));
|
|
31
31
|
const portStr = guardCancel(await clackText({
|
|
32
32
|
message: "端口",
|
|
33
|
-
initialValue: process.env.
|
|
33
|
+
initialValue: process.env.ONEBOT_WS_PORT || "3001",
|
|
34
34
|
}));
|
|
35
35
|
const accessToken = guardCancel(await clackText({
|
|
36
36
|
message: "Access Token(可选,留空回车跳过)",
|
|
37
|
-
initialValue: process.env.
|
|
37
|
+
initialValue: process.env.ONEBOT_WS_ACCESS_TOKEN || "",
|
|
38
38
|
}));
|
|
39
39
|
const port = parseInt(String(portStr).trim(), 10);
|
|
40
40
|
if (!Number.isFinite(port)) {
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -32,7 +32,7 @@ openclaw plugins install ./openclaw-onebot
|
|
|
32
32
|
|
|
33
33
|
- Gateway 已启动:`openclaw gateway`
|
|
34
34
|
- OneBot 实现(Lagrange.Core / go-cqhttp)已运行并暴露 WebSocket
|
|
35
|
-
- 在 `openclaw.json` 中配置 `channels.onebot` 或通过 `
|
|
35
|
+
- 在 `openclaw.json` 中配置 `channels.onebot` 或通过 `ONEBOT_WS_*` 环境变量
|
|
36
36
|
|
|
37
37
|
## OneBot 协议能力
|
|
38
38
|
|
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
|
|
19
19
|
运行 `openclaw onebot setup` 进行交互式配置。
|
|
20
20
|
|
|
21
|
-
配置写入 `openclaw.json` 的 `channels.onebot` 或通过 `
|
|
21
|
+
配置写入 `openclaw.json` 的 `channels.onebot` 或通过 `ONEBOT_WS_*` 环境变量提供。
|
|
22
22
|
|
|
23
23
|
## 环境变量
|
|
24
24
|
|
|
25
25
|
| 变量 | 说明 |
|
|
26
26
|
|------|------|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
27
|
+
| ONEBOT_WS_TYPE | forward-websocket / backward-websocket |
|
|
28
|
+
| ONEBOT_WS_HOST | 主机地址 |
|
|
29
|
+
| ONEBOT_WS_PORT | 端口 |
|
|
30
|
+
| ONEBOT_WS_ACCESS_TOKEN | 访问令牌 |
|
|
31
|
+
| ONEBOT_WS_PATH | 反向 WS 路径 |
|
|
32
32
|
|
|
33
33
|
## cronJobs 配置
|
|
34
34
|
|