Skip to content

fix(agent): CPU 模式消费安全启动参数白名单(--disable-api-nodes)#92

Merged
jackzhao8886 merged 2 commits into
capfrom
feat/cpu-safe-custom-boot-args
Jun 25, 2026
Merged

fix(agent): CPU 模式消费安全启动参数白名单(--disable-api-nodes)#92
jackzhao8886 merged 2 commits into
capfrom
feat/cpu-safe-custom-boot-args

Conversation

@jackzhao8886

Copy link
Copy Markdown
Collaborator

问题

CPU 模式此前完全不消费 CUSTOM_BOOT_ARGSconstants.py CPU 分支直接用 base_cmd),导致 --disable-api-nodes 在 CPU 工作站/网关不生效——官方 API 节点仍可被搜索。GPU 模式正常。

方案 B(CPU 安全白名单)

  • utils/args.py:新增 filter_allowed_argsbuild_boot_command 增加可选 allowed_args(白名单收窄,先于受保护过滤)
  • constants.py:新增 _CPU_SAFE_BOOT_ARGS={'--disable-api-nodes'},CPU 分支带 allowed_args 调用
  • CPU 只放行白名单参数,GPU 专属参数(如 --highvram)仍丢弃,避免 CPU 启动失败
  • GPU 路径零变更allowed_args 默认 None)

测试

args_test.py 单测 45 passed(含 GPU 回归 + CPU 白名单/丢弃 GPU 参数/混合场景)。

调查与设计文档:ai-codex MR(codereview/28115221)。

🤖 Generated with Claude Code

CPU 模式此前完全不消费 CUSTOM_BOOT_ARGS,导致 --disable-api-nodes 在 CPU
工作站/网关不生效(官方 API 节点仍可被搜索)。新增白名单机制:
- args.py: filter_allowed_args + build_boot_command(allowed_args=...)
- constants.py: _CPU_SAFE_BOOT_ARGS={'--disable-api-nodes'},CPU 分支启用
- GPU 路径不变(allowed_args 默认 None)
- 单测 45 passed

Change-Id: I74e1c8605a89d58cb23df52918ad38be334aa615
Co-developed-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: luling.zqj <luling.zqj@alibaba-inc.com>
@jackzhao8886 jackzhao8886 force-pushed the feat/cpu-safe-custom-boot-args branch from 27355bb to cfce374 Compare June 22, 2026 10:18
@jackzhao8886

Copy link
Copy Markdown
Collaborator Author

Review 的两点都已处理,force-push 到 cfce374

P1(DCO):已 git commit --amend -s 补上 Signed-off-by: luling.zqj <luling.zqj@alibaba-inc.com>,与 commit author 匹配。

P2(白名单安全边界):采纳「带 arity 的 spec」方案——白名单从 Set[str] 升级为 Dict[str, bool],value 声明该参数是否接值。--disable-api-nodes 标记为布尔开关(False):

  • --disable-api-nodes true → 只保留 --disable-api-nodes,丢弃 true
  • --disable-api-nodes=1 → 规整为纯 --disable-api-nodes
  • arity=True 的参数仍保留其值(为未来带值的 CPU 安全参数预留)

已补对应单测(test_flag_drops_trailing_value / test_flag_strips_eq_value 等),args_test.py 共 50 passed。

cap Makefile 的 v0.3.77 分支默认 CAP_SYSTEM_VERSION=1.6.8 会引用不存在的
source image funart-comfyui:v1.6.8(实际是 v1.6.7),导致 1.x 构建拉错镜像。
修正为实际值 1.6.7。

Change-Id: Ied303c00148bda5720dc1762bcd8c8a796cb6c4f
Co-developed-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: luling.zqj <luling.zqj@alibaba-inc.com>
@jackzhao8886 jackzhao8886 merged commit 986114d into cap Jun 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant