puff

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Puff

Puff

Overview

概述

Use this skill to launch Codex Cloud tasks without blocking the local CLI session. Use
run_puff_tool
to run the Zig
puff
CLI, submit work, detach status watchers, and retain logs/results for later diff/apply actions.
使用此技能无需阻塞本地CLI会话即可启动Codex Cloud任务。使用
run_puff_tool
运行Zig编写的
puff
CLI,提交工作任务,分离状态监视器,并保留日志/结果以便后续进行差异对比/应用操作。

Zig CLI Iteration Repos

Zig CLI迭代仓库

When iterating on the Zig-backed
puff
helper CLI path, use these two repos:
  • skills-zig
    (
    /Users/tk/workspace/tk/skills-zig
    ): source for the
    puff
    Zig binary, build/test wiring, and release tags.
  • homebrew-tap
    (
    /Users/tk/workspace/tk/homebrew-tap
    ): Homebrew formula updates/checksum bumps for released
    puff
    binaries.
在基于Zig的
puff
辅助CLI路径上进行迭代时,请使用以下两个仓库:
  • skills-zig
    /Users/tk/workspace/tk/skills-zig
    ):
    puff
    Zig二进制文件的源码、构建/测试配置以及发布标签。
  • homebrew-tap
    /Users/tk/workspace/tk/homebrew-tap
    ):已发布
    puff
    二进制文件的Homebrew公式更新/校验和更新。

Quick Start

快速开始

bash
run_puff_tool() {
  install_puff_direct() {
    local repo="${SKILLS_ZIG_REPO:-$HOME/workspace/tk/skills-zig}"
    if ! command -v zig >/dev/null 2>&1; then
      echo "zig not found. Install Zig from https://ziglang.org/download/ and retry." >&2
      return 1
    fi
    if [ ! -d "$repo" ]; then
      echo "skills-zig repo not found at $repo." >&2
      echo "clone it with: git clone https://github.com/tkersey/skills-zig \"$repo\"" >&2
      return 1
    fi
    if ! (cd "$repo" && zig build -Doptimize=ReleaseSafe); then
      echo "direct Zig build failed in $repo." >&2
      return 1
    fi
    if [ ! -x "$repo/zig-out/bin/puff" ]; then
      echo "direct Zig build did not produce $repo/zig-out/bin/puff." >&2
      return 1
    fi
    mkdir -p "$HOME/.local/bin"
    install -m 0755 "$repo/zig-out/bin/puff" "$HOME/.local/bin/puff"
  }

  local os="$(uname -s)"
  if command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"; then
    puff "$@"
    return
  fi

  if [ "$os" = "Darwin" ]; then
    if ! command -v brew >/dev/null 2>&1; then
      echo "homebrew is required on macOS: https://brew.sh/" >&2
      return 1
    fi
    if ! brew install tkersey/tap/puff; then
      echo "brew install tkersey/tap/puff failed." >&2
      return 1
    fi
  elif ! (command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"); then
    if ! install_puff_direct; then
      return 1
    fi
  fi

  if command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"; then
    puff "$@"
    return
  fi
  echo "puff binary missing or incompatible after install attempt." >&2
  if [ "$os" = "Darwin" ]; then
    echo "expected install path: brew install tkersey/tap/puff" >&2
  else
    echo "expected direct path: SKILLS_ZIG_REPO=<skills-zig-path> zig build -Doptimize=ReleaseSafe" >&2
  fi
  return 1
}
bash
run_puff_tool() {
  install_puff_direct() {
    local repo="${SKILLS_ZIG_REPO:-$HOME/workspace/tk/skills-zig}"
    if ! command -v zig >/dev/null 2>&1; then
      echo "zig not found. Install Zig from https://ziglang.org/download/ and retry." >&2
      return 1
    fi
    if [ ! -d "$repo" ]; then
      echo "skills-zig repo not found at $repo." >&2
      echo "clone it with: git clone https://github.com/tkersey/skills-zig \"$repo\"" >&2
      return 1
    fi
    if ! (cd "$repo" && zig build -Doptimize=ReleaseSafe); then
      echo "direct Zig build failed in $repo." >&2
      return 1
    fi
    if [ ! -x "$repo/zig-out/bin/puff" ]; then
      echo "direct Zig build did not produce $repo/zig-out/bin/puff." >&2
      return 1
    fi
    mkdir -p "$HOME/.local/bin"
    install -m 0755 "$repo/zig-out/bin/puff" "$HOME/.local/bin/puff"
  }

  local os="$(uname -s)"
  if command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"; then
    puff "$@"
    return
  fi

  if [ "$os" = "Darwin" ]; then
    if ! command -v brew >/dev/null 2>&1; then
      echo "homebrew is required on macOS: https://brew.sh/" >&2
      return 1
    fi
    if ! brew install tkersey/tap/puff; then
      echo "brew install tkersey/tap/puff failed." >&2
      return 1
    fi
  elif ! (command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"); then
    if ! install_puff_direct; then
      return 1
    fi
  fi

  if command -v puff >/dev/null 2>&1 && puff --help 2>&1 | grep -q "puff.zig"; then
    puff "$@"
    return
  fi
  echo "puff binary missing or incompatible after install attempt." >&2
  if [ "$os" = "Darwin" ]; then
    echo "expected install path: brew install tkersey/tap/puff" >&2
  else
    echo "expected direct path: SKILLS_ZIG_REPO=<skills-zig-path> zig build -Doptimize=ReleaseSafe" >&2
  fi
  return 1
}

Workflow

工作流程

  1. Ensure ChatGPT auth is present.
    codex login
  2. Run readiness checks.
    run_puff_tool doctor --env <env-id-or-label>
    Optional: print manual environment-creation instructions.
    run_puff_tool create
  3. Launch cloud work with a detached watcher.
    run_puff_tool launch --env <env-id-or-label> --prompt "Implement X"
    Optional: launch the cloud Join operator prompt (
    seq -> join
    ) for PR patch routing.
    run_puff_tool join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator>
    Canary mode (single bounded cycle):
    run_puff_tool join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator> --canary
  4. Inspect running and completed watcher jobs.
    run_puff_tool jobs
  5. Tail watcher logs when needed.
    tail -f <watch_log_path>
  6. Inspect or apply result when ready.
    codex cloud diff <task-id>
    codex cloud apply <task-id>
  1. 确保已完成ChatGPT身份验证。
    codex login
  2. 运行就绪性检查。
    run_puff_tool doctor --env <env-id-or-label>
    可选:打印手动创建环境的说明。
    run_puff_tool create
  3. 启动带独立监视器的云端任务。
    run_puff_tool launch --env <env-id-or-label> --prompt "实现X功能"
    可选:启动云端Join操作器提示(
    seq -> join
    )以进行PR补丁路由。
    run_puff_tool join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator>
    金丝雀模式(单次有限循环):
    run_puff_tool join-operator --env <env-id-or-label> --repo <owner/repo> --patch-inbox <locator> --canary
  4. 查看正在运行和已完成的监视器任务。
    run_puff_tool jobs
  5. 必要时查看监视器日志。
    tail -f <watch_log_path>
  6. 准备就绪后查看或应用结果。
    codex cloud diff <task-id>
    codex cloud apply <task-id>

Command Selection

命令选择

Use
launch
for async/background execution.
launch
runs
doctor
by default; pass
--skip-doctor
to bypass pre-checks. Use
create
when you need formatted manual environment-creation instructions only. Use
submit
when only task id/url is needed (it executes a cloud task). Use
doctor
for explicit auth/environment readiness checks. Use
watch
for blocking foreground polling. Use
jobs
and
stop
to manage detached watchers. Use
join-operator
to generate and launch the cloud join loop prompt that enforces manifest-first routing and
seq -> join
execution. Use
join-operator --max-cycles <n>
for bounded runs;
--canary
is shorthand for one cycle.
使用
launch
进行异步/后台执行。
launch
默认会运行
doctor
;传递
--skip-doctor
可跳过预检查。 仅当需要格式化的手动创建环境说明时使用
create
。 仅需要任务ID/URL时使用
submit
(它会执行一个云端任务)。 使用
doctor
进行显式的身份验证/环境就绪性检查。 使用
watch
进行阻塞式前台轮询。 使用
jobs
stop
管理独立监视器。 使用
join-operator
生成并启动云端join循环提示,该提示强制执行清单优先路由和
seq -> join
执行。 使用
join-operator --max-cycles <n>
进行有限次数的运行;
--canary
是单次循环的简写。

Interop With
$cas

$cas
的互操作性

Use
$cas
when orchestration requirements exceed simple cloud task lifecycle control. Use
$puff
for fast cloud kickoff and lifecycle polling. Use
$cas
directly for proxy lifecycle management (
start
/
stop
) and app-server thread/turn orchestration, steering, forwarding server requests, or complex multi-thread routing.
当编排需求超出简单的云端任务生命周期控制时,使用
$cas
。 使用
$puff
进行快速云端任务启动和生命周期轮询。 直接使用
$cas
进行代理生命周期管理(
start
/
stop
)以及应用服务器线程/轮次编排、控制、转发服务器请求或复杂的多线程路由。

Notes

注意事项

Pass either environment id or unique environment label to
--env
. Treat
READY
and
APPLIED
as successful terminal states in watch loops. Treat
ERROR
as terminal failure and inspect with
codex cloud status <task-id>
and
codex cloud diff <task-id>
. Runtime bootstrap policy for
puff
mirrors
seq
/
cas
/
lift
: use the Zig
puff
binary only, default to Homebrew install on macOS, and fallback to direct Zig install from
skills-zig
on non-macOS.
--env
传递环境ID或唯一环境标签均可。 在监视器循环中,将
READY
APPLIED
视为成功的终端状态。 将
ERROR
视为终端失败状态,并使用
codex cloud status <task-id>
codex cloud diff <task-id>
进行检查。
puff
的运行时引导策略与
seq
/
cas
/
lift
一致:仅使用Zig
puff
二进制文件,在macOS上默认使用Homebrew安装,在非macOS系统上回退到从
skills-zig
直接进行Zig安装。

Resources

资源

  • puff
    binary: create/submit/watch/launch/jobs/stop wrapper around
    codex cloud
    .
  • references/commands.md
    : command map including optional
    $cas
    pairing.
  • puff
    二进制文件:
    codex cloud
    的创建/提交/监视/启动/任务/停止的封装工具。
  • references/commands.md
    :命令映射,包括可选的
    $cas
    配对说明。