多平台智能聊天机器人框架
(目前项目正在处于初始阶段,因此版本号在发布正式版本之前一直为 1.0.0,有问题请及时反馈至Issue)
一个功能强大、易于扩展的聊天机器人框架,支持多个聊天平台和 LLM 服务商
📄 文档站点
- 多平台支持: 支持 QQ、Telegram、Discord、飞书、KOOK、QQ频道、Slack、企业微信等主流聊天平台
- 多 LLM 支持: 集成 OpenAI、Google Gemini、Claude、DeepSeek、DashScope、Moonshot、ZhipuAI 等 LLM 服务商
- 插件系统: 完善的插件生态,支持热加载、热重载
- Web 仪表盘: 基于 React + Vite 的现代化管理界面
- 实时日志: WebSocket 实时日志推送
- 安全可靠: JWT 认证、bcrypt 密码加密
- Agent 系统: 支持 MCP 协议、函数调用和工具管理
- 知识库系统: 支持向量数据库、文档解析和检索增强(RAG)
- 消息流水线: 洋葱模型的消息处理管道,支持多种处理阶段
- 异步架构: 基于 Quart (异步 Flask),高性能处理
- 模块化设计: 清晰的架构,易于扩展和维护
- 消息流水线: 可扩展的消息处理管道机制
- 数据持久化: SQLite 轻量级数据存储
- 会话隔离: 支持会话级别的数据隔离
- 状态管理: 完善的会话状态管理系统
- Python 3.10+
- uv (推荐) 或 pip
- 克隆仓库
git clone https://github.com/Ringaire/NekoBot.git
cd NekoBot- 安装依赖
# 使用 uv (推荐)
uv pip install -e .
# 或使用 pip
pip install -e .- 启动
# 使用 uv
uv run main.py
# 或使用 python
python main.py# 使用 uv
uv run main.py
# 或使用 python
python main.py启动后访问: http://localhost:6285
- 用户名:
nekobot - 密码:
nekobot
首次登录后会强制要求修改密码。
NekoBot 提供了命令行工具,用于管理和操作 NekoBot。
| 命令 | 说明 |
|---|---|
| (默认) | 启动 NekoBot 服务器 |
reset-password |
重置 WebUI 默认账户密码 |
version, -v |
显示版本信息 |
help, -h |
显示帮助信息 |
# 启动 NekoBot 服务器
uv run main.py
python main.py
# 重置密码
uv run main.py reset-password
python main.py reset-password
# 显示版本信息
uv run main.py version
uv run main.py -v
# 显示帮助信息
uv run main.py help
uv run main.py -h运行重置密码命令后,按照提示输入两次新密码:
uv run main.py reset-password
⚠️ 安全提示
- 输入密码时无任何回显提示,直接输入密码后回车即可
- NekoBot 首次登录时会强制要求修改默认密码
- 如因未修改默认密码导致安全问题,开发团队不承担责任
想要开发插件? 请参考项目https://github.com/Ringaire/nekobot_plugin_template
| 平台 | 协议/类型 | 描述 | 流式消息 |
|---|---|---|---|
| OneBot V11 | 通过 aiocqhttp 实现 | 否 | |
| Discord | Discord Bot API | Discord 机器人 | 否 |
| Telegram | Telegram Bot API | Telegram 机器人 | 是 |
| 飞书 | 飞书官方 API | 飞书群聊和私聊 | 否 |
| KOOK | 开黑平台 | KOOK 频道和私聊 | 是 |
| QQ频道 | QQ频道官方 API | QQ 频道 | 是 |
| Slack | Slack Bot API | Slack 工作区 | 否 |
| 企业微信 | 企业微信官方 API | 企业微信应用 | 否 |
NekoBot 目前支持以下 LLM 提供商:
| 提供商 | 描述 | 支持的模型 |
|---|---|---|
| OpenAI | OpenAI GPT 系列 | gpt-4o, gpt-4o-mini, gpt-3.5-turbo |
| Google Gemini | Google Gemini 系列 | gemini-2.0-flash-exp, gemini-1.5-pro, gemini-1.5-flash |
| Claude | Anthropic Claude 系列 | claude-3-5-sonnet-20241022, claude-3-5-haiku-20241022 |
| DeepSeek | DeepSeek 系列 | deepseek-chat, deepseek-coder |
| DashScope | 阿里云通义千问 | qwen-max, qwen-plus, qwen-turbo |
| Moonshot | Moonshot Kimi 系列 | moonshot-v1-8k, moonshot-v1-32k, moonshot-v1-128k |
| ZhipuAI | 智谱 GLM 系列 | glm-4, glm-4-flash, glm-4-plus |
| OpenAI 兼容 | OpenAI 兼容接口 | 适用于 Ollama、LM Studio 等 |
使用 Ruff 进行代码检查:
ruff check .- 最大行长:88
- Python 版本:3.10+
- 编码:UTF-8(无 BOM)
- 禁止使用 emoji(除非明确需求)
编辑 ./data/config.json,修改 server.port 字段。
可通过运行以下命令重置密码:
# 使用 uv
uv run main.py reset-password
# 或使用 python
python main.py reset-password按照提示输入两次新密码,密码重置成功后即可使用新密码登录。
⚠️ 安全警告NekoBot 首次登录时会强制要求修改密码。如果用户未修改默认密码而导致的安全问题,开发团队不承担责任。
重置密码时输入密码时无任何回显提示,直接输入密码后回车即可。
通过 Web 仪表盘添加。
- QQ (OneBot V11) 支持
- Discord 支持
- Telegram 支持
- 飞书 支持
- KOOK 支持
- QQ频道 支持
- Slack 支持
- 企业微信 支持
- Agent 系统
- 知识库系统
- Pipeline 流水线
- CLI 命令行工具
- 更多平台适配器
- 插件市场
- 多语言支持
本项目采用 AGPL-3.0 许可证 - 查看 LICENSE 文件了解详情
- 参考项目:
- AstrBot - 机制参考
- NapNeko/NapCatQQ - 伟大的困困猫框架
- 所有贡献者