3.2 KiB
3.2 KiB
title, type, tags, date
| title | type | tags | date |
|---|---|---|---|
| Claude Code 调用方法总结 | source | 2026-04-22 |
Source File
Summary(用中文描述)
- 核心主题:Hermes Agent 通过 terminal 工具调用 Claude Code 的两种模式及最佳实践
- 问题域:如何从外部 Agent(如 Hermes)可靠地触发并控制 Claude Code 执行任务
- 方法/机制:Print Mode(stdin 单次执行)与 TMUX 交互模式两种调用路径;关键参数包括
--permission-mode bypassPermissions、--dangerously-skip-permissions、--add-dir、--max-turns - 结论/价值:明确了何时使用
claude -p而非delegate_task,以及如何正确传递任务、配置 Skill 加载、规避常见坑点
Key Claims(用中文描述)
- Hermes Agent 使用
terminal工具调用claude -p是调用 Claude Code 的推荐方式 --permission-mode bypassPermissions直接设置 bypass 模式,跳过所有交互确认- 任务文本通过 stdin(heredoc)传入比命令行参数更可靠,可避免特殊字符转义问题
delegate_task调用的是 Hermes 子 Agent(API 调用),无法识别 SKILL.md;当任务需要 Claude Code 技能时应使用terminal调用claude -p- Skill 加载只需
--add-dir <技能目录>,Claude Code 会自动扫描 SKILL.md 和.claude/skills/目录
Key Quotes
"用
--permission-mode bypassPermissions可直接跳过信任目录 + bypass 权限确认两步,不需要额外的 sleep + send-keys 模拟交互。" — 核心参数说明 "不写 bypass 参数 → 文件写入被阻塞,任务卡住(优先用--permission-mode bypassPermissions)" — 常见坑点 "当任务需要调用 Claude Code 的 skill(如 fireworks-tech-graph)时,应使用terminal调用claude -p,而非delegate_task" — 结论
Key Concepts
- Print Mode:通过
claude -p print非交互单次执行模式,适合绝大多数任务 - TMUX 交互模式:通过 TMUX 创建持久会话并附加交互,适合超长任务
- bypassPermissions:
--permission-mode bypassPermissions参数,直接跳过所有权限确认 - Skill 加载:
--add-dir加载技能目录,自动识别 SKILL.md - delegate_task vs claude -p:子 Agent vs 外部 CLI 的本质区别与适用场景
Key Entities
- Claude Code:Anthropic CLI agent,被调用方
- Hermes:主 Agent,通过 terminal 工具调用 Claude Code
- TMUX:终端多路复用器,用于持久化 Claude Code 交互会话
Connections
- Claude Code ← 调用方 ← Hermes
- claude-code调用方法总结 ← 补充 ← 如何在项目里安装Claude Code Templates Skills
- claude-code调用方法总结 ← 对比 ← delegate_task vs claude -p
Contradictions
- 与 llm-wiki 冲突:
- 冲突点:llm-wiki 中描述的
delegate_task + acp_command='claude'调用 Claude Code 路径 - 当前观点:AGENTS.md 中说明只有
provider=copilot-acp时 acp 参数才真正建立外部 CLI 通道;普通delegate_task调用的是 Hermes 子 Agent - 对方观点:llm-wiki 描述了通过 ACP 协议调用 Claude Code 的方式,可能在特定配置下有效
- 冲突点:llm-wiki 中描述的