Skip to content

docs(huawei-ecs): 大 user_data 走 --cli-jsonInput 文件通道,勿弃 MCP 审批层 (#964) - #965

Merged
coconut1919 merged 1 commit into
huaweicloud:devfrom
coconut1919:docs/964-large-userdata-jsoninput
Oct 20, 2026
Merged

coconut1919 merged 1 commit into
huaweicloud:devfrom
coconut1919:docs/964-large-userdata-jsoninput

Conversation

@coconut1919

Copy link
Copy Markdown
Collaborator

Closes #964

背景(活动实测痛点)

2026-10-19 全流程活动报告(66 min / 3200 分)阶段 4 瓶颈 3:cloud-init 脚本 base64 后 ~22KB,超出 MCP 工具参数上限,agent 放弃 MCP 通道直连 shell 调 hcloud——~3 分钟摸索之外,更 silently 绕过了插件三层安全设计中的 plan → approve → run 审批层。

结构性错配:user_data API 上限 32KB(编码前),MCP 参数通道仅几 KB——「API 收得下、通道递不过去」,而仓库里两块知识从未接线(create-instance.md §Bootstrap 只教内联写法;AGENTS.md:159 的 --cli-jsonInput 惯例在 huawei-ecs skill 0 命中)。

修复(纯文档 + 守卫,单 commit)

create-instance.md §Bootstrap 新增「Large user_data: pass via JSON file, do NOT abandon the MCP channel」小节:

  1. 触发条件与三件套工作流:--skeleton 生成 header/path/body JSON 骨架(注明写盘到当前目录而非 stdout)→ 填 body.server.user_data → --cli-jsonInput=<file> 执行 → 可选 --dryrun 发送前校验(打印请求报文、不创建资源)
  2. HELPFUL 知识标注:三个全局 flag 均不出现在操作级 --help(仅在 hcloud --help)——agent 常规发现路径探测不到,这正是写入 skill 的理由
  3. 反模式警示:点名实测案例——「Never abandon the MCP wrapper just because one parameter is too long」

structure.test.mjs 新增守卫(964 前缀):断言 --cli-jsonInput / body.server.user_data / --skeleton / --dryrun / 反模式警示的存在,防止小节被未来编辑误删。

附带事实纠偏

报告瓶颈 1 根因 4 称「CLI 不支持 --dry-run」——不成立:KooCLI 有全局 flag --dryrun(「执行校验后打印请求报文,跳过实际运行」,hcloud --help 实证)。commit message 与 issue #964 均已记录纠偏。

自测

  • node --test test/structure.test.mjs 58/58(含新守卫 huawei-ecs create-instance documents the large-user_data JSON-file path (#964))
  • 改动文件 prettier-clean(format CI 一次通过)
  • flag 语义溯源自官方 help;--skeleton 输出结构经实测验证(ECS_CreateServers_*.json:header/path/body 三段,user_data 位于 body.server.user_data)
  • 文档级修复,无代码行为变化,无需沙箱 E2E

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