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

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

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),仅供参考
延伸阅读

更多相关文章

2026/9/9 13:24:15

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

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

2026/9/9 13:19:15

终端AI代理opencode实战指南:开源模型无关,从安装到高效落地

最近AI编程助手这个圈子越来越热闹了。以前大家说的都是Copilot、Cursor这种IDE里的自动补全,现在风向明显变了:终端里的AI代理(agent)成了新宠,能直接接管整个项目,自己读代码、改文件、跑命令。而最近热度…

2026/9/9 15:14:38

python-docx实现Word关键词批量高亮标注的完整指南

简介:这是一份面向 Python 初学者的 docx 文档关键词标注工具,解决在 Word 文档中批量查找并标注指定关键词的问题。资源提供完整 Python 脚本,并在主函数内置两个示例:既可直接标注 document.docx 中的 Hello、World 等单词&…

2026/9/9 15:14:38

Spring Boot整合MinIO:从安装部署到文件上传下载实战

从“本地磁盘不够用了”到“想搭个私有云盘”,再到“项目里要接一个文件服务”,MinIO 都是我第一个想到的东西。作为一款兼容 Amazon S3 协议的对象存储,它部署简单、社区活跃,而且用起来还算顺手。前阵子我用 Spring Boot 整合了…

2026/9/9 15:09:37

2026专科生降AI率平台推荐,实测三款不踩坑

专科毕业论文的AI检测要求逐年收紧,不少院校已把“AI率低于30%”列为送审硬性门槛。查重过了但AI率超标、学校只给一次修改机会——这类情况在专科生里越来越常见。降AI率这件事,选对工具能省下大半时间。aibiye、aicheck、passbug三款平台各有侧重&…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/8 7:15:10

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/9 0:00:48

MHS模型硬件标准:让大模型像调用软件一样控制物理设备

让Claude真正看着显微镜说“这个细胞形态不太对”,或者让大模型自己调一版机械臂的运动轨迹,这事儿听上去已经很接近科幻片了。但你真上手试一次就会发现,模型不缺智商,缺的是一个能插进显微镜、机械臂、激光控制器里的“通用插座…

2026/9/9 0:00:48

AI五大核心方向详解:从机器学习到大模型,零基础转行选哪条?

会有人告诉我,他想转行学AI,但打开招聘网站一看直接傻眼:机器学习、深度学习、自然语言处理、计算机视觉、大模型应用……满屏都是这些词,好像每个都会一点,又好像每个都离自己很远。还有人上来就问“学Python还是学Ja…

2026/9/9 0:00:49

从50行最小循环到生产级AI引擎:工程化改造全解析

直接说干货。这一章我写的不是那种"hello world跑通某个模型"的教程,而是把AI引擎当做一个真正要上线、要被人调用、要扛流量的系统来聊。从最初只有50行的最小循环,到能够承载生产流量的AI引擎,中间差的不是代码量,而是…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码