Files
cc-connect/docs/weibo.md
T
2026-06-02 23:14:41 +08:00

211 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 微博私信接入指南
本文档介绍如何将 **cc-connect** 接入微博私信,让你可以通过微博私信远程调用 AI 编程 Agent。
## 前置要求
- 微博账号
- 一台可运行 cc-connect 的设备(无需公网 IP
- AI 编程 AgentClaude Code、Codex 等)已安装并配置完成
> 💡 **优势**:使用 WebSocket 长连接,无需公网 IP、无需域名、无需反向代理
---
## 第一步:注册微博开放平台应用
### 1.1 进入微博开放平台
访问 [微博开放平台](https://open.weibo.com/),通过微博龙虾助手注册应用。
### 1.2 创建应用
按照平台指引创建一个新的应用,获取 Open IM 的 `app_id``app_secret`
> ⚠️ **重要**:请妥善保存这两个凭证,后续配置 cc-connect 时需要用到。
---
## 第二步:配置 cc-connect
### 2.1 编辑配置文件
将凭证配置到 cc-connect 的 `config.toml` 中:
```toml
[[projects]]
name = "my-project"
[projects.agent]
type = "claudecode"
[projects.agent.options]
work_dir = "/path/to/your/project"
[[projects.platforms]]
type = "weibo"
[projects.platforms.options]
app_id = "your-weibo-app-id"
app_secret = "your-weibo-app-secret"
```
### 2.2 使用 CLI 引导配置(推荐)
也可以使用交互式 CLI 来配置:
```bash
cc-connect new
# 选择 weibo 平台,按提示输入 app_id 和 app_secret
```
### 2.3 可选配置项
```toml
[projects.platforms.options]
app_id = "your-weibo-app-id"
app_secret = "your-weibo-app-secret"
# allow_from = "*" # 允许的微博用户 ID,逗号分隔;"*" 表示所有(默认)
# token_endpoint = "" # 自定义 token 接口地址(默认:https://open-im.api.weibo.com/open/auth/ws_token
# ws_endpoint = "" # 自定义 WebSocket 地址(默认:ws://open-im.api.weibo.com/ws/stream
```
---
## 第三步:启动 cc-connect
### 3.1 启动服务
```bash
cc-connect
# 或指定配置文件
cc-connect -config /path/to/config.toml
```
### 3.2 验证连接
启动后,cc-connect 会自动与微博建立 WebSocket 长连接。你会在日志中看到:
```
level=INFO msg="weibo: authenticated" uid=1234567890
level=INFO msg="weibo: websocket connected"
level=INFO msg="platform started" project=my-project platform=weibo
level=INFO msg="cc-connect is running" projects=1
```
---
## 第四步:开始使用
### 4.1 发送私信
在微博中给你的应用账号发送私信,即可与 AI Agent 对话:
```
用户: 帮我分析一下当前项目的结构
cc-connect: 🤔 思考中...
cc-connect: 🔧 执行: Bash(ls -la)
cc-connect: ✅ 这是一个 Go 项目,包含以下模块...
```
### 4.2 使用命令
所有 cc-connect 命令均可在微博私信中使用:
| 命令 | 功能 |
|------|------|
| `/status` | 查看 Agent 状态 |
| `/new` | 新建会话 |
| `/list` | 查看会话列表 |
| `/stop` | 停止当前会话 |
| `/help` | 查看帮助 |
---
## 连接方式说明
微博私信平台使用 WebSocket 长连接:
```
┌─────────────────────────────────────────────────────────────┐
│ 微博 Open IM │
│ │
│ 用户私信 ──→ open-im.api.weibo.com ──→ WebSocket Stream │
│ │ │
└──────────────────────────────────────────────┼───────────────┘
│ WebSocket 长连接
│ (无需公网IP)
┌─────────────────────────────────────────────────────────────┐
│ 你的本地环境 │
│ │
│ cc-connect ◄──► AI Agent CLI ◄──► 你的项目代码 │
│ │
└─────────────────────────────────────────────────────────────┘
```
| 特性 | 说明 |
|------|------|
| ✅ 无需公网 IP | 内网环境也能接入 |
| ✅ 无需域名 | 不需要配置域名 |
| ✅ 自动重连 | 断线后自动重连(指数退避) |
| ✅ 心跳保活 | 30 秒心跳间隔,40 秒超时检测 |
| ✅ Token 自动刷新 | 过期前自动续期 |
---
## 技术细节
### 消息长度限制
微博私信文本限制约 2000 字符。cc-connect 会自动将超长消息分块发送,接收端会按顺序收到完整内容。
### Token 管理
- 首次启动时通过 `app_id` + `app_secret` 获取 WebSocket Token
- Token 过期前 60 秒自动刷新
- WebSocket 断开时(code 4002 / invalid token)自动清除并重新获取
### 安全建议
- 使用 `allow_from` 限制允许使用的微博用户 ID
- 发送 `/whoami` 获取你的用户 ID
- 不要将 `app_secret` 提交到代码仓库
---
## 常见问题
### Q: 连接后收不到消息?
检查以下项目:
1. cc-connect 服务是否正常运行
2. WebSocket 连接是否建立成功(查看日志)
3. `app_id``app_secret` 是否正确
### Q: 长连接断开怎么办?
cc-connect 内置了自动重连机制(指数退避,最大 10 秒间隔),断开后会自动尝试重新连接。
### Q: 提示 Token 无效?
- Token 过期后会自动刷新,一般无需手动干预
- 如果持续失败,检查 `app_secret` 是否有效
### Q: 消息发送后显示不完整?
微博私信有约 2000 字符的限制,cc-connect 会自动分块发送。如果仍有问题,检查网络连接。
---
## 下一步
- [接入飞书](./feishu.md)
- [接入钉钉](./dingtalk.md)
- [接入 Telegram](./telegram.md)
- [接入 Discord](./discord.md)
- [接入 Slack](./slack.md)
- [返回首页](../README.md)