docs: add plugin system design proposal - #65
Conversation
Declaration-driven plugin system: operation-first, declarative R template, seven parameter types, global/project scope with layered trust, embedded skills, and reuse of the existing run/provenance pipeline.
|
#17,我想到的插件系统,思考了一下,skills是给agent用的,带领域知识,影响agent怎么想的问题。 插件以一个zip打包,支持安装,里面包含json文件,R脚本/模版,skills(optional),以及其它一些可选的。 插件系统要回答的问题是不一样的,是怎么做的问题,所以是一个比较固定的界面化的东西,而界面不需要用户写,插件本质上是json文件来指定界面,Rho根据json文件来画UI,根据R脚本来执行。这个json即可以拿来画界面,也可以拿来给agent,让agent来自动化参数选择这些。同步可以给出完整代码,执行后,跟agent模式一样,进入run, output, review。 然后可以自带skills,让agent来干活的时候,什么样的情况,选什么样的参数,也就是agent怎么想,也可以在里面。 所以插件是一个可以让人干,也可以让agent干,确定性的怎么操作的东西。 skills管怎么想,插件管怎么做。确定性行为还是很重要。 然后我在一个项目里,我可以调用插件来做某件事,但我的项目,不是只有插件定义的行为就做完了。插件做完之后,我继续与AI互作,或者我自己继续做点别的,也就是插件在某个阶段来做某件事,之前之后,我都可以继续搞事。所以虽然插件要做的事情可以让AI干,但是插件中的AI只干插件要做的事情。边界立住,只做确定性行为。突破这些行为,再搞点别的,我还可以在这基础上继续干,不冲突。 |
|
插件里的skills更小。插件比普通skills更具有确定性。这不比各种云平台好太多。外加以后支持远端服务器,操作在本地,计算在远程。 就是插件系统得Rho有用户基础,由社区来驱动开发才会繁荣。 |
|
Agent 生态的插件可以理解为一个专有软件,用于特定任务。创建插件本质上还是在写软件,除了针对性的场景和任务,还可能有配套的mcp、skills(包括调用插件的skills,和插件执行中调用的)、subagent.
|
|
对的,形式上可以有你说的mcp, subagent这些,以及其它。思想上现在是统一的,就是确定性的操作。让人/AI用软件,做确定性的事情(出错的概率就很低了)。 |
|
@xiayh17 可以把你对实现技术细节的想法,也合并写入。 |
Follow-up: two-phase plugin-runtime designThe runtime and authority aspects of this proposal have now been split into two independent, design-only Draft PRs for focused review:
Both branches start directly from the same upstream This comment does not alter PR #65’s proposed/unauthorized status, and none of the three design PRs adds product code, a marketplace, a dynamic executable plugin directory, public SDK, schema, version, or NEWS change. |
由后续已实现架构取代关闭此 PR,不合入其中的早期设计文档。 插件系统的总体方向已经由后续、分阶段审查的合同和实现交付:
当前实现已经具备项目级 本 PR 中“七种参数类型 + R 模板生成代码 + 全局与项目双作用域”的具体方案没有作为现行合同逐项落地。运行时已演进为 Manifest V2 + JSON Schema + Wasm Guest ABI + 受控贡献模型;全局安装和公共分发仍不在当前 Phase 2 范围。继续合入本文件会制造一份与现行架构冲突的 proposed 合同。 因此本 PR 的准确生命周期是 superseded,而不是按原文 implemented。历史讨论保留在这里,现状和后续统一由 #17 跟踪;让现有底座真正可供开发者使用的最小工作包见 #104。 这次关闭不代表市场、签名、全局插件、公共 SDK、Phase 2.5 自演化或公共发布已经完成。 |
Summary
Adds the plugin system design proposal for Rho, closing the design discussion in #17.
Core decisions
Status: proposed; implementation not authorized. Each work package requires a separate focused handoff.
Closes #17 (design discussion).