explaingit

irisrainbowneko/genshin_auto_fish

4,770PythonAudience · vibe coderComplexity · 3/5Setup · moderate

TLDR

An AI bot that automatically plays the fishing mini-game in Genshin Impact using computer vision to spot fish and reinforcement learning to decide when to click, no player input needed.

Mindmap

mindmap
  root((genshin auto fish))
    What it does
      Auto-fishes in Genshin Impact
      No manual input needed
      Runs in background
    AI Models
      YOLOX object detection
      DQN reinforcement learning
      Transfer from simulation
    Setup
      Python and Anaconda
      4 pretrained weight files
      Optional GPU
    Tech Stack
      Python
      YOLOX
      DQN
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automate Genshin Impact fishing so the game plays itself while you do something else

USE CASE 2

Learn how to combine object detection and reinforcement learning for game automation

USE CASE 3

Use the built-in simulation environment to retrain the DQN without repeatedly playing the game

Tech stack

PythonYOLOXDQNAnaconda

Getting it running

Difficulty · moderate Time to first run · 30min

Requires downloading 4 pretrained weight files separately and launching with administrator privileges.

In plain English

This project is an AI bot that automatically plays the fishing mini-game in Genshin Impact, a popular action role-playing game. Fishing in the game requires watching a moving indicator and clicking at the right moment to keep it within a target zone, a repetitive task that this bot handles without any player input. The bot is built from two AI models working together. The first is YOLOX, an object detection model that watches the screen and identifies where fish are, what type they are, and where the bobber lands in the water. The second is DQN, a reinforcement learning model that decides when and how hard to click based on the current state of the fishing indicator. Reinforcement learning means the model learned by trial and error, receiving a reward signal when the indicator stayed in the correct zone and adjusting its behavior over time to do better. To avoid the slowness of training directly inside the game, the author first built a simulation environment that roughly mimics the fishing mechanics, trained the DQN model there, and then transferred the trained model into the actual game. This approach is called transfer learning. The object detection component was trained using a semi-supervised method to reduce the number of images that needed manual labels. Running the bot requires downloading four pretrained weight files and launching a Python script with administrator privileges. Once started, the user presses a key and the bot takes over, running entirely in the background while Genshin Impact plays in fullscreen. GPU acceleration is optional but speeds things up. The README is written primarily in Chinese and includes step-by-step setup instructions using Anaconda for the Python environment.

Copy-paste prompts

Prompt 1
I downloaded the 4 weight files for genshin_auto_fish and set up Anaconda. Walk me through the exact commands to launch the bot and start auto-fishing in Genshin Impact.
Prompt 2
The genshin_auto_fish bot is not detecting the bobber on my screen. How do I check whether YOLOX is finding the right region and what config values should I adjust?
Prompt 3
I want to retrain the DQN model in genshin_auto_fish using its built-in simulation environment. Which file do I edit and what reward signal controls how aggressively it clicks?
Prompt 4
Explain how transfer learning works in genshin_auto_fish, how does training in a simulation translate to working inside the actual Genshin Impact client?
Open on GitHub → Explain another repo

← irisrainbowneko on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.