用途:当需要在 Daytona 中运行 OpenWork 的托管/服务端部分时使用本技能。它与 Electron 桌面沙箱相互独立,适合验证云端行为、市场流程与组织策略。
主要能力:覆盖 Den Web(端口 3005)、Den API(端口 8788)、Worker 代理(端口 8789)、服务端沙箱内的 MySQL,以及供 Electron 使用的 Daytona 公开预览 URL;同时涉及市场、组织策略、云认证和服务端管理的扩展流程。
使用方式:在仓库根目录运行 bash .devcontainer/test-server-on-daytona.sh [branch-or-commit],该脚本会创建独立的服务端沙箱,启动 MySQL、Den API、Den Web,等待健康检查后打印 URL。若依赖或基础镜像有变化,可运行 bash .devcontainer/create-daytona-openwork-server-snapshot.sh 刷新服务端快照。
连接 Electron:端到端桌面验证请使用 daytona-electron-den 技能;本节仅说明如何把 Electron 沙箱接到打印出的服务端 URL:bash .devcontainer/test-on-daytona.sh [branch-or-commit] --den-base-url <DEN_WEB_URL> --den-api-base-url <DEN_API_URL>。若流程必须要求云登录,可加 --require-signin。
健康检查:使用脚本打印的公开 URL 执行 curl -sf <DEN_WEB_URL>/api/den/health 与 curl -sf <DEN_API_URL>/health。若失败,可查看日志:daytona exec "$SERVER_SANDBOX" -- 'tail -120 /tmp/den-api.log',以及 den-web.log、den-db-push.log。
适用场景:需要端到端测试云行为时使用两个沙箱——服务端沙箱跑 Den,另一个 Electron 沙箱跑桌面客户端,这比在单个桌面沙箱中运行全部更贴近生产。适用于市场安装/移除/搜索/过滤、组织管理的扩展、桌面交接认证、云限制和签名预览流程。
限制与证据:服务端健康本身不能证明 Electron 云行为正常,需配合 daytona-recording-artifacts 技能,提供健康检查输出、相关日志、Electron 的 CDP 断言以及录制或截图产物供人工审查;通过/失败判定请使用 daytona-flow-validator。