远程管理
管理 infra/remotes/*.yaml 中定义的远程机器。
只有在触发时才读取引用的文件。
守卫
remotes.enabled 必须在 bridge-config.yaml 中为 true。如果不是:通知并退出。
参数
| 参数 | 效果 | 默认值 |
|---|---|---|
(无) | 所有远程的仪表板 | — |
{hostname} | 单个远程的详细信息 | — |
health {hostname} | SSH 健康检查 | — |
logs {hostname} {service} | 显示最近的日志 | — |
restart {hostname} {service} | 重启服务 | — |
sync {hostname} | 同步配置文件 | — |
wake {hostname} | 网络唤醒 | — |
connect {hostname} | 打开 SSH / RDP 会话 | — |
shutdown {hostname} | 关机(需要 [y]) | — |
reboot {hostname} | 重启机器(需要 [y]) | — |
决策树
用户想要...
├── 远程概览 / 仪表板 → 读取 references/workflow.md (§ 仪表板)
├── 单台机器的详细信息 → 读取 references/workflow.md (§ 仪表板,单台主机)
├── 唤醒 / 启动一台机器 → 读取 references/fleet.md (§ 第3阶段 WoL)
├── 通过 SSH / RDP 连接 → 读取 references/fleet.md (§ 第4阶段 连接)
├── 重启或关机 → 读取 references/fleet.md (§ 第5阶段)
├── 检查可达性 / 在线? → 读取 references/fleet.md (§ 第2阶段)
├── 更改后更新清单 → 读取 references/fleet.md (§ 第6阶段)
├── 机器的健康检查 → 读取 references/workflow.md (§ 健康检查)
├── 查看服务日志 → 读取 references/workflow.md (§ 日志)
├── 重启服务 → 读取 references/workflow.md (§ 重启)
├── 同步配置到远程 → 读取 references/workflow.md (§ 同步)
├── 部署服务到远程 → 读取 references/workflow.md (§ 部署)
├── 识别“我的电脑” / 仅意图 → 读取 references/fleet.md (§ 第1阶段 + 学习路由)
└── 关于远程的问题 → 从 CLAUDE.md § 远程 回答
参考映射
| 文件 | 负责内容 |
|---|---|
references/fleet.md | 清单、WoL、连接、关机、可达性、“我的电脑”路由 |
references/workflow.md | 服务仪表板、健康、日志、重启、同步、部署 |
硬性规则(不可协商)
- 优先使用 Tailscale,LAN 作为备用 —— LAN 在 VPN 或外部网络上会失败
- 没有破坏性操作(关机、重启、格式化)除非每次操作都确认
[y] - 绝不在
infra/remotes/*.yaml中存储凭据 —— 仅使用 KeyVault / 1Password URI - 遵守
wake_on_lan.enabled: false—— 从不强制唤醒选择退出的机器 - 在任何操作前先读取
infra/remotes/{target}.yaml—— 禁止猜测