OpenChamber 桌面外壳技能
在修改 OpenChamber 的 Electron 主进程、preload、IPC 或打包逻辑时,为 AI 代理提供正确的架构边界与安全规则。
该技能本身以安全指导为核心:要求主进程门控特权命令、最小化preload暴露、禁止向远程页面暴露文件系统/shell/凭据、windowsHide隐藏子进程,均符合最小权限与数据流透明原则,且为仓库内部开发指导,无外部破坏性效果。扣分点:无用户确认/回滚机制说明,深链、凭据、runtime切换等信任边界操作仅作原则性提醒,未给出具体防护或恢复步骤;发布者未经验证使归因不完整。
指令内部自洽,职责划分明确(main/preload/renderer归属判定条件清晰),验证步骤可操作(进程树检查、HMR+打包双验证)。扣分点:关键路径未附可执行测试证据,packages/electron/README.md等被引用文件未在证据中出现,错误反馈与异常输入处理主要依赖上层仓库,静态无法确认可复现性。
description触发条件具体(Electron主/preload、IPC、原生窗口、SSH、打包等),场景边界与ui-api-decoupling技能的职责分工明确。扣分点:仅适用于本仓库开发者,通用性弱;无中文支持说明;功能围绕桌面开发,未见对目标环境可达性的声明;非适用范围仅隐含。
结构清晰(必需上下文→运行时边界→IPC安全→Windows进程→打包→验证),渐进披露合理,仓库有MIT许可证、版本号1.22.2、活跃CI与维护痕迹。扣分点:技能文件本身无版本/更新记录,强依赖未在证据中提供的packages/electron/README.md与bundle-main.mjs,隐藏假设较多;维护责任仅体现为个人作者。
对Electron贡献者的核心任务(安全地修改桌面壳代码)提供直接可用的检查清单与红线约束,边际价值高于无指导修改,尤其Windows无控制台闪烁与IPC最小暴露规则具实际价值。扣分点:输出为规范性指导而非可直接验证的产物,完成度依赖执行者,静态审查无法确认实际产出可用性。
仓库提供MIT许可、安全政策、CI工作流与测试脚本(package.含electron test/type-check),可部分佐证维护与验证文化。扣分点:未提供覆盖本技能关键路径(Electron测试、进程树检查)的已提交测试内容,主张主要为作者规范陈述,无第三方执行证据,静态上限为5分且证据偏薄,故给4分。
- 本评估为纯静态源码审查,未执行任何测试或验证命令。
- 技能强依赖 packages/electron/README.md 与 bundle-main.mjs,本次证据中未提供这些文件,实际可用性需使用者自行核对。
- 信任边界操作(深链、凭据、runtime切换)仅有原则性要求,缺少具体防护与回滚步骤,使用时应额外审查。
- 发布者未经企业注册库验证,身份归因有限。
- 该技能为仓库内部开发指导,对非 openchamber 仓库贡献者基本不适用。
这个 Skill 能做什么,适合哪些场景?
desktop-shell 是 OpenChamber 代码库内的一个代理技能,位于 .agents/skills/desktop-shell/SKILL.md。它指导代理如何安全地修改 Electron 桌面端代码:主进程/preload 职责划分、特权 IPC 处理、原生窗口与更新器行为,以及 Windows 下隐藏后台进程的生成方式。它还定义了修改后的验证标准(HMR 与打包双环境验证、进程树检查)。它只提供规则和上下文指引,不包含可执行脚本。
要求代理在编辑前阅读 packages/electron/README.md 与相关代码,并将每个改动的行为归属到 main、preload、renderer/UI 或 web/runtime 之一;规定 Electron 与 @openchamber/web 同进程启动、禁止引入 sidecar 服务器;给出 IPC 安全规则(preload 桥仅在渲染层能力变化时新增、特权命令在主进程把关、最小载荷、不向远程页面暴露文件系统/shell/令牌);规定 Windows 后台子进程必须 windowsHide: true、使用 stdio: 'ignore' 并避免 cmd.exe /c 等会产生控制台闪烁的方式;定义打包、启动/退出/更新器/深链接行为的保持要求与验证门槛。
- 维护 OpenChamber 桌面端的开发者需要修改 Electron main/preload 代码或新增特权 IPC 命令
- 需要为桌面应用添加或调整原生菜单、对话框、通知或更新器行为
- 修复 Windows 上后台子进程闪现控制台窗口的问题
- 实现或修改深链接(deep link)、SSH 主机导入或隧道生命周期等信任边界功能
- 调整打包流程(bundle-main.mjs、原生模块配置)并需保证开发与打包环境行为一致
这个 Skill 有哪些优点和局限?
- 清晰定义了 Electron 的特权边界与信任边界规则,可防止代理把桌面权限泄漏给远程页面
- 包含少见但实用的 Windows 隐藏子进程最佳实践(windowsHide、stdio ignore、避免 cmd.exe 垫片)
- 明确了完成标准:HMR+打包双验证、进程树检查,而非仅看命令成功
- 与 ui-api-decoupling 技能的职责划分明确,便于多技能协作
- 纯规则型技能,不含脚本或自动化检查,效果依赖模型遵守指令
- 强绑定 OpenChamber 特定代码结构(packages/electron、bundle-main.mjs、main.mjs),对其他 Electron 项目需大量改编
- 技能本身未附带测试套件,规则正确性无独立验证证据
- 安装与独立使用方式未在源文档中说明
如何安装这个 Skill?
该技能已内置于 openchamber/openchamber 仓库,路径为 .agents/skills/desktop-shell/。若要在其他 Agent Skills 兼容的客户端中使用,需将该文件夹(含 SKILL.md)复制到客户端的技能目录;源文档未说明独立的安装命令。前提是拥有 OpenChamber 仓库本身的代码——这个技能只对该代码库的 Electron 部分有意义。
如何使用这个 Skill?
当代理任务涉及 Electron main/preload、桌面 IPC、原生窗口、菜单、对话框、通知、更新器、深链接、SSH/隧道、子进程或打包启动时,代理应自动加载此技能(其 description 触发条件已列明这些场景)。修改前先阅读 packages/electron/README.md;若改动涉及渲染层可见能力或共享桥接契约,还需加载 ui-api-decoupling 技能。完成后按 SKILL.md 的验证要求运行针对性的 Electron 测试,启动/打包类改动需同时做 HMR 开发与打包验证,Windows 进程改动需检查完整进程树确认无控制台闪烁。