基于视觉AI的游戏自动化智能体Giclaw:原理、部署与应用实践
1. 项目概述一个基于视觉AI的游戏自动化智能体如果你玩过《原神》肯定对每天上线领月卡、收邮件、做日常这些重复操作不陌生。这些操作本身不复杂但日复一日地手动点击既枯燥又容易忘记。传统的自动化脚本比如基于图像识别的“连点器”或者基于游戏内存的“外挂”要么不够灵活画面分辨率一变就失效要么有安全风险容易被游戏检测为第三方软件。而今天要聊的这个开源项目Giclaw则提供了一种全新的思路它不关心游戏内部的坐标也不依赖固定的图像模板而是把游戏截图“喂”给一个大型视觉语言模型比如GPT-4V、Gemini让AI来“看”懂屏幕并“告诉”程序下一步该点哪里、输入什么。简单来说Giclaw是一个运行在你电脑上的智能机器人。它的核心工作流是这样的通过Playwright一个浏览器自动化库控制你的浏览器打开云·原神或者米游社然后定时截取游戏画面截图被发送给你配置的AI视觉模型AI模型分析截图后会返回一个结构化的指令比如“在画面中央偏右的‘领取’按钮上点击”Giclaw再通过Playwright执行这个点击操作。整个过程开发者不需要为“领取按钮”编写任何坐标X100, Y200或者CSS选择器全部交给AI来理解和决策。这听起来有点“杀鸡用牛刀”但它的优势非常明显泛化能力强。游戏UI更新了只要按钮上的文字没变AI大概率还能认出来。换了不同的云游戏平台界面布局有差异AI可以自适应理解。你想让它完成一个全新的、开发者没预定义过的任务理论上你只需要用自然语言描述给AI它就有可能帮你完成。这个项目将当下热门的Agent智能体概念落地到了一个非常具体的垂直场景——游戏日常自动化为“AI自动化”的实践提供了一个绝佳的样板。2. 核心设计思路为什么是“视觉AI驱动”在深入代码之前我们得先搞清楚Giclaw的架构哲学。传统的游戏自动化无论是针对端游、手游还是页游其技术栈无外乎以下几种内存读写直接读取或修改游戏进程内存数据。效率最高但技术门槛高风险极大极易被反作弊系统检测并封号且严重依赖特定的游戏版本。图像识别使用OpenCV等库进行模板匹配或特征点检测。比如在屏幕上寻找“每日委托”的图标。这种方法相对安全但鲁棒性差。游戏分辨率、UI缩放比例、甚至光线效果的变化都可能导致匹配失败需要准备大量不同场景下的模板图片。控件识别对于PC端游有些工具可以获取游戏窗口的控件树如Windows的UI Automation。但这要求游戏使用标准控件且接口开放对于大多数游戏不适用。坐标/脚本录制直接记录鼠标点击的绝对坐标或相对坐标然后回放。这是最原始的方法几乎没有任何适应性窗口位置一变就全乱套。Giclaw巧妙地避开了上述所有方案的缺点。它选择了一个更高的抽象层将游戏界面视为一个“视觉场景”将自动化任务转化为“视觉问答VQA”问题。它的核心思路拆解如下输入一张游戏界面的截图。处理将截图和一段精心设计的任务提示词Prompt一起发送给一个多模态大模型。输出模型返回一个结构化的JSON描述它“看到了什么”以及“建议做什么”。执行Giclaw解析这个JSON将其转化为具体的自动化操作点击、输入、滚动等。举个例子对于“领取月卡”这个技能Giclaw不会去匹配“晶核”图标。它的提示词可能是“这是《原神》游戏界面。如果存在一个可以点击领取今日奖励的按钮请告诉我它的位置和描述。” AI在分析了截图后可能回复{“action”: “click”, “description”: “画面右侧一个闪着光的、写着‘领取’的方形按钮” “coordinates”: {“x”: 0.75, “y”: 0.6}}。这里的坐标是归一化的比例坐标0-1这样无论截图分辨率是1920x1080还是2560x1440程序都能准确计算出要点击的实际像素位置。这种设计的最大好处是解耦。技能逻辑要做什么和界面识别怎么做被完全分开了。开发者编写技能时只需要关心业务逻辑“先去这里再点那里然后判断是否成功”。至于“这里”和“那里”具体在屏幕的哪个位置交给AI和提示词工程去解决。这使得技能代码非常简洁、易读且易于维护和扩展。3. 环境搭建与初始化配置详解Giclaw基于Node.js环境这要求你的电脑上已经安装了Node.js版本需大于等于20。如果你是一名前端或Node.js开发者那么接下来的步骤会非常熟悉如果不是跟着步骤走也完全没有问题。3.1 基础环境准备首先打开你的终端Windows上的PowerShell或CMDmacOS/Linux上的Terminal检查Node.js版本node -v如果版本低于20你需要去Node.js官网下载并安装最新LTS版本。安装完成后Node.js会自带包管理工具npm。接下来全局安装Giclaw命令行工具npm install -g giclawlatest这个命令会从npm仓库下载Giclaw的最新版本并安装到全局环境。安装完成后你应该能在终端中直接使用giclaw命令。注意在某些系统如Linux/macOS上全局安装可能需要sudo权限。如果遇到权限错误可以尝试sudo npm install -g giclawlatest或者按照官方推荐的方式配置npm的全局安装目录以避免使用sudo。3.2 项目初始化与关键配置安装完成后不要急着运行。第一步是进行初始化配置这步至关重要它决定了Giclaw如何与AI对话以及如何控制你的浏览器。在终端中输入giclaw init这会启动一个交互式的命令行向导。我们一步步来看每个配置项的意义和如何选择选择AI模型提供商这是Giclaw的“大脑”。它支持多种后端gemini谷歌的Gemini模型尤其是Gemini 1.5 Pro/Flas在视觉理解方面表现非常出色通常是首选。openaiOpenAI的GPT-4系列需GPT-4Vision版本。效果顶尖但价格相对较贵。doubao字节跳动的豆包模型国内访问友好性价比较高。qwen阿里的通义千问模型同样国内友好。openai-compatible任何提供了与OpenAI相同API接口的服务比如你本地部署的Ollama运行LLaVA等视觉模型、Together.ai等。这给了你最大的灵活性。选择建议如果你是国内用户追求稳定和性价比可以从doubao或qwen开始。如果你有海外资源并且追求最佳效果gemini或openai是更好的选择。想折腾本地化就选openai-compatible。输入API密钥根据上一步的选择你需要输入对应平台的API Key。这个Key是调用AI服务的凭证。Gemini去 Google AI Studio 创建API Key。OpenAI去 OpenAI Platform 创建。豆包/千问在各自的云服务平台申请。安全提示这个密钥会以加密形式保存在你本地电脑的配置文件~/.giclaw/config.json中不会上传到任何地方。请妥善保管你的API Key避免在代码或公开场合泄露。选择浏览器Giclaw使用Playwright来驱动浏览器。你可以选择chromiumChrome内核、firefox或webkitSafari内核。对于云·原神这类Web应用chromium的兼容性最好建议默认选择它。初始化过程会自动为你下载对应的浏览器引擎。设置云游戏URL这是最关键的一步。你需要告诉Giclaw你的游戏在哪里。如果你使用云·原神官方网页版URL通常是https://cloudgenshin.mihoyo.com/。部分地区可能有不同的域名。如果你使用其他云游戏平台则输入对应的登录后可直接进入游戏的页面地址。绝对不要输入游戏官网页面的地址如米游社除非你确认该页面能直接启动云游戏。Giclaw需要的是一个能直接操作游戏画面的页面。配置数据目录默认是~/.giclaw。所有技能文件、配置文件、日志都会存在这里。除非有特殊需求否则直接按回车使用默认值即可。初始化完成后会在你的用户目录下生成一个.giclaw文件夹里面包含了所有配置和技能模板。3.3 首次运行与登录认证配置好后我们进行第一次试运行目的是完成浏览器的手动登录让Giclaw获取到有效的游戏会话。giclaw run --no-headless这个命令非常重要。--no-headless参数意味着浏览器会以有界面的模式打开你能亲眼看到整个过程。执行后会发生什么一个Chromium浏览器窗口会自动弹出并导航到你配置的云游戏URL。此时你需要像平时一样手动完成扫码或账号密码登录。确保登录成功进入游戏主界面。Giclaw在后台等待并可能尝试执行一两个内置的简单技能如检测界面但主要目的是让浏览器缓存你的登录状态通常是Cookies和LocalStorage。登录完成后你可以直接关闭这个浏览器窗口或者让Giclaw继续执行完一次测试流程。为什么必须要有这一步因为云游戏的登录往往涉及复杂的验证流程扫码、滑块、动态令牌等目前完全让AI来自动化完成是不现实且高风险的。手动登录一次浏览器会保存你的登录会话。下次Giclaw以无头模式运行时就可以直接使用这个会话无需再次登录直到会话过期。实操心得建议在首次giclaw run --no-headless时顺便把游戏内的“记住登录状态”等选项勾选上这样可以极大延长会话有效期减少需要手动登录的频率。同时观察首次运行的控制台输出看看AI是否能正确识别游戏界面这有助于提前发现配置问题。4. 技能系统深度解析从Markdown到自动化任务Giclaw最具创新性的部分之一就是它的技能系统。它没有采用传统的编写复杂TypeScript/JavaScript代码的方式而是用Markdown文件来定义一个技能。这极大地降低了创建自定义任务的门槛。4.1 技能文件结构与生命周期所有技能都存放在~/.giclaw/skills/目录下。每个技能一个文件夹文件夹里必须有一个skill.md文件。这就是技能的核心定义文件。一个技能的生命周期由几个关键阶段构成在Markdown中用特定的Frontmatter元数据块和章节来定义--- # 技能元数据 name: “我的自定义技能” description: “这是一个演示技能用于打开背包” schedule: “0 9 * * *” # 每天上午9点执行Cron表达式 enabled: true # 技能是否启用 timeout: 120000 # 技能执行超时时间毫秒 --- # 技能逻辑 ## 目标 打开游戏内的背包界面。 ## 步骤 1. 等待游戏主界面加载完成。 2. 按下键盘上的“B”键原神中默认打开背包的快捷键。 3. 等待背包界面弹出。 4. 对背包界面进行截图作为本次执行的证明。 ## 成功条件 在最终截图里能识别到“背包”标题文字。 ## 失败处理 如果超过30秒仍未检测到背包界面则记录错误并中止。技能执行引擎的工作流程如下调度Daemon守护进程根据每个技能的scheduleCron表达式决定何时触发该技能。准备引擎加载技能Markdown文件解析元数据和步骤描述。上下文注入引擎会自动将一些“通用知识”注入到给AI的提示词中。例如“这是一个云游戏界面右侧可能有一个控制侧边栏”“游戏画面被锁定在窗口中央”。这样技能描述本身就不用重复这些信息。步骤循环引擎从第一步开始循环执行 a.截图控制浏览器对当前游戏窗口截图。 b.提问将截图和当前步骤的描述如“等待游戏主界面加载完成”组合成提示词发送给AI。 c.解析与决策AI返回一个动作指令如“无需操作界面已加载完成”或“按下B键”。 d.执行引擎通过Playwright执行该动作。 e.验证根据AI的反馈或下一步的触发条件判断当前步骤是否完成然后进入下一步。结果判定所有步骤执行完毕后根据“成功条件”章节的描述进行最终验证并记录成功或失败日志。4.2 内置技能拆解与学习让我们看看项目自带的welkin-moon领取月卡技能来理解一个成熟技能是如何编写的。你可以在~/.giclaw/skills/welkin-moon/skill.md找到它初始化后可能会自带或需要从示例中复制。--- name: “welkin-moon” description: “启动云游戏并领取空月祝福的每日奖励” schedule: “0 6 * * *” # 每天凌晨6点执行此时服务器已刷新 enabled: true timeout: 300000 # 5分钟超时考虑到云游戏启动时间 --- # 领取空月祝福每日奖励 ## 目标 确保每日登录游戏并领取空月祝福月卡的90原石奖励。 ## 前置条件 - 云游戏账户已登录且时间未过期。 - 当前游戏角色位于主城或安全区域避免在战斗或副本中执行。 ## 步骤 1. **启动与加载**导航至云游戏页面并等待游戏完全加载到主界面。AI需要识别出“进入游戏”按钮或加载完成的角色站立画面。 2. **打开商城**按下键盘上的“F3”键打开商城界面。等待界面加载完成。 3. **定位月卡**在商城界面中找到“空月祝福”的图标或标签页。AI需要识别出该区域。 4. **点击领取**如果“空月祝福”界面显示有可领取的每日奖励通常是一个闪烁的“领取”按钮则点击它。 5. **确认领取**处理可能出现的领取确认弹窗如果有的话。 6. **关闭界面**领取成功后按下“ESC”键或点击关闭按钮退出商城界面返回游戏主界面。 ## 成功条件 在步骤4或步骤5的截图后AI能识别出“今日奖励已领取”或类似的提示文本并且原石数量有增加可通过对比前后截图分析或依赖AI的上下文判断。 ## 失败处理与重试 - 如果在步骤1中云游戏启动失败如网络超时等待2分钟后重试一次。 - 如果在步骤3中无法找到“空月祝福”入口可能是因为商城界面布局更新。技能将记录“界面不匹配”错误并中止等待人工检查。 - 如果步骤4中“领取”按钮不可点击已领取或未购买月卡技能将标记为“条件不满足”并正常退出不视为失败。从这个例子可以看出技能描述的核心是用自然语言定义清晰、离散的步骤。你不需要告诉AI“按钮的RGB颜色值是多少”或者“在(500, 300)坐标点击”你只需要告诉它“找到那个写着‘领取’的按钮”。剩下的视觉理解和坐标定位是AI模型和Giclaw引擎共同完成的。4.3 如何编写一个可靠的技能经验法则基于我编写和调试多个技能的经验这里有一些“避坑指南”步骤要足够“原子化”一个步骤只做一件事并且这件事是AI容易理解和验证的。比如“打开背包”是一个好步骤“打开背包并找到三星武器”就不是这应该拆成两个步骤。充分利用“前置条件”明确技能执行所需的环境可以避免很多奇怪的问题。例如指定“角色必须在主城”可以防止技能尝试在副本里打开商城这通常做不到。设计明确的成功/失败条件成功条件最好是可视化的、可被AI识别的状态变化。例如“出现‘领取成功’弹窗”比“原石数量增加”更容易被AI判断除非你额外训练AI识别数字。失败条件要考虑到网络超时、界面变更、条件未满足如月卡已领等不同情况并做分类处理。给AI足够的上下文在步骤描述中可以加入一些关键词来引导AI。例如“找到屏幕顶部的活动图标”就比“找到活动图标”更精确。你可以利用游戏内通用的UI描述词汇。超时设置要合理timeout不能太短要涵盖云游戏启动、界面加载、网络延迟等时间。对于复杂的技能设置3-5分钟是常见的。同时在步骤描述中也可以加入“等待X秒”的指令让AI在操作后等待界面稳定。善用键盘快捷键对于打开背包B、打开地图M、打开商城F3这类全局操作使用键盘快捷键比让AI寻找屏幕上的小图标更稳定、更快速。在技能步骤中直接写“按下B键”。5. 核心运行机制与AI交互剖析理解了技能怎么写我们再深入到引擎内部看看Giclaw是如何将一句句Markdown描述变成实实在在的自动化操作的。这个过程涉及两个核心模块Playwright控制器和AI视觉代理。5.1 Playwright控制器精准的“手”Playwright是微软开源的浏览器自动化工具比传统的Selenium更强大、更快。Giclaw用它来作为操控浏览器的“手”和“眼睛”。浏览器实例管理Giclaw会启动一个或多个Chromium浏览器实例。在Daemon模式下这个实例会长期保持避免每次执行技能都重新启动节省大量时间。页面控制它精准地控制浏览器页面导航、调整窗口大小以确保游戏画面在固定位置、执行点击、输入文本、按下键盘等操作。截图能力这是关键。Playwright可以高速、精准地对页面的某个区域比如游戏画面区域而非整个浏览器窗口进行截图。截图的质量和速度直接影响了AI分析的准确性。输入模拟Giclaw通过Playwright模拟的鼠标点击其坐标来源于AI返回的归一化坐标。引擎会将其转换为当前游戏画面区域内的绝对像素坐标然后执行点击。这个过程是动态计算的因此不受浏览器窗口位置或大小的影响只要游戏画面区域被正确框定。一个典型的操作循环代码如下所示概念模型// 伪代码展示逻辑 async function executeStep(stepDescription, browserPage) { // 1. 截图 const screenshotBuffer await browserPage.screenshot({ clip: gameViewport }); // 2. 构建Prompt将步骤描述、游戏上下文、历史动作等组合 const prompt buildPrompt(stepDescription, previousActions); const messages [ { role: ‘user’, content: [ { type: ‘text’, text: prompt }, { type: ‘image_url’, image_url: { url: data:image/png;base64,${screenshotBuffer.toString(‘base64’)} } } ]} ]; // 3. 调用AI视觉API const aiResponse await callAIVisionAPI(messages); // aiResponse 可能为: { “action”: “click”, “description”: “领取按钮”, “coordinates”: { “x”: 0.8, “y”: 0.5 } } // 4. 解析并执行动作 if (aiResponse.action ‘click’) { const absoluteX gameViewport.x aiResponse.coordinates.x * gameViewport.width; const absoluteY gameViewport.y aiResponse.coordinates.y * gameViewport.height; await browserPage.mouse.click(absoluteX, absoluteY); } else if (aiResponse.action ‘press_key’) { await browserPage.keyboard.press(aiResponse.key); } // ... 其他动作类型 }5.2 AI视觉代理聪明的“眼”和“脑”这是Giclaw的智能核心。它负责理解图像并做出决策。其效果很大程度上取决于提示词工程。Giclaw的提示词不是简单地把用户步骤描述扔给AI。它会组装一个结构化的系统提示词System Prompt大概包含以下部分角色定义“你是一个游戏自动化助手专门分析《原神》的游戏截图。”任务目标“你的目标是帮助用户完成‘领取月卡奖励’的任务。”上下文规则“当前游戏运行在云游戏平台画面可能被锁定在窗口中央右侧可能有控制栏。”“游戏UI语言为简体中文。”“请忽略浏览器地址栏、书签栏等非游戏区域。”动作规范“你必须用以下JSON格式回应且只包含这个JSON对象{“action”: “click”|“press_key”|“wait”|“finish”, “description”: “...”, “coordinates”: {“x”:0.5, “y”:0.5}, “key”: “B”}”当前步骤描述“第一步等待游戏主界面加载完成。请判断当前画面是否为可操作的游戏主界面通常能看到角色站立在大世界。”历史动作可选提供之前几步的截图和AI的决策帮助AI理解任务进程。通过这样精心设计的提示词我们极大地约束了AI的输出使其行为可控并将复杂的视觉场景理解问题转化为了一个结构化的动作选择问题。模型选择的影响GPT-4V / Gemini 1.5 Pro理解能力最强对复杂UI、模糊描述如“闪闪发光的按钮”的识别准确率高但API调用成本也最高速度可能稍慢。豆包/千问等国内模型性价比高响应速度快对于中文UI的识别有天然优势。但在复杂逻辑推理或非常规界面识别上可能稍逊于顶级模型。本地模型如LLaVA数据完全私有无网络延迟无使用成本。但需要较强的本地GPU资源且识别精度和速度通常低于商业API。实操心得在初期调试技能时建议使用响应速度快、成本低的模型如豆包进行频繁的测试和迭代。当技能逻辑稳定后可以换用更强大的模型如Gemini来提升在边缘情况下的成功率。同时一定要在AI返回的JSON中保留description字段这个字段记录了AI“认为”它点击了什么对于后期排查问题比如AI误点了哪里有巨大帮助。6. 高级部署与运维Daemon模式与Web面板当你完成了技能编写和测试肯定不希望每天手动在终端敲命令来运行。Giclaw提供了完整的后台运行和监控方案。6.1 以Daemon模式运行Daemon模式让Giclaw像系统服务一样在后台静默运行并根据你为每个技能设置的Cron表达式定时触发任务。启动Daemon非常简单giclaw daemon start执行后Giclaw会转入后台运行。你可以通过以下命令管理它giclaw daemon stop停止守护进程。giclaw daemon restart重启。giclaw daemon status查看运行状态和PID。giclaw daemon logs查看实时日志输出这对调试非常重要。在Daemon模式下所有技能的调度都由一个内置的调度器管理。它使用node-cron之类的库来解析Cron表达式如0 9 * * *表示每天9点并在预定时间触发相应的技能执行。6.2 终端仪表盘与Web控制面板Giclaw提供了两种方式来监控运行状态TUI仪表盘在终端中运行giclaw dashboard会启动一个基于文本的用户界面。在这里你可以实时看到所有已启用技能的状态启用/暂停。最近一次执行的结果成功/失败/跳过。下一次计划执行的时间。简单的日志流。 这对于在服务器上通过SSH进行快速状态检查非常方便。Web控制面板这是一个更强大的功能。Giclaw可以启动一个轻量级的Web服务器提供一个图形化的管理界面。giclaw panel执行后通常在浏览器中打开http://localhost:8787即可访问。Web面板通常包含以下功能技能管理以更友好的方式启用/禁用技能修改Cron表达式无需手动编辑Markdown文件。执行历史以时间线或列表形式展示所有技能的历史执行记录包括开始时间、结束时间、执行状态和详细的日志。手动触发你可以随时在面板上点击“立即执行”来手动运行某个技能而不必等待定时任务。配置管理部分面板允许你直接修改AI API Key等基础配置需谨慎。实时日志查看器带过滤和高亮功能的日志查看界面比终端TUI更强大。部署建议对于个人日常使用在本地电脑上以Daemon模式启动即可开机自启可以借助系统的启动项如macOS的launchd Linux的systemd Windows的任务计划程序来实现。如果你有一台24小时开机的NAS或小型服务器可以将Giclaw部署在上面。这样即使你的主机关机日常任务也能准时完成。在服务器上部署时Web面板的访问安全需要注意最好不要暴露在公网或者至少设置简单的密码认证。6.3 日志与故障排查自动化任务难免出错。健全的日志系统是运维的基石。Giclaw的日志通常输出到~/.giclaw/logs/目录按日期分文件存储。阅读日志的关键点找到技能执行的起点搜索技能名称如[welkin-moon]。关注AI的输入输出日志中会记录发送给AI的提示词摘要和AI返回的完整JSON。这是判断AI是否“理解”错了的核心依据。例如如果AI返回的description是“点击了关闭按钮”但实际上它点的坐标对应的是“领取按钮”那可能就是提示词描述有歧义或者AI模型能力不足。关注Playwright操作日志会记录“Clicking at (x, y)”这样的信息。你可以对照截图看这个坐标点是否在正确的位置。关注超时和错误网络错误、AI API调用失败、浏览器页面崩溃等都会有明确的错误信息。常见的故障排查思路技能一直卡在第一步可能是云游戏URL错误或者网络问题导致页面无法加载。检查giclaw run --no-headless能否手动打开页面。AI总是点击错误的位置打开Web面板或查看日志中的截图确认游戏画面区域是否被正确识别。有时浏览器插件、系统通知等会遮挡游戏画面干扰AI判断。可以尝试在无头模式下运行或者调整浏览器窗口大小和位置。“界面不匹配”错误游戏UI更新了。这是视觉AI方案固有的挑战。你需要更新技能描述可能需要在步骤描述中加入更精确的指引或者等待Giclaw社区更新通用的UI上下文描述。登录会话过期这是最常见的问题。Daemon运行几天后云游戏的登录Cookie可能会失效。解决方案是重新手动运行一次giclaw run --no-headless进行登录。更自动化的方案如检测到登录页面自动重登目前比较复杂需要更高级的AI判断。7. 安全、合规与最佳实践使用任何自动化工具尤其是涉及游戏和账户的都必须将安全和合规放在首位。1. 关于账户安全API密钥安全你的AI服务API密钥存储在本地config.json中。请勿将此文件上传到GitHub等公开仓库。游戏账户风险虽然Giclaw通过模拟真人操作视觉分析点击来工作降低了被检测为“外挂”的风险但任何自动化行为都可能违反游戏的服务条款。米哈游的《原神》用户协议中通常禁止使用任何第三方软件自动化游戏进程。使用此类工具存在账户被封禁的潜在风险。风险自担你必须清楚使用Giclaw是完全自担风险的行为。项目作者和社区不对此可能造成的账户损失负责。2. 合规使用建议节制使用仅用于完成最枯燥、最简单的每日登录和领取操作避免在高峰时段频繁运行避免执行复杂的、可能影响游戏经济系统的操作如自动刷副本、自动采集。模拟人类行为Giclaw的设计本身基于视觉和延迟比直接注入代码的脚本更接近人类操作。你可以在技能步骤中适当增加随机延迟wait让操作节奏更自然。关注官方态度留意游戏官方的公告和态度。如果官方开始严厉打击某种类型的自动化应立刻停止使用。3. 性能与成本优化模型选择对于“领取月卡”、“收邮件”这类简单任务豆包、千问等性价比高的模型完全足够无需使用昂贵的GPT-4V。截图优化可以在配置中调整截图质量和区域。只截取游戏画面核心区域降低图片大小能加快AI处理速度并降低API成本部分API按token计费图片越大token越多。调度策略将多个技能安排在同一个时间点附近执行如每天上线后一次性执行领月卡、收邮件、领纪行可以让浏览器只启动一次复用登录会话节省资源和时间。错误处理与重试在技能中设计合理的错误处理和重试逻辑。例如网络波动导致AI调用失败可以等待30秒后重试当前步骤而不是直接让整个技能失败。Giclaw这个项目为我们展示了一条非常有趣的路径如何将前沿的多模态大模型能力与经典的自动化工具结合解决一个垂直领域的实际问题。它降低了自动化任务开发的门槛从“写代码找坐标”变成了“写文档描述流程”。虽然它目前主要面向《原神》但其设计理念和架构完全可以被复用到其他游戏或Web应用的自动化场景中。如果你对AI Agent和自动化感兴趣Giclaw的代码和设计绝对值得深入研究和学习。