用途:对已存在的 HAP 应用做精确的局部元素修改,包括工作表、字段、视图、角色权限、自定义动作、工作流与节点、自定义页面与组件、应用与分组等单个元素的增删改。不触发增删改业务记录、查询数据、写调用 hap 的代码,从零搭建新应用应改用 hap-mcp-app-builder。
主要能力:默认用裸 hap 命令完成多数元素编辑,例如 hap worksheet view update <ws_id> <view_id> --name "进行中的订单"、hap workflow publish <process_id>、hap app role add-member <role_id> --user-ids <account_id> -a <app_id>。三类编辑需走 edit-spec(hap app-editor):已有字段的修改/删除/重排、页面组件增删改、动作按钮新建与修改;新增字段 field.add 也用 edit-spec。原因包括整表控件集需整体写回、页面布局是整体 components 数组、action_spec 需翻译为按钮配置并关联流程。
前置条件:hap auth whoami 确认已登录并选好组织;未登录先 hap auth login。编辑应用元素要求当前用户对该应用有管理权限,动手前用 hap app list-managed 确认目标应用在列表中,不在则需管理员授权或换账号。缺少 appId 时让用户提供应用名或 appId。
通用工作流:Inspect 用 hap app-editor inspect 打印逻辑名到 id 的全结构;Read 先导出当前结构再改,如 view info、workflow node get、worksheet fields、custom-page info;Edit 按模块文档执行命令或写 spec 后 validate、plan、apply;Verify 用对应读命令确认改动生效。
注意事项:HAP 写接口可能返回成功但数据错误,需验证。update-fields 是整表替换,未传列会连同数据删除;给已有表加列用 add-fields 或 field.add。勿自造 controlId。选项或地区传不存在的值可能写为无效值。--view-id 撤按钮仅对限定显示视图的按钮有效。工作流建完需发布。复制工作表未用 --keep-relation 的关联、子表、级联列会变纯文本。删除类操作需带 --yes/-y 或 confirm: true,并先取得用户同意。命令与选项会随 hap-cli 升级变化,本 skill 字典基于 0.9.0,动手前应用 hap <命令> --help 和 hap guide 核对,以其为准。