Skip to content

fix: add jiuwenbox-conch mode - #530

Open
openjiuwen-sync-bot[bot] wants to merge 3 commits into
openJiuwen-ai:developfrom
openjiuwenai:sync/pr-2326
Open

fix: add jiuwenbox-conch mode#530
openjiuwen-sync-bot[bot] wants to merge 3 commits into
openJiuwen-ai:developfrom
openjiuwenai:sync/pr-2326

Conversation

@openjiuwen-sync-bot

@openjiuwen-sync-bot openjiuwen-sync-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Paired: GitHub #530GitCode !2326

What type of PR is this?
/kind

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入

    • 设计:PR对应的方案是否已经经过Maintainer评审,方案检视意见是否均已答复并完成方案修改
    • 测试:PR中的代码是否已有UT/ST测试用例进行充分的覆盖,新增测试用例是否随本PR一并上库或已经上库
    • 验证:PR描述信息中是否已包含对该PR对应的Feature、Refactor、Bugfix的预期目标达成情况的详细验证结果描述
    • 接口:是否涉及对外接口变更,相应变更已得到接口评审组织的通过,API对应的注释信息已经刷新正确
    • 文档:是否涉及官网文档修改,如果涉及请及时提交资料到Doc仓

Linked Closing Issues:

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@openjiuwen-collaboration-bot

openjiuwen-collaboration-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

head_sha: ff56d1f77b360df3a8017b0cc45d7184bf0016ce

变更摘要

该 PR 为沙箱系统新增了 jiuwenbox-conch 模式支持,主要围绕「启动器识别新沙箱类型」和「创建沙箱时透传 sandbox_type 参数」两部分展开。具体而言,PreDeploymentLauncher 在 teardown 阶段将新类型 jiuwenbox-conch 与原有 jiuwenbox 一并处理;同时 jiuwenbox.py 内部打通了从 extra_params 到创建请求体的 sandbox_type 传递链路,使调用方可以通过 api_sandbox_type / sandbox_type 指定底层沙箱类型(如 conch),并在创建或强制重建沙箱时下发到服务端。

主要改动

  • 启动器支持新沙箱类型pre_deployment_launcher.py 中 teardown 判断由 sandbox_type == "jiuwenbox" 改为 sandbox_type in ("jiuwenbox", "jiuwenbox-conch"),使 jiuwenbox-conch 复用 jiuwenbox 的清理与共享 scope key 删除逻辑。
  • 创建请求体支持 sandbox_type_JiuwenBoxClient.create_sandbox 新增可选参数 sandbox_type,非空时将其写入创建沙箱请求体的 body["sandbox_type"] 字段。
  • 选项映射新增 sandbox_type 透传_JiuwenBoxProviderMixin 中在构建 options 时,优先读取 extra_params["api_sandbox_type"],回退到 extra_params["sandbox_type"],并将有效值映射为 options["sandbox_type"]
  • 强制重建接口支持 sandbox_typeforce_recreate_jiuwenbox_sandbox 新增 sandbox_type 参数并组装进 create_options,随后将创建调用从显式传参 policy=policy, policy_mode=policy_mode 改为 client.create_sandbox(**create_options),统一透传所有创建参数。

@openjiuwen-collaboration-bot

openjiuwen-collaboration-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

head_sha: ff56d1f77b360df3a8017b0cc45d7184bf0016ce

代码审查

我已对两个变更文件逐一完成审查。

审查结论

  • openjiuwen/core/sys_operation/sandbox/launchers/pre_deployment_launcher.py:发现 1 个问题(P1,jiuwenbox-conch 未注册 provider)。
  • openjiuwen/extensions/sys_operation/sandbox/providers/jiuwenbox.py:本次变更的 create_sandbox/_sandbox_create_options_from_launcher_extra_params/force_recreate_jiuwenbox_sandbox 改动内部逻辑一致(sandbox_typestr().strip() + 空值过滤、**create_optionscreate_sandbox 关键字签名匹配、向后兼容),未发现独立的新增缺陷。

发现统计

  • P1:1 个
  • P0 / P2 / P3:0 个

整体风险判断:该 PR 的核心功能(jiuwenbox-conch 模式)存在阻断性缺陷——新增的 "jiuwenbox-conch" 沙箱类型在 teardown 与 create body 路径被识别,但 SandboxRegistry 中未注册对应 provider,导致该模式下的 fs/shell/code 操作在首个调用即抛出 NotImplementedError,功能无法使用。建议合入前补齐 provider 注册或归一化逻辑。

类型 数量
🔴 阻塞 1
🟡 建议 0

⛔ 需要修改

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: ff56d1f77b360df3a8017b0cc45d7184bf0016ce

任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 N/A N/A
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 19c66e707686007a5c7a4b638550f974e8f363cf

任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 N/A N/A
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: b194d96e599ac45dcb979db72d8ca4819619d993

任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 N/A N/A
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: jiuwenbox新增jiuwenbox-conch模式

2 participants