Kun UI 插件素材管线:Starlight 舞台背景的矢量源文件与安装过滤机制
人工智能AI Agent自主智能体桌面应用MCP Clients【免费下载链接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.项目地址https://gitcode.com/gh_mirrors/de/Kun点击查看免费下载examples/ui-plugins/starlight/artwork/README.md记录了官方示例插件 Starlight星夜 Kun舞台背景的创作源头一张自包含的矢量图starlight-stage.svg导出为 1600 × 900 的 WebP 后由manifest.json引用而存放源文件的artwork/目录在安装时被有意忽略。本文以此为入口完整拆解 Kun UI 插件形象工坊的「矢量源文件 → WebP 导出 → manifest 引用 → 安装白名单复制」素材管线并结合仓库源码说明背景图层的校验、默认参数与宿主 CSS 注入原理帮助插件作者正确规划资源目录并理解为什么artwork/不会被安装。一、Starlight 插件与 artwork 目录的定位Kun 的「形象工坊」允许任何人制作并安装自己的视觉形象包一个 UI 插件就是一个文件夹manifest.json加上被 manifest 引用的图片。官方示例 Starlight 同时演示了旧版兼容的形象槽位、背景路径简写与完整背景图层对象目录结构如下examples/ui-plugins/starlight/ ├── artwork/ │ ├── README.md # 素材源文件说明本文关联文档 │ └── starlight-stage.svg # 原创矢量源自包含 ├── img/ │ ├── bird.png / greet.png / sit.png / sleep.png / surf.png │ └── starlight-stage.webp # 1600 × 900 WebP 导出manifest 实际引用 ├── README.md └── manifest.jsonartwork/目录的核心定位见 artwork/README.md是保存可再编辑的创作源文件starlight-stage.svg是img/starlight-stage.webp的原始矢量来源它不依赖任何外部图片、字体或网络资源是一个完全自包含的单文件矢量图。而 WebP 导出才是运行时真正被加载的资源。二、为什么源文件要自包含1600 × 900 舞台背景的创作约束原文档强调starlight-stage.svguses no external images, fonts, or network resources。这一约束对 UI 插件作者有实际意义可移植性插件是纯声明式的资源包安装时应用只复制 manifest 引用的图片源文件若引用了外部字体或图片导出的 WebP 可能在不同环境出现渲染差异。可审计性Kun 主进程在安装、预装和重新加载时会调用应用已有的图片解码器验证像素数据而不只信任文件头见 docs/UI_PLUGINS.md。自包含源文件导出的成品更容易通过逐字节校验。打开 starlight-stage.svg 可以看到它的矢量结构完全是手写声明式的sky线性渐变#141028→#29204e→#44326f铺出深紫夜空nebula径向渐变与soft高斯模糊滤镜feGaussianBlur stdDeviation20叠加出星云光晕随后是 11 个带不同opacity的星点circle、两道流线型path曲线以及三层山脊路径path分别使用ridge渐变、#211a35与#171224。整个文件只有defs、渐变、滤镜与基础图形元素没有任何image或字体引用——这正是「自包含」的直接体现。三、manifest 只引用 WebPartwork/ 不参与安装原文档指出The WebP export is 1600 × 900. Only the WebP is referenced bymanifest.json; this authoring directory is intentionally ignored when the plugin is installed.对应地manifest.json 中的backgrounds部分只指向img/下的成品backgrounds: { light: { stage: img/starlight-stage.webp }, dark: { stage: { path: img/starlight-stage.webp, fit: cover, position: center, opacity: 0.42 } } }安装行为与 docs/UI_PLUGINS.md 的描述完全一致应用校验 manifest 和图片后只把 manifest 与被figures/backgrounds/scene引用的图片复制进应用数据目录~/.kun/ui-plugins/id/未引用的创作源文件不会复制。也就是说img/starlight-stage.webp被安装artwork/starlight-stage.svg和artwork/README.md被忽略。这带来一个直接结论artwork/里的源文件仅供作者维护与再编辑并不会增大运行时占用、也不会被宿主解析或执行。Kun 明确不执行插件中的 JS、HTML、CSS 或 SVG见 docs/UI_PLUGINS.md源文件留在插件目录中只作为创作资产。四、源码级验证背景路径白名单与默认透明度从源码结构看Kun 对背景图层的管理集中在src/shared/ui-plugin-presentation.ts与src/shared/ui-plugin-css.tsisSafeUiPluginBackgroundPath(value)src/shared/ui-plugin-presentation.ts校验背景图片路径必须是插件目录内的相对路径禁止绝对路径、..与反斜杠docs/UI_PLUGINS.md。artwork/starlight-stage.svg正因为未被 manifest 引用根本不会进入这条校验与复制链路。UI_PLUGIN_BACKGROUND_DEFAULT_OPACITYsrc/shared/ui-plugin-presentation.ts为五个背景槽位定义了默认透明度app为0.22、sidebar为0.18、stage为0.32、write/design为0.50。Starlight 的dark.stage显式写了opacity: 0.42就是在这个固定槽位上的自定义值。字符串简写与对象等价stage: img/starlight-stage.webp是{ path: … }的简写完整对象可追加fitcover/contain默认cover、position九宫格九个位置默认center与opacity0–1省略时用上表默认值。buildUiPluginBackgroundCsssrc/shared/ui-plugin.ts在启用主题时把上述参数编译成宿主生成的 CSS。背景图片本身不携带布局或样式权限应用只读取图像像素再在固定的安全图层中应用fit/position/opacity参数docs/UI_PLUGINS.md。五、light / dark 不自动回退为什么两边都要显式声明Starlight 的 manifest 同时声明了backgrounds.light.stage字符串简写与backgrounds.dark.stage完整对象插件自己的 README.md 明确说明了原因明暗主题都被显式声明因为背景主题之间不会自动回退。这是 Kun 背景图层的固定规则只声明light.stage时深色主题不会偷偷沿用它。若希望两种主题显示同一张图必须在light与dark两边都显式声明docs/UI_PLUGINS.md。这一设计让作者可以对明暗主题分别配置不同的opacity如 Starlight 深色模式用0.42压低亮度保证文字可读性也避免了主题切换时的意外回退。六、安装与启用流程中的 artwork 位置结合 docs/UI_PLUGINS.md 的宿主受控 CDP 主题注入流程可以看清源文件在整个生命周期中的位置从「设置 → 形象工坊 → 安装插件文件夹…」选择插件目录应用校验 manifest 与全部引用图片只复制 manifest 和被引用的图片artwork/不进入~/.kun/ui-plugins/id/。启用主题时渲染层只把插件id发给主进程主进程重新读取并规范化 manifest、重新校验引用图片此时img/starlight-stage.webp已就位。样式生成器把白名单 token、固定背景槽位组合成 CSS主进程短暂附加mainWindow.webContents.debugger用固定的Runtime.evaluate只更新宿主管理的style节点后立即分离。Kun 不使用--remote-debugging-port也不接受插件提供的 CSS、JS、选择器或 CDP payload。因此artwork/starlight-stage.svg从始至终只是「留在插件目录里的源文件」验证、复制、解码、注入这条运行时链路里都没有它。七、给插件作者的实战建议基于 Starlight 示例与源码规则规划资源目录时可以遵循以下实践源文件与成品分离把可再编辑的 SVG / PSD / Figma 导出源放在artwork/或自定义的源文件目录把被引用的 PNG / WebP 成品放在img/manifest 只指向成品。artwork/天然不参与安装不会浪费用户的存储与解码资源。遵守背景图体积与像素限制单张背景图片 ≤ 8 MiB去重后全部背景合计 ≤ 32 MiB任一背景宽、高均 ≤ 8192 px单张解码尺寸 ≤ 24 MP去重后合计 ≤ 64 MPdocs/UI_PLUGINS.md。1600 × 900 的 Starlight 舞台背景远低于上限导出 WebP13 KB 左右尤其适合作为全屏背景。路径与引用保持一致manifest 中所有图片路径必须是插件目录内的相对路径禁止绝对路径、..与反斜杠。light/dark都要显式声明需要的背景避免依赖不存在的回退。为可读性留余地如果背景妨碍文字可读性先降低opacity如 Starlight 深色模式用0.42不要把重要文字烘焙进背景图。覆盖更新方式修改插件后重新执行「安装插件文件夹…」即可按同id覆盖更新正在使用时先切回默认形象再切回来即可确保重新载入最新资源。八、小结examples/ui-plugins/starlight/artwork/README.md用三句话讲清了 Kun UI 插件素材管线的关键约定源文件starlight-stage.svg自包含、成品starlight-stage.webp为 1600 × 900、只有 WebP 被 manifest 引用而artwork/在安装时被有意忽略。这背后是 Kun「纯声明式、无代码执行、白名单安装、主进程校验」的安全模型插件只复制被引用的静态图片源文件只属于创作侧。理解了这条管线你就能像官方示例一样把可再编辑的矢量源与运行时成品干净地分离做出规范、可安装、可维护的 UI 插件。如需继续深入可阅读 docs/UI_PLUGINS.mdmanifest 全字段参考、人物舞台presentation、专属场景scene、尺寸体积限制与安全模型、manifest.json完整示例声明、src/shared/ui-plugin-presentation.ts背景路径校验与默认透明度、src/shared/ui-plugin-css.ts背景 CSS 生成与stage槽位选择器以及 src/main/services/ui-plugin-operations.ts安装复制逻辑。赞分享人工智能AI Agent自主智能体桌面应用MCP Clients【免费下载链接】KunLocal-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI.项目地址https://gitcode.com/gh_mirrors/de/Kun点击查看免费下载相关推荐clawdbot多语言支持高级配置精细调整翻译质量clawdbot多语言支持高级配置精细调整翻译质量 clawdbot作为一款跨平台的个人AI助手其多语言支持功能能够帮助用户突破语言障碍实现全球范围内的顺AI 应用AI Agent交互助手后端即时通讯网关OBS背景移除插件安装与使用指南OBS背景移除插件安装与使用指南 插件概述 OBS背景移除插件 obs backgroundremoval 是一款基于人工智能技术的开源插件能够实时移除视频源人工智能计算机视觉视频处理Leiningen构建过程中的资源管理文件复制与过滤Leiningen构建过程中的资源管理文件复制与过滤 资源管理是Clojure项目构建中的关键环节直接影响应用打包质量和运行稳定性。本文将系统讲解Leini构建工具CLI上一篇openEuler安全加固工具DIM配置内存完整性保护完全指南下一篇CronTick配置指南从基础设置到高级优化创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Chia 区块链全节点状态转换测试指南:fixture、区块验收与同步断言实战

Chia 区块链全节点状态转换测试指南:fixture、区块验收与同步断言实战

区块链后端 【免费下载链接】chia-blockchain Chia blockchain python implementation (full node, farmer, harvester, timelord, and wallet) 项目地址: https://gitcode.com/gh_mirrors/ch/chia-blockchain 点击查看 免费下载 本指南以 Chia 开源仓库测试文档 .…

2026/10/10 2:20:54 阅读更多 →
基于Spring Boot的股票投资分析平台设计与开发实践

基于Spring Boot的股票投资分析平台设计与开发实践

项目概述与整体定位看到"基于springboot股票投资分析平台设计与开发(源码精品论文答辩PPT等资料)"这个标题,懂行的人一眼就能认出,这是高校毕业设计或者课程设计里出现频率极高的经典选题类型。它看着像是个"大路货",但实…

2026/10/10 2:20:54 阅读更多 →
Docker部署AI Agent平台:局域网内网实践与故障排查指南

Docker部署AI Agent平台:局域网内网实践与故障排查指南

前阵子帮朋友在办公内网搭了一套 AI Agent 平台,标题写作“Docker 部署 DeepSeek Harness”,听起来像是某个神秘项目,实际拆开看本质并不复杂:它是一套把模型服务、Agent 编排、前端界面、消息队列串起来的容器化组合。我自己的体…

2026/10/10 2:20:54 阅读更多 →

最新新闻

软件测试面试题全解析:从基础理论到AI与物联网实战

软件测试面试题全解析:从基础理论到AI与物联网实战

软件测试面试题这个话题,每年都能收到一堆私信。有人刷了一周八股文还是挂在一面,有人只准备了两天却拿到了不错的offer。核心区别不在于背了多少题,而在于有没有把题目背后的考察点摸透。我整理了这份软件测试面试常见问题清单,附…

2026/10/10 14:08:50 阅读更多 →
C++ unordered_map与unordered_set详解:哈希表原理、接口用法与性能优化

C++ unordered_map与unordered_set详解:哈希表原理、接口用法与性能优化

用过 C 的都知道,当你还在用map、set做查找和去重的时候,数据量一旦上来,心里多少会有点不踏实。这时候就该unordered_map和unordered_set登场了。这两个容器在 C11 里正式进入标准库,核心卖点就一句话:基于哈希表实现…

2026/10/10 14:08:50 阅读更多 →
Linux新手第一周:环境搭建、常用命令与学习路线全记录

Linux新手第一周:环境搭建、常用命令与学习路线全记录

几个月前,社团面试的场景还在眼前,转眼第一周周报已经躺在群文件里。说实话,接手【西邮 Linux 兴趣小组】的第一周,我最大的感受不是“教了多少东西”,而是“被一群刚接触 Linux 的新人追着问问题,自己回头…

2026/10/10 14:08:50 阅读更多 →
踩坑实录:接进RAG后召回率反而崩了?all-MiniLM-L6-v2的5个隐藏陷阱

踩坑实录:接进RAG后召回率反而崩了?all-MiniLM-L6-v2的5个隐藏陷阱

踩坑实录:接进RAG后召回率反而崩了?all-MiniLM-L6-v2的5个隐藏陷阱 【免费下载链接】all-MiniLM-L6-v2 项目地址: https://ai.gitcode.com/hf_mirrors/sentence-transformers/all-MiniLM-L6-v2 把 all-MiniLM-L6-v2 接进 RAG 管线,几…

2026/10/10 14:08:50 阅读更多 →
2026年AI Agent发展趋势与挑战:从理论到实践的跨越,TaoToken统一Key打通OpenClaw落地链路

2026年AI Agent发展趋势与挑战:从理论到实践的跨越,TaoToken统一Key打通OpenClaw落地链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 14:08:50 阅读更多 →
Harness 工程安全基线:为 AI Agent 编写 SECURITY.md 安全策略文件

Harness 工程安全基线:为 AI Agent 编写 SECURITY.md 安全策略文件

【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址: https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 SECURITY.md 是面向 Agent 的仓库(agent-first reposito…

2026/10/10 14:07:49 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →