《我用 Tauri 做了一个本地开发工具箱》

我把常用的开发小工具,做成了一个桌面应用

开发过程中,经常会遇到一些几分钟就能处理完的小事:格式化接口返回的 JSON、解码 URL 参数、转换时间戳、比较两份配置、计算文件哈希,或者把截图缩小后放进文档。

这些事情单独看都很简单,但工具分散时,操作就会变成"搜索网站、打开页面、粘贴内容、复制结果"。于是,我把自己常用的功能逐步整理到一起,做了一个本地桌面工具箱。

它最初只是一个程序员计算器,后来逐渐加入了编码、颜色、JSON、二维码、开发辅助和图片处理。目前共有七个功能页面,通过顶部 Tab 切换,输入和处理结果会在切换时保留。

我希望它用起来足够直接:打开工具,粘贴或拖入内容,完成处理,再把结果带回原来的工作中。

1. 程序员计算器:进制、位运算和表达式一起算

做客户端、协议解析或底层开发时,十六进制、位移和掩码计算很常见。KikyoTools 的计算器支持算术表达式、位运算、科学函数,以及十进制、十六进制、八进制、二进制互转。

例如:

text 复制代码
0x44 >> 2  → 17
0xFF & 0x0F → 15

还可以定义变量,分多行执行:

text 复制代码
mask = 0xFF
value = 0x1234
value & mask

整数计算采用有符号 64 位,纯整数运算不会先转成 JavaScript 浮点数。计算结果旁边可以直接查看不同进制表示,历史记录、变量和角度模式也会保存在本地。

2. 编码工具:把常用转换集中到一个地方

编码页面集成了 Unicode、UTF-8、URL、ASCII / Native、Hex、HTML、Base64,以及 Base16、Base32、Base58 转换。

调试接口时,可以直接解码 URL 参数;查看日志时,可以把 Unicode 转义恢复成中文;需要准备请求数据时,也可以快速完成 Base64 编码。

Unix 时间戳工具也放在这里,支持秒、毫秒与日期双向转换,并能切换本地时间和 UTC。输入带时区偏移的 ISO 日期时,会按其实际时间进行转换。

每个分类分别保留输入和结果,处理不同内容时可以来回切换。

3. 颜色转换:除了 RGB,也处理透明度和整数颜色值

颜色工具支持 RGB 与 HEX 互转,也加入了 ARGB、RGBA 和 32 位整数转换。

这部分对桌面端、移动端和前端开发都比较实用:同一个颜色,有时是 #RRGGBB,有时是 #AARRGGBB,还有些接口需要直接传一个整数。

比如 A=25、R=G=B=255 时:

text 复制代码
ARGB   #19FFFFFF
RGBA   #FFFFFF19
整数   436207615

界面会明确标注 Alpha 在前还是在后,同时显示有符号 int32 和无符号 uint32。透明度通过滑块调整,预览采用棋盘格背景,方便观察实际效果。

下方还有 148 个 CSS 标准命名颜色,可以按英文名、中文描述、HEX 或 RGB 搜索,点击色块即可填入转换区域。

4. JSON 工具:格式化之外,也关注数据本身

JSON 是我日常使用频率很高的一类工具,所以这里除了格式化,还提供了压缩、转义、反转义、压缩并转义,以及树形解析。

遇到复杂响应时,可以先展开对象和数组查看结构;遇到语法问题时,会显示错误所在的行列,并支持定位。

我比较在意的一点是大整数处理。例如:

json 复制代码
{"id":9007199254740993}

格式化和压缩时,这个 ID 会保留原文,不会因为经过 JavaScript Number 而发生舍入。键顺序和重复键同样保留,避免工具在整理格式的同时改变数据。

左右两个文本框支持自动换行,处理长字符串或压缩后的 JSON 时,不需要一直拖动横向滚动条。

5. 二维码:生成和识别都在本地完成

二维码工具有两个模式。

生成模式支持文本、网址、中文、Emoji 和多行内容,可以选择尺寸及纠错等级,下载 PNG 或 SVG。生成的是直接包含输入内容的静态二维码。

解析模式支持选择图片、拖入图片,或者粘贴截图。识别出的内容会以纯文本显示,可以直接复制,也可以回填到生成页面。对于其中的网址,应用不会自动访问。

例如,想把项目地址放进文档里,可以生成二维码后下载 SVG;收到一张二维码截图,也可以先解析内容,再决定如何使用。

6. 开发辅助:比较配置、校验文件、调试正则

这一页放了三项经常配合使用的工具。

文本对比按行显示新增和删除,支持忽略空白差异及逐处跳转。JSON 对比则按结构和路径列出变化,可以忽略对象键顺序,数组仍按位置比较。它沿用精确解析器,可以比较长整数;数值写法不同但值相同的 1、1.0、1e0 也会按相同数值处理。

哈希工具支持 MD5、SHA-1、SHA-256、SHA-512 和 CRC32,可以处理文本或文件。文件按块读取,提供进度和取消操作,也可以输入预期校验值,直接查看是否一致。

正则工具使用 JavaScript 正则语法,提供匹配高亮、捕获组、命名捕获组和替换预览。计算在后台 Worker 中运行,超过设定时间会终止,避免一个耗时表达式让整个界面失去响应。

7. 图片工具:为截图、网页和文档做准备

写 README 或博客时,经常需要缩小截图、转换格式、控制文件大小,因此我又加入了图片工具。

目前支持 PNG、JPEG、WebP 导出,可以调整 JPEG/WebP 质量,按宽高或百分比缩放,并显示处理前后的文件大小与体积变化。

透明图片也做了单独处理:PNG/WebP 保留透明度;转换成 JPEG 时,可以选择背景色,默认合成到白色背景。原图和处理结果并排显示,确认效果后再下载,原文件不会被覆盖。

当前版本按单张图片处理,动画只处理首帧。转换会重新编码图片,因此文件不一定总能变小,界面会显示实际变化。

这些功能有一个共同点:输入的文本、文件和图片都在本地处理,无需上传到外部转换服务。 对于接口数据、内部配置、日志和工作截图,我更愿意让它们留在自己的电脑里。

界面采用统一的深色风格,常用功能提供复制、快捷键和状态提示。切换 Tab 时保留当前内容,方便在 JSON 解析、编码转换和差异比较之间来回操作。多数工具的临时内容只保存在当前窗口内存中,计算器的历史、变量和角度模式则会保存到本地存储。

技术上,KikyoTools 使用 Tauri 2 + Vue 3 + TypeScript + Rust。Vue 和 TypeScript 负责界面及大部分本地转换,Rust 负责计算器的表达式运算。文件哈希和正则计算使用后台 Worker,尽量让处理过程保持可操作。

目前主要面向 Windows,其他平台尚未验证。项目已经放到 GitHub,仓库里有源码、使用说明和运行截图。如果你也经常需要处理这些开发中的小任务,欢迎试用,也欢迎提交问题或功能建议。

项目地址:传送门

想从源码运行,可以在准备好 Node.js、Rust 和 Tauri 所需系统依赖后执行:

powershell 复制代码
npm install
npm run tauri dev

构建 Windows 可执行文件:

powershell 复制代码
npm run tauri build -- --no-bundle

生成文件位于 src-tauri/target/release/KikyoTools.exe,更完整的环境准备和操作说明见仓库 README。

相关推荐
小小龙学IT5 小时前
Python Polars 高性能数据处理引擎深度解析
开发语言·python·rust·1024程序员节
zzu123zsw7 小时前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
enjoy编程8 小时前
playwright学习-I
typescript·vue·nodejs·1024程序员节·playwright
hsg779 小时前
简述:基于Ubuntu24编译发布rust开发的html+web后端服务的方法
rust·1024程序员节
iDao技术魔方9 小时前
Bun v1.4.4 实战:用 bun fmt 替掉 prettier 的 5 个步骤
typescript·1024程序员节
梅雅达编程笔记9 小时前
Day 17 | uni-app 小程序:前端从零搭建
微信小程序·typescript·uni-app·vue3·pinia·前端开发·全栈
zzu123zsw10 小时前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui
传奇开心果编程19 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
本地化文档19 小时前
cutile-rs-book-l10n
rust·gpu·nvidia·cuda·sphinx·crowdin