openJiuwen发布RSI原生AgentOS:Agent可自己开发功能并热插拔
想要什么功能,让Agent自己开发
想要什么功能,直接让Agent自己开发。
允中 发自 凹非寺
量子位 | 公众号QbitAI
用WorkSwarm的时候想加个新功能,能不能把需求直接讲给Agent听,让它自己做出来、装上试试?
这正好对应HyperAgent架构解读里提到的扩展性。openJiuwen为HyperAgent提出了八项特征,其中一项就是这一点——从「开发者友好」走向「RSI友好」。
扩展机制要两头顾:开发者接入新能力得方便,Agent也得能根据任务反馈动手改自己的能力。改完之后还得装进应用,在实际任务里跑一遍,才知道问题有没有解决、下一轮该改哪里。
openJiuwen的RSI原生AgentOS,提供的正是这种递归自我改进(RSI)的运行环境。
界面、网关、服务端和Agent执行等环节,它都设了不同类型的扩展点,覆盖运行全周期。新功能支持热插拔,接入时不用动应用原有代码;扩展包可以按版本管理,新版出了问题还能退回去。
WorkSwarm用的就是这套扩展机制。这个Agent应用构建在openJiuwen RSI原生AgentOS之上。Agent能把新功能打成AgentOS可加载的扩展包,同一个包装进WorkSwarm,就叫系统插件。
在「我的扩展」里启用,就能回到手头的任务里试一试。哪里用着不顺手,再告诉Agent怎么改。openJiuwen把这叫作「Agent所想即所得」。
从WorkSwarm把自己变成桌宠这件事说起,看看RSI原生AgentOS如何让Agent给自己加功能
桌面上摆个能聊天的桌宠,随口跟Agent搭两句话、临时交代点小事就够用了;真要查资料、分几步处理的事,再开工作台。
WorkSwarm默认没有桌宠形态,那能不能让Agent自己加一个?
把需求直接告诉Agent,比如「给WorkSwarm加个桌宠吧,我想在桌面上点一下就能跟你聊天。」
Agent会按你的描述生成扩展包,再以「应用形态」系统插件的身份装进WorkSwarm。WorkSwarm背后的RSI原生AgentOS负责加载扩展,让这个系统插件在工作台上生效。
启用系统插件后,点一下切换按钮,工作台就收起来,桌面上只留下桌宠。
样式可以选小蜜蜂,也能换成胶囊。想发消息就点开桌宠;聊到一半要用工作台,双击桌宠就能回去,刚才的对话还在。
拆解openJiuwen RSI原生AgentOS:扩展包怎样改变界面、网关、服务端与Agent行为?
上一节里,WorkSwarm启用系统插件后就把自己变成了桌宠。这个新功能接在什么地方,又是怎么跑起来的?
先来看openJiuwen RSI原生AgentOS把界面、网关和Agent的执行分成了哪些部分。
从用户发出请求到Agent执行任务,系统主要分三层。
Web客户端负责显示界面、接收用户操作;Gateway负责接入和转发请求;Agent层由AgentServer管理会话,由Harness组织任务执行和工具调用。
三层都留了扩展入口,既能在界面上加功能,也能调整请求怎么处理、任务怎么执行。

从这套架构来看,扩展能力分布在五个环节上。
Client这一层可以加按钮、加面板、加设置项;Gateway能接鉴权,也能调整请求路由;AgentServer则负责会话、消息和服务端命令的处理。
再往下到执行环节,Swarm能定制多个Agent的协作规则,并跟踪任务进展;Agent这一端可以改提示词,也能接入工具、MCP服务或子Agent。
这些改动都以扩展包的形式交付。包里的manifest.json写明了包标识、版本、依赖和代码入口。如果涉及界面,还能声明组件显示在输入区、侧栏还是设置页的哪个位置。
△openJiuwen RSI原生AgentOS扩展能力一览|左侧是扩展包目录与清单,右侧是Client、Gateway、AgentServer、Swarm和Agent五个环节的扩展能力
扩展包有了,运行环境还得清楚由谁来加载、什么时候调用里面的代码。安装阶段,系统会读取并检查清单,按包ID和版本把扩展包存好。到了加载阶段,Gateway和AgentServer各自挑出由自己运行的包,定下加载的版本和顺序,随后把扩展代码里的处理函数注册到各自的事件总线。
用户点界面按钮、网关收到请求、Agent开始组装提示词,这些时候相应组件都会发出事件。事件总线找到匹配的处理函数并调用。处理函数能参与当前流程,也能通过Ops调用组件开放的能力。界面需要刷新时,扩展还可以把更新所需的数据发回Web客户端。
△openJiuwen RSI原生AgentOS扩展包生效原理|扩展包从安装、选择版本到加载代码、注册处理函数,再到响应事件和按需更新界面的流程
挑扩展点时,不妨先想清楚要在什么时机介入,再看对应组件开放了哪些Operation能力(Ops)。
△扩展事件与Operation能力速查表|左侧是各类扩展事件,右侧是处理函数可调用的Operation能力(Ops),表中区分已支持和规划中的条目
openJiuwen的RSI原生AgentOS开放了多类扩展事件。各类事件常见的触发时机如下。
- 会话与消息:发送或接收跨会话消息时,以及上下文用量更新时。
- Agent执行:Agent开始组装系统提示词时。
- Swarm协作:生成团队协作规则时,以及团队运行状态发生变化后。
- 界面交互:扩展界面就绪时,或用户点击按钮、选择选项时。
- 网关与服务端:网关分发请求前,或服务端处理已接入的命令时。
处理函数能调用哪些Ops,取决于它在哪个组件里运行。下面列出几类常用能力。
- 读取会话数据,包括历史消息、对话轮次和上下文用量。
- 登记Agent可用的工具,供Agent执行任务时调用。
- 查询团队信息,通过只读接口查看成员、任务进展和依赖关系。
- 更新工作台界面,在扩展声明的位置显示面板或刷新内容。
- 通过网关发起HTTP请求,访问策略允许的地址。
- 访问资源和状态,在授权范围内读取文件,保存扩展自己的配置和运行状态。
扩展包的结构、事件和Ops的完整清单及用法,在openJiuwen扩展开发文档里都能查到。
WorkSwarm系统插件怎么用?从创建、安装到出故障后回退,下面走一遍完整流程。
依托RSI原生AgentOS的扩展机制,WorkSwarm能接住Agent做出来的系统插件。需要什么功能,直接向Agent提需求就行。
装好之后到「我的扩展」里启用,边试边按反馈调整。要是系统插件把环境搞出故障,还能从存档点把之前的配置恢复回来,接着调试。
与Agent对话,第一个系统插件可以边做边调
头一回做系统插件,不妨用开发Skill跟Agent对话,一边做一边调试。
举个例子,想做Token Weather,可以这么说:「在输入框上方加条状态栏,显示当前会话的Token用量,用晴天、多云等天气提示占用程度。」Agent会照这个需求写代码、打包,再装进WorkSwarm。
Token Weather系统插件启用后就能试用。如果嫌状态栏占地方,接着补一句「做得紧凑一点,保留用量百分比。」Agent会按反馈改动系统插件、重新加载,让你再试一次。
当然也能自己手写系统插件的声明和代码,再打成ZIP。有依赖项的话,在声明里把依赖和版本要求写清楚,WorkSwarm加载时会做检查。
系统插件如何安装、如何启用?
开发Skill生成的系统插件会自动装进WorkSwarm;手动安装则有三种路子。
- 放进安装目录:把解压后的系统插件文件丢进安装目录,WorkSwarm重启时就会加载。
- 从扩展页面装:点侧边栏的「扩展」,在「系统插件」里找到想要的功能,下载安装。
- 用命令装:在WorkSwarm的对话框里执行/extension install,安装本地系统插件。
在「我的扩展→系统插件」中,能看到已安装系统插件的状态,启用或禁用也在这里操作。
装完并确认系统插件已经启用,就可以验证功能了。拿Token Weather举例:打开对话,先看输入框上方有没有状态栏,然后发一条消息,等Agent回复完,再看状态栏里的用量有没有跟着更新。
系统插件导致故障,原有配置怎么恢复?
试新系统插件时,配置能回退,才有继续试、继续改的余地。
比方说启用后某个页面打不开了,就挑一个故障前的存档点,把当时的系统插件配置恢复过来。回退之后重新打开出问题的页面,确认能正常用,再接着调试。
RSI原生AgentOS的扩展能做什么?从定制自己的Agent应用,到支持团队协作和企业接入
靠RSI原生AgentOS的扩展能力,应用界面可以按自己的习惯来调;单个Agent的工作过程也能看到,它做事的方式同样能改。
任务需要多个Agent一起完成时,团队怎么分工、怎么交接,都可以按项目需要定制。应用接入企业环境时,访问管理和Agent的运行方式也能按部署要求调整。
前端界面定制:让Agent来定制工作台界面,做出你的风格,用着更顺手
前端界面扩展能改变Agent应用的外观和交互。主题可以按你的喜好让Agent调;页面预留的位置也能加按钮、状态栏或面板,把常看的信息、常用的操作摆到顺手的地方。
在WorkSwarm里想换个界面风格,可以对Agent说「给工作台做几套带动画的主题,我想在设置里切换。」Agent会照着描述生成主题背景扩展包。装进WorkSwarm并启用对应的系统插件后,在设置页选一个主题,工作台就换上对应的动态背景。
Agent Harness也能调:Agent怎么干活,用户看得见,方式还能按需要改
会话管理、任务执行这些环节,单Agent扩展都能接进去。比方说,把会话状态和上下文用量摆出来,Agent干活的过程就一目了然了。
执行这一步,扩展也能派上用场:按任务补上下文,改提示词里的工作规则,或者给Agent新登记几个工具。
在WorkSwarm里,长对话的上下文到底花在哪儿?让Agent生成一个系统插件,专门盯上下文用量就行。
插件一启用,面板上就有输入Token数和窗口占用率,系统提示词、技能、工具定义、消息各占多少,也都有估算。
每次模型请求的输入用量可以拿来对比,工具调用的状态和耗时能查,近期轮次的用量摘要和会话消息也能回看。
Swarm协作也能加强:协作规则可以定制,任务进展可以跟踪,谁在做、做到哪,都看得清
多个Agent一起干活时,项目自己的分工和交接约定,可以通过扩展写进协作规则。任务一开跑,扩展还能收到状态变化通知,盯住谁在做哪项任务、推进到哪一步。
举个例子,任务分给几个Agent之后,想知道各自做到哪了,就用扩展包开发Skill,让Agent按描述生成一个团队协作可视化的扩展包。
装进WorkSwarm、启用对应的系统插件,集群模式下就能在一个视图里看到团队成员、各自负责的任务,以及任务之间的依赖。某项任务还在等,顺着依赖就能查到是哪项前置工作没完成。
企业接入也能适配:WorkSwarm进企业环境,接入和运行都按需调整
企业接入的时候,RSI原生AgentOS的扩展能力可以帮上忙,账号接入和Agent运行环境都能按部署需要来调。
分布式部署下,Gateway和AgentServer可以分开跑。企业按业务需要挑Gateway连哪个AgentServer,两边各自加载需要的扩展。
比如Gateway这侧接鉴权、调请求路由;AgentServer那侧给会话补项目上下文,或者改服务端命令的参数、调整执行结果的处理方式。要隔离执行,还能通过适配器接第三方沙箱,让Agent在指定环境里跑命令和代码。
在WorkSwarm中,Gateway登录系统插件能给应用入口加一道登录页,请求进业务流程之前先校验凭证。启用之后,没登录的用户会看到登录页,受保护的请求会被拦下。登录后浏览器带上凭证,校验通过的请求才继续往下走。
在WorkSwarm里新建单Agent会话,系统插件提供Claude Code(CC)、Codex和openJiuwen三种Harness选项。选好之后,这次会话的任务和工具调用就由所选的Harness执行,前端界面也跟着切换。
结语
Agent干着活,也能顺手改自己。想到什么改法,就做成RSI原生AgentOS能加载的扩展包,装进WorkSwarm,作为系统插件启用。
回到任务里试一把,再照着反馈调界面、调能力。试过好用的系统插件,下次做任务还能接着用。openJiuwen把这叫作「Agent所想即所得」。
越来越多环节向扩展开放之后,个人的使用习惯、团队的协作规则、企业的运行要求,都能成为Agent调整自己的依据。
刚装好时,它是默认的样子。往后变成什么样,靠的是一件件实际工作里自己改出来。
来WorkSwarm试试吧,和Agent一起做个你想要的新功能,装上你的第一个系统插件,再到社区分享试用效果。
相关资源 WorkSwarm体验入口: https://openjiuwen.com/workswarm WorkSwarm GitHub代码仓: https://github.com/openJiuwen-ai/jiuwenswarm openJiuwen Harness文档: https://github.com/openJiuwen-ai/jiuwenswarm/blob/develop/docs/zh/Harness.md openJiuwen扩展开发文档: https://gitcode.com/openJiuwen/jiuwenswarm/tree/releases%2F0.2.9.beta3/docs/zh/extension
*本文系量子位获授权刊载,观点仅为原作者所有。