Beta

注册 Self-owned computer

Self-owned computer 让 Manyfold 把任务路由到你自己的机器,而不是云端 sandbox。mf CLI 会在该机器上运行本地 daemon,上报已安装的 coding agent(Claude Code、Codex、Gemini CLI),并按需承接 agent 会话。

适合使用 self-owned computer 的场景:

  • 需要直接访问本地仓库或文件系统。
  • 机器上已经装好了 CLI 工具链。
  • 想用自己的 GPU、网络或算力环境。

准备工作

  • 在要注册的机器上安装 mf CLI。参考 安装 CLI
  • 登录:mf login

1. 申请 token

在网页应用打开 设置 → Self-owned computers。在 注册新机器 区域给机器起个名字(比如 laptophomelab-1),点击 Issue token

页面会显示一条可直接粘贴的命令:

mf daemon register --token ldt_xxxxxxxxxxxxxxxxxxxxxxxxxx

Token 只显示一次。立即复制整条命令。如果丢了,先撤销旧 token 再申请新的。

2. 在目标机器上运行命令

把命令粘贴到要注册的机器的终端里。CLI 会:

  1. ~/.manyfold/daemon/daemon.id 生成一个稳定的 daemon UUID。
  2. 检测已安装的 coding 框架(Claude Code、Codex、Gemini CLI)。
  3. 向 API 注册这台机器。
  4. 把 daemon 配置写到 ~/.manyfold/daemon/config.json

输出大致如下:

✓ daemon registered
  daemonId: dmh_…
  apiUrl:   https://api.manyfold.ai/api
  detected: claude-code 1.2.3
Start the daemon now? It will auto-start on login. [Y/n]

Entery 启动 daemon。mf daemon start 会安装一份自启单元(macOS 的 launchd LaunchAgent / Linux 的 systemd user unit),之后每次登录都会自动拉起 daemon,崩溃后由系统自动重启 —— 不需要保持终端打开。

无人值守或脚本化场景,加 -y 一次性跳过 prompt 并直接启动:

mf daemon register --token ldt_xxxxxxxx -y

3. 确认机器上线

回到网页应用的 设置 → Self-owned computers。这台机器会出现在 Connected machines 列表里,前面是绿点。如果 daemon 超过 45 秒没发心跳,绿点会变灰。

每台机器还会显示当前 CLI 版本启动方式,例如 Mac 上通过 LaunchAgent 启动会显示 cli 0.7.0 · autostart · login (launchd);如果是从终端直接拉起而没装自启单元,则显示 cli 0.7.0 · manual

在该机器上也可以直接查:

mf daemon status
mf daemon logs

4. 在这台机器上创建 Agent

Connected machines 列表里,点击在线机器旁的 + Create agent →,新建 agent 流程会自动选好这台机器作为 runtime。

也可以打开 New agent,选好框架后,把 runtime 选成 Self-owned computer

管理 daemon

mf daemon status              # 进程 + 心跳状态,以及自启单元状态
mf daemon logs                # tail 本地日志
mf daemon start               # 安装自启单元并启动(默认登录级)
mf daemon stop                # 停止 daemon 并移除自启单元
mf daemon doctor              # 诊断注册 / 框架检测问题

Daemon 日志在 ~/.manyfold/daemon/daemon.log

mf daemon startmf daemon stop 支持两个额外参数:

  • --system —— 把单元装到系统级路径,daemon 在开机时就会拉起(不依赖用户登录)。会用到 /Library/LaunchDaemons(macOS)或 /etc/systemd/system(Linux),需要 sudo
  • --foreground —— 进程在当前终端内联运行,不动自启单元。关掉终端进程也就退了;适合调试,或者跑在没有 launchd / systemd 的环境(如 WSL1、最小化容器)。

执行 mf update 升级 CLI 后,先 mf daemon stopmf daemon start,让自启单元重新写入新的二进制路径。否则 launchd / systemd 在你手动重启单元前会一直用旧路径。

自启动级别

默认的 mf daemon start 把 daemon 注册在登录级(user scope)

系统路径启动时机
macOS~/Library/LaunchAgents/ai.manyfold.daemon.plist登录时启动
Linux~/.config/systemd/user/mf-daemon.service登录时启动

mf daemon start --system 装到系统级,开机即起,无需登录:

系统路径启动时机
macOS/Library/LaunchDaemons/ai.manyfold.daemon.plist开机时启动
Linux/etc/systemd/system/mf-daemon.service开机时启动

系统只会在 daemon 崩溃(非 0 退出)时自动重启它。mf daemon stop 正常退出后 daemon 会一直停着,想再次启动跑 mf daemon start 即可。

Linux 登录级 scope 下,daemon 默认在登录时启动。如果希望开机即起(不依赖登录会话),给当前用户开启 lingering:loginctl enable-linger $USER

排错

  • daemon register requires --token <token> — 没传 token。回到网页应用重新复制完整命令。
  • token must start with ldt_ — token 被截断了。重新复制。
  • 机器一直 offline — 在机器上跑 mf daemon status 确认进程在;同时确认该机器能访问 api.manyfold.ai 的 HTTPS 出站。
  • Token already bound — 一个 token 只能绑一台机器。再注册新机器请申请新的 token。
  • 撤销机器 — 在 设置 → Self-owned computers 点击 Revoke。绑在这台机器上的 agent 会被标记为 stopped;机器上的工作目录文件不会被删。
  • Linux 上报 systemd not available — 当前环境没有可用的 user systemd 会话(常见于 WSL1 和精简容器)。可以在长会话里跑 mf daemon start --foreground,或加 --system(需要 sudo 和系统级 systemd)。
  • Connected machines 显示 manual — daemon 不是通过 mf daemon start 启动的(比如用了 --foreground 或旧版本 CLI)。跑 mf daemon stop && mf daemon start 重新注册一份自启单元即可。
  • mf update 升级后 Connected machines 还显示旧的 CLI 版本 — 系统当前跑的还是已加载到内存的旧二进制。跑 mf daemon stop && mf daemon start 让 daemon 在新二进制下重启。
这个页面有帮助吗?