跳转至

全新 OMP 启动

Orca 的新会话和草稿启动计划应用一次性 --config 覆盖层, 其中包含 autoResume: false。OMP 已配置的会话目录、设置、 身份验证和扩展仍保留在其通常位置。保存的启动配置 省略该覆盖层,因此显式恢复保持其正常语义。 带有会话选择器、未知标志、位置参数或 shell 复合命令的自定义命令保持不变。

执行主机创建该覆盖层。本地和 WSL 终端使用 Orca userData (包含 WSLENV 路径转换);SSH 中继使用其自身管理的目录。配置 创建独立于状态钩子偏好设置,并且不需要安装插件 源代码。不可用的文件会生成终端诊断信息并跳过 OMP。文件系统故障不会阻止无关代理或裸 shell 启动。

该守卫在当前 shell 中调用 OMP,保留函数、别名和 受管理的状态包装器。非零代理退出永远不会触发第二次启动。 POSIX 命令也支持 fish;在展开之前检查环境是否存在, 因此处于 set -u 下的旧主机会报告相同的缺少设置诊断信息。

混合版本

现有的命令和环境传输机制原样承载该启动;不会 引入新的 RPC 或流操作码。新主机在 shell 启动之前导出该路径,包括稍后接收 OMP 命令的裸 shell。旧客户端 在新主机上继续其现有启动行为。在缺少受管理环境的旧主机上,新的全新启动命令 会明显失败,并要求更新主机和重启终端。它不得静默回退到 OMP 自动恢复。

验证

src/shared/omp-fresh-launch-shell.test.ts 运行实际可用的 bash、zsh 和 fish shell,检查精确的 argv、单次调用、非零退出、已删除的设置 以及不存在的环境变量。src/relay/omp-fresh-launch-environment.test.ts 通过中继环境组装和实际的 OMP shell 包装器检查受守卫的命令,同时保留扩展参数和配置参数以及预填充。 本地主机组装测试识别受守卫的 POSIX、cmd 和 PowerShell 命令。

针对只读 OMP 检出运行实际的 OMP 存储冒烟测试:

ORCA_BACKGROUND_LAUNCH=1 bun tests/tools/omp-fresh-session-runtime-smoke.mjs /path/to/oh-my-pi

对于 Windows,使用 bun build --target=node --outfile=/tmp/omp-fresh-windows-smoke.mjs 打包 tests/tools/omp-fresh-launch-windows-smoke.ts, 将打包产物传输到主机,并使用 ORCA_BACKGROUND_LAUNCH=1 通过 Node 运行它。 该冒烟测试仅使用临时文件和进程本地环境。cmd 和 PowerShell 都必须通过现有/缺失/未设置/目录设置用例,保留 单次成功启动的退出码 17,并在设置不可用时不启动并返回退出码 1。该测试于 2026-09-14 在 Windows 主机 awin 上通过。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 orca48/orca