swain-stage 是 swain 项目下的 tmux 工作区管理器,用于设置窗格布局、管理窗格并更新 MOTD 状态面板,让智能体直接控制可视化工作区。前提是必须运行在 tmux 会话内($TMUX 已设置),脚本会先检查 tmux。
主要能力:提供 focus、review、browse 三个布局预设(在 references/layouts/ 中),默认布局由 swain.settings.json 的 stage.defaultLayout 指定(默认 focus),可在 stage.layouts.<name> 中覆盖。可单独打开窗格:editor、browser、motd、shell,其中 browser 可指定路径。MOTD 面板显示项目名、分支、脏状态、智能体工作时的动画 spinner、当前上下文、进行中的 epic 进度、活动 tk 任务、就绪工件数、最近提交、分配的 GitHub issue 数与触碰文件数。
用法:脚本位于 skills/swain-stage/scripts/swain-stage.sh,另含 swain-motd.py(Textual TUI,经 uv run 启动)与旧版 bash swain-motd.sh 作为回退。命令形式如 swain-stage.sh layout review、pane editor file1.py、pane browser /some/path、pane motd、pane shell、motd start|stop|update "..."、close right|bottom|all、status、reset。MOTD 读取 .agents/status-cache.json(由 swain-status 写入),缺失或超过 5 分钟则回退直接查询 git/tk;智能体状态始终读 .agents/stage-status.json,由 stage-status-hook.sh 作为 Claude Code 钩子自动写入。
设置项:editor、fileBrowser(默认 auto,分别按 micro>helix>nano>vim 与 yazi>nnn>ranger>mc 探测)、stage.defaultLayout、stage.motd.refreshInterval(默认 5 秒)、stage.motd.spinnerStyle(braille/dots/bar)、stage.layouts。项目设置与用户设置(~/.config/swain/settings.json)合并,用户优先。
限制:非 tmux 环境不可用;缺少编辑器、文件浏览器或 jq 时会警告并回退默认值;窗格操作为尽力而为,失败仅警告不中断会话。资料未提供收费、价格或平台信息。