辉鸭蛋
|
786f2715a7
|
处理引用类型的任务,处理仓库变动
|
2026-05-05 03:05:13 +08:00 |
|
辉鸭蛋
|
63bcce3e0b
|
改名
|
2026-05-04 21:05:50 +08:00 |
|
辉鸭蛋
|
8daa903e8d
|
JS获取当前在小地图上的位置坐标 新增 matchingMethod 的传入
|
2026-05-04 20:47:21 +08:00 |
|
辉鸭蛋
|
b15012ffcd
|
refactor: 移除执行记录相关功能
删除 ExecutionRecord、DailyExecutionRecord 和 ExecutionRecordStorage 类及相关代码
移除 ScriptService 和 ScriptGroupProject 中与执行记录相关的逻辑,包括任务跳过检查和记录保存
简化项目执行流程,专注于核心功能
|
2026-05-03 19:39:45 +08:00 |
|
辉鸭蛋
|
8ef3d47a7f
|
Merge branch 'main' into d-v3
|
2026-05-02 22:26:19 +08:00 |
|
zhousenyu
|
6b9ac1b5d0
|
fix: 任务启动阶段无法通过快捷键正常终止,启动阶段强制关闭游戏时启动按钮无法复位 (#3036)
|
2026-05-02 19:24:51 +08:00 |
|
躁动的氨气
|
6071b4096f
|
fix: 修复某些js回调在突然终止后弹出的v8报错 (#3072)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-05-02 19:20:47 +08:00 |
|
云端客
|
3470c5e30b
|
feat(genshin): 添加通过OCR识别当前角色UID的功能 (#2988)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-05-02 16:11:03 +08:00 |
|
躁动的氨气
|
10ee93e8bb
|
feat: 为js提供html遮罩 (#2975)
|
2026-05-02 15:55:34 +08:00 |
|
躁动的氨气
|
255bf653e8
|
feat: 地图编辑器使用全局战斗策略,避免导出带BOM (#3092)
|
2026-05-01 18:49:56 +08:00 |
|
躁动的氨气
|
edc5580267
|
feat: 扩展地图编辑器功能,支持直接运行 (#3090)
|
2026-04-30 10:15:50 +08:00 |
|
躁动的氨气
|
6be85a03af
|
feat: 提高莉奈娅挖矿容错,删除js处的调用接口 (#3073)
|
2026-04-28 22:57:05 +08:00 |
|
Bread Grocery
|
e06b105365
|
fix(js): 修复模块被导入时副作用代码被重复执行 (#3070)
|
2026-04-24 10:32:14 +08:00 |
|
躁动的氨气
|
99a17010d2
|
feat: 使用yolo进行莉奈娅挖矿 (#3058)
|
2026-04-20 13:49:53 +08:00 |
|
辉鸭蛋
|
0e49ed0ea0
|
Merge branch 'main' into d-v3
# Conflicts:
# BetterGenshinImpact/App.xaml.cs
|
2026-04-06 21:34:59 +08:00 |
|
提瓦特钓鱼玳师
|
fc7993afda
|
添加JS脚本文件夹下文件重命名功能 (#2960)
|
2026-03-26 13:40:33 +08:00 |
|
辉鸭蛋
|
aef3fa913b
|
自动烹饪修改成独立任务 (#2949)
|
2026-03-23 02:31:14 +08:00 |
|
Shadow-Lemon
|
1e9b72e547
|
fix: 修复同时存在多个脚本仓库文件夹时迁移优先级出错 (#2906)
Co-authored-by: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com>
|
2026-03-12 00:08:26 +08:00 |
|
Shadow-Lemon
|
5dcbd9b577
|
fix: 修复命令行启动时自动更新阻塞导致 StartGameTask 跳过等待主界面的问题 (#2902)
Co-authored-by: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com>
|
2026-03-11 09:56:01 +08:00 |
|
DarkFlameMaster
|
5a5b77266e
|
feat(JS): 支持调用 C#中含out/ref参数的方法 (#2884)
* feat(JS): 支持调用 C#中含out/ref参数的方法
* 新增NewVarOfArr方法用于支持交错数组
* 多删了一行
|
2026-03-09 23:42:44 +08:00 |
|
云端客
|
65b5032e6e
|
[开放JS 调用 API]自动幽境危战 (#2882)
|
2026-03-08 21:13:18 +08:00 |
|
DarkFlameMaster
|
8b7d2353e5
|
feat(js):地图追踪增加读取目录下的内容等方法 (#2875)
* feat(js):地图追踪增加读取目录下的内容等方法
* refactor(AutoPathingScript): 重构文件操作方法到LimitedFile类
* fix
* docs(AutoPathingScript): 修正方法参数注释中的默认值描述
* 避免重复初始化实例,给恢复游戏窗口焦点的日志也加上当前窗口名
|
2026-03-05 01:13:52 +08:00 |
|
云端客
|
cac0dfc754
|
开放自动地脉花 JS调用 (#2789)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-02-24 11:12:16 +08:00 |
|
辉鸭蛋
|
b4cbfdc620
|
Merge branch 'main' into d-v3
|
2026-02-22 00:48:46 +08:00 |
|
ShadowLemoon
|
12423edd6e
|
fix: 修复迁移订阅触发时机 (#2811)
|
2026-02-21 11:46:24 +08:00 |
|
ShadowLemoon
|
f7976b0bbd
|
feat: 根据文件夹名字和内容重合度区分仓库;启动时自动更新仓库和订阅 (#2767)
* feat: 实现启动时自动更新已订阅脚本及多仓库分离存储
- ScriptConfig: 新增 AutoUpdateSubscribedScripts 配置项
- ScriptRepoUpdater: 动态 CenterRepoPath, 按仓库URL分离存储
- 内容重合度检测(Jaccard系数)判断仓库异同
- URL→文件夹名持久化映射(repo_folder_mapping.json)
- repo_updated.json 存放于各自仓库文件夹内
- AutoUpdateSubscribedScripts 启动时自动更新订阅脚本
- 静默同步仓库、渠道URL解析、检出更新脚本
- RepoWebBridge: 使用动态路径, 辅助方法改为 internal
- MainWindowViewModel: 启动时调用自动更新
* feat: 基于内容重合度的导入zip仓库
* perf: 合并默认仓库url映射
* perf: 清理兼容字段
* perf: 添加线程锁以避免并发调用
* fix: 缓存FolderMapping、修复重合度异常返回值、目录扫描异常隔离、移除未使用变量
* perf: 优化更新流程
* perf: 内存缓存添加锁
* fix: 修复更新状态逻辑,确保克隆失败时不标记为已更新
* perf: 文件夹映射先写磁盘再写缓存
* refactor: 简化生成唯一文件夹名称的方法,移除不必要的参数
* fix: ResetRepo加写锁并清理URL映射条目
* perf: 优化重合度算法
* docs: 更新注释
* fix: 仅重置实际更新成功的脚本的 hasUpdate 标记
* feat: 手动一键更新按钮
* feat: 订阅路径迁移至独立文件存储并简化更新逻辑
- 订阅数据从 config.json 迁移到 User/subscriptions/{repo}.json 独立文件
- 添加 ReaderWriterLockSlim 保护订阅文件并发读写
- 使用 System.Text.Json + ConfigService.JsonOptions 序列化
- 新增 RepoWebBridge.GetSubscribedScriptPaths() 桥接方法
- 启动时自动从旧 config.json 迁移订阅数据到独立文件
- 合并手动/自动更新为 UpdateAllSubscribedScriptsCore 共用核心
- 移除 hasUpdate 检查,直接全量更新所有订阅脚本
- 移除冗余 logPrefix 参数
* refactor: 简化启动时自动更新调用
- 移除 Task.Run + try-catch 包装,异常处理已内置于方法中
- 直接使用 fire-and-forget 异步调用
* fix: 订阅目录命名改为 PascalCase (Subscriptions)
* refactor: 移除死代码和冗余中间层方法
* fix: ReadSubscriptionFile 异常时记录日志避免订阅数据静默丢失
* fix: 进度条改为Indeterminate模式、异常日志补全、订阅去重、迁移批量写入、锁注释
* refactor: 提取 ReadFolderMappingFromDisk 消除映射方法嵌套 try
* fix: 补全静态方法异常日志、WriteSubscriptionFile异常保护、ManualUpdate注释
* fix: ManualUpdateSubscribedScripts 加 try-catch 兜底并提示用户重置仓库
* fix: Dialog打开时检测后台自动更新状态,自动禁用按钮并显示进度提示
- ScriptRepoUpdater 新增 IsAutoUpdating 标志和 AutoUpdateStateChanged 事件
- ScriptRepoWindow 订阅事件,自动更新期间显示进度条、禁用所有操作按钮并 Toast 提示
- 更新仓库/重置仓库按钮也加上 IsEnabled 绑定 IsUpdating
* fix: 将自动更新调用包裹在 Task.Run 中避免 UI 线程阻塞
AutoUpdateSubscribedScripts 的 await 后续会被 WPF SynchronizationContext
调度回 UI 线程,导致大量 Git checkout 和文件 IO 操作阻塞界面。
用 Task.Run 确保整个流程在线程池执行。
* fix: 进度条分离 IsProgressIndeterminate 属性,按操作类型正确切换确定/不确定模式
* refactor: 消除 pathing 展开重复逻辑、用布尔字段替换字符串比较追踪状态来源、补全锁注释、统一日志方式
* fix: ExpandTopLevelPaths 泛化展开所有 PathMapper 顶层 key 防止误删用户目录,迁移移入锁内
* fix: 命令行启动配置组/一条龙前先等待自动更新订阅脚本完成
* feat: 添加命令行启动时是否先自动更新选项
* fix: 修复按钮位置
|
2026-02-20 15:09:17 +08:00 |
|
辉鸭蛋
|
a10c9b8a8b
|
Merge branch 'main' into d-v3
|
2026-02-18 16:17:15 +08:00 |
|
辉鸭蛋
|
a0584f6fdc
|
feat(script): 向脚本引擎添加新的Bv视觉类
添加BvPage、BvLocator和BvImage类型到脚本引擎的宿主对象中,扩展脚本的视觉识别能力。
|
2026-02-18 13:03:02 +08:00 |
|
辉鸭蛋
|
cf554cceed
|
Merge branch 'main' into d-v3
# Conflicts:
# BetterGenshinImpact/App.xaml.cs
# BetterGenshinImpact/BetterGenshinImpact.csproj
|
2026-02-17 19:44:44 +08:00 |
|
辉鸭蛋
|
9f67726781
|
I18n v2 (#2709)
* feat(i18n): 添加界面与日志的国际化支持
- 新增 ITranslationService 接口及 JsonTranslationService 实现,提供基于 JSON 的翻译服务
- 添加 TrConverter 转换器,支持通过绑定动态翻译界面文本
- 引入 AutoTranslateInterceptor 行为,自动扫描并翻译界面中的静态文本
- 集成 TranslatingSerilogLoggerProvider,实现日志输出的实时翻译
- 在 App.xaml 中注册全局样式,为 Window、UserControl 和 Page 启用自动翻译
* refactor(AutoTranslateInterceptor): 优化自动翻译拦截器的加载与应用机制
- 移除 HomePage 中冗余的 EnableAutoTranslate 属性设置,改为继承属性
- 通过类构造函数注册全局 Loaded 事件处理器,替代在每个元素上单独添加
- 引入请求队列机制,批量处理待应用翻译的元素,避免重复调度
- 扩展属性类型检查,支持 object 类型以处理更多动态内容场景
* fix: 移除全局自动翻译拦截器以避免冲突
移除在 App.xaml 中为 Window、UserControl 和 Page 全局设置的 AutoTranslateInterceptor,
改为仅在 PickerWindow 中显式启用。这解决了全局样式可能导致的意外行为或冲突。
* feat(ui): 为多个窗口启用自动翻译拦截器
为 MapLabelSearchWindow、ArtifactOcrDialog、PromptDialog 等 14 个窗口添加了 AutoTranslateInterceptor.EnableAutoTranslate 属性,以启用自动翻译拦截功能。
* feat(i18n): 添加国际化目录支持并优化异常处理
* feat(ui): 添加软件UI语言设置并改进翻译服务
- 在通用设置页面新增UI语言选择控件,支持动态切换界面语言
- 修改游戏语言标签为“原神游戏语言”以明确区分
- 改进JsonTranslationService,支持UI语言切换时的实时翻译更新
- 优化AutoTranslateInterceptor,缓存原始文本值并在语言切换时恢复
- 添加属性变更监听机制,确保UI元素在语言切换后正确刷新
* feat(自动翻译): 添加排除自动翻译的依赖属性
在 AutoTranslateInterceptor 中新增 ExcludeAutoTranslate 附加属性,允许对特定依赖对象禁用自动翻译功能。当遍历元素进行翻译时,会检查此属性并跳过已标记排除的元素。
* feat(translation): 为缺失文本翻译添加详细上下文信息
扩展翻译服务以收集缺失文本的详细上下文,包括视图路径、元素类型、属性名等。
重构 `ITranslationService` 接口,引入 `TranslationSourceInfo` 类封装上下文信息。
修改 `AutoTranslateInterceptor` 自动收集 UI 元素信息,`JsonTranslationService` 合并多来源上下文。
* Revert "feat(自动翻译): 添加排除自动翻译的依赖属性"
This reverts commit a1c2334951.
* fix: 跳过 GridViewRowPresenter 中的文本翻译
添加 IsInGridViewRowPresenter 检查,避免在 GridViewRowPresenter 控件内进行自动翻译,防止潜在的界面显示问题。
* fix: 修复自动翻译拦截器在组合框上下文中的误触发
在自动翻译拦截器中添加了 IsInComboBoxContext 方法,用于检测依赖对象是否处于 ComboBox 或其相关弹出菜单的上下文中。当检测到对象位于组合框上下文时,跳过自动翻译逻辑,避免对下拉选项等界面元素进行不必要的翻译操作,从而解决潜在的界面干扰问题。
* feat(translation): 添加缺失翻译上报至 Supabase 的功能
- 新增 IMissingTranslationReporter 接口及 SupabaseMissingTranslationReporter 实现
- 在 JsonTranslationService 中集成缺失翻译上报逻辑
- 添加缺失翻译收集的配置设置(MissingTranslationCollectionSettings)
- 优化缺失翻译文件的序列化格式,将 Source 字段改为紧凑的数字表示
- 移除 ScriptRepoUpdater 中未使用的 using 语句
- 在 App.xaml.cs 中注册 SupabaseMissingTranslationReporter 服务
* fix: 修复自动翻译功能中原始值恢复和重复报告问题
- 移除未使用的法语翻译支持以简化语言选项
- 修复 Supabase 报告序列化时移除冗余字段
- 添加已缺失翻译键的缓存以避免重复报告
- 重构自动翻译拦截器,将原始值存储移至依赖属性
- 修复原始值恢复逻辑,确保正确遍历所有子元素
* feat(ui): 添加更新UI语言文件功能
- 在 ITranslationService 接口中添加 Reload 方法
- 在 JsonTranslationService 中实现 Reload 方法,支持重新加载语言文件并发送变更通知
- 在通用设置页面添加“更新”按钮,点击后从远程仓库下载最新语言文件
- 实现 OnUpdateUiLanguageAsync 命令,支持从 GitHub 和镜像源下载语言文件
- 下载后自动替换本地文件并重新加载翻译服务
|
2026-02-15 19:03:33 +08:00 |
|
躁动的氨气
|
2f3ca34704
|
fix: 键鼠回调改为异步事件分发 (#2741)
* fix: 键鼠回调改为异步事件分发
* 添加队列限制与并行锁
* Update BetterGenshinImpact/Core/Script/Dependence/KeyMouseHook.cs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* 只允许外部dispose
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
|
2026-02-07 16:58:07 +08:00 |
|
躁动的氨气
|
6b2f2543c4
|
feat: 支持仓库使用公共资源 (#2716)
|
2026-02-05 01:48:06 +08:00 |
|
bling-yshs
|
2ced2862b3
|
fix: 修复 JS 脚本 multi-checkbox 配置项删除后仍能读取到旧值的问题 (#2725)
|
2026-02-05 01:36:08 +08:00 |
|
躁动的氨气
|
b612e70592
|
feat: 添加bgi版本获取 (#2692)
|
2026-01-26 02:40:24 +08:00 |
|
躁动的氨气
|
de79d8a61c
|
feat: 添加进出千星以刷新CD (#2677)
|
2026-01-24 00:45:05 +08:00 |
|
Jamis
|
cbef23b7ba
|
Use nullable types for genshin-map coordinates (#2650)
|
2026-01-18 21:56:50 +08:00 |
|
辉鸭蛋
|
9372c007f8
|
一键更新失败的时候不抛出错误
|
2026-01-16 22:37:36 +08:00 |
|
ShadowLemoon
|
cd3ace0b62
|
perf: 减少一次拉取,提升100% (#2619)
|
2026-01-12 21:44:08 +08:00 |
|
辉鸭蛋
|
16a8142faa
|
feat: add progress reporting for repository fetch and clone operations
|
2026-01-11 01:15:45 +08:00 |
|
辉鸭蛋
|
6db5926dce
|
fix: reset repository reference after update failure
|
2026-01-10 23:55:44 +08:00 |
|
ShadowLemoon
|
24c134fb11
|
fix: 始终重新克隆脚本仓库 (#2614)
|
2026-01-10 23:45:13 +08:00 |
|
躁动的小氨气
|
26d8499419
|
新手引导标志迁移至本体 (#2612)
|
2026-01-10 21:53:33 +08:00 |
|
辉鸭蛋
|
7229bf1c05
|
fix get
|
2026-01-05 00:29:59 +08:00 |
|
ShadowLemoon
|
d830dea328
|
perf: 极大加快脚本仓库的拉取速度 (#2359)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-01-04 22:19:32 +08:00 |
|
DarkFlameMaster
|
cd5b22548c
|
feat:JS添加自动剧情的实时任务时,支持传入参数 (#2591)
|
2026-01-03 16:24:53 +08:00 |
|
Bread Grocery
|
d46d594f31
|
fix(js): 修复使用ESM时,仅使用同步代码报错 (#2592)
|
2025-12-30 17:44:58 +08:00 |
|
DarkFlameMaster
|
bda91816d4
|
fix: KeyMouseHook相关 (#2588)
|
2025-12-30 17:43:33 +08:00 |
|
辉鸭蛋
|
8e292fcda3
|
Merge branch 'main' into d-v3
|
2025-12-23 00:30:26 +08:00 |
|
DarkFlameMaster
|
88bcf9b151
|
暴露键鼠回调给js层 (#2571)
Co-authored-by: Eavina <147073068+Eavina@users.noreply.github.com>
|
2025-12-23 00:25:49 +08:00 |
|
躁动的氨气
|
a40643e828
|
添加虚拟域名情况下README内图片获取支持 (#2552)
|
2025-12-15 01:32:10 +08:00 |
|