wizardchen
738fe1ec53
feat(sandbox): 沙箱后端改为按空间配置,并补齐 E2B 模板与检测诊断
沙箱的后端类型、凭据、模板、超时和私网访问策略此前分散在部署级
WEKNORA_SANDBOX_* 环境变量里,一个实例只能有一套,租户之间无法各用
自己的 E2B 账号或自建 Cube 集群。现在这些配置全部落到空间维度的具名
沙箱配置上:部署环境不再提供覆盖项,未选择配置的智能体直接不启用脚本
执行,而不是静默回落到某个部署默认值——后者会让「这个智能体到底跑在
哪」无从判断。
同时把连接检测从「能不能连上控制面」扩展成可解释的诊断:
- E2B 标准模板显式带上 default 标签构建。创建沙箱时裸模板名/ID 只解析
default 标签,构建带了别的标签就永远拿不到,表现为一个与「模板不存在」
无法区分的 404。
- 模板状态不再从历史构建或 spawn 次数反推就绪,只认当前构建;构建完成
却没有 default 标签的模板单独报成 untagged,因为它在列表里和「仍在构建」
长得一样,但等待永远不会有结果。
- 创建失败带上 HTTP 状态,404 走模板解释路径,给出具体到「重建模板」还是
「Key 属于其他团队」的结论。
- 探针脚本改在进程工作目录下暂存。系统临时目录在 macOS 上位于
/var/folders,Docker 虚拟机并不共享,挂载进容器后是空目录,真实技能执行
(脚本在 skills/ 下)却不会踩到,检测因此报假失败。
- 检测失败不再只说「命令输出与预期不符」,带上退出码与 stderr 首行。
前端把沙箱设置页与配置抽屉重做:凭据按「是否已配置」展示而非回显掩码,
删除与停用改为就地确认,占用情况走右侧抽屉,列表卡片展示模板状态、凭据、
超时等可判断健康度的事实。
2026-08-11 15:42:02 +08:00
..
2026-08-10 21:28:20 +08:00
2026-07-30 12:28:23 +08:00
2026-07-30 12:28:23 +08:00
2026-04-15 20:21:12 +08:00
2026-04-22 21:18:20 +08:00
2026-08-10 21:28:20 +08:00
2026-07-23 16:52:35 +08:00
2026-07-23 16:52:35 +08:00
2026-03-17 22:23:24 +08:00
2026-07-14 15:56:02 +08:00
2026-07-14 15:56:02 +08:00
2026-03-09 11:46:56 +08:00
2026-07-18 23:41:48 +08:00
2026-07-27 11:05:43 +08:00
2026-05-06 17:17:07 +08:00
2026-07-28 20:23:48 +08:00
2025-08-05 15:08:07 +08:00
2026-08-10 21:28:20 +08:00
2026-08-05 11:59:02 +08:00
2026-08-10 21:28:20 +08:00
2026-08-10 21:28:20 +08:00
2026-08-05 19:29:32 +08:00
2026-08-10 21:28:20 +08:00
2026-07-17 10:19:43 +08:00
2026-08-11 15:42:02 +08:00
2025-08-05 15:08:07 +08:00
2026-07-27 16:04:56 +08:00
2026-08-05 19:39:49 +08:00
2026-05-06 21:16:48 +08:00
2026-06-12 23:10:39 +08:00
2026-07-18 23:41:48 +08:00
2026-07-17 10:19:43 +08:00
2025-08-05 15:08:07 +08:00
2026-06-08 20:10:37 +08:00
2025-11-07 22:41:41 +08:00
2026-04-16 18:13:20 +08:00
2026-07-23 10:50:32 +08:00
2026-07-23 10:50:32 +08:00
2026-03-19 18:20:09 +08:00
2026-07-28 20:23:48 +08:00
2026-07-28 20:23:48 +08:00
2026-07-28 20:23:48 +08:00
2026-02-25 14:29:54 +08:00
2026-04-22 21:18:10 +08:00
2026-05-28 15:14:45 +08:00
2026-04-22 21:17:36 +08:00
2026-04-22 21:17:36 +08:00
2026-07-28 20:23:48 +08:00
2026-08-04 20:45:29 +08:00
2026-08-04 20:45:29 +08:00
2026-06-25 17:30:22 +08:00
2026-07-14 16:14:43 +08:00
2026-07-13 10:35:44 +08:00
2026-08-05 19:39:49 +08:00
2026-08-07 15:35:58 +08:00
2026-06-03 14:45:59 +08:00
2026-08-07 15:35:58 +08:00
2026-07-23 15:35:24 +08:00
2026-05-17 15:27:52 +08:00
2026-07-14 16:14:43 +08:00
2026-07-16 17:41:27 +08:00
2026-07-14 11:17:25 +08:00
2026-08-10 21:28:20 +08:00
2026-08-10 21:28:20 +08:00
2026-07-14 16:14:43 +08:00
2026-07-30 12:28:23 +08:00
2026-07-16 17:41:27 +08:00
2026-03-17 22:23:24 +08:00
2026-07-07 12:00:13 +08:00
2026-07-30 11:56:05 +08:00
2026-07-13 12:16:19 +08:00
2026-07-13 12:16:19 +08:00
2026-07-30 12:28:23 +08:00
2026-07-14 11:17:25 +08:00
2026-07-15 17:02:43 +08:00
2026-05-06 17:17:07 +08:00
2026-05-22 20:43:50 +08:00
2026-07-14 16:53:07 +08:00
2026-08-10 21:28:20 +08:00
2026-07-27 11:05:43 +08:00
2026-08-06 14:32:24 +08:00
2026-07-02 14:41:42 +08:00
2026-07-02 14:41:42 +08:00
2026-07-30 11:56:05 +08:00
2026-08-10 21:28:20 +08:00
2026-07-15 14:54:39 +08:00
2026-07-15 14:54:39 +08:00
2026-07-21 16:14:22 +08:00
2026-07-14 16:14:43 +08:00
2026-07-14 16:14:43 +08:00
2026-05-10 00:01:06 +08:00
2026-07-23 10:50:32 +08:00
2026-05-10 00:01:06 +08:00
2026-08-07 15:01:01 +08:00
2026-08-07 15:01:01 +08:00
2026-07-30 12:28:23 +08:00
2026-07-07 12:00:13 +08:00
2026-07-07 12:00:13 +08:00
2026-07-21 17:21:35 +08:00
2026-05-27 19:42:01 +08:00
2026-07-07 12:00:13 +08:00
2026-08-10 21:28:20 +08:00
2026-08-11 15:42:02 +08:00
2026-08-10 21:28:20 +08:00
2026-08-03 15:37:07 +08:00
2026-08-11 15:42:02 +08:00
2026-07-17 16:30:45 +08:00
2026-05-18 17:28:58 +08:00
2026-08-07 15:49:58 +08:00
2026-05-29 16:32:27 +08:00
2026-06-22 20:21:25 +08:00
2026-07-14 16:14:43 +08:00
2026-08-10 13:33:55 +08:00
2026-08-10 13:33:55 +08:00
2026-04-30 15:28:35 +08:00
2026-04-30 15:28:35 +08:00
2026-04-15 11:37:24 +08:00
2026-07-28 11:18:33 +08:00
2026-07-28 11:18:33 +08:00