M365 Copilot2API
M365 Copilot ChatHub 网关
将 Microsoft 365 Copilot 转换为 OpenAI / Anthropic 兼容 API
📋 功能特性
| 功能 | 状态 |
|---|
✅ OpenAI 兼容 /v1/chat/completions | 支持流式、工具调用 |
✅ OpenAI Responses /v1/responses | 兼容 |
✅ Anthropic 兼容 /v1/messages | 兼容 |
| ✅ 流式输出 (SSE) | 实时逐字输出 |
| ✅ 推理模型 | gpt-5.5-reasoning、gpt-5.6-sol 等 |
| ✅ 联网搜索 | claude-sonnet 内置 web_fetch |
| ✅ MCP 协议 | /v1/mcp/sse + /v1/mcp/message + /v1/mcp/tools |
| ✅ 视觉识别 | 支持 base64 图片输入 |
| ✅ 多账号管理 | PKCE OAuth 授权 |
| ✅ API Key 管理 | 控制台创建/撤销 |
| ✅ 代理池 | 轮换、失败冷却 |
| ✅ Web 管理控制台 | 账号、设置、日志 |
🚀 快速开始
源码编译
git clone https://github.com/HEXUXIU/M365-Copilot2API.git
cd M365-Copilot2API
# 配置管理员密码(可选,默认 admin123)
export M365_ADMIN_PASSWORD=your_password
go run ./cmd/server
默认地址 http://127.0.0.1:4141,打开浏览器完成管理员设置和登录。
Docker 部署
docker compose build
docker compose up -d
🔑 使用示例
# 基础聊天
curl http://127.0.0.1:4141/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "你好"}]
}'
# 流式输出
curl http://127.0.0.1:4141/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5-reasoning",
"messages": [{"role": "user", "content": "1+1=?"}],
"stream": true
}'
# 联网搜索(claude-sonnet 内置)
curl http://127.0.0.1:4141/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet",
"messages": [{"role": "user", "content": "北京今天天气?"}]
}'
🤖 可用模型
| 模型 | 推荐用途 | 速度 |
|---|
gpt-5.5 | 日常对话 | ⚡ ~5s |
gpt-5.2 | 最轻量快速 | ⚡ ~5s |
claude-sonnet | 联网搜索、实时信息 | ⚡ ~5-6s |
gpt-5.6-sol | 复杂推理(默认高推理) | ⏳ ~7s |
gpt-5.5-reasoning | 数学/逻辑推理 | ⏳ ~9s |
🧩 MCP 协议
网关内置 MCP (Model Context Protocol) 服务器:
| 端点 | 说明 |
|---|
GET /v1/mcp/sse | SSE 连接 |
POST /v1/mcp/message | JSON-RPC 消息 |
GET /v1/mcp/tools | 工具列表 |
tools/list | 发现工具 |
tools/call | 调用工具 |
🛠 技术栈
- 语言: Go 1.22+
- 协议: SignalR / WebSocket / SSE / MCP
- 前端: 单页 HTML + Inter 字体 + Lucide 图标
- 部署: Docker / 裸机
📄 配置