tmux

Tmux(终端复用器)让终端会话能够独立于启动它的窗口或 SSH 连接运行。对于 Spck CLI 用户来说,这意味着你可以在断线重连时保持会话,在桌面和移动设备之间共享正在运行的 Agent 会话,并在 SSH 连接断开后仍让 CLI 在远程服务器上持续运行。

安装

brew install tmux

Ubuntu / Debian

sudo apt-get install tmux

Fedora / RHEL

sudo dnf install tmux

Arch Linux

sudo pacman -S tmux

Tmux 在 Linux 上原生运行。在 Windows 上,请使用适用于 Linux 的 Windows 子系统 (WSL),然后在 WSL 内安装 tmux。

第 1 步 — 安装 WSL(以管理员身份运行 PowerShell):

wsl --install

第 2 步 — 打开 WSL 终端并安装 tmux:

sudo apt-get install tmux

使用场景 1:在桌面和移动设备间共享 Agent 会话

Spck CLI 与 tmux 最强大的工作流是在桌面启动 AI 编码 Agent,然后从手机无缝接管——或反向操作。两端看到的终端状态完全一致,包括完整的滚动历史。

💡 提示:如果您使用 ACP 兼容的智能体(Claude Code、Codex、Gemini CLI),完全无需共享终端即可从 Spck Editor 的 AI 聊天中驱动它。请参阅 移动端 AI 编程助手 (ACP) — 对于基于 shell 的 agent,或当您希望跨设备实时查看 agent 的原始输出时,tmux 仍然很有用。

在桌面启动会话

创建一个命名的 tmux 会话:

tmux new -s code

在会话内启动 AI Agent:

claude

Agent 在 tmux 内运行。按 Ctrl+B 再按 D 即可随时分离——会话及其中运行的一切会继续在后台运行。

从手机连接

  1. 打开 Spck Editor 并连接到你的 CLI 服务器
  2. 从 Spck Editor 终端面板打开一个终端
  3. 接入正在运行的 tmux 会话:
tmux attach -t code

你看到的终端与桌面上完全一样——包括正在运行的 Agent、其输出和完整的滚动历史。多个客户端可以同时接入并查看实时输出。

切换回桌面

随时从任意终端重新连接:

tmux attach -t code

使用场景 2:在远程服务器上持续运行 CLI

如果你通过 SSH 在远程服务器上运行 Spck CLI,SSH 会话一旦结束,CLI 就会停止——无论是合上笔记本、失去 Wi-Fi,还是连接超时。Tmux 让进程在服务器上持续运行,不受连接状态影响。

在远程服务器上配置

SSH 登录服务器,在启动 CLI 之前先创建一个命名的 tmux 会话:

ssh [email protected]
tmux new -s spck
spck

CLI 现在在服务器的 tmux 内运行。关闭 SSH 连接——甚至完全断线——CLI 仍然持续运行。

断线后重新连接

ssh [email protected]
tmux attach -t spck

CLI 从中断的地方精确恢复。移动客户端可以通过中继服务器正常重新连接。

查看正在运行的会话

tmux ls

替代方案:Linux 服务

如需完全自动化的配置,让 CLI 在开机时无需手动管理 tmux 即可启动,可以将 Spck CLI 作为 systemd 服务运行。

创建服务文件

sudo nano /etc/systemd/system/spck-cli.service
[Unit]
Description=Spck CLI Server
After=network.target

[Service]
Type=simple
User=your-username
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/npx spck
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

your-username/path/to/your/project 替换为实际值。如果你是全局安装的 spcknpm install -g spck),请将 ExecStart 替换为 which spck 的输出。

启用并启动

sudo systemctl daemon-reload
sudo systemctl enable spck-cli
sudo systemctl start spck-cli

查看状态和日志

# 查看状态
sudo systemctl status spck-cli

# 实时跟踪日志
journalctl -u spck-cli -f

该服务在每次重启时自动启动,进程崩溃后也会自动重启。

常用 Tmux 命令

命令 操作
tmux new -s name 创建新的命名会话
tmux attach -t name 接入已有会话
tmux ls 列出所有会话
tmux kill-session -t name 终止会话
Ctrl+B, D 从会话分离(保持运行)
Ctrl+B, C 创建新窗口
Ctrl+B, N 切换到下一个窗口
Ctrl+B, P 切换到上一个窗口
Ctrl+B, [ 进入滚动模式(方向键 / PgUp / PgDn)
Q 退出滚动模式