新增: 本地工具代理网关(AI 工具统一走 127.0.0.1:8899 转发 mysql/ssh/mongo/redis)

This commit is contained in:
lxy
2026-08-08 14:19:03 +08:00
parent 75d5a7091a
commit c1f2fe16c8
8 changed files with 823 additions and 10 deletions
+5
View File
@@ -4,6 +4,8 @@ mod commands;
mod state;
// Phase3: 桌面内嵌 HTTP MCP server + 托盘常驻 + 单实例
mod mcp;
// 本地工具代理统一网关:内嵌 axum 监听 127.0.0.1:8899,路由到 mysql/ssh/mongo/redis 4 代理端口
mod local_proxy_gateway;
mod tray;
use tauri::{Emitter, Listener, Manager};
@@ -90,6 +92,9 @@ pub fn run() {
// db 经 app.state::<AppState>() 取 Arc clone(manage 已注入,setup 后续可用)。
let db_for_mcp = app.state::<AppState>().db.clone();
mcp::spawn_mcp_http(app.handle(), db_for_mcp);
// 2.5) 启动本地工具代理统一网关(127.0.0.1:8899 → mysql/ssh/mongo/redis 4 代理端口)。
// 11 个 local_proxy 工具只连网关,端口收敛到网关映射表,失败非阻断(仅日志)。
crate::local_proxy_gateway::spawn_local_proxy_gateway(app.handle());
// 3) 创建托盘(关窗口不退出,托盘「退出」才真正结束进程)。失败非阻断。
if let Err(e) = tray::setup_tray(app.handle()) {
tracing::error!("[tray] 托盘创建失败(非阻断): {}", e);