feat(mcp): 用 MCP 服务替换内置 AI Agent (#319)

在现有 HTTP 服务挂载 /mcp,让外部 AI 经共享 API Key 调用原分辨率截图、批量键鼠、ATX/WOL 和虚拟介质八个工具。所有调用共用有界 FIFO 和全局限流,复用现有采集管线与硬件控制器。

移除内置模型调用、网页 Agent 面板及旧配置,设置页提供可持续查看的 Key、统一的地址/密钥复制样式。补齐 DEB 的 libudev1 运行依赖。

验证:583 项 Rust 库测试、前端生产构建、ARMv7 设备视觉操作与介质/WOL 实测,以及默认 Release 构建和 DEB 包校验通过。

Refs #319
This commit is contained in:
mofeng-git
2026-10-19 12:12:03 +08:00
parent 3f970ee834
commit 7ea2936436
50 changed files with 2910 additions and 3713 deletions

View File

@@ -206,18 +206,10 @@ pub fn create_router(state: Arc<AppState>) -> Router {
"/config/watchdog",
patch(handlers::config::update_watchdog_config),
)
.route("/config/computer-use", get(handlers::computer_use_config))
.route(
"/config/computer-use",
patch(handlers::computer_use_update_config),
"/config/mcp",
get(handlers::mcp_config).patch(handlers::mcp_update_config),
)
.route("/computer-use/session", get(handlers::computer_use_session))
.route("/computer-use/session", post(handlers::computer_use_start))
.route(
"/computer-use/session/stop",
post(handlers::computer_use_stop),
)
.route("/ws/computer-use", any(handlers::computer_use_ws))
// Auth configuration
.route("/config/auth", get(handlers::config::get_auth_config))
.route("/config/auth", patch(handlers::config::update_auth_config))
@@ -382,6 +374,7 @@ pub fn create_router(state: Arc<AppState>) -> Router {
// Main router
let main_router = Router::new()
.nest("/api", api_routes)
.merge(crate::mcp::router(state.mcp.clone(), state.config.clone()))
.merge(static_routes)
.layer(TraceLayer::new_for_http())
.layer(cors)