diff --git a/apps/desktop/src/lib/cmds/ext.ts b/apps/desktop/src/lib/cmds/ext.ts
index ff2c17c..21db8d6 100644
--- a/apps/desktop/src/lib/cmds/ext.ts
+++ b/apps/desktop/src/lib/cmds/ext.ts
@@ -7,10 +7,11 @@ import { decideKkrpcSerialization } from "@/utils/kkrpc"
import { sleep } from "@/utils/time"
import { trimSlash } from "@/utils/url"
import { constructExtensionSupportDir } from "@kksh/api"
-import { db, spawnExtensionFileServer } from "@kksh/api/commands"
+import { spawnExtensionFileServer } from "@kksh/api/commands"
import type { HeadlessCommand } from "@kksh/api/headless"
import { CustomUiCmd, ExtPackageJsonExtra, HeadlessCmd, TemplateUiCmd } from "@kksh/api/models"
import { constructJarvisServerAPIWithPermissions, type IApp } from "@kksh/api/ui"
+import { db } from "@kksh/drizzle"
import { launchNewExtWindow, loadExtensionManifestFromDisk } from "@kksh/extension"
import type { IKunkunFullServerAPI } from "@kunkunapi/src/api/server"
import { convertFileSrc } from "@tauri-apps/api/core"
diff --git a/apps/desktop/src/lib/stores/extensions.ts b/apps/desktop/src/lib/stores/extensions.ts
index 96b1c5f..2180154 100644
--- a/apps/desktop/src/lib/stores/extensions.ts
+++ b/apps/desktop/src/lib/stores/extensions.ts
@@ -1,5 +1,5 @@
-import { db } from "@kksh/api/commands"
import type { CustomUiCmd, ExtPackageJsonExtra, HeadlessCmd, TemplateUiCmd } from "@kksh/api/models"
+import { db } from "@kksh/drizzle"
import * as extAPI from "@kksh/extension"
import * as path from "@tauri-apps/api/path"
import Fuse from "fuse.js"
diff --git a/apps/desktop/src/routes/+error.svelte b/apps/desktop/src/routes/+error.svelte
index a4ae1af..176af5b 100644
--- a/apps/desktop/src/routes/+error.svelte
+++ b/apps/desktop/src/routes/+error.svelte
@@ -12,6 +12,7 @@
+
import { cn } from "@/utils"
- import { db } from "@kksh/api/commands"
import type { ExtData } from "@kksh/api/models"
+ import { db } from "@kksh/drizzle"
import { Resizable, Separator } from "@kksh/svelte5"
import { convertFileSrc } from "@tauri-apps/api/core"
import DOMPurify from "dompurify"
diff --git a/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte b/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte
index 8674f6d..fdbf957 100644
--- a/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte
+++ b/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte
@@ -10,7 +10,6 @@
import { positionToCssStyleString, positionToTailwindClasses } from "@/utils/style"
import { sleep } from "@/utils/time"
import { isInMainWindow } from "@/utils/window"
- import { db } from "@kksh/api/commands"
import { CustomPosition, ThemeColor, type Position } from "@kksh/api/models"
import {
constructJarvisServerAPIWithPermissions,
@@ -19,6 +18,7 @@
type IUiCustom
} from "@kksh/api/ui"
import { toast, type IUiCustomServer1, type IUiCustomServer2 } from "@kksh/api/ui/custom"
+ import { db } from "@kksh/drizzle"
import { Button } from "@kksh/svelte5"
import { cn } from "@kksh/ui/utils"
import type { IKunkunFullServerAPI } from "@kunkunapi/src/api/server"
diff --git a/apps/desktop/src/routes/app/extension/ui-iframe/+page.ts b/apps/desktop/src/routes/app/extension/ui-iframe/+page.ts
index 5f13d44..25da688 100644
--- a/apps/desktop/src/routes/app/extension/ui-iframe/+page.ts
+++ b/apps/desktop/src/routes/app/extension/ui-iframe/+page.ts
@@ -1,8 +1,7 @@
import { KunkunIframeExtParams } from "@/cmds/ext"
import { i18n } from "@/i18n"
-import { appState } from "@/stores/appState"
-import { db, unregisterExtensionWindow } from "@kksh/api/commands"
import type { Ext as ExtInfoInDB, ExtPackageJsonExtra } from "@kksh/api/models"
+import { db } from "@kksh/drizzle"
import { loadExtensionManifestFromDisk } from "@kksh/extension"
import { error as svError } from "@sveltejs/kit"
import { join } from "@tauri-apps/api/path"
diff --git a/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte b/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte
index 3afe712..68637ec 100644
--- a/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte
+++ b/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte
@@ -13,7 +13,6 @@
} from "@/utils/tauri-events.js"
import { sleep } from "@/utils/time.js"
import { isInMainWindow } from "@/utils/window.js"
- import { db } from "@kksh/api/commands"
import {
constructJarvisServerAPIWithPermissions,
type IApp,
@@ -29,6 +28,7 @@
type IComponent,
type TemplateUiCommand
} from "@kksh/api/ui/template"
+ import { db } from "@kksh/drizzle"
import { Button, Form } from "@kksh/svelte5"
import { LoadingBar } from "@kksh/ui"
import { Templates } from "@kksh/ui/extension"
diff --git a/apps/desktop/src/routes/app/extension/ui-worker/+page.ts b/apps/desktop/src/routes/app/extension/ui-worker/+page.ts
index 7bfa7ea..98dbfb8 100644
--- a/apps/desktop/src/routes/app/extension/ui-worker/+page.ts
+++ b/apps/desktop/src/routes/app/extension/ui-worker/+page.ts
@@ -1,7 +1,7 @@
import { KunkunTemplateExtParams } from "@/cmds/ext"
import { i18n } from "@/i18n"
-import { db, unregisterExtensionWindow } from "@kksh/api/commands"
-import type { Ext as ExtInfoInDB, ExtPackageJsonExtra } from "@kksh/api/models"
+import type { ExtPackageJsonExtra } from "@kksh/api/models"
+import { db } from "@kksh/drizzle"
import { loadExtensionManifestFromDisk } from "@kksh/extension"
import { error as sbError, error as svError } from "@sveltejs/kit"
import { join } from "@tauri-apps/api/path"
diff --git a/apps/desktop/src/routes/app/troubleshooters/extension-loading/+page.svelte b/apps/desktop/src/routes/app/troubleshooters/extension-loading/+page.svelte
index 83020ba..e7c4417 100644
--- a/apps/desktop/src/routes/app/troubleshooters/extension-loading/+page.svelte
+++ b/apps/desktop/src/routes/app/troubleshooters/extension-loading/+page.svelte
@@ -1,6 +1,6 @@