# 电脑操控使用与分发说明 本文介绍电脑操控的安装、授权和使用。`0.6.1` 开发版本的电脑操控默认开启,保留已经保存的功能开关设置;本版尚未发布。已发布的平台安装包见 [GitHub Releases](https://github.com/z1223473749/dsh-QiuYaTools/releases)。 在 Harness 的 **插件 → 添加插件** 输入仓库地址 `https://github.com/z1223473749/dsh-QiuYaTools` 或 npm 包名 `dsh-qiuya-tools`,安装器会按当前系统和进程架构安装同版本的预编译组件。Mac 和 Windows 使用同一安装入口,无需安装开发工具或单独运行原生程序。安装策略需保留可选依赖;若组件下载失败或被跳过,重新安装,或改用下方已内置组件的完整平台包。 ## 选择安装包 | 使用 Harness 的电脑 | 安装资产 | 运行前提 | | --- | --- | --- | | Mac Apple Silicon / Intel | `dsh-qiuya-tools-darwin-universal.tgz` | macOS 13+ 构建目标;电脑操控需辅助功能和屏幕录制权限 | | Windows ARM64 | `dsh-qiuya-tools-win32-arm64.tgz` | Windows 11 登录桌面;Microsoft Edge WebView2 Runtime | | Windows x64 | `dsh-qiuya-tools-win32-x64.tgz` | Windows 11 登录桌面;Microsoft Edge WebView2 Runtime | 请按 **Harness 进程的架构** 选择 Windows 包;ARM 电脑上运行 x64 Harness 时应使用 x64 包。实际运行覆盖范围以测试报告为准,编译目标不等于旧系统或该架构已实机通过。 桌面版可在 Harness 的插件管理器添加对应的本地 tgz,也可使用当前安装版本附带的官方 CLI,明确指定要安装的 profile。例如,安装到日常桌面应用使用的 `desktop` profile: ```sh dsh plugin --profile desktop add "/absolute/path/dsh-qiuya-tools-darwin-universal.tgz" ``` Windows 路径有空格时在 PowerShell 中使用双引号。使用其他 profile 时,将 `desktop` 替换为其实际名称。安装后检查插件管理器中的版本和运行状态;管理器确认已应用时可继续使用,仅在明确要求重启时重启 Harness。 Windows 原生程序自包含 .NET,使用者不需要开发 SDK;WebView2 Runtime 缺失时会给出明确错误。可从 [Microsoft WebView2 官方页面](https://developer.microsoft.com/microsoft-edge/webview2/) 获取运行时。安装包未做正式开发者签名和 Mac 公证,签名状态也写入资产旁的 JSON。 ## 本机应用操控 当前聊天选择“这台电脑”时,AI 优先通过电脑操控发现应用、申请授权和查看画面;查看用户现有浏览器标签页也走这条流程。未连接过的默认任务同样按本机处理。此模式下不加载 BrowserSkill,也不以 `bsk` 或 AppleScript 作为替代通道;连接或系统权限不足时会报告电脑工具的实际错误。普通代码编辑、编译和测试仍可使用终端。切换到独立浏览器或远端电脑后,按对应环境操作;其他聊天和额外电脑任务各自保留环境。 1. 打开 **设置 → QiuYaTools → 电脑操控**,启用“电脑操控”。此入口位于工具箱的第一项;工具箱初次打开仍显示附件增强设置。 2. 回到聊天,直接说明要使用的应用和任务,例如“打开 Chrome,帮我整理这个页面”。无需关联聊天、预选窗口或先连接本机;模型会在当前聊天发现应用并申请操作。 3. 聊天中的授权卡会显示应用名称和操作理由,由你选择 **允许一次 / 始终允许 / 拒绝**。“允许一次”仅用于本次电脑任务;“始终允许”保存在当前 Harness profile,可在设置中手动添加或随时撤销。模型不能代替你点击授权。 4. 若 Mac 缺少屏幕录制或辅助功能权限,授权卡会列出具体缺项。点击对应的 **前往开启权限**,在系统设置中允许卡片显示的宿主 **DeepSeek Harness**,返回后会自动重新检测,也可点击 **刷新权限**。只有实际权限检查通过后,才能允许本次任务;拒绝始终可用。输入监控用于检测手动操作并让出控制,会单独提示。Windows 显示实际交互桌面状态,不显示 macOS 的 TCC 开关。远端 Mac 的权限需要在那台独立电脑上开启。 5. 授权完成后,当前聊天顶部默认出现实时小预览。**暂停** 撤销 AI 输入权;**接管** 允许你点击预览、拖动、滚动和输入文字;**继续** 获取新画面与新租约;**停止** 结束本次任务。需要更大画面时点击 **弹出**,或在任务概览中点击 **弹出预览**。 模型先使用 `qiuya_computer_discover / request_control` 发现应用和等待授权,再通过 `status / targets / select / observe / act / pause` 操作当前聊天已授权的目标。模型不能自行授予应用权限、恢复已暂停的控制、修改系统权限或选择其他聊天。只有明确观察的画面写入聊天附件;连续预览帧不写附件。 电脑操控设置集中显示全局开关、系统权限、始终允许的应用和任务概览。操作环境在当前聊天的输入框工具栏中选择,入口位于权限模式按钮旁,默认显示 **这台电脑**。需要独立浏览器、虚拟机或远端电脑时,直接在会话里点开配置,不需要返回设置或关联聊天。关闭总开关后会明确提示启用后才能预检系统权限,已保存的应用授权仍可撤销。 Mac 默认由 Harness Host 直接启动插件执行器,沿用宿主的权限责任身份。授权对象是 **DeepSeek Harness**,插件不复制宿主证书或私钥,也不为自己声明宿主权限。卡片会核验真实父进程、宿主应用路径与代码签名,确认后才显示应用名和图标;无法确认时显示识别提示,不指引用户给其他应用授权。点击 **前往开启权限** 后,对应系统设置会打开,并显示一张 **320×84** 的原生应用卡片: 1. 将卡片中的宿主应用图标拖入对应权限的应用列表,再手动打开应用右侧开关。 2. 按 macOS 的身份验证或重新打开提示完成。 3. 返回工具箱,权限状态会自动更新;**重新检查** 仅用于立即发起一次检查。打开设置、显示卡片和拖拽都不会被插件当作授权成功。 卡片只有应用图标、名称和拖拽提示,没有标题栏或操作按钮。它吸附并跟随系统设置窗口;切换到其他应用、最小化或关闭系统设置时隐藏,回到设置时重新出现。拖动期间暂停跟随并让开落点。三种权限分别对应屏幕录制(部分版本名为“录屏与系统录音”)、辅助功能和输入监控。卡片只能导出经验证的当前宿主应用,不能指定任意应用路径,也不会结束后台电脑任务。 权限状态来自执行器每次调用的 macOS 检查,不需要修改配置。设置页定期检查,并在重新获得焦点或恢复可见时立即刷新。执行器断连会显示“无法检查”和具体原因,同时失效旧的权限读数,不会把连接失败显示成“未允许”。若系统设置要求退出并重新打开 Harness,请按系统提示完成。尚未执行采集或输入的权限检查进程断开后,在确认退出时会自动重新连接;已经使用过采集、输入或控制租约的进程仍需完整清理确认,无法确认时会显示恢复说明并阻止继续操作。 系统授权本身仍由 macOS 管理。以前只给独立的 **QiuYaTools Computer.app** 授权,不能代替给宿主 **DeepSeek Harness** 授权;切换到宿主模式时,可能需要给 Harness 开启一次对应权限。之后插件原生执行器更新不再以独立应用身份申请这三项权限。宿主自身的签名和授权由 Harness 管理,用户仍可随时在系统设置中撤销。构建继续复用输入未变且完整性、签名检查通过的执行器,但不会把复用、宿主名称或配置当作已授权的证据。 手动授权时点击 **添加应用**,输入应用名称或应用标识即可筛选。列表只显示尚未持续授权的应用,并显示系统应用图标与运行状态,在卡片内滚动。可点击多项,或使用方向键定位后按 Enter 切换勾选;搜索变化会保留已选应用,底部显示已选总数。**全选 / 取消全选** 只作用于当前搜索结果,不影响其他搜索中已选的应用。点击 **始终允许** 后逐个保存;搜索、勾选或按 Enter 都不会直接授予权限。Escape 或“取消”关闭列表。没有可用图标时显示占位图,不影响选择。 **已授权应用(N)** 列表默认收起,展开后可逐项撤销,也可勾选多个应用后点击 **撤销所选**。添加入口始终可见;即使电脑操控总开关已关闭,仍可撤销已有授权。批量操作中某个应用出错不会阻止其余应用继续处理,完成后会重新读取授权列表,成功项移出选择,仍需处理的项保留,并显示具体错误。若最终状态刷新失败,会暂停授权提交;可点击 **刷新授权状态**,或等待自动刷新恢复后再检查未确认项。 ### 小预览、大窗口与多个聊天 小框采用固定 **300×180** 的长方形外框,带轻薄边界与柔和阴影;窗口较小时会缩小并限制在当前 Harness 窗口内。画面分别按横向、纵向比例铺满,不留黑边或空白,也不裁切目标;预览中的点击、拖动坐标分别按两轴映射回完整目标画面。常态只显示画面,没有常驻标题、状态或底部设置文字。 鼠标移入或键盘聚焦后,暂停、接管、继续、停止和弹出/收回按钮浮在画面上,不挤压或改变画面尺寸。点击 **−(隐藏预览控件)** 只暂时隐藏按钮,实时画面继续显示,可操作原来被按钮遮住的顶部像素;鼠标移出再进入,或用键盘重新聚焦控件,即可恢复按钮。按住鼠标拖动时移出再返回,不会重新显示按钮挡住释放位置。Escape 保留暂停任务的行为。 AI 操作时可直接拖动画面移动小框;人工接管时,画面点击和拖动用于被控应用,只能拖动悬浮控件的握柄来移动小框。小框不能拖出当前 Harness 窗口,调整窗口大小或切换聊天会重新检查边界;独立弹出仍由按钮完成。点击 **弹出** 后,大窗口与聊天小框可以同时显示实时画面,小框持续显示同一实时画面;点击 **收回** 关闭大窗口,小框继续显示,无需重新建立画面。**隐藏控件、收回大窗口或切换聊天都继续后台任务;直接点击大窗口的关闭按钮会暂停对应任务。** 要结束授权请使用“停止”。 每个聊天有自己的目标、连接、暂停状态和预览。可以让多个聊天分别连接本机、不同远端电脑或独立浏览器;切换一个聊天的环境、暂停或停止它,不会停止其他聊天。新聊天没有连接时使用自己的本机环境,不会继承另一个聊天的配对密钥或目标授权。 同一个 Harness 连接内,多个聊天操作同一台电脑或同一配对端点时,鼠标与键盘按动作顺序排队,观察和模型思考不会一直占着输入权。不同的远端环境、独立浏览器配置可以并行工作。虚拟输入不占用系统鼠标和前台焦点;获得单次真实输入授权的动作仍共享真实桌面。目标被移动或改变后,需要重新观察。 “始终允许”的应用列表由当前 Harness profile 统一管理。撤销某个应用会停止所有正在操作该应用的聊天;关闭电脑操控开关会停止所有聊天的电脑任务。其他原有增强功能仍使用各自的开关和存储,包括附件增强、会话分窗与拖出、批量归档、计划批注、菜单、提示词、Q 主题、设置、关于和更新。会话分窗依然使用自己的窗口组件,并按宿主版本检测支持状态。 Mac 电脑操控需要屏幕录制与辅助功能权限,与普通会话分窗能力分别检查。请通过界面的对应权限入口,在系统设置中允许 **DeepSeek Harness**,返回后自动更新状态。默认 Mac 执行器是 Harness Host 的直接子进程,通过私有连接核对随机值、父进程和实际子进程 PID;启动和退出仍须取得对应进程的回执。LaunchServices 独立应用启动仅保留为明确的原生诊断入口,不是默认插件模式。若 macOS 明确要求重新打开 Harness,按系统提示完成;插件不会自动更改 TCC、系统登录配置或宿主代码签名。 所有原生应用默认使用独立虚拟指针:指针位置在任务预览和目标窗口可见区域反馈,支持的控件通过 macOS 辅助功能或 Windows 标准控件的定向窗口消息操作(UI Automation 只用于读取),不移动、隐藏用户的系统鼠标,不主动激活窗口或修改全局键盘焦点。用户在其他应用中的正常鼠标、键盘输入不会中断虚拟操作。虚拟 `move` 只改变任务指针位置,不伪造应用的悬停事件;点击编辑框先选择任务内的输入目标,后续文字通过控件接口写入,不向用户正在使用的窗口发送按键。 浏览器标签分组是可选增强:配套扩展已连接时,任务相关标签显示以操作目的命名的原生分组;没有扩展也能照常操作浏览器,只是没有标签组。操作环境面板会显示连接状态,并在未连接时提供配套扩展 ZIP 下载入口;是否安装由用户决定。分组不可用不会阻断任务或重复已完成的页面操作。 虚拟路径用于应用控件和网页内的按钮、链接、输入框等控件,不会因为进入网页就改用真实鼠标。macOS 会在应用需要时请求完整辅助功能,再要求重新观察,等待网页控件的后台动作准备完成。观察结果中的 `center=(x,y)` 使用当前截图像素坐标,可用于避开标签页等控件的重叠边缘。没有唯一命中控件时返回 `VIRTUAL_TARGET_UNRESOLVED`,任务可继续观察并重新定位;此错误不能申请真实鼠标。 虚拟路径只执行控件明确支持的操作。拖动、相对移动、快捷键、长按、不支持后台控制的自绘区域等会返回 `VIRTUAL_INPUT_UNSUPPORTED`,不会自动调用真实鼠标。用户要求虚拟操作时,模型应说明受限步骤,不得自行申请真实鼠标。只有用户明确选择使用真实鼠标后,模型才可使用 `qiuya_computer_request_physical_input` 申请刚才失败的具体动作;独立授权卡会说明占用系统鼠标和前台焦点的影响,只提供 **允许本次真实鼠标操作 / 拒绝**。已有应用的“始终允许”不能跳过此确认。批准后需要重新观察,并用新的 `actionId` 执行同一动作;授权使用一次后恢复虚拟输入,暂停、停止、切换目标或执行不同动作会使许可失效。 单次真实输入使用原有的前台焦点验证、桌面互斥、人工介入中断和按键释放保护。此时桌面 AI 箭头仍是实际操作的可视化标记;动作完成后释放桌面输入并恢复系统指针。虚拟操作已经发出但结果未确认时返回 `VIRTUAL_INPUT_UNCONFIRMED` 并暂停任务,不能据此申请真实鼠标重放。旧版本执行器缺少虚拟输入隔离能力时会要求升级,不能继续使用旧的默认真实输入路径。 Windows 可能拒绝后台进程激活窗口。若提示 `foreground-denied` 或“Activate the target window before input”,请先在桌面点击目标应用使其激活,再明确继续任务;插件会保留焦点校验,失败的输入不会自动重放。 ## 浏览器专用通道 进入需要使用独立浏览器的聊天,点击输入框工具栏中的“这台电脑”,选择对应任务及“独立浏览器”、Chrome 或 Edge,填写允许的网站来源和起始地址,然后点击“使用此环境”。网站来源示例是 `https://example.com`,可每行填写一个。仅这些来源内的页面可以被观察和操作;修改许可后重新连接会先停止所选任务的原连接,其他任务不受影响。 默认在当前 Harness profile 下按任务建立独立、持久的浏览器配置。不同聊天或任务不会共用默认浏览器 profile;你可以分别登录,之后在原任务中复用各自的登录态,不会复制日常浏览器的 Cookie。需要连接已有浏览器时,可以在高级选项填写用户自己开启的本机调试地址;它只接受回环地址或已经建立的可信隧道。显式连接同一个已有浏览器时,该浏览器原有的页面和登录态由你管理,不能把它当作两个默认隔离的配置。连接结束不会关闭用户原有的浏览器进程。 浏览器动作支持截图坐标、CSS 选择器点击/输入、导航、新建和关闭标签页。它们经过与原生输入相同的租约、帧校验和暂停控制,并受网站许可约束。浏览器通道可在后台向指定标签页发出输入。任意 JavaScript 执行和任意本机路径文件上传没有作为模型工具开放。 ## 独立虚拟机或远端电脑 独立环境必须已有操作系统、已登录的交互桌面和对应平台的本插件原生程序。普通多桌面工作区不提供隔离。PD 仅用于本次测试,普通 Windows 用户使用本机功能不需要安装 PD。 在独立环境解包对应包,准备 Node.js 22.19+ 或 24+,在登录用户的终端运行配对代理。以下命令都在 **代理所在电脑** 执行。先把随机生成的至少 32 字符令牌保存在仅自己可读的文件中,再指定文件路径;不要将令牌写入聊天或提交 Git。 ```sh # macOS / zsh,当前目录为解包后的 package/ export QIUYA_COMPUTER_TOKEN_FILE=/private/path/pair-token.txt node scripts/computer-agent.mjs ``` ```powershell # Windows / PowerShell,当前目录为解包后的 package/ $env:QIUYA_COMPUTER_TOKEN_FILE = 'C:\Users\YourName\Private\pair-token.txt' node scripts/computer-agent.mjs ``` 默认只监听 `127.0.0.1`。使用已有的 SSH/TLS 隧道接入后,进入需要操作独立电脑的聊天,点击输入框工具栏中的环境入口,选择“远端电脑”,填写配对地址和配对密钥,点击“使用此环境”。其他聊天的连接保持独立。关闭菜单不会停止连接;切换到另一聊天不会继承配对密钥或尚未提交的配置。连接保存在本次 Harness 进程中,重启或闲置环境回收后恢复本机;重新配对时需要再次输入密钥。只有明确可信的私有网络才启用“允许通过受信任的私有网络连接”;若代理要直接绑定私有地址,需显式设置 `QIUYA_COMPUTER_HOST` 和 `QIUYA_COMPUTER_PORT`,并由环境所有者配置网络访问。插件不会自动开放系统防火墙。 Windows 代理必须在登录桌面运行。系统服务的 Session 0 或普通非交互远程命令中启动成功,并不表示能操控用户桌面。断连后不会自动重放点击、拖拽或文字;需要重新连接并明确开始。旋转令牌后旧配对和旧设备应用授权不继承。 ### 手动文件交换 文件交换默认关闭。代理管理者需先建立一个专用真实目录,再设置 `QIUYA_COMPUTER_EXCHANGE_DIR` 并重启代理;不要将整个用户目录、日常文档目录或系统目录作为交换目录。直接指向符号链接或 Windows junction 的配置会被拒绝。目录需位于支持同目录原子硬链接发布的文件系统,例如 APFS 或 NTFS;不支持时上传会明确失败,不会退化为覆盖式写入。 ```sh # 在远端 Mac 上:显式建立并授权一个独立目录 mkdir -p "$HOME/QiuYaTools-Exchange" export QIUYA_COMPUTER_EXCHANGE_DIR="$HOME/QiuYaTools-Exchange" node scripts/computer-agent.mjs ``` ```powershell # 在远端 Windows 上:保留原有配对令牌环境设置 New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\QiuYaTools-Exchange" | Out-Null $env:QIUYA_COMPUTER_EXCHANGE_DIR = "$env:LOCALAPPDATA\QiuYaTools-Exchange" node scripts/computer-agent.mjs ``` 本机插件为选定聊天连接该独立电脑后,在“手动文件交换”中点击“检查并刷新交换目录”,手动选择本机文件上传,或下载列表中的文件。界面上的文件操作跟随当前所选聊天的远端连接;切换聊天会更换文件区域。这个区域只在实际连接远端电脑时提供,本机和浏览器专用模式不提供该交换目录。本机选择器只传文件名和字节,不发送本机目录路径,也没有注册为聊天模型工具。 为兼容已有调用,不带聊天 ID 的所有者文件交换接口仍有效,使用自己的默认远端连接,不会切换或停止其他聊天的环境。新的界面操作自动使用当前聊天已连接的远端目录;两种入口都只允许所有者手动操作。 单文件上限 **8 MiB**,传输使用 **128 KiB** 分块,并在发布前检查完整大小和 SHA256。已有同名文件不会覆盖;路径、Windows ADS/保留名称、链接、子目录和超过限制的文件不在交换范围内。列表最多显示 100 个普通文件;文件上传后若被远端用户修改,旧列表的下载版本会失效,需要刷新。没有执行、删除或任意路径读写入口,已发布文件由目录管理者自行整理。 最多同时保留两个未完成上传,临时预算不超过 16 MiB,事务超时为两分钟。正常断连、撤销配对和代理关闭会等待未完成事务清理;清理失败会报错并保留重试状态。旧连接已被撤权时,退出只表示旧文件权限失效,不能证明临时文件已删除;远端代理继续承担清理和临时预算约束。上传遇到未知响应或发布结果需要确认时,插件不会自动重播上传或提交,请先刷新列表确认。撤销不能回滚已经完成的磁盘发布;已发布文件及远端用户对它的修改不会被撤销操作删除。 同一专用目录只允许一个代理管理,目录内的 `.qiuya-` 前缀为内部事务和锁文件保留,不会列出、下载或接受同名上传。代理重启后,新鲜的遗留临时文件仍占用两个文件/16 MiB 额度;到期后会由有界周期清理恢复。主锁仅在系统明确确认旧 PID 已不存在时自动回收;PID 存活、复用、权限不足或记录损坏都会拒绝启用。初始化的短恢复门若因进程异常退出而遗留,则不会自动猜测删除:需由目录管理者先确认相关代理均已退出,再检查并整理 `.qiuya-exchange.recovery`。初始化或关闭清理因权限问题失败时,恢复目录权限后重试会先处理本进程记录的遗留清理,不会删除另一代理的锁。 ## 开源参考与本次取舍 以下是 2026-10-21 复核的项目主页,作为设计参考,不是本插件的运行依赖: | 项目 | 可参考部分 | | --- | --- | | [Cua](https://github.com/trycua/cua) | 原生电脑驱动、跨系统沙箱与测试基准。该仓库按目录区分许可;其 README 明确区分 MIT 部分与 FSL 的 Spaces/部分基准工具,不能视作整仓同一种许可。 | | [UI-TARS Desktop](https://github.com/bytedance/UI-TARS-desktop) | 本机、远端电脑与浏览器操作器,以及多模态 Agent 的桌面交互。 | | [Peekaboo](https://github.com/openclaw/Peekaboo) | macOS 截图 CLI、可选 MCP 接入及视觉问答。 | | [Playwright MCP](https://github.com/microsoft/playwright-mcp) | 浏览器独立/持久配置、CDP 连接和浏览器扩展连接已有登录态。 | 本次执行内核使用自有 Swift/AppKit/ScreenCaptureKit 与 C#/WinForms/UIA/SendInput;浏览器生产通道使用 Node 内置 WebSocket 和公开 CDP。这样可以保留插件现有安装包上限、明确的原生输入租约和取消边界。Playwright 只用于自动化验证。Codex 的专有二进制、私有认证和 IPC 不进入安装包。 ## 验证入口 以下命令在源码仓库的开发环境中运行: ```sh npm ci npm run check node scripts/computer-preflight.mjs --target local node scripts/test-computer-preview.mjs node scripts/test-computer-browser.mjs --browser chrome node scripts/e2e-macos-computer.mjs --evidence-dir artifacts/computer-use/macos-native node scripts/e2e-harness.mjs --package /absolute/path/candidate.tgz \ --output artifacts/harness-e2e/run-id \ --screenshots-dir /absolute/path/outside-repository/YYYY-MM-DD/harness node scripts/soak-computer.mjs --minutes 30 --faults 5 ``` PD Windows 原生测试由 `scripts/test-windows-native-pd.mjs` 编排,需指定已经选择的 VM UUID 和 Mac 的 host-only IP;详细命令见 `src/native/windows/README.md`。不自动创建、删除或回滚用户 VM。真实模型推理、硬件多屏、旧系统、各架构运行、Excel 加载项与锁屏扩展均单独计入报告,不能用编译或模拟测试替代。 逐功能截图只使用隔离工作区和测试聊天。为本次交付明确传入仓库外的 `--screenshots-dir`,按日期和本轮标识保存成功截图,日志与 JSON 仍写入 `--output`。Windows Harness 载体使用宿主环境变量 `QIUYA_WINDOWS_SCREENSHOTS_DIR` 指定仓库外目录;来宾使用自己的临时目录,回收后按文件大小和 SHA256 校验,宿主路径不传入 Windows。图片位置及字节校验见对应报告的图片清单或 `screenshots-collection.json`。不将新截图复制回仓库、提交 Git 或上传远端,也不在公开文档中写入个人绝对路径。README 的界面预览仅保留交付索引;实际通过/失败与对应包、provider 或真实模型一起记录。 ## 同一聊天的多个操作任务 每个聊天包含一个兼容已有工具调用的默认任务,还可以建立 7 个具名任务,共最多 8 个。日常直接告诉 Harness 需要操作哪些应用,模型可调用 `qiuya_computer_task` 的 `create` 建立任务,拿到 Host 生成的 `taskId` 后,在发现应用、请求授权、观察和操作工具中明确传入该 ID。`list` 只读取当前聊天的任务。未传 `taskId` 的旧调用始终指向默认任务,不会自动跳到最后使用的任务。 每个任务有自己的应用目标、允许一次授权、观察帧、控制周期和预览状态。同一聊天可以同时等待不同任务的授权;允许或拒绝其中一个不会决定另一个。持续应用授权仍属于用户的工具箱配置,可随时撤销。默认任务及新任务的暂停、接管、继续、停止分别生效,旧帧不能用于其他任务。 会话的小框保持固定长方形和画面铺满;多个任务时,底部的编号圆点用于切换任务,其余控制仍只在鼠标进入或键盘聚焦时出现。弹出、收回和侧栏布局沿用现有工作台。聊天输入框旁的操作环境菜单可选择要配置的任务;模型创建任务不要求用户先打开此菜单。 多个任务可同时保留运行状态、获取各自画面;同一台真实桌面的鼠标键盘共享现有 FIFO 队列。独立浏览器或远端电脑各自保留环境。切换一个任务的环境只停止该任务。 现有自动验收账本和工作流仍使用原来的模型目标边界;本轮新增任务的普通操作不会把证据错误写入默认任务的验收记录。多任务的预览、授权与输入隔离通过独立测试和安装界面验收记录。