新闻详情

新闻详情

首页 / 资讯中心 / 详情

OmniRoute 完整卸载指南:保留数据与彻底清除的实操方案

发布时间:2026/9/9 14:20:31来源:尧图网络
OmniRoute 完整卸载指南:保留数据与彻底清除的实操方案
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本文是一份面向 OmniRoute 用户的完整卸载与数据清理指南覆盖内置卸载脚本、NPM/pnpm 全局安装、Docker 与 Docker Compose、Electron 桌面应用以及源码安装等全部部署形态的移除方法。读完本文你将掌握npm run uninstall与npm run uninstall:full两种内置卸载方式的本质区别、OmniRoute 在各平台的数据目录与文件清单、卸载后残留验证与进程清理技巧并能根据是否保留配置决定最安全的卸载路径。一、卸载前的决策保留数据还是彻底清除OmniRoute 的卸载方案围绕一个核心问题展开是否需要保留~/.omniroute/中的数据。该目录存放着主数据库、提供商配置、API Key、Combo 组合、调用日志与备份文件是判断轻量卸载与彻底清除的分水岭。卸载目标推荐命令数据去向暂时卸载、日后重装并恢复原配置npm run uninstall完整保留在~/.omniroute/彻底移除应用与全部数据不可逆npm run uninstall:full永久删除如果你只是排障或升级失败需要重装选择前者如果确定不再使用、或需要移交机器时清除敏感凭据务必选择后者。二、快速卸载v3.6.2 内置脚本自 v3.6.2 起OmniRoute 在 package.json 中内置了两个卸载脚本二者都由同一份实现驱动见下节源码分析# 保留数据仅移除应用 npm run uninstall该命令会移除 OmniRoute 应用本体但保留数据库、配置、API Key 与提供商设置在~/.omniroute/中——适合计划稍后重装并希望保留现有设置的用户。# 完整移除永久擦除所有数据 npm run uninstall:full该命令在移除应用的同时会永久擦除以下全部内容主数据库storage.sqlite提供商配置与 API Key备份文件日志文件~/.omniroute/目录下的所有文件⚠️警告npm run uninstall:full不可逆。所有提供商连接、Combo 组合、API Key 与用量历史将被永久删除请在执行前确认已无保留价值。2.1 内置卸载脚本的源码原理两条命令最终都调用 scripts/build/uninstall.mjs通过--full参数区分模式uninstall:full: node scripts/build/uninstall.mjs --full。从源码看脚本的执行流程分三步停止后台进程优先执行pm2 delete omniroute清理可能以 PM2 常驻的后台守护进程即使 PM2 未安装或进程不存在也会静默跳过execSync的异常被捕获忽略。数据目录处理数据目录通过process.env.DATA_DIR || path.join(os.homedir(), .omniroute)解析。仅在--full模式下用fs.rmSync(dataDir, { recursive: true, force: true })递归删除整个数据目录非 full 模式则打印保留数据提示后跳过删除。全局包移除以OMNIROUTE_SKIP_UNINSTALL_HOOK1环境变量调用npm uninstall -g omniroute防止卸载钩子递归触发。失败时会提示可能需要sudo权限重试。值得注意的细节是脚本开头的防重入保护当环境变量OMNIROUTE_SKIP_UNINSTALL_HOOK1或npm_lifecycle_event uninstall时会跳过嵌套的npm uninstall命令避免卸载过程自循环。三、手动卸载各部署形态当内置脚本不可用如版本低于 v3.6.2、或安装方式特殊时可按部署形态手动卸载。3.1 NPM 全局安装# 移除全局包 npm uninstall -g omniroute # 可选删除数据目录 rm -rf ~/.omniroute3.2 pnpm 全局安装pnpm uninstall -g omniroute rm -rf ~/.omniroute3.3 Docker# 停止并删除容器 docker stop omniroute docker rm omniroute # 删除数据卷会删除全部数据 docker volume rm omniroute-data # 可选删除镜像 docker rmi diegosouzapw/omniroute:latest3.4 Docker Compose# 停止并删除容器 docker compose down # 同时删除数据卷会删除全部数据 docker compose down -v关于 Docker 数据路径仓库 docker-compose.yml 中同时存在两种卷挂载形态一种是./data:/app/data的本机目录挂载另一种是命名卷挂载。无论哪种方式容器内都通过DATA_DIR/app/data环境变量指向数据目录因此删除卷是清除 Docker 部署数据的唯一可靠途径。3.5 Electron 桌面应用Windows打开设置 → 应用 → OmniRoute → 卸载或从安装目录运行 NSIS 卸载程序macOS将OmniRoute.app从/Applications拖入废纸篓删除数据rm -rf ~/Library/Application Support/omnirouteLinux删除 AppImage 文件删除数据rm -rf ~/.omniroute3.6 源码安装git clone# 删除克隆的目录 rm -rf /path/to/omniroute # 可选删除数据目录 rm -rf ~/.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环境变量4.1 数据目录解析的源码实现数据目录的解析逻辑集中在 src/lib/dataPaths.ts卸载时删除哪个目录、运行时应防误删都源于这段实现解析优先级resolveDataDir()首先检查DATA_DIR环境变量未设置时回退到getDefaultDataDir()Windows 特判在 Windows 上优先返回%APPDATA%/omniroute即AppData\Roaming若旧路径~/.omniroute已存在则保留旧路径以避免升级导致数据丢失XDG 支持Linux/macOS 下当显式配置XDG_CONFIG_HOME时数据目录变为$XDG_CONFIG_HOME/omniroute可写性兜底resolveWritableDataDir()会在配置的DATA_DIR不可写EACCES/EPERM时回退到默认用户目录保证应用不因错误路径崩溃——这也意味着手工删除数据目录后重新安装应用会自动重建。主数据库路径则在 src/lib/db/core.ts 中由DATA_DIR派生path.join(DATA_DIR, storage.sqlite)同目录还包含db.json与db_backups目录。备份逻辑位于 src/lib/db/backup.ts其备份目录解析为DB_BACKUPS_DIR || path.join(DATA_DIR, db_backups)写入前会mkdirSync(..., { recursive: true })自动创建。4.2 数据目录中的文件文件/目录说明storage.sqlite主数据库提供商、Combo、设置、Keystorage.sqlite-walSQLite 预写日志临时文件storage.sqlite-shmSQLite 共享内存临时文件call_logs/请求负载存档backups/自动数据库备份log.txt旧版请求日志可选源码中call_logs同时以 SQLite 表见 src/lib/db/cleanup/usagePurge.ts 的DELETE FROM call_logs清理逻辑与请求负载存档目录两种形态存在卸载时都应一并清除。五、卸载后验证与残留清理完成卸载后建议按以下步骤确认系统已清理干净# 检查全局 npm 包是否仍存在 npm list -g omniroute 2/dev/null # 检查数据目录 ls -la ~/.omniroute/ 2/dev/null # 检查是否有残留进程 pgrep -f omniroute如果仍有进程在运行强制停止pkill -f omniroute六、卸载前的重要提示备份优先如果只是临时卸载但尚未决定是否彻底清除建议先执行npm run uninstall保留数据模式必要时手动将~/.omniroute/整体拷贝到外部介质再决定是否执行uninstall:full凭据敏感storage.sqlite中保存着 API Key 等明文凭据转让或丢弃机器前应执行完整卸载并额外检查%APPDATA%/omniroute/Windows与~/Library/Application Support/omniroutemacOS等所有数据落盘位置日志与缓存若追求彻底清理还应检查call_logs/请求存档与backups/自动备份是否已随数据目录一并移除从源码看backups/db_backups会在每次写入前自动创建目录因此删除后不会残留空壳目录。【免费下载链接】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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

二叉树遍历与旋转操作实战:从递归到AVL树的自平衡机制 2026/9/9 15:02:41

二叉树遍历与旋转操作实战:从递归到AVL树的自平衡机制

最近在帮团队做代码评审的时候,发现一个很有意思的现象:很多写了好几年业务的同学,一碰到二叉树相关的需求就有点发怵。其实也不怪他们,日常开发里链表都未必天天写,更别说二叉树了。但无论是面试也好,还是…

阅读更多 →
Python自动化测试实战:从接口到框架的完整学习路线 2026/9/9 15:02:41

Python自动化测试实战:从接口到框架的完整学习路线

做测试这行,不会点自动化,很多工作真的没法推进。我见过太多人一上来就抓着Selenium猛学,结果项目里全是跑不动的脚本;也见过有人动不动就说要自研平台,最后连个接口用例都没维护明白。Python自动化测试这个方向&#…

阅读更多 →
开源终端AI编程助手opencode实战:模型路由、LSP集成与排错指南 2026/9/9 15:02:41

开源终端AI编程助手opencode实战:模型路由、LSP集成与排错指南

最近一段时间,终端里的 AI 编程工具几乎是一周冒出一个新面孔。前有 Claude Code 带火了“让 Agent 直接在终端里改代码”的交互方式,后有 Codex、Cursor 这类产品在拼命抢 IDE 用户。而今天要聊的 opencode,算是这个赛道里一个比较特别的存在…

阅读更多 →
终端AI编程助手opencode实战:从安装配置到老项目改造指南 2026/9/9 15:02:41

终端AI编程助手opencode实战:从安装配置到老项目改造指南

把 AI 编程助手从网页拖回终端,这个想法最早让我动心的是 opencode。它是个开源项目,不需要装全家桶、也不用换编辑器,一条命令装好,就能在终端里指挥 AI 读代码、改 Bug、跑测试,甚至开个无头浏览器帮你验证前端问题。…

阅读更多 →
Kubernetes安全扫描实操:镜像漏洞、配置漂移与准入控制全解析 2026/9/9 15:02:41

Kubernetes安全扫描实操:镜像漏洞、配置漂移与准入控制全解析

1. 安全扫描前先弄明白:Kubernetes集群到底有哪些安全风险 先说我自己的经历。干了这么多年运维,Kubernetes这块踩过的坑不少,但真正让我下定决心把安全扫描当成“必做项”的,是有一次线上集群被安全通告点名,说某个存…

阅读更多 →
论文AI率过高怎么办?从检测原理到降AI率的四步实战指南 2026/9/9 14:59:41

论文AI率过高怎么办?从检测原理到降AI率的四步实战指南

最近后台好多同学问我:“师兄,我的论文明明是自己一个字一个字写出来的,只是在润色的时候用了一下AI,结果查出来AI率80%,怎么办?”这话我最近听了不下二十遍。很多同学把AI当成辅助工具用,结果交…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞