Skip to content

Repository files navigation

NekoBot

多平台智能聊天机器人框架

(目前项目正在处于初始阶段,因此版本号在发布正式版本之前一直为 1.0.0,有问题请及时反馈至Issue)

Version Python License

一个功能强大、易于扩展的聊天机器人框架,支持多个聊天平台和 LLM 服务商

功能特性快速开始文档贡献

📄 文档站点

NekoBot文档 由Vercel提供服务的文档站点


功能特性

核心功能

  • 多平台支持: 支持 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

安装

  1. 克隆仓库
git clone https://github.com/Ringaire/NekoBot.git
cd NekoBot
  1. 安装依赖
# 使用 uv (推荐)
uv pip install -e .

# 或使用 pip
pip install -e .
  1. 启动
# 使用 uv
uv run main.py

# 或使用 python
python main.py

启动

# 使用 uv
uv run main.py

# 或使用 python
python main.py

启动后访问: http://localhost:6285

默认账户

  • 用户名: nekobot
  • 密码: nekobot

首次登录后会强制要求修改密码。


CLI 命令

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


支持的平台

已集成平台

平台 协议/类型 描述 流式消息
QQ 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 企业微信应用

支持的 LLM 提供商

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(除非明确需求)

常见问题

1. 如何修改默认端口?

编辑 ./data/config.json,修改 server.port 字段。

2. 忘记密码怎么办?

可通过运行以下命令重置密码:

# 使用 uv
uv run main.py reset-password

# 或使用 python
python main.py reset-password

按照提示输入两次新密码,密码重置成功后即可使用新密码登录。

⚠️ 安全警告

NekoBot 首次登录时会强制要求修改密码。如果用户未修改默认密码而导致的安全问题,开发团队不承担责任。

重置密码时输入密码时无任何回显提示,直接输入密码后回车即可。

3. 如何添加新的 LLM 服务商?

通过 Web 仪表盘添加。


路线图

  • QQ (OneBot V11) 支持
  • Discord 支持
  • Telegram 支持
  • 飞书 支持
  • KOOK 支持
  • QQ频道 支持
  • Slack 支持
  • 企业微信 支持
  • Agent 系统
  • 知识库系统
  • Pipeline 流水线
  • CLI 命令行工具
  • 更多平台适配器
  • 插件市场
  • 多语言支持

许可证

本项目采用 AGPL-3.0 许可证 - 查看 LICENSE 文件了解详情


致谢


联系方式


⭐ Star 历史

Star History Chart

如果这个项目对你有帮助,请给个 Star ⭐

Made with ❤️ by Ringaire

About

一个LLM且支持多平台接入的聊天机器人设施

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages