基于 box-stack 本地部署(blade-hub:v1.0.0 / blade-agent:v1.0.0 / blade-oauth:v0.4.4)
测试时间:2026-07-01
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ✅ | fd 泄漏修复验证(PR #1042 #1002 #974 #967) | ba 进程 fd 数量:创建会话后 29,删除会话后 30,无持续增长 |
| ✅ | 用户消息流式阶段不再重复显示(PR #1045) | 发送 "pwd" 后消息只显示一次,无闪烁或重复 |
| ✅ | 删除对话后 /workspace 文件夹清理(PR #1051 #1053 #1061) | 删除 pwd 会话后 /app/workspace/ 为空,文件夹已被清理 |
| ✅ | session 删除时内存状态清理 + 消除冗余 HTTP 探测(PR #1061) | 删除会话后 ba 日志无残留状态报错,fd 数量稳定 |
| ✅ | 用户消息乐观渲染 + loading 指示器(PR #1057 #1035) | 发送消息后立即显示在对话区,有"思考详情"loading 指示 |
| ✅ | 暗模式适配 + 空响应自动重试(PR #1032) | 默认暗模式,所有文字、边框、按钮清晰可见,对比度正常 |
| ✅ | 流式 tool arguments 后端 patch 节流(PR #1038) | 发送 pwd 触发 tool call,流式响应流畅无卡顿 |
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ✅ | Gitea 环境变量自动回填(PR #1047 #1020) | BO 经纪人模式下 bh 有 BLADE_HUB_GITEA_BASE_URL=http://gitea:3000;ba 不直接访问 gitea(委托给 bh),符合架构设计 |
| ✅ | blade-auth-client 锁定 0.4.14(PR #1046) | ba: 0.4.14, bh: 0.4.14 — 两者版本一致且锁定正确 |
| ⚠️ | Mock 模式 API Key 不重复创建(PR #1018) | 当前为 BO 模式部署,非 Mock 模式,无法测试此项 |
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ✅ | 提示词不再包含项目目录路径(PR #1050) | 提示词中使用沙盒内相对路径 $HOME/智能助手工作空间/<session_id>,不包含宿主机绝对路径 |
| ⚠️ | 上传需求文档不再丢失(PR #1059) | 需要实际创建项目并上传 .md 文件验证,当前无项目 |
| ✅ | 项目目录生命周期同步(PR #1052) | 删除 checklist-test 后 /root/checklist-test 和 workspace 均被清理;重建同名项目成功,无残留文件夹冲突 |
| ✅ | UI 统一壳层重构(PR #1005 #1054) | 首页 /chat、软件工厂 /projects、侧边栏和渲染管线一致,无布局错乱 |
| ⚠️ | 文件预览二进制乱码修复(PR #1041) | 需要在文件树中点击图片/二进制文件验证,当前无项目文件可测 |
| ⚠️ | 项目文件页代码显示(PR #1062) | 需要提交远端仓库后打开项目文件页面验证,当前无远端仓库 |
| ⚠️ | Visio/Office 文件预览(PR #1048) | 需要上传 .vsdx 或 .docx 文件验证,当前无测试文件 |
| ✅ | 看板状态标签中文化(PR #1028) | 任务进度看板列名全部中文:待办、进行中、待确认、已完成、已归档,无英文残留 |
| ⚠️ | 导入功能修复(PR #1049) | 需要准备 skill/solution zip 包验证导入流程 |
| ⚠️ | 场景页删除会话修复(PR #1053) | 需要进入场景页面验证删除会话,当前无场景 |
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ❌ | 沙盒内存限制提升至 4g(PR #1037 #1039) | docker inspect 显示沙盒容器 Memory=805306368 (768MB),未达到预期 4GB (4294967296)。可能需要设置 SANDBOX_MEMORY 环境变量 |
| ✅ | Casdoor 已移除(PR #1060) | docker-compose.yaml 中无 casdoor 服务定义,docker ps 无 casdoor 容器,仅 bo-init.json 保留 OAuth client 名称(正常) |
| ⚠️ | Release 镜像构建缓存优化(PR #1036 #1043) | 需要查看 CI 构建日志对比跨版本构建时间和层复用率,本地无法验证 |
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ⚠️ | 技能编辑器文件回溯 checkpoints(PR #1058) | 需要在技能编辑器中多次编辑文件并查看历史版本列表,本地缺少技能编辑器测试数据 |
| ⚠️ | embedded solution 运行(PR #1040) | 需要通过 /open-solution 深链打开内置 solution 验证,本地无内置 solution 可测 |
| ⚠️ | 技能商店访问控制统一(PR #1055) | 需要设置 skill_tools_enabled=false 后验证 API 返回 403/空结果,当前默认启用 |
| 状态 | 检查项 | 验证结果 |
|---|---|---|
| ✅ | 应该自动创建 token、gitea host、gitea token(PR #1047 #1020) | ba 配置 BLADE_BO_INTERNAL_URL 后,环境变量设置页自动回填 GITEA_URL=http://gitea:3000 和 GITEA_TOKEN。注意:box-stack 的 docker-compose.yaml 原来缺少 ba 的 BLADE_BO_INTERNAL_URL/SECRET 配置,已修复 |
| ⚠️ | 沙盒里面 matplotlib 图片无法生成汉字 | 无对应 PR,需确认沙盒镜像是否预装中文字体,当前无法在沙盒内测试字体 |
| ⚠️ | 本地源码部署引导不清晰 | 评论标注为开发体验问题,非用户影响,不阻塞 1.0 |
| ⚠️ | 并行智能体测试中子智能体回答混入正文 | 无对应 PR,需要触发并行智能体场景验证 |
| ⚠️ | 多处 skill 计数不匹配(PR #1055 可能部分修复) | 需验证技能商店和会话中的 skill 计数是否一致 |
| ⚠️ | 再次检查 .agent/.blade 等目录位置是否合理 | 无对应 PR,需人工审查目录结构 |
| ⚠️ | 卡片任务状态手动修改后主流程不变 @郑宇 | 无对应 PR,需要在看板中修改任务状态后验证主流程 |
| ⚠️ | 失败任务没有确认或删除选项 @郑宇 | 无对应 PR,需要触发失败任务场景验证 UI |
| ⚠️ | 软件工厂诸多细节改善(PR #1054 覆盖 @刘金山) | 部分由 PR #1054 覆盖,细节需逐一验证 |
| ✅ | 给 Docker compose 加 log driver 滚动切片配置 | docker-compose.yaml 已配置 x-logging: json-file, max-size 20m, max-file 5,5 个服务引用 |
未通过项:
无法测试的原因:软件工厂 v3 的部分项需要上传文件、配置远端仓库等复杂前置条件;Release 镜像构建缓存优化需要 CI 环境;Mock 模式 API Key 需要切换部署模式;"仍未修复"类别多为无对应 PR 或需特定场景触发。