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

发布时间:2026/9/9 13:24:13

OmniRoute 卸载指南:从 npm、pnpm、Docker 到 Electron 的完整移除方案
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),仅供参考

相关新闻

从零构建hermes-agent:开源模型工具调用与本地部署实战

从零构建hermes-agent:开源模型工具调用与本地部署实战

2026/9/9 13:24:12

说起 hermes-agent 这个标题,很多人第一反应是古希腊神话里的神使赫尔墨斯,整天背着翅膀到处传话。但在大模型这个圈子里,Hermes 倒还真有点"传话使者"的味道——它是一套能把指令、工具、上下文在模型和应用之间来回传递的开源模型…

从收藏到掌握:用技能地图和刻意练习把知识变成能力

从收藏到掌握:用技能地图和刻意练习把知识变成能力

2026/9/9 13:14:12

去年整理收藏夹和网盘时,我面对过一个尴尬的事实:攒了三百多个教程、买过十几门课,笔记软件里躺着上千条摘抄。但当别人问起“你擅长什么”的时候,我居然答不上来。收藏的东西很多,真正变成 skills 的却很少。这件事促…

hermes-agent:消息驱动的Agent中间层设计与工程实践

hermes-agent:消息驱动的Agent中间层设计与工程实践

2026/9/9 13:14:12

做Agent项目有一段时间了,团队内部从最早“一人一个脚本”的混乱状态,慢慢收敛到一个统一的框架上——这就是我今天想好好聊聊的 hermes-agent。名字取自希腊神话里的信使神赫尔墨斯,说白了,它就是一个以消息为驱动、把大模型能力…

如何用 PaddleOCR 文档转 Markdown(doc2md)把 Word、Excel、PowerPoint 转成 Markdown

如何用 PaddleOCR 文档转 Markdown(doc2md)把 Word、Excel、PowerPoint 转成 Markdown

2026/9/9 14:04:14

如何用 PaddleOCR 文档转 Markdown(doc2md)把 Word、Excel、PowerPoint 转成 Markdown 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap betwe…

Office密码问题全解析:文档密码、账号密码与激活校验的区别与解决

Office密码问题全解析:文档密码、账号密码与激活校验的区别与解决

2026/9/9 14:04:14

简介:OFFICE文档密码遗忘是办公中常见困境,这份资源即针对这一痛点提供轻量级密码恢复工具,适用于Word、Excel、PowerPoint等常用Office组件,面向日常办公人员、行政文员及临时需要紧急取回文档的普通用户。压缩包仅2.77MB&#x…

Starship Bracketed Segments 预设实战:用方括号统一模块排版并看懂 format 字符串语法

Starship Bracketed Segments 预设实战:用方括号统一模块排版并看懂 format 字符串语法

2026/9/9 14:04:14

Starship Bracketed Segments 预设实战:用方括号统一模块排版并看懂 format 字符串语法 【免费下载链接】starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! 项目地址: https://gitcode.com/GitHub_Tren…

Scrapy分布式爬虫实战:Redis队列与动态iframe处理全解析

Scrapy分布式爬虫实战:Redis队列与动态iframe处理全解析

2026/9/9 14:04:14

做爬虫的朋友应该都有这种感觉:单机 Scrapy 跑得再快,量一上来就卡在 CPU、带宽、反爬封 IP 这些事儿上。于是大家很自然地想到加机器,但加机器不是简单把爬虫复制一遍,关键是怎么让多台机器协同工作。今天这篇就聊聊我用 Scrapy …

STM32F103 CAN Bootloader实战:从协议设计到Flash升级

STM32F103 CAN Bootloader实战:从协议设计到Flash升级

2026/9/9 14:04:14

简介:一套基于ARM微控制器(如STM32)的CAN Bootloader升级协议代码,面向嵌入式系统开发工程师,解决通过CAN总线完成固件在线升级与引导加载的问题。整包共27个文件,压缩包约440KB,包含源码&#…

红米手机短信导出到电脑的5种实用方法,不用再折腾

红米手机短信导出到电脑的5种实用方法,不用再折腾

2026/9/9 13:54:14

手机里躺着几千条短信,换新手机时要迁移,工作上要留痕,甚至有时候需要把某段聊天记录作为凭证存档,这时候就绕不开一个需求:红米手机短信传输至电脑。MIUI和HyperOS这两代系统我都用过,实话实说&#xff0c…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/9 1:14:29

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/8 22:37:26

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

扩散模型图像恢复实战:从DDPM原理到PyQt5可视化系统

扩散模型图像恢复实战:从DDPM原理到PyQt5可视化系统

2026/9/9 0:03:36

简介:面向毕业设计场景的PyQt5扩散模型图像恢复项目,提供完整Python源码与项目说明,适合图像处理、深度学习方向的高年级本科生与研究生参考。项目在模块设计上覆盖图像处理、扩散模型、参数配置、用户界面与结果评估五部分,具体涉…

开关电源环路裕量测试实战:相位裕量与增益裕量详解

开关电源环路裕量测试实战:相位裕量与增益裕量详解

2026/9/9 0:03:36

1. 项目概述:为什么环路裕量测试是电子工程师绕不开的“体检项目”“从零开始的电子工程师生活(6)——环路裕量测试”,这个标题一出来,老电源工程师可能已经下意识摸了摸示波器探头,新同事则大概率在想&…

定时插座芯片怎么选?专用定时IC与单片机MCU选型对比

定时插座芯片怎么选?专用定时IC与单片机MCU选型对比

2026/9/9 0:03:36

拆开市面上不同价位的定时插座,你会发现一个有意思的现象:有的里面躺着一颗黑色的软封装芯片,丝印都看不清;有的则是一块小小的蓝色或绿色PCB,上面赫然印着STM8或者STC的字样。同样叫"定时插座",…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…