我開發了一套用來分析祈願卡池歷史記錄的軟體,一開啟各種數據清清楚楚,不用再手動計算啦!
本軟體原理是按下「更新資料」後會在本機啟動一個只跑在您電腦上的代理伺服器,並自動安裝一張本機產生的根憑證,藉此攔截原神 WebView 對 miHoYo 卡池歷史 API 的請求,所以要在按下更新後再到遊戲內開啟卡池歷史記錄才能攔到,取得網址後拆解參數,參數會用於 miHoYo 原神相關的 API。
第一次按下「更新資料」會加載您完整的卡池歷史,這可能需要一些時間,完成後會將資料存放在您的電腦內,這樣下次開啟軟體就不用再花時間等待資料加載。之後想取得新資料按一下「更新資料」即可,軟體會記住先前攔到的網址,能用就直接用、不用每次重新攔截;如果網址過期,軟體會請您再到遊戲開一次卡池歷史頁面以重新取得網址。
請放心:本軟體不會讀取或竄改任何遊戲檔案、記憶體與遊戲傳輸的資料,只會在 WebView 開啟卡池歷史頁面時攔下那一條請求網址,所以不會有被封鎖帳號的風險。如果有被封號,請思考您是不是其他原因被封鎖,不要怪罪我們。
文章:
- 巴哈姆特:https://forum.gamer.com.tw/C.php?bsn=36730&snA=11990
- HoYoLAB:https://www.hoyolab.com/genshin/article/552176
- 原神資訊站:https://genshininfo.reh.tw/archives/97
請協助我們將軟體翻譯成各國語言!
https://crowdin.com/project/genshin-impact-wish-gacha-analyzer
軟體在安裝或執行時有可能會被防毒軟體阻擋。原因是本軟體會自行產生並安裝一張本機根憑證、並在按下更新時短暫設定系統代理以攔截原神 WebView 的卡池歷史請求──這類行為與惡意程式相似,但本軟體只攔截 *.hoyoverse.com 上的 getGachaLog(祈願)與 getBeyondGachaLog(頌願)這兩條卡池歷史 API,且憑證只留在您的電腦。如果無法正常執行,請嘗試關閉防毒軟體後再執行看看,本軟體保證無毒。
https://github.com/GoneTone/genshin-impact-wish-gacha-analyzer/releases
- 鳴潮:https://github.com/GoneTone/wuthering-waves-convene-gacha-analyzer
- 未來可能新增支援更多遊戲...
- 啟動原神,先別開啟卡池歷史頁面。
- 開啟本軟體並按下「更新資料」,軟體會在背景啟動本機代理伺服器並等候攔截。
- 切回遊戲,到「祈願 → 歷史記錄」開啟卡池歷史頁面。
- 軟體攔到網址後會自動關閉代理、還原系統代理設定並開始抓取資料;之後想再更新只要重複步驟 2,網址未過期就會直接套用。
- 自動攔截原神 WebView 對 miHoYo 卡池歷史 API(透過本機代理伺服器與自簽根憑證),不需手動貼網址
- 支援國際服 (暫不支援中國服)
- 涵蓋 7 種卡池:角色活動祈願、武器活動祈願、集錄祈願、常駐祈願、新手祈願、活動頌願、常駐頌願
- 多帳號 (UID) 管理:自訂別名、拖曳排序、一鍵切換
- 自動合併新舊資料,不覆蓋過去記錄,不會因為官方歷史記錄過時而消失
- 總抽數及 5★ / 4★ / 3★ / 2★ 件數與占比統計
- 5★ 與 4★ 雙保底進度條,並顯示距離保底剩餘抽數
- 5★ / 4★ 平均出貨抽數統計(各卡池與整體)
- 各卡池 5★ 時間軸
- 5★ 總覽:橫向陳列抽到過的所有不重複 5★,每個附累計次數徽章、可點開詳情;各卡池頁、綜合數據頁與分享圖皆會顯示
- 各卡池最高稀有度件數比較長條圖
- 稀有度分布圓餅圖
- 類型分布圓餅圖
- 歷史記錄表格:多欄排序、模糊搜尋、稀有度與物品類型篩選、分頁
- 自動補上角色 / 武器的圖示與資料(來源:HoYoWiki):表格與時間軸都附圖示;點擊物品可查看官方插圖、描述與標籤,並一鍵跳轉 HoYoWiki
- 一鍵生成分享圖(可選深色 / 淺色主題、UID 全顯或只留前三碼遮罩),自動存檔並複製到剪貼簿
- 帳號資料匯出 / 匯入 JSON
- 雲端同步:連結您自己的 Google 帳號後,卡池記錄自動備份到您的 Google 雲端硬碟,並在多台電腦間雙向同步;刪除帳號時可勾選一併從雲端移除
- 深色 / 淺色主題切換
- 多國語言(協助翻譯)
- 可在設定開啟介面 UID 遮罩(只顯示前三碼),保護隱私
- 啟動時自動檢查新版本,也可在設定頁手動觸發
- 所有資料預設留在本機、不上傳;雲端同步為選擇性功能,啟用後也只會備份到您自己的 Google 雲端硬碟
- 目前僅支援 Windows
- Flutter SDK(最新穩定版)
- Rust toolchain(stable)
- 執行
flutter doctor,依提示補齊缺少的工具
git clone https://github.com/GoneTone/genshin-impact-wish-gacha-analyzer.git
cd genshin-impact-wish-gacha-analyzer
flutter pub getRust 會在 flutter run / flutter build 時由 rust_builder/ 的 cargokit 自動編譯,不需手動 cargo build(但需先安裝 Rust toolchain)。
flutter run -d windows雲端同步(Google 雲端硬碟備份)需要 Google OAuth 憑證。未設定時其他功能完全不受影響,僅設定頁的雲端同步區塊顯示未設定提示。
要在自己的建置啟用:
-
到 Google Cloud Console 建立專案,啟用 Google Drive API,設定 OAuth 同意畫面(scopes:
.../auth/drive.appdata與email),建立「電腦版應用程式」類型的 OAuth 用戶端。 -
在專案根目錄建立
secrets/cloud_sync_defines.json(已被 git 忽略):{ "CLOUD_SYNC_CLIENT_ID": "你的 client id", "CLOUD_SYNC_CLIENT_SECRET": "你的 client secret" } -
執行時帶入該檔(JetBrains IDE 可直接選內建的「main.dart (cloud sync)」執行設定;
build_release.ps1打包時會自動偵測):flutter run -d windows --dart-define-from-file=secrets/cloud_sync_defines.json
修改 rust/src/api/ 內的 Rust 函式後,重新產生橋接程式碼。第一次使用前先安裝 codegen 工具:
cargo install flutter_rust_bridge_codegen --version 2.12.0之後每次修改 API 都執行:
flutter_rust_bridge_codegen generate產生的檔案位於 lib/src/rust/。
flutter build windows --release輸出:build\windows\x64\runner\Release\
flutter test
cargo test --manifest-path rust/Cargo.toml






