跟着OpenCode学智能体设计和开发2:工具系统
工具注册:内置工具与可扩展性
工具注册表是 OpenCode 系统中管理所有可用工具的核心组件,为内置工具和自定义工具提供了统一的接口。这种架构使 agents 能够通过一致的 API 访问多样化的功能集,同时通过插件和基于配置的工具定义支持可扩展性。
工具注册表架构
工具注册表采用集中式类插件架构,其中工具通过元数据、功能和权限要求进行注册。注册表维护两类工具:随 OpenCode 附带的内置工具,以及可由用户或第三方插件添加的自定义工具。
内置工具静态注册在 all() 函数中,包括文件操作、搜索功能、bash 执行和 web 交互等核心功能。自定义工具在运行时初始化期间从配置目录和插