Skip to content

Commit 4335bd5

Browse files
committed
docs: add README.md
1 parent d5f8000 commit 4335bd5

1 file changed

Lines changed: 148 additions & 0 deletions

File tree

README.md

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# WeClawBot-API
2+
3+
一个基于 Go 实现的 `微信ClawBot` (iLink) 机器人 API 服务。
4+
5+
**它体积极小(≈10MB),内存占用极低(≈10MB),极易部署(Docker/二进制)**,可以独立运行,直接提供 HTTP API 给其他程序调用。
6+
7+
> [!TIP]
8+
> 没错!个人微信推送通知它来了!~~再也不用~~折腾企业微信/第三方服务号了!
9+
>
10+
> **当前灰度中,可用性待观察*
11+
12+
## 功能特性
13+
14+
- **多账号支持**:支持同时登录多个微信号,每个账号独立推送、互不干扰
15+
- **扫码登录**:控制台直接打印二维码,微信扫码即可完成授权
16+
- **持久化存储**:登录凭证(Token、游标等)自动保存,重启后自动重连
17+
- **命令行交互**:内置简易控制台,可直接在终端中收发微信消息
18+
- **HTTP API**:提供标准 RESTful 接口,支持通过 API 发送文本消息及设置“正在输入”状态
19+
20+
## 部署
21+
22+
### Docker Compose (推荐)
23+
24+
创建 `docker-compose.yml` 文件:
25+
26+
```yaml
27+
name: weclawbot-api
28+
services:
29+
weclawbot-api:
30+
image: cp0204/weclawbot-api:latest
31+
container_name: weclawbot-api
32+
ports:
33+
- "26322:26322"
34+
volumes:
35+
- ./config:/app/config
36+
restart: unless-stopped
37+
```
38+
39+
### Docker Run
40+
41+
```bash
42+
docker run -d \
43+
--name weclawbot-api \
44+
-p 26322:26322 \
45+
-v ./config:/app/config \
46+
--restart unless-stopped \
47+
cp0204/weclawbot-api:latest
48+
```
49+
50+
### 初次扫码登录
51+
52+
容器启动后,进入容器终端(sh),输入 `weclawbot-api` 扫码登录,授权后的信息将保存在挂载的 `config` 目录下。
53+
54+
NAS 部署可通过 WebUI 进入容器终端,也可以在宿主机上通过以下命令进入:
55+
56+
```bash
57+
# 进入容器终端
58+
docker exec -it weclawbot-api sh
59+
# 运行 weclawbot-api
60+
weclawbot-api
61+
```
62+
63+
> [!TIP]
64+
> 授权成功后,在微信发一条消息给`微信ClawBot`,否则无法激活 API 发信。
65+
66+
> [!WARNING]
67+
> 请妥善保管 `config/auth.json` 文件及 `api_token`,不要泄露。
68+
69+
## 常用命令
70+
71+
- `/login` : 发起新的扫码登录流程
72+
- `/bots` : 列出当前所有已登录 `bot_id` 及其 `api_token`
73+
- `/bot <序号>` : 切换当前活跃发送身份
74+
- `/del <序号>` : 删除指定索引的 Bot 账号配置
75+
76+
## API 文档
77+
78+
> [!TIP]
79+
> 新手省流版,发消息直接替换参数访问:
80+
> ```
81+
> http://192.168.8.8:26322/bots/{bot_id}/messages?token={api_token}&text=Hello
82+
> ```
83+
84+
API 支持 `GET` 和 `POST` 请求,兼容以下多种提交方式:
85+
86+
- GET
87+
- POST
88+
- `application/json`
89+
- `application/x-www-form-urlencoded`
90+
- `multipart/form-data`
91+
92+
### 身份验证
93+
94+
所有接口均需验证 `api_token`(可通过 `/bots` 命令或查看 `config/auth.json` 获取)
95+
96+
你可以通过以下任一方式传递 Token:
97+
98+
- **Header**: `Authorization: Bearer <api_token>`
99+
- **Body/Query**: `token=<api_token>`
100+
101+
102+
### 发送消息
103+
104+
**Endpoint:** `/bots/{bot_id}/messages`
105+
106+
**参数:**
107+
- `text`: 消息文本内容。
108+
109+
**示例:**
110+
```bash
111+
curl http://192.168.8.8:26322/bots/{xxx@im.bot}/messages?token={api_token}&text=Hello
112+
```
113+
114+
### 发送输入状态
115+
116+
**Endpoint:** `/bots/{bot_id}/typing`
117+
118+
**参数:**
119+
- `status`: `1`=正在输入,`2`=停止输入
120+
121+
**示例:**
122+
```bash
123+
curl http://192.168.8.8:26322/bots/{xxx@im.bot}/typing?token={api_token}&status=1
124+
```
125+
126+
### 响应格式
127+
128+
所有 API 均返回标准 JSON 结构:
129+
130+
**成功响应 (200 OK):**
131+
```json
132+
{
133+
"code": 200,
134+
"message": "OK"
135+
}
136+
```
137+
138+
**错误响应 (4xx/5xx):**
139+
```json
140+
{
141+
"code": 401,
142+
"error": "Unauthorized"
143+
}
144+
```
145+
146+
## 致谢
147+
148+
- 微信官方插件 [@tencent-weixin/openclaw-weixin](https://www.npmjs.com/package/@tencent-weixin/openclaw-weixin)

0 commit comments

Comments
 (0)