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