计算机模块
使用cmux-cua 0.7.1进行计算机访问
e0f738807dbff2f35fe67d7fbcc99c7082cffc23 与私人
alwith-cmux-host-v2 关于macOS ARM64、Windows x64和Linux x64的合同.
macOS使用Codex配置;Windows和Linux使用本地窗口配置. 类型脚本条目
编剧MCP描述来自本土权威,而不存储对话.
它的稳定附件描述器独立于司机准备和应用程序
执行权。 新的、恢复的和防御的线程得到同样的可发现
工具合同;只有在计算机工具执行时才检查应用程序授权.
Rust主机拥有一个嵌入式驾驶生和一个私人交通工具. 它的逻辑 租赁密钥由消费者选择: U 使用每个用户共享的一个应用程序租赁 谈话 单个线索取消或窗口隐藏不取消 这个租约。 禁止计算机使用会阻止孩子,并取消所有本地执行连接 同时留下MCP的发现. 主机必须在应用程序退出和连接丢失时关闭. 直接发射 从 macOS 授权属性的签名应用程序中获取.
macOS使用Unix socket,并需要访问和屏幕记录. Windows 使用经认证的本地命名管; Linux 使用私人 Unix 套接字 ,需要交互式桌面会话。 实际获取和可获取性 每个平台都有证据门准备 Linux 窗口预览使用 X11/ XWayland ; 本地Wayland窗口预览依赖于堆肥支持,可能无法使用. 权限覆盖本地 桌面,不是应用程序许可列表。 已升级的 Windows 应用程序可能需要 OS 普通驱动程序没有权限 。 没有安装 UIAccess 帮助器 .
./artifacts 被绑定的下载 URL 或 软件包关系 bundled 路径,
与SHA-256文摘. Apple 硅macOS 使用存档于 artifacts/ 与
cmux 代码配置和嵌入式主机补丁; Windows/Linux 使用相同的补丁
源以他们的本地后端。 所有驾驶员的档案都被捆绑起来 并用验收码固定 决定
bundled 相对于 ./artifacts 模块并验证归档
取取来. 阶段可执行文件, 分发 licenses/,并用
应用。 补丁来源和重建脚本在此寄存器中运行
driver-patches/ 并被排除在 npm 包中。 MCP 代理服务器使用
明确的嵌入端点,在撤销后无法启动独立的守护进程.
运行 bun run test, (中文(简体) ), bun run build,以及 bun run test:rust 在此目录中.
网关将 MCP 连接符绑定到返回的会话 身份证 它以FIFO的租约来序列化工具访问,直到运行时结束. 取消在移交前耗尽未完成的本地行动;运输失败 要求主机在释放本地执行所有权前先停止驱动. 消费者必须 运行时运行状态快照,包括等待输入的会话。 代码可以重新启动 MCP 进程。 网关会耗尽任何派遣的行动和关闭 接受替换前的运输,替换后必须再次发现其工具. 运输失败和未知的行动结果需要明确的东道主恢复;从不重复行动.
proxy/stdio.mjs 运行与 Bun 和桥 MCP 超过认证回路 TCP.
作为应用资源进行阶段. 预览独立抓取
拥有的窗口是一个有边框的 JPEG , 不更改 Driver 的地盘缓存 .
消费者范围订阅可见的窗口并丢弃已过时的目标修改.
帧是平时的,不是录像或对话存储.
启动验证驱动程序截图和可访问性树道与可见路径 发布连接前的主机窗口 。 恢复期间保持主机窗口打开. 工具回复期限为150秒(驱动程序最多120秒工具预算) - 协议的发现有20秒的最后期限 通知 不延长这些期限。 暂停行动的结果不明:停止 在重新设置网关之前,先重新连接,然后观察而不是重放. 司机定时记录和无内容工具计时记录保存在捆绑的模拟中 只用于当前应用程序会话的缓冲。 Raw stderr 可能包含驱动程序 错误细节; 它从未自动被坚持或上传 .
在 Windows/Linux 上,网关在之前宣布其主机拥有的驱动程序会话
每个有会话约束的工具呼叫。 驱动程序 start_session 活性并明确复活
结束会话,所以长寿的 MCP 连接不能被卡在墓碑上 .
失败的宣告使请求的工具无法被发送 。 用户工具
失败未变回, 从未重播 。 应用程序重新连接
替换驱动程序生成及其执行连接,同时保留MCP附件身份.
在macOS上,代理接收10个面向应用的cmux工具不变. 观察
与 get_app_state,然后在
版式变化、模式转换或出错。 行动报告只发送.
Cmux MCP 代理拥有连接寿命周期; 没有每个动作 start_session 调用
输入。 主机准备/焦点呼叫使用单独的认证本地
端点并永远不扩充公开的MCP目录. 只读光标种子
用于当前网关所有者,而从未输入动作请求队列.
每个平台都使用单独的套接字和主机证书, 私人状态路径,
强制使用 MCP 代理路由, 以及一个父- 寿命管道 。 元数据验证准确性
版本,合同,配置,PID和主机身份. 只限主机操作
准备和专注,而不是成为代理工具。 嵌入式窗口守护进程
使用默认本地管道 ACL, 拒绝远程客户端, 不启动 UIAccess
工人们。 嵌入模式从不暴露可选的未经认证的HTTP传输.
遗产 .cua-theme 文件不应用;驱动程序使用自己的本地光标.
在包装前, 构建所有三个使用 driver-patches/build.ts
并验证 driver-patches/verify.ts。仅已完成的建筑
显示在 src/artifacts.lock.json; 缺少目标会失效并设置障碍
包装,不倒置到另一个驱动器。 候选工作流程构建
测试而不出版。 单元测试和交叉汇编不能取代真实的
Windows/Linux桌面抓取,输入和权限撤销验证.
Tauri 插件
alwith-computer 拥有主机、网关、故障恢复和预览 :
.plugin(alwith_computer::init(Config { development_directory, proxy: Some(proxy), observer: Some(observer), ..Default::default() }))
赠款 alwith-computer:default (或 settings, (中文(简体) ), session 财务报告和审定财务报表 preview 集)到窗口
显示计算机用户界面,并通过 @alwith/module-computer/commands编辑
程序转发运行状态 Computer::sync_running,电话 Computer::release
当运行时间或编码器退出时,等待 Computer::shutdown 退出顺序和通话
Computer::kill_on_exit 最后一个.
对话- 独立的 MCP 附件
申请允许残疾者违约。 每一次谈话都一样 计算机 MCP 执行时合同被禁用。 附件身份持续时间 MCP 对话附件; 驱动程序世代及其私人证书 内出土出入口. 打开、重播或发送谈话 不等待计算机许可检查或司机准备.
网关解答发现时没有运行中的控制守护进程 。 macOS 使用
驱动程序无权限 Codex 靴子记录; Windows x64 和 Linux x64 使用
纯洁 dump-docs --type mcp 登记册导出。 工具名称、说明、计划,
行动说明来自可执行文件而不是申请副本.
元数据发现既不抓取桌面,也不启动控制守护进程 .
只有计算机呼叫获得桌面所有权, 请检查当前的应用程序授权 和系统权限,并为当前驱动程序打开执行传输. 禁止访问在阻止每个本地司机之前取消执行许可 连接。 重新连接取代这些内部运输和证书,没有 关闭代理的MCP附件。 调用失败返回 MCP 工具出错; 它们 不要让对话失败承认或重放。 未知的行动结果永远不会 重放过 恢复后需要新的观察.