Giasip dispatch
Skill GiaSip/giasip-skills/locales/zh/skills/giasip-dispatch
Evidence-grounded research agent for Claude Code & Codex: every claim gets a confidence rating + source-family tag, and adversarial gates block unsupported claims before they reach your report. Ships with a multi-model dispatcher.
npx -y skills add GiaSip/giasip-skills --skill giasip-dispatchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
多模型调用器 — 把任务或 prompt 派发给其他 AI 模型(Codex / Gemini / Kimi / DeepSeek / 豆包 / Qwen / GLM / MiniMax)执行并取回结果。当你想用某个或某几个其他模型跑任务、需要多模型交叉对比验证、或想用更便宜的模型省钱时触发。提供两类调用通道:API 直调(只需 API key)和 CLI 调用(需本地装对应 CLI)。触发信号:「用 Kimi/Codex/Gemini 跑一下」「交给其他 AI」「换个模型试试」「让几个模型都看看」「这个不用最贵的模型」。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
13.7 KB, as published. Nobody here has run it
✦ A GiaSip skill · part of the
giasiptoolkit · github.com/GiaSip
/dispatch — 多模型调用器
把一个任务或 prompt 派发给其他 AI 模型执行,取回结果。这个 skill 只提供调用能力——选哪个模型、单派还是多派,由你(或当前的 Claude)根据任务临场判断,本 skill 不内置选型偏好。
脚本目录(Script Directory)
重要:所有脚本都在本 skill 目录下的 scripts/ 子目录里。
Agent 准备 —— 跑下面任何命令前先做一次:确定包含本 SKILL.md 的目录的绝对路径,export 为 BASE_DIR:
# 全局安装(最常见);作为 plugin 安装时改用 plugin 缓存路径
export BASE_DIR="$HOME/.claude/skills/giasip-dispatch"
下文所有命令都用 $BASE_DIR/scripts/<脚本名> 引用脚本。BASE_DIR 是你自己在 session 里设的 shell 变量——运行时不存在 CLAUDE_SKILL_DIR 这个注入变量,所以必须先设 BASE_DIR,否则脚本路径会解析为空。
两类调用通道
| 通道 | 模型 | 前提 |
|---|---|---|
| API 直调(curl,最快) | DeepSeek / Qwen / GLM / 豆包 / MiniMax | 只需在 ~/.config/ai-keys/ 放对应 .env(含 API key) |
| CLI 调用 | Codex / Gemini / Kimi | 需本地安装并登录对应 CLI |
| 内部 SubAgent | Claude Haiku / Sonnet | Claude Code 自带,无需外部依赖 |
纯思考/分析类任务(不需要读文件、执行命令、改代码)优先走 API 直调——比 CLI 快约 10 倍。需要 Agent 能力(操作文件系统、执行命令、改代码)才走 CLI。
通用纪律(所有 CLI 调用必读)
- 用 heredoc 传 prompt —— 避免引号 / 特殊字符问题。
- 所有 CLI 调用加
</dev/null—— Claude Code 的 Bash 环境中 stdin 是永不关闭的管道,不加会导致 CLI 卡死在等待 stdin。 - 构造 prompt 时:简洁明确;不要塞入 Claude Code 专有概念(skills / hooks / SubAgent);中文任务用中文 prompt,英文任务用英文 prompt;涉及具体项目时补必要上下文。
复杂度路由
根据任务性质自动选择派遣策略:
视觉任务?(PDF 图册 / 扫描件 / 截图 / 图片解析)
├── 是 → [Gemini CLI] — 原生 PDF + 图片视觉解析
│ 触发:用户提供了图片/PDF 路径 + 任务涉及"读取"内容;
│ 或 markitdown 输出为空/异常小
│ → 不要先试 markitdown——直接路由 Gemini
│
├── 纯思考/分析(商业分析、战略、文本理解、翻译)
│ → [API 直调] — 不需要 Agent 能力,直接 curl
│ 快 10 倍;支持没有 CLI 的模型(DeepSeek/Qwen/GLM 等)
│
├── 简单 + 可逆(装包、格式化、搜索、生成模板)
│ → [单派] — 优先 Claude SubAgent (Haiku) 追求速度
│ 只有需要中文原生或特定 AI 能力时才走外部 CLI
│
├── 代码执行(修 bug、写测试、小重构、生成代码文件)
│ → [Codex 写模式] — sandbox=full,Codex 直接改代码
│ 条件:任务明确、在 git 管理项目中、影响可控
│ 执行后必须提醒用户 `git diff`
│
├── 中等复杂(功能开发、文档分析、代码分析)
│ → [单派] — 发给最合适的 AI
│
├── 复杂 + 不可逆(架构设计、技术选型、大重构)
│ → [多派] — 自动升级,发给 2-3 个 AI 对比
│
└── 用户指定("用 Kimi 跑一下")
→ [直接指派] — 发给指定 AI,跳过匹配
多派触发条件(满足任一自动升级):
- 用户说"重要"、"关键决策"、"不能出错"
- 任务涉及不可逆操作(数据库迁移、生产部署)
- 任务是技术选型或架构设计
- 预估影响面 > 10 文件或 3 模块
- 中文商业/战略分析任务(默认三路并行)
→ 多派阵容推荐见 references/model-roster.md。
调用方式
API 直调(DeepSeek / Qwen / GLM / 豆包 / MiniMax)
不需要 Agent 能力的纯分析任务,直接调 API。通用脚本:
$BASE_DIR/scripts/api-dispatch.sh --model <model> "$(cat <<'EOF'
prompt 内容
EOF
)"
长文本用 stdin:
echo "长文本内容" | $BASE_DIR/scripts/api-dispatch.sh --model <model> --stdin
支持的模型 — 完整阵容及各模型强项见 references/model-roster.md。
| 参数 | 模型 | Key 文件 | 上下文 |
|---|---|---|---|
deepseek | DeepSeek V4-Pro(思考模式默认开) | deepseek.env | 1M |
qwen | 通义千问 Qwen3.6 Plus | dashscope.env | 1M |
glm | 智谱 GLM-5.1(旗舰) | zai.env | 200K |
doubao | 字节豆包 Seed-2.0 Pro | volcengine.env | 256K |
minimax | MiniMax M2.7 | minimax.env | — |
模型名随版本更新——调用前可查各家最新文档。
Codex CLI(OpenAI)— 通过 App Server 协议直连,无冷启动
只读模式(分析 / review / 调研):
node $BASE_DIR/scripts/codex-appserver.mjs --effort xhigh "$(cat <<'EOF'
prompt 内容
EOF
)" </dev/null
写模式(改代码 / 修 bug / 写测试 / 生成文件):
node $BASE_DIR/scripts/codex-appserver.mjs --effort xhigh --sandbox full "$(cat <<'EOF'
prompt 内容
EOF
)" </dev/null
写模式安全规则:
- 仅在 git 管理的项目目录中使用(
--cwd /path/to/project) - 执行完成后必须提醒用户
git diff检查变更;不满意git checkout .回退 - 涉及生产代码 / 数据库 / 部署脚本时,降级为只读模式 + 输出建议
注意:
--sandbox默认read-only;写模式用full(脚本另支持workspace-write/danger-full-access等高级值)- 脚本已内置非 ASCII 路径自动 symlink 绕行(
--cwd含中文等字符时自动在/tmp建临时 symlink,退出清理) - 不要加
2>/dev/null——脚本在 stderr 输出结构化进度和错误信息 - 长文本可用 stdin:
echo "长文本" | node $BASE_DIR/scripts/codex-appserver.mjs --stdin --effort xhigh
Gemini CLI(Google)— 推荐走 supervisor 脚本
supervisor 内置智能 retry / fallback chain / circuit breaker / timeout / 日志:
$BASE_DIR/scripts/gemini-supervisor.sh --cwd "/path/to/work/dir" "$(cat <<'PROMPT_END'
prompt 内容
PROMPT_END
)"
Supervisor 默认行为:
- Fallback chain:高配模型 → GA 稳定版 → flash 版(任一不可用自动跳下一个)
- 错误分类:429 短期拥塞 backoff + jitter 重试;日 quota 耗尽立即跳下一个模型;503 走相同 backoff 路径
- 全局 attempt budget 6 次;单模型 hard timeout 600s(可改
GEMINI_MODEL_TIMEOUT) - Circuit breaker:单模型连续 3 次失败进 30 分钟 cool-down
- 日志
~/.cache/dispatch/gemini.log(JSONL)+ 状态~/.cache/dispatch/gemini-state.json
指定单一模型(不走 fallback): $BASE_DIR/scripts/gemini-supervisor.sh --model <model-id> "prompt"
stdin 模式(长 prompt 推荐): cat prompt.txt | $BASE_DIR/scripts/gemini-supervisor.sh --stdin --cwd "/work/dir"
Gemini 视觉 / PDF 解析(Gemini 原生支持 PDF + 图片视觉解析,是处理无文字层 PDF / 截图的标准路径):
$BASE_DIR/scripts/gemini-supervisor.sh \
--cwd "/path/to/files/dir" \
"$(cat <<'PROMPT_END'
请完整解析 xxx.pdf 的所有页面内容,输出 markdown 格式:
- 保留所有数据表格(用 markdown 表格语法)
- 保留所有规格、技术参数、型号
- 标注页码(## Page 1 / ## Page 2 ...)
- 不要省略任何技术细节
PROMPT_END
)" > output.md
适用:PDF 图册(无文字层)、扫描件、产品样本、截图分析、图片 OCR、图表数据提取。输出大文件时建议管道写盘(... > output.md),避免长输出截断 stdout。
Kimi CLI(月之暗面)— 推荐走封装脚本,自动 endpoint 路由
Thinking 模型纪律:Kimi K2.6 是 thinking 模型——复杂 prompt 推理可能耗时数分钟。Bash timeout 必须 ≥600000(10 分钟)。脚本内置 SSE streaming + idle guard(120s 无字节阈值)+ 900s hard cap。不要中途 kill 或用手写 curl 替代。快速模式:前缀
KIMI_NO_THINK=1(注入{"thinking":{"type":"disabled"}},~4s 响应,但质量下降——仅用于非推理任务)。
# 默认:走 Moonshot 通用 endpoint(api.moonshot.cn/v1, MOONSHOT_API_KEY)
$BASE_DIR/scripts/kimi-dispatch.sh "$(cat <<'EOF'
prompt 内容
EOF
)"
# Opt-in coding endpoint(kimi CLI + api.kimi.com/coding/v1, KIMI_API_KEY)
KIMI_FOR_CODING=1 $BASE_DIR/scripts/kimi-dispatch.sh "prompt"
# 快速模式(禁用 thinking,~4s 响应)
KIMI_NO_THINK=1 $BASE_DIR/scripts/kimi-dispatch.sh "简单任务"
| Endpoint | 特点 | 适合 |
|---|---|---|
| 默认 Moonshot 通用 | reasoning 可见、保留追问倾向 | 通用分析、综合问答 |
KIMI_FOR_CODING=1 | 输出体量更大、自带 agent harness、reasoning 不可见 | 长篇报告、agent 自主写文件、多步骤代码 |
Claude Code 内部 SubAgent(不走外部 CLI)
简单任务用 Haiku、标准任务用 Sonnet 时,直接用 Agent 工具派 SubAgent(指定 model: haiku 或 model: sonnet)——比 headless CLI 更快更便宜,且无外部依赖。
环境检查
调用前快速确认可用工具:
# CLI 工具
command -v codex; command -v gemini; command -v kimi
# API key(用于 API 直调)
ls ~/.config/ai-keys/*.env 2>/dev/null
只派可用的模型。CLI 不可用时切到 API 直调或换模型;API key 存在即可调用对应模型。
多模型并行(交叉对比 / 多方验证)
需要多个模型对同一问题给出独立视角时,并行发出多个 Bash 调用即可,最后由 Claude 综合对比。典型场景:重要决策、技术选型、不可逆操作前的交叉验证、对单一模型结果不放心。
# 三路并行示例(同一 prompt 发给三个模型)
$BASE_DIR/scripts/kimi-dispatch.sh "分析任务" &
$BASE_DIR/scripts/api-dispatch.sh --model deepseek "分析任务" &
$BASE_DIR/scripts/api-dispatch.sh --model doubao "分析任务" &
wait
选阵原则:认知多样性 > 数量——选训练数据 / 架构差异大的模型,得到的视角才真正不同;始终用各模型最高配置,控成本靠控频率而非降单次质量。
执行参数
- Bash timeout:
- Codex 深度推理(xhigh):
600000(10 分钟,Bash 工具上限,与脚本默认 600s 对齐) - Gemini 单派:
240000(4 分钟);多派每路300000(5 分钟) - Kimi(thinking 模型):单派/多派一律
≥600000(推理尾部长且不可预测);仅KIMI_NO_THINK=1快速模式可用240000
- Codex 深度推理(xhigh):
- 单派 = 一个 Bash 调用;多派 = 多个 Bash 调用并行发出
- Codex 走 App Server 协议直连无冷启动,xhigh 深度推理通常 3-8 分钟
- Gemini / Kimi 走 CLI headless 模式,保留
2>/dev/null
Fallback 链
首选通道失败(超时 / 报错)
→ 尝试备选模型(同类能力)
→ 备选也失败
→ 降级为"仅推荐"模式:输出建议方案但不执行,交还用户
输出格式
单派:
## 任务执行结果
**执行者:** [模型名] **任务:** [一句话复述]
### 结果
[模型输出]
### 执行信息
- 耗时:[X 秒] 状态:[成功 / 部分成功 / 失败]
多派:
## 任务执行结果(多派)
**任务:** [一句话复述]
### [模型 1] 的方案
[核心要点 3-5 条]
### [模型 2] 的方案
[核心要点 3-5 条]
### 综合分析
- **共识:** [各方一致的部分]
- **分歧:** [不同点,标注各方立场]
- **我的判断:** [Claude 作为调度员的独立评估]
回答持久化
使用 dispatch-persist.mjs 将完整一手回答持久化到 ~/.cache/dispatch/responses/YYYY/MM/DD/<response_id>.md(YAML frontmatter + prompt + response),并追加到 ~/.cache/dispatch/index.jsonl(消费入口)。将 dispatch 输出 pipe 给此脚本,或将其 hook 进 dispatch 脚本,避免回答随 /tmp 或 session 日志丢失。
多派时设置 DISPATCH_BATCH_ID 将同批回答归组:
batch_id="$(uuidgen)"
DISPATCH_BATCH_ID="$batch_id" $BASE_DIR/scripts/kimi-dispatch.sh "任务" &
DISPATCH_BATCH_ID="$batch_id" $BASE_DIR/scripts/api-dispatch.sh --model deepseek "任务" &
wait
实现细节见 $BASE_DIR/scripts/dispatch-persist.mjs。
脚本清单
| 脚本 | 作用 |
|---|---|
api-dispatch.sh | API 直调(DeepSeek / Qwen / GLM / 豆包 / MiniMax) |
codex-appserver.mjs | Codex App Server 协议直连(只读 / 写模式) |
gemini-supervisor.sh | Gemini CLI 调用 + retry / fallback / circuit breaker |
kimi-dispatch.sh | Kimi 调用 + endpoint 路由 + thinking 模式控制 |
dispatch-persist.mjs | 回答持久化 — 自动落盘 dispatch 结果 |
stop-review-gate.mjs | Codex stop hook — 停止前门控代码 review |
安装、依赖、API key 配置见 README.md。