自动对局策略分析

बनाया गया: 2 फ़रवरी 2025

का उपयोग करके उत्तर दिया गया O3 Mini High द्वारा Chat01

प्रश्न

我想在iPhone手机上实现这样一个功能,王者荣耀对局进入加载界面后,自动截图,然后识别出当前双方阵容英雄名称,然后将名称传给gptAPP,然后App对阵容策略进行分析,将分析好的策略再读出来,你能理解我的意思吗?

विचार

Identifying the challenge

The user seeks to automate a function on iPhone: capture a screenshot in 'Honor of Kings', recognize hero names, send them to a GPT app for strategic analysis, and have the strategy read aloud.

Confirming understanding

I’m gathering info on a feature for iPhone: automate screenshots, identify hero names, send to GPT app for strategic analysis, and read aloud the strategy.

Reasoned about iPhone自动截图与策略分析,持续 5 秒

उत्तर

是的,我完全理解你的意思。你希望在 iPhone 上实现这样一个流程:

  1. 自动截图:当《王者荣耀》进入加载界面时,自动捕捉当前屏幕的图像。
  2. 图像识别:对截图进行图像识别,提取出双方阵容中每个英雄的名称(可能需要用到 OCR 或更专业的图像识别算法)。
  3. 数据传递:将识别出的英雄名称传递给集成 GPT 的应用。
  4. 策略分析:利用 GPT 对阵容进行策略分析,给出针对双方阵容的建议。
  5. 语音播报:最后将分析得到的策略通过语音合成的方式读出来。

你是希望了解如何实现这个整体方案,还是遇到了某个环节的问题呢?请告诉我你的具体需求,我可以进一步提供建议或帮助。

प्रश्न

我不知道怎么实现各个环节,教我用iPhone的快捷指令功能实现,教程要具体到每一次点击操作以及点击后出现的界面

विचार

Creating a script

I’m constructing an iPhone Shortcuts script to automate actions: capturing screenshots, using OCR to extract hero names, redirecting data to GPT for analysis, and reading out the strategy.

Navigating iOS constraints

I’m mapping out iOS Shortcuts for tasks like auto screenshots. iOS limits automations with full-screen games and privacy settings, making some features impractical without manual assistance.

Assessing automation options

iOS Shortcuts can detect screenshots but can't automatically capture another app's interface. User confirmation is needed, which introduces a hands-on element.

Balancing automation

I’m thinking through iPhone Shortcuts for game automation: launching, screenshot capture, OCR with "Scan Text," hero name recognition with "Text" or regex, and sending results to GPT for analysis.

Navigating API calls

I’m outlining steps to integrate GPT API using "Get Contents of URL" with POST request and API keys, ensuring secure backend management. Testing the flow before finalizing.

Mapping out automation

I’m detailing how to set up a manual Shortcut for after the screenshot or an app-open triggered automation, including clear steps and screenshots for each screen interface.

Enhancing automation

I’m noting the steps: setting up automation, using "Wait" for game load, and exploring "Scan Text" for OCR. "Get Latest Screenshot" might streamline image retrieval.

Mapping the process

I’m listing steps for automation: using "Take Screenshot", extracting text with "Recognize Text" action, then sending it to GPT API via "Get Contents of URL".

Crafting the API call

I'm piecing together a JSON for the GPT API, including request method, headers, and endpoint. This setup effectively analyzes text from the screenshot, like strategizing for 王者荣耀.

Integrating GPT API

I’m streamlining the workflow by adding "Speak Text" action to transform the GPT analysis into spoken words, enhancing the automation for a more engaging experience.

Setting up the request

I'm organizing the URL, method, headers, and JSON body. Adding "Get Dictionary Value" will help extract the response text for further action.

Extracting insights

I’m detailing steps to extract the first element from GPT JSON, followed by examining "message" and "content" fields. Additionally, I’m presenting options for displaying or announcing the analysis results.

Laying out the options

I’m mapping out steps to capture a screenshot of 王者荣耀, followed by a 5-second delay to allow the game to load properly before proceeding with the next actions.

Taking a closer look

I’m detailing the steps, including configuring the GPT API, setting headers, and adjusting the request method to POST. Each section builds on the previous to ensure a comprehensive setup.

Finalizing the setup

I'm adding API keys, selecting JSON for Request Body, and populating 'model' and 'messages' fields with specific values. This completes the integration for GPT API.

Extracting and refining

First, I’m retrieving the 'choices' array. Then, I’m pulling the 'message' and 'content' fields to finalize the GPT analysis result. Next, I’ll integrate speech functionality.

Mapping the process

I’m adding 'Speak Text' for GPT output. Next, I might show a notification or disable 'Ask Before Running'. Finally, I’ll save and adjust permissions.

Reasoned about iPhone快捷指令实现方式,持续 24 秒

उत्तर

下面给出一个基于 iOS “快捷指令”应用的示例教程,帮助你搭建这样一个自动化流程。请注意,由于 iOS 的安全限制与权限管理,部分步骤(例如自动截屏和后台调用某些功能)可能需要你在运行时确认或调整权限;另外,不同 iOS 版本的界面可能略有不同,下面的说明基于 iOS 16 及以上版本的“快捷指令”界面。

温馨提示:

  1. 王者荣耀属于全屏游戏,系统可能不允许在游戏运行时自动截屏或后台调用“快捷指令”,所以建议你测试时先用其他可见界面代替,确认各步骤功能正常。
  2. OCR(文本识别)效果受截图质量影响;
  3. 调用 GPT 接口需要你有 OpenAI API 密钥,且网络请求成功。

下面详细介绍每一步操作,包括每次点击和出现的界面内容。


【步骤 1:创建一个“个人自动化”】

  1. 打开“快捷指令”应用。
    在主屏幕找到“快捷指令”图标并点击打开。进入后默认会显示“我的快捷指令”页面。

  2. 切换到“自动化”标签。
    在屏幕下方会有三个标签:“快捷指令”、“自动化”、“图库”。点击中间的【自动化】。

  3. 新建自动化。

    • 如果你之前没有创建过自动化,会看到一个 “创建个人自动化” 按钮,直接点击它;
    • 如果已有自动化,则点击右上角的“+”号,然后选择“创建个人自动化”。
  4. 选择触发条件——App。
    在“新建自动化”页面下,向下滑动找到并点击【App】这一项。

  5. 设置 App 触发条件。

    • 在“当下列 App 打开或关闭时”页面,点击【选择】(或“Choose”)按钮。
    • 在弹出的应用列表中,向下滚动找到并点击【王者荣耀】(如果列表中没有,可以搜索“王者”关键字)。
    • 选定后,页面上会显示“王者荣耀”已被选中,点击右上角的【完成】。
    • 接下来,在界面中会显示“触发”选项,选择【打开】(也就是“App 被打开时”)。
    • 最后点击右上角的【下一步】。

【步骤 2:添加自动化动作】

现在我们开始添加各个环节的动作,按照执行顺序逐一添加。

2.1 添加截屏动作

  1. 在“添加动作”页面上方的搜索框内输入“截屏”或“Take Screenshot”。
  2. 在搜索结果中,点击【截屏】(Take Screenshot)动作。
    • 该动作会自动截取当前屏幕,并将图片作为输出传递给下一步。

2.2 添加等待动作(给截屏后的画面留点时间)

  1. 在截屏动作下方点击【添加动作】(或点击“+”图标)。
  2. 在搜索框输入“等待”或“Wait”。
  3. 点击【等待】动作。
  4. 在动作框内,点击数字(默认可能显示为 1 秒),将时间修改为 5 秒(你也可以根据实际情况调整)。
    • 这一步可以让游戏加载画面稳定下来,以便截取到正确的阵容信息。

2.3 添加文本识别(OCR)动作

  1. 再次点击【添加动作】。
  2. 在搜索框输入“识别文本”或“Recognize Text”。
  3. 在搜索结果中选择【识别图像中的文本】(名称可能为“扫描文本”或“识别图像文本”)。
  4. 该动作默认使用上一步的输出(即截屏图片)作为输入。如果没有自动连接,可以在动作内点击“图像”变量,选择【截屏】的输出。
    • 这一步会将截屏中的文字识别出来,返回一段文本。

2.4 调用 GPT 接口进行策略分析

注意: 这里我们使用 OpenAI 的 ChatGPT 接口(例如 gpt-3.5-turbo 模型)。请确保你已申请 API 密钥。

  1. 点击【添加动作】。

  2. 在搜索框中输入“获取内容”或“Get Contents of URL”。

  3. 选择【获取 URL 的内容】动作。

  4. 在该动作中,点击显示的 “URL” 字段,然后输入:

    https://api.openai.com/v1/chat/completions
    
  5. 接下来,点击动作框内显示的【显示更多】(Show More)以展开更多设置。

  6. 设置请求方法:

    • 点击【方法】(Method)字段,选择【POST】。
  7. 添加请求头:

    • 点击【请求头】(Headers)旁的【添加新字段】(Add new field)。
    • 在【键】(Key)中输入:Content-Type,在【值】(Value)中输入:application/json
    • 再次点击【添加新字段】,在【键】中输入:Authorization,在【值】中输入:Bearer YOUR_API_KEY
      (请将 YOUR_API_KEY 替换为你自己的 OpenAI API 密钥)。
  8. 设置请求体为 JSON 格式:

    • 在【请求体】(Request Body)部分,点击默认显示的“文本”或“Form”选项,选择【JSON】。
  9. 构造 JSON 数据:
    你需要添加两个字段:modelmessages

    • 点击【添加新字段】:
      • 键(Key):model
      • 值(Value):输入 gpt-3.5-turbo(不加引号即可)
    • 再点击【添加新字段】:
      • 键(Key):messages
      • 值(Value):这里需要选择【列表】(List)类型。点击字段右侧选择【列表】。
      • 在列表中添加一项:点击列表内的【添加新项】,选择【字典】。
        • 在新建字典中:
          1. 点击【添加新字段】,在【键】中输入 role,在【值】中输入 user
          2. 再点击【添加新字段】,在【键】中输入 content
            • 在【值】中输入如下内容:
              请根据以下王者荣耀阵容给出对局策略:
              
            • 接着,在值编辑框中,点击屏幕右侧出现的【变量】按钮(通常为魔术变量图标),在弹出的列表中选择【识别图像中的文本】的输出变量(也可能显示为“识别文本”或类似名称)。这样最终内容会变为:
              请根据以下王者荣耀阵容给出对局策略:<识别出的文本>
              
    • 编辑完成后,点击【完成】返回。

2.5 解析 GPT 接口返回的数据

GPT 接口返回的数据通常是 JSON 格式,结构类似如下:

json
{ "choices": [ { "message": { "role": "assistant", "content": "这里是策略分析结果……" }, ... } ], ... }

我们需要依次提取:

  • 首先获取 choices 字段(列表),
  • 然后取该列表的【第一个项目】,
  • 接着获取该项目中的 message 字段,
  • 最后获取 content 字段作为最终的策略文本。

具体操作:

  1. 提取“choices”:

    • 点击【添加动作】,在搜索框输入“获取字典值”(Get Dictionary Value)。
    • 选择该动作,并确保输入为上一步“获取 URL 的内容”动作的输出。
    • 在【键】字段中输入:choices
  2. 获取列表中的第一项:

    • 点击【添加动作】,搜索“获取列表中的项目”(Get Item from List)。
    • 选择该动作,并将输入设置为上一步的输出。
    • 在动作设置中选择【第一项】(通常在列表中选择“第一个项目”,或将索引设为 1)。
  3. 提取字典中的“message”:

    • 点击【添加动作】,再次搜索“获取字典值”。
    • 在【键】字段中输入:message
  4. 提取“message”字典中的“content”:

    • 点击【添加动作】,继续搜索“获取字典值”。
    • 在【键】字段中输入:content
    • 此时,这一步的输出即为 GPT 返回的策略文本。

2.6 添加朗读动作

  1. 点击【添加动作】,在搜索框输入“朗读文本”(Speak Text)。
  2. 选择【朗读文本】动作。
  3. 动作的输入默认使用上一步的输出(即 GPT 策略文本),如果没有自动连接,请点击动作内的【变量】图标,选择上一步“获取字典值(content)”的输出。
  4. (可选)点击【朗读文本】动作右侧的设置图标,调整语速、语音等参数。

2.7 (可选)添加显示通知

如果你希望在朗读前显示文本,可以添加一个【显示通知】动作。

  1. 点击【添加动作】,在搜索框输入“显示通知”(Show Notification)。
  2. 选择该动作,并将通知内容设置为 GPT 策略文本(同样用变量方式引入上一步的输出)。

【步骤 3:保存与测试自动化】

  1. 完成所有动作后,点击右上角的【下一步】按钮。
  2. 在“完成自动化”页面,会显示一个运行预览和所有动作的列表。
  3. 关闭“运行前询问”开关(如果你希望自动执行而不提示的话)。系统可能会提示“如果关闭询问,将无法在自动化运行前确认”,点击【不询问】。
  4. 最后点击右上角的【完成】保存自动化。

【使用说明与测试】

  1. 测试自动化时:

    • 退出快捷指令后,打开 王者荣耀 应用,自动化应该会触发。
    • 截屏、等待、OCR 识别、调用 GPT 接口以及朗读动作会依次执行。
    • 由于游戏全屏及系统安全机制,部分动作(如截屏)可能会弹出确认框,请按提示操作。
  2. 调试建议:

    • 初次测试时,可以用“快捷指令”中的【运行】按钮手动触发该自动化,这样你可以看到各个动作的运行情况。
    • 如果识别出的文本不准确,可以尝试调整等待时间或优化截屏时机;
    • 调用 GPT API 的请求体 JSON 格式要求必须严格,建议复制粘贴时仔细核对键和值的输入是否正确。

通过上述详细步骤,你就可以在 iPhone 上利用“快捷指令”实现:

  1. 游戏加载时自动截屏;
  2. 对截图进行 OCR 识别,提取双方阵容英雄名称;
  3. 将识别文本发送给 GPT 接口进行策略分析;
  4. 最终将分析结果通过语音朗读出来。

如果在操作过程中遇到问题,可以逐步检查每个动作的输出(“快捷指令”支持在每个动作后点击变量查看数据),或尝试用其他测试图片确认 OCR 及 API 请求部分是否正常。希望这个教程能帮到你!

इस प्रश्नोत्तर को साझा करें