From 98e2d03f641424f3f953eac2421a4db9124a65ce Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Wed, 20 May 2026 09:43:23 +0800 Subject: [PATCH] feat(agent): support offline driver import via ZIP bundle and local JAR Add two offline import methods for users behind corporate firewalls: - ZIP offline bundle: import all drivers + JRE from a single ZIP file - Single JAR import: import individual driver JARs per database type --- Cargo.lock | 18 ++ .../components/config/DriverStoreDialog.vue | 69 ++++++- apps/desktop/src/lib/api.ts | 2 + apps/desktop/src/lib/http.ts | 8 + apps/desktop/src/lib/tauri.ts | 8 + crates/dbx-core/Cargo.toml | 1 + crates/dbx-core/src/agent_service.rs | 192 +++++++++++++++++- src-tauri/src/commands/agents.rs | 39 +++- src-tauri/src/lib.rs | 2 + 9 files changed, 336 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b34dad3e2..0a5be920db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1757,6 +1757,7 @@ dependencies = [ "tokio", "tokio-util", "uuid", + "zip 2.4.2", ] [[package]] @@ -9745,6 +9746,23 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "zip" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" +dependencies = [ + "arbitrary", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "flate2", + "indexmap 2.14.0", + "memchr", + "thiserror 2.0.18", + "zopfli", +] + [[package]] name = "zip" version = "4.6.1" diff --git a/apps/desktop/src/components/config/DriverStoreDialog.vue b/apps/desktop/src/components/config/DriverStoreDialog.vue index 65d74177de..c305fb0422 100644 --- a/apps/desktop/src/components/config/DriverStoreDialog.vue +++ b/apps/desktop/src/components/config/DriverStoreDialog.vue @@ -1,7 +1,7 @@