修复packycode无法测速以及更新滴滴车地址

This commit is contained in:
2025-09-10 23:16:59 +08:00
parent 564d7a29fb
commit 3456f9e06d
9 changed files with 515 additions and 18 deletions

View File

@@ -724,3 +724,75 @@ pub async fn mcp_save_project_config(
Ok("Project MCP configuration saved".to_string())
}
/// Export configuration for MCP server
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MCPExportConfig {
pub name: String,
pub transport: String,
pub command: Option<String>,
pub args: Vec<String>,
pub env: HashMap<String, String>,
pub url: Option<String>,
pub scope: String,
}
/// Export result
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MCPExportResult {
pub servers: Vec<MCPExportConfig>,
pub format: String, // "single" or "multiple"
}
/// Exports all MCP servers configuration
#[tauri::command]
pub async fn mcp_export_servers(app: AppHandle) -> Result<MCPExportResult, String> {
info!("Exporting MCP servers configuration");
// Get all servers
let servers = mcp_list(app.clone()).await?;
if servers.is_empty() {
return Ok(MCPExportResult {
servers: vec![],
format: "multiple".to_string(),
});
}
// Get detailed information for each server
let mut export_configs = Vec::new();
for server in &servers {
match mcp_get(app.clone(), server.name.clone()).await {
Ok(detailed_server) => {
export_configs.push(MCPExportConfig {
name: detailed_server.name,
transport: detailed_server.transport,
command: detailed_server.command,
args: detailed_server.args,
env: detailed_server.env,
url: detailed_server.url,
scope: detailed_server.scope,
});
}
Err(e) => {
error!("Failed to get details for server {}: {}", server.name, e);
// Still include basic information
export_configs.push(MCPExportConfig {
name: server.name.clone(),
transport: server.transport.clone(),
command: server.command.clone(),
args: server.args.clone(),
env: server.env.clone(),
url: server.url.clone(),
scope: server.scope.clone(),
});
}
}
}
Ok(MCPExportResult {
format: if export_configs.len() == 1 { "single" } else { "multiple" }.to_string(),
servers: export_configs,
})
}

View File

@@ -36,7 +36,7 @@ use commands::claude::{
use commands::mcp::{
mcp_add, mcp_add_from_claude_desktop, mcp_add_json, mcp_get, mcp_get_server_status, mcp_list,
mcp_read_project_config, mcp_remove, mcp_reset_project_choices, mcp_save_project_config,
mcp_serve, mcp_test_connection,
mcp_serve, mcp_test_connection, mcp_export_servers,
};
use commands::usage::{
@@ -349,6 +349,7 @@ fn main() {
mcp_get_server_status,
mcp_read_project_config,
mcp_save_project_config,
mcp_export_servers,
// Storage Management
storage_list_tables,