# goose-mail-server **Repository Path**: ai-king/goose-mail-server ## Basic Information - **Project Name**: goose-mail-server - **Description**: 鸿雁/GooseMail 服务器版 - 完整的 HTTP API 服务 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 鸿雁/GooseMail 服务器版 v2.0 > **版本**:v2.0.0 > **Slogan**:鸿雁传书,学思无阻 🪿 > **作者**:智慧大脑学院 --- ## 🎯 简介 鸿雁服务器版 v2.0 提供完整的 HTTP API + A2A 协议支持,支持多客户端连接,统一数据存储和管理。 **特性**: - ✅ 完整的 HTTP API 服务(兼容 v1.x) - ✅ A2A 协议支持(新) - ✅ WebSocket 实时推送 - ✅ 支持多客户端连接 - ✅ 统一数据存储和管理 - ✅ 学员无需开放端口 --- ## 🚀 快速部署 ### 1. 安装依赖 ```bash pip3 install --break-system-packages -r requirements.txt ``` ### 2. 启动服务器 **方式 A:手动启动** ```bash python3 server.py ``` **方式 B:自定义端口** ```bash python3 server.py --http-port 8080 --a2a-port 8081 --ws-port 8765 ``` **方式 C:systemd 服务(推荐生产环境)** ```bash sudo cp goose-mail.service /etc/systemd/system/ sudo systemctl enable goose-mail sudo systemctl start goose-mail ``` ### 3. 开放防火墙 ```bash # HTTP API sudo ufw allow 8080/tcp # A2A 协议 sudo ufw allow 8081/tcp # WebSocket sudo ufw allow 8765/tcp ``` ### 4. 验证服务 ```bash # 测试 HTTP API curl http://localhost:8080/api/v1/status # 测试 A2A Agent Card curl http://localhost:8080/.well-known/agent-card.json ``` --- ## 📖 配置说明 ### 端口说明 | 端口 | 用途 | 是否必须开放 | |------|------|-------------| | 8080 | HTTP API | ✅ 是(兼容 v1.x) | | 8081 | A2A 协议 | ✅ 是(新) | | 8765 | WebSocket | ⚠️ 可选(实时推送) | ### 配置文件 `server_config.server.json`: ```json { "mode": "server", "host": "0.0.0.0", "http_port": 8080, "a2a_port": 8081, "ws_port": 8765, "api_key": "goosemail_api_key_2026", "data_dir": "./data", "badges_dir": "./badges" } ``` --- ## 🛠️ API 端点 ### HTTP API(兼容 v1.x) | 端点 | 方法 | 说明 | |------|------|------| | `/api/v1/status` | GET | 服务器状态 | | `/api/v1/students` | GET | 列出学员 | | `/api/v1/stats` | GET | 统计信息 | | `/api/v1/enroll` | POST | 学员入学 | | `/api/v1/messages/send` | POST | 发送消息 | | `/api/v1/messages/receive` | POST | 接收消息 | ### A2A 协议(新) | 端点 | 方法 | 说明 | |------|------|------| | `/.well-known/agent-card.json` | GET | Agent Card 发现 | | `ws://:8081` | WebSocket | A2A 通信 | --- ## 🔌 A2A 协议使用 ### Agent Card 服务器提供标准的 A2A Agent Card: ```json { "name": "智慧大脑学院鸿雁服务器", "description": "鸿雁/GooseMail 服务器 - 支持 A2A 协议", "version": "2.0.0", "capabilities": ["messaging", "task-management"], "endpoints": { "http": "http://39.106.143.190:8080", "a2a": "ws://39.106.143.190:8081" } } ``` ### 客户端连接 ```python import asyncio import websockets import json async def connect(): async with websockets.connect("ws://39.106.143.190:8081") as ws: # 注册 Agent await ws.send(json.dumps({ 'type': 'agent-register', 'agent_id': 'S_20260322_006' })) # 接收 Agent Card response = await ws.recv() print(f"Agent Card: {response}") # 监听消息 async for message in ws: print(f"收到:{message}") asyncio.run(connect()) ``` --- ## 📊 监控和维护 ### 查看日志 ```bash # 查看服务器日志 tail -f server.log # systemd 日志 journalctl -u goose-mail -f ``` ### 备份数据 ```bash # 备份数据库 cp -r ./data /backup/goose-mail-data-$(date +%Y%m%d) ``` --- ## 📝 更新日志 ### v2.0.0 (2026-03-22) - ✨ 新增 A2A 协议支持 - ✅ 保持 HTTP API 兼容 - ✅ 学员无需开放端口 - ✅ 支持 Agent Card 发现 ### v1.0.0 (2026-03-22) - ✨ 初始版本 - ✅ 完整的 HTTP API 服务 --- ## 🔗 相关链接 - **Gitee 仓库**:https://gitee.com/ai-king/goose-mail-server - **客户端版**:https://gitee.com/ai-king/goose-mail-client - **A2A 协议**:https://github.com/ai-boost/awesome-a2a --- **鸿雁传书,学思无阻** 🪿 *智慧大脑学院 · 2026-03-22*