Repository navigation
v1.0.6
简体中文 (Simplified Chinese)
Important
🎉 重磅更新:跨平台支持正式降临!
在 v1.0.6 版本中,我们迎来了极其重要的里程碑:全面支持跨平台运行! 除 Windows 外,现在已正式加入对 macOS (Apple Silicon) 与 Linux 系统的原生构建支持。结合底层的彻底重构与平台特异性优化,无论您使用哪个平台,都能获得一致且极为流畅的原生桌面体验。
✨ 新功能
- 集成并内置了来自
shinkuan/Akagi的二进制依赖库与模型权重文件。 - 更新了待机界面,加入了文案描述,现在的待机界面不再只有一个孤零零的呼吸灯。
- 加入了应用内自动检测更新功能,后续版本能从应用内第一时间获取最新版本动态。
🚀 性能提升
- 大幅重构前端动画与渲染过渡,并清理了大量无用的 HTML DOM classname 和 CSS 代码,显著提升界面渲染速度。
- 对 PyTorch 资源引入懒加载机制,大幅缩短应用启动时间并优化内存占用。
- 优化大量 Dataclass 数据结构的实现机制,提升后台服务运行效率。
- 移除不再使用的
TilePreloader组件,降低资源初始化过程中的冗余开销。
🎨 UI/UX 增强
- 移除网页感强烈的
no-drag属性及拖拽感,显著提升 Electron 客户端原生桌面级的使用体验。 - 恢复默认设置后的提示信息从干扰性较强的 Toast 通知改为在顶部状态栏内展示。
- 优化模型设置相关的提示与文案引导,并实装了更为严格的设置校验逻辑。
⚡ 改进与优化
- 移除已废弃的 规则驱动的和牌保护 配置选项。
- 移除前端
vite-plugin-compression和@vitejs/plugin-react,改为使用原生 Lightning CSS 进行压缩,并改用基于 Rust 的@vitejs/plugin-react-swc进一步提升前端代码热重载速度。
🛠️ 维护与重构
- 构建系统升级:配合多平台支持,将打包环境从 PyInstaller 全面平滑迁移至 Portable Python 体系;深度整合多平台的 CI/CD 流水线,针对 macOS 精确优化了文件签名与 C++ 引用依赖,并针对 Linux 排除了造成冗余体积的无关 CUDA 库。
- 架构治理:将 Electron 端的各项源码文件整体迁移并规整到
src/层级下;重构 App 初始化流程,精简异常错误处理与失效代码;将所有和组装打牌推荐相关的逻辑合并归拢,统一交由StateTracker类处理。 - 代码清理:将传统的
with open()操作重构为更现代的read_text()/write_text();清理StateTracker里遗留的失效空属性discardable_tiles_riichi_declaration。
🐛 问题修复
- 修复了玩家宣布立直时额外产生不必要的重复立直切牌推荐的 Bug。
🧪 测试与质量
- 进一步精简与优化针对状态追踪引擎
StateTracker的测试用例。
📦 更新依赖
- 升级前端环境依赖,重塑了
vite.config.ts以全面拥抱 Vite 8.0 体系结构。 - 升级主要的开发与生产级核心依赖:包含 Electron,
@types/node,tar,i18next,lucide-react。 - 升级了 CI/CD 的核心组件版本,将 GitHub Actions
actions/upload-artifact从 v6 升级到了 v7。 - 移除由于架构升级而废弃的
devtools-protocol开发依赖。
English
Important
🎉 Major Milestone: Cross-platform Support is Here!
With v1.0.6, we are thrilled to announce a critical milestone: fully-fledged cross-platform compatibility! In addition to Windows, Akagi-NG now officially provides native build support for macOS (Apple Silicon) and Linux systems. Accompanied by a thorough underlying infrastructure restructure and platform-specific optimizations, users across all ecosystems can now enjoy an identical and extraordinarily smooth native desktop experience.
✨ Major Features
- Integrated and bundled the binary dependencies and model weights from
shinkuan/Akagi. - Updated the standby interface with descriptive texts; the standby state is no longer just a solitary breathing light.
- Introduced an in-app automatic update detection feature to effortlessly keep you informed of the latest version releases.
🚀 Performance Improvements
- Deeply refactored frontend animations and rendering transitions while cleaning up massive amounts of dead HTML DOM classnames and CSS code, significantly boosting interface rendering speed.
- Introduced a lazy loading mechanism for PyTorch resources to dramatically and optimize application startup speed and memory usage.
- Optimized the implementation mechanisms of heavy Dataclass structures to enhance the execution efficiency of backend services.
- Removed the legacy
TilePreloadercomponent to reduce redundant overhead during resource initialization.
🎨 UI/UX Enhancements
- Removed heavy web-like
no-dragproperties and frustrating drag behaviors, significantly elevating the native desktop usability of the Electron client. - Shifted the notification for restoring default settings from disruptive Toast popups to a subtle display in the top status bar.
- Polished instructions and verbal guidance around model settings, while implementing strictly rigorous configuration validation logics.
⚡ Improvements & Refinements
- Removed the abandoned Rule-Based Agari Guard configuration option.
- Removed frontend dependencies
vite-plugin-compressionand@vitejs/plugin-react. Switched to native Lightning CSS for minification and adopted the Rust-based@vitejs/plugin-react-swcto further turbocharge frontend code Hot Module Replacement (HMR) speeds.
🛠️ Maintenance & Refactoring
- Build System Upgrade: Solidified multi-platform environments support by seamlessly migrating the packaging distributor directly from PyInstaller to the Portable Python ecosystem. Deeply integrated multi-platform CI/CD pipelines, precisely optimized code sign and C++ references for macOS, and safely excluded irrelevant CUDA libraries that caused bloated app sizes for Linux.
- Architectural Governance: Migrated and organized all Electron source code cohesively under the
src/directory. Streamlined the App initialization flow by condensing systematic error catching and resolving dead code. Consolidated all logics related to assembling discard recommendations into the unifiedStateTrackerclass. - Codebase Cleanup: Modernized traditional
with open()operations into more modernread_text()/write_text()patterns. Cleaned up the legacy phantom attributediscardable_tiles_riichi_declarationwithin theStateTracker.
🐛 Bug Fixes
- Fixed a bug where a player's declaration of Riichi would unexpectedly generate an unnecessary and duplicated discard recommendation.
🧪 Testing & Quality
- Further streamlined and optimized explicit test case suites targeting the state tracking engine
StateTracker.
📦 Dependency Updates
- Upgraded the frontend environment dependencies and reshaped
vite.config.tsto fully embrace with the newly updated Vite 8.0 architecture. - Bumped major core
production&developmentdependencies, including Electron,@types/node,tar,i18nextandlucide-react. - Upgraded CI/CD core component versions by successfully bumping GitHub Actions
actions/upload-artifactfrom v6 to v7. - Purged the
devtools-protocoldevelopment dependency which was deprecated due to recent architectural upgrades.
Full Changelog: v1.0.5...v1.0.6