尧图精选

OmniRoute 卸载指南:从 npm、pnpm、Docker 到 Electron 的完整移除方案

🕒 发布时间:2026/9/9 13:24:06 📁 来源:尧图网络
OmniRoute 卸载指南从 npm、pnpm、Docker 到 Electron 的完整移除方案【免费下载链接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 352 providers (150 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550 contributors项目地址: https://gitcode.com/GitHub_Trending/om/OmniRouteOmniRoute 是一个统一 AI 网关运行时会持久化数据库、Provider 配置、API Key、Combo 路由与使用历史。本文面向需要彻底清除或暂时卸载 OmniRoute 的用户完整覆盖内置卸载脚本保留数据与完全移除两种模式、npm/pnpm 全局包、Docker / Docker Compose、Electron 桌面端与源码安装的手动卸载步骤并结合仓库源码说明数据目录的解析逻辑与卸载脚本的真实行为。读完本文你将能按场景选择正确的卸载方式并学会验证系统是否被干净移除。一、卸载前先理解数据存放位置在动手卸载之前先弄清 OmniRoute 把数据放在哪里。数据目录的解析逻辑集中在 src/lib/dataPaths.ts 中核心函数resolveDataDir()的优先级为显式指定的DATA_DIR环境变量最高优先级Windows 上优先检查是否存在遗留的~/.omniroute目录存在则以它为准避免升级时丢数据否则使用%APPDATA%/omniroute/Linux / macOS 上若显式配置了XDG_CONFIG_HOME则使用$XDG_CONFIG_HOME/omniroute/默认回落到~/.omniroute/。各平台默认路径汇总如下平台默认路径覆盖方式Linux~/.omniroute/DATA_DIR环境变量macOS~/.omniroute/DATA_DIR环境变量Windows%APPDATA%/omniroute/DATA_DIR环境变量Docker/app/data/挂载卷DATA_DIR环境变量XDG 兼容环境$XDG_CONFIG_HOME/omniroute/XDG_CONFIG_HOME环境变量补充源码在 src/lib/dataPaths.ts 中还实现了resolveWritableDataDir()当用户配置的DATA_DIR不可写EACCES/EPERM时会自动回退到默认用户目录保证应用不因错误路径而崩溃。数据目录里的文件文件/目录说明storage.sqlite主数据库Provider、Combo、设置、API Keystorage.sqlite-walSQLite 预写日志临时文件storage.sqlite-shmSQLite 共享内存临时文件call_logs/请求负载归档backups/自动数据库备份log.txt旧版请求日志可选关于主数据库的落地位置可在 src/lib/db/core.ts 中看到其定义SQLITE_FILE path.join(DATA_DIR, storage.sqlite)备份目录同样挂在数据目录下的db_backups。这印证了文档中删除~/.omniroute/即等于删除全部业务数据的说法——你的 Provider 连接、Combo、API Key 和使用历史全部封装在这一个目录里。二、快速卸载v3.6.2两条内置脚本自 v3.6.2 起OmniRoute 提供两个内置卸载脚本对应 package.json 中的两个 npm scripts保留数据npm run uninstallnpm run uninstall该命令移除 OmniRoute 应用本体但保留~/.omniroute/中的数据库、配置、API Key 和 Provider 设置。如果你打算之后重装并保留现有配置请使用它。完全移除npm run uninstall:fullnpm run uninstall:full该命令移除应用并永久擦除以下所有数据数据库storage.sqliteProvider 配置与 API Key备份文件日志文件~/.omniroute/目录下的所有文件⚠️警告npm run uninstall:full不可逆。所有 Provider 连接、Combo、API Key 与使用历史都会被永久删除。脚本内部究竟做了什么阅读卸载脚本源码 scripts/build/uninstall.mjs 可以确认它的完整执行顺序停止并移除 PM2 后台进程通过pm2 delete omniroute清理常驻后台进程pm2 未安装或进程不存在时静默跳过清理数据目录--full模式下读取DATA_DIR环境变量或默认的~/.omniroute用fs.rmSync(dataDir, { recursive: true, force: true })递归删除非 full 模式则仅打印保留数据提示不触碰数据目录卸载 npm 全局包执行npm uninstall -g omniroute同时通过OMNIROUTE_SKIP_UNINSTALL_HOOK1与对npm_lifecycle_event的检测防止递归触发卸载钩子若因权限失败脚本会提示可能需要sudo重试。也就是说npm run uninstall等效于删程序 留数据npm run uninstall:full等效于删程序 删数据并且两者都会主动清理 PM2 托管进程这正是它被称为clean removal的原因。三、手动卸载按安装方式分场景如果不走内置脚本可以按最初的安装方式手动卸载。npm 全局安装# 移除全局包 npm uninstall -g omniroute # 可选删除数据目录 rm -rf ~/.omniroutepnpm 全局安装pnpm uninstall -g omniroute rm -rf ~/.omnirouteDocker# 停止并移除容器 docker stop omniroute docker rm omniroute # 移除数据卷删除所有数据 docker volume rm omniroute-data # 可选移除镜像 docker rmi diegosouzapw/omniroute:latest关于 Docker 中的数据目录仓库的 docker-compose.yml 中可以看到DATA_DIR/app/data必须与卷挂载./data:/app/data保持一致的注释说明docker-compose.prod.yml 与 contrib/vps/compose.yaml 则使用命名卷如omniroute-prod-data、omniroute-data挂载到/app/data。因此删除数据卷docker volume rm才是真正清除业务数据的步骤只删容器不会删除数据。Docker Compose# 停止并移除容器 docker compose down # 同时移除卷删除所有数据 docker compose down -v注意docker compose down默认保留命名卷加上-v才会连卷一起删除——这正是文档中特别强调deletes all data的原因。Electron 桌面应用Windows打开设置 → 应用 → OmniRoute → 卸载或从安装目录运行 NSIS 卸载程序macOS将/Applications中的OmniRoute.app拖入废纸篓删除数据rm -rf ~/Library/Application Support/omnirouteLinux删除 AppImage 文件删除数据rm -rf ~/.omniroute提示macOS 桌面的数据目录独立于 CLI 版默认路径且 src/lib/dataPaths.ts 的源码逻辑也印证了 Windows 端默认数据目录是%APPDATA%/omniroute/与文档一致。源码安装git clone# 删除克隆的目录 rm -rf /path/to/omniroute # 可选删除数据目录 rm -rf ~/.omniroute四、验证彻底移除卸载完成后用以下命令确认没有残留# 检查全局 npm 包是否还存在 npm list -g omniroute 2/dev/null # 检查数据目录是否还存在 ls -la ~/.omniroute/ 2/dev/null # 检查是否有残留进程 pgrep -f omniroute如果仍有进程在运行将其停止pkill -f omniroute若你在 Windows 上安装或使用过还应确认%APPDATA%/omniroute/是否被删除若自定义过DATA_DIR则需检查对应自定义目录。参照 docs/guides/UNINSTALL.md 的数据目录表逐项核对即可确认系统已处于干净状态。更进一步如果你需要重装或换机器迁移可参考 docs/guides/SETUP_GUIDE.md 了解安装方式并在卸载前主动备份~/.omniroute/含storage.sqlite与backups/以备后续恢复。五、卸载决策速查场景推荐命令是否保留数据临时卸载、之后要重装npm run uninstall保留彻底清除含数据库/Key/历史npm run uninstall:full永久删除npm 全局手动卸载npm uninstall -g omniroute可选加rm -rf ~/.omniroute默认保留按需删除Docker 手动卸载docker stop/rmdocker volume rm omniroute-data删卷才删数据Docker Compose 手动卸载docker compose down -v永久删除Electron 桌面卸载系统卸载入口 / 拖入废纸篓需手动删数据目录核心结论卸载应用与删除数据是两个独立动作。内置脚本把两者拆成了uninstall与uninstall:full两个命令手动方式下则体现在是否删~/.omniroute/或是否删 Docker 卷上。理解这一点你就能在任何安装方式下安全、可控地完成 OmniRoute 的移除。【免费下载链接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 352 providers (150 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550 contributors项目地址: https://gitcode.com/GitHub_Trending/om/OmniRoute创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →