# cube-ide **Repository Path**: biparadox/cube-ide ## Basic Information - **Project Name**: cube-ide - **Description**: cube架构的一个开源IDE环境,目前使用Zcode+GLM-5.2开发 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-19 - **Last Updated**: 2026-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cube-IDE > dev-workflow(R0→R1→R2→R3)四阶段流程的开发平台。前端 html+JavaScript 渲染界面,后端启动若干 cube hub 实例提供数据、接收命令并执行操作。 ## 项目定位 cube-ide 是 [`cubeos-1.5/documents/dev-workflow/`](../cubeos-1.5/documents/dev-workflow/) 描述的开发流程的**实施平台**。把 dev-workflow 的"分区+分层"框架从纯文档操作升级为"可视化+自动化+可验证"。 - **参考架构**:[`cubeos-1.5/example/monitor_starter/`](../cubeos-1.5/example/monitor_starter/)(多 hub 实例 + WS 前端 + cmdlist 控制) - **标准设计源**:[`cube_works_test/alicebob_monitor/R1-设计/`](../cube_works_test/alicebob_monitor/R1-设计/)(AliceBob R1 设计层 + 实现层) - **验证对象**:AliceBob 用例(origin/teardrop/crypt/forceattack 四场景) ## 基础设计原则 cube-ide 遵循两层原则:继承 cubeos dev-workflow 的 11 条平台/框架原则(数据驱动、结构化可观测、分区分层、增量开发、可读交接物、机械化自动化等),并在其上新增 5 条 IDE 实施层原则。**权威源见 [`docs/基础设计原则.md`](docs/基础设计原则.md)**。 | IDE 原则 | 一句话 | |---|---| | IDE-1 手眼协调 | 执行与观察分离,脑据观察门控执行,以实测产物为准 | | IDE-2 源头唯一 | 每维度一个权威真相源(.git/ / .progress/ / project.json / instance/),工具强制不旁路 | | IDE-3 过程数字化·可独立处理 | 全程结构化落盘,可脱离原系统在别处独立处理/开发/对接 | | IDE-4 双入口韧性 | WS 与 console 同源两入口,任一可独立驱动,UI 崩溃仍可工作 | | IDE-5 配置即记录·切面分离 | 路径等环境变量封闭集合化,文件内占位符/命令出口真值 | > 下方"严格遵循的纪律"是上述原则的具体落地(来自 monitor_starter 真实代价)。 ## 目录结构 ``` cube-ide/ ├── config/ # 【原则4】全 json 配置 + schema 记录项定义 │ ├── env.json # cubeos 路径 / ide_hub 端口 / 基座模块清单 │ ├── cases.json # 用例注册表(AliceBob 四场景) │ ├── workspace.json │ └── schema/ # design / cube-mapping / requirements 三 schema ├── ui/ # 【原则5】纯原生 JS + OOP │ ├── index.html # 单页入口,R0/R1/R2/R3 切 tab │ ├── css/main.css │ ├── js/ │ │ ├── core/ # cube-msg / hub-client / artifact-store / event-bus │ │ ├── components/ # trace-log / result-table / stage-panel │ │ └── stages/ # r0/r1/r2/r3 阶段面板 │ └── mock/ # mock 响应(msg2channel 分块 bug 兜底) ├── hub/ # 【原则1/2/3】cube hub 实例 + 工作目录 │ ├── ide_hub/ # 控制中枢(本轮唯一常驻 hub) │ └── workspace/ # 中间产物落地处(projects//R0-R3/) ├── scripts/ # 【原则2】Linux 端脚本(UI 崩溃时可独立驱动) └── docs/ # 架构设计 / 四阶段路线 / 验证方案 ``` ## 当前阶段:R0.5 任务切分已实现(v2 M2+M3) - ✅ R0 载入界面(LoadScreenPanel + DataLoader)+ 项目管理(ProjectManagerPanel + project_init.sh) - ✅ R0.5 任务切分面板重写(总任务编辑 → ZCode 辅助切分 → format_artifact.sh 标准化写入 → 任务树 SVG 图解显示) - ✅ 左侧阶段导航树(StageNavigator)+ ProjectState 状态机 - ✅ R1 设计阶段(已完成并验证 5/5 PASS) - ⏳ R2 开发 / R3 测试(占位) ### v2 双栏布局 - 左侧 `StageNavigator`:载入 / 项目 / R0.5 / R1 / R2 / R3 节点树,按 ProjectState 点亮 ✓/▶/○/⚠ 状态 - 右侧主面板:点击导航节点切换对应阶段面板 ### R0.5 任务切分对 user_login 七场景的验证 user_login 七场景攻防对抗用例已切分落盘到 `hub/workspace/projects/user_login/R0.5/tasks.json`,UI R0.5 面板展示总任务 + 7 个增量任务依赖树(T1 明文基线 → 攻击叠加/防御升级的多分支树)。 ### R1 阶段对 AliceBob 的验证 把 `cube_works_test/alicebob_monitor/R1-设计/` 的设计层 + 实现层 markdown 解析为 json 落盘到 `hub/workspace/projects/alicebob/R1/`,UI 加载展示,并通过 cmdlist_run 触发真实 alicebob_origin.sh + verify_stage1.sh 跑通 5/5 验收。 ## 快速启动(迁移后:Linux/WSL2 内直接执行,无需 `wsl -d` 前缀) > **⚠ P1 契约单源注意(2026-08-31)**:cmd 模板已改为 `${CUBE_TOOLS_BIN}` 占位(env.json 单源推导)。 > 三 hub **必须用本脚本重启一次**才生效(旧进程无该环境变量,工具命令会失败): > `CUBEOS_ROOT=/home/player/cube_platform/cube_arch-1.5.1-release bash scripts/start_ide_3hub.sh background` > 启动自带 P1 校验(§4.5):根单源 / 三 hub def 同批 / cmd 零旧树 / 工具根注入 / 构建指纹。 ```bash # 1. 启动三 hub(手 13710 / 眼 13720 / 脑 13999,后台常驻) bash /home/player/cube_platform/cube-ide/scripts/start_ide_3hub.sh background # 2. 浏览器打开前端(HTTP 服务,由 cube-frontend-op/serve.sh 提供,默认 18080) # Windows 同机浏览器(WSL2 localhost 转发自动生效): # http://localhost:18080/ # 远端浏览器:http://<可到达host>:18080/(需端口映射/SSH 隧道,见 cube-frontend-op README) # WS 地址:ws://127.0.0.1:13999(页面 addr/port 可编辑,默认即此) # 3. 页面载入 login_test → R0.5/R1/R2/R3 阶段面板 → 运行验证 → 看验收矩阵 # 备用:UI 崩溃时用 console 驱动(原则 2 fallback;console 双入口 B6 恢复中,见 joint-debug) bash /home/player/cube_platform/cube-ide/scripts/console_send_msg.sh tool:artifact_stat /home/player/cube_platform/cube_projects/login_test # 4. 建议:启动假死看门狗(被动判活,hub 假死时 ≤180s 自动重启 ide_hub_3) bash /home/player/cube_platform/cube-ide/scripts/hub_watchdog.sh startbg ``` ## 三 hub 职责(P4 收口)与 WS 单槽纪律(P3 防护) > 五层架构 B 层职责:**手只执行、眼只观测、脑只编排**(P4,2026-08-31 对齐)。 > 协同纪律全文见 cube-backend `interaction/collaboration.md`(与 cube-front 版同源对账)。 | hub | 角色 | 端口 | 职责边界 | |---|---|---|---| | tools_hub | 手 | TCP 13710 | 只执行:工具/驱动(经 T 层 `cube_tools/bin/_tool.sh`) | | debug_hub | 眼 | TCP 13720 | 只观测:消息记录/实例查询/推送;**不配工具执行插件**(cmdlist_run/read 已移除) | | ide_hub_3 | 脑 | WS 13999 | 只编排:cmd 模板入口、判定回执(switch_check / verify_hub_ctl / driver_run)、对前端 | - **WS 单槽纪律(P3)**:13999 单连接会话;**禁止探测**(探测连接会在 hub 留 CLOSE-WAIT 死槽); 断线指数退避(2s→4s→8s→15s→15s)最多 5 次;长跑(R3A/R3B)单会话不中途断连重连。 - **CLOSE-WAIT 已知缺陷**:根因在 C 层 websocket_channel 缺 `conn_ops->close()`(已登记 `A-layer-debug-request-4`,A 层根治后复测 `ss -tn | grep CLOSE-WAIT` 应为 0)。 ## 严格遵循的纪律(来自 monitor_starter 真实代价) - cfg 纯 JSON 不写 `#` 注释(多块解析器对 # 不可靠) - 启动前 CRLF→LF 强制转换 - 跨实例路由同名约束(debug_query / load_shell / run_shell) - main_proc 按 cwd 清理(避免 pkill 误杀) - monitor_proc 符号链接让 hub 独立 comm 名 - wait_port 替代固定 sleep(修正 monitor_starter 已知差距) - mock 模式兜底 msg2channel 分块 bug 详见 [`docs/基础设计原则.md`](docs/基础设计原则.md)(原则权威源)、[`docs/架构设计.md`](docs/架构设计.md) 与 [`docs/alicebob-R1验证方案.md`](docs/alicebob-R1验证方案.md)。