2026-09-21,第一、二批优化。适用于应用的 Bot 模式;设备扩展信息需要桌面端与服务端均升级。
src/server/workspacePrompt.ts 负责纯文本组装;workspaceRuntime.ts 提供本轮身份、协作状态、已挂载能力、已确认的工作目录和消息来源。
顺序为基础行为规则、Bot 身份与长期规则、本轮任务与协作、环境与设备、已连接应用、Bot 记忆、运行标记、用户消息或对话上下文、附件。保留现有群聊参与、静默、讨论轮次、目标验收、临时助手和运行恢复语义。
这些是现有 prompt.submit.text 中的文本分段,不是 Hermes 新增的 system/developer 消息角色。没有修改共享 Profile、用户保存的 Bot 提示词或既有聊天记录。
session.cwd.set 结果可注入提示,没有确认的路径不猜测。desktop_file_copy,保留文件大小限制、覆盖规则和校验要求。host 值、平台及该账号的屏幕控制/文件与命令状态。服务器工具目标固定为 server;同名电脑可按 ID 区分。src/shared/botEnvironment.ts 定义本轮结构化环境数据;desktopEnvironments.snapshot() 采集设备状态,workspaceEnvironment.ts 汇总 Hermes、桌面、VM 和云电脑能力。提示词、电脑工具目录和 Inspector 的 bot.environment 记录共用这一份快照。
本机和远程设备入口共用严格的协议校验。新版桌面端先发送旧格式,服务器通过 capabilities.environmentMetadata=1 声明支持后,客户端才发送扩展信息和分块传输版本。连接失败或服务器不再声明支持时清除协商结果,下一次按旧格式重试。
| 服务端 | 桌面端 | 行为 |
|---|---|---|
| 新版 | 新版 | 协商后上报完整元数据与分块能力 |
| 新版 | 旧版 | 接收原有字段,缺失元数据明确显示未知 |
| 旧版 | 新版 | 使用旧格式,按旧版传输上限工作 |
服务端原有的远程设备入口未接受 fileTransferVersion,现在与本机入口统一,避免桌面端发送该字段时被严格校验拒绝。
修改前的五组相关测试 163 项通过。修改后的十二组测试 267 项通过,包括新增的 9 项提示词、设备清单和真实 Bot WebSocket 提交链路测试。
NODE_OPTIONS=--no-experimental-webstorage npx vitest run \
tests/server/workspacePrompt.test.ts \
tests/server/workspace.test.ts \
tests/server/desktopEnvironments.test.ts \
tests/server/workspacePanels.test.ts \
tests/server/workspaceCollaboration.test.ts \
tests/server/personaSection.test.ts \
tests/server/taskCoordinator.test.ts \
tests/server/workspacePlugins.test.ts \
tests/server/sessionWorkingDirectory.test.ts \
tests/server/workspaceKnowledge.test.ts \
tests/server/workspaceMemorySynthesis.test.ts \
tests/server/workspaceTeamTools.test.ts --maxWorkers=4
npm run typecheck
npm run build
类型检查和构建通过,构建保留大包体积提示。验证使用模拟 Hermes 与设备传输,没有调用外部模型或操作生产设备,不能据此认定真实模型的目标选择准确率或 Token 开销已改善。
第二批在以上测试组基础上增加 workspaceEnvironment.test.ts、desktopHosts.test.ts,合计 14 组、285 项通过。另有 13 项桌面端测试通过:
node --test desktop/host-environment.test.mjs \
desktop/host-manager.test.mjs desktop/host-files.test.mjs
npm run typecheck
npm run desktop:build
覆盖新旧协议协商、服务器回退、按账号裁剪路径、离线与关闭设备、人工接管与撤权、连接变更,以及真实 Bot 提交链路中提示词/工具目录/Inspector 的一致性。类型检查和桌面完整构建通过,构建仍有大包体积提示。未进行多台真实 Mac 联调或外部模型效果评测。
上下文预算、按任务检索记忆和 Hermes 独立上下文角色留待第三批;前两批均未部署或重启运行中的服务。