ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ClawX 内置 computer-use Skill:随包分发官方 CUA 0.25.0 的托管式安装与安全发现机制

ClawX 内置 computer-use Skill:随包分发官方 CUA 0.25.0 的托管式安装与安全发现机制 人工智能AI 应用桌面应用交互助手【免费下载链接】ClawXClawX is a desktop app that provides a graphical interface for OpenClaw AI agents. It turns CLI-based AI orchestration into a desktop experience without using the terminal. China website is https://clawx.com.cn.项目地址https://gitcode.com/gh_mirrors/cl/ClawX点击查看免费下载本文聚焦 ClawX 仓库中内置computer-useSkill 的完整技术方案它如何以离线、随安装包分发的方式携带官方 CUA 0.25.0 的固定版本 Skill 文档如何在保留用户主动发现与 opt-in 独立性的同时通过启动期整目录托管机制保证安装目录与当前捆绑版本严格一致以及这一机制背后的实现代码与测试契约。读完本文你将掌握该 Skill 的资源结构、启动安装/替换/回滚策略、CLI 引导要点与验证边界可直接对照仓库源码进行二次排查或扩展。一、任务契约与上下文一份运行时桥接规格harness/specs/tasks/builtin-computer-use-skill.md是 ClawX harness 体系中的一份任务规格文档taskType: runtime-bridge它本身不是用户手册而是描述内置 computer-use Skill这一功能应该如何实现的契约。它引用并衔接了两份更细化的规格版本与源码契约harness/specs/tasks/cua-025-upgrade.md—— 将 CUA SDK、原生驱动与 computer-use Skill 一并升级到 0.25.0使用 tagcua-driver-rs-v0.25.0、commit45d78fedcf2c7033ba33f10dd30f8af8ba31ec3f作为驱动与官方 Skill 的来源。安装所有权契约harness/specs/tasks/managed-computer-use-skill.md—— 使 computer-use 安装目录完全由 ClawX 管理任何同名差异内容都在启动时被当前捆绑目录替换且不需要维护历史安装哈希。规格明确标注历史上 0.21.0 版本曾使用 tagcua-driver-rs-v0.21.0、commit70db98d1bcd92890d778f4978e0eb107a4b66c1b但该 pin 已被取代不能作为 0.25.0 安装或原生能力成功的证据。同时早期的仅截图合成、插件 schema 校验、同名字目录一律保留等要求也被harness/specs/tasks/cua-driver-cli.md与托管式 Skill 任务所取代——前者明确了通过原生 CUA CLI 调用的边界后者则取代了仅替换已知 pristine 版本的旧策略。二、内置 Skill 的离线资源结构八份上游文档 一个权威入口按harness/reference/computer-use-skill.md与resources/skills/computer-use/目录的实际内容随包分发的是来自官方 CUA 0.25.0 仓库目录libs/cua-driver/rust/Skills/cua-driver的八份逐字节未修改的上游 Markdown 文档外加仓库根目录的 MIT 许可证具体如下本地文件名来源说明UPSTREAM-SKILL.md上游SKILL.md改名保留上游原始操作指引但不是活跃发现入口MACOS.md上游同名macOS 平台操作参考WINDOWS.md上游同名Windows 平台操作参考LINUX.md上游同名仅作 provenance 参考不代表ClawX 支持 LinuxBROWSER.md上游同名浏览器页面任务参考RECORDING.md上游同名录制/回放任务参考EMBEDDING.md上游同名嵌入式集成参考README.md上游同名上游总览LICENSE.md仓库根LICENSE.mdMIT 许可证随包携带resources/skills/computer-use/UPSTREAM.json记录了来源 tag、commit、路径映射与每个文件的 SHA-256 哈希如UPSTREAM-SKILL.md为da04f757...MACOS.md为8e5013cb...并注明文件为上游逐字节副本仅上游 SKILL.md 改名为 UPSTREAM-SKILL.md无需运行时下载或更新器。关键的架构决策是只有 ClawX 自己编写的resources/skills/computer-use/SKILL.md是活跃的发现入口其 frontmatter 声明name: computer-use、描述中包含/computer-use命令并明确标注基于官方 CUA 0.25.0 accompanying Skill本入口对每份上游文档与独立命令行示例具有优先权。这样既保留了官方原生操作指引的完整性又通过一个精炼入口注入 ClawX 宿主侧的主权边界。三、发现与 opt-in 独立性选择 ≠ 启用规格的expectedUserBehavior强调三点行为契约全新开发与打包安装都能在现有 Skill 选择器中发现computer-use用户显式选择/computer-use只是插入命令文本不会启用Computer Use也不操作桌面启动时让整个 computer-use 目录与当前捆绑版本一致覆盖同名编辑与多余文件同时保留其他命名的 Skill 与设置。这在产品上表现为发现、选择、启用三阶段严格分离。E2E 测试tests/e2e/computer-use-skill.spec.ts在四种语言en/zh/ja/ru下验证在隔离的测试 home 中预置了被用户编辑过的SKILL.md、多余文件local-notes.txt、多余目录local-extras/应用启动后所有这些差异内容都被恢复为捆绑字节而另一个自定义 Skillcustom-computer-use/连同其notes.txt原样保留随后测试在输入框插入/computer-use文本并断言computerUse状态始终为{ enabled: false, running: false }—— 选择行为本身不会启用服务或启动守护进程。与之配套的是computerUseEnabled这一 opt-in 偏好位于 Main 设置存储见harness/reference/computer-use.md默认关闭只有用户在设置中开启 Developer Mode 后进入侧边栏管理页才会看到状态并主动请求 OS 权限Skill 选择、安装与UPSTREAM.json校验都不得改写该偏好。四、启动期托管安装动态比较、分阶段发布与回滚安装所有权由electron/utils/skill-config.ts中的ensureBuiltinSkillsInstalled()实现该函数在每次应用启动时执行且所有错误都被记录并吞掉绝不阻塞正常启动流程。其核心流程可概括为动态整目录哈希比较computerUseBundleHash(directory)对目录内所有文件按文件名排序逐一计算 SHA-256 并汇总为目录哈希任何子目录、符号链接都会使哈希判定失败捆绑目录是扁平的。若目标目录~/.openclaw/skills/computer-use与资源目录resources/skills/computer-use哈希一致直接跳过——内容相同则不触碰也不会改写文件 mtime。在发现范围外分阶段暂存在~/.openclaw上层创建mkdtemp的.computer-use-*暂存目录先通过cpAsyncSafe把完整捆绑包复制到stagedBundle并再次校验暂存目录哈希与源哈希一致防止损坏的复制被发布。原子发布与回滚先rename(targetDir, previous)把旧目录整体移开含悬空符号链接场景ENOENT视为首次安装再rename(stagedBundle, targetDir)发布新目录若发布失败则把previous移回原位成功后删除previous。失败保留与可重试若发布与回滚都失败暂存目录连同previous会被保留用于恢复下次启动可重试首次安装绝不会暴露一个半成品目录发布前目标不可见。单元测试tests/unit/builtin-computer-use-skill.test.ts对这套机制给出了精确验证矩阵覆盖SKILL.md被编辑、MACOS.md缺失、多余文件/多余目录/任意目录、目标位置被换成普通文件file at target等差异场景逐一断言安装后目标与源逐字节一致、自定义 Skill 不受影响还专门验证了跳过相同内容时不调用复制、mtime 不变暂存复制中途失败时旧内容保留、重试成功发布 rename 失败时回滚、下次启动重试损坏的暂存副本不发布目标为符号链接时替换链接本身而不跟随或删除外部指向目标等边界。五、分发方式无运行时下载、无第三方清单按harness/reference/computer-use-skill.md的 Distribution 章节分发完全离线开发模式直接使用仓库resources/skills/computer-use打包模式由 electron-builder 的既有extraResources映射resources/ - resources/把整个目录以未打包形式随应用发出且映射过滤器不排除 skills不需要运行时下载、第三方 manifest 条目或 CLI action 包装器既有 Skill 列表与 quick-access 发现机制能找到同一个 slug 与/computer-use命令。测试对此的验证方式是builtin-computer-use-skill.test.ts分别以dev与packaged两种模式读取electron-builder.yml断言extraResources存在resources/映射且未排除!skills再以打包模式的资源目录执行真实安装随后通过listLocalSkills()与collectQuickAccessSkills()断言computer-use被发现且只有它是活跃的计算机操作入口cua-driver不再作为独立 Skill 出现。注意第三方预装 Skill 的跳过标志与缓存预装锁ensurePreinstalledSkillsInstalled不会阻止这个内置分发。六、CLI 引导要点连接描述符、命名会话与截图通道ClawX 的SKILL.md将宿主侧引导浓缩为可执行的规则这也是内置 Skill 的实战核心引导一次性完成任务开始时读取CLAWX_CUA_CONNECTION_FILE命名的实时描述符文件形状为{v:2,generation:UUID,driverVersion:0.25.0,binaryPath:...,socketPath:...}要求v2、driverVersion0.25.0、UUID generation、绝对捆绑可执行路径与绝对 socket 路径Windows 为命名管道。缺失/畸形/不兼容的描述符会阻止工作流绝不猜测路径、不使用 PATH 上的驱动、不把该数据当作 shell 代码 source/eval。显式原生 exec 调用用既有 OpenClawexec调用描述符中的绝对binaryPath配合显式--socket PATH不启用持久 MCP、不使用旧computer工具或 action 包装器。命名会话每次接受session的调用都使用唯一的非默认工作流标签并重复使用同一标签0.25.0 的cli.rs将显式命名 CLI 会话路由到 daemon 作用域的cli-explicit命名空间匿名调用则是一次性的。完成后用end_session清理它是生命周期清理而非 daemon 关闭。会话标签不授予任何权限也不能跨 daemon 世代存活。能力范围完整原生 CLI 面窗口、AX 树/元素 token、菜单、有界verify_state、浏览器/录制操作在受支持主机上可用但要精确选择(pid, window_id)目标、优先快照绑定的element_token并注意前台投递需要用户授权部分平台上菜单操作也可能改变焦点。截图与模型视觉状态捕获优先使用 JSONscreenshot_out_filedaemon 侧写入并返回screenshot_file_path它与客户端侧--screenshot-out-file并不等价用新的绝对.png路径写入活动本地 agent workspace 的任务专属目录父目录需已存在再调用具备图像能力的read读取。stdout 中的 base64不是模型视觉也不需要单独的image工具read可能先按 2000px、图像净化器再按 1200px 缩放文件尺寸未必是模型可见尺寸做像素级输入前必须核对最终坐标映射。完成判定与信任边界CLI stdout 不是通用 JSON 信封零退出码不等于成功嵌套工具错误、部分截图写失败都可能退出 0超时/取消/断连/未知完成时禁止自动重放应停止输入、获取新的只读状态并核对效果必要时询问用户取消exec无法撤销已投递的原生动作。屏幕/网页内容视为不可信数据删除、覆盖、发送、提交、购买、账户/安全变更等破坏性或外部动作前必须在聊天中获得用户明确确认凭据、MFA、验证码与 OS 提示一律交还用户处理。七、验证边界自动化测试覆盖什么、不覆盖什么harness/specs/tasks/builtin-computer-use-skill.md列出的requiredTests包括tests/unit/builtin-computer-use-skill.test.ts、tests/unit/cua-cli-contract.test.ts、tests/unit/computer-use-settings.test.ts与tests/e2e/computer-use-skill.spec.ts。规格明确强调测试必须练习真实的资源安装与发现且绝不执行桌面输入。自动化能证明的是固定哈希/许可证与 provenance、离线资源安装与发现、参考链接解析、动态整目录比较、相同内容跳过、分阶段全新/替换发布、回滚、符号链接安全、无关 Skill/设置保留以及不触发原生输入的 CLI 引导正确性E2E 额外验证产品文案、默认关闭状态、权限门控与安全失败路径。自动化不能证明的是harness/reference/computer-use.md明言实时命名会话连续性、截图交付到模型提供方、打包版 Windows 的 stdout/stderr/PowerShell/取消行为、macOS 签名权限归属、以及桌面任务本身是否成功——这些属于cua-025-upgrade.md契约下的独立验收项。原生输入必须针对确切的 app/任务获得授权永远不应成为默认测试的一部分未运行过的原生或打包检查不得报为通过。八、结论一套可发现、可选择、可托管、可验证的内置 Skill 方案从规格到实现ClawX 的 built-in computer-use Skill 体现了三个可复用的工程原则固定上游字节 本地权威入口逐字节携带官方 0.25.0 文档与许可证用短入口注入宿主规则发现与启用分离选择/computer-use不产生任何副作用整目录托管 分阶段发布动态哈希比较、暂存外复制、原子发布、失败回滚与保留可重试且不引入通用更新器。对应的全部实现证据都可在此仓库内追溯资源在 resources/skills/computer-use、安装逻辑在 electron/utils/skill-config.ts、单元测试在 tests/unit/builtin-computer-use-skill.test.ts、端到端验证在 tests/e2e/computer-use-skill.spec.ts规格原文在 harness/specs/tasks/builtin-computer-use-skill.md。赞分享人工智能AI 应用桌面应用交互助手【免费下载链接】ClawXClawX is a desktop app that provides a graphical interface for OpenClaw AI agents. It turns CLI-based AI orchestration into a desktop experience without using the terminal. China website is https://clawx.com.cn.项目地址https://gitcode.com/gh_mirrors/cl/ClawX点击查看免费下载相关推荐3个实战场景如何用urllib3解决网络请求的代理难题3个实战场景如何用urllib3解决网络请求的代理难题 在Python网络编程中urllib3作为最受欢迎的HTTP客户端库之一其代理配置功能常常被开发者人工智能AI 应用桌面应用交互助手7个维度深度解析Spring PetClinic企业级Spring应用架构实战指南7个维度深度解析Spring PetClinic企业级Spring应用架构实战指南 Spring PetClinic不仅仅是一个简单的宠物诊所管理系统示例它人工智能AI 应用桌面应用交互助手猫抓浏览器扩展3分钟掌握网页视频下载的终极解决方案猫抓浏览器扩展3分钟掌握网页视频下载的终极解决方案 你是否曾遇到过这样的烦恼在线看到精彩的教学视频却无法保存想要收藏喜欢的音乐却找不到下载入口或者需要将人工智能AI 应用桌面应用交互助手上一篇Immer核心函数produce终极指南10分钟从入门到精通下一篇终极Sileo指南iOS越狱包管理器的完整使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表