Summon 扩展
Summon 扩展让你把可复用的任务来源加载进 goose 的上下文,并把工作委派给子智能体。
可以加载不同类型的来源:
- 配方:带提示词和参数的自动化任务定义
- 智能体:存放在智能体目录中的可复用智能体定义
- 子配方:当前配方里可用的配方本地任务
当你希望 goose 复用任务定义、把工作交给另一个智能体,或并行做只读调研时,它很有用。技能由单独的技能平台扩展加载。
信息
此扩展在 v1.25.0 及以上可用。
配置
Platform Extension
This is a built-in platform extension that's enabled by default for new users. Platform extensions provide core functionality and are used within goose just like external MCP server extensions.
- goose Desktop
- goose CLI
- Click the button in the top-left to open the sidebar
- Click
Extensionsin the sidebar - Toggle
Summonon
- 运行
configure命令:
goose configure
- 选择
Toggle Extensions
┌ goose-configure
│
◇ What would you like to configure?
│ Toggle Extensions
│
◆ Enable extensions: (use "space" to toggle and "enter" to submit)
│ ● summon
└ Extension settings updated successfully
使用示例
这个示例会创建一个可复用的配方,并用 Summon 把它委派给子智能体。
创建配方
.agents/recipes/release-notes.yaml
title: 发布说明
description: 根据最近的 git 变更起草发布说明
instructions: |
查看最近的 git 历史和变更文件。
写一份简洁的发布说明,包含:
- 面向用户的变更
- 修复
- 迁移说明(如有)
prompt: 为当前分支起草发布说明。
goose 提示词
用 summon 把 release-notes 配方委派出去,处理这个分支。
goose 输出
─── delegate | summon ───────────────────────────────────────
source: release-notes
release-notes 子智能体审查了这个分支,并起草了发布说明:
## 面向用户的变更
- 增加了配置项目专用扩展的支持。
- 改进了扩展启动失败时的错误信息。
## 修复
- 修复了禁用扩展后扩展状态过期的问题。
常用 Summon 命令
用自然语言让 goose 使用 Summon,也可以直接调用工具:
load()
load(source: "release-notes")
delegate(source: "release-notes")
delegate(instructions: "Review these docs and report stale links")
delegate(source: "release-notes", async: true)
load(source: "20260219_1", peek: true)
load(source: "20260219_1")
不带参数调用 load() 会列出来源。后台任务用 delegate(..., async: true) 会返回任务 id,再用 load(source: "<task_id>") 等待结果。