辉鸭蛋
|
864efb42a3
|
fix bug
|
2026-03-09 03:07:21 +08:00 |
|
辉鸭蛋
|
32582e39a9
|
Merge remote-tracking branch 'origin/main'
|
2026-03-08 21:30:47 +08:00 |
|
辉鸭蛋
|
6bcb63e996
|
修复宝箱图标刚好被遮住的场景 #2889
|
2026-03-08 21:30:38 +08:00 |
|
云端客
|
65b5032e6e
|
[开放JS 调用 API]自动幽境危战 (#2882)
|
2026-03-08 21:13:18 +08:00 |
|
DarkFlameMaster
|
b9e1c37b67
|
删除一条龙配置的弹窗主题与主窗口保持一致 (#2887)
|
2026-03-08 18:01:11 +08:00 |
|
guamian
|
a5829ed6bb
|
尝试修复游泳检测炸内存 (#2883)
|
2026-03-06 23:06:40 +08:00 |
|
DarkFlameMaster
|
8b7d2353e5
|
feat(js):地图追踪增加读取目录下的内容等方法 (#2875)
* feat(js):地图追踪增加读取目录下的内容等方法
* refactor(AutoPathingScript): 重构文件操作方法到LimitedFile类
* fix
* docs(AutoPathingScript): 修正方法参数注释中的默认值描述
* 避免重复初始化实例,给恢复游戏窗口焦点的日志也加上当前窗口名
|
2026-03-05 01:13:52 +08:00 |
|
ShadowLemoon
|
c3b8c9e78f
|
移除幽境危战调试日志 (#2881)
|
2026-03-05 01:12:44 +08:00 |
|
mno
|
b49910873e
|
添加check动作 (#2864)
|
2026-03-01 22:10:33 +08:00 |
|
Jamis
|
ea6a9a4af2
|
More granular control over pre-teleport delay (#2866)
|
2026-03-01 22:10:14 +08:00 |
|
辉鸭蛋
|
a51213dceb
|
Merge remote-tracking branch 'origin/main'
|
2026-03-01 01:59:59 +08:00 |
|
辉鸭蛋
|
e3c451cd92
|
不再翻译日志
|
2026-03-01 01:59:52 +08:00 |
|
DarkFlameMaster
|
e69283c3f2
|
更新蒙德凯瑟琳地图追踪文件 (#2861)
|
2026-02-28 23:59:29 +08:00 |
|
ddaodan
|
23de87d1a6
|
feat: 为自动地脉花配置新增万叶与琴的拾取选项 (#2862)
|
2026-02-28 23:59:04 +08:00 |
|
huiyadanli
|
dad2e8ef7d
|
Update version to 0.57.2-alpha.1
|
2026-02-27 17:14:21 +00:00 |
|
辉鸭蛋
|
7e944e18fb
|
法尔伽信息补充
|
2026-02-28 01:04:47 +08:00 |
|
辉鸭蛋
|
f1154e6ef7
|
地图遮罩改为异步任务,不影响自动拾取
|
2026-02-28 00:36:10 +08:00 |
|
DarkFlameMaster
|
b2d5988d24
|
fix:适配秘境限时全开的UI改动 (#2854)
|
2026-02-26 21:38:36 +08:00 |
|
郝凯阳
|
c2b68cfee9
|
auto tcg: update character card config to v6.4 (#2849)
|
2026-02-26 18:32:33 +08:00 |
|
HSHMENG
|
6668a89fa7
|
七圣召唤配置文件中可以设置骰子数量增减 (#2832)
|
2026-02-26 10:15:53 +08:00 |
|
ddaodan
|
01f1beba0b
|
feat: 自动地脉花独立战斗配置与OCR遮罩 (#2829)
|
2026-02-26 10:13:38 +08:00 |
|
Guest Liang
|
9e3c8920ba
|
修复七圣召唤月之五伊涅芙会导致手牌不可调和的死循环 (#2848)
|
2026-02-26 10:08:44 +08:00 |
|
辉鸭蛋
|
ce31169f66
|
fix: 修复小地图遮罩在主界面外的显示逻辑
|
2026-02-26 00:44:26 +08:00 |
|
辉鸭蛋
|
53854e6d28
|
refactor: 简化进程去重逻辑,直接使用 GroupBy 和 Select
使用 GroupBy 和 Select 直接获取唯一的进程对象,避免创建中间字典和手动释放重复的 Process 对象,使代码更简洁。
|
2026-02-24 19:29:09 +08:00 |
|
huiyadanli
|
01c506fa13
|
Update version to 0.57.1-alpha.3
|
2026-02-24 07:36:36 +00:00 |
|
辉鸭蛋
|
95e0f01753
|
新增小地图遮罩,在小地图上展示资源点位 (#2830)
|
2026-02-24 15:34:50 +08:00 |
|
DarkFlameMaster
|
4aaca366f0
|
feat: JS级联选择 和 秘境选择 滚轮事件禁止穿透至其他窗口 (#2828)
|
2026-02-24 15:21:20 +08:00 |
|
云端客
|
cac0dfc754
|
开放自动地脉花 JS调用 (#2789)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-02-24 11:12:16 +08:00 |
|
huiyadanli
|
847bc8970e
|
Update version to 0.57.1-alpha.2
|
2026-02-23 16:03:39 +00:00 |
|
this-Fish
|
d4d99d34bc
|
feat: 为快速尘歌壶任务增加离开功能,支持进出双向操作 (#2822)
|
2026-02-23 19:02:45 +08:00 |
|
辉鸭蛋
|
f86abe3ceb
|
支持任意文件名的启动 (#2819)
|
2026-02-23 13:18:18 +08:00 |
|
躁动的氨气
|
b1c6e9e4e3
|
Revert "feat: 自动拾取文本识别帧间连续性检查 (#2676)" (#2817)
|
2026-02-22 19:38:10 +08:00 |
|
DarkFlameMaster
|
d632bdd9fc
|
fix:自动拾取黑名单配置文本框复制剪切时UI短暂无响应 (#2818)
|
2026-02-22 19:37:47 +08:00 |
|
辉鸭蛋
|
fe61549c95
|
彻底删除 实验功能 遮罩以原神子窗体方式启动 UseSubform
|
2026-02-22 18:17:38 +08:00 |
|
辉鸭蛋
|
6832d0f8d8
|
revert revert #2809 with #2763 , 减轻死锁问题的表现
|
2026-02-22 18:03:52 +08:00 |
|
辉鸭蛋
|
a872dde7c8
|
自动拾取排除:「月谕圣牌」收藏
|
2026-02-22 18:02:26 +08:00 |
|
ShadowLemoon
|
12423edd6e
|
fix: 修复迁移订阅触发时机 (#2811)
|
2026-02-21 11:46:24 +08:00 |
|
huiyadanli
|
9fe0209122
|
Update version to 0.57.1-alpha.1
|
2026-02-20 16:08:23 +00:00 |
|
辉鸭蛋
|
6e49368f0a
|
修复 #2804,树脂不足时候未终止自动秘境
|
2026-02-20 23:56:29 +08:00 |
|
辉鸭蛋
|
f80939dad4
|
去除所有 Cv2.ImRead ,解决中文路径问题
|
2026-02-20 22:28:45 +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 |
|
Takaranoao
|
20fe152630
|
尝试修复一些ROI越界 (#2808)
* fix: 修复多处 OpenCV ROI 越界导致的断言失败
在低分辨率(如 1280x720)下,多处 Rect 坐标计算未做边界保护,
直接传入 SubMat / new Mat(mat, rect) 时触发 OpenCV ROI 断言崩溃。
修复位置:
- Behaviours.cs: fishBoxRect 计算结果钳位到图像边界,修复钓鱼任务越界
- GridScreen.cs: PostProcess 中幻影格子(插值生成)越界时直接丢弃
- ImageRegion.cs: DeriveCrop 两个重载统一加入坐标钳位与有效性校验
- GetGridIconsTask.cs: CropResizeArtifactSetFilterGridIcon X/Y 坐标加非负保护
- GeniusInvokationControl.cs: 角色区域扩展和 HP 区域 Y 偏移各加边界保护
* chore: 为 AutoFishingTask 鱼饵图标裁剪补充说明注释
* refactor: 提取 Rect 钳位逻辑为共享扩展方法 ClampTo
将 6 处重复的 ROI 钳位代码统一为 CommonExtension.ClampTo 扩展方法,
采用交集语义(坐标钳位时宽高同步缩减,不会扩大矩形)。
删除 AutoLeyLineOutcropTask 中的私有 ClampRect 方法。
|
2026-02-20 15:08:19 +08:00 |
|
huiyadanli
|
3c883fcf05
|
Update version to 0.57.0
0.57.0
|
2026-02-20 05:06:59 +00:00 |
|
xytoki
|
a4684ee6f7
|
Update version to 0.56.4-alpha.4
|
2026-02-20 01:19:53 +00:00 |
|
xytoki
|
edf0c695c6
|
Update version to 0.56.4-alpha.3
|
2026-02-19 17:15:20 +00:00 |
|
xytoki
|
12db6280b2
|
Update version to 0.56.4-alpha.2
|
2026-02-19 16:05:23 +00:00 |
|
huiyadanli
|
ffec4aadbe
|
Update version to 0.56.4-alpha.1
|
2026-02-19 12:34:30 +00:00 |
|
xytoki
|
368ca18d9f
|
Update version to 0.56.3-alpha.8
|
2026-02-18 16:36:44 +00:00 |
|
xytoki
|
891c695383
|
Update version to 0.56.3-alpha.7
|
2026-02-18 15:49:04 +00:00 |
|