核心概念
Plugin 模型
Plugin 是安装和发布单元,能力和连接则在运行时分别授权。
一个统一产品单元
不论由 Oho、社区还是你自己开发,市场和 Agent 都统一展示为 Plugin。发布者身份说明来源,不创造一套不同的“官方插件类型”。
一个 Plugin 可以同时贡献:
- Tools
- Skills
- Commands
- Connections
- Runtime
- 图标、发布者和说明文档
这意味着用户先理解“我安装了什么产品能力”,然后在 Agent 中选择是否启用;不需要分别安装 Tool 包、Skill 包和 UI 包。
安装与 Agent 启用不是一回事
Plugin 安装 / 本地注册
└─ 让当前用户拥有该 Plugin
├─ Agent A:启用
├─ Agent B:禁用
└─ Agent C:启用(未来可选不同连接配置)- 安装或注册属于用户范围;它让 Plugin 可被多个 Agent 选择。
- 启用属于 Agent 范围;它决定某个 Agent 能否获得 Plugin 的能力。
- 运行能力快照属于一次 Run;它冻结本次真正允许的 Tool、模式和连接权限。
当前 Alpha 已支持本地注册和 Agent 启用。多连接配置以及不同 Agent 选择不同账号仍未实现。
本地与市场
本地开发和市场版本使用同一份 oho.plugin.json:
- 本地开发时,CLI 注册原始目录;
- 提交市场时,Plugin 被复制到公共 Registry 的
plugins/<publisher-id>/<plugin-id>/; - 市场负责发现和审查;当前 Alpha 尚未从市场安装并执行任意代码。
稳定 ID 是这两条路径的共同身份。发布后不要为了改显示名而更换 id。