Zellij Terminal Workspace技能使用说明
2026-04-01
新闻来源:网淘吧
围观:9
电脑广告
手机广告
zellij 技能 (Moltbot)
仅在需要交互式 TTY 时使用 zellij。对于长时间运行的非交互式任务,优先使用 exec 后台模式。
快速入门(数据目录,执行工具)
DATA_DIR="${CLAWDBOT_ZELLIJ_DATA_DIR:-${TMPDIR:-/tmp}/moltbot-zellij-data}"
mkdir -p "$DATA_DIR"
SESSION=moltbot-python
zellij --data-dir "$DATA_DIR" new-session --session "$SESSION" --layout "default" --detach
zellij --data-dir "$DATA_DIR" run --session "$SESSION" --name repl -- python3 -q
zellij --data-dir "$DATA_DIR" pipe --session "$SESSION" --pane-id 0
启动会话后,始终打印监控命令:

To monitor:
zellij --data-dir "$DATA_DIR" attach --session "$SESSION"
zellij --data-dir "$DATA_DIR" pipe --session "$SESSION" --pane-id 0
数据目录约定
- 使用
CLAWDBOT_ZELLIJ_DATA_DIR(默认为${TMPDIR:-/tmp}/moltbot-zellij-data)。 - Zellij 在此目录中存储状态(会话、插件等)。
定位窗格和命名
- Zellij 使用
窗格ID(数字)来定位特定的窗格。 - 查找窗格ID:
zellij --data-dir "$DATA_DIR" list-sessions --long或使用list-panes.sh。 - 保持会话名称简短;避免使用空格。
查找会话
- 列出你的数据目录中的会话:
zellij --data-dir "$DATA_DIR" list-sessions。 - 列出所有数据目录中的会话:
{baseDir}/scripts/find-sessions.sh --all(使用CLAWDBOT_ZELLIJ_DATA_DIR)。
安全发送输入
- 使用
zellij action来发送按键:zellij --data-dir "$DATA_DIR" action --session "$SESSION" write-chars --chars "$cmd"。 - 控制键:
zellij --data-dir "$DATA_DIR" action --session "$SESSION" write 2(Ctrl+C)。
监视输出
- 捕获窗格输出:
zellij --data-dir "$DATA_DIR" pipe --session "$SESSION" --pane-id 0。 - 等待提示:
{baseDir}/scripts/wait-for-text.sh -s "$SESSION" -p 0 -p 'pattern'. - 附加操作正常;分离使用
Ctrl+p d(zellij默认分离快捷键)。
生成进程
- 对于Python REPL环境,zellij与标准命令
python3 -q配合良好。 - 无需像tmux那样使用特殊标志
PYTHON_BASIC_REPL=1。
Windows / WSL系统
- zellij支持macOS/Linux系统。在Windows上,请使用WSL并在WSL环境内安装zellij。
- 此功能仅限于
darwin/linux系统,且要求zellij位于PATH环境变量中。
编排编程智能体(Codex、Claude Code)
zellij擅长并行运行多个编程智能体:
DATA_DIR="${TMPDIR:-/tmp}/codex-army-data"
# Create multiple sessions
for i in 1 2 3 4 5; do
zellij --data-dir "$DATA_DIR" new-session --session "agent-$i" --layout "compact" --detach
done
# Launch agents in different workdirs
zellij --data-dir "$DATA_DIR" action --session "agent-1" write-chars --chars "cd /tmp/project1 && codex --yolo 'Fix bug X'\n"
zellij --data-dir "$DATA_DIR" action --session "agent-2" write-chars --chars "cd /tmp/project2 && codex --yolo 'Fix bug Y'\n"
# Poll for completion (check if prompt returned)
for sess in agent-1 agent-2; do
pane_id=$(zellij --data-dir "$DATA_DIR" list-sessions --long | grep "\"$sess\"" | jq -r '.tabs[0].panes[0].id')
if zellij --data-dir "$DATA_DIR" pipe --session "$sess" --pane-id "$pane_id" | grep -q "❯"; then
echo "$sess: DONE"
else
echo "$sess: Running..."
fi
done
# Get full output from completed session
zellij --data-dir "$DATA_DIR" pipe --session "agent-1" --pane-id 0
提示:
- 使用独立的 git worktree 进行并行修复(避免分支冲突)
pnpm install在全新克隆的仓库中运行 codex 前,请先执行此命令- 检查 shell 提示符(
❯或$)以检测任务是否完成 - Codex 需要
--yolo或--full-auto参数来执行非交互式修复
清理操作
- 终止单个会话:
zellij --data-dir "$DATA_DIR" delete-session --session "$SESSION"。 - 终止数据目录下的所有会话:使用
{baseDir}/scripts/cleanup-sessions.sh "$DATA_DIR"。
Zellij 与 Tmux 快速对照表
| 任务 | tmux | zellij |
|---|---|---|
| 列出会话 | list-sessions | list-sessions |
| 创建会话 | new-session -d | new-session --detach |
| 附加到会话 | attach -t | attach --session |
| 发送按键 | send-keys | action write-chars |
| 捕获窗格内容 | capture-pane | 管道 |
| 终止会话 | kill-session | delete-session |
| 分离会话 | Ctrl+b d | Ctrl+p d |
辅助脚本: wait-for-text.sh
{baseDir}/scripts/wait-for-text.sh在超时时间内轮询窗格以查找正则表达式(或固定字符串)。
{baseDir}/scripts/wait-for-text.sh -s session -p pane-id -r 'pattern' [-F] [-T 20] [-i 0.5]
-s/--session会话名称(必需)-p/--pane-id窗格ID(必需)-r/--pattern匹配的正则表达式(必需);添加-F用于固定字符串-T超时秒数(整数,默认15)-i轮询间隔秒数(默认0.5)
辅助工具:find-panes.sh
{baseDir}/scripts/find-panes.sh列出给定会话的窗格。
{baseDir}/scripts/find-panes.sh -s session [-d data-dir]
-s/--session会话名称(必需)-d/--data-dirzellij 数据目录(如果未指定,则使用CLAWDBOT_ZELLIJ_DATA_DIR环境变量)
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Moltpho技能使用说明
下一篇:Nonopost技能使用说明


微信扫一扫,打赏作者吧~