Host Helper:安装、健康检查与独立更新
Host Helper 连接 Agent 事件、可信终端路由、通知与移动决策,但不会接管你的编程智能体。
更新时间: 2026-07-23适用范围: 使用 Moshline Host Helper 的 macOS 与 Linux 主机
完成后
你可以识别已安装版本,验证 Daemon 与 Hook,在不等待 App 发版的情况下更新,并知道何时必须重跑 Quick Setup。
Host Helper 负责什么
编程智能体仍直接运行在你的 Shell 或 tmux 会话中。Host Helper 观察受支持的 Provider 事件,投射精简移动时间线,持有可信 attach 路由,并且只在 Provider 提供同步控制通道时交付经过鉴权的决策。
- Host daemon:提供带鉴权的 Host API 和持久终端 attach socket。
- Provider Hooks:上报各 CLI 支持的生命周期、审批、用量与 Review 元数据。
- 通知路由:把需要关注的事件转发给已配对 iPhone。
- Updater:检查稳定版 manifest、验证包 SHA-256,并对新 Daemon 做健康检查。
安装或修复当前 Host Helper
Quick Setup 会安装 SSH/Mosh 前置项、版本化 Host Helper 包、后台服务与受支持 Provider Hook。重复运行时会保留与 Moshline 无关的用户 Hook。
主机终端
$ curl -fsSL https://raw.githubusercontent.com/NomadShell/Scripts/main/quick-setup.sh | bash
$ moshline-host version
$ moshline-host doctor把 Doctor 当作一条依赖链
Doctor 从终端前置项开始,依次检查 Daemon、Multiplexer adapter、attach socket 与 Provider Hook。后面的失败经常只是前一个失败的结果。
| 检查项 | 证明什么 | 失败时 |
|---|---|---|
| Mosh client / server | 主机可以启动 Mosh 会话 | 安装 Mosh 或先使用 SSH |
| Host daemon | Host API 返回已配对主机身份 | 检查后台服务和日志 |
| Multiplexer adapters | Daemon 可暴露 tmux 或 Zellij | 先修 Daemon,再检查 PATH |
| Terminal attach socket | Daemon 已创建本地控制 socket | 重启 Daemon |
| Provider hooks | Moshline Hook 已注册 | 重跑 setup;在 Codex 中手动信任 |
不等待 App 发版也能更新
Host Helper 版本与 iOS 独立。具备 updater 的版本会在启动后及每六小时检查稳定版 manifest,手动更新与自动更新使用同一条验证路径。
Manifest 声明 Host 协议范围与最低 Node 主版本。Updater 通过 HTTPS 下载、验证 SHA-256、重新安装 Hook 和服务,再等待目标版本通过健康检查;失败时恢复本地打包的上一版本。
主机终端
$ moshline-host version
$ moshline-host update --check
$ moshline-host update --apply
$ moshline-host doctor兼容性与 Node 路径
- App 与 Host Helper 通过版本化 Host contract 协商,release manifest 声明 protocol_min 与 protocol_max。
- Quick Setup 会把 Node 与 CLI 的绝对路径写入 launchd 或 systemd。
- NVM/asdf 路径本身有效,但删除对应 Node 版本会让保存的服务路径失效。
- Node 安装变化后应重跑 Quick Setup,不要长期手改生成的服务文件。
- 旧的 root-owned 全局 npm 目录可能需要通过一次 Quick Setup 迁移为用户可写安装。
文件与信任边界
| 用途 | macOS 路径 |
|---|---|
| 私有 Host 配置 | ~/.config/moshline/host.json |
| LaunchAgent | ~/Library/LaunchAgents/com.moshline.host.plist |
| Daemon 日志 | ~/Library/Logs/Moshline/host.log |
| Attach socket 与本地状态 | ~/.local/share/moshline/ |
相关文档