kaedelcb
dc1c25ee00
优化添加一条龙任务添加的弹窗UI ( #3068 )
2026-05-02 18:57:06 +08:00
辉鸭蛋
e5aa33c577
原神HDR自动关闭
2026-05-02 18:23:13 +08:00
火山
e78d54ba2a
修改调度器配置设置的默认值,提供新建配置组的部分预设参数 ( #3077 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-27 19:46:14 +08:00
ddaodan
fb527a13c4
自动地脉花补充战斗中寻敌配置 ( #3059 )
2026-04-20 13:49:43 +08:00
kaedelcb
2a53fb9742
新增基于怪物死亡经验判断是否执行聚集材料 ( #3051 )
2026-04-15 23:34:07 +08:00
ema
30d11bed4c
替换修复秘境选择控件 ( #3019 )
2026-04-09 23:21:35 +08:00
辉鸭蛋
c8d10614c5
翻译排除了一些动态文本的场景
2026-04-06 16:02:56 +08:00
ddaodan
907fe5b3c2
优化通知事件选择界面 ( #3001 )
2026-04-06 13:08:28 +08:00
ShadowLemoon
c5f7a68e79
feat: 通知设置添加超链接查看事件id ( #2976 )
2026-03-29 21:45:36 +08:00
辉鸭蛋
03a4102fe7
Revert "文本识别的模糊匹配功能 ( #2799 )"
...
This reverts commit e9d11f7267 .
2026-03-29 00:31:13 +08:00
辉鸭蛋
8300d9dd7c
自动烹饪支持自动识别已经满熟练度 #2958
2026-03-27 02:46:03 +08:00
辉鸭蛋
aef3fa913b
自动烹饪修改成独立任务 ( #2949 )
2026-03-23 02:31:14 +08:00
辉鸭蛋
1a478affb2
后台对话完之后自动将原神切到前台 #2350
2026-03-22 15:53:10 +08:00
Tristan
713589734b
feat: 自动地脉花支持领奖后扫描掉落物 ( #2928 )
2026-03-21 16:37:29 +08:00
辉鸭蛋
33013fd7a5
OCR修改默认强制推理配置
2026-03-17 01:28:14 +08:00
ddaodan
23de87d1a6
feat: 为自动地脉花配置新增万叶与琴的拾取选项 ( #2862 )
2026-02-28 23:59:04 +08:00
ddaodan
01f1beba0b
feat: 自动地脉花独立战斗配置与OCR遮罩 ( #2829 )
2026-02-26 10:13:38 +08:00
辉鸭蛋
95e0f01753
新增小地图遮罩,在小地图上展示资源点位 ( #2830 )
2026-02-24 15:34:50 +08:00
辉鸭蛋
fe61549c95
彻底删除 实验功能 遮罩以原神子窗体方式启动 UseSubform
2026-02-22 18:17:38 +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
Takaranoao
e9d11f7267
文本识别的模糊匹配功能 ( #2799 )
...
* chore: add AGENTS.md to .gitignore
* feat(config): 新增 AllowDuplicateChar OCR配置项
* refactor(ocr): Rec 暴露protected成员、提取RunInference、支持AllowDuplicateChar
* feat(ocr): 打通 AllowDuplicateChar 参数链 PaddleOcrService → Rec
* feat(ocr): OcrUtils 新增 CreateLabelDict/CreateWeights 工具方法
* feat(helpers): 新增 LruCache 缓存工具类
* feat(ocr): 新增 RecMatch DP模糊匹配识别器
* test(helpers): 新增 LruCache 单元测试
* test(ocr): 新增 RecMatch.GetTarget / CreateLabelDict 单元测试
* fix(ocr): 修复 RecMatch 中权重矩阵乘法的使用方式
* refactor(ocr): 合并 RecMatch 到 Rec,提取可测试静态方法,补充单元测试
将 RecMatch 子类合并到 Rec 中,消除继承关系和重复的批处理逻辑(提取 RunBatch<T>)。
将 GetTarget 核心逻辑和 GetMaxScoreDP 提取为 OcrUtils 静态方法以便独立测试。
重命名测试文件并新增 16 个单元测试覆盖 MapStringToLabelIndices、GetMaxScoreDP、CreateWeights。
* feat(ocr): 将 Rec.RunMatch 暴露给 JS 引擎和内部 C# 代码
新增 IOcrMatchService 接口,提供基于 DP 模糊匹配的 OcrMatch/OcrMatchDirect 方法,
返回 0~1 置信度分数。PaddleOcrService 实现该接口,OcrFactory.PaddleMatch 保证
非 null 返回(引擎不支持时自动回退到普通 OCR + 编辑距离字符串比较)。
BvPage 新增 OcrMatch/WaitForOcrMatch 供 JS 脚本使用,阈值可通过配置调整。
* feat(ui): 为 OCR 配置添加允许重复字符和模糊匹配阈值的设置项
在通用设置页 OCR 配置区域新增两个控件:
- 允许连续重复字符(AllowDuplicateChar)开关
- OCR模糊匹配阈值(OcrMatchDefaultThreshold)输入框
* fix: 修复 PR #2799 代码审查中发现的多项问题
- 修复 Rec.cs 空文本时 score/sb.Length 除零产生 NaN
- 修复 BvPage.cs rect==default 时同一对象被双重 Dispose
- 移除 Rec.cs Finalizer 避免 GC 线程加锁死锁
- 移除 CacheHelper WeakKey 无效功能,简化为直接 Dictionary 查找
- 添加 weights 数组长度与模型输出维度校验
- 修复 CreateLabelDict 空格标签索引冲突
- 修复 GetMaxScoreDP availableCount=0 除零
- 修复 OcrMatchFallbackService Contains 大小写敏感
- 修复 BvPage.cs DefaultRetryInterval=0 除零
- 添加 OcrMatchDefaultThreshold [0,1] 范围约束
- 提取 PaddleOcrService BGRA→BGR 转换辅助方法
- 使用 Interlocked.CompareExchange 修复 OcrFactory Fallback 线程安全
- 增大 LruCacheTests BuilderTest TTL 裕量避免 CI 不稳定
- 更新 .gitignore 注释
* fix: 修复 OcrMatch 归一化分母导致多区域匹配分数过低的 bug,改进 UI
- 修复 GetMaxScoreFlat 中 availableCount 使用非空图像数作为分母,
导致多文字区域场景下匹配分数被过度稀释的问题,改为使用 target.Length
- AllowDuplicateChar 设置项添加"需重新加载OCR引擎"的提示
- OCR模糊匹配阈值控件从 TextBox 改为 Slider + 数值显示
- 移除 Det 类中有问题的 finalizer(含锁的析构函数可能导致死锁)
- 补充多区域场景的单元测试
* feat(ocr): 添加队伍切换时使用OcrMatch模糊匹配的选项和相关配置
* fix(ui): 更新匹配成功阈值默认值为 0.8
* fix(ocr): 修复队伍切换逻辑中的空值处理和优化代码结构
* refactor: 简化 LruCache,移除弱引用支持和 Builder 模式
- 移除有 TOCTOU bug 的 WeakReference 支持(且无实际使用方)
- CacheItem 类改为 ValueTuple 减少堆分配
- 无过期时不再赋值 DateTime.MaxValue,过期检查短路跳过
- 移除仅剩两参数的 LruCacheBuilder,直接使用构造函数
* fix(ocr): 修复 CreateWeights 中空格字符权重写入错误索引的 bug
复用 CreateLabelDict 构建索引映射,确保空格映射到 labels.Count+1,
与 CreateLabelDict 保持一致。添加对应测试用例。
* fix(ocr): 修复 GCHandle.Alloc 失败时 finally 中 Free 掩盖原始异常的问题
* fix(ocr): 添加队伍选择按钮存在性检查,避免 PartySetupFailedException
* fix(ocr): 调整 OcrMatchDefaultThreshold 的 TickFrequency 为 0.01
* fix(ocr): 修复区域裁剪逻辑,确保裁剪尺寸不为负值
* fix(ocr): 优化字符置信度提取逻辑,直接按目标字符索引查找置信度
* fix(ocr): 修正变量命名以保持一致性,调整方法名大小写
* fix(ocr): 修改 CreateWeights 方法以使用标签字典和标签计数,优化权重创建逻辑
* fix(ocr): 更新 OCR 置信度阈值设置,确保阈值范围为 0.01 到 0.99,并优化相关逻辑
2026-02-20 15:08:46 +08:00
mno
77f8013bb0
更正自动拾取掉落物为扫描掉落物光柱 ( #2795 )
...
* 更正自动拾取掉落物为扫描掉落物光柱
原表述易引起误会,以为捡东西就要开启,改为更明确的扫描掉落物光柱以说明其功能
同时,该方法仅作为无万叶和琴时的备选方案,效果原差于直接使用聚集材料动作,将原”与万叶配合更佳“更正为”仅在无万叶时备用“
* Update en.json
更正en.json
2026-02-18 20:24:04 +08:00
辉鸭蛋
2f7e64ac57
fix(自动地脉花): 更新图标并改进异常处理日志
...
- 将自动地脉花功能图标从原图标更改为新图标
- 将自动地脉花任务失败时的日志级别从 Error 调整为 Debug,并添加简化的 Error 日志
- 在自动战斗任务结束时忽略 NormalEndException 和 TaskCanceledException 异常
2026-02-17 23:31:23 +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
ddaodan
c24329eca6
新增:自动地脉花独立任务 ( #2583 )
...
* 新增自动地脉花任务代码
* 新增自动地脉花任务资源
* 优化自动地脉花界面文案
* 删除地脉花旧脚本与无用资源
* 完善自动地脉花说明与任务日志
* 完善一条龙地脉花配置与教程入口
* feat: Enhance AutoLeyLineOutcrop functionality and add new pathing data
- Refactored combat text detection logic to improve accuracy.
- Added new regions and positions for "挪德卡莱" in LeyLineOutcropData.json.
- Introduced new pathing files for "挪德卡莱4-望崖营垒" and "挪德卡莱5-厄布拉神柱".
- Updated config.json with new strategies and coordinates for enhanced navigation.
- Improved error handling during party switch operations.
- Removed outdated README.md file from pathing assets.
* 修复一些日志打印
* 移动所有assets文件
* feat: clear drawn content in VisionContext before activating mask window
---------
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com >
2026-02-14 16:35:17 +08:00
躁动的氨气
292dc8fb4f
feat: 显示后台角色技能cd ( #2754 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com >
2026-02-13 23:19:32 +08:00
this-Fish
0d466e5022
修改二次拾取,使万叶能再次拾取。 ( #2760 )
2026-02-13 22:24:27 +08:00
辉鸭蛋
42ef97b1cd
Revert "feat: 为多个窗口启用自动翻译拦截器"
...
This reverts commit fc942bd8cd .
2026-01-28 01:24:04 +08:00
辉鸭蛋
fc942bd8cd
feat: 为多个窗口启用自动翻译拦截器
...
为 MapLabelSearchWindow、ArtifactOcrDialog、PromptDialog 等十三个 WPF 窗口添加了 AutoTranslateInterceptor 行为,以启用自动翻译功能。这确保了应用程序界面的文本内容在需要时可以被正确拦截并处理,提升国际化支持。
2026-01-28 01:22:09 +08:00
辉鸭蛋
62481baba9
地图遮罩功能(把米游社大地图搬到原神内) ( #2655 )
2026-01-26 02:58:23 +08:00
躁动的氨气
de79d8a61c
feat: 添加进出千星以刷新CD ( #2677 )
2026-01-24 00:45:05 +08:00
DarkFlameMaster
1d3e44c113
独立出自动剧情的自定义选项,JS调用时允许忽略内置选项条件 ( #2639 )
2026-01-19 21:15:50 +08:00
DarkFlameMaster
2d5c7f6e1f
新增一条龙配置的重命名与删除 ( #2658 )
2026-01-19 15:36:03 +08:00
辉鸭蛋
5f4185b7f0
添加动态修改log窗口位置的功能
2026-01-17 16:07:34 +08:00
辉鸭蛋
36477f9d39
UI:级联选择框选择副本
2026-01-15 01:48:19 +08:00
辉鸭蛋
1c05245b83
feat: add option to start game with CMD for improved launch flexibility
2026-01-14 01:43:22 +08:00
辉鸭蛋
3d526c2314
为画中画窗口新增了60帧的模式
2025-12-14 15:39:34 +08:00
erfang
47784ca01c
### 功能说明 ( #2528 )
...
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com >
2025-12-14 14:09:02 +08:00
std::bad_alloc
f618f87326
为自动剧情添加画中画功能 ( #2484 )
...
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com >
2025-12-14 13:31:19 +08:00
ShadowLemoon
8f432f6a43
feat: 优化进入幽境危战的流程 ( #2537 )
2025-12-14 00:28:16 +08:00
ShadowLemoon
15d688797f
fix: 优化启动参数的文本框 ( #2523 )
2025-12-07 23:37:52 +08:00
DarkFlameMaster
c4df2324b5
自动剧情支持自定义关键词 #2435 ( #2497 )
2025-11-30 21:47:18 +08:00
ShadowLemoon
e659fec281
fix: 修复独立窗口的样式 ( #2465 )
2025-11-15 12:08:55 +08:00
Aether-1013
26947144be
增加首页图片更换功能 ( #2431 )
...
Co-authored-by: Aether <example@example.com >
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com >
2025-11-14 22:12:21 +08:00
bling-yshs
b43a2b7554
feat: 添加JS脚本和地图追踪的右键删除功能 ( #2455 )
2025-11-14 22:12:06 +08:00
bling-yshs
cb0bd2310a
feat: 支持调整遮罩文本透明度 ( #2454 )
2025-11-09 17:49:49 +08:00
kaedelcb
00adec5709
优化盾奶位功能/旋转寻敌 ( #2292 )
2025-10-10 23:16:39 +08:00
kaedelcb
2bf9eb9495
新增战后琴拾取/地图追踪聚材料命令 ( #2320 )
2025-10-10 22:09:19 +08:00
kaedelcb
8dcf563b31
新增战斗中的游泳检测 ( #2315 )
2025-10-10 02:51:38 +08:00
kaedelcb
b71aa8c266
修复盾位选择列表问题 ( #2282 )
2025-09-30 15:50:41 +08:00