
coding-agent-common
通用编码代理技能,整合 Codex、ClaudeCode、OpenCode 等工具。适用:新建功能/应用、重构大型代码库、Bug 修复、代码审查、迭代编码。不适用:单行修改(edit)和读取代码(read)。
通过 OpenClaw 使用 Bash 启动并管理 AI 编码智能体(Codex、Claude Code、Kiro CLI、OpenCode、Pi),支持后台进程控制。
编码智能体是交互式终端应用,必须运行在伪终端(PTY)环境中。缺少 PTY 会导致输出错乱或智能体挂起。
务必设置 pty:true:
# 正确 — 启用 PTY bash pty:true command:"codex exec 'Your prompt'" # 错误 — 智能体可能异常或挂起 bash command:"codex exec 'Your prompt'"
| 参数 | 类型 | 说明 |
|---|---|---|
command |
string | 要执行的 Shell 命令 |
pty |
boolean | 分配伪终端(编码智能体必需) |
workdir |
string | 工作目录(智能体仅可见该目录下的文件) |
background |
boolean | 后台运行;返回 sessionId 用于后续监控 |
timeout |
number | 超时时间(单位:秒;超时后自动终止进程) |
elevated |
boolean | 在宿主机而非 sandbox 中运行(需权限允许) |
| 操作 | 说明 |
|---|---|
list |
列出所有正在运行或最近结束的会话 |
poll |
检查指定会话是否仍在运行 |
log |
获取会话输出日志(可选指定偏移量与条数限制) |
write |
向 stdin 写入原始数据(不附加换行符) |
submit |
向 stdin 写入数据并追加换行符(模拟输入后按 Enter) |
send-keys |
发送按键字符或十六进制字节 |
paste |
粘贴文本(可选启用 bracketed paste 模式) |
kill |
终止该会话 |
workdir + background + pty对于耗时较长的任务,应同时启用三项:
# 1. 启动智能体 bash pty:true workdir:~/project background:true command:"codex exec --full-auto 'Build a snake game'" # → 返回 sessionId # 2. 监控进度 process action:log sessionId:XXX # 3. 检查是否完成 process action:poll sessionId:XXX # 4. 若智能体提出问题,则发送输入 process action:submit sessionId:XXX data:"yes" # 文本 + Enter process action:write sessionId:XXX data:"y" # 原始按键输入 # 5. 若卡死则终止 process action:kill sessionId:XXX
为何需要 workdir?
智能体会以该目录为根启动,不会访问无关路径下的文件,确保上下文聚焦、安全可控。
# 单次执行 bash pty:true workdir:~/project command:"claude 'Your task'" # 后台运行 bash pty:true workdir:~/project background:true command:"claude 'Your task'"
name: pr-review
description: 审查 Pull Request,检查代码质量、安全漏洞及测试覆盖率。
bash pty:true workdir:~/project command:"opencode run 'Your task'"
利用隔离的 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. 启动智能体(后台 + 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:. Commit and push.'" # 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 将导致输出异常或智能体挂起;mktemp -d && git init 初始化空仓库;exec —— codex exec "prompt" 可保证执行完毕后干净退出;submit 与 write 的区别 —— submit 自动添加换行符,适合提交完整输入;write 发送原始字节流,适用于模拟按键等精细控制;/ 命令触发;Kiro 会根据用户请求自动匹配技能描述;/plan 可显著提升多步骤功能开发效率,提前明确需求与边界。|
1 |
|







