Skip to content

BetterGI StellTrack是一款专为 BetterGI(一款《原神》自动化辅助工具)打造的键鼠脚本生成与管理工具,致力于生成强大的键鼠自动化脚本。该工具基于 PyQt6 开发,提供了直观的可视化界面,允许用户创建复杂的自动化操作序列。其核心初衷是实现游戏内的延时摄影——通过自动控制图片的截取和保存,创作出如电影般壮丽的视觉诗篇,是一个为你手中的“留影机”赋予生命的工具。

License

Notifications You must be signed in to change notification settings

qingshangongzai/BetterGI_StellTrack

Repository files navigation

BetterGI 星轨

项目概述

BetterGI 星轨(BetterGI StellTrack)是一款专为 BetterGI(一款《原神》自动化辅助工具)打造的键鼠脚本生成与管理工具,用于生成键鼠自动化脚本。本工具基于 PyQt6 开发,提供了直观的可视化界面,允许用户创建自动化操作序列。其初衷是为了实现游戏内的延时摄影——通过自动控制图片的截取和保存,创作延时摄影作品,是一个为“留影机”赋予生命的工具。

开发模式:本项目主要采用 AI 编写代码,结合人工设计和调试,是零代码基础人群开发 GUI 应用的一次实践。

开源协议:本项目采用 GPL 3.0 开源协议,所有代码和文档均遵循该协议的条款和条件。

协作邀请:本项目由 AI 辅助开发,作为零代码基础的开发者,我在代码优化、样式统一及复杂逻辑实现等方面仍面临诸多挑战(具体可参考文末“修复与改进问题汇总”)。如果你熟悉 Python 和 PyQt6,或者对 GUI 应用开发感兴趣,诚挚邀请你加入本项目,共同完善 BetterGI 星轨!无论是代码优化、Bug 修复还是功能扩展,你的帮助都将是对项目巨大的支持。

项目发展历程

这个项目的诞生源于一个简单的想法:创建一个可以设置循环次数的键鼠脚本,方便在《原神》中的延时摄影创作。随着需求的不断扩展,使用AI工具将其可视化成GUI应用,最终形成了这个具有图形界面的脚本编辑器。

项目的开发历程充满了技术探索与演进:

  • AI协作开发:项目初期的代码主要由 Deepseek 生成,后续智谱清言(GLM)也参与了开发。随着项目体积增长,传统的大语言模型(LLM)已难以处理整体代码,于是我们转向了 TRAE、Qoder 等 AI IDE 工具。
  • 名称演变:项目最初名为“BetterGI 键鼠自动循环脚本生成器”,后来通过 Deepseek 获得了英文名“BetterGI Macro”。在 2.0 版本升级时,我们认为原名不够贴切,便邀请智谱清言重新构思,最终确定了“BetterGI 星轨(BetterGI StellTrack)”这个名称,并沿用至今。
  • Logo设计:项目共有两款 Logo。1.0 时期的 Logo 是在 Adobe Illustrator 中使用“得意黑”字体设计的“自”字图标;2.0 版本时,我们以智谱清言生成的 Logo 为原型,重新绘制了当前使用的版本。
  • 技术栈演进:1.0-2.0 版本基于 Python 的标准 GUI 库 Tkinter 开发,但后来觉得其视觉效果不符合我们的审美。于是,在 3.0 版本中,我们基于 PyQt6 对项目进行了彻底重构,并引入了模块化设计理念,使项目结构变得更加清晰和规范。

核心功能

  • 可视化事件编辑:通过直观的表格界面添加、编辑和管理键鼠事件
  • 多种事件类型支持:支持按键按下/释放、指针移动、平行移动、点击、滚轮等多种事件类型
  • 批量编辑功能:支持对多个事件进行批量修改,包含多时间单位选择和智能事件类型替换
  • 精准时间逻辑管理:灵活的时间逻辑设置,支持事件时间的自动计算和调整,时间输入框支持动态步长调整
  • 脚本生成与导出:将事件序列生成为适用于BetterGI的脚本文件
  • 事件时间分析:提供事件时间分布和统计分析功能
  • 屏幕信息检测:自动检测屏幕分辨率和缩放比例
  • 主题切换支持:支持浅色和深色两种主题模式,用户可在设置中切换
  • 调试工具:内置调试功能,方便开发和问题排查
  • 彩蛋功能:内置隐藏功能,为用户提供惊喜体验

适用场景

  • 游戏内延时摄影创作
  • 重复性键鼠操作的自动化
  • 游戏辅助工具开发与测试
  • 键鼠事件序列的记录与回放

安装指南

面向普通用户(使用安装包)

  1. 前往项目的 Gitee 发布页123网盘 下载最新的安装包(.exe 文件)。
  2. 运行下载的安装程序,跟随向导完成安装。
  3. 从桌面快捷方式或开始菜单启动 “BetterGI StellTrack”。

面向开发者(从源码运行)

环境要求

  • 操作系统:Windows 10/11 64位
  • Python 版本:Python 3.11 及以上 64位版本(推荐使用 3.14)
  • 内存:推荐 4GB 以上
  • 硬盘空间:至少 100MB 可用空间

依赖安装与运行

  1. 克隆仓库

    git clone https://gitee.com/qingshangongzai/BetterGI_StellTrack.git
    cd BetterGI_StellTrack
  2. 创建虚拟环境(推荐)

    python -m venv .venv
    # 激活虚拟环境
    .\.venv\Scripts\activate  # Windows
  3. 安装项目依赖

    pip install -r requirements.txt
  4. 启动应用程序

    python main.py

使用说明

基本操作

  1. 启动应用:运行 main.py 或exe
  2. 创建新事件:点击「添加事件」按钮或使用快捷键 Ctrl+I
  3. 编辑事件:双击事件表格中的单元格或选中事件后点击「编辑事件」按钮
  4. 删除事件:选中事件后按 Delete
  5. 生成脚本:点击「生成脚本」按钮,将事件序列生成为可执行脚本
  6. 保存脚本:点击「保存脚本」按钮,将生成的脚本保存到本地
  7. 导入脚本:点击「导入脚本」按钮或使用快捷键 Ctrl+O,从本地文件导入已有的脚本

常用快捷键

快捷键 功能描述
Ctrl+N 新建文件
Ctrl+O 导入脚本
Ctrl+S 保存脚本
Ctrl+Q 退出应用
Ctrl+Z 撤销操作
Ctrl+Y 重做操作
Ctrl+I 添加事件
Ctrl+E 编辑事件
Ctrl+X 剪切事件
Ctrl+C 复制事件
Ctrl+V 粘贴事件
Ctrl+B 批量编辑
Ctrl+A 全选事件
Ctrl+T 事件时间分析
Ctrl+D 调试工具
Delete 删除事件

参数配置

BetterGI StellTrack 提供了多种配置选项:

  1. 窗口设置
    • 屏幕宽度/高度:设置目标窗口分辨率
    • 缩放比例(DPI):设置屏幕缩放系数
    • 自动检测:点击「自动检测」按钮获取当前屏幕信息
  2. 脚本设置
    • 循环次数:设置脚本执行的循环次数
    • 间隔时间:设置每次循环之间的间隔时间
    • 时间单位:选择间隔时间的单位(毫秒/秒/分钟)
  3. 时间逻辑设置
    • 删除事件逻辑:设置删除事件时的时间调整方式
    • 粘贴事件逻辑:设置粘贴事件时的时间调整方式
  4. 主题设置
    • 主题模式:可选择浅色、深色或跟随系统
    • 深色模式使用纯黑色背景,减少眼部疲劳
    • 主题切换后所有界面组件立即更新,无需重启应用

核心功能演示

1. 事件编辑界面

事件编辑是 BetterGI StellTrack 的核心功能,用户可以通过表格界面直观地管理键鼠事件。

主要功能区域

  • 事件表格:显示所有事件的详细信息,包括序号、事件名称、事件类型、键码、时间等,便于脚本的精细化编辑
  • 操作按钮:提供添加、编辑、删除、复制、粘贴等操作,支持序列的快速调整
  • 搜索过滤:支持按事件类型和关键字搜索事件,方便在大型脚本中定位特定事件

2. 事件添加与编辑

用户可以通过「添加事件」按钮打开事件编辑对话框,设置事件的各项属性,满足精确控制需求:

  • 事件类型:选择按键按下/释放、指针移动、平行移动、点击等类型
  • 按键/鼠标信息:设置具体的按键或鼠标操作
  • 时间设置:设置事件的相对时间和延迟,支持动态步长调整和相对时间偏移默认单位可配置

3. 批量编辑功能

批量编辑功能允许用户同时修改多个事件的属性,大幅提高脚本的编辑效率:

  • 增减绝对时间:对选中事件的时间偏移进行统一增减,快速调整整体节奏,支持多时间单位选择
  • 统一相对时间:将选中事件的相对时间设置为相同值,实现重复动作序列
  • 事件类型替换:将一种事件类型替换为另一种类型,第一个下拉框只显示选定事件的选项,便于脚本的批量调整

4. 脚本生成与导出

完成事件编辑后,用户可以点击「生成脚本」按钮将事件序列转换为适用于BetterGI的脚本文件。生成的脚本可以保存到本地,并在需要时通过BetterGI运行。

技术架构与设计理念

BetterGI 星轨采用现代化的模块化架构设计,基于 PyQt6 框架构建。我们遵循面向对象编程原则,追求清晰的代码结构,以保障项目的可维护性与可扩展性。

核心技术栈

技术/框架 用途 版本
Python 主要开发语言 3.14.2
PyQt6 GUI 应用程序框架 6.10.2
requests 网络请求库 2.32.5
psutil 系统资源监控 7.2.0
pywin32 Windows 平台接口 311

架构设计原则

  1. 模块化设计:将功能划分为独立的模块,每个模块职责明确。
  2. 关注点分离:UI 组件、业务逻辑和数据处理层分离,便于维护和测试。
  3. 事件驱动:采用 Qt 的信号与槽机制实现松耦合的组件间通信。
  4. 多线程处理:将脚本生成、事件排序等耗时操作放在后台线程执行,确保 UI 界面响应流畅。
  5. 高内聚低耦合:模块内部高度内聚,模块之间通过明确的接口通信,降低依赖。
  6. 可扩展性:在设计时充分考虑未来功能扩展的可能性,便于添加新特性。

核心模块架构

BetterGI 星轨的核心架构由以下主要模块组成:

应用层 (UI)
├── 主窗口 (main_window.py)
├── 各类对话框 (dialogs/)
└── 其他 UI 组件 (ui/)

业务逻辑层
├── 事件管理 (managers/event_manager.py)
├── 脚本管理 (managers/script_manager.py)
└── 时间分析 (dialogs/time_analysis.py)

基础服务层
├── 样式管理 (styles/)
├── 工具函数 (utils.py)
└── 调试工具 (dialogs/debug_tools.py)

系统层
├── 版本管理 (version.py)
├── 环境配置与监控 (main.py)
└── 应用入口与生命周期管理 (main.py)

核心模块详解

1. 应用程序入口 (main.py)

main.py 是应用程序的核心入口,负责管理应用程序的完整生命周期:

  • 应用初始化:配置 Qt 应用程序、设置全局样式、初始化日志系统
  • 平台特定设置:处理 Windows 平台的特殊功能(如 AppUserModelID)
  • 异常处理:设置全局异常处理器,捕获未处理的异常
  • 应用监控:创建并启动应用程序监控器,定期收集运行状态
  • 主窗口管理:创建和显示主窗口
  • 资源清理:应用程序退出时释放资源

2. 事件管理模块 (event_manager.py)

事件管理模块是应用程序的核心功能模块,负责所有与事件相关的操作:

  • 事件表格管理:创建和管理事件表格,支持事件的可视化编辑
  • 事件操作:提供事件的添加、编辑、删除、复制、粘贴等功能
  • 事件排序:支持按绝对时间对事件进行排序,并重新计算相对时间
  • 批量编辑:允许同时修改多个事件的属性,提高编辑效率
  • 搜索过滤:支持按事件名称、类型、键码搜索事件
  • 多线程处理:耗时操作(如排序、批量编辑)放在后台线程执行

3. 脚本管理模块 (script_manager.py)

脚本管理模块负责将事件转换为 BetterGI 可执行的脚本:

  • 脚本生成:将事件表格数据转换为 JSON 格式的脚本
  • 事件成对性检查:验证按键事件的成对性(按下/释放)
  • 循环处理:支持脚本循环执行,可设置循环次数和间隔时间
  • 脚本导出:将生成的脚本保存到本地文件
  • 脚本导入:从文件加载脚本并转换为事件表格数据

4. 样式管理模块 (styles.py)

样式管理模块负责定义应用程序的外观样式:

  • 统一样式:定义统一的颜色方案、字体、控件样式
  • 样式辅助类:提供各种样式辅助函数和组件
  • 现代化 UI:实现现代化的圆角、阴影、过渡动画等效果
  • 响应式设计:适配不同屏幕分辨率和缩放比例

5. 工具函数模块 (utils.py)

工具函数模块提供各种辅助功能:

  • 按键映射:提供虚拟键码与按键名称的映射关系
  • 事件类型转换:实现事件类型的字符串与数值之间的转换
  • 事件数据处理:提供从表格中获取事件数据的函数
  • 事件名称生成:根据事件类型和键码生成可读的事件名称

工作原理与流程

应用程序启动流程

  1. 环境初始化:设置 Qt 应用程序、配置高 DPI 支持、加载字体
  2. 样式设置:应用全局样式表
  3. 平台特定配置:处理 Windows 平台的特殊功能
  4. 日志系统初始化:设置全局日志记录器
  5. 异常处理器设置:捕获未处理的异常
  6. 应用监控启动:启动后台监控线程,定期收集应用状态
  7. 用户协议检查:验证用户是否已同意软件使用协议
  8. 主窗口创建:创建并显示主窗口

事件处理流程

  1. 事件创建:用户通过 UI 创建新事件,设置事件类型、键码、时间等属性
  2. 事件存储:事件数据存储在事件表格中,包含序号、名称、类型、键码、坐标、相对时间、绝对时间等字段
  3. 事件编辑:用户可以编辑现有事件,修改其属性
  4. 事件排序:支持按绝对时间排序事件,重新计算相对时间
  5. 事件验证:检查事件成对性,确保按键事件有对应的按下/释放对

脚本生成流程

  1. 事件收集:从事件表格中收集所有事件数据
  2. 事件转换:将事件转换为 BetterGI 脚本格式
  3. 循环处理:根据设置的循环次数和间隔时间,生成完整的事件序列
  4. 脚本结构构建:构建包含事件序列和脚本信息的 JSON 结构
  5. 脚本验证:检查脚本格式是否正确
  6. 脚本导出:将生成的脚本保存到本地文件

数据流动示意图

用户操作 → UI 组件 → 信号槽 → 业务逻辑 → 数据处理 → 结果返回 → UI 更新
     ↓                     ↑
     └─────────────────────┘

技术亮点与创新

BetterGI 星轨 在技术上具有多项亮点和创新,体现了现代 GUI 应用开发的良好实践:

  • 现代化 UI 设计
    • 简约设计风格:采用极简的设计语言,减少不必要的元素
    • 高 DPI 支持:自动适配不同屏幕分辨率和缩放比例
    • 平滑动画:添加了窗口过渡、控件交互等平滑动画效果
    • 响应式设计:适配不同屏幕尺寸和布局
    • 主题切换:支持浅色和深色两种主题模式,深色模式使用纯黑色背景

2. 高效的事件处理机制

  • 多线程设计:耗时操作放在后台线程执行,保证 UI 响应流畅
  • 事件排序优化:使用专门的排序线程处理大量事件的排序
  • 批量编辑功能:支持同时修改多个事件的属性,提高编辑效率
  • 事件验证机制:自动检查事件成对性,确保脚本的正确性

3. 灵活的脚本生成系统

  • 自定义循环逻辑:支持设置循环次数和间隔时间
  • 多种时间单位:支持毫秒、秒、分钟等多种时间单位
  • 自动坐标转换:支持不同屏幕分辨率的坐标转换
  • 脚本验证:确保生成的脚本符合 BetterGI 格式要求

4. 完善的调试和监控机制

  • 应用监控:实时监控应用程序的运行状态和资源使用
  • 详细日志:提供全面的日志记录,便于调试和问题排查
  • 异常处理:全局异常捕获,防止应用程序意外崩溃
  • 调试工具:内置调试工具,方便开发和测试

5. 模块化架构设计

  • 清晰的模块划分:功能模块化,便于维护和扩展
  • 低耦合设计:模块间通过明确的接口通信,减少依赖
  • 高内聚实现:每个模块专注于特定功能,实现高内聚
  • 可扩展性:设计时考虑了未来功能扩展,便于添加新特性

6. AI 辅助开发创新

  • 零代码基础友好:为零代码基础人群提供了开发 GUI 应用的实践路径
  • 高效的人机协作:AI 生成基础代码,人类负责设计和审查
  • 多样化的 AI 工具链:集成了多种 AI 开发工具,提高开发效率
  • 规范的 AI 代码生成流程:确保 AI 生成代码的质量和安全性

7. 严格的开发规范

  • 代码风格规范:遵循 PEP 8 代码风格,确保代码一致性
  • 测试规范:完善的测试策略,确保代码质量
  • 文档规范:详细的文档,便于维护和使用
  • 开源许可证合规:严格遵循开源许可证要求,确保项目合规性

8. 彩蛋与用户体验

  • 隐藏功能:内置彩蛋功能,为用户提供惊喜体验
  • 交互细节:注重用户交互细节,提升使用体验
  • 趣味元素:在专业功能之外,添加趣味性元素,增加软件亲和力

项目结构说明

BetterGI StellTrack 采用模块化设计,代码结构清晰,便于维护和扩展。主要模块包括:

BetterGI_StellTrack/
├── main.py                 # 应用程序主入口,负责生命周期管理、环境配置、监控和主窗口创建
├── version.py              # 版本管理器模块,负责管理应用程序的版本信息和元数据
├── main_window.py          # 主窗口类,包含界面布局和主要功能
├── ui/                    # UI模块目录,包含界面组件和面板
│   ├── __init__.py        # 统一导出接口
│   ├── widgets.py         # 自定义控件模块,包含现代化表格和标题栏等自定义控件
│   └── panels.py         # 面板组件模块,包含各种功能面板
├── dialogs/               # 对话框模块目录,包含各类对话框
│   ├── __init__.py        # 统一导出接口
│   ├── batch_dialog.py    # 批量编辑对话框模块,包含批量编辑事件功能
│   ├── debug_dialog.py     # 调试对话框模块,包含调试工具入口和彩蛋确认对话框
│   ├── event_dialogs.py   # 事件对话框模块,包含各种事件编辑对话框
│   ├── update_dialog.py   # 更新检查对话框模块,负责版本更新检查和云端数据同步
│   ├── time_analysis.py   # 时间分析对话框模块,提供事件时间分析功能
│   ├── debug_tools.py     # 调试工具对话框模块,包含调试相关功能
│   ├── user_agreement.py  # 用户协议对话框模块,包含用户协议确认和显示功能
│   └── about_window.py    # 关于窗口对话框模块,包含应用程序信息和相关链接
├── managers/              # 管理器模块目录,包含各类管理器
│   ├── __init__.py        # 统一导出接口
│   ├── menu_manager.py    # 菜单管理器模块,负责菜单栏创建和菜单状态管理
│   ├── state_manager.py   # 状态管理器模块,负责状态保存、加载、撤销和重做功能
│   ├── event_manager.py   # 事件管理模块,处理事件的添加、编辑、删除等
│   └── script_manager.py  # 脚本管理模块,负责脚本的生成和保存
├── styles/                # 样式管理模块,定义应用程序的外观样式
│   ├── __init__.py        # 统一导出接口
│   ├── fonts.py           # 字体管理模块
│   ├── themes.py          # 主题管理模块
│   ├── widgets.py         # 控件和混入模块
│   └── dialogs.py         # 对话框和消息框模块
├── utils.py                # 工具函数模块,提供各种辅助功能
├── requirements.txt        # 项目依赖列表
├── version_info.txt        # 版本信息文本文件
├── README.md               # 项目说明文档
├── file/                   # 文件资源目录
│   ├── LICENSE.html            # 许可证文件
│   ├── UserAgreement.html      # 用户协议文件
│   └── 使用说明.pdf
├── fonts/                  # 字体文件目录
│   ├── SmileySans-Oblique.ttf
│   └── SourceHanSerifCN-Regular-1.otf
├── logo/                   # Logo资源目录
│   ├── logo.ico
│   └── logo.png
└── 规范/                   # 开发规范目录
    ├── 事件处理逻辑.md
    ├── 开发规范.md
    ├── 设计语言规范.md
    └── 代码审查分析报告.md

开发模式与实践

AI 辅助开发模式

BetterGI 星轨采用了创新的“AI生成 + 人工审查优化”的开发模式,结合了AI工具的高效性与人类开发者的设计审慎。

核心开发理念

  • 人机协作:AI 负责生成基础代码和实现框架,人类开发者专注于架构设计、代码审查、调试和用户体验优化。
  • 快速原型:利用 AI 工具快速生成功能原型,极大缩短了开发验证周期。
  • 质量保障:所有 AI 生成的代码都需经过人工审查,确保其质量、安全性和可维护性。
  • 零基础友好:为零代码基础的开发者提供了一条实践 GUI 应用开发的可行路径。

AI 开发工具链

项目在不同阶段使用了多种 AI 开发工具:

  • 深度求索(Deepseek):项目初期的主要代码生成工具。
  • 智谱清言(GLM):参与了部分功能开发,并在项目命名、Logo 设计构思上提供了创意。
  • AI IDE 工具:如 TRAE, Qoder, Cursor 等,在项目代码重构、模块拆分和复杂调试中发挥了关键作用。

代码质量保障

1. 代码风格规范

  • 严格遵守 PEP 8 代码风格指南。
  • 使用清晰、有意义的变量、函数和类命名。
  • 保持适当的注释和完整的文档字符串(Docstrings)。

2. 代码审查

  • 所有代码在合并前必须经过人工代码审查。
  • 审查重点包括代码逻辑、安全性、性能影响和可读性。
  • 借助代码分析工具辅助审查,识别潜在问题。

3. 测试策略

  • 为关键功能编写单元测试,目标覆盖率不低于 70%。
  • 进行集成测试,验证多个模块间的协作是否正常。
  • 通过端到端测试确保核心用户流程完整可用。

4. 异常处理

  • 实现全面的异常捕获与处理机制。
  • 记录详细的错误日志,便于问题追踪和调试。
  • 向用户提供友好、明确而非技术性的错误提示信息。

贡献指南

我们欢迎并感谢所有社区成员对 BetterGI 星轨的贡献。如果你想参与项目开发,请遵循以下指南:

1. 提交 Issue

如果你发现了 Bug,或有新的功能建议,请先在 Gitee 的 Issues 页面搜索是否已有相关问题。如果没有,请创建新的 Issue,并尽量详细地描述问题或建议。

2. 代码贡献流程

  1. Fork 本项目的 Gitee 仓库。
  2. 创建你的特性分支:git checkout -b feature/你的功能名称
  3. 提交你的更改:git commit -m ‘[类型] 添加了某个功能’,请在提交信息中留下你的署名。
  4. 将分支推送到 Gitee:git push origin feature/你的功能名称
  5. 在 Gitee 上对该分支创建一个 Pull Request (PR),请求将你的修改合并到项目的 Dev 分支。请在 PR 描述中详细说明修改内容、目的和测试情况(包含你的署名)。
  6. 项目维护者会对 PR 进行审核。审核通过后,代码将被合并到 Dev 分支。
  7. 项目维护者会在发布新版本时,将 Dev 分支稳定后的内容合并到主分支。

重要提示

  • 代码请统一提交至 Gitee 仓库
  • 所有贡献请先合并到 Dev 分支,不要直接向主分支提交 PR。
  • 建议在开始修改前,先通过与维护者沟通,避免工作重复或方向偏离,或者因为冲突而无法合并。

3. 遵循开发规范

所有贡献的代码必须严格遵循项目已有的开发规范:

  • 开发规范 - 涵盖代码组织、样式、事件处理、AI开发等全方位规范。
  • 设计语言规范 - 定义了应用程序的视觉风格,包括颜色、字体、控件样式等。
  • 事件处理逻辑 - 定义了核心事件的数据结构、时间计算和脚本生成逻辑。

4. 给 AI 开发者的提示

如果你使用 AI 工具进行开发:

  • 在生成代码时,明确要求 AI 遵循本项目的代码规范和命名约定。
  • 对 AI 生成的每一段代码进行人工审查,确保其逻辑正确、安全且可维护。
  • 避免过度依赖 AI 生成核心业务逻辑或复杂算法,关键部分务必亲自验证。
  • 利用 AI 工具的测试生成功能为新增功能创建测试用例,但需审查和补充测试逻辑。

许可证信息

主项目许可证

BetterGI StellTrack 采用 GNU General Public License v3.0 (GPL 3.0) 许可证发布。这意味着您可以自由地使用、修改和分发本软件,但如果您分发修改后的版本,也必须采用相同的 GPL 3.0 许可证开源您的修改。

许可证文件

  • 项目完整许可证信息页(HTML格式)LICENSE.html - 包含主项目许可证、字体许可证以及所有第三方库的完整许可证信息
  • 项目许可证文件(文本格式)LICENSE - 包含所有许可证的纯文本版本,便于阅读
  • GPL 3.0 官方文本https://www.gnu.org/licenses/gpl-3.0.html

许可证组成

本项目涉及多种开源许可证:

1. 主项目代码

  • GNU General Public License v3.0 (GPLv3)

2. 嵌入式字体

  • 得意黑 (Smiley Sans):SIL Open Font License 1.1
  • 思源宋体 (Source Han Serif):SIL Open Font License 1.1

3. 运行时依赖库

  • PyQt6:GPL-3.0-only
  • requests:Apache-2.0
  • psutil:BSD-3-Clause
  • pywin32:PSF License

4. 开发依赖库(MIT License)

  • pytest, pytest-qt, pytest-cov(测试框架)
  • flake8, black, isort, mypy(代码质量工具)
  • setuptools, build, wheel(构建工具)

5. 开发工具链

  • auto-py-to-exe:MIT License
  • UPX:GPL-2.0+
  • Inno Setup:Modified BSD

应用内访问

在应用程序中,您可以通过以下方式访问许可证信息:

  1. 打开应用程序
  2. 点击菜单栏的「帮助」
  3. 选择「关于」
  4. 在关于窗口中选择「开源许可」查看许可证信息

许可证遵守要求

使用本项目时,请严格遵守:

  • GPL 3.0的条款和条件
  • 所有第三方库的许可证要求
  • 字体许可证的使用限制

详细的许可证合规性要求请查看 开发规范 中的「开源许可证合规性规范」章节。

联系方式与下载

开源与发布说明: 本项目主要在 Gitee 平台进行代码开源、版本管理和社区交流。新版本发布时,会在 Gitee 提供完整的源码和发行说明,并在 123网盘 提供编译好的安装包以方便用户。GitHub 仓库作为代码的同步备份。

:本人英语词汇量有限,之前也缺乏编程相关知识,对GitHub的使用不太熟悉,还望大家见谅。

修复与改进问题汇总(部分)

状态 问题 说明 已修复说明
已修复 复选框点击后无法正常显示 - 未完全修复,在浅色模式时显示的边框不标准,在深色模式下不显示边框,但已经是相对可用的阶段了。
已修复 菜单栏点开后会有灰边和直角 - 未完全修复,还带来了锯齿的问题
已修复 增加过渡动画 - 已为窗口增加淡入、淡出动画
已修复 批量编辑页面输入框长度不一致 - 结构布局也是非常难调整,非常脆弱的地方
已修复 打开对话框窗口闪烁 表现为窗口打开时在左上角闪一下,再到屏幕中间显示 大部分已经通过打开动画进行覆盖,但部分情况可能还是会出现闪烁的情况,严重怀疑是硬件问题,或者可能就是巨硬的问题,因为其它应用中也会出现该问题
已修复 增加暗色主题,并提供切换菜单 暗色主题尝试过很多次,效果都不理想 经过努力终于实现了这个目标
已修复 按钮和输入框高度不统一 - -
已修复 打包环境下部分控件的样式变成了Qt原生样式 - 缺乏某个依赖,已进行修复
已修复 主窗口在部分分辨率和DPI下会占满整个屏幕 - 优化了主窗口高度的策略
已优化 部分窗口会显示不全 - 为消息框(弹窗)增加了滚动条、优化了大小策略
未修复 部分样式还没有统一 主要表现为样式代码冗余,种类过多,不统一(AI写的屎山代码,改起来特别的困难)
未修复 设计语言中规范中还存在着一些未修正、未完善的部分的部分,没有改进 与上一条问题高度相关,必须再经过一次重构才能修正
未修复 部分控件依旧存在直角边 可能是样式渲染的问题。
未修复 菜单圆角存在锯齿 因为菜单的圆角是裁切得来的,所以会造成锯齿,但是如果不采用圆角裁切,四个圆角又不统一
未修复 标题栏(窗口栏)修改为纯白色 创建自定义标题栏,取代系统标题栏,远期目标,也做过很多次尝试最后都以失败告终
未修复 事件可视化时间轴 尝试做过,但是出现了显示重叠等多种多样的问题,尤其是事件过多的时候
未修复 大量事件生成时的进度条对话框的取消按钮响应慢 可能多多少少因为性能原因,也可能是因为检查点太少了,很有可能出现无响应的情况。
未修复 事件列表与滚动条相连接的位置存在一条垂直线,无法去除 样式的难题……
未优化 统一日志记录器 虽然按照开发规范应该使用统一的日志记录器,但由于项目现有的导入结构限制,为了避免循环导入问题,暂时保持使用 print 语句。如果将来需要统一日志记录,需要重构项目的导入结构,将日志记录器移到一个独立的、不依赖其他模块的基础模块中。
未修复 对代码风格进行统一 -

开发者的一些碎碎念

  1. 2025.12

样式部分的问题,改起来是最费劲的,因为有的时候AI理解不了你的问题,而且由于代码的屎山程度较高,改起来特别的费劲。

现在主窗口模块(main_window.py)和样式模块(styles.py)的代码太庞大了,冗余的部分也很多。我打算的话,如果要继续维护下去的话,至少要把主窗口和样式这两个模块进行拆分。

再来说一下功能点上的问题,这方面的改进都差不多了,能想到的并且能做到的我都做了,4.0我也不知道该更新什么功能?执行器?录制器?这个是绝对的禁区,绝对不能碰,做好我自己的事情就好了。

作为一个完全零代码,不懂Python开发,不懂Qt开发,并且思维逻辑不强的人,再搭配上还不够智能的AI智能体,改起来真的非常绝望。我也不知道怎么办……希望有人能帮一帮这个项目。但,这不现实,一个是我这个是小众项目,不是鼠标宏,只是一个编辑器,还是这种死板的编辑器。而且,现在本身这个项目就没有什么流量,就只是一个仓库,一个放着AI写的代码的仓库而已。

2.2026.01.15

已经把主窗口模块(main_window.py)和样式模块(styles.py)的代码进行了拆分,但是主窗口那边可能有点拆太碎了,导致引用关系可能有点混乱……整体代码还是偏臃肿,启动速度也没有提升,但是也算是有点进步了。

目前对用户体验的细节做了很多的修改,体验应该会比之前好上不少。因为这个编辑器首先是我自己用,我用来设计脚本的时候,我是最能感觉到问题的。(所以说开发者要以用户的心态,去真正使用应用……点名批评某个绿色的小而美,和它的总裁。)

致谢

本团队尊重开源社区精神,也尊重每一位开发者的付出。感谢所有为 BetterGI StellTrack 项目做出贡献的开发者、技术提供商和用户!

开源社区与开发者

  • 开源社区贡献者:感谢开源社区的所有贡献者,你们无私分享的知识和代码是项目发展的基石
  • 第三方库开发者:感谢所有第三方库的开发者,你们创建并维护的优秀工具为项目提供了强大的技术支持
  • BetterGI团队:感谢BetterGI团队开发了这款优秀的原神辅助工具,为玩家提供了便利

AI技术支持

感谢以下厂商开发的AI大模型(LLM)和AI IDE工具,为零代码基础人群开发程序提供了前所未有的便利:

  • 深度求索(Deepseek):为项目初期开发提供了强大的代码生成支持
  • 阿里巴巴:提供了通义千问等大语言模型和Qoder等AI IDE工具
  • 智谱华章:智谱清言(GLM)参与了项目开发,为项目命名和Logo设计提供了创意
  • 字节跳动:Trae等AI IDE工具助力了项目的模块化重构
  • 腾讯:CodeBuddy等AI IDE工具为项目开发提供了支持

字体与工具支持

  • 字体版权方:感谢得意黑与思源宋体的版权方设计的开源字体,为项目提供了精美的视觉呈现
  • 开发工具提供商:感谢VS Code、PyCharm等开发工具的提供商,为开发工作提供了高效的环境

用户支持

感谢所有使用和支持BetterGI StellTrack的用户,你们的反馈和建议是项目不断改进的动力!

正是因为有了开源社区的支持、AI技术的赋能、开发者的付出以及用户的信任,才有了今天的BetterGI StellTrack项目。

本项目的成功,离不开每一位参与者的贡献和支持。再次感谢大家!


免责声明:BetterGI StellTrack 主要用于游戏内延时摄影创作,仅供学习和研究使用。请严格遵守游戏厂商的用户协议,合理使用本工具。

  • 禁止将本工具用于玩家对战(PVP)、资源自动化获取、高难度副本与竞速等破坏游戏公平性的行为
  • 本工具与《原神》官方(米哈游/miHoYo)不存在任何形式的关联、授权或合作关系
  • 开发者不对因使用本工具导致的任何后果负责,请谨慎使用

特别提醒:使用自动化脚本存在被游戏官方检测并封禁账号的风险,请您自行承担相关责任。

About

BetterGI StellTrack是一款专为 BetterGI(一款《原神》自动化辅助工具)打造的键鼠脚本生成与管理工具,致力于生成强大的键鼠自动化脚本。该工具基于 PyQt6 开发,提供了直观的可视化界面,允许用户创建复杂的自动化操作序列。其核心初衷是实现游戏内的延时摄影——通过自动控制图片的截取和保存,创作出如电影般壮丽的视觉诗篇,是一个为你手中的“留影机”赋予生命的工具。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors