Skip to content

[AIW-02] 让 Workspace Host 与 unilab CLI 共享 Managed Local 生命周期 #217

Description

@TablewareBox

Parent

Part of #215.

What to build

把当前分散在 Workbench Node、Electron 和 Python supervisor 中的本地环境所有权收敛到每工作区唯一的 Workspace Host。Workbench 与 Agent 均通过同一 Client/SDK 操作 session;unilab 提供可恢复、结构化的 status/start/stop/restart/logs,并保持 App 中的 PID、端口、generation、日志和审计一致。

Acceptance criteria

  • 每工作区一个 Host lock、session manifest 和本地访问 token,重复 Host 启动失败关闭并返回现有发现信息。
  • Workspace Host 监督 Local Backend、Edge Runtime、PLC-Sim 和 renderer;正式 Workbench 的 Theia Node/Electron 壳不再保存唯一进程事实。旧 apps/desktop Supervisor 仅为旧产品兼容路径,不参与 UniLab Workbench。
  • unilab workspace status 返回稳定 JSON,包括组件 phase、PID、动态地址、generation、工作区身份与 capability。
  • start/stop/restart/logs 使用 operation ID 和幂等语义;CLI 中断后可重新查询结果。
  • 重启 OS 与 local.reset-state 是两个不同命令、权限与审计事件。
  • Workbench 中触发的操作立即在 CLI 可见;CLI 触发的操作立即在 Workbench 环境管理器可见。
  • UI reload 或 renderer crash 不停止已启动的 Local Backend、Edge Runtime、PLC-Sim 或活动任务。
  • macOS 已完成真实自动与 E2E 验证;Linux/Windows 实现了各自的文件锁、动态端口和进程树分支,但本阶段明确标记为尚未在对应 OS 上 smoke,留给 [AIW-07] 通过布局 CAS 与 Headless Renderer 闭环模板优化 #222 发布矩阵验收。
  • 真实 Workbench E2E 通过 CLI 重启受管 OS,并验证页面状态、日志与 generation 同步。

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature:authoring-workbenchUniLab 调试工作台(UniLab Workbench)、Theia、IDE 联动与 Agentready-for-agentFully specified and ready for an AFK agentstage:implementationImplementing a frozen protocol

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions