文档
安装 Remige、使用 CLI、添加自己的工具,以及更新 Remige 本体。
安装
DMG
下载 Remige-macos.dmg,拖入 Applications,打开即可。通用二进制支持 Apple Silicon 与 Intel,需要 macOS 14+。
一行命令
curl -fsSL https://remige.app/install.sh | sh
安装脚本会下载最新 App 和 CLI、校验 SHA-256、安装到 /Applications(或 ~/Applications)与 /usr/local/bin(或 ~/.local/bin),并移除 quarantine 属性。
Homebrew
brew tap nichenqin/remige https://github.com/nichenqin/remige
brew install --cask remige-app
brew install remige
Homebrew 安装的版本用 brew upgrade 更新;Remige 检测到 CLI 由 Homebrew 管理时会提示,而不会自行覆盖。
xattr -dr com.apple.quarantine /Applications/Remige.app。当前状态与更新链路校验模型见安全页面。CLI
remige # 扫描并列出
remige list --json # 稳定 JSON
remige list --cached # 上次快照,不联网
remige list --source npm # homebrew npm pnpm bun app cli mas custom
remige upgrade --all --yes # 只执行批量策略允许的更新
remige upgrade npm:vercel --to 44.2.7
remige changelog iina --limit 3
remige open sqlite
remige update --check # 检查 Remige 本体
remige update # 原子替换 CLI
remige doctor --json
remige cache path|size|clear
remige config path|init|show|edit
remige upgrade 会先显示完整 argv。没有 --yes 时在 TTY 上询问一次,在脚本中拒绝执行。只提供下载页的应用不会被静默安装。
来源
| 来源 | 检测 | 升级 |
|---|---|---|
| Homebrew | brew outdated --json=v2 --greedy |
brew upgrade |
| npm 全局 | npm outdated -g --json |
npm install -g pkg@<target> |
| pnpm 全局 | pnpm list -g + registry |
pnpm add -g pkg@<target> |
| Bun 全局 | ~/.bun/install/global + registry |
bun add -g pkg@<target> |
| Sparkle 应用 | SUFeedURL appcast |
打开完整下载页;cask 管理的应用由 Homebrew 负责 |
| 其他应用 | Electron Builder app-update.yml(GitHub 或 HTTPS manifest)或 bundle id 目录/配置 |
打开发布页或下载页 |
| Mac App Store | mas outdated |
mas upgrade |
| 独立工具 | 目录 + 版本命令 + latest tag | 自更新,或发布页 |
版本策略
每一行同时显示 latestVersion(来源声明的最新版本)和 targetVersion(实际会安装的版本)。默认 prompt 策略会显示大版本更新,但不会把它放进「全部更新」或 remige upgrade --all;allow 会包含,hold 则优先停留在已安装的大版本内。hold 只适用于 npm、pnpm 和 Bun,因为它们支持安装精确版本;其他来源会退化为 prompt。详情面板可以为这三类包持久固定目标版本,remige upgrade npm:pkg --to 5.4.5 则只影响当次运行。
自定义工具
编辑 ~/.config/remige/config.json,支持只写需要的字段:
{
"disabledSources": ["mas"],
"customTools": [
{
"name": "mytool",
"path": "/usr/local/bin/mytool",
"versionArgs": ["--version"],
"versionRegex": "mytool (\\d+\\.\\d+\\.\\d+)",
"github": "acme/mytool",
"upgradeArgs": ["mytool", "self-update"]
}
]
}
upgradeArgs 的第一个元素会被检测到的可执行文件路径替换,其余原样传入。不写则打开发布页。
updatePolicy.major 可选 prompt(默认)、allow 或 hold。versionTargets 按 item id 为 npm、pnpm、Bun 固定精确版本:
{
"updatePolicy": {"major": "hold"},
"versionTargets": {"npm:typescript": "5.4.5"}
}
更新 Remige 本体
Remige 检查静态 feed:https://remige.app/latest.json。有新版本时应用顶部会出现更新条;Remige → 检查更新… 打开更新面板。下载的 ZIP 会按 feed 中的 SHA-256 校验,然后由一个很小的 helper 等待 Remige 退出、带回滚地替换 App 包并重启。
CLI 使用同一个 feed:
remige update --check
remige update
Homebrew 用户应使用 brew upgrade remige 和 brew upgrade --cask remige-app。如果 App 运行在不可写目录(例如 quarantine translocation 路径),Remige 会拒绝替换。
安全与限制
- 无账号、无统计、无常驻进程、不注入 sudo。
- 升级计划是 argv 数组,包名不会被拼进 shell 字符串。
- 更新下载必须 HTTPS,并用 feed 中的 SHA-256 校验。
- 忽略 Sparkle delta 包,使用完整下载。
- 扫描时设置
HOMEBREW_NO_AUTO_UPDATE=1;想立刻拿最新 formula 元数据需自行brew update。 - 应用更新来自 Sparkle feed、Electron Builder
app-update.yml(GitHub 或 HTTPS manifest)或显式的 bundle id 目录/配置项;绝不按显示名称猜测。Magpie 使用com.yetone.magpie与yetone/magpie-releases。没有可用更新源的应用会以“未检查”出现在应用来源详情中。
从源码构建
git clone https://github.com/nichenqin/remige.git
cd remige
swift test
make app
make install
需要 Swift 6 与 macOS 14+。App 和 CLI 共用 RemigeCore,无常驻进程,无第三方运行时依赖。