组合内置扩展#
先确定你需要的能力。传入扩展列表会替换可选默认值,所以如果需要历史记录和工具 guidelines,请显式加入。不要自己添加 InternalMessageExtension 或 SteeringExtension;运行时已经提供了它们。
扩展 |
适用场景 |
重要限制 |
|---|---|---|
InMemoryMessageAccumulator |
在单个进程内保留对话历史记录。 |
共享实例即可共享它的记忆;不具备持久性。 |
SQLiteSessionExtension |
在重启后恢复原始历史记录和压缩检查点。 |
关闭自己持有的连接池;只使用一个历史记录恢复器。 |
JSONLExtension |
为每个 Agent 轮次追加一条自包含的审计记录。 |
一个会话对应一个文件;更早的轮次不会被重复写入。 |
ToolGuidelinesExtension |
把 tool snippets 和 guidelines 加入模型指令,或加入每个工具的描述。 |
提供自定义扩展列表时需显式加入; |
AgentsMdExtension |
把工作目录中的 AGENTS.md 文件加载进模型指令。 |
也会读取父目录;请把这些文件当作外部输入,而不是授权。 |
FileSystemExtension |
通过相对或绝对路径读取、搜索或编辑文件。 |
注入当前目录;read_only 限制的是工具,而不是操作系统的权限。 |
CodingExtension |
添加可写的文件系统工具和 shell 执行能力。 |
注入相对路径和 shell 执行所使用的目录。 |
ReadFileExtension、EditExtension 以及其他单工具扩展 |
单独提供一个内置工具:read_file、read(文本或图像)、view_image、glob、grep、write_file、edit、delete_file 或 bash。 |
一个扩展对应一个工具;它们不会注入目录消息。 |
AskUserExtension |
让模型向 UI 提问并等待回答。 |
用会话 ID 和工具调用 ID 路由回复。 |
PlanModeExtension |
由模型选择进入或退出规划模式,并发出用户审批事件。 |
UI 必须实现它的外部响应协议。 |
TodoWriteExtension |
在当前请求内跟踪有序任务。 |
只允许一个 in_progress 条目;列表在请求结束时清空。 |
CompactionExtension |
在一次模型步骤之前,对更早的完整轮次做摘要。 |
token 估算和模型上下文限制必须配置得当。 |
GoalExtension |
在内部评估之后继续执行外部选定的目标模式工作。 |
UI 必须在开始之前为某一个确切的会话/请求做好准备;这种选择只有一次机会。 |
SubAgentExtension |
委托给已配置的子智能体配置。 |
模型、工具和持久化都包含在各自的定义中。 |
AsyncSubAgentExtension |
在后台运行子智能体配置,并通过启动、列表、状态、输出和取消这几个工具来管理它们。 |
任务保存在内存中,需要事件循环持续运行;关闭时请调用 |
SkillExtension |
发现技能描述,并按需懒加载完整指令。 |
把技能文件当作外部输入,而不是授权。 |
ToolSearchExtension |
搜索可选工具,而不是一开始就发送所有定义,并列出可以找到的工具。 |
需要 Responses 或 Anthropic Messages 协议;参见 按需加载工具和技能。 |
JITHarnessExtension |
让模型创建、组合、更新、卸载和重新加载 Python 工具。 |
属于受信任的代码,而不是沙箱;延迟加载的检查工具能让上下文保持较小;参见构建并复用 JIT 能力。 |
McpExtension |
注册远程或子进程 MCP 工具。 |
信任与资源归属仍然由应用负责。 |
各模型提供商的 ServerToolExtension 变体 |
启用由所选模型提供商执行的能力。 |
工具类型和端点协议必须兼容;不会运行任何本地执行器。 |
试用示例,而不是启用全部扩展#
工具方面可以从流式展示一次工具往返开始,持久性看恢复 SQLite 历史记录,用户交互看暂停以等待外部审批,上下文管理看压缩而不丢失历史记录。子智能体和目标两个示例展示了两种不同的委派方式。
完整的配置指南:AGENTS.md 参见加载项目指令,技能和延迟加载的工具参见按需加载工具和技能,远程工具服务器参见连接 MCP 工具。想了解确切的配置选项和事件载荷,请浏览Extensions。