openJiuwen发布RSI原生AgentOS:Agent如何自做功能并持续迭代?
sina qqZone renren ydCloud 0
允中 发自 凹非寺 量子位 | 公众号QbitAI
用WorkSwarm的时候想添个新功能,能不能直接跟Agent说一声,让它自己把这个功能做出来、装上去试试?
这个问题对应的是HyperAgent架构解读中提到的扩展性。openJiuwen为HyperAgent列出了八项特征,这是其中之一,也就是从「开发者友好」走向「RSI友好」。
扩展机制得两头兼顾:开发者接入新能力要方便,Agent也要能依据任务反馈去改自己的能力。改完之后还得装进应用,放到真实任务里跑一跑,才能判断问题有没有解决、下一轮该动哪里。
对这种递归自我改进(RSI),openJiuwen的RSI原生AgentOS提供了一套运行环境。
界面、网关、服务端以及Agent执行这些环节,它都设了不同类型的扩展点,运行全周期都有覆盖。新功能走热插拔,接入时不碰应用原有代码。扩展包按版本管理,新版出问题可以退回旧版。
WorkSwarm用的正是这套扩展机制,它是基于openJiuwen RSI原生AgentOS搭起来的Agent应用。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负责组织任务执行和工具调用。
这三层都留了扩展入口,界面上能加功能,请求怎么处理、任务怎么执行也能调整。

△openJiuwen RSI原生AgentOS架构图|Web客户端、Gateway和Agent层的职责、连接关系及各自的扩展入口
顺着这套架构看,扩展能力落在五个环节上。
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配合着调试。
拿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应用的外观和交互:主题可以按你的喜好调,页面预留的位置也能加按钮、状态栏或面板,把常看的信息和常用的操作摆到顺手的地方。
在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
*本文系量子位获授权刊载,观点仅为原作者所有。