基于需求与现有固件代码生成可审阅补丁(patchPlan + patch + notes);已有工程文件时视为更新/修订而非从零生成,默认不直接落盘。
根据用户需求与当前代码上下文,生成可审阅、可落地的代码修改建议。输出包含:
summary:本次修改目标patchPlan[]:结构化改动步骤patch:统一 diff 文本(用于预览)notes[]:依赖、风险、验证建议默认仅输出建议,不强制写文件。
| 要点 | 说明 |
|---|---|
| 精确名 | skillName 必须为 firmware_codegen_skill。 |
| 代码输入 | codeText 可选;为空时基于通用模板输出骨架级 patch。 |
| 落盘策略 |
| 默认不落盘(仅返回 patch 建议),由上层确认后再写入。 |
| 失败 | 引擎不可用/需求为空时返回 success: false。 |
| 画布 | 执行前引擎读取当前项目画布(getCanvasSnapshotForSkill 或入参 canvasSnapshot),并做结构预判。 |
| 参数 | 类型 | 说明 |
|---|---|---|
userRequirement | string | 固件改动目标(必填)。 |
codeText | string | 当前代码全文(可选)。 |
targetPath | string | 目标文件路径(可选,仅用于标识)。 |
language | string | 代码语言标识(可选,默认 arduino)。 |
additionalContextFromAgent | string | 可选补充上下文。 |
canvasSnapshot | object | 可选;省略时由引擎拉取当前画布 JSON。 |
canvasAnalysis:含 readiness 与 gapKind:missing_parts(缺元件/空板)、missing_wiring(缺连线)、ready、snapshot_error。canvasGuidance:phase、gapKind、userFacingHint、pinBindings(gapKind=ready 时)、recommendedNextSkills(缺连线时可建议后续 wiring_edit_skill;缺件时不强制同轮 scheme——由用户决定是否补画布)。firmware:patch 或 UI 二次确认写入,可降低误改风险。scheme_design_skill / wiring_edit_skill。