在 macOS 上安装
一个脚本完成整个安装:它会准备 Homebrew、.NET 和 Python,把代理复制到你的主目录,并注册为登录
时启动。它以你的普通用户身份运行——不需要 sudo。
Apple Silicon 还是 Intel?
每种芯片家族对应一个压缩包,选错的那个会得到一个根本无法运行的二进制文件:
filemote-<版本>-osx-arm64.tar.gz—— Apple Silicon(M1 及更新机型)filemote-<版本>-osx-x64.tar.gz—— Intel
如果不确定,打开 → 关于本机。显示「芯片:Apple M…」是 Apple Silicon;显示 「处理器:Intel」则是 Intel。
安装步骤
tar xzf filemote-<版本>-osx-arm64.tar.gz
cd filemote-<版本>-osx-arm64
xattr -dr com.apple.quarantine .
chmod +x install-macos.sh
./install-macos.sh
xattr 这一行会清除 macOS 附加在下载文件上的隔离标记。如果你是用访达解压的,它很重要;如果不是
,它也无害——参见
macOS 为何拦截下载。
不要用 sudo 运行该脚本。它本就设计为安装到你自己的账户中,只有当你把 --prefix 指向你的用户
无法写入的位置时才需要提权。
脚本会准备什么
- Homebrew,若缺失则从官方脚本安装。在 Apple Silicon 上还会把 Homebrew 加入你的
~/.zprofile。 - .NET 8 运行时,通过 Homebrew 安装;若 Homebrew 中的包不可用,则回退到 Microsoft 的安装
脚本,装入
~/.dotnet。 - Python 3.12,通过 Homebrew 安装,前提是系统中没有高于 3.10 的版本。
- 代理本身,装入
~/Applications/Filemote,并清除已安装副本上的隔离标记。
由于一切都以你的用户身份运行,代理只能访问你的账户可以读取的文件——而且仅在你处于登录状态时。
launchd 代理
除非你传入了 --no-autostart,脚本会写入
~/Library/LaunchAgents/com.filemote.agent.plist 并加载它,于是代理会在每次登录时启动,崩溃后
也会自行重启。
launchctl start com.filemote.agent # 立即启动
launchctl stop com.filemote.agent # 停止
tail -f ~/Library/Logs/Filemote/filemote-agent.log
使用 --no-autostart 时既没有 launchd 条目也没有日志文件,因此这两条命令都不适用——需要你自己
运行 ~/Applications/Filemote/FilemoteAgent。
脚本参数
| 参数 | 作用 |
|---|---|
--no-ai | 跳过 AI 服务——不装 Python,也不装依赖 |
--no-autostart | 只安装文件,不向 launchd 注册任何内容 |
--prefix /path | 安装到 ~/Applications/Filemote 以外的位置 |
--model <id> | 预先选定主 AI 模型 |
--device cpu|gpu|auto | AI 计算设备 |
--hf-token <token> | Hugging Face 令牌,用于访问受限模型 |
--gpu 在 macOS 上会被接受但忽略。Apple Silicon 本来就能获得 Metal 加速,因为 AI 引擎会自行
启用它;Intel Mac 无论如何都在 CPU 上运行该引擎。
Mac 上的 AI
安装 AI 依赖会编译 llama.cpp 引擎,这需要 Xcode 命令行工具;若尚未安装,脚本会触发其安装。在 Apple Silicon 上引擎会带 Metal 加速编译,在 Intel 上则运行于 CPU。
从改名前的安装升级
如果旧的 com.rfm.agent launchd 条目仍在,脚本会卸载并删除它——否则两个代理会争夺同一个
账户——并把你的设置和已下载的模型从 ~/Applications/RFM 迁移过来,旧文件夹留给你自行删除。
下一步
代理已经安装,但尚未连接到你的账户: 将设备关联到你的账户。
更新于 2026-07-31