内容
AI 代理用的**基于插件的工具桥梁**。通过单一的中心枢纽,提供与 Cursor、Claude Desktop、n8n 和自定义应用程序的支持 REST API、网页面板、MCP(模型上下文协议)和 Telegram 机器人。
> 保留仓库文件夹名称(`mcp-hub和 CLI 名称(`mcp-hub-stdio`)以保持向后兼容。产品名称:**Felix Hub**。
## 什么是 Felix Hub?
| 层 描述 |
|--------|----------|
API** | 基于 Express 的 HTTP 服务(`mcp-server/`,端口 **878) |
| **Web UI** | React + Vite 单页应用 — 包括登录、聊天、设置、管理员和可观察性 |
| **插件** |、Notion、n8n、DB、RAG、brain、shell 等自动发现 |
| **MCP** | 通过 `/mcp` HTTP 和 `mcp-hub-stdio` 与 Cursor / Claude Desktop 集成 |
| **持久化** | MSSQL — 存储用户、聊天记录和加密设置 |
| **Telegram** | Webhook + 通知频道;从 hub 到 agent 的消息循环 |
| | 审批中心、速率限制、审计日志 |
```text
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ 网页 / 聊天 │────▶│ Felix Hub API │────▶ 插件 │
│ Telegram │ 认证 · 策略 │ │ GitHub · … │
└─────────────┘ └────────┬─────────┘ └─────────────┘
│
┌────────┴────────┐
│ 设置 │
│ 聊天 · 用户 │
└─────────────────┘
```
## (开发)
在项目根目录中使用 **pnpm**(参见 `mcp-server/pnpm-lock.yaml````bash
cd m
pnpm install
pnpm install --dir frontend
cp .env.example .env
# . 引导配置值(-SETUP.md)
npm run hub:live
```
| 描述 |
|--------|----------|
| `npm run hub:live` 监听 + UI 自动构建日常开发**) |
| `npm run dev:all` 监听 + Vite 开发`:5173` 代理) |
| `npm run ui: | 生产环境单页应用构建 → `src/public/app`开发环境地址:**
| 描述 |
|-----|----------|
| http://localhost:8787/ | 公共登录页面 |
|localhost:8787/login | 登录 |
| http://localhost:8787/today | 主面板(登录后) |
| http://localhost:8787/chat | 代理聊天 |
| http://localhost:8787/settings | 设置与集成 |
| http://localhost:8787/health | 健康检查 |
## 配置
有两个;详情参见 [`ENV-SETUP.md`](ENV-SETUP.md)。
**1) 引导配置 — `mcp-server/.env服务器启动前必需)**
- `HUB_READ_KEY`、`HUB_WRITE_KEY`、`HUB_ADMIN_KEY`
- `HUB_MSSQL_URL`、`HUB_SETTINGS_MASTER_KEY`、`HUBISTENCE_ENABLED`
-用户:`HUB_SEED_*`(一次性)
**2) 集成 — 设置 UI 或 `.env`**
- OpenAI、GitHub、Notion、n8n、**Telegram** (`TELEGRAM_BOT_TOKEN`、`TELEGRAM_CHAT_ID` 等)
- MSSQL 中加密存储;大多数配置支持热加载
- 设置 → 集成中,通过眼睛图标查看已注册的值
生产环境中额外配置:
```env
NODE_ENV=production
CORS_ALLOWED_ORIGINS=https://你的域名.com
```
## 生产环境(Docker)
在服务器上使用 **Docker**;本地机器仅用于开发。
```bash
cd mcp-server
cp .envenv # 生产环境值
docker compose up -d --```
- [`mcp-serverOCKER-DEPLOY.md`](mcp-server/docs/DOCKER-.md)
- Coolify:基础目录 `mcp-server` **8787**,环境 **runtime-only**
- Telegram Webhook:`https://<域名>/notifications/telegram/webhook`
- 密钥:`node scripts/rotate-telegram-webhook.js`
## MCP 与外部客户端
```bash
# HTTP MCP(Bearer HUB_WRITE_KEY)
curl -H "Authorization: Bearer $HUB_WRITE http://localhost:878
# stdio(Cursor / Claude Desktop)
npx mcp-hub-stdio
```
安装说明:[`mcp-server/docs/integrations/`](mcp-server/docs/integrations/)
## 仓库结构
```text
mcp-hub/
├── mcp-server/ # 主要应用(API + 插件 + SPA 构建输出)
│ ├── frontend/ # React UI 源代码
│ ├── src/plugins/ # 插件模块
│ ├── src/core/ # 认证、聊天、策略、持久化等
│ ├── Dockerfile
│ └── docker-compose.yml
├── ENV-SETUP.md # 环境变量指南
└── README.md
```
## 测试
```bash
cd mcp-server
npm run test:run
npm run validate:tools
```
## 文档
| 主题 | 文件 |
|------|--------|
| 环境变量 / 引导配置 | [ENV-SETUP.md](ENV-SETUP.md) |
| Docker 部署 | [mcp-server/docs/DOCKER-DEPLOY.md](mcp-server/docs/DOCKER-DEPLOY.md) |
| 服务器 API | [mcp-server/README.md](mcp-server/README.md) |
| 插件开发 | [mcp-server/docs/plugin-development.md](mcp-server/docs/plugin-development.md) |
## 许可证
MIT