尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

OmniRoute 卸载完全指南:快速卸载、手动清理与数据目录深度解析

发布时间:2026/9/11 2:07:40

资讯中心
01
ARTICLE

OmniRoute 卸载完全指南:快速卸载、手动清理与数据目录深度解析

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 官方 卸载文档另见 简体中文版为核心系统讲解从 v3.6.2 起内置的两种快速卸载脚本、六种安装方式npm/pnpm 全局、Docker、Docker Compose、Electron 桌面端、源码对应的手动卸载流程、数据目录的构成与迁移以及卸载后的残留验证方法。读完本文你将能够根据自己的安装方式选择保留数据或彻底清除的卸载路径并借助仓库源码理解卸载器每一步的实际行为避免留下残留文件或误删重要配置。一、卸载前必读理解数据与配置的存放方式OmniRoute 是一款基于 SQLite 存储的 AI 网关它的所有关键状态——提供商配置、API 密钥、组合combos、使用历史——都集中存放在本地数据目录中而不是散落在系统各处。因此在动手卸载之前请先明确两件事你使用的是哪种安装方式npm 全局、pnpm 全局、Docker、Docker Compose、Electron 桌面端还是 git clone 源码你是否需要保留配置以便日后重装。如果你打算日后重装并继续使用现有配置请选择保留数据路径如果确认不再需要任何数据再选择彻底清除路径。无论是哪种路径卸载完成前都建议先备份数据目录见下文数据目录一节因为完全卸载是不可逆的。二、快速卸载v3.6.2两条内置脚本从 v3.6.2 版本开始OmniRoute 在 package.json 中内置了两个卸载脚本见package.json#L272-L273uninstall: node scripts/build/uninstall.mjs, uninstall:full: node scripts/build/uninstall.mjs --full两条脚本共用一个卸载器实现唯一区别是是否追加--full参数。2.1 保留数据卸载npm run uninstallnpm run uninstall该命令会移除 OmniRoute 应用本体但完整保留数据目录中的数据库、配置、API 密钥与提供商设置。如果你只是暂时不用、日后可能重装请使用这一条。2.2 彻底清除卸载npm run uninstall:fullnpm run uninstall:full该命令在移除应用的同时永久擦除以下全部数据主数据库storage.sqlite提供商配置与 API 密钥自动备份文件backups/日志文件~/.omniroute/或DATA_DIR指定的目录下的所有文件⚠️警告npm run uninstall:full不可逆。执行后你所有的提供商连接、组合配置、API 密钥与使用历史都会被永久删除无法恢复。2.3 卸载器底层行为解析源码级两条脚本背后是同一个实现 scripts/build/uninstall.mjs。从源码可以看出卸载器按以下三步依次执行停止并移除 PM2 后台进程execSync(pm2 delete omniroute 2/dev/null, { stdio: ignore });如果用户此前通过pm2 start将 OmniRoute 注册为常驻进程卸载器会先将其从 PM2 中移除若 PM2 未安装或进程不存在静默跳过源码注释明确说明这是预期行为。清理数据目录仅--full模式const dataDir process.env.DATA_DIR || path.join(os.homedir(), .omniroute); if (fullUninstall) { fs.rmSync(dataDir, { recursive: true, force: true }); }注意两点其一数据目录路径遵循DATA_DIR环境变量未设置时默认~/.omniroute/其二非--full模式只打印Keeping data files ... intact.数据目录被原样保留。执行全局包卸载execSync(npm uninstall -g omniroute, { env: { ...process.env, OMNIROUTE_SKIP_UNINSTALL_HOOK: 1 }, });这里设置了OMNIROUTE_SKIP_UNINSTALL_HOOK1环境变量防止卸载过程中再次触发卸载钩子造成递归。若卸载失败脚本会提示可能需要sudo权限重试全局安装到系统目录时常见。从源码还可以看到卸载器通过process.env.npm_lifecycle_event uninstall检测是否正处于 npm 卸载生命周期内避免嵌套调用。这与 package.json 中的postinstall钩子node scripts/build/postinstall.mjs配合保证了安装/卸载双向钩子的行为一致性。三、手动卸载按安装方式逐一清理3.1 npm 全局安装# 移除全局包 npm uninstall -g omniroute # 可选删除数据目录 rm -rf ~/.omniroute若你的数据目录通过DATA_DIR环境变量改过位置请删除该变量指向的目录而非~/.omniroute。3.2 pnpm 全局安装pnpm uninstall -g omniroute rm -rf ~/.omniroute3.3 Docker如果使用 Docker 直接运行容器# 停止并删除容器 docker stop omniroute docker rm omniroute # 删除数据卷会删除全部数据 docker volume rm omniroute-data # 可选删除镜像 docker rmi diegosouzapw/omniroute:latest说明数据卷名称omniroute-data对应官方镜像默认的数据持久化方式在 contrib/vps/compose.yaml 中也可以看到同样的omniroute-data命名卷被挂载到/app/data。删除数据卷是彻底清除数据的关键一步——只删容器不删卷数据仍会保留在磁盘上。3.4 Docker Compose# 停止并移除容器 docker compose down # 同时移除卷删除全部数据 docker compose down -v在项目仓库的 docker-compose.yml 中应用服务的卷挂载为./data:/app/data并显式设置DATA_DIR/app/data与之对应。因此使用docker compose down -v会连同本地的./data绑定挂载卷一并清除而单独的docker compose down只移除容器、保留数据。若你还使用了 Redisredis-data、Qdrantqdrant-data等辅助服务卷彻底清理时可一并删除例如docker volume rm omniroute-redis-data。3.5 Electron 桌面应用Windows打开设置 → 应用 → OmniRoute → 卸载或从安装目录运行 NSIS 卸载程序macOS将/Applications中的OmniRoute.app拖入废纸篓删除数据rm -rf ~/Library/Application Support/omnirouteLinux删除 AppImage 文件删除数据rm -rf ~/.omnirouteElectron 版本的主进程入口位于 electron/main.js桌面端与 CLI 共用同一套数据模型因此桌面端卸载时同样需要注意 macOS 与 Linux 数据路径的差异。3.6 源码安装git clone# 删除克隆的目录 rm -rf /path/to/omniroute # 可选删除数据目录 rm -rf ~/.omniroute四、数据目录解析卸载前应知道的东西都在哪里4.1 各平台默认路径与覆盖方式平台默认路径覆盖方式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环境变量源码层面的证据可以佐证这一设计卸载器 scripts/build/uninstall.mjs 中const dataDir process.env.DATA_DIR || path.join(os.homedir(), .omniroute)说明数据目录解析遵循DATA_DIR优先、默认~/.omniroute的规则目录类功能同样复用该约定例如 src/lib/catalog/openrouterCatalog.ts 中const dataDir process.env.DATA_DIR || path.join(process.cwd(), data)在开发模式下数据会落在项目内的data/docker-compose.yml 中服务以DATA_DIR/app/data运行并将该路径绑定挂载到宿主机./data。4.2 数据目录中的文件与目录文件/目录说明storage.sqlite主数据库提供商、组合、设置、密钥storage.sqlite-walSQLite 预写日志临时文件storage.sqlite-shmSQLite 共享内存临时文件call_logs/请求负载归档backups/自动数据库备份log.txt旧版请求日志可选其中storage.sqlite-wal与storage.sqlite-shm是 SQLite WAL 模式运行时产生的临时文件正常情况下无需手工处理若在 OmniRoute 运行期间直接删除数据库文件可能导致数据不一致。此外backups/存放的自动备份是卸载前的最后一道保险——如果你在彻底清除前突然想保留部分数据应先从这里复制一份再执行uninstall:full。4.3 卸载前的备份建议在运行任何卸载命令之前推荐先完整复制数据目录# 保留一份完整配置与数据库副本 cp -r ~/.omniroute ~/omniroute-backup-$(date %Y%m%d)这样即便之后选择了uninstall:full仍然可以从备份恢复不影响重装。五、验证完整卸载确保没有残留卸载完成后按以下顺序确认系统已无残留# 检查 npm 全局包是否还存在 npm list -g omniroute 2/dev/null # 检查数据目录是否还存在 ls -la ~/.omniroute/ 2/dev/null # 检查是否有残留的运行进程 pgrep -f omniroute如果仍有进程在运行先停止它们pkill -f omniroute若你的数据目录不在默认位置请将第二条验证命令中的~/.omniroute替换为实际路径Windows 下为%APPDATA%\omniroute使用 PowerShell 时可执行Get-ChildItem $env:APPDATA\omniroute。结合卸载器源码还可以额外确认 PM2 进程已被移除pm2 list中不应再出现omniroute条目以及环境变量OMNIROUTE_SKIP_UNINSTALL_HOOK无需手工清理它只在卸载命令执行环境中生效。六、常见问题与注意事项Q1npm run uninstall报权限错误怎么办卸载器输出会提示使用sudo重试。全局包安装在系统目录如/usr/lib/node_modules时卸载需要管理员权限可执行sudo npm run uninstall:full注意确认数据目录路径sudo环境下$HOME可能指向 root 家目录。Q2只想停用、不想卸载怎么做如果你只是暂时不用建议只停止进程pm2 delete omniroute或退出桌面应用并保留~/.omniroute数据目录无需执行任何卸载命令。Q3Docker 方式下数据到底存在哪里仓库的 docker-compose.yml 将/app/data即DATA_DIR绑定挂载到宿主机./data单容器运行则通常使用omniroute-data命名卷。删除数据时需要同时处理绑定挂载目录或命名卷缺一不可。Q4卸载之后还能恢复吗只有保留数据路径npm run uninstall下配置仍存在于数据目录重装后即可继续使用uninstall:full会删除数据目录若无外部备份则不可恢复——这正是本文反复强调备份的原因。参考与延伸阅读卸载指南原文docs/guides/UNINSTALL.md含全语言版本导航卸载器源码实现scripts/build/uninstall.mjs卸载脚本声明与 postinstall 钩子package.jsonDocker 部署的数据卷与DATA_DIR配置docker-compose.yml、contrib/vps/compose.yaml数据目录解析约定src/lib/catalog/openrouterCatalog.ts安装与部署相关docs/guides/SETUP_GUIDE.md、docs/guides/DOCKER_GUIDE.md【免费下载链接】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),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。