用途:指导使用 @opencode-ai/plugin SDK 创建 OpenCode 插件,适用于构建自定义工具、事件钩子、认证提供者或工具执行拦截。
主要能力:可拦截或阻止工具调用、响应事件(文件编辑、会话完成等)、为 LLM 添加自定义工具、修改 LLM 参数(如 temperature)、为提供者定制认证流程、定制会话压缩、显示状态消息(toast 或内联)。不可行项包括修改 TUI 渲染或布局、添加内置工具、更改核心智能体行为或提示词、拦截流式助手响应、添加键位或命令、修改内部文件读写、添加新权限类型;不可行时应告知用户,并建议改用 OC 核心贡献、MCP 工具或 shell 脚本。
使用方式:流程为验证 SDK 参考、评估可行性、设计、实现、添加 UI 反馈、测试、发布。第一步必须运行 bun run .opencode/skill/create-opencode-plugin/scripts/extract-plugin-api.ts 重新生成 API 参考。插件可放在项目级 .opencode/plugin/<name>/index.ts 或全局 ~/.config/opencode/plugin/<name>/index.ts。基本结构为导出 Plugin 异步函数,返回钩子实现;上下文参数含 project、client、$、directory、worktree。复杂插件须模块化,单文件不超过 150 行,禁止单文件堆砌。测试时创建含 opencode.json 的测试文件夹,配置 "plugin": ["file:///path/to/your/plugin/index.ts"],运行 opencode run hi 验证加载。发布可选,参考 npm 发布与版本更新提示文档。
限制:具体钩子签名、事件类型与工具模式需以自动生成的参考文件为准;资料未提供具体收费、价格或平台支持信息。