本技能是编程任务分流器 + ACPX 任务整理与执行器。一旦识别为编程任务(修 Bug、加功能、重构、代码审查,创建新代码项目等),必须严格遵循以下工作流。
接收请求后,首先进行二元判断:
- 简单任务(直接回答,不调 ACPX)
- 特征:生成短片段/正则/SQL/命令、解释代码/报错/API、单文件明确且低风险的小改动。
- 动作:当前模型直接给出高质量结果。
- 复杂任务(走 ACPX 执行链路)
- 特征:创建多文件新项目/跨文件/跨模块/跨仓库、定位根因、调试复杂 Bug、需要跑命令/构建/测试、或用户明确要求使用 ACPX。
- 动作:进入第二阶段,严禁强行在当前会话中用文本输出大量代码。
在调用 ACPX 前,必须严格按照以下两个步骤补齐上下文并建立工作环境。严禁跳过任何一步。
- 动态获取实际工作目录:使用
pwd或$PWD获取当前 workspace 路径(通常为/root/.openclaw/workspace) - 如果是新项目:在当前 workspace 下创建项目目录,如:
# 获取实际工作目录 WORKSPACE=$(pwd) # 通常为 /root/.openclaw/workspace # 创建项目目录 mkdir -p "$WORKSPACE/ <项目名> " # 示例:mkdir -p /root/.openclaw/workspace/quant-trading-web 项目名> - 如果是已有项目:使用
pwd确认当前工作目录,或明确指定目标路径。
为避免 Shell 转义问题,并在物理路径上锚定上下文,必须将用户需求转换为无歧义的执行任务单,并直接写入$WORKSPACE的目录下(比如文件命名为 $WORKSPACE/xx_yy_project_prompt.txt,其中xx、yy是根据项目名称提取的英文名称)。
请直接执行以下任务,不要进入规划模式,不要询问,一气呵成完成代码编写,完成后汇报结果。 【核心约束】 1. 禁止运行任何阻塞性命令(如 npm run dev/start、vite 等),验证请使用一次性命令(npm run build/test/go build 等)。 2. 遇到编译/类型/运行错误必须尝试自动修复,勿直接交还给人类。 3. 先阅读相关代码再修改;优先最小改动,不做无关重构。 【目标与背景】
<说明具体问题、涉及文件及预期行为>
代码工作目录:已创建"$WORKSPACE/
<项目名>
" 目录,代码写到这里。 【执行边界】
<允许 禁止修改的模块,必须遵守的架构规范="">
【验收标准】
<列出可验证的条件,如:报错消失、构建通过>
列出可验证的条件,如:报错消失、构建通过>
允许>
项目名>
说明具体问题、涉及文件及预期行为>
- 查阅
acpx技能最新手册:/usr/lib/node_modules/openclaw/extensions/acpx/node_modules/acpx/skills/acpx/SKILL.md - 解析命令: 查找 acpx 执行程序路径:
PATH环境变量 -> OpenClaw 安装路径 -> 当前仓库 repo-local。
if command -v acpx >/dev/null 2>&1; then ACPX_CMD="$(command -v acpx)" elif [ -x /usr/lib/node_modules/openclaw/extensions/acpx/node_modules/.bin/acpx ]; then ACPX_CMD="/usr/lib/node_modules/openclaw/extensions/acpx/node_modules/.bin/acpx" elif [ -x ./extensions/acpx/node_modules/.bin/acpx ]; then ACPX_CMD="./extensions/acpx/node_modules/.bin/acpx" else echo "acpx not found" >&2 exit 1 fi # 检查 acpx 版本信息 "$ACPX_CMD" --version
- 默认优先使用
claude;失败或不可用时,回退至opencode。
为了直接驱动底层的 Claude Code/Codex/OpenCode 等官方 CLI 代理,我们采用 Direct acpx 路径。严禁依赖可能会导致"假死"或误判的 history 轮询。
请在终端中严格执行以下命令流:
# 0. 准备变量 (执行前务必替换尖括号内的绝对路径和内容) WORKSPACE=$(pwd) # 通常为 /root/.openclaw/workspace CWD_PATH="$WORKSPACE/
<项目名>
" SESSION_NAME="oc-claude-task01" # 建议格式: oc-
<模型名>
-
<任务标识>
# 1. 创建或确保目标会话存在 (注意:--cwd 是全局选项,必须放在 claude 前面!) $ACPX_CMD --cwd "$CWD_PATH" claude sessions show "$SESSION_NAME" || $ACPX_CMD --cwd "$CWD_PATH" claude sessions new --name "$SESSION_NAME" # 2. 提交任务到后台队列 (必须使用 --no-wait 避免主会话阻塞卡死) # 注意:--cwd 是全局选项放前面,--timeout 1800:30 分钟超时保护 --ttl 0:防止队列因空闲被关闭。 -s 是子命令选项放后面,--format 不是有效选项 $ACPX_CMD --cwd "$CWD_PATH" --timeout 1800 --ttl 0 claude -s "$SESSION_NAME" --no-wait --file "$WORKSPACE/
<你的prompt文件.txt>
" # 3. 检查任务状态 (正确格式:全局选项 + agent + 子命令 + 子命令选项) $ACPX_CMD --cwd "$CWD_PATH" claude status -s "$SESSION_NAME"
你的prompt文件.txt>
任务标识>
模型名>
项目名>
如果遇到会话被中止(aborted)的情况:
- 原因分析:
- 主会话阻塞等待时间过长(>60秒无响应)
- 模型 API 超时或网络问题
- 缺少后台执行机制
- 解决方案:
- 优先使用
--no-wait模式:启动 ACPX 后立即返回,不阻塞主会话 - 手动轮询检查:使用
exec定期检查$ACPX_CMD --cwd "$CWD_PATH" claude status -s "$SESSION_NAME" - 善后检查:会话中止后,必须主动检查项目状态(构建结果、生成的文件等)并汇报
- 优先使用
- 中止后的必做事项:
# 检查项目目录和构建状态 ls -la /root/.openclaw/workspace/ <项目名> / cd /root/.openclaw/workspace/ <项目名> && npm run build 项目名> 项目名>
无论任务成功、失败还是中断,当前模型必须主动执行以下善后流程,绝不能让用户"盲猜"进度!
- 成功:使用项目对应命令(
npm run build,pytest,cargo build等)确认验证通过。 - 失败/中断:必须主动读取错误日志 -> 尝试自动修复(删冗余导入、补类型等) -> 重新构建。若彻底无法修复,整理阻塞原因。
若为前端 Web 项目(React/Vue/Vite等),在 ACPX 执行并构建成功退出后,当前模型必须自动执行 npm run dev(或对应启动命令),并提取本地访问链接。
必须按照以下结构向用户输出最终总结:
[✅ 任务完成! | ⚠️ 任务部分完成 | ❌ 任务遇到问题]
1. 结论:一句话总结执行结果。 2. 根因/现状:Bug 原因或修改前状态。 3. 修改内容:改动了哪些核心文件与逻辑。 4. 验证结果:构建状态(如失败说明尝试过的修复)。 5. 剩余风险/下一步:待解决问题。 🔗 访问链接: <如果是前端项目,附带开发服务器地址>如果是前端项目,附带开发服务器地址>
npm run dev?(绝对禁止)--no-wait,但我是否忘记检查任务状态了?(可以稍后用 status 命令查看)–cwd 放在正确位置了?(必须是全局选项,放在 agent 前面)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/260370.html