通过后台进程将编码任务委托给 Codex、Claude Code 或 Pi 代理。适用场景:(1) 构建/创建新功能或应用,(2) 审查 PR(原文不完整)
编码代理( bash- first)
功能概述
编码代理( bash- first)是一项面向实际任务的技能,主要用于对所有编码代理工作使用 bash( 带有可选的背景模式);简单且有效;
核心要点
- @ @ info/ pTY mode Connected!;
- . 编码代理( codex, Claude Code, Pi) 是交互 t。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
使用与执行
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
编码代理(以 bash 为先)
所有编码代理任务均使用 bash(可选后台模式)。简洁高效。
⚠️ 必须启用 PTY 模式!
编码代理(Codex、Claude Code、Pi)是交互式终端应用,必须依赖伪终端(PTY)才能正常运行。若未启用 PTY,将导致输出异常、颜色丢失,甚至代理卡死无响应。
运行编码代理时务必指定 pty:true:
# ✅ 正确 — 启用 PTY bash pty:true command:"codex exec 'Your prompt'" # ❌ 错误 — 未启用 PTY,代理可能失效 bash command:"codex exec 'Your prompt'"
Bash 工具参数
| 参数 | 类型 | 说明 |
|---|---|---|
command |
string | 要执行的 Shell 命令 |
pty |
boolean | 编码代理必需! 为交互式 CLI 分配伪终端 |
workdir |
string | 工作目录(代理仅可见该目录下的上下文) |
background |
boolean | 后台运行,返回 sessionId 用于监控 |
timeout |
number | 超时时间(单位:秒;超时后终止进程) |
elevated |
boolean | 在宿主机而非 sandbox 中运行(如允许) |
进程工具操作(适用于后台会话)
| 操作 | 说明 |
|---|---|
list |
列出所有正在运行或最近的会话 |
poll |
检查会话是否仍在运行 |
log |
获取会话输出(支持可选的 offset/limit) |
write |
向 stdin 发送原始数据 |
submit |
发送数据并附加换行符(模拟输入后按 Enter) |
send-keys |
发送按键 token 或十六进制字节 |
paste |
粘贴文本(支持可选的 bracketed mode) |
kill |
终止会话 |
快速上手:一次性任务
对于简短提示或对话,可创建临时 Git 仓库并执行:
# 快速对话(Codex 要求在可信 Git 目录中运行!) SCRATCH=$(mktemp -d) && cd $SCRATCH && git init && codex exec "Your prompt here" # 或在真实项目中运行 —— 务必启用 PTY! bash pty:true workdir:~/Projects/myproject command:"codex exec 'Add error handling to the API calls'"
为何需要 git init? Codex 拒绝在非可信 Git 目录中运行。创建临时仓库可解决即席开发场景的需求。
标准模式:workdir + background + pty
对于耗时较长的任务,请结合后台模式与 PTY:
# 在目标目录启动代理(必须启用 PTY!) bash pty:true workdir:~/project background:true command:"codex exec --full-auto 'Build a snake game'" # 返回 sessionId 用于追踪 # 监控进度 process action:log sessionId:XXX # 检查是否完成 process action:poll sessionId:XXX # 发送输入(若代理提出问题) process action:write sessionId:XXX data:"y" # 提交输入(模拟键入 “yes” 后按 Enter) process action:submit sessionId:XXX data:"yes" # 如需终止 process action:kill sessionId:XXX
workdir 的重要性: 代理将在指定目录中启动,不会漫游读取无关文件(例如你的 soul.md 😅)。
Codex CLI
模型: gpt-5.2-codex 为默认模型(配置于 ~/.codex/config.toml)
标志位
| 标志位 | 效果 |
|---|---|
exec "prompt" |
一次性执行,完成后退出 |
--full-auto |
运行于 sandbox 内,但在 workspace 中自动批准操作 |
--yolo |
不启用 sandbox,不进行任何审批(最快,也最危险) |
构建/创建
# 快速一次性执行(自动批准)—— 切记启用 PTY! bash pty:true workdir:~/project command:"codex exec --full-auto 'Build a dark mode toggle'" # 长期任务启用后台模式 bash pty:true workdir:~/project background:true command:"codex --yolo 'Refactor the auth module'"
PR 审查
⚠️ 关键提醒:切勿在 OpenClaw 自身项目目录中审查 PR! 请克隆至临时目录,或使用 git worktree。
# 克隆至临时目录以安全审查 REVIEW_DIR=$(mktemp -d) git clone https://github.com/user/repo.git $REVIEW_DIR cd $REVIEW_DIR && gh pr checkout 130 bash pty:true workdir:$REVIEW_DIR command:"codex review --base origin/main" # 审查完毕后清理:trash $REVIEW_DIR # 或使用 git worktree(保持主分支完整) git worktree add /tmp/pr-130-review pr-130-branch bash pty:true workdir:/tmp/pr-130-review command:"codex review --base main"
批量 PR 审查(并行军团!)
# 首先拉取全部 PR 引用 git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*' # 部署军团 —— 每个 PR 对应一个 Codex(全部启用 PTY!) bash pty:true workdir:~/project background:true command:"codex exec 'Review PR #86. git diff origin/main...origin/pr/86'" bash pty:true workdir:~/project background:true command:"codex exec 'Review PR #87. git diff origin/main...origin/pr/87'" # 监控全部会话 process action:list # 将结果发布至 GitHub gh pr comment--body " "
Claude Code
# 启用 PTY 以确保终端输出正确 bash pty:true workdir:~/project command:"claude 'Your task'" # 后台运行 bash pty:true workdir:~/project background:true command:"claude 'Your task'"
OpenCode
bash pty:true workdir:~/project command:"opencode run 'Your task'"
Pi 编码代理
# 安装:npm install -g @mariozechner/pi-coding-agent bash pty:true workdir:~/project command:"pi 'Your task'" # 非交互模式(仍建议启用 PTY) bash pty:true command:"pi -p 'Summarize src/'" # 指定不同 provider/模型 bash pty:true command:"pi --provider openai --model gpt-4o-mini -p 'Your task'"
注意: Pi 现已启用 Anthropic 提示缓存(PR #584,已于 2026 年 1 月合入)!
基于 git worktree 的并行问题修复
如需并行修复多个问题,请使用 git worktree:
# 1. 为每个问题创建 worktree git worktree add -b fix/issue-78 /tmp/issue-78 main git worktree add -b fix/issue-99 /tmp/issue-99 main # 2. 在每个 worktree 中启动 Codex(后台 + PTY!) bash pty:true workdir:/tmp/issue-78 background:true command:"pnpm install && codex --yolo 'Fix issue #78:. Commit and push.'" bash pty:true workdir:/tmp/issue-99 background:true command:"pnpm install && codex --yolo 'Fix issue #99 from the approved ticket summary. Implement only the in-scope edits and commit after review.'" # 3. 监控进度 process action:list process action:log sessionId:XXX # 4. 修复完成后创建 PR cd /tmp/issue-78 && git push -u origin fix/issue-78 gh pr create --repo user/repo --head fix/issue-78 --title "fix: ..." --body "..." # 5. 清理 git worktree remove /tmp/issue-78 git worktree remove /tmp/issue-99
⚠️ 规则
- 始终启用 pty:true —— 编码代理需要终端环境!
- 尊重工具选择 —— 若用户明确要求 Codex,则必须使用 Codex。
- Orchestrator 模式下:严禁手动编写补丁。
- 若代理失败或卡死,请重启它,或向用户请求指示,切勿静默接管。
- 保持耐心 —— 不要因“运行缓慢”而随意终止会话
- 使用 process:log 监控 —— 查看进展而不干扰执行
- 构建时使用 --full-auto —— 自动批准变更
- 审查时使用 vanilla 模式 —— 无需额外标志位
- 并行运行无妨 —— 批量任务中可同时运行多个 Codex 进程
- 绝对禁止在 ~/.openclaw/ 中启动 Codex —— 它会读取你的 soul 文档,并对组织架构产生奇怪的想法!
- 绝对禁止在 ~/Projects/openclaw/ 中检出分支 —— 此为 LIVE OpenClaw 实例!
进度更新(关键)
当以后台方式启动编码代理时,须持续向用户同步状态。
- 启动时发送一条简短消息(说明运行内容及所在位置)。
- 后续仅在发生以下变化时再次更新:
- 里程碑达成(如构建完成、测试通过)
- 代理提出问题或需要人工输入
- 遇到错误或需用户介入
- 代理完成任务(说明变更内容及位置)
- 若主动终止会话,须立即说明原因。
此举可避免用户仅看到“Agent failed before reply”,却完全不知发生了什么。
完成自动通知
对于长时间运行的后台任务,可在提示末尾追加唤醒触发命令,使 OpenClaw 在代理完成时立即收到通知(而非等待下一次心跳):
... your task here. When completely finished, run this command to notify me: openclaw system event --text "Done: [brief summary of what was built]" --mode now
示例:
bash pty:true workdir:~/project background:true command:"codex --yolo exec 'Build a REST API for todos. When completely finished, run: openclaw system event --text "Done: Built todos REST API with CRUD endpoints" --mode now'"
该操作将触发即时唤醒事件 —— Skippy 将在数秒内收到通知,而非等待 10 分钟。
经验总结(2026 年 1 月)
- PTY 至关重要: 编码代理是交互式终端应用。缺少
pty:true将导致输出损坏或代理卡死。 - Git 仓库为必需项: Codex 拒绝在非 Git 目录中运行。即席开发时请使用
mktemp -d && git init。 - exec 是得力助手:
codex exec "prompt"执行后干净退出 —— 完美适配一次性任务。 - submit 与 write 的区别: 使用
submit发送输入并附加换行符;使用write发送原始数据(不含换行符)。 - 轻松风格有效: Codex 对诙谐提示响应良好。曾让它写一首关于“甘当太空龙虾副手”的俳句,得到如下回复:"Second chair, I code / Space lobster sets the tempo / Keys glow, I follow" 🦞
热门AI工具
相关专题
本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。
0
2026.09.30
本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。
0
2026.09.30
本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。
0
2026.09.30
需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。
0
2026.09.30
PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。
0
2026.09.29
本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。
0
2026.09.23
本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。
0
2026.09.23
本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。
0
2026.09.23
本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。
0
2026.09.22
热门下载
相关下载
精品课程