用途:在 tmux 中运行后台任务,同时继续其他工作。所有由该技能管理的窗口统一放在 tmux-opencode 会话中,便于集中查看与清理。默认使用包装脚本而非手动拼接命令,默认不阻塞,仅在明确要求时使用阻塞等待。
环境检查:使用前确认 tmux 可用,运行 tmux -V;若不可用,则在前台运行命令。
会话模型:统一使用单一会话。可用 tmux new-session -d -s "$SESSION" -n "main" 创建,并用 tmux list-windows -t "$SESSION" 查看。scripts/tmux_run_job.py 在会话缺失时会自动创建。
首次设置:每台机器/用户安装一次托管 cron 清理,运行 python3 scripts/tmux_healthcheck_cron.py --action install,再用 --action status 验证。
运行任务:默认后台运行,例如 python3 scripts/tmux_run_job.py --command "npm start";可指定窗口名(自动规范为 oc-*),如 --window server;仅在需要时加 --wait 阻塞等待,或稍后用 --wait-target "tmux-opencode:oc-build" 等待已启动任务;可用 --wait-timeout-seconds 设置超时,用 --close-window success 在等待成功后自动关闭窗口。
查看与控制:用 tmux capture-pane -p -t "tmux-opencode:oc-server" 捕获可见输出,加 -S - 捕获完整回滚;用 tmux send-keys -t "tmux-opencode:oc-server" C-c 中断命令;用 tmux kill-window -t "tmux-opencode:oc-server" 关闭单个窗口。
清理与健康检查:运行 python3 scripts/tmux_healthcheck.py 查看窗口健康状态;用 --cleanup --max-idle-minutes 240 --dry-run 预演清理;中断或崩溃后可用 --cleanup --max-idle-minutes 240 --cleanup-legacy-sessions 清理陈旧窗口与遗留会话。cron 管理支持 install、--dry-run 预览、status 查看、remove 移除。
限制:资料未提供该技能对 tmux 版本、操作系统或权限的具体要求,也未说明脚本内部实现细节;若 tmux 不可用,应改为前台运行。