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%