logo
0
0
WeChat Login

CNB-Claw

基于 CNB Issue 的 NPC 对话系统,通过 QQ 机器人实现类似 OpenClaw 的效果。

工作原理

QQ用户 @机器人 @NPC名 消息 │ ▼ QQ Bot (WebSocket) │ ▼ CNB Issue 评论 ──→ NPC 在 Issue 中回复 │ │ ▼ ▼ 轮询新评论 ◄──────────────┘ │ ▼ 转发回复到 QQ
  1. 用户在 QQ 中 @机器人 并提及 NPC 名称发送消息
  2. 机器人将消息原样转发到 CNB 仓库对应的 Issue 评论中
  3. NPC(配置了 Issue 自动回复的角色)在 Issue 中回复
  4. 机器人定期轮询 Issue 评论,将新回复转发回 QQ

快速开始

前置条件

安装

git clone https://cnb.cool/claw-bot/cnb-claw.git cd cnb-claw go build -o cnb-claw

配置

cp config.example.json config.json

编辑 config.json

字段说明
qq_bot.app_idQQ 机器人 AppID
qq_bot.app_secretQQ 机器人 AppSecret
qq_bot.sandbox是否使用沙箱环境
cnb.tokenCNB 个人访问令牌
cnb.repoCNB 仓库路径,如 org/repo
poll_interval轮询 NPC 回复的间隔(秒)
npc_mappingNPC 名称 → Issue 标题的映射

运行

./cnb-claw -config config.json

项目结构

├── main.go # 入口 ├── config/ # 配置加载 ├── cnb/ # CNB API 客户端 ├── qqbot/ # QQ Bot WebSocket & 消息收发 └── bot/ # 核心业务逻辑

特性

  • 支持 QQ 群聊(@机器人)和私聊两种场景
  • 启动时自动检查并创建 NPC 对应的 Issue
  • 用户消息原样转发,不丢失内容
  • WebSocket 断线自动重连
  • CNB API 字段类型自适应兼容

相关文档

About

No description, topics, or website provided.
Language
Go100%