tobi:让命令在跨设备的可分离会话中持续运行
摘要
Tobi 是一个命令行工具,可在跨设备的可分离会话中保持命令运行,具备模糊选择和自动安装等功能,并集成 Tailscale 用于发现。
<p><a href="https://lobste.rs/s/lp2qvh/tobi_keep_commands_running_detachable">评论</a></p>
查看缓存全文
缓存时间: 2026/09/21 16:27
# ptr.pet/tobi 来源:https://tangled.org/ptr.pet/tobi
`tobi`能让命令在跨设备的可分离会话中持续运行。执行`tobi -- nu`会启动守护进程并运行命令——若关闭终端窗口,守护进程将自动分离。分离后的会话会在分离状态持续24小时后自动清理。
`tobi host.id -- nu`可在指定目标上创建会话,由于主机参数可选,你也可用`tobi .id -- nu`创建带有特定ID的会话!当SSH配置未预设用户或需要使用其他用户时,主机支持指定用户(例如`tobi [email protected]`)。在Tailscale网络中的任意设备上运行`tobi`,即可访问会话——该命令会打开模糊选择器,显示网络中所有会话(每行对应一个主机)。在主机行按回车键将启动登录shell,无需离开选择器即可接入会话。离线或不可达的主机虽会列出但无法选择。你也可直接使用`tobi hx`、`tobi host.`或`tobi hs.id`通过模糊搜索接入会话。
与tmux不同,tobi不支持嵌套。在tobi会话中再次运行tobi将直接替换当前会话。允许多个观察者同时接入同一tobi会话(此时将采用最小终端尺寸)。
## 环境要求
tobi会优先使用`PATH`中的`tssh`,若不存在则回退至`ssh`。`tailscale`二进制文件仅用于发现功能,无其他依赖。
## 安装方法
提供nix flake安装方式:执行`nix profile add git+https://tangled.org/ptr.pet/tobi`,或通过`nix-env -f . -i tobi`(或`nix profile add -f .`)安装。也可获取Go环境后自行编译。
当目标主机尚未安装tobi时,运行目标命令会自动将tobi安装至用户`~/.local/bin`(或等效路径),若目标主机存在旧版本则自动升级。若使用nix包或通过携带式构建(参见`./scripts`),只要系统架构受支持(Linux amd64/arm64、macOS arm64),即可向其他机器部署tobi。
## 致谢
感谢Charm UI库与Tailscale项目。本项目开发过程中也使用了大型语言模型(使用程度由读者自行判断)。
相似文章
Tailcat:秒级安全隧道 (Tailscale)
Tailcat 是一个开源的命令行工具和Go库,它通过Tailscale的数据平面创建基于WireGuard加密的安全隧道,实现快速且安全的点对点连接,无需Tailscale账户。
@tom_doerr: 在 tmux 中全天候运行 Claude agent https://github.com/Jedward23/Tmux-Orchestrator…
Tmux-Orchestrator 是一款开源工具,通过 tmux 会话内的多 agent 层级结构,实现 Claude AI agent 的自主全天候运行,支持并行项目管理与编码。
TailMux
TailMux 允许用户同时连接多个 Tailscale 网络,无需切换或使用虚拟机。
@levelsio: 这是我最近的设置。每个网站我都在Termius中设置了一个配置文件,比如 > hoodmaps.com,点击后立即进入…
Pieter Levels分享了他的服务器工作流程:使用Termius配置文件和一个自定义的tmux函数,自动连接到每个网站的会话,实现设备间无缝切换和一致的工作会话。
lazy-tmux:延迟恢复 tmux 会话,保留滚动缓冲区
lazy-tmux 是一个 CLI 工具,它能对 tmux 会话(包括正在运行的进程和滚动缓冲区)进行快照,并在从 TUI 选择器中选中时延迟恢复它们。