kusandriadi/magabot
GitHub: kusandriadi/magabot
Go 语言编写的安全优先型多平台 AI 聊天机器人,支持多 LLM 提供商、RAG 语义记忆和多代理编排,单一二进制零依赖部署。
Stars: 1 | Forks: 0
# Magabot
[](https://github.com/kusandriadi/magabot/actions/workflows/ci.yml)
[](https://go.dev)
[](LICENSE)
**Magabot** 是一个隐私优先、自托管的 AI 聊天机器人,它将多个 LLM 提供商连接到消息平台。单一静态二进制文件,零运行时依赖,使用 AES-256-GCM 静态加密。
## 主要特性
- **多 LLM** — Anthropic, OpenAI, Gemini, DeepSeek, GLM, Local (Ollama/vLLM)
- **多平台** — Telegram, Slack, WhatsApp, Webhooks
- **隐私优先** — 所有数据静态加密,运行在您的硬件上
- **零依赖** — 单一二进制文件,无需 Docker/Python/Node.js
- **语义记忆** — 基于 Vector 的记忆,支持 OpenAI/Voyage/Cohere embeddings
- **多代理** — 生成子代理以执行并行任务
- **Cron Jobs** — 使用 cron、interval 或 one-shot 定时发送消息
- **技能系统** — 通过自定义 YAML 定义扩展功能
- **安全** — 输入清理、速率限制、路径遍历保护、审计日志
## LLM 提供商
| Provider | Default Model | Environment Variable |
|----------|---------------|---------------------|
| Anthropic | claude-sonnet-4-20250514 | `ANTHROPIC_API_KEY` |
| OpenAI | gpt-4o | `OPENAI_API_KEY` |
| Gemini | gemini-2.0-flash | `GEMINI_API_KEY` |
| DeepSeek | deepseek-chat | `DEEPSEEK_API_KEY` |
| GLM | glm-4.7 | `GLM_API_KEY` or `ZAI_API_KEY` |
| Local | llama3 | `LOCAL_LLM_BASE_URL` |
支持提供商之间的自动故障转移和自定义 base URL。
## 平台
- **Telegram** — Long polling 或 webhook 模式(群组 & 私聊)
- **Slack** — Socket mode 或 Events API(群组 & 私聊)
- **WhatsApp** — 通过 [whatsmeow](https://github.com/tulir/whatsmeow) 的多设备 WebSocket API(需要扫码)
- **Webhook** — 支持 Bearer/HMAC/Basic 认证的 HTTP POST endpoint
- **Discord** — 仅限通知(通过 bot token 或 webhook URL)
## 安装
**Linux (推荐):**
```
curl -sL https://raw.githubusercontent.com/kusandriadi/magabot/master/install.sh | bash
```
**手动安装:**
```
curl -sLO https://github.com/kusandriadi/magabot/releases/latest/download/magabot_linux_amd64.tar.gz
tar -xzf magabot_linux_amd64.tar.gz
sudo mv magabot /usr/local/bin/
```
**用户本地安装 (无需 sudo):**
```
mkdir -p ~/bin && mv magabot ~/bin/
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
```
查看 [releases](https://github.com/kusandriadi/magabot/releases) 获取 macOS 和 Windows 二进制文件。
## 快速开始
```
# 交互式设置
magabot setup
# 启动 bot
magabot start
# 检查状态
magabot status
# 查看日志
magabot log
```
## 配置
配置文件:`~/.magabot/config.yaml`
**最小示例:**
```
llm:
main: anthropic
anthropic:
enabled: true
api_key: "${ANTHROPIC_API_KEY}"
platforms:
telegram:
enabled: true
token: "${TELEGRAM_BOT_TOKEN}"
security:
allowed_users:
telegram: ["YOUR_USER_ID"]
```
环境变量使用 `$VAR` 或 `${VAR}` 语法展开。
**常用命令:**
```
magabot config show # View config summary
magabot config edit # Edit in $EDITOR
magabot config path # Print config file path
magabot genkey # Generate encryption key
```
## 聊天命令
在任何已连接的平台发送以下命令:
- `/help` — 显示可用命令
- `/status` — Bot 状态和运行时间
- `/models` — 列出可用的 AI 模型
- `/memory add ` — 记住某些内容
- `/memory search ` — 搜索记忆
- `/task spawn ` — 运行后台任务
仅限管理员:
- `/config` — 管理配置
## 从源代码构建
需要 Go 1.24+ 和 C 编译器(用于 SQLite)。
```
git clone https://github.com/kusandriadi/magabot.git
cd magabot
make build
./bin/magabot setup
```
安装:
```
make install # System-wide (/usr/local/bin, requires sudo)
make install-user # User-local (~/bin, no sudo)
```
运行测试:
```
make test
```
## 安全
Magabot 实施了深度防御安全策略:
- **加密** — AES-256-GCM 用于加密密钥、聊天历史和会话
- **访问控制** — 基于白名单的认证,具有特定平台的管理员控制
- **输入验证** — 所有用户输入均经过清理,控制字符已被移除
- **速率限制** — 针对每位用户和每个 IP 的速率限制,具备 DoS 防护
- **路径遍历保护** — 所有文件操作均根据允许的目录进行验证
- **SSRF 保护** — LLM 提供商的 base URL 验证
- **审计日志** — 安全事件记录到 `~/.magabot/logs/security.log`
- **安全默认值** — 配置文件权限 `0600`,目录权限 `0700`
有关漏洞报告,请参阅 [SECURITY.md](SECURITY.md)。
## 技能
技能通过 YAML 定义扩展 Magabot 的自定义功能。
**创建技能:**
```
magabot skill create my-skill
```
**启用/禁用:**
```
magabot skill enable my-skill
magabot skill disable my-skill
```
查看 `magabot skill help` 获取完整文档。
## 许可证
MIT License - 详见 [LICENSE](LICENSE)
## 链接
- **文档** — [docs/](docs/)
- **问题** — [GitHub Issues](https://github.com/kusandriadi/magabot/issues)
- **发布** — [GitHub Releases](https://github.com/kusandriadi/magabot/releases)
- **Discord** — *(即将推出)*
标签:AES-256 加密, Agent 编排, AI 聊天机器人, Anthropic Claude, Cron Jobs, DeepSeek, DevOps 工具, Discord, DLL 劫持, EVTX分析, Golang, Go 语言, LLM 网关, LLM评估, Ollama, OpenAI, RAG, Slack 集成, Telegram 机器人, Webhook, WhatsApp API, 任务调度, 内存规避, 力导向图, 向量数据库, 多平台集成, 多智能体, 大语言模型, 安全编程, 安全通信, 日志审计, 服务枚举, 本地模型, 检索增强生成, 熵值分析, 网络调试, 自动化, 自托管, 语义记忆, 隐私优先, 零依赖, 静态二进制