用途:让 worker 在运行时向控制台注入自己的界面,包括 React 页面、函数渲染器、触发器活动渲染器、配置表单与样式表。注册即部署,断开即拆除,路径重新注册即可热重载,无需重新构建,也不使用 iframe。
主要能力:worker 注册 console:script 与 console:style 触发器,config.path 指定资源路径,function_id 返回对应 {path} 的 {content};控制台对内容做哈希并提供服务,变更会推送到已打开的标签页。标签页 import() 脚本并调用其默认导出的 setup(host),样式作为作用域 link 资源加载。注册通过 host 完成,重载时控制台可按脚本归属释放这些注册。
使用方式:在项目根 pnpm-workspace.yaml 中加入 <worker>/ui;在 <worker>/ui/package.json 声明对 @iii-dev/console-ui 的 workspace 依赖及 esbuild、typescript 等开发依赖,构建命令为 tsc --noEmit && node build.mjs,监听用 node build.mjs --watch。Rust worker 在 Cargo.toml 中链接辅助库 iii-console-ui = { path = "../crates/console-ui" }。注意这些内部依赖随仓库一起版本化,不应从公共注册表安装。
适用场景:为控制台扩展可搜索目录、数据库工作台、文档编辑器、状态浏览器等界面,并复用共享组件库提供的页面框架、表格、标签页、状态组件、设置表单原语等。
限制:@iii-dev/console-ui 在构建期仅提供类型,运行时实现由当前控制台 SPA 提供,因此 react 与 @iii-dev/console-ui 必须保持 external;建议先阅读 packages/console-ui/index.d.ts 确认导出与 props。仓库强调视觉规范与共享原语,不提供收费、价格或效果方面的公开信息,这些事实暂未提供。