Files
chenhg5-cc-connect/docs/weibo.md
Claude e055bc8cf5 feat(weibo): add Weibo DM platform support
Implement Weibo private message platform via the Open IM WebSocket
protocol (open-im.api.weibo.com). Supports app_id/app_secret auth,
automatic token refresh, heartbeat keep-alive, reconnect with
exponential backoff, message dedup, and chunked sending for long
messages (2000 char limit).

Includes plugin registration, build tag (no_weibo), unit tests,
setup documentation, and cross-references in all platform docs.

Made-with: Cursor
2026-04-17 13:18:33 +08:00

6.3 KiB
Raw Blame History

微博私信接入指南

本文档介绍如何将 cc-connect 接入微博私信,让你可以通过微博私信远程调用 AI 编程 Agent。

前置要求

  • 微博账号
  • 一台可运行 cc-connect 的设备(无需公网 IP
  • AI 编程 AgentClaude Code、Codex 等)已安装并配置完成

💡 优势:使用 WebSocket 长连接,无需公网 IP、无需域名、无需反向代理


第一步:注册微博开放平台应用

1.1 进入微博开放平台

访问 微博开放平台,通过微博龙虾助手注册应用。

1.2 创建应用

按照平台指引创建一个新的应用,获取 Open IM 的 app_idapp_secret

⚠️ 重要:请妥善保存这两个凭证,后续配置 cc-connect 时需要用到。


第二步:配置 cc-connect

2.1 编辑配置文件

将凭证配置到 cc-connect 的 config.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 来配置:

cc-connect new
# 选择 weibo 平台,按提示输入 app_id 和 app_secret

2.3 可选配置项

[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 启动服务

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_idapp_secret 是否正确

Q: 长连接断开怎么办?

cc-connect 内置了自动重连机制(指数退避,最大 10 秒间隔),断开后会自动尝试重新连接。

Q: 提示 Token 无效?

  • Token 过期后会自动刷新,一般无需手动干预
  • 如果持续失败,检查 app_secret 是否有效

Q: 消息发送后显示不完整?

微博私信有约 2000 字符的限制cc-connect 会自动分块发送。如果仍有问题,检查网络连接。


下一步