SuperAPI AI 工具集

create-plugin

通用与其它

查看项目

更新于 10-16 00:06

技能介绍

用途:create-plugin 是 Sidecar 的嵌入式插件(embedded class)开发技能,即编译进 Sidecar 的 Go 包,拥有自己的 Bubble Tea UI。若目标只是把某个工具的数据展示在 Sidecar 中(可搜索标签页、可打开文档的行、终端旁的面板),应改用协议插件(任意语言的可执行文件,响应五个 JSON 方法,由 Sidecar 自行渲染,以配置项而非 Sidecar 版本发布)。只有当屏幕本身是重点(看板、队列、集合与文档词汇无法表达的布局)时才使用本技能,因为其代价是一次发布、一次 keymap 处理以及仓库中的永久位置。

主要能力:插件需实现 plugin.Plugin 接口的全部方法,包括 ID、Name、Icon、Init、Start、Update、View、IsFocused、SetFocused、Commands、FocusContext、Stop;可选实现 Diagnostics。架构涉及 Bubble Tea 模型、插件注册表(含 panic 保护与 Init 失败时的静默降级)、Context(提供 WorkDir、ConfigDir、Adapters、EventBus、Logger、Epoch、Keymap)、keymap 上下文映射。支持 Epoch 模式检测过期异步消息、keymap 上下文与命令、事件总线跨插件通信、插件间消息(如 FocusPluginByIDMsg、NavigateToFileMsg)、插件焦点事件、外部编辑器集成、状态持久化、适配器与错误处理。

使用方式:在 internal/plugins/<id>/ 创建 plugin.go 及辅助文件,实现接口,在 cmd/sidecar/main.go 注册,在 internal/keymap/bindings.go 添加默认绑定,确保 Commands() 覆盖所有绑定。Init 中检测前置条件并优雅降级,Start 用 tea.Batch 批量初始命令且不阻塞,Update 做纯状态转换,View 只渲染且遵守宽高,Stop 做幂等清理。渲染时须约束高度,不在 View 中渲染页脚,使用 ansi.Truncate、lipgloss.Width 等 ANSI 感知工具。

适用场景:需要自定义 UI 布局的 Sidecar 内置插件开发。

限制:资料未提供具体安装命令、收费、价格、平台或效果信息;插件开发成本较高,需发布、keymap 处理与仓库占用。