ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Cua Driver 加密 Computer History 实战指南:安装、启用、审计与加密删除

Cua Driver 加密 Computer History 实战指南:安装、启用、审计与加密删除 Cua Driver 加密 Computer History 实战指南安装、启用、审计与加密删除【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua导读本文面向 Cua Driver 的用户与 Agent 开发者完整讲解开源驱动内置的Computer History计算机操作历史桌面预览功能如何在 nightly 渠道安装并启用、如何用本地 CLI 检查与审计历史、如何让受授权的 Agent 通过history_status/history_query只读工具水合hydrate有限的上下文以及如何暂停、禁用、加密删除与彻底清除。读完本文你将掌握一条从安装 nightly → 显式启用 → 本地审计 → 授权 Agent 读取 → 加密删除的完整链路并理解其背后的 CBOR Sequence COSE_Encrypt0 CloudEvents 加密存储格式与无明文回退、无网络 I/O的隐私边界。1. Computer History 是什么定位与隐私边界Computer History 是 Cua Driver 的一个默认关闭的加密本地能力computer-history-preview.md用于回答用户关心的四类问题本次会话中驱动执行了哪些操作它作用在哪个应用上哪些操作被确认为成功confirmed、部分成功partial、被拒绝refused或无法验证unverifiable历史何时被启用、暂停、恢复或删除是否发生过丢事件、配额耗尽或损坏写入与常见的录屏/键盘记录类工具不同Preview 0 是action-history-first它只记录Cua Driver 会话生命周期、历史控制操作、被授权的历史读取以及 Cua 中介的计算机操作不会持续观察桌面活动也不记录与驱动无关的应用窗口事件。其永久性隐私边界见 computer-history-architecture.md明确排除以下内容截图、视频、音频原始按键与键入文本剪贴板内容原始工具参数与结果无障碍accessibility树文件路径、窗口标题、URL任意格式的自由诊断信息。一句话概括设计取向对隐私 fail closed不安全数据永不落盘对操作执行 fail open历史失败绝不阻断正在执行的计算机操作。2. 前置条件环境、安装渠道与权限Computer History 适用于macOS、Windows、Linux 的交互式桌面会话需要安装包含该实验性预览的nightly构建授予 Cua Driver 执行目标操作所需的常规权限历史功能不会新增任何执行权限Linux桌面需要运行 Secret Service 实现如 GNOME Keyring——若没有已解锁的 Secret Service预览会fail closed拒绝启用。在切换渠道之前请先确认当前安装渠道与版本cua-driver channel status全新安装 nightlymacOS / Linuxbash/bin/bash -c $(curl -fsSL https://cua.ai/driver/install.sh) -- --channel nightlyWindowsPowerShell ([scriptblock]::Create((irm https://cua.ai/driver/install.ps1))) -Channel nightly已有安装切换到 nightlycua-driver channel set nightly cua-driver update --apply安装脚本与卸载脚本位于仓库 libs/cua-driver/scripts其中 install.sh、install.ps1 是 Unix/Windows 安装入口脚本内已包含渠道参数--channel/-Channel的分发逻辑。3. 启用 Computer History双门控与原子自检3.1 两个独立门控缺一不可Computer History 采用双门控设计computer-history-architecture.md守护进程准入守护进程必须以cua-driver serve --experimental-history启动否则历史相关变更命令不可用用户显式同意cua-driver history enable持久化history_enabled: true。准入不等于开始采集仅凭用户同意也无法绕过未带准入标志的守护进程。3.2 执行启用cua-driver history enable该命令完成一系列原子化操作对应源码 history.rs 中HistoryManager::enable的实现顺序校验守护进程处于 admitted 状态创建/打开设备本地原生凭据namespace root key初始化加密控制流完成一次加密写入 读取的自检只有在自检通过后才持久化history_enabled: true并置健康状态为Ready。若自检失败最多留下一个可诊断的已认证加密块绝不会持久化 enabled 状态也绝不写入明文历史。对于已安装的标准产品CLI 会接管准入过渡cli.rs记录非敏感的history_preview_admitted偏好 → 让当前守护进程干净退出 → 通过 LaunchAgent / Windows 计划任务 / Linux systemd 用户单元重新拉起带--experimental-history的已验证产品 → 校验替换后守护进程的命名空间、安装来源、版本与 admitted 状态macOS 还校验签名身份→ 最后才执行原子启用。本地开发local-development构建不走该过渡需手动重启cua-driver serve --experimental-history cua-driver history enable启用命令会打印功能为实验性、Preview 0 字段白名单、文件加密与原生凭据保护说明、凭据/存储不可用则拒绝启动、保留期与磁盘配额、可用控制命令清单以及是否已自动完成守护进程重启。3.3 检查状态cua-driver history status默认保留期为 7 天、默认加密存储配额为 100 MiB源码常量见 history.rsDEFAULT_RETENTION_DAYS 7、DEFAULT_QUOTA_BYTES 100 * 1024 * 1024。查询永远不会返回超过 7 天的事件写入器至少每小时密封一次活动 chunk并在运行期间清理已密封 chunk。status的字段由HistoryManager::status()history.rs构造--json模式下仅输出固定操作字段supported/admitted/enabled/paused/encrypted布尔值固定存储画像标识符cua-history-profile-v1/cbor-sequencecose-encrypt0cloudevents-json保留天数、配额字节数、当前加密字节数累计丢弃事件数一个固定的 writer 健康类别。注意禁用历史或守护进程离线时过期密文可能一直留在磁盘直到下一次 enable 或查询检查点但查询侧的过期截断是精确的——查询永远不会返回超过查询可见截止点的事件。4. 本地审计list / show / --json通过本地 CLI 检查最近事件cua-driver history list 50按序号查看单条事件cua-driver history show 42当另一个本地程序需要结构化输出时status、list、show均支持--jsoncua-driver history status --json cua-driver history list 100 --json cua-driver history show 42 --json历史控制面仅通过本地 CLI 对守护进程私有方法发起cli.rs。守护进程会认证同一用户的 Unix socket / 命名管道对端从内核报告的 peer PID 解析其可执行文件并要求该可执行文件位于已验证安装产品内部macOS 发布版还会额外校验 Cua 签名团队与 Apple 代码签名信任锚。history delete需要显式人工确认--yes且Preview 0 中永不暴露为 Agent 工具。5. 让 Agent 从历史中水合上下文Agent 通过常规的 Cua Driver 工具路径接入。预览只暴露两个只读工具history.rs 中HistoryStatusTool/HistoryQueryTool工具所需能力说明history_statushistory.status返回无内容的状态与健康信息history_queryhistory.query有界返回元数据事件每一次调用都由现有 Cua 权限模式、策略上限与能力清单capability manifest裁决对应 authorization.rs、policy.rs、session_manifest.rs。标准模式需要显式的操作级历史授权bounded 模式则要求清单同时授予精确工具名与匹配的resources.computer_history.operations值。授权通过后单次查询最多返回 200 条元数据事件源码常量MAX_QUERY_LIMIT 200见 history.rs支持可选的 sequence 与 session 边界过滤查询结果可以进入 Agent 的模型上下文工具描述与响应中会明确披露这一点加密存储会记录一条固定格式的访问审计事件cua-driver.history.access.v0Agent不能通过这两个工具启用、暂停、恢复、禁用、删除、导出或获取加密密钥。Agent 水合流程sequence diagram 描述见 computer-history-architecture.mdAgent 先调用history_status()检查可用性 → 经工具注册表路由到现有权限系统裁决history.status→ 再调用history_query(limit, sequence bounds, optional session id)→ 权限系统裁决history.query→ 有界解密与 schema 校验 → 返回元数据事件 → 记录加密访问审计。会话标识采用命名空间本地密钥化派生HKDF-SHA-256 HMAC-SHA-256 前 128 位防止无密钥离线猜测也无需持久化原始会话标签。6. 暂停、恢复与禁用采集cua-driver history pause # 暂停采集不清除 enabled 偏好 cua-driver history resume # 恢复采集 cua-driver history disable # 禁用采集并停止 writer行为细节对应 history.rs 的实现pause停止受理新的 action-start 记录但 pause 前已受理的操作会尽量补写其 action-completed 记录同时持久化paused: true并发送 Pause 控制事件resume创建新的控制记录并恢复受理后续操作disable先关闭生产者闸门并持久化history_enabled: false然后排空有界队列固定短截止时间、flush、关闭 writer即使 writer 中毒或已满也不会把用户困在 enabled 状态守护进程关机执行同样的有界排空绝不会挂起进程退出上述命令都会保留已有的加密历史。7. 加密删除与卸载清除7.1 删除全部历史加密删除cua-driver history delete --yes这是密码学删除删除加密存储并销毁该命名空间的精确原生密钥。delete_all的实现history.rs会关闭 writer → 销毁精确命名空间密钥引用 → 移除被识别的.cborseq文件只有密钥销毁与文件移除都成功才报告成功。删除命令不承诺从 APFS 快照、备份、已复制密文、SSD 磨损均衡或进程已解密内存中进行物理擦除。7.2 卸载时清除purgemacOS / Linux 卸载并清除/bin/bash -c $(curl -fsSL https://cua.ai/driver/uninstall.sh) -- --purgeWindowsPowerShell$env:CUA_DRIVER_RS_UNINSTALL_FORCE 1 $env:CUA_DRIVER_RS_UNINSTALL_PURGE 1 irm https://cua.ai/driver/uninstall.ps1 | iex务必以交互登录用户身份运行卸载器不要给 Unix 卸载器加sudo原生凭据与历史清理必须留在该用户的上下文中。uninstall --purge不是单纯的删文件而是先执行打包的离线生命周期助手见 computer-history-architecture.md停止守护进程并证明无活跃 writer → 只枚举该命名空间原生凭据服务内的不透明密钥引用 → 销毁并验证根密钥项包括孤儿项→ 验证每个已枚举密钥无法再加载 → 全部通过后才移除历史文件与生命周期状态。任一环节失败则报告history_purge_incomplete、保留可重试的状态并且不宣称已清除。卸载器绝不执行宽泛的凭据库删除也绝不触碰另一个 release/local-development 命名空间。7.3 返回稳定渠道先禁用采集再切换二进制cua-driver history disable cua-driver channel set stable cua-driver update --apply切换渠道不会删除加密历史不理解预览存储的旧版稳定构建必须原样保留该存储兼容性规则见 computer-history-architecture.md。正常卸载同样保留加密文件、偏好与命名空间密钥之后兼容重装可以重新打开存储但 release 与 local-development 安装永远无法访问彼此的命名空间。8. Preview 0 存储内容与格式8.1 事件白名单加密事件白名单computer-history-preview.md包含时间与单调递增序号不透明的会话与操作标识符一个固定的 Cua capability可选的应用标识符bundle id与显示名均为固定字段固定的操作结果effect、投递delivery、路由route、证据evidence与升级escalation类别生命周期、访问审计与 writer 健康事件。永不存储截图、视频、音频、键入文本、原始按键、剪贴板内容、原始工具参数/结果、无障碍树、文件路径、窗口标题、URL 或自由格式诊断信息规范白名单表见 computer-history-architecture.md且没有任何 debug 模式可以放宽该表。8.2 磁盘格式Cua History Profile文件采用Cua History Profile一个CBOR SequenceRFC 8742其中每条记录是一个COSE_Encrypt0RFC 9052对象加密负载内是CloudEvents JSON。ChaCha20-Poly1305RFC 9053 算法 24认证每条记录。命名空间根密钥由 macOS Keychain / Windows Credential Manager / Linux Secret Service 保护每 chunk 通过HKDF-SHA-256派生子密钥info 字符串为cua-driver/history-profile/v1/chunk-key见 history.rs。没有明文回退历史功能零网络 I/O。文件头与记录格式由随仓库检入的 CDDL 精确定义computer-history-profile-v1.cddlhistory-header [ profile-version: 1, algorithm: 24, ; ChaCha20/Poly1305 (RFC 9053) key-epoch: uint .gt 0, key-reference: tstr .size (1..128), stream-id: tstr .size (1..128), chunk-id: tstr .size 32, ; lower-case hexadecimal 128-bit identifier nonce-prefix: bstr .size 4 ] history-record #6.16([ protected: bstr, unprotected: { 5 bstr .size 12 }, ; COSE IV header ciphertext: bstr ]) history-file history-header, * history-record每条加密记录内是 CloudEvents 1.0 JSON 事件事件字段与取值由 JSON Schema 强校验computer-history-event-v0.schema.json。事件类型枚举control、action_started、action_completed、session、access、health。示例事件样例值均为合成数据{ specversion: 1.0, id: 11111111111111111111111111111111, source: urn:cua-driver:history:22222222222222222222222222222222, type: cua-driver.history.action_completed.v0, subject: action/44444444444444444444444444444444, time: 2026-08-14T12:00:00Z, datacontenttype: application/json, dataschema: urn:cua-driver:schema:history-event:v0, data: { session_id: 33333333333333333333333333333333, action_id: 44444444444444444444444444444444, sequence: 42, platform: macos, process_model: in_daemon, capability: computer.pointer.click, caller_category: cua_runtime, payload: { kind: action_completed, effect: confirmed, route: accessibility, delivery: foreground, delivered_count: 1, evidence_kinds: [accessibility_readback] } } }关键加密细节每条 chunk 使用独立 HKDF 派生密钥随机 128-bit chunk 标识作为盐info 中携带 stream 标识与 key epoch96-bit nonce random_32_bit_chunk_prefix || uint64_be(record_sequence)记录序号从 0 开始保证(key, nonce)全局唯一序列耗尽前必须轮换 chunk文件头精确编码字节作为每条记录的外部认证数据external AAD每个 writer 实例含守护进程重启、进程内 writer 失败后重建都会把旧 chunk 封为只读并新建 chunk防止崩溃后 nonce 计数器回退复用写入前通过writer.lock获取排他文件租约竞争守护进程 fail closed读取时先按配额限制总字节数再做头/schema/nonce/sequence/固定字符串校验任一不匹配即拒绝该存储不修复、不跳过、不自动续写缺失的 start/completion 配对被视为崩溃或丢事件的合法证据不会被静默合成。8.3 存储目录布局默认加密存储位置macOS~/Library/Application Support/cua-driver/computer-historyWindows%LOCALAPPDATA%\cua-driver\computer-historyLinux$XDG_STATE_HOME/cua-driver/computer-historyXDG_STATE_HOME未设置时回退~/.local/state/cua-driver/computer-history。本地开发安装使用cua-driver-local命名空间文件系统与原生密钥命名空间同时替换。目录结构见 computer-history-architecture.mdcomputer-history/ ├── .cua-history-root-v1 # 固定归属标记不含用户数据 ├── admission.json # 非敏感预览准入偏好 ├── state.json # 仅 enabled 与 paused 两个布尔值 ├── writer.lock # 空 OS 锁协调文件 └── chunks/ ├── opaque-chunk-id.cborseq └── opaque-chunk-id.cborseq存储目录与chunks使用0700、文件使用0600权限。Preview 0不支持文件根覆盖生产采集与清除被限制在平台推导的精确产品命名空间根内新/空根会获得 Cua History 归属标记遇到非空未标记、符号链接根、Windows reparse point 或意外内容时在清除密钥/删除文件前 fail closed。明文状态文件只有准入布尔与 enabled/paused 布尔不含任何事件时间戳、应用身份或可查询历史。文件系统仍可能暴露历史目录存在、总大小与修改时间原生密钥绑定当前用户凭据库仅复制加密文件到另一台机器无法恢复数据。8.4 原生密钥提供者边界cua-driver-core依赖一个窄KeyProvider契约创建/加载随机设备本地密钥、把精确不透明密钥引用加载进零化内存、销毁精确引用显式携带 release/local-development 命名空间绝不暴露凭据库路径、账号名、原始 OS 错误、导出操作或明文回退history.rs 与三个平台实现 platform-macos/src/history.rs、platform-windows/src/history.rs、platform-linux/src/history.rs。macOS 实现platform-macos/src/history.rs使用 Data Protection KeychainkSecAttrAccessibleWhenUnlockedThisDeviceOnly、kSecAttrSynchronizablefalse签名团队限定的 access group 绑定com.trycua.driver本地开发命名空间使用不同步的登录 Keychain 项。Windows 使用当前用户的 Credential Manager 原生凭据 APILinux 使用当前桌面用户的 Secret Service 集合——缺失、锁定、拒绝或畸形都会 fail closed绝不用环境变量、明文文件或进程本地密钥替代。9. 捕获链路与性能预算9.1 采集集成点历史钩子构建在规范分发边界canonical dispatch旁tool.rs与现有 recording 的 begin/finish 流程并行工具解析与授权后只派生稳定 capability 与固定 caller 类别仅检查可选数值 PID 用于有界应用解析随后丢弃参数值——历史绝不序列化原始参数对象从已有进程/窗口上下文派生固定字段应用身份不新增持续观察者、不持久化标题或可执行路径分配action_id用非阻塞try_send入队action_started正常执行工具校验ActionExecutionRecord通过stable_projection()action_record.rs取稳定投影再经第二道历史专用固定字段白名单变换丢弃自由格式detail字段用同一action_id入队action_completed。stable_projection()只输出 effect、route、delivery含 delivered_count、evidence、escalation 五个固定类别天然满足仅固定枚举的隐私要求。9.2 背压与故障隔离有界队列初始容量512 条WRITER_QUEUE_CAPACITYhistory.rs分发使用try_send永不等待 writer队列满时丢弃当前事件并累加原子计数器状态面暴露累计丢弃数队列恢复后优先尝试补写一条events_dropped健康记录历史初始化、序列化、轮换、同步、配额、删除等任何错误都不会改变计算机操作的结果历史代码 panic 必须被隔离在钩子/writer 边界不得沿分发路径 unwindchunk 每55 分钟密封轮换一次CHUNK_ROTATION_INTERVALhistory.rs配合 7 天保留期将物理密文删除松弛控制在查询可见保留期外至多 1 小时。仓库提供了同步生产者边界基准 history_hook_bench.rs验证启用后同步钩子 p99 附加延迟低于 1 ms且功能开启路径不执行任何同步磁盘、原生凭据、网络或阻塞同步操作。跨平台生命周期门禁测试见 computer_history_cross_platform_test.rsWindows/Linux记录真实窗口操作 → 重启守护进程 → 从密文水合 → 验证禁用保留与密码学删除。10. 故障排查错误类别与处置history_preview_not_admitted运行中的本地开发守护进程未以预览标志启动。用cua-driver serve --experimental-history重启该守护进程再执行cua-driver history enable。已安装的 nightly 构建会自动完成带校验的重启。history_key_locked/history_key_unavailable解锁登录会话及其原生凭据库Keychain / Credential Manager / Secret Service后重试。Linux 上还要确认 Secret Service 实现在运行。采集保持禁用不会创建明文文件。history_quota_reached如不再需要历史执行cua-driver history delete --yes。预览不允许无界增长且不会阻塞触发满存储的那个计算机操作。history_storage_corrupt读取器发现无效、不完整、乱序或未认证的记录会拒绝该存储而不是修复或跳过证据。若接受永久数据丢失cua-driver history delete --yes会销毁命名空间密钥并移除损坏的加密存储以便从零开始采集。这些错误类别对应HistoryError的固定 health category源码见 history.rs。11. 隐私防火墙与后续路线11.1 遥测防火墙历史与产品遥测是两套完全隔离的系统computer-history-architecture.md任何历史事件、字段、标识符、结果、计数、路径、标题、URL、查询、摘要或内容都不会进入遥测现有 CLI 遥测分类器最多发出封闭的命令名与封闭操作名如enable、status、delete启用遥测不会启用历史启用历史也不会改变遥测载荷遥测标识符永不写入历史telemetry.rs 中history_status/history_query被显式排除在事件内容采集之外。11.2 阶段化路线诚实披露边界Preview 0当前本文所描述的加密桌面操作历史 两个只读工具Preview 1密钥生命周期加固轮换、清单、校验、history verify跨记录/跨 chunk 哈希链、可选敏感元数据窗口标题与 URL/域是独立 opt-in各有独立开关、用户可见预览、拒绝规则与查询时访问控制Beta进程隔离的加密 Vault、主机策略/查询代理、NVIDIA OpenShell 策略适配器保持一个权限边界一个操作级 capability、规则化摘要与可选的本地/远程模型代理模型代理不持有 vault 密钥、无法直接读取原始 chunk额外平台与可选模型逐平台独立认证缺失能力只产生更少上下文绝不用截图、OCR、原始文本或猜测值替代。阶段化门禁图与 NVIDIA OpenShell 集成规划详见 computer-history-architecture.md。需要注意任何后续阶段的能力都不能用来描述早期阶段Windows/Linux 的平台能力差异如 Linux 下应用身份为WM_CLASS或 compositorapp_id也在该文档的平台适配矩阵中如实列出。12. 快速参考完整命令清单cua-driver channel status # 查看渠道 cua-driver history enable # 准入 显式启用 加密自检 cua-driver history status [--json] # 查看状态/配额/健康 cua-driver history list [limit] [--json] # 列出最近事件 cua-driver history show sequence [--json] # 按序号查看单条事件 cua-driver history flush # 排空有界 writer cua-driver history pause # 暂停采集保留 enabled cua-driver history resume # 恢复采集 cua-driver history disable # 禁用采集并停止 writer cua-driver history delete --yes # 加密删除全部历史以上所有命令的源码入口为 cli.rs 的run_history_cmd全部变更命令仅通过守护进程私有方法执行、永不注册为 MCP 工具且delete需要人工确认。本文完整命令与行为以当前仓库 nightly 预览实现为准若在稳定渠道或更早构建上运行请先按第 2 节切换渠道。【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表