Claude AI 9062ea7fee fix(mcp): 修复启用/禁用按钮文本反转和代码清理 há 9 horas atrás
..
README.md 2001a386b2 feat(mcp): 添加开发环境测试账号快速复制功能 há 16 horas atrás
app.py 7aac2e4d74 feat(auth): 添加用户注册功能和登录 UI 优化 há 1 dia atrás
app_fastapi.py 9062ea7fee fix(mcp): 修复启用/禁用按钮文本反转和代码清理 há 9 horas atrás
config.py 8096d2d754 fix(mcp): 空启用列表时使用配置文件 fallback há 12 horas atrás
conversation_manager.py 8096d2d754 fix(mcp): 空启用列表时使用配置文件 fallback há 12 horas atrás
mcp_client.py 9062ea7fee fix(mcp): 修复启用/禁用按钮文本反转和代码清理 há 9 horas atrás
requirements.txt 6d7a3901dd feat: 将后端从 Flask 迁移到 FastAPI há 1 dia atrás
simple_server.py bda56c8aa6 $(cat <<'EOF' há 3 dias atrás
tool_converter.py 13e55d0638 feat(auth): Implement JWT authentication for Novel Platform MCP há 1 dia atrás
tool_handler.py 8e1d831340 fix(auth): 修复 Admin MCP JWT 认证流程和调试工具 há 1 dia atrás

README.md

FastAPI Backend - Novel Platform MCP

AI MCP Web UI 的 FastAPI 后端服务,提供 SSE 流式输出和 MCP 工具调用支持。

快速启动

开发模式(热重载)

使用热重载模式启动,代码修改后自动重启服务:

# 使用启动脚本(推荐)
cd /mnt/code/223-240-template-6
./scripts/start_dev.sh

# 停止服务
./scripts/stop_dev.sh

手动启动

cd backend
python3 -m uvicorn app_fastapi:app --host 0.0.0.0 --port 8080 --reload

服务端口

服务 端口 说明
FastAPI 后端 8081 内部服务端口
Next.js 前端 8080 外网访问入口
环境 地址
内网后端 http://localhost:8081
内网前端 http://localhost:8080
外网前端 https://d8d-ai-vscode-8080-223-240-template-6-group.dev.d8d.fun/

⚠️ 重要: 前端必须运行在 8080 端口才能被外网访问!后端运行在 8081 端口作为内部服务。

热重载说明

开发模式下启用热重载(--reload),修改代码后服务会自动重启:

  • 修改 app_fastapi.py → 自动重启
  • 修改 config.py → 自动重启
  • 修改 mcp_client.py → 自动重启

无需手动重启服务,开发体验更佳。

API 端点

聊天接口

端点 方法 说明
/api/chat POST 普通聊天
/api/chat/stream POST SSE 流式聊天

认证接口

端点 方法 说明
/api/auth/login POST 用户登录
/api/auth/register POST 用户注册
/api/auth/logout POST 用户登出
/api/auth/status GET 认证状态
/api/auth/admin-login POST 管理员登录

MCP 接口

端点 方法 说明
/api/mcp/servers GET MCP 服务器列表
/api/mcp/tools GET MCP 工具列表
/api/health GET 健康检查

项目结构

backend/
├── app_fastapi.py    # 主应用入口
├── config.py         # 配置文件
├── mcp_client.py     # MCP 客户端
└── requirements.txt  # Python 依赖

环境变量

创建 .env 文件配置环境变量:

# Anthropic API
ANTHROPIC_API_KEY=your_api_key_here

# 服务配置
HOST=0.0.0.0
PORT=8080

日志

  • 开发日志: ~/fastapi-dev.log
  • 查看实时日志: tail -f ~/fastapi-dev.log

故障排除

端口被占用

# 查找占用端口的进程
lsof -i :8080

# 停止进程
kill -9 <PID>

服务无法启动

# 查看日志
cat ~/fastapi-dev.log

# 检查 Python 版本(需要 3.8+)
python3 --version

# 安装依赖
pip install -r requirements.txt