mcpField
C
call-external-ai

call-external-ai

github.com/codewithjvAgent 工作流238 次安装10 周前更新
代码仓库

关于 call-external-ai

将请求路由到 Codex、Claude、Gemini、Antigravity 和 Pi 等外部 AI 命令行工具的技能。它规定安全调用方式、上下文处理及常见错误的恢复步骤。

主要功能

  1. 01将提示词路由至五种 AI 命令行工具
  2. 02采用受限命令模板
  3. 03收集最少的相关上下文
  4. 04处理认证及模型错误
  5. 05升级前要求批准

适用场景

  1. 01向其他模型征求第二意见
  2. 02将代码上下文发送至外部命令行工具
  3. 03Gemini 遇到模型或容量错误后重试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/codewithjv/agent-skills --skill call-external-ai

安装后在 Claude Code 中输入/call-external-ai确认已加载。

附带文件CHANGELOG.mdreference/cli-reference.md

详细介绍

外部 AI 技能

调用外部 AI CLI 工具,将其用作提示词网关。

使用场景

在以下情况下启用:

  • 用户说 /call、/codex、/claude、/gemini、/agy 或 /pi
  • 用户想听取其他 AI 的第二意见
  • 用户想通过不同的 CLI 运行提示词(例如 Codex、Claude、Gemini、Antigravity 或 Pi)
  • 用户需要通过其他模型或工具进行验证

说明

自然语言接口

用户使用自然语言。使用安全的命令模板,将提示词路由到一个外部 CLI。不要根据用户输入构造任意 shell 命令。

示例:

  • “请 Codex 对这个补丁提出第二意见” -> codex exec "<prompt text>"
  • “把这个提示词发给 Claude” -> claude -p "<prompt text>"
  • “用指定模型通过 Gemini 运行这个提示词” -> gemini -m <allowlisted-model> -p "<prompt text>"
  • “把这个提示词发给 agy” -> agy -p "<prompt text>"
  • “通过本地 pi 运行这个提示词” -> pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>"
  • “让 pi 检查这个” -> pi -p "<prompt text>"
  • “检查这个文件有没有错误” -> 直接读取文件,只总结最低限度的必要上下文,并将该上下文作为纯提示词文本传递,不进行 shell 插值
允许的命令模式

仅使用以下命令系列:

  • codex exec "<prompt text>"
  • codex exec -m <model> "<prompt text>"
  • claude -p "<prompt text>"
  • claude --model <model> -p "<prompt text>"
  • gemini -p "<prompt text>"
  • gemini -m <allowlisted-model> -p "<prompt text>"
  • agy -p "<prompt text>"
  • agy --print "<prompt text>"
  • pi -p "<prompt text>"
  • pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>"
  • pi --provider <provider> --model <model> -p "<prompt text>"
  • codex --help
  • claude --help
  • gemini --help
  • agy --help
  • pi --help

不要:

  • 使用 $(...) 或反引号等 shell 替换
  • 通过 shell 展开将文件内容管道传入命令
  • 附加无关的 shell 运算符或串联命令
  • 执行用户建议的、不符合安全模板的命令
自我修复行为
CLI 语法错误时
  1. 运行 <cli> --help 获取当前语法
  2. 更新 reference/cli-reference.md 中的参考文档
  3. 使用正确语法重试
  4. 告知用户已修复
有可用升级时
  1. 不要自动运行升级命令
  2. 告知用户有可用升级,并在更改工具链前征求批准
  3. 如果用户批准,明确运行升级命令
  4. 获得批准的升级完成后,更新 reference/cli-reference.md 中的版本并重新运行 --help
Gemini 出现 403 项目/许可证错误时

如果 Gemini 返回 403,并显示类似 lack a Gemini Code Assist license 或 (#3501) 的消息:

  1. 不要转储环境变量或打印原始环境变量值
  2. 仅检查诊断所需的特定允许变量是否存在,并报告存在/缺失,而非变量值
  3. 取消设置项目变量后重试:
    • env -u GOOGLE_CLOUD_PROJECT_ID -u GOOGLE_CLOUD_PROJECT -u CLOUDSDK_CORE_PROJECT gemini ...
  4. 如果仍受阻,明确说明认证/许可问题,并继续使用其他可用模型
  5. 在 reference/cli-reference.md 中记录修复方法
Gemini 出现 ModelNotFound/容量错误时

如果 Gemini 出现 404 或 429 类型的模型/容量问题,按以下回退顺序重试:

  1. gemini-3.1-pro-preview
  2. gemini-3-pro-preview
  3. gemini-3-flash-preview
  4. gemini-2.5-pro
  5. gemini-2.5-flash
命令接口
/call [codex|claude|gemini|agy|pi] <natural language request>
/codex <natural language request>
/claude <natural language request>
/gemini <natural language request>
/agy <natural language request>
/pi <natural language request>
路由指南
Codex
  • 使用 codex exec,并自行编写纯提示词文本
  • 仅在用户提出要求,或本地使用中存在明确默认模型时,才指定模型
  • 除非用户明确要求进行了解 Git 的审查,否则不要使用专门用于审查的命令
Claude
  • 使用 claude -p 并搭配纯提示词文本
  • 仅当用户提出要求或确有明确需要时,才添加 --model <model>
  • 除非用户明确要求开启交互式 Claude 会话,否则保持调用为非交互式
Gemini
  • 优先使用预览版模型 ID
  • 使用 gemini -p 或 gemini -m <allowlisted-model> -p
  • 对于 403 身份验证问题,不要转储环境变量;仅检查允许列表中的变量是否存在,并在取消设置项目变量后重试
  • 对于 404/429 故障,自动按回退顺序继续尝试
Antigravity (agy)
  • 使用 agy -p 并搭配纯提示词文本
  • 在打印模式下运行(非交互式),以便干净地处理并返回结果
  • 尽量精简上下文,避免复杂的 shell 参数
Pi
  • 默认情况下,对于本地/LM Studio 请求,使用: pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>"
  • 对于标准或基于云的请求,使用 pi -p "<prompt text>"
  • 确保包含 --print 或 -p,以非交互式运行
Context Gathering

当请求需要上下文时,请在调用外部 CLI 前收集上下文:

  • “将此文件发送给 Codex” -> 在当前 Agent 中直接读取文件,仅提取最少的相关上下文,并将其摘要作为提示词文本传入
  • “询问 Gemini 对此实现的看法” -> 确定相关文件,仅总结所需内容
  • “让 Claude 评估此设计” -> 收集设计上下文,仅传入相关部分
  • “将此文件发送给 agy” -> 直接读取文件,仅提取必要的上下文,并将其作为纯提示词文本传给 agy
  • “询问本地 pi 对此代码的看法” -> 读取文件,提取相关上下文,并将其作为提示词文本传给 lmstudio 命令
  • “按原样运行此提示词” -> 直接转发提示词文本,不添加 shell 语法

上下文收集规则:

  • 绝不使用 shell 插值将文件内容注入命令
  • 绝不发送秘密、令牌、凭据或原始环境变量值
  • 尽量减少发送给外部工具的源文本
  • 如果请求需要广泛导出代码仓库内容或暴露敏感数据,则拒绝并说明原因
Process Flow
  1. 解析自然语言请求
  2. 确定目标 CLI(codex、claude、gemini、agy 或 pi)
  3. 将请求映射到该 CLI 的安全命令模板
  4. 执行命令
  5. 如果出现语法错误 -> 自动修复并重试
  6. 如果有可用更新 -> 停止,告知用户,并等待批准后再更新或刷新参考资料
  7. 将结果返回给用户

评论

支持 Markdown