首页/新闻资讯/正文详情

IronClaw Google Slides 扩展:用 replace_shapes_with_image 将占位形状批量替换为图片

发布时间:2026/9/23 18:58:17 来源:云帆数科 栏目:资讯中心
IronClaw Google Slides 扩展:用 replace_shapes_with_image 将占位形状批量替换为图片
人工智能AI 应用交互助手AI Agent【免费下载链接】ironclawIronClaw is an Agent OS focused on privacy, security and extensibility项目地址https://gitcode.com/gh_mirrors/iro/ironclaw点击查看免费下载在 IronClaw 的 Google Slides 扩展extension idgoogle-slides中replace_shapes_with_image是一个面向模板驱动批量出片场景的原子操作它按文本内容匹配演示文稿中的形状并将所有命中形状替换为指定图片。本文以该操作的 prompt 文档replace_shapes_with_image.md为核心结合其输入 Schema、WASM 实现与清单声明讲清它的能力语义、参数契约、调用约束与底层实现帮助你在自动化幻灯片生成、模板填充类 Agent 工作流中正确使用它。操作定位模板化替换而非精确对象编辑在 Google Slides 扩展的 14 个工具中replace_shapes_with_image属于按内容寻址的一类操作——它不要求你预先知道某个形状的objectId而是通过文本内容find在整个演示文稿范围内定位形状。这与insert_image需要指定slide_object_id和坐标尺寸在 api.rs 中通过createImage请求实现形成互补insert_image精确插入一张新图片需要指定目标幻灯片与位置尺寸replace_shapes_with_image把已有的、带特定文本的形状整体替换为图片适合占位图 → 真实图的批处理。从 manifest.toml 的声明看它的能力描述为 Replace matching shapes with an image.visibility model对模型可见、default_permission ask默认需用户授权确认并声明了network、use_secret、external_write三类效果即会发起外部网络请求、使用 Google 凭据、并对外部资源产生写操作。输入契约四个参数与默认值该操作的输入参数由独立的 JSON Schema 文件定义replace_shapes_with_image.input.v1.json。以下是完整参数表参数类型是否必填说明presentation_idstring✅ 必填演示文稿 ID与 Google Drive 文件 ID 相同findstring✅ 必填用于匹配形状的文本内容image_urlstring✅ 必填替换图片的 URL需可公开访问match_caseboolean可选是否区分大小写匹配默认trueSchema 同时设置additionalProperties: false意味着传入任何未声明的字段都会被拒绝这是工具参数校验的硬边界。关键默认值在 types.rs 的 Rust 枚举定义中再次确认match_case通过#[serde(default default_true)]实现即模型不传时按区分大小写处理。需要忽略大小写匹配时应显式传入match_case: false。调用规则由 capability id 驱动禁止携带 action 字段prompt 文档明确了两条调用规则二者在源码中均有对应的强制校验操作由 host 从 capability id 选择。WASM 入口在 lib.rs 的action_from_context中将调用上下文里的capability_id如google-slides.replace_shapes_with_image映射为内部 action 名replace_shapes_with_image未知的 capability id 会返回unsupported_google_slides_capability错误。只提供 input schema 描述的参数不要包含action字段。在params_with_action中如果调用方参数里显式携带action字段会直接返回invalid_parameters错误该行为有专门单测覆盖见 lib.rs 中的params_with_action_rejects_caller_supplied_action。action由 host 依据 capability id 注入调用方自行指定会导致歧义甚至越权操作因此被严格禁止。一个符合契约的调用参数示例由模型侧生成host 会自动注入 action{ presentation_id: 1AbC...def, find: [LOGO], image_url: https://example.com/logo.png, match_case: true }底层实现一次 batchUpdate 完成全量替换replace_shapes_with_image的实现位于 api.rs 的replace_shapes_with_image函数中。它不逐个遍历元素而是构造一个replaceAllShapesWithImage请求通过batchUpdate端点一次性提交{ replaceAllShapesWithImage: { containsText: { text: find, matchCase: match_case }, imageUrl: image_url, imageReplaceMethod: CENTER_INSIDE } }值得注意的实现细节匹配语义containsText意味着只要形状文本包含find内容即命中非全等匹配这与占位符场景高度契合——例如形状文本为[COMPANY]用find: [COMPANY]即可命中图片填充方式imageReplaceMethod固定为CENTER_INSIDE即图片在保持纵横比的前提下居中放入形状区域既不会裁切也不会变形拉伸返回值函数从 API 响应中提取replies[0].replaceAllShapesWithImage.occurrencesChanged返回ReplaceResult含presentation_id与occurrences_changed。occurrences_changed可用于验证替换是否真正生效——若为 0说明没有形状命中find文本。所有网络请求都经 host 的 HTTP capability 发出基地址https://slides.googleapis.com/v1/presentationsWASM 侧永远看不到 OAuth 令牌本体凭据由 host 按 manifest 中声明的google_runtime_token注入authorization请求头。权限、凭据与失败语义在 manifest.toml 中本工具对应的凭据声明要求scopes [https://www.googleapis.com/auth/presentations]读写级audience指向slides.googleapis.com。由于default_permission ask每次执行都会触发用户授权确认loop_run场景为gated_unless_grantedproduct与automation场景直接forbidden即仅限 Agent 循环内使用。失败处理遵循统一的 api.rs 错误映射HTTP 401 →AuthRequired错误码google_api_error_status_401凭据失效或 scope 不足触发重新授权流程其他非 2xx 状态码 →Client类错误错误码形如api_status_429限流、api_status_404演示文稿不存在或图片 URL 无法访问等本地参数非法 →Input类错误错误码invalid_parameters。典型工作流占位形状 → 真实图片该操作最典型的应用是模板填充工作流IronClaw 的 lib.rs 文档注释给出了完整思路用create_shape在模板上创建带占位文本的形状如TEXT_BOX中输入[LOGO]用get_presentation确认演示文稿与元素状态准备真实图片的公开 URL调用replace_shapes_with_image一次性替换所有命中的占位形状通过返回的occurrences_changed校验替换数量是否符合预期。与配套的replace_all_text文本级查找替换、batch_update多操作原子提交组合即可搭建模板 → 填文本 → 换图片的完整自动出片管线。扩展的整体安装与授权流程可参考 docs/extensions/google/slides.md先完成 Google OAuth 设置然后执行ironclaw extension install google-slides与ironclaw extension activate google-slides完成授权。注意即使已经授权过其他 Google 扩展仍需对 Slides 扩展单独完成一次授权。小结replace_shapes_with_image是一个把按文本匹配形状 整页替换为图片封装为单个能力点的工具参数契约精简3 个必填 1 个可选、调用规则明确capability id 驱动、禁止自带action字段、底层以单次replaceAllShapesWithImagebatchUpdate 原子完成全量替换并回报替换计数。在 IronClaw 的 Google Slides 扩展中它是模板化演示文稿自动化最直接的一环可与create_shape、replace_all_text、batch_update组合成完整的占位填充工作流。赞分享人工智能AI 应用交互助手AI Agent【免费下载链接】ironclawIronClaw is an Agent OS focused on privacy, security and extensibility项目地址https://gitcode.com/gh_mirrors/iro/ironclaw点击查看免费下载相关推荐Google Slides 模板占位符自动替换gogcli slides create-from-template 实战指南Google Slides 模板占位符自动替换gogcli slides create from template 实战指南 gog slides creatIronClaw Google Calendar 扩展指南使用 google-calendar.add_attendees 为日历事件批量添加与会者IronClaw Google Calendar 扩展指南使用 google calendar.add_attendees 为日历事件批量添加与会者 导读 g人工智能AI 应用交互助手AI AgentIronClaw Google Docs 扩展 replace_text 文本查找替换操作详解IronClaw Google Docs 扩展 replace_text 文本查找替换操作详解 在 IronClaw 的 Google Docs 扩展 goo人工智能AI 应用交互助手AI Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

3步搞定整体与部分:后端开发者的保姆级教程
3步搞定整体与部分:后端开发者的保姆级教程

3步搞定整体与部分:后端开发者的保姆级教程 复制来的代码跑不通,报错日志一屏屏往外跳,你盯着屏幕发呆,完全不知道从哪下手调?别急,这种“整体混乱、部分断裂”的情况,在房建工程信息化和后端开发里太常见了。 今天这篇 保姆级教程… · 2026/9/23 18:58:10

打不死的小强:后端高可用架构最佳实践与面试避坑指南
打不死的小强:后端高可用架构最佳实践与面试避坑指南

打不死的小强:后端高可用架构最佳实践与面试避坑指南 配置环境就卡半天,调试服务又超时,这种“打不死的小强”般的故障排查体验,谁还没经历过?在准备后端高级开发或架构师面试时,面试官最爱拿这种“顽固”的系统稳定性问题来考察你的底层功底。今天咱们… · 2026/9/23 18:58:04

别死磕语法!sql select 性能调优入门到精通,3个致命坑一次讲透
别死磕语法!sql select 性能调优入门到精通,3个致命坑一次讲透

别死磕语法!sql select 性能调优入门到精通,3个致命坑一次讲透 你是不是也遇到过这种崩溃时刻?从网上复制了一段看起来很牛的 SQL… · 2026/9/23 18:58:04

3个坑让qq空间在线刷人气失效,手写实现救场指南
3个坑让qq空间在线刷人气失效,手写实现救场指南

3个坑让qq空间在线刷人气失效,手写实现救场指南 版本升级后 API 全变了,你盯着报错日志发呆吗?别慌,很多同行还在用老代码硬套,结果连编译都过不了。今天咱们不整虚的,直接上干货,聊聊怎么通过 手写实现… · 2026/9/23 19:25:06

别背了,3张图解清waterfall核心原理
别背了,3张图解清waterfall核心原理

别背了,3张图解清waterfall核心原理 面试被问“waterfall模式到底怎么执行”,你是不是脑子一片空白?只会说“按顺序执行”,但被追问线程阻塞机制或异常处理时,立马卡壳。别慌,今天咱们不背八股文,直接用图解原理,把这套老牌并发模… · 2026/9/23 19:25:00

3分钟搞懂dailymed源码解析 告别文档焦虑
3分钟搞懂dailymed源码解析 告别文档焦虑

3分钟搞懂dailymed源码解析 告别文档焦虑 官方文档往往厚得像砖头,翻了三页还没搞懂核心逻辑,这种痛苦应届生和转行者太懂了。别被那些晦涩的术语劝退,今天我们直接切入dailymed的源码解析,用最直白的方式带你跑通第一个项目。… · 2026/9/23 19:24:47

2026最新c7和弦实战:3分钟搞定报错与项目搭建
2026最新c7和弦实战:3分钟搞定报错与项目搭建

2026最新c7和弦实战:3分钟搞定报错与项目搭建 打开终端,敲下 node index.js ,屏幕瞬间被红色的 StackTrace 淹没,满屏的 Error: Unexpected token… · 2026/9/23 19:24:41

别被坑了!Poloniex API接入保姆级教程,3步搞定实盘数据
别被坑了!Poloniex API接入保姆级教程,3步搞定实盘数据

别被坑了!Poloniex API接入保姆级教程,3步搞定实盘数据 学了一堆Python语法,却连个K线图都拉不下来?这种“会写代码不会搭项目”的尴尬,在量化交易圈太常见了。很多转行搞金融科技的伙伴,卡在API对接这一步,看着文档头大,甚至… · 2026/9/23 19:24:41

雷达的原理原理详解
雷达的原理原理详解

面试被问雷达原理答不上来?3步搞懂核心逻辑保姆级教程 上周陪一个做嵌入式的朋友面测,面试官轻飘飘问了一句:“说说雷达的原理。”他愣了三秒,张嘴想说“发射电磁波反射回来”,结果被追问“那多普勒效应怎么体现的?距离怎么算的?”直接卡壳,挂了。… · 2026/9/23 19:24:34

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码