Repository Wiki
nikkigallery/Whimbox

游戏自动化能力/对话钓鱼清洁与其他动作

本文说明 Whimbox 后端面向《无限暖暖》的自动化小功能:自动对话、自动钓鱼、自动清洁跳过,以及相关的自动采集、捕虫等动作能力。当前可用资料仅包含项目说明文档,未提供这些动作的具体 Python 实现、类、函数、识别模板、按键映射或 RPC 定义;因此本文严格区分已确认的产品能力与尚未能从源码验证的实现细节。

Purpose and Scope

本页聚焦“对话、钓鱼、清洁及其他相近的交互动作”这一能力边界,覆盖以下已由项目说明确认的范围:

  • 自动对话;
  • 自动钓鱼;
  • 自动清洁跳过;
  • 自动采集、捕虫等相近动作;
  • 这些动作在自动跑图和自动小功能中的定位;
  • 后端与奇想盒 App、游戏窗口之间的职责边界。

项目说明还确认,后端主要负责 RPC 服务、大模型调用和工具调用,当前不再提供 UI 界面。动作执行所依赖的截图、鼠标键盘模拟和图像识别属于整体运行方式的一部分,但现有材料没有给出其具体调用链。

以下内容不扩展到每日任务、路线编辑器、宏录制、自动弹琴或 AI 对话编排本身;这些能力在项目说明中作为独立功能列出。对于前端启动、奇想盒 App 配置和一条龙生命周期,请参考项目的运行说明;对于大模型 Agent、RPC 协议和路线系统,现有资料不足以形成源码级说明。

Overview

Whimbox 是一个基于大语言模型和图像识别技术、辅助游玩《无限暖暖》的 AI 智能体。动作能力的产品定位是:通过截图和模拟鼠标键盘完成游戏内的重复性交互,而不是修改游戏文件或读写游戏内存。

项目说明将能力分成两个相关层次:

  1. 自动小功能:包含自动对话、自动采集、自动钓鱼和自动清洁跳过。它们面向单项、可独立触发的游戏交互。
  2. 自动跑图中的动作:自动跑图目前支持大世界和星海,并可在路线执行过程中进行采集、捕虫、清洁和钓鱼。由此可以确认,至少在产品层面,钓鱼、清洁和采集类动作既能作为独立功能存在,也能作为跑图流程中的子动作。

“自动对话”与“自动清洁跳过”在项目说明中的表述与“自动钓鱼”不同:前者强调对话交互或跳过清洁流程,后者通常需要处理连续的游戏状态变化。但源码材料没有说明动作是否使用统一的 Action 抽象、状态机、模板匹配器或专用任务类,不能据此推断具体架构。

Architecture

根据项目结构说明,可以确认以下模块边界:

  • whimbox/action/:动作模块,项目说明明确举例包括拾取、钓鱼、战斗等;因此钓鱼动作应属于该模块的职责范围。
  • whimbox/task/:任务模块,承载各种功能脚本并供 Agent 调用;自动化动作可能由任务层组合,但具体关系没有源码证据。
  • whimbox/interaction/:交互核心模块,负责截图、操作;这是动作能力与游戏窗口之间的基础边界。
  • whimbox/ui/:游戏 UI 的识别和操作;动作是否直接依赖该模块,现有材料未明确说明。
  • whimbox/api/:OCR、YOLO 等第三方模型;项目说明确认存在这些能力,但没有指出对话、钓鱼或清洁分别使用哪一种模型。
  • whimbox/rpc_server.py:与前端通信的 RPC 服务器;由于后端不再提供 UI,外部触发路径很可能经过前端或 RPC,但具体方法名和参数未提供。
  • whimbox/agent.py:大模型 Agent;项目说明称 Agent 可通过自然语言执行已有功能,但没有给出动作注册表或工具签名。

由于当前没有可用的 Mermaid 源码引用地址,也没有实现文件内容,本文不放置未经源码验证的架构图或序列图。实现级架构图需要在取得上述模块的实际代码后补充;否则会把目录结构误当成调用关系。

能力边界与已确认行为

自动对话

项目说明在“自动小功能”中明确列出“自动对话”。这表明该能力属于可自动执行的游戏交互,而不是仅由大模型生成对话文本。现有材料没有说明:

  • 如何识别可对话对象或对话窗口;
  • 是否自动选择对话选项;
  • 是否支持连续对话、奖励领取或任务推进;
  • 使用 OCR、模板匹配、YOLO 还是固定按键;
  • 成功、超时和异常状态如何处理。

因此,能够确认的是产品能力存在,不能确认其内部算法或 API。

自动钓鱼

自动钓鱼同时出现在“自动小功能”和“自动跑图”能力列表中。它是本文中源码边界最明确的动作之一:项目结构将钓鱼列为动作模块示例,产品说明将钓鱼列为独立功能及跑图子动作。

从功能组合可以推断它至少需要与游戏交互层协作,但不能从现有材料推断具体流程,例如抛竿、等待咬钩、收线、方向控制、失败重试或完成判定。上述实现细节应以 whimbox/action/、whimbox/interaction/ 及相关任务代码为准;当前实现细节未在已提供源材料中找到。

自动清洁跳过

项目说明使用“自动清洁跳过”这一名称,而在自动跑图能力中使用“清洁”。这两个表述说明清洁既有独立的快捷处理能力,也可能作为跑图中遇到清洁交互时的动作。

“跳过”是否意味着点击跳过按钮、模拟特定按键、等待动画结束,或通过识别某个 UI 状态后继续移动,资料没有说明。不能将其描述为某一种具体机制。

自动采集与捕虫

项目说明将自动采集列入自动小功能,将自动采集、捕虫、清洁、钓鱼列入自动跑图动作。由此可确认这些能力属于同一类“跑图过程中对环境目标执行交互”的产品组合,但没有证据证明它们共享同一个接口或基类。

对于自动采集和捕虫,现有资料没有提供目标识别、距离判断、交互按键、循环策略、采集结果检测或失败恢复的实现说明。相关源码缺失时,应明确标注为待补充,而不是补写假定行为。

Core Flow

从现有项目说明能够确认的产品级流程只有以下边界:前端或 Agent 触发功能,后端负责工具调用,交互模块通过截图和鼠标键盘模拟作用于游戏;自动跑图还可能把动作作为路线执行的一部分。具体步骤、调用顺序和状态转移没有源代码支持。

独立动作的产品级生命周期

  1. 用户通过奇想盒 App 或其他已支持入口启动功能;
  2. 请求到达后端 RPC 服务,或由 Agent 将自然语言转换为功能调用;
  3. 后端调用相应的动作或任务能力;
  4. 动作通过截图和模拟鼠标键盘与游戏交互;
  5. 动作结束后向调用方返回结果或继续后续任务。

以上第 2 至第 5 步是基于项目说明中“RPC 服务、大模型调用、工具调用”以及“截图和模拟鼠标键盘”的职责描述进行的边界整理,不代表已验证的具体函数调用链。实现细节、返回值和错误分支未在现有材料中找到。

自动跑图中的动作

自动跑图目前支持大世界和星海,并包含自动采集、捕虫、清洁和钓鱼。可确认的组合关系是:路线执行能力会把这些动作纳入跑图场景。尚不能确认动作是在到达目标点后由路线脚本显式调用,还是由统一的环境检测循环自动触发;也不能确认动作完成后如何恢复移动。

运行与集成边界

项目说明确认后端已不再提供 UI,仅负责 RPC 服务、大模型调用和工具调用;奇想盒 2.0 应通过奇想盒 App 运行。对于该动作能力,这意味着:

  • 动作的用户入口不应假定为后端内置窗口;
  • 前端运行状态和后端服务之间存在集成边界;
  • 命令行一条龙模式仍要求先确保奇想盒 App 能正常运行一条龙;
  • 配置中可以选择“启动奇想盒时,自动运行一条龙”;
  • 也可以选择“一条龙结束后,关闭游戏和奇想盒”。

这些是项目级运行约束,不是某一个动作的参数。现有资料没有给出动作在 RPC 中的 endpoint、请求体、返回体、超时或取消协议。

Configuration Options

已提供材料没有列出与自动对话、钓鱼、清洁、采集或捕虫直接相关的配置键、默认值、环境变量或命令行参数。只能确认项目存在 configs/config.json,以及 configs/agent_workspace/ 用于存放 Agent 记忆;不能证明这些配置会影响本文动作。

配置项类型默认值说明
动作专用配置未知未知实现配置文件及默认值未在现有材料中找到。
configs/config.jsonJSON 配置文件未知项目结构列出该文件,但没有提供内容,不能确认其中是否包含动作配置。
Agent 记忆配置未知未知项目结构仅说明目录用途,不能确认其与动作执行的关系。

API Reference

现有材料没有公开自动对话、自动钓鱼、自动清洁、自动采集或捕虫的函数签名、RPC 方法名、参数类型、返回类型或异常类型。因此不能提供可靠的 API 参考,也不能猜测接口。

以下信息可以确认但不足以构成 API 签名:

  • whimbox/rpc_server.py 是与前端通信的 RPC 服务器;
  • whimbox/agent.py 是大模型 Agent;
  • whimbox/task/ 中的功能脚本可供 Agent 调用;
  • whimbox/action/ 是动作模块。

要补全 API 参考,需要读取 RPC 注册代码、动作实现、任务入口以及调用方测试或前端协议定义。

Failure Modes, Edge Cases and Concurrency

已确认的运行限制

项目说明明确指出:

  • 仅支持 Python 3.12;
  • 当前仅支持标准 16:9 分辨率运行的游戏;
  • 游戏本身消耗大量 PC 性能,图像识别还会额外消耗性能;
  • 目前仅支持中高配 PC;
  • Whimbox 不修改游戏文件、不读写游戏内存,只进行截图和模拟鼠标键盘;
  • 使用工具导致的一切后果由使用者自行承担。

这些限制会直接影响本文动作的可靠运行,尤其是依赖图像识别和屏幕坐标的交互。资料没有给出动作级别的超时、重试、取消、互斥锁、并发策略或异常恢复。

未能验证的边界行为

以下项目级问题在当前源材料中没有答案:

  • 同时触发自动对话和自动钓鱼时是否拒绝并发;
  • 动作执行期间是否允许路线移动或其他任务抢占输入;
  • 游戏窗口失焦时如何处理;
  • 分辨率不符合 16:9 时是拒绝启动还是识别失败;
  • 识别不到目标时是否重试、跳过或上报错误;
  • 游戏状态改变后如何取消动作;
  • 一条龙结束时正在执行的动作如何停止。

这些问题必须以实现代码和测试为依据,不能从 README 的功能列表推导结论。

Performance and Operational Considerations

动作能力的主要已知性能因素是截图、图像识别以及游戏本身的资源消耗。项目说明明确建议使用中高配 PC,并指出图像识别会额外消耗性能。因而部署和排障时至少应关注:游戏与后端是否同时运行、屏幕分辨率是否符合要求、机器性能是否满足要求,以及奇想盒 App 与后端 RPC 是否均已正常启动。

项目还说明未来计划包括“大模型能力扩展:脚本运行异常,大模型接管进行纠错”。这说明当前“脚本异常后由大模型接管纠错”是计划能力,而不是本文可以当作现有保证记录的行为。

Extension Points

从项目结构看,动作相关的潜在扩展位置包括 whimbox/action/、whimbox/task/、whimbox/interaction/ 和 whimbox/ui/。但目录名只能说明模块职责方向,不能证明具体扩展接口、基类或注册机制。

新增动作前,应先确认以下源码事实:动作是由任务脚本直接调用,还是通过统一工具注册;输入控制是否集中在交互层;UI 识别是否复用现有识别组件;Agent 是否需要额外的工具描述;RPC 是否需要增加前端可见的方法。当前材料没有提供这些答案。

Tests and Verification

已提供材料没有列出测试文件、测试用例或 CI 配置,因此无法确认自动对话、钓鱼、清洁、采集和捕虫的测试覆盖率,也无法声称某些边界行为已被保证。

在缺少源码测试的情况下,运行验证至少应遵守项目已声明的前提:使用 Python 3.12、标准 16:9 分辨率、中高配 PC,并先通过奇想盒 App 验证一条龙能够正常运行。上述是项目运行说明中的操作前提,不是动作级自动化测试替代品。

Source Availability Note

本页基于任务中提供的项目说明摘录生成。当前上下文没有提供可读取的仓库源文件,也没有提供运行时 File Reference Base URL,因此无法添加源码行号链接或真实代码示例;根据要求,本文没有伪造代码、API 签名、调用关系或实现细节。取得 whimbox/action/、whimbox/task/、whimbox/interaction/、whimbox/ui/、RPC 注册和测试源码后,应补充具体类、函数、状态机、错误处理、配置键、调用序列图和带行号的源码引用。

Sources

(1 files)