396 lines
7.7 KiB
Markdown
396 lines
7.7 KiB
Markdown
# Clawdbot 国内用户通信方案
|
||
|
||
> **你的情况**:国内用户 + GLM 套餐
|
||
>
|
||
> **限制**:无法使用 WhatsApp/Telegram
|
||
>
|
||
> **解决方案**:使用 Web 界面或其他国内平台
|
||
|
||
---
|
||
|
||
## 🎯 推荐方案(按优先级)
|
||
|
||
### 方案 1:Web 控制面板 ⭐ 最简单
|
||
|
||
**优点**:
|
||
- ✅ 无需额外配置
|
||
- ✅ 直接在浏览器使用
|
||
- ✅ 功能完整
|
||
- ✅ 无需翻墙
|
||
|
||
**使用方法**:
|
||
|
||
1. 启动 Clawdbot 网关
|
||
```bash
|
||
# WSL2 中运行
|
||
clawdbot gateway --port 18789 --verbose
|
||
```
|
||
|
||
2. 浏览器访问
|
||
```
|
||
http://localhost:18789/
|
||
```
|
||
|
||
3. 如果配置了 Token,粘贴 Token 到设置中
|
||
|
||
4. 开始对话!
|
||
|
||
**适用场景**:
|
||
- 本地开发测试
|
||
- 个人使用
|
||
- 不需要移动端访问
|
||
|
||
---
|
||
|
||
### 方案 2:钉钉机器人
|
||
|
||
**优点**:
|
||
- ✅ 国内可用
|
||
- ✅ 支持消息推送
|
||
- ✅ 支持群聊和私聊
|
||
- ✅ 企业友好
|
||
|
||
**配置步骤**:
|
||
|
||
#### 1. 创建钉钉机器人
|
||
|
||
1. 打开钉钉电脑版
|
||
2. 进入某个群聊
|
||
3. 点击右上角"群设置" → "智能群助手"
|
||
4. 点击"添加机器人" → "自定义"
|
||
5. 机器人名称:`Clawdbot`
|
||
6. 安全设置:选择"自定义关键词",输入 `AI`
|
||
7. 创建后获取 **Webhook URL**
|
||
|
||
#### 2. 创建中转服务
|
||
|
||
由于 Clawdbot 原生不支持钉钉,需要创建一个简单的中转服务:
|
||
|
||
```bash
|
||
# 创建项目目录
|
||
mkdir ~/clawdbot-dingtalk
|
||
cd ~/clawdbot-dingtalk
|
||
|
||
# 创建中转脚本
|
||
cat > dingtalk-bridge.py << 'EOF'
|
||
from flask import Flask, request, jsonify
|
||
import requests
|
||
import os
|
||
|
||
app = Flask(__name__)
|
||
|
||
CLAWDBOT_API = os.getenv("CLAWDBOT_API", "http://localhost:18789")
|
||
WEBHOOK_URL = os.getenv("DINGTALK_WEBHOOK")
|
||
|
||
@app.route('/dingtalk/webhook', methods=['POST'])
|
||
def dingtalk_webhook():
|
||
data = request.json
|
||
content = data.get('text', {}).get('content', '')
|
||
|
||
# 发送到 Clawdbot
|
||
response = requests.post(f"{CLAWDBOT_API}/api/message", json={
|
||
"message": content
|
||
})
|
||
|
||
# 获取回复并发送到钉钉
|
||
if response.status_code == 200:
|
||
reply = response.json().get('reply', '处理中...')
|
||
requests.post(WEBHOOK_URL, json={"msgtype": "text", "text": {"content": reply}})
|
||
|
||
return jsonify({"status": "ok"})
|
||
|
||
if __name__ == '__main__':
|
||
app.run(port=5000)
|
||
EOF
|
||
|
||
# 安装依赖
|
||
pip install flask requests
|
||
|
||
# 配置环境变量
|
||
echo 'export DINGTALK_WEBHOOK="你的钉钉Webhook URL"' >> ~/.bashrc
|
||
echo 'export CLAWDBOT_API="http://localhost:18789"' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
|
||
# 启动中转服务
|
||
python dingtalk-bridge.py
|
||
```
|
||
|
||
#### 3. 配置钉钉机器人 Webhook
|
||
|
||
在钉钉机器人设置中,将 Webhook URL 设置为:
|
||
```
|
||
http://你的服务器IP:5000/dingtalk/webhook
|
||
```
|
||
|
||
**使用**:
|
||
在钉钉群聊中发送:`AI 你好`
|
||
|
||
---
|
||
|
||
### 方案 3:飞书机器人
|
||
|
||
**优点**:
|
||
- ✅ 国内可用
|
||
- ✅ 功能强大
|
||
- ✅ 支持富文本
|
||
- ✅ 开发友好
|
||
|
||
**配置步骤**:
|
||
|
||
#### 1. 创建飞书应用
|
||
|
||
1. 访问 [飞书开放平台](https://open.feishu.cn/)
|
||
2. 创建企业自建应用
|
||
3. 获取 App ID 和 App Secret
|
||
4. 启用机器人能力
|
||
|
||
#### 2. 配置事件订阅
|
||
|
||
类似于钉钉方案,需要创建中转服务接收飞书事件并转发到 Clawdbot。
|
||
|
||
**详细文档**:[飞书机器人开发指南](https://open.feishu.cn/document/ukTMukTMukTM/uUTNz4SN1MjL1UzM)
|
||
|
||
---
|
||
|
||
### 方案 4:企业微信机器人
|
||
|
||
**优点**:
|
||
- ✅ 国内可用
|
||
- ✅ 企业级
|
||
- ✅ 安全稳定
|
||
|
||
**配置步骤**:
|
||
|
||
1. 在企业微信群聊中添加机器人
|
||
2. 获取 Webhook URL
|
||
3. 参考钉钉方案创建中转服务
|
||
|
||
---
|
||
|
||
### 方案 5:微信公众号(高级)
|
||
|
||
**优点**:
|
||
- ✅ 随时随地使用
|
||
- ✅ 无需翻墙
|
||
- ✅ 用户友好
|
||
|
||
**缺点**:
|
||
- 需要服务器域名备案
|
||
- 配置复杂
|
||
|
||
**适用场景**:需要公开服务或团队使用
|
||
|
||
---
|
||
|
||
### 方案 6:命令行 + 定时推送
|
||
|
||
**优点**:
|
||
- ✅ 最简单
|
||
- ✅ 无需额外配置
|
||
- ✅ 适合开发者
|
||
|
||
**使用方法**:
|
||
|
||
```bash
|
||
# 发送消息给 Clawdbot
|
||
clawdbot message send --message "帮我分析这段代码"
|
||
|
||
# 查看回复
|
||
clawdbot message list
|
||
```
|
||
|
||
**结合定时任务**:
|
||
|
||
```bash
|
||
# 创建定时任务脚本
|
||
cat > ~/daily-ai-report.sh << 'EOF'
|
||
#!/bin/bash
|
||
# 每天早上 9 点生成 AI 报告
|
||
clawdbot message send --message "生成今日工作计划"
|
||
EOF
|
||
|
||
chmod +x ~/daily-ai-report.sh
|
||
|
||
# 添加到 crontab
|
||
crontab -e
|
||
# 添加:0 9 * * * ~/daily-ai-report.sh
|
||
```
|
||
|
||
---
|
||
|
||
### 方案 7:浏览器扩展 + 本地服务
|
||
|
||
**优点**:
|
||
- ✅ 在浏览器中使用
|
||
- ✅ 支持所有网页
|
||
- ✅ 可视化好
|
||
|
||
**实现方式**:
|
||
|
||
1. Clawdbot 提供 Web API
|
||
2. 开发简单的浏览器扩展
|
||
3. 在任意网页上与 AI 对话
|
||
|
||
---
|
||
|
||
## 🎯 推荐配置组合
|
||
|
||
### 个人开发
|
||
- **Web 控制面板**(主要)
|
||
- **命令行**(辅助)
|
||
|
||
### 小团队
|
||
- **Web 控制面板**
|
||
- **钉钉机器人**(团队协作)
|
||
|
||
### 企业使用
|
||
- **企业微信机器人**
|
||
- **飞书应用**
|
||
- **Web 控制面板**(备用)
|
||
|
||
---
|
||
|
||
## 🚀 快速开始(Web 控制面板)
|
||
|
||
这是最简单的方式,无需额外配置:
|
||
|
||
### 第 1 步:安装 Clawdbot(WSL2)
|
||
|
||
```bash
|
||
# 打开 WSL2
|
||
wsl
|
||
|
||
# 安装 Node.js 22
|
||
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
||
sudo apt-get install -y nodejs
|
||
|
||
# 安装 Clawdbot
|
||
npm install -g clawdbot@latest
|
||
```
|
||
|
||
### 第 2 步:配置 GLM
|
||
|
||
```bash
|
||
# 配置环境变量
|
||
echo 'export OPENAI_BASE_URL="https://open.bigmodel.cn/api/paas/v4/"' >> ~/.bashrc
|
||
echo 'export OPENAI_API_KEY="你的GLM_API_KEY"' >> ~/.bashrc
|
||
echo 'export MODEL_NAME="glm-4-flash"' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
```
|
||
|
||
### 第 3 步:启动网关
|
||
|
||
```bash
|
||
# 前台运行(测试)
|
||
clawdbot gateway --port 18789 --verbose
|
||
|
||
# 或后台运行
|
||
nohup clawdbot gateway --port 18789 > ~/clawdbot.log 2>&1 &
|
||
```
|
||
|
||
### 第 4 步:访问 Web 界面
|
||
|
||
在浏览器中打开:
|
||
|
||
```
|
||
http://localhost:18789/
|
||
```
|
||
|
||
**如果访问不了**:
|
||
|
||
```bash
|
||
# 检查 WSL2 IP
|
||
ip addr show eth0
|
||
|
||
# 或者使用 localhost 端口转发
|
||
# 在 PowerShell(管理员)中运行:
|
||
netsh interface portproxy add v4tov4 listenport=18789 listenaddress=0.0.0.0 connectport=18789 connectaddress=$(wsl hostname -I)
|
||
```
|
||
|
||
### 第 5 步:开始对话
|
||
|
||
在 Web 界面中输入消息,开始与 AI 对话!
|
||
|
||
---
|
||
|
||
## 💡 进阶配置
|
||
|
||
### 允许局域网访问
|
||
|
||
如果你想在手机或其他设备上访问:
|
||
|
||
```bash
|
||
# 启动时绑定所有网卡
|
||
clawdbot gateway --port 18789 --host 0.0.0.0 --verbose
|
||
|
||
# 查看你的 WSL2 IP
|
||
ip addr show eth0 | grep inet
|
||
# 假设显示:inet 172.x.x.x
|
||
|
||
# 在手机浏览器访问
|
||
# http://172.x.x.x:18789/
|
||
```
|
||
|
||
### 设置开机自启
|
||
|
||
```bash
|
||
# 创建 systemd 服务
|
||
sudo cat > /etc/systemd/system/clawdbot.service << 'EOF'
|
||
[Unit]
|
||
Description=Clawdbot AI Assistant
|
||
After=network.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=你的用户名
|
||
WorkingDirectory=/home/你的用户名
|
||
Environment="OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4/"
|
||
Environment="OPENAI_API_KEY=你的GLM_API_KEY"
|
||
Environment="MODEL_NAME=glm-4-flash"
|
||
ExecStart=/usr/bin/clawdbot gateway --port 18789
|
||
Restart=always
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
|
||
# 启动服务
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable clawdbot
|
||
sudo systemctl start clawdbot
|
||
|
||
# 查看状态
|
||
sudo systemctl status clawdbot
|
||
```
|
||
|
||
---
|
||
|
||
## 🎉 总结
|
||
|
||
作为国内用户,最佳方案是:
|
||
|
||
1. **主要使用**:Web 控制面板(http://localhost:18789)
|
||
2. **团队协作**:钉钉/飞书机器人
|
||
3. **开发者**:命令行 + Web 界面
|
||
|
||
**快速开始(3 分钟)**:
|
||
|
||
```bash
|
||
# 1. 进入 WSL2
|
||
wsl
|
||
|
||
# 2. 配置 GLM-4.7
|
||
echo 'export OPENAI_BASE_URL="https://open.bigmodel.cn/api/paas/v4/"' >> ~/.bashrc
|
||
echo 'export OPENAI_API_KEY="你的GLM_API_KEY"' >> ~/.bashrc
|
||
echo 'export MODEL_NAME="glm-4-plus"' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
|
||
# 3. 启动服务
|
||
clawdbot gateway --port 18789
|
||
|
||
# 4. 浏览器访问
|
||
# http://localhost:18789/
|
||
```
|
||
|
||
就这么简单!有任何问题随时问我 🚀
|