Skip to content

this-Fish/BetterGI-Log-Floating-Window

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BetterGI日志悬浮窗

一个为 BetterGI 设计的透明悬浮日志查看器,实时显示游戏日志信息。

  • 作者:蜜柑魚
  • 版本:1.4.3
  • 适配 BetterGI 0.58.0

⚠️ 重要提示⚠️

首次使用前,请务必仔细阅读文档

主要功能

  • 实时日志监控,自动检测和切换日志文件
  • 智能任务识别,显示当前任务与配置组
  • 进度跟踪,支持部分 JS 脚本
    • BGI本体 的 一条龙运行进度
    • CD-Aware-AutoGather - 带CD管理的自动采集
    • 采集cd管理 - 采集cd管理
    • AutoFriendshipFight - 战斗好感:自动好感度&卡时间
    • AutoHoeingOneDragon - 锄地一条龙
    • AutoFishingTeyvat - 提瓦特自动钓鱼(全流程+自选)
    • AbundantOre - 矿产资源批发
    • AutoWoodcutting-Pathing - 自动伐木-地图追踪版
    • 自动购买商品 - 自动购买商品
  • 高频切换警告
  • 可选调试日志过滤
  • 日志级别颜色区分 - 支持 DBG/ERR/WRN 级别的不同颜色显示
  • 双样式支持(用户样式 + 第二样式)
  • 透明悬浮窗口,可拖拽移动
  • 自适应高度 - 根据内容自动调整窗口高度
  • 自动换行 - 支持长文本自动换行显示
  • 独立透明模式与不可选中模式 - 可分别控制透明背景和鼠标穿透
  • 日志同步功能 - 将日志自动备份到指定目录,方便跨设备查看(如同步到云端目录,通过手机查看日志)

快速开始

  1. 确保BetterGI日志悬浮窗.execonfig.txt文件放在同一目录下
  2. 打开 config.txt 文件
  3. 找到并设置 log_path 配置项,修改为您的BetterGI日志目录实际路径
  4. 设置正确的BetterGI日志目录路径(修改为您的实际路径)
  • 示例配置:
    # 请修改为您的BetterGI日志实际目录路径
    log_path=C:\Program Files\BetterGI\log
  1. 保存配置文件
  2. 右键点击 BetterGI日志悬浮窗.exe,选择"以管理员身份运行"(确保全局快捷键正常工作)
  3. 使用快捷键操作窗口(见下方操作说明)

如果程序启动后显示"日志路径配置错误",请按照上述步骤检查配置。

快捷键

快捷键 功能说明
P 窗口内隐藏/显示日志悬浮窗
Alt+P 关闭程序
Alt+U 重置窗口位置到预设位置
Alt+I 切换透明背景模式
Alt+N 切换不可选中模式(鼠标穿透)
Alt+K 切换仿BGI日志窗口样式

关于快捷键的重要说明

  • 全局快捷键:需要管理员权限才能正常工作
    • 建议右键点击程序,选择"以管理员身份运行"
    • 全局快捷键在任何情况下都能响应,即使窗口不在焦点状态
  • 窗口内快捷键:当全局快捷键不可用时自动启用
    • 不需要管理员权限
    • 只有在窗口获得焦点时才有效
  • 推荐使用:以管理员身份运行以获得完整的全局快捷键体验

P键功能说明

  • 只在窗口内生效:需要先点击窗口获得焦点
  • 功能:暂时停用日志刷新,窗口最小化显示停用状态
  • 用途:临时隐藏窗口但保持程序运行,需要时按P键恢复

使用说明

首次使用

  1. 编辑 config.txt 文件,设置正确的 log_path
  2. 根据需要调整其他配置选项
  3. 右键点击程序,选择"以管理员身份运行"(确保全局快捷键正常工作)
  4. 运行程序,窗口将显示在预设位置

日志同步功能(備份到指定位置)

  • 主要用途:将日志文件同步到指定目录(如云端同步目录),方便通过手机或其他设备远程查看日志

  • 启用同步:在 config.txt 中设置 backup_path 为需要同步的目录路径(如Dropbox、Google Drive、OneDrive等云端同步目录)

  • 同步间隔:通过 backup_interval 设置同步频率(分钟)

  • 保留天数:通过 backup_keep_days 设置同步文件保留时间

  • 调试模式:设置 backup_debug=true 可在启动时立即执行一次同步 准点备份模式: 当 backup_align_to_clock=true 时,备份将在整点分钟对齐执行(例如间隔5分钟,则在0、5、10…分钟时备份)。
    仅支持间隔为60的约数(1、2、3、4、5、6、10、12、15、20、30、60分钟),其他间隔将自动切换为相对时间模式。

  • 典型应用场景

    1. 将日志同步到OneDrive/Dropbox目录
    2. 通过手机App访问云端日志文件
    3. 远程监控游戏运行状态和任务进度

透明模式

  • Alt+I 进入透明背景模式,仅显示文字
  • 再次按 Alt+I 退出透明模式
  • 在透明模式下,窗口背景完全透明,只有文字可见
  • 透明模式与不可选中模式相互独立,可分别控制

不可选中模式

  • Alt+N 进入不可选中模式(鼠标穿透)
  • 再次按 Alt+N 退出不可选中模式
  • 在不可选中模式下,鼠标事件会穿透窗口,无法拖动和选中窗口
  • 不可选中模式与透明模式相互独立,可分别控制

第二样式

  • Alt+K 切换第二样式
  • 第二样式的所有参数可在config.txt的 [第二样式配置段] 中自定义
  • 再次按 Alt+K 恢复用户自定义样式

调试日志过滤

  • config.txt 中设置 skip_debug_log=true 可跳过调试日志显示
  • 默认值为 false,显示所有日志包括调试信息
  • 启用后只显示重要日志([INF], [WRN], [ERR]等),过滤掉[DBG]调试日志
  • 使界面更简洁,专注于重要操作信息

自动换行功能

  • config.txt 中设置 auto_wrap=true 启用自动换行
  • 默认值:主样式为 false,第二样式为 true
  • 启用后长文本会自动换行,并在新行开头添加缩进"  "(两个全角空格)
  • 配合 max_width 配置项控制换行宽度

自适应高度

  • config.txt 中设置 dynamic_height=true 启用自适应高度
  • 默认值为 false,使用固定高度
  • 启用后窗口高度会根据日志内容自动调整
  • 最大高度受 max_height 配置限制

窗口管理

  • 拖动:鼠标左键拖动窗口任意位置移动(不可选中模式下不可拖动)
  • 重置位置:按 Alt+U 重置窗口到预设位置
  • 关闭程序:按 Alt+P 安全关闭程序

配置文件详解

⚠️ 配置文件重要注意事项

请勿随意删除config.txt中的配置项!

  • 保留所有配置段:配置文件包含多个配置段([基本设置段][主样式段][第二样式配置段][程序自动管理配置段]),每个段都有特定用途
  • 程序自动管理配置[程序自动管理配置段] 中的配置由程序自动更新,手动修改可能被覆盖
  • 注释说明:以 # 开头的行是注释说明,修改配置时请保留这些说明以便后续参考
  • 备份配置:在对配置进行重大修改前,建议备份config.txt文件

配置项关联说明

自动换行、自适应高度与最大高度的关系

这三个配置项共同控制窗口的显示效果:

# 自动换行控制文本显示方式
auto_wrap=false             # 关闭时文本不换行,可能产生水平滚动条
auto_wrap=true              # 开启时文本自动换行,保持宽度固定

# 自适应高度控制窗口高度行为
dynamic_height=false        # 关闭时使用固定高度(max_height)
dynamic_height=true         # 开启时根据内容自动调整高度

# 最大高度限制自适应高度的上限
max_height=768              # 窗口的最大高度限制

配置组合效果:

  1. 自动换行关闭 + 自适应高度关闭

    • 窗口固定尺寸,文本可能被截断或产生滚动条
    • 适合需要固定窗口大小的场景
  2. 自动换行开启 + 自适应高度关闭

    • 文本自动换行,窗口高度固定
    • 适合需要阅读长文本但保持窗口大小不变的场景
  3. 自动换行关闭 + 自适应高度开启

    • 文本不换行,窗口高度根据内容行数调整
    • 适合显示结构化数据,保持每行完整性的场景
  4. 自动换行开启 + 自适应高度开启推荐配置

    • 文本自动换行,窗口高度根据实际内容调整
    • 提供最佳的阅读体验,自动适应不同长度的日志内容

基本设置段 [基本设置段]

log_path=C:\BetterGI\log                    # 日志文件目录路径(必须设置)
log_filename_prefix=better-genshin-impact   # 日志文件名前缀
initial_x=0                                 # 窗口预设X坐标
initial_y=0                                 # 窗口预设Y坐标
skip_debug_log=false                        # 是否跳过调试日志
dynamic_height=true                         # 是否启用自适应高度
# 日志同步功能配置(用于将日志备份到指定位置,如云端目录)
backup_path=C:\Users\YourName\OneDrive\BetterGI_Logs  # 同步目录路径(推荐设置为云端同步目录)
backup_interval=30                          # 同步间隔(分钟,建议30-60分钟)
backup_keep_days=7                          # 保留最近多少天的同步文件
backup_debug=false                          # 调试开关:程序启动时立即同步一次
# 是否启用准点备份(true-按整点分钟对齐,false-相对时间模式)
backup_align_to_clock=false

主样式段 [主样式段]

window_alpha=0.7                            # 窗口透明度 (0.1-1.0)
bg_color=#000000                            # 窗口背景颜色
normal_color=#00FF00                        # 正常状态文字颜色
stale_color=#FF0000                         # 超时警告文字颜色
high_freq_color=#FFA500                     # 高频切换警告文字颜色
debug_color=#808080                         # DBG级别日志文字颜色(灰色)
error_color=#FF6B6B                         # ERR级别日志文字颜色(浅红色)
warning_color=#FFD700                       # WRN级别日志文字颜色(浅黄色)
status_header_color=#87CEFA                  # 状态行标题颜色
task_header_color=#87CEFA                    # 任务行标题颜色
font_name=Consolas                          # 字体名称
font_size=11                                # 字体大小
font_weight=bold                            # 字体粗细
max_width=500                               # 窗口最大宽度
max_height=600                              # 窗口最大高度
display_lines=15                            # 日志记录显示行数
refresh_interval=1000                       # 窗口刷新间隔(毫秒)
auto_wrap=false                             # 是否启用自动换行

第二样式配置段 [第二样式配置段]

# 第二样式的所有配置项,结构与主样式段相同
# 按 Alt+K 切换到此样式

程序自动管理配置段 [程序自动管理配置段]

# 注意:以下配置由程序自动管理,请勿手动修改
# 手动修改的值可能在程序运行时被覆盖
transparent_mode=false      # 透明背景模式状态
click_through=false         # 不可选中模式状态(鼠标穿透)
author_style2=true          # 第二样式启用状态
window_x=                   # 窗口记忆位置X坐标
window_y=                   # 窗口记忆位置Y坐标

📱 云端日志查看方案示例

方案一:Google Drive

  1. 设置同步目录

    backup_path=C:\Users\YourName\Google Drive\BetterGI_Logs
  2. 手机端查看

故障排除

常见问题

Q: 窗口显示"日志路径配置错误"

  • A: 检查 config.txt 中的 log_path 配置是否正确指向 BetterGI 日志目录

Q: 第二样式切换后显示异常

  • A: 检查 [第二样式配置段] 中的配置值是否正确

Q: 窗口位置不保存

  • A:
    • 确保程序有写入 config.txt 文件的权限
    • 使用 Alt+P 关闭程序(正常关闭会保存位置)

Q: 字体显示异常

  • A: 检查 font_name 配置的字体在系统中是否可用

Q: 透明模式文字看不清

  • A: 调整 normal_color 颜色配置,使用更醒目的颜色

Q: 字体显示异常

  • A: 确保系统中安装了配置的字体,或更改为系统已有字体

Q: BetterGI日志悬浮窗.exe被防病毒软件拦截

  • A:
    • 方案一:添加白名单
      • 将BetterGI日志悬浮窗.exe文件添加到防病毒软件的白名单中
    • 方案二:下载python
      • 安装keyboard 库
      • 运行main.py

Q: 跳过调试日志功能无效

  • A:
    • 检查 config.txt 中的 skip_debug_log 配置值是否正确
    • 确保配置值为 truefalse(小写)
    • 重启程序使配置生效

Q: 快捷键不起作用

  • A:
    • 全局快捷键问题
      • 确保以管理员身份运行程序
      • 检查是否安装了keyboard库(如果使用源码运行)
    • 窗口内快捷键问题
      • 确保窗口获得焦点(点击一下窗口)
      • 检查是否有其他程序占用了相同的快捷键

Q: 日志级别颜色不显示

  • A:
    • 检查配置文件中 debug_colorerror_colorwarning_color 配置项
    • 重启程序使配置生效

Q: P键隐藏窗口功能无效

  • A: 确保窗口获得焦点(点击一下窗口),P键只在窗口内生效

Q: 隐藏窗口后如何恢复

  • A: 点击窗口使其获得焦点,然后按P键恢复

Q: 自动换行显示异常

  • A:
    • 检查 auto_wrap 配置值是否正确
    • 确保 max_width 设置合理
    • 重启程序使配置生效

Q: 自适应高度功能异常

  • A:
    • 检查 dynamic_height 配置值是否正确
    • 确保 max_height 设置合理
    • 重启程序使配置生效

Q: 修改配置后程序行为异常

  • A:
    • 检查是否误删了重要的配置项或配置段
    • 恢复config.txt的默认配置,然后逐个修改测试
    • 确保没有删除程序自动管理的配置段

Q: 窗口高度不受控制一直变大

  • A:
    • 检查 max_height 配置是否设置合理
    • 确认 dynamic_heightauto_wrap 的配合是否合适
    • 尝试调整 display_lines 限制显示行数

Q: 透明模式和不可选中模式的区别

  • A:
    • 透明模式:仅影响视觉,窗口背景透明但可以正常交互
    • 不可选中模式:影响交互,窗口不接受鼠标事件,鼠标会穿透窗口
    • 两种模式可以独立启用,也可以同时启用

Q: 日志同步功能没有工作

  • A:
    • 检查 backup_path 配置是否正确设置为有效目录路径
    • 确保目录有写入权限
    • 检查 backup_interval 设置是否合理(建议至少30分钟)
    • 查看程序日志输出,确认同步功能是否已启用

Q: 同步文件没有按预期清理

  • A:
    • 检查 backup_keep_days 设置是否正确
    • 确保同步文件命名格式正确(包含日期信息)
    • 程序会在每次同步时尝试清理旧文件

Q: 云端同步目录占用空间过大

  • A:
    • 减少 backup_keep_days 设置,保留更少的同步文件
    • 手动清理不需要的同步文件

Q: 手机查看日志时中文乱码

  • A:
    • 确保手机上的文本编辑器支持UTF-8编码
    • 建议使用支持多种编码的文本编辑器App
    • 日志文件采用UTF-8编码保存

Q: 云端同步速度慢

  • A:
    • 增加 backup_interval 设置,减少同步频率
    • 检查网络连接状态
    • 确保云端同步客户端正常工作

更新日志

1.4.3

  • 新增:准点备份功能
    • 通过 backup_align_to_clock 配置项启用
    • 支持按整点分钟对齐备份(仅限60的约数间隔)
    • 提高备份时间的可预期性,方便手机端定时查看

1.4.2

  • 適配
  • 進度顯示支援 適配
  • AutoFishingTeyvat 2.4.2
  • 采集cd管理2.10.1

1.4.1

  • 改进
    • DBG级别日志預設显示为灰色(可自定义)
  • 修復
  • 修復啟用自動換行時,日誌行被分割成多行,而顏色標籤只應用在原始行上
  • 適配
  • 進度顯示支援 適配 自动购买每天&3天&每周刷新商品

1.4.0

  • 新增:P键暂时停用小窗功能
    • 窗口内按下P键,暂停日志刷新与缩小面板 或 恢复正常显示
    • P键只在窗口内生效,不影响其他程序
  • 新增:DBG/ERR/WRN日志级别颜色区分
    • DBG级别日志显示为浅蓝色(可自定义)
    • ERR级别日志显示为浅红色(可自定义)
    • WRN级别日志显示为浅黄色(可自定义)
    • 所有颜色均可通过配置文件自定义
  • 改进:配置文件添加日志级别颜色配置项

1.3.9

  • 調整地图任务&JS脚本 的正則表達式
  • 任務名稱適配顯示
    • → 开始执行键鼠脚本:
    • 關去 当前钓鱼点:\s*([^\n]+),
      • 對應JS : AutoFishingTeyvat 2.3.8修改
  • 改進文件讀取
  • 避免任務名稱錯誤、錯誤計入高頻切換

1.3.8

  • 修复 换行处理函数的数据异常 导致 日志内容不刷新
  • 修复 更改进度被错误计入高频切换
  • 显示一条龙运行进度
    • 一条龙/配置组任务执行
    • (一条龙的任务关键词过少,检测不了不能更新配置组名)
  • 其他优化
    • 备份功能 备份时 保留序号
      • better-genshin-impactYYYYMMDD_001.log
    • 补充 Alt+K 的窗口内快捷键
    • 重复的安全检查(防御性编程)
    • 多层的异常处理
    • 兼容性快捷键备用方案

1.3.7

  • 新增:日志同步功能
    • 支持将日志自动同步到指定目录(如云端同步目录)
    • 方便用户通过手机或其他设备远程查看日志
    • 支持配置同步间隔和保留天数
    • 日期变更时自动同步前一天文件

1.3.6

  • 优化:修复任务切换频率检测中的重复计数问题
  • 改进:增加更多进度信息格式支持

1.3.5

  • 优化:改进任务切换频率检测逻辑
  • 修复:任务名称提取中的路径处理问题

1.3.4

  • 新增:支持更多进度信息格式(钓鱼点、循环执行等)
  • 优化:进度信息提取更精确

1.3.3

  • 改进:全局快捷键稳定性增强
  • 优化:增加健康检查和自动恢复机制

1.3.2

  • 新增:第二样式配置支持从config.txt完全自定义
  • 优化:配置文件结构重组,分为主样式、第二样式配置和程序管理配置
  • 改进:配置文件说明更加详细

1.3.1

  • 使任务名称只顯示文件名(不含路径和扩展名)
  • 修改config參數名稱,使其更容易辨認

1.3.0

  • 使任务名称只顯示文件名(不含路径和扩展名)
  • 修改config參數名稱,使其更容易辨認

1.2.9

  • 新增:独立不可选中模式(鼠标穿透),使用 Alt+N 切换
  • 拆分:将透明模式与不可选中模式分离为两个独立功能
  • 优化:程序自动管理配置段新增 click_through 参数

1.2.8

  • 优化:自动换行功能,支持长文本自动换行显示

1.2.7

  • 优化:自动换行功能,支持长文本自动换行显示
  • 改进:换行时在新行开头添加固定缩进"  "(两个全角空格)

1.2.6

  • 新增:自适应高度功能

1.2.5

  • 修正:切换样式时配置行、任务行的样式没有跟着切换

1.2.4

  • 新增:透明模式时不会被鼠标选中

v1.2.3

  • 未安裝keyboard 库时启用窗口内快捷键

v1.2.2

  • [基本设置段],[程序自动管理配置段]创建专门的加载方法
  • 解決運行時無法加載window_x、window_y導致視窗不開打在指定位置

v1.2.1

  • 新增:跳过调试日志功能,可通过 skip_debug_log 配置项控制
  • 优化:启用跳过调试日志时自动增加日志读取行数,确保有足够非调试日志显示
  • 改进:配置文件说明更加详细

v1.2.0

  • 新增:第二样式配置支持从config.txt完全自定义
  • 优化:配置文件结构重组,分为主样式、第二样式配置和程序管理配置
  • 改进:配置文件说明更加详细
  • 回退:取消 透明時不能被點擊、被拖動

v1.1.9

  • 修正最大顯示行數display_lines不再設限
  • 移除窗口初始宽度、窗口初始高度,統一使用窗口最高度、窗口最大宽度

v1.1.8

  • 透明時不能被點擊、被拖動

v1.1.7

  • 调整用户config.txt配置处理

v1.1.6

  • 修正日志记录显示行数错误问题

v1.1.5

  • 調整仿BGI日志窗口样式(第二样式)默认状态

v1.1.4

  • 新增状态行、任务行自定义参数

v1.1.3

  • 优化:使用全局快捷键Alt+P、Alt+U、Alt+I、Alt+P
  • 可在窗口使用快捷键

v1.1.2

  • 优化:修复路径检查、添加字体缓存、改进配置处理

v1.1

  • 棄用window_position.txt
    • 改為修改填入至config.txt
  • 自定义配置增加
    • 自定字體粗幼
    • 透明背景模式
    • 仿BGI日志模式

v1.0

  • 初始版本发布
  • 支持基本日志监控功能
  • 可自定义配置

About

讀取BetterGI運行時生成的Log檔進行顯示的可自定義悬浮窗

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages