# 受控 Hermes Worker 与 Bot 任务 当前分支已将 Bot 的“隔离电脑”执行方式接入 Runner。用户仍使用原有 Agent、群聊、任务和权限接口;底层使用独立的电脑环境执行工具。 ## 执行链路 ```mermaid flowchart LR UI[Web / macOS / 移动端] --> CP[夭夭任务协调器] CP --> HUB[Runner 命令与授权通道] HUB --> W[受控 Hermes 模型循环] W --> G[工具分发与任务授权检查] G --> VM[隔离 Linux 电脑] VM --> A[分块产物校验] A --> CP ``` 模型循环进程运行在 Runner 侧,模型凭据仅通过私有进程管道传入。文件、终端、桌面及这些工具启动的进程在 guest 内执行;模型循环不使用原生 Hermes 工具执行分支。隔离电脑不挂载 Hermes 配置、密钥、宿主 HOME 或 Docker socket。 Worker 复用已安装 Hermes 的模型循环。它截获整个工具执行入口,覆盖串行、并行及内联工具分支,只接受本轮注入的工具。未知的 `terminal`、委派或消息工具不能进入宿主原生处理器。模型收到的工具目录只包含当前 Worker 的工具;禁用宿主上下文文件、记忆和后台复核。 ## 使用 1. 在“设置 → Hermes 连接 → 执行节点”注册 Runner,选择“启用隔离电脑 Worker”,填写兼容镜像完整 ID、Hermes Python、源码与配置目录。 2. 下载配置后,通过 macOS App 的“执行节点 → 导入节点配置…”连接,或使用 Runner CLI。 3. 将 Agent 的“执行环境”设置为“隔离电脑”。已有普通 Agent 保持原执行方式;执行中不能切换环境。 4. 基础 Profile 必须配置可用于 guest 的绝对 `terminal.cwd`。Runner 读取并解析该配置,将私有工作区映射到相同的 guest 路径。路径相同不代表共享宿主目录。配置变更在下一轮应用,旧电脑身份退役,持久文件保留。 当前 Worker 模型连接支持 Hermes 的 `chat_completions`、`anthropic_messages`、`codex_responses` API 模式;不启动宿主 CLI 模型后端。模型设置和凭据来自允许列表内的 Profile。 ## 权限和生命周期 - 控制面在执行节点、账号、基础 Profile、Agent、聊天成员关系和任务状态上共同检查授权。检查发生在命令准入、电脑操作、续期和产物传输时。 - Runner 必须明确声明 `computer-worker-v1` 能力;旧 Runner 或未配置电脑的 Runner 会被拒绝,不会把隔离任务当普通宿主任务运行。 - 电脑租约持有者由服务端生成的调度轮次确定。撤权、停止和连接代次变化结束旧控制权;下一持有者不会复用旧容器 ID。 - 资源不足或 Runner 离线时,未提交的任务排队等待,不重新提交已运行的模型轮次,也不消耗子任务返工次数。 - 普通成员不获得团队管理工具。隔离管理员可以使用当前轮次的团队工具,其新建成员默认继续隔离,不能要求新成员改为宿主执行。 - 模型凭据不进入 guest、进程命令行或日志。macOS App 用系统加密存储保存 Runner 配置。 ## 文件和产物 用户附件和分派所需文件通过受控输入写入 guest。`computer_export` 将文件复制为本次导出快照,按块传输,并在控制面校验大小与 SHA-256;每个产物最多 25 MiB,每轮最多 8 个。成功后以正常文件附件出现,支持原有的预览、下载和移动端协议。 产物保留原作者消息和 Profile 归属。任务依赖、管理员复核和结果回传会附上相应文件;转交不会重写原产物来源。隔离消息中的任意路径不会交给宿主 Hermes 文件接口自动读取。 ## 已验证 - 真正运行 Hermes 模型循环,测试模型服务返回工具请求;授权工具回到父进程,宿主 `terminal` 请求被拒绝,未产生宿主写入。 - Bot 消息经过完整控制面、Runner、Hermes Worker、真实 Docker,guest UID 1000 写入文件,结果回到原会话。 - 产物进入文件附件,并通过受保护下载接口返回真实内容;验证多块二进制传输及完整大小。 - 同一 Agent 在 Profile cwd 变更后继续执行;停止正在运行的 shell 后未出现延迟写入。 - 隔离管理员通过本轮团队工具创建隔离成员,创建来源记录正确,新成员没有团队管理权限。 - 打包 Runner 的真实 Worker 链路另行执行,验证 Python 入口打包位置及启动方式。 测试模型服务使用确定的协议响应,没有调用付费模型。这些证据证明执行链路与边界,不代表真实模型在任意复杂任务下的自主决策质量。 ## 仍需完成 电脑目前不联网。受控公网代理、镜像安装/更新、临时助手、屏幕查看/接管、可信团队共享环境,以及移动端执行方式设置等仍属于完整目标的后续工作。现有移动端已可使用服务端创建的隔离 Agent、接收结果和文件,但不能据此宣称完整电脑界面已交付。