桌面应用RPA计算机视觉【免费下载链接】ZenlessZoneZero-OneDragon绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄项目地址https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon点击查看免费下载本篇技术指南聚焦开源项目 ZenlessZoneZero-OneDragon 中「卦象集录」trigrams_collection每日占卜玩法的自动化实现从游戏内与澄辉坪 NPC 阿朔交互的界面形态、状态流转到screen_info坐标建模、OCR 关键词分发与操作节点链的源码级实现。读完本文你将掌握该玩法传送 → 交互 → 滑动获取卦象 → 领奖确认 → 返回大世界的完整自动化链路以及它与刮刮卡、吼吼饼铺共享每日领取次数的判定原理并理解该项目画面建档文档与源码、配置文件之间的对应关系。玩法定位每日签到三选一卦象集录是《绝区零》中位于澄辉坪的每日占卜玩法与 NPC阿朔交互后打开「卦象集录」界面每日一次、无消耗属于日签类玩法。在一条龙项目中它被建模为独立的每日签到子应用与刮刮卡scratch_card六分街报刊亭、吼吼饼铺hou_hou_bakery布亚斯特城区盲盒签到共享每日一次领取次数三者三选一。源码层面每日签到应用DailySignInApp是代理运行器根据配置的selected_sign字段取出对应子应用并执行operation_node(name运行子应用, is_start_nodeTrue) def run_sub_app(self) - OperationRoundResult: sub_app_id: str self.config.selected_sign if not sub_app_id: return self.round_fail(status未选择子应用) app self.ctx.run_context.get_application( app_idsub_app_id, instance_idxself.instance_idx, group_idself.group_id, ) return self.round_by_op_result(app.execute())GUI 侧的每日签到配置弹窗正是将三者作为下拉选项供用户选择shop_options [ ConfigItem(吼吼饼铺, hou_hou_bakery), ConfigItem(卦象集录, trigrams_collection), ConfigItem(刮刮卡, scratch_card) ]应用常量定义在trigrams_collection_const.py中APP_ID trigrams_collection APP_NAME 卦象集录 DEFAULT_GROUP False PRIORITY 320 NEED_NOTIFY True其中PRIORITY 320决定了其在每日签到类应用中的调度优先级NEED_NOTIFY True表示完成会发送通知。运行记录由TrigramsCollectionRunRecord负责它继承框架的AppRunRecord并传入game_refresh_hour_offset账号级游戏刷新小时偏移从而准确判断每日边界见trigrams_collection_record.py。状态流转与操作节点链入口链路为大世界 →Transport(澄辉坪, 阿朔)到位 →interact(F, press_time0.2)→卦象集录主界面。完整子态流转如下来自画面文档子态入口出口1. 主界面interact(F)打开点「区域-获取卦象」開字图标→ 滑动态 / 已领取提示2. 滑动获取卦象主界面点获取卦象当日首次drag_to来回拖满 → 领奖确认3. 领奖确认滑动完成点「确认」→ 返回大世界4. 今日已领取终点主界面点获取卦象当日已在刮刮卡等同类领过点「确认」→ 返回大世界其中 2/3 子态滑动获取卦象 领奖确认待补当日已领取时看不到滑动流程2026-07-12 实测当日已在刮刮卡领过点获取卦象直出「今日已领取」提示。源码中的节点链TrigramsCollectionApp 用四个operation_node组成完整链路传送transport起始节点执行Transport(self.ctx, 澄辉坪, 阿朔, wait_at_lastTrue)传送到位并等待抵达见 trigrams_collection_app.py。移动交互move_and_interact传送后time.sleep(1)防止交互无效对应 issue #2405/#2395/#2328随后interact(pressTrue, press_time0.2)见 trigrams_collection_app.py。获取卦象get_trigram核心节点node_max_retry_times10基于 OCR 关键词分发见下文专节。结束后返回back_at_last执行BackToNormalWorld回到大世界见 trigrams_collection_app.py。节点间通过node_from(from_name传送)等注解建立边关系get_trigram节点还标注node_notify(whenNotifyTiming.CURRENT_DONE)在当前子节点完成后即触发通知。识别特征稳定锚点画面建档文档给出的稳定识别锚点文字「卦象集录」主界面底部红 / 黑色书法字。「開」字圆形木质主图标即区域-获取卦象图形按钮。易变特征不可作稳定锚点卦象符号环绕随机、当日状态可领 / 已领。从源码角度看get_trigram的 OCR 目标词表也正是围绕这些锚点设计见trigrams_collection_app.pytarget_word_list: list[str] [ 卦象集录, # 外层还没开卦象的时候 滑动屏幕以获取卦象, # 需要有这个词 防止画面出现已领取也匹配到领取 确认, # 获取卦象后 or 已完成同类活动 issue #1027 ]这里特意加入「滑动屏幕以获取卦象」完整词是为了防止已领取提示文案中的领取二字误匹配到不存在的滑动流程——这是 OCR 分发设计上的关键细节。可交互元素与 screen_info 建模画面文档登记的可交互元素区域-获取卦象图形按钮screen_info area 为纯坐标pc_rect 1318,298 - 1650,640中心约1484,469。「開」字圆形主图标点击触发获取卦象当日首次 → 滑动已领 → 提示。确认按钮今日已领取弹窗约950,609文字按钮OCR「确认」。左上角返回通用「返回」模板约92,22。对应的 screen_info 配置见trigrams_collection.yml它目前仅包含一个 areascreen_id: trigrams_collection screen_name: 卦象集录 app_id: trigrams_collection pc_alt: false area_list: - area_name: 区域-获取卦象 id_mark: false pc_rect: - 1318 - 298 - 1650 - 640 text: lcs_percent: 0.5 template_sub_dir: template_id: template_match_threshold: 0.7 color_range: null goto_list: []注意该 area 的text为空、template_id为空即纯坐标区域不参与模板匹配。这正是画面文档备注中analyze 无法精准匹配该 screen的根因框架的analyze流程靠 area 的 text/template 进行画面匹配纯坐标 area 只能被点击使用不能作为画面判定的依据。因此该 screen 需要依赖 OCR vision 辅助判定详见下文识别快照。代码中该 area 被点击的方式是self.round_by_click_area(卦象集录, 区域-获取卦象)即通过 screen_id area_name 定位坐标执行点击。OCR 关键词分发get_trigram 节点深入get_trigram是全程自动化的核心其执行逻辑trigrams_collection_app.pyOCR 加速优化只识别下半部分屏幕——以standard_height // 2为偏移量将 OCR 区域裁剪为Rect(0, h//2, w, h)降低识别耗时与误检offset: Point Point(0, self.ctx.controller.standard_height // 2) ocr_result_map self.ctx.ocr.crop_and_run_ocr( self.last_screenshot, Rect(0, self.ctx.controller.standard_height // 2, self.ctx.controller.standard_width, self.ctx.controller.standard_height))优先级匹配ocr_utils.match_word_list_by_priority按词表顺序匹配命中后进入对应分支命中「卦象集录」尚未开卦象的主界面若self.claim_reward已置位 → 直接round_success否则点击「区域-获取卦象」area等待 1 秒后重试。命中「滑动屏幕以获取卦象」进入滑动子态执行两次对角线drag_to往返拖满屏幕start Point(self.ctx.controller.standard_width - 100, 100) end Point(100, self.ctx.controller.standard_height - 100) self.ctx.controller.drag_to(startstart, endend, duration1) # 越慢拖动越多 self.ctx.controller.drag_to(startend, endstart, duration1)注释明确指出越慢拖动越多duration1的慢速拖拽能累积更多滑动进度这是针对该玩法的实测调优结论。命中「确认」获取卦象后领奖或已完成同类活动弹窗对应 issue #1027置位claim_reward True取 OCR 匹配框中心mrl.max.center叠加下半屏偏移后点击确认。未命中任何关键词 →round_retry(status未识别目标文本, wait1)重试直至node_max_retry_times10用尽。类内通过实例属性self.claim_reward: bool False记录是否已获取卦象在一次运行内持续跟踪状态防止重复点击。「今日已领取」终点与同类共享判定由于卦象集录、刮刮卡、吼吼饼铺共享每日一次领取次数当日若已在任一活动领取过其余活动点获取会直接弹出「今日已经完成过一次相同类型的奖励领取」提示。画面文档登记的今日已领取终点识别快照匹配画面无精准命中靠 OCR「今日已经完成过一次相同类型的奖励领取」「确认」判定。匹配 area「确认」文字 area 命中多个 screen丽都城募 / 咖啡店 / 零号空洞等is_precisefalse均匹配「确认」950,609conf 0.998——这是通用确认按钮非卦象集录专属因此不能作为画面判定的充分条件。全量 OCR今日已经完成过一次相同类型的奖励领取 / 确认 / UID。vision黑底白字提示 带绿勾「确认」按钮 全屏遮罩。同类玩法吼吼饼铺的collectOCR 分发还强调了一个坑「同类型奖励」分支必须在「确定/确认」之前判定否则弹窗自带确认被误点后会陷入关弹窗 → 回集卡机 → 再点盲盒 → 又弹窗的重试循环直至耗尽次数见吼吼饼铺.md。这也是卦象集录「确认」分支设计时参考的同类经验。识别快照档案画面文档按子态分别登记识别快照作为后续优化与回归的基准1. 主界面source_image: screens/卦象集录/主界面.webp匹配画面卦象集录screen未精准命中analyze is_precisefalse仅命中通用「返回」area靠 OCR「卦象集录」 vision「開」字图标判定。匹配 area通用「返回」左上角templateconf 0.99本 screen 的「区域-获取卦象」为纯坐标 area不参与 analyze 匹配。全量 OCR卦象集錄/卦象集录底部。vision阿朔 NPC左「開」字圆形主图标右区域-获取卦象 龟形雕塑 / 竹签筒场景道具 半透明遮罩弹窗。2. 今日已领取终点source_image: screens/卦象集录/今日已领取.webp匹配画面无精准命中靠 OCR「今日已经完成过一次相同类型的奖励领取」「确认」判定。匹配 area「确认」文字 area 命中多个 screen丽都城募 / 咖啡店 / 零号空洞等is_precisefalse均匹配「确认」950,609conf 0.998——通用确认按钮非卦象集录专属。全量 OCR今日已经完成过一次相同类型的奖励领取 / 确认 / UID。vision黑底白字提示 带绿勾「确认」按钮 全屏遮罩。已知限制与待补子态画面文档备注中明确指出当前建模的边界screen_info 现状「卦象集录」screen 只有「区域-获取卦象」一个 area纯坐标无 text / templateanalyze 无法精准匹配靠 OCR vision 辅助判定。可考虑加「卦象集录」文字 area 以提升精准匹配——这是文档作者给出的后续优化方向。与刮刮卡 / 吼吼饼铺共享「同类型奖励」每日次数当日领过任一其他点获取即出「今日已领取」提示。待补子态滑动获取卦象 领奖确认需在当日未领取时现场快照补档。从画面索引可知trigrams_collection属于已建档move/interact/drag 类用key_tapdragrun_operation Transport分解批次其建档方式与scratch_card、random_play、suibian_temple一致均依赖运行框架的传送、移动、拖拽、键盘注入能力沿途截图归档。相关文件速查画面文档docs/game/screens/卦象集录.md、docs/game/screens/吼吼饼铺.md、画面索引 docs/game/screens/README.mdscreen_info 配置assets/game_data/screen_info/trigrams_collection.yml应用实现trigrams_collection_app.py、常量 trigrams_collection_const.py工厂与记录trigrams_collection_factory.py、trigrams_collection_record.py每日签到代理与 GUI 选择daily_signin_app.py、daily_signin_setting_flyout.py同类玩法对照scratch_card_app.py、hou_hou_bakery_app.py赞分享桌面应用RPA计算机视觉【免费下载链接】ZenlessZoneZero-OneDragon绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄项目地址https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon点击查看免费下载相关推荐Turborepo 微前端本地开发代理turborepo-microfrontends-proxy实战指南路由、HTTP/WebSocket 转发与安全机制解析Turborepo 微前端本地开发代理turborepo microfrontends proxy实战指南路由、HTTP/WebSocket 转发与安全机桌面应用RPA计算机视觉绝区零一条龙游戏启动画面序列的自动化识别与跳过机制解析绝区零一条龙游戏启动画面序列的自动化识别与跳过机制解析 导读 本篇基于 ZenlessZoneZero OneDragon绝区零 一条龙开源仓库的 游戏启桌面应用RPA计算机视觉绝区零一条龙画中画PiP模式架构与实现深度解析绝区零一条龙画中画PiP模式架构与实现深度解析 导读 画中画Picture in PicturePiP模式是「绝区零 一条龙」ZenlessZon桌面应用RPA计算机视觉创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考