今天,ToolForge v0.1.10 正式发布!
ToolForge 是一款基于 Rust + Tauri 2 构建的开源桌面工具箱,面向开发者和效率工作者,希望通过一个应用整合日常开发、数据处理、文件管理和效率工具。
从 v0.1.7 到 v0.1.9,我们一直在丰富内置工具的功能。
而这次 v0.1.10,我希望解决一个更加重要的问题:
工具越来越多,是否每次增加新工具,都需要重新发布整个桌面应用?
因此,这个版本最大的变化是:
ToolForge 正式引入插件市场,支持在线安装、更新和卸载插件!
同时,项目还增加了 WASM 插件运行时、签名插件包、任务执行历史,以及大量开发者工具增强。
这次更新不仅是功能上的扩展,也是 ToolForge 插件架构的一次重要升级。
🚀 一、插件市场正式上线
这是本次版本最值得关注的更新。
此前,ToolForge 的工具主要随着桌面应用一起发布。
如果增加一个新工具,通常需要更新整个应用。
随着工具数量不断增加,这种方式显然不够灵活。
因此,v0.1.10 正式加入了 Tool Market(工具市场)。
现在可以直接在应用中:
-
浏览在线插件
-
安装插件
-
更新已安装的插件
-
卸载不再需要的插件
对于用户来说,不需要每次都等待桌面应用发布新版本,就有机会获取新的插件功能。
对于开发者来说,插件也可以拥有独立的发布与更新流程。
这意味着 ToolForge 开始从一个内置工具集合,向可扩展的桌面工具平台发展。
首个可安装插件:统一社会信用代码校验
为了验证新的插件分发机制,本次还推出了第一个可安装插件:
USCC Validator(统一社会信用代码校验)
这是 ToolForge 插件市场中的首个插件。
通过这个插件,也正式打通了从插件开发、打包、签名、发布到应用内安装的基本流程。
后续希望逐渐丰富插件市场,让更多工具能够以独立插件的形式提供。
🧩 二、引入 WASM 插件运行时
为了支持可安装插件,ToolForge 还新增了基于 WebAssembly Component Model 的插件运行时。
也就是 WASM Component Runtime。
WASM 提供了一种跨平台、模块化的代码执行方式。
对于 ToolForge 来说,引入 WASM 的主要目的,是为独立插件提供更加统一的运行基础。
本次新增的相关能力包括:
-
WASM Component 插件运行时
-
运行时动态注册插件
-
独立插件包格式
-
插件市场安装与管理
-
插件独立发布机制
全新的 .tfp 插件包
ToolForge 定义了专属插件包格式:
.tfp
插件包支持签名,用于插件分发过程中的完整性与来源验证。
同时,项目增加了相应的自动化发布流程。
现在插件可以通过 CI 构建、签名并发布对应的软件包及插件索引。
插件不再依赖应用发布周期
这次还调整了 GitHub Actions 发布流程。
插件更新可以独立于桌面应用版本发布。
同时,桌面应用正式发布时,也可以同步发布对应插件。
这一变化对 ToolForge 后续的发展很重要。
应用负责提供稳定的运行平台,插件负责不断扩展工具能力。
未来,希望更多开发者能够参与插件开发,而不必将所有功能直接集成到应用核心代码中。
🕘 三、新增任务历史与重新执行
本次还加入了一项很实用的功能:
工具执行历史(History)
对于开发者来说,很多工具操作并不是只执行一次。
例如:
-
JSON 数据格式化
-
文本编码转换
-
Hash 计算
-
数据格式转换
-
其他重复性文本处理
如果每次都需要重新输入参数,会增加一些不必要的重复操作。
现在 ToolForge 可以记录工具执行历史,并支持重新运行历史任务。
同时,主要文本类工具的执行操作也开始接入历史记录系统。
这项功能希望让工具不仅能够完成一次性操作,也可以更好地支持重复使用的工作流程。
✨ 四、开发者工具迎来一轮增强
除了插件市场,本次还对多个已有工具进行了增强。
1. 编码转换工具增强
Encoder 新增多种编码方式,包括:
-
Base58
-
Base85
-
Ascii85
-
Morse Code(摩尔斯电码)
同时增加了压缩编解码能力与处理流水线。
通过流水线,可以将多个处理步骤组合起来完成数据转换。
对于需要经常处理编码、压缩和转换操作的开发者来说,可以减少重复操作。
2. 新增 SemVer 版本比较
新增 SemVer 工具,支持:
例如在 Node.js 项目中,经常会遇到:
^1.2.0
~1.2.0
>=1.2.0 <2.0.0
这些版本范围表达式。
现在可以通过工具测试版本是否满足对应的范围要求。
对于维护 npm 包和项目依赖的开发者来说会比较实用。
3. Hex Viewer 增强
十六进制查看器新增:
除了按字节查看文件内容,还可以进一步分析二进制数据。
对于文件格式分析、逆向研究和二进制调试等场景,可以提供更多辅助信息。
4. 日志查看器增强
Log Viewer 现在支持识别并渲染 ANSI 颜色。
很多命令行程序会使用 ANSI 转义序列输出彩色日志。
此前,这类日志在普通文本查看器中可能无法正确展示颜色。
现在可以保留对应的颜色效果。
同时,还支持将日志导出为 HTML,方便保存和分享。
5. 文本对比增强
Text Diff 新增基于正则表达式的忽略规则。
在比较两份文本时,有些内容可能经常变化,但并不影响实际结果。
例如:
-
时间戳
-
随机生成的标识符
-
某些动态字段
-
不重要的日志内容
现在可以通过正则表达式规则忽略这些干扰信息,让文本差异更加清晰。
6. 正则表达式风险检测
Regex 工具新增灾难性回溯风险检测。
某些正则表达式在特定输入下可能发生大量回溯,导致执行时间急剧增加。
这类问题不仅影响性能,在某些情况下还可能引发 ReDoS 风险。
现在可以通过工具辅助识别潜在的灾难性回溯问题。
7. Hash 校验清单
Hash 工具新增校验清单的创建与验证功能。
对于需要分发文件、校验下载内容或者检查文件完整性的场景,可以使用校验清单进行批量核验。
8. JSON 工具增强
这次 JSON 相关工具也增加了多项功能。
JSON Schema
-
支持根据 JSON 示例推断 Schema。
-
支持离线 JSON Schema 验证。
JSON Formatter
-
支持将结构化差异导出为 JSON Patch。
-
新增 RFC 8785 JCS 规范化支持。
其中,JSON Canonicalization Scheme(JCS)可以按照规范生成一致的 JSON 表示。
对于需要处理 JSON 签名、内容一致性校验等场景具有一定价值。
9. 格式转换工具增强
Format Converter 新增更多数据格式支持:
进一步丰富了配置文件与结构化数据的处理能力。
10. 密码生成器增强
Password 工具新增 Passphrase 模式。
除了传统的随机字符密码,现在也支持生成由词语组成的密码短语。
为不同场景提供更多密码生成选择。
11. UUID 工具增强
UUID 工具新增 Snowflake ID 的生成和解析功能。
适用于需要处理分布式唯一标识符的开发场景。
12. HTTP Client 增强
HTTP Client 现在支持:
让日常 API 调试更加方便,减少重复配置请求参数和环境信息的工作。
🎨 五、官方网站正式上线
这次版本还有一项重要更新:
ToolForge 独立官方网站正式上线!
官方网站:
https://toolforge.devlive.org/
此前项目主要通过 GitHub 展示功能和发布版本。
随着工具数量持续增加,我希望有一个更加完整的网站,用于展示 ToolForge 的产品能力和插件生态。
本次对网站进行了重新设计,包括:
-
全新的首页与页面布局
-
更清晰的工具浏览与导航
-
工具版本状态展示
-
自动识别工具更新情况
-
Markdown 格式的更新日志
-
应用下载入口
-
网站 favicon
-
社交分享卡片
同时,网站与桌面应用的品牌视觉也统一调整为绿色主题。
希望让 ToolForge 的整体视觉风格更加统一。
🛠️ 六、问题修复与稳定性优化
本次版本还包含多项修复。
macOS 键鼠统计
修复 Input Stats 在 macOS 上遇到系统定义事件时可能崩溃的问题。
同时,完善了媒体键与功能键的事件捕获能力。
官方网站
优化了:
插件发布
完善插件相关 CI 流程:
-
插件工作流变更时自动触发检查
-
支持从 dev 默认分支发布插件
-
插件更新可以独立发布
-
应用发布时可同步发布插件
-
自动发布签名插件包及插件索引
此外,还修复了版本号在 minor、patch 达到两位数之后的进位处理问题。
🌱 七、ToolForge 正在从工具箱走向工具平台
从最初开发 ToolForge 时,我就希望它不仅仅是一个简单的工具集合。
日常开发中,我们经常需要各种小工具。
有些用于 JSON 处理,有些用于文件转换,还有些用于系统管理。
单独寻找和安装每个工具,会增加使用成本。
ToolForge 希望将这些能力整合起来,提供一个统一的桌面体验。
不过,随着工具不断增加,我也逐渐意识到:
仅仅依靠内置工具,并不是一个适合长期扩展的方式。
因此,这次 v0.1.10 重点完善了插件架构。
现在项目已经开始具备:
-
内置工具
-
在线插件市场
-
WASM 插件运行时
-
签名插件包
-
动态插件注册
-
插件独立发布
-
任务历史与重新执行
我希望未来的 ToolForge 不只是由我不断增加工具,而是能够逐步形成一个开放的插件生态。
让更多开发者能够开发自己的工具,并通过统一的平台进行分发和使用。
当然,目前插件生态仍然处于起步阶段,还有很多需要完善的地方。
📦 八、项目地址
项目名称: ToolForge
当前版本: v0.1.10
技术栈: Rust + Tauri 2
官方网站:
https://toolforge.devlive.org/
GitHub:
https://github.com/devlive-community/toolforge
版本下载:
https://github.com/devlive-community/toolforge/releases
完整更新记录:
https://github.com/devlive-community/toolforge/compare/v0.1.9...v0.1.10
项目完全开源,欢迎大家下载体验!
如果你已经在使用 ToolForge,可以升级到 v0.1.10,体验新的插件市场和工具增强功能。
❤️ 最后
对于我来说,v0.1.10 是 ToolForge 开发过程中的一个重要版本。
因为这次不仅增加了功能,还开始解决工具生态长期扩展的问题。
从内置插件到在线插件,从应用统一发布到插件独立更新,ToolForge 正在逐步形成自己的插件体系。
希望未来能够有更多开发者参与进来,一起完善这个开源工具平台。
如果 ToolForge 对你有所帮助,欢迎在 GitHub 点个 Star ⭐。
也欢迎通过 Issue 或 Pull Request 提出建议、反馈问题和参与开发。
最后想和大家讨论一个问题:
如果有一个支持独立安装插件的开源桌面工具箱,你最希望它提供哪些插件?
欢迎在评论区交流!
GitHub:https://github.com/devlive-community/toolforge
官网:https://toolforge.devlive.org/