背景
非技术用户通常不是想“创建虚拟机”,而是想“马上得到一个能干活的 Agent”。现在的入口更像 VM 管理器:需要理解镜像、CPU/内存、网络、LLM proxy、远程桌面入口等概念,首次成功成本偏高。
这个 issue 目标是把首次体验改成任务型向导,让用户从“我要做什么”出发,而不是从“我要配置什么 VM”出发。
当前代码依据
- TenBox 已经有多种预置 rootfs:Chromium、Hermes、OpenClaw、QwenPaw,构建脚本在
scripts/*/make-rootfs-*.sh。
- Linux daemon / CLI 已支持 VM create/start/list/logs:
src/daemon/rpc_server.cpp、src/cli/main.cpp。
- Windows/macOS manager 已有创建 VM 和配置 VM 的 UI 基础:
src/manager/ui/create_vm_dialog.cpp、src/manager-macos/Views/CreateVmDialog.swift。
- LLM proxy 已有 host 侧配置和 guest 侧固定入口
http://10.0.2.3/v1,Hermes/OpenClaw rootfs 已默认接入。
建议方案
新增一个“任务型首次启动向导”,面向非技术用户隐藏 VM 细节。
第一屏只问用户目标:
- 写代码 Agent
- 浏览器自动化 Agent
- 通用桌面/浏览器
- 迁移旧 Agent
- 恢复备份
用户选完后 TenBox 自动决定:
- 推荐镜像:Hermes / OpenClaw / QwenPaw / Chromium
- 推荐 CPU/内存 preset
- 是否启用共享文件夹
- 是否需要先检查 LLM proxy
- 创建完成后打开 Agent 入口、桌面或恢复导入流程
高级设置可以折叠保留,但默认路径不要要求用户理解 kernel/initrd/disk、端口转发、guestfwd、shared folder tag 等概念。
MVP 边界
第一版只做“本机首次创建一个可用 Agent”:
- 增加 3 个创建 preset:写代码 Agent、浏览器 Agent、通用桌面。
- 自动按宿主机资源推荐 CPU/内存:轻量、推荐、重度。
- 创建前检查模型配置是否可用;不可用时给一个明确的“先配置模型”入口。
- 创建成功后自动启动 VM,并显示唯一主按钮:打开 Agent / 打开桌面。
- 保留高级创建入口给技术用户。
后续阶段
验收标准
- 非技术用户无需理解 VM 术语,也能完成一次 Agent 创建和启动。
- 默认路径不展示 kernel/initrd/disk 等底层字段。
- 向导会在创建前检查 LLM proxy/model 基本连通性,失败时给可执行下一步。
- 创建完成后能直接进入 Agent 使用入口,而不是停在 VM 列表。
- 技术用户仍能进入高级配置,不丢失现有能力。
风险与注意点
- 不要把向导做成一堆说明文字;重点是少问问题和给默认值。
- preset 需要和镜像类型绑定维护,否则后续 rootfs 增加后容易漂。
- Linux daemon、Windows manager、macOS manager 最终要复用同一套 preset 数据,避免三端行为不一致。
背景
非技术用户通常不是想“创建虚拟机”,而是想“马上得到一个能干活的 Agent”。现在的入口更像 VM 管理器:需要理解镜像、CPU/内存、网络、LLM proxy、远程桌面入口等概念,首次成功成本偏高。
这个 issue 目标是把首次体验改成任务型向导,让用户从“我要做什么”出发,而不是从“我要配置什么 VM”出发。
当前代码依据
scripts/*/make-rootfs-*.sh。src/daemon/rpc_server.cpp、src/cli/main.cpp。src/manager/ui/create_vm_dialog.cpp、src/manager-macos/Views/CreateVmDialog.swift。http://10.0.2.3/v1,Hermes/OpenClaw rootfs 已默认接入。建议方案
新增一个“任务型首次启动向导”,面向非技术用户隐藏 VM 细节。
第一屏只问用户目标:
用户选完后 TenBox 自动决定:
高级设置可以折叠保留,但默认路径不要要求用户理解 kernel/initrd/disk、端口转发、guestfwd、shared folder tag 等概念。
MVP 边界
第一版只做“本机首次创建一个可用 Agent”:
后续阶段
验收标准
风险与注意点