SuperAPI AI 工具集

claude-exec

智能体与模型

查看项目

更新于 10-15 17:29

技能介绍

用途:通过 Claude Code 的 print 模式运行一条调用方提供的提示,并捕获结果。仅当调用方选择 Claude 时使用,默认仍是原生 agent,批量任务属于 agent-native。

主要能力与用法:参数与 claude --help(2.1.282)一致,其他版本需重新核对。运行时应从文件重定向提示,或把提示作为参数并加 </dev/null,因为 print 模式会读到 stdin 结束,未关闭的管道会挂起直到超时终止。建议用 GNU timeout 或 Homebrew 的 gtimeout,没有超时工具就不要启动。只读任务可用 --tools "Read,Grep,Glob" 与 --permission-mode dontAsk;需要改文件时用 --tools "Read,Grep,Glob,Edit,Write" 与 --permission-mode acceptEdits。为隔离用户环境,使用 --setting-sources ""、--strict-mcp-config、--disable-slash-commands 等干净参数。只有被 --allowedTools 明确授权的命令才把 Bash 加入 --tools,例如 "Bash(go test *)"。

限制与失败模式:裸运行会继承用户设置、hooks、插件、MCP 和 CLAUDE.md,即使用 --safe-mode 也可能保留 bypassPermissions 默认值,因此要显式设置工具与权限模式。print 模式不会询问,未批准的调用会被拒绝并列入 permission_denials。一次调用只使用调用方剩余时间的一个界限,重试会消耗而不是续期,通常只做一次尝试。退出 0 不能作为成功的证明:被拒调用仍可能以 exit 0、is_error: false 返回 "done"。结果 JSON 包含 result、is_error、session_id、total_cost_usd、num_turns、permission_denials 以及按计费模型索引的 modelUsage。用退出状态和 is_error 判断:未知模型会以 exit 1 和 subtype: "success" 退出;exit 1 也可能是预算耗尽或输入缺失;超时返回 124,KILL 在 10 秒后返回 137。可用 --max-budget-usd 限制预算,但 --help 未列出轮次上限,因此需用时间和预算双重约束。--no-session-persistence 不保留会话记录。审查运行应为独立会话,而非作者会话。若没有 claude、登录或模型,应报告并停止,而不是切换运行时或使用 --fallback-model。