新增 openclaw_bridge 插件,实现 QQ ↔ OpenClaw Gateway 桥接: src/process.py: - QQ 消息自动转发 OpenClaw Gateway - 内置安全检测(高危词、管理员白名单、MC指令过滤) - 高危词库外部化到 config.toml [security] section - 群昵称自动解析 - Session 隔离(按群×用户) config/openclawbridge/config.toml: - 插件配置模板(已脱敏:占位符替代个人信息) scripts/qq_*.py (×15): - 消息发送/文件传输/群管理/好友管理 - 信息查询/历史回溯/OCR/点赞 - 全部脱敏(QQ号→YOUR_ADMIN_QQ, IP→YOUR_NAPCAT_HOST等) skills/*/SKILL.md (×8): - AgentSkills 使用指导 - qq-messenger / qq-management / qq-resolver / qq-napcat-extras - browser / file-process / mc-query / nix-helper SKILL.md: - AgentSkill 入口,完整架构说明和部署步骤
3.2 KiB
3.2 KiB
qq-resolver Skill
QQ 信息查询能力 — 群列表、好友列表、ID 转名称、历史消息回溯、文件接收。通过 NapCat (OneBot) HTTP API 直接查询。
什么时候用历史消息工具: 当用户提到某个话题、人物或事件,而你在当前 session 里找不到相关信息时,说明这个信息来自其他聊天(其他群/私聊),或者 session 重启过导致记忆丢失。这时应该调用
qq_get_history.py查看相关群/私聊的历史消息来补全上下文。
脚本清单
所有脚本都在 YOUR_WORKSPACE_PATH/scripts/ 目录下。
| 脚本 | 调用方式 | 说明 |
|---|---|---|
qq_get_groups.py |
--json [--keyword 关键词] |
返回所有群聊列表 |
qq_get_friends.py |
--json [--keyword 关键词] |
返回好友列表 |
qq_resolve_name.py |
--uid <QQ号> 或 --gid <群号> |
QQ号/群号 ↔ 可读名称 |
qq_get_history.py |
--gid <群号> 或 --uid <QQ号> --num <条数> --json |
历史消息(时间倒序) |
qq_get_file.py |
--file <file_id> |
下载文件到 files/ 目录 |
用法
所有脚本用 subprocess.run(cmd, capture_output=True, text=True, timeout=10-15) 即可,输出直接读 result.stdout。
查群列表
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_groups.py --json
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_groups.py --json --keyword "我的世界"
查好友列表
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_friends.py --json
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_friends.py --json --keyword "张三"
解析 QQ 号 / 群号
python3 YOUR_WORKSPACE_PATH/scripts/qq_resolve_name.py --uid YOUR_ADMIN_QQ
python3 YOUR_WORKSPACE_PATH/scripts/qq_resolve_name.py --gid 812704915
python3 YOUR_WORKSPACE_PATH/scripts/qq_resolve_name.py --uid YOUR_ADMIN_QQ --uid 12345678 --gid YOUR_GROUP_ID
获取历史消息 ⭐ 回顾
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_history.py --gid 812704915 --num 10 --json
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_history.py --uid YOUR_ADMIN_QQ --num 20 --json
返回 [{ "time": "...", "sender_name": "...", "sender_card": "...", "message": "...", "message_type": "..." }]
什么时候该用:
- 用户说"上次我们聊到的那个事" → 查历史看看上次聊了什么
- 用户问"你还记得XX吗" → 你不记得,查历史
- 提到一个不熟悉的人/群 → 先查群列表/好友列表确定身份,再查对应聊天历史
- session 刚启动时对之前对话没印象 → 主动查最近历史恢复认知
接收文件/图片 ⭐ 从QQ获取文件
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_file.py --file <file_id>
python3 YOUR_WORKSPACE_PATH/scripts/qq_get_file.py --file <file_id> --info --json
执行后自动下载到 files/ 目录,输出:保存路径、文件名、大小、类型(图片/文件)。
注意: file_id 来自消息中的 [image:xxx.jpg] 或 [file:xxx.zip] 标记,冒号后面就是 file_id。
工作流程
遇到不认识的内容 → 查群列表/好友列表确定身份 → 查历史消息看上下文 → 回复用户
需要看文件内容(如图片识别、文档处理)→ 用 qq_get_file.py 下载到 files/ 目录后读取