编码智能体Skill coding-agent

本技能(Coding Agent)是一个用于自动化软件开发的工具,它能够通过后台进程将编程任务委托给AI编码助手(如Codex、Claude Code、Pi)。核心功能包括:自动化代码生成、代码审查、大型项目重构、并行任务处理。它通过bash命令结合伪终端(PTY)模式,在指定工作目录中安全、高效地运行AI智能体,适用于构建新功能、批量审查Pull Request、修复多个问题等场景。关键词:AI编码助手,自动化编程,代码审查,并行开发,PTY终端,Git工作流,后台进程,软件开发效率。

DevOps 2 次安装 51 次浏览 更新于 2/24/2026

name: coding-agent description: “通过后台进程将编码任务委托给 Codex、Claude Code 或 Pi 智能体。适用于:(1) 构建/创建新功能或应用程序,(2) 审查 PR(在临时目录中生成),(3) 重构大型代码库,(4) 需要文件探索的迭代编码。不适用于:简单的单行修复(直接编辑即可)、阅读代码(使用读取工具)或在 ~/clawd 工作区中的任何工作(切勿在此处生成智能体)。需要一个支持 pty:true 的 bash 工具。” metadata: { “openclaw”: { “emoji”: “🧩”, “requires”: { “anyBins”: [“claude”, “codex”, “opencode”, “pi”] } }, }

编码智能体(首选 bash)

所有编码智能体工作都使用 bash(可选后台模式)。简单有效。

⚠️ 必须使用 PTY 模式!

编码智能体(Codex、Claude Code、Pi)是交互式终端应用程序,需要伪终端(PTY)才能正常工作。没有 PTY,你会得到损坏的输出、缺少颜色,或者智能体可能挂起。

运行编码智能体时始终使用 pty:true

# ✅ 正确 - 使用 PTY
bash pty:true command:"codex exec '你的提示'"

# ❌ 错误 - 没有 PTY,智能体可能损坏
bash command:"codex exec '你的提示'"

Bash 工具参数

参数 类型 描述
command 字符串 要运行的 shell 命令
pty 布尔值 用于编码智能体! 为交互式 CLI 分配伪终端
workdir 字符串 工作目录(智能体仅看到此文件夹的上下文)
background 布尔值 在后台运行,返回用于监控的 sessionId
timeout 数字 超时时间(秒)(到期时终止进程)
elevated 布尔值 在主机上运行而不是沙箱中(如果允许)

进程工具操作(用于后台会话)

操作 描述
list 列出所有运行中/最近的会话
poll 检查会话是否仍在运行
log 获取会话输出(可选偏移量/限制)
write 向 stdin 发送原始数据
submit 发送数据 + 换行符(如键入并按 Enter)
send-keys 发送键令牌或十六进制字节
paste 粘贴文本(可选括号模式)
kill 终止会话

快速开始:一次性任务

对于快速提示/聊天,创建一个临时 git 仓库并运行:

# 快速聊天(Codex 需要一个 git 仓库!)
SCRATCH=$(mktemp -d) && cd $SCRATCH && git init && codex exec "你的提示"

# 或在真实项目中 - 使用 PTY!
bash pty:true workdir:~/Projects/myproject command:"codex exec '为 API 调用添加错误处理'"

为什么需要 git init? Codex 拒绝在受信任的 git 目录外运行。创建临时仓库可以解决临时工作的问题。


模式:workdir + background + pty

对于较长的任务,使用带 PTY 的后台模式:

# 在目标目录中启动智能体(使用 PTY!)
bash pty:true workdir:~/project background:true command:"codex exec --full-auto '构建贪吃蛇游戏'"
# 返回用于跟踪的 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 沙箱化但在工作区中自动批准
--yolo 无沙箱,无批准(最快,最危险)

构建/创建

# 快速一次性(自动批准)- 记住 PTY!
bash pty:true workdir:~/project command:"codex exec --full-auto '构建深色模式切换'"

# 后台进行较长工作
bash pty:true workdir:~/project background:true command:"codex --yolo '重构认证模块'"

审查 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"
# 完成后清理:删除 $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 '审查 PR #86. git diff origin/main...origin/pr/86'"
bash pty:true workdir:~/project background:true command:"codex exec '审查 PR #87. git diff origin/main...origin/pr/87'"

# 监控所有
process action:list

# 将结果发布到 GitHub
gh pr comment <PR#> --body "<审查内容>"

Claude Code

# 使用 PTY 以获得正确的终端输出
bash pty:true workdir:~/project command:"claude '你的任务'"

# 后台
bash pty:true workdir:~/project background:true command:"claude '你的任务'"

OpenCode

bash pty:true workdir:~/project command:"opencode run '你的任务'"

Pi 编码智能体

# 安装:npm install -g @mariozechner/pi-coding-agent
bash pty:true workdir:~/project command:"pi '你的任务'"

# 非交互模式(仍推荐 PTY)
bash pty:true command:"pi -p '总结 src/'"

# 不同的提供商/模型
bash pty:true command:"pi --provider openai --model gpt-4o-mini -p '你的任务'"

注意: Pi 现已启用 Anthropic 提示缓存(PR #584,于 2026 年 1 月合并)!


使用 git worktrees 并行修复问题

要并行修复多个问题,请使用 git worktrees:

# 1. 为每个问题创建工作树
git worktree add -b fix/issue-78 /tmp/issue-78 main
git worktree add -b fix/issue-99 /tmp/issue-99 main

# 2. 在每个工作树中启动 Codex(后台 + PTY!)
bash pty:true workdir:/tmp/issue-78 background:true command:"pnpm install && codex --yolo '修复问题 #78:<描述>。提交并推送。'"
bash pty:true workdir:/tmp/issue-99 background:true command:"pnpm install && codex --yolo '根据已批准的工单摘要修复问题 #99。仅实施范围内的编辑,并在审查后提交。'"

# 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

⚠️ 规则

  1. 始终使用 pty:true - 编码智能体需要终端!
  2. 尊重工具选择 - 如果用户要求使用 Codex,就使用 Codex。
    • 协调器模式:不要自己手动编写补丁。
    • 如果智能体失败/挂起,重新启动它或向用户询问方向,但不要默默接管。
  3. 保持耐心 - 不要因为智能体“慢”而终止会话
  4. 使用 process:log 监控 - 在不干扰的情况下检查进度
  5. 构建时使用 --full-auto - 自动批准更改
  6. 审查时使用普通模式 - 不需要特殊标志
  7. 并行是可以的 - 为批量工作同时运行多个 Codex 进程
  8. 切勿在 ~/clawd/ 中启动 Codex - 它会读取你的灵魂文档并对组织架构产生奇怪的想法!
  9. 切勿在 ~/Projects/openclaw/ 中检出分支 - 那是 LIVE OpenClaw 实例!

进度更新(关键)

当你在后台生成编码智能体时,让用户随时了解情况。

  • 启动时发送 1 条简短消息(正在运行什么 + 在哪里)。
  • 然后仅在发生变化时再次更新:
    • 完成一个里程碑(构建完成,测试通过)
    • 智能体提问 / 需要输入
    • 遇到错误或需要用户操作
    • 智能体完成(包括更改了什么 + 在哪里)
  • 如果你终止了一个会话,立即说明你终止了它以及原因。

这可以防止用户只看到“代理在回复前失败”而不知道发生了什么。


完成时自动通知

对于长时间运行的后台任务,在你的提示后附加一个唤醒触发器,以便在智能体完成时立即通知 OpenClaw(而不是等待下一个心跳):

... 你的任务。

当完全完成后,运行此命令通知我:
openclaw system event --text "完成:[简要总结构建的内容]" --mode now

示例:

bash pty:true workdir:~/project background:true command:"codex --yolo exec '为待办事项构建 REST API。

当完全完成后,运行:openclaw system event --text \"完成:构建了具有 CRUD 端点的待办事项 REST API\" --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 对俏皮的提示反应良好。让它写一首关于给太空龙虾当副手的俳句,得到了:“第二把交椅,我编码 / 太空龙虾定节奏 / 键光闪烁,我跟随” 🦞