726d41ad79dd486c3e5a008ba12b64a22b58d57d
Added a new method to run a skill document pipeline, allowing for enhanced processing of user messages based on specified skill documents. Implemented logic to extract relevant text from user messages and improved error handling during processing. Updated message handling to strip URLs from responses to prevent issues with message delivery. Added tests to validate the new processing functionality and ensure robustness.
QQbot(AI 聊天机器人)
一个基于 botpy 的 QQ 机器人项目,支持多模型切换、长期/短期记忆、人设管理、Skills 插件与 MCP 能力。
功能概览
- 多模型配置与运行时切换(
/models) - 人设增删改切换(
/personality) - 短期/长期记忆管理(
/clear、/memory) - Skills 本地与网络安装/卸载/重载(
/skills) - 自动去除 Markdown 格式后再回复(适配 QQ 聊天)
快速开始
- 安装依赖
pip install -r requirements.txt
- 配置环境变量
复制 .env.example 为 .env,填写 QQ 机器人和 AI 配置。
- 启动
python main.py
命令说明
通用
/help/clear(默认等价/clear short)/clear short/clear long/clear all
人设命令
/personality/personality list/personality set <key>/personality add <name> <Introduction>/personality remove <key>
说明:
add会新增并切换到该人设Introduction会作为人设简介与自定义指令
Skills 命令
/skills/skills install <source> [skill_name]/skills uninstall <skill_name>/skills reload <skill_name>
source 支持:
- 本地技能名(如
weather) - URL(zip 包)
- GitHub 简写(
owner/repo或owner/repo#branch) - GitHub 仓库 URL(如
https://github.com/op7418/Humanizer-zh.git)
兼容说明:
- 若源中包含标准技能结构(
skill.json+main.py),按原方式安装 - 若仅包含
SKILL.md,会自动生成适配技能并提供read_skill_doc工具读取文档内容
模型命令
/models/models current/models add <model_name>/models add <key> <provider> <model_name> [api_base]/models switch <key|index>/models remove <key|index>
说明:
/models add <model_name>只替换模型名,沿用当前 API Base 和 API Key
长期记忆命令
/memory/memory get <id>/memory add <content|json>/memory update <id> <content|json>/memory delete <id>/memory search <query> [limit]
目录结构
QQbot/
├─ src/
│ ├─ ai/
│ ├─ handlers/
│ ├─ core/
│ └─ utils/
├─ skills/
├─ config/
├─ docs/
└─ tests/
测试
python -m pytest -q
如果你使用 conda 环境,请先执行:
conda activate qqbot
Description
Languages
Python
87.8%
HTML
9.5%
Shell
1.5%
JavaScript
1%
Batchfile
0.2%