插件开发总览
用 AI 助手开发?
装上官方 agent skills,对你的 Claude Code / Codex 说「我想给 Channek 加个 XX 功能」,它会替你选形态、写 manifest、实现并教你调试——本册的契约它都懂。
Channek 的架构可以用一句话说完:系统是壳子。内核只守少数几条铁律(工程格式、时间模型、唯一写路径、进程隔离、引擎与 UI 分离、自包含),其余一切可变能力——文件怎么看、图怎么生、片怎么导、频道长什么样——都是插件贡献的。装零个插件的 Channek 是一个资源管理器。
所以「给 Channek 加一个功能」的正确形态几乎总是:找到那个扩展点,贡献一条声明。
心智模型
扩展点是插座,manifest 是说明书,registry 是配电盘,loader 是安检门——安检门分三级信任。
三个要点:
- 贡献 = 声明(decl)+ 可选实现(impl)。声明是纯数据写在 manifest 里;实现是代码,只有 T1/T2 插件才有。
- 信任三级:T0 声明级(纯 JSON/SVG/字体,零代码)→ T1 沙箱级(UI 代码跑在隔离 iframe)→ T2 特权级(逻辑代码跑在独立进程,等同完全本机信任)。详见信任分级。
- 第一方无特权:内置插件与你放进
~/.channek/plugins/的第三方插件走完全同一条校验、注册、启停路径。
我要做 X,去哪个扩展点
| 我要做的 | 去哪 | 状态 |
|---|---|---|
| 一条能力(出图 / 配音 / 转写 / 发布…),能被卡与命令行调用 | capability.provider | ✅ |
| 一个配色主题 / 一套文件图标 | ui.theme / ui.iconTheme | ✅ |
| 一条命令、右键菜单项、快捷键 | ui.command 系 | ✅ |
| 一种文件的查看器 / 编辑器 | ui.fileViewer | ✅ |
| 一整页功能区界面(挂进侧栏的那种) | ui.suiteSection | ✅ |
| 出片流程里的一步(工作台面 + 自动化面) | ui.contentStep / production.step | 部分 ✅ |
| 生成器 / 烘焙器 / 导出预设 / 媒体探测 | generation.* / media.* | 部分 ✅ |
| 发布平台对接 | publish.platform | ✅ |
| AI 工具 / 宏 / 受托执行 | ai.* | 路线图为主 |
| 剪辑台面板 / 检查器 / 素材源 | editor.* | 路线图 |
| 携带一张风格卡模板 / 工件类型 / 目录布局 | workspace.* | 部分 ✅ |
全部 41 个贡献键的速查表见参考 · 贡献键全表。
三条最容易被违反的规矩
先记住这三条
从哪读起
第一次来,按这个顺序读,两小时能写出第一个能跑的插件: