# BetterGI 星轨 **Repository Path**: qingshangongzai/BetterGI_StellTrack ## Basic Information - **Project Name**: BetterGI 星轨 - **Description**: BetterGI 星轨是一款专为 BetterGI(一款《原神》自动化辅助工具)打造的键鼠脚本生成与管理工具,致力于生成强大的键鼠自动化脚本。该工具基于 PyQt6 开发,提供了直观的可视化界面,允许用户创建复杂的自动化操作序列。其核心初衷是实现游戏内的延时摄影——通过自动控制图片的截取和保存,创作出如电影般壮丽的视觉诗篇,是一个为你手中的“留影机”赋予生命的工具。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-12-04 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: AI编程, 原神, 脚本编辑器, Python ## README # 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. **克隆仓库**: ```bash git clone https://gitee.com/qingshangongzai/BetterGI_StellTrack.git cd BetterGI_StellTrack ``` 2. **创建虚拟环境(推荐)**: ```bash python -m venv .venv # 激活虚拟环境 .\.venv\Scripts\activate # Windows ``` 3. **安装项目依赖**: ```bash pip install -r requirements.txt ``` 4. **启动应用程序**: ```bash 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. 遵循开发规范 所有贡献的代码必须严格遵循项目已有的开发规范: - [开发规范](规范/开发规范.md) - 涵盖代码组织、样式、事件处理、AI开发等全方位规范。 - [设计语言规范](规范/设计语言规范.md) - 定义了应用程序的视觉风格,包括颜色、字体、控件样式等。 - [事件处理逻辑](规范/事件处理逻辑.md) - 定义了核心事件的数据结构、时间计算和脚本生成逻辑。 ### 4. 给 AI 开发者的提示 如果你使用 AI 工具进行开发: - 在生成代码时,明确要求 AI 遵循本项目的代码规范和命名约定。 - 对 AI 生成的每一段代码进行人工审查,确保其逻辑正确、安全且可维护。 - 避免过度依赖 AI 生成核心业务逻辑或复杂算法,关键部分务必亲自验证。 - 利用 AI 工具的测试生成功能为新增功能创建测试用例,但需审查和补充测试逻辑。 ## 许可证信息 ### 主项目许可证 BetterGI StellTrack 采用 **GNU General Public License v3.0 (GPL 3.0)** 许可证发布。这意味着您可以自由地使用、修改和分发本软件,但如果您分发修改后的版本,也必须采用相同的 GPL 3.0 许可证开源您的修改。 ### 许可证文件 - **项目完整许可证信息页(HTML格式)**:[LICENSE.html](file/LICENSE.html) - 包含主项目许可证、字体许可证以及所有第三方库的完整许可证信息 - **项目许可证文件(文本格式)**:[LICENSE](LICENSE) - 包含所有许可证的纯文本版本,便于阅读 - **GPL 3.0 官方文本**:[https://www.gnu.org/licenses/gpl-3.0.html](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的条款和条件 - 所有第三方库的许可证要求 - 字体许可证的使用限制 详细的许可证合规性要求请查看 [开发规范](规范/开发规范.md) 中的「开源许可证合规性规范」章节。 ## 联系方式与下载 - **主要开源仓库(Gitee)**:[https://gitee.com/qingshangongzai/BetterGI_StellTrack](https://gitee.com/qingshangongzai/BetterGI_StellTrack)\ *(主要开发、Issue讨论和最新版本发布均在此)* - **代码同步仓库(GitHub)**:[https://github.com/qingshangongzai/BetterGI_StellTrack](https://github.com/qingshangongzai/BetterGI_StellTrack)\ *(代码会定期从Gitee同步至此)* - **安装包下载(123网盘)**:[https://www.123865.com/s/8f6rjv-07ohh?pwd=qsgz](https://www.123865.com/s/8f6rjv-07ohh?pwd=qsgz)\ *(提供编译好的exe安装包,旧版本会清理)* - **作者主页**:[https://space.bilibili.com/1232406878](https://space.bilibili.com/1232406878) - **联系邮箱**:[hxiao_studio@163.com](mailto:hxiao_studio@163.com) - **项目使用说明**:[使用说明.pdf](file/使用说明.pdf) **开源与发布说明**: 本项目主要在 **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)不存在任何形式的关联、授权或合作关系 - 开发者不对因使用本工具导致的任何后果负责,请谨慎使用 **特别提醒**:使用自动化脚本存在被游戏官方检测并封禁账号的风险,请您自行承担相关责任。