开发与工程 electrondesktop-appipc-securitywindows-process-spawningpackagingpreload-bridgeopencode

OpenChamber 桌面外壳技能

在修改 OpenChamber 的 Electron 主进程、preload、IPC 或打包逻辑时,为 AI 代理提供正确的架构边界与安全规则。

FollowSkills 评估 · FSRS-2.0
谨慎使用
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全16 / 25 · 3.2/5

该技能本身以安全指导为核心:要求主进程门控特权命令、最小化preload暴露、禁止向远程页面暴露文件系统/shell/凭据、windowsHide隐藏子进程,均符合最小权限与数据流透明原则,且为仓库内部开发指导,无外部破坏性效果。扣分点:无用户确认/回滚机制说明,深链、凭据、runtime切换等信任边界操作仅作原则性提醒,未给出具体防护或恢复步骤;发布者未经验证使归因不完整。

2可靠稳定9 / 20 · 2.3/5

指令内部自洽,职责划分明确(main/preload/renderer归属判定条件清晰),验证步骤可操作(进程树检查、HMR+打包双验证)。扣分点:关键路径未附可执行测试证据,packages/electron/README.md等被引用文件未在证据中出现,错误反馈与异常输入处理主要依赖上层仓库,静态无法确认可复现性。

3适用触发8 / 15 · 2.7/5

description触发条件具体(Electron主/preload、IPC、原生窗口、SSH、打包等),场景边界与ui-api-decoupling技能的职责分工明确。扣分点:仅适用于本仓库开发者,通用性弱;无中文支持说明;功能围绕桌面开发,未见对目标环境可达性的声明;非适用范围仅隐含。

4规范维护10 / 15 · 3.3/5

结构清晰(必需上下文→运行时边界→IPC安全→Windows进程→打包→验证),渐进披露合理,仓库有MIT许可证、版本号1.22.2、活跃CI与维护痕迹。扣分点:技能文件本身无版本/更新记录,强依赖未在证据中提供的packages/electron/README.md与bundle-main.mjs,隐藏假设较多;维护责任仅体现为个人作者。

5有效结果7 / 15 · 2.3/5

对Electron贡献者的核心任务(安全地修改桌面壳代码)提供直接可用的检查清单与红线约束,边际价值高于无指导修改,尤其Windows无控制台闪烁与IPC最小暴露规则具实际价值。扣分点:输出为规范性指导而非可直接验证的产物,完成度依赖执行者,静态审查无法确认实际产出可用性。

6证据核验4 / 10 · 2.0/5

仓库提供MIT许可、安全政策、CI工作流与测试脚本(package.含electron test/type-check),可部分佐证维护与验证文化。扣分点:未提供覆盖本技能关键路径(Electron测试、进程树检查)的已提交测试内容,主张主要为作者规范陈述,无第三方执行证据,静态上限为5分且证据偏薄,故给4分。

证据充分度: 评估于 2026年9月9日 审查版本 f8b929edf989
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 本评估为纯静态源码审查,未执行任何测试或验证命令。
  • 技能强依赖 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 等会产生控制台闪烁的方式;定义打包、启动/退出/更新器/深链接行为的保持要求与验证门槛。

  1. 维护 OpenChamber 桌面端的开发者需要修改 Electron main/preload 代码或新增特权 IPC 命令
  2. 需要为桌面应用添加或调整原生菜单、对话框、通知或更新器行为
  3. 修复 Windows 上后台子进程闪现控制台窗口的问题
  4. 实现或修改深链接(deep link)、SSH 主机导入或隧道生命周期等信任边界功能
  5. 调整打包流程(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 进程改动需检查完整进程树确认无控制台闪烁。

常见问题

这个技能需要联网或调用外部服务吗?
技能本身是纯指导文档,不发起网络调用;它假设你在本地操作 OpenChamber 仓库代码并运行其 Electron 测试与打包检查。
我能用它来开发任意 Electron 应用吗?
不能直接用。其中的文件路径(packages/electron、main.mjs、bundle-main.mjs)和与 ui-api-decoupling 的协作约定都绑定 OpenChamber 仓库,用于其他项目需要手动改编这些引用。
它会代替我运行测试吗?
它只规定验证要求(聚焦的 Electron 测试、HMR 与打包双验证、Windows 进程树检查),具体测试命令由代理按仓库实际情况执行;技能内没有列出具体测试命令。
权限风险有哪些?
技能本身不做任何特权操作,但它管理的领域恰恰是特权边界:按其规则,特权命令必须在主进程中把关,且不得向远程页面暴露文件系统、shell 或令牌。

同仓库的其他 Skills

均来自 openchamber/openchamber

开发与工程

Locale UI Patterns —— OpenChamber 界面文案国际化规范

为 OpenChamber 项目编写或修改任何用户可见文案时,确保每个语言的字典都拿到真正的翻译,而不是英文占位符。

开发与工程

OpenChamber 中继传输技能

为 OpenChamber 的端到端加密中继隧道正确编写 WebSocket、SSE 与流式端点,避免只在桌面直连下能通过的隐性中继缺陷。

开发与工程

OpenChamber UI/API 分层规范

为 OpenChamber 共享界面代码划定数据访问边界:官方走 SDK、自有能力走 RuntimeAPIs,避免硬编码 URL、令牌与传输假设。

开发与工程

Clack CLI 模式规范

为 OpenChamber 终端命令定义统一的交互提示、--quiet 与 -- 输出契约,确保任何运行模式下策略校验先行、行为确定一致。

开发与工程

OpenChamber 性能工程技能

在优化单条操作之前先消除结构性浪费:为交互、渲染、轮询、缓存与大规模数据路径提供以测量为准的性能优化方法论。

设计与前端

OpenChamber 拖拽排序技能(drag-to-reorder)

一份沉淀自真实项目的 @dnd-kit 拖拽排序实践指南,专门解决变宽条目、换行布局和移动端触摸交互中最容易踩的坑。

设计与前端

OpenChamber 主题系统技能

在修改 OpenChamber UI 时,强制使用语义化主题令牌、共享按钮/图标契约与键盘导航规范,避免硬编码颜色和重复实现。

设计与前端

OpenChamber 设置界面模式指南

在修改 OpenChamber 设置页面、对话框和搜索行为时,强制代理使用共享原语与本地化、搜索注册约定,避免各页面各自造轮子。

开发与工程

OpenChamber 变更纪律

在修改 OpenChamber 代码库时,强制执行“最小完整变更 + 最窄级别验证”的工程纪律,防止局部修复演变成投机性重写。

开发与工程

serve-sim — 终端里的 iOS 模拟器遥控器

无需打开 Xcode,就能在终端中启动、安装、串流并操控 Apple 模拟器里的 Capacitor iOS 应用。

开发与工程

OpenChamber 同步状态不变量守则

在改动会话同步、事件归约器、轮询与缓存逻辑时,一套强制执行的状态所有权与失败语义规范,防止数据误删与状态错乱。

相关 Skills