news 2026/8/22 10:26:20

yyzTools 开发者实战指南:一个集成了 40+ 工具的 Windows 桌面效率方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
yyzTools 开发者实战指南:一个集成了 40+ 工具的 Windows 桌面效率方案

摘要:本文从开发者视角拆解 yyzTools 的核心功能与架构设计,涵盖命令面板、本地 OCR、编码解码、批量处理、自定义扩展模块开发,以及 C++ + WebView2 混合架构的技术分析。适合 Windows 效率工具开发者、运维工程师、技术爱好者阅读。

标签Windows效率工具本地OCRWebView2C++桌面开发开源替代方案


一、为什么开发者需要关注 yyzTools

作为开发者,我们日常会用到大量工具:Everything 搜文件、Ditto 管剪贴板、Snipaste 截图、Postman 测接口、在线 JSON 格式化、在线正则测试、Base64 编解码、哈希校验……这些工具散落在桌面、任务栏和浏览器标签里,各自为战。

yyzTools 的思路是把这些工具原生融合进一个安装包——C++ 负责系统级操作,WebView2 + 前端负责界面渲染,两者通过桥接层通信。当前版本 v1.0.3.1300,永久免费,本地优先,支持 12 种语言。

本文不重复官网的功能列表,而是从开发者实际使用场景出发,拆解各个工具模块的技术细节和实战用法。

二、架构设计:C++ + WebView2 混合方案

先聊架构,这决定了 yyzTools 的能力边界和性能特征。

┌─────────────────────────────────────────┐ │ 前端页面 (Alpine.js + JS) │ │ cmdplate / ocr / translate / ... │ ├─────────────────────────────────────────┤ │ WebView2 桥接层 (BindSync/Async) │ │ window.Zen.xxx() │ ├─────────────────────────────────────────┤ │ C++ NativeApi 层 │ │ FileManager / ProcessManager / │ │ ClipboardManager / OcrManager / │ │ DownloadManager / CmdManager ... │ ├─────────────────────────────────────────┤ │ Win32 系统 API │ │ 文件 / 进程 / 窗口 / 剪贴板 / 屏幕录制 │ └─────────────────────────────────────────┘

设计要点

  • C++ 层处理所有系统级操作:文件管理、进程控制、窗口管理、剪贴板、OCR 引擎调用、屏幕录制、加密解密等。这些操作如果用 JS 实现要么做不到,要么性能不够。
  • 前端层用 Alpine.js + 原生 JS + Vite 构建,每个功能页面独立一个目录(web/cmdplateweb/ocrweb/translate等),互不耦合。界面迭代不需要重新编译 C++。
  • 桥接层通过 WebView2 的BindSync(同步返回)和BindAsync(异步回调)把 C++ 能力暴露给前端。前端统一通过web/lib/zen_api.jsZenAPI封装类调用,不直接碰window.Zen

接口契约:输入用位置参数,输出恒为 JSON 对象{ error, errorMsg, ... }error为 0 表成功,非 0 表失败。前端统一用ZenAPI.isOk(res)判断,不直接比较error字段(因为 C++ 有两条 JSON 生成路径,error类型可能是数字0也可能是字符串"0")。

这种架构的实际意义:

  • 文件搜索走 C++ 直接调 Everything SDK,毫秒级响应
  • OCR 走本地 RapidOCR 引擎,离线运行
  • 界面改一行 CSS 不用重新编译 .exe,只需更新前端 dist

三、命令面板:多域搜索引擎

命令面板是 yyzTools 的统一入口,Alt + 空格唤起。它不是简单的应用启动器,而是一个多域搜索系统,用前缀切换搜索域:

前缀搜索域底层实现
应用 + 系统命令 + 系统设置 + 命令模块C++ 遍历注册表 + Shell API
f全盘文件C++ 调用 Everything SDK
p运行中进程C++ 遍历系统进程快照
w窗口C++ EnumWindows
b浏览器书签C++ 解析浏览器书签数据库
c剪贴板历史C++ 剪贴板监听 + 本地存储
>命令行C++ CreateProcess

拼音搜索实现

命令面板支持中文拼音搜索,输入weixinwx能命中微信。底层实现上,yyzTools 对中文应用名生成拼音索引,搜索时同时匹配原名和拼音。别名索引只取en+zh_cn两种语言(而非全部 12 种),避免别名膨胀导致跨语误命中。

即时计算

搜索框输入数学表达式,实时计算结果:

128*0.85 → 108.8 sqrt(144)+3^2 → 15 0x1F + 0b1010 → 47

回车复制结果。算折扣、算进制转换、算公式,不用单独开计算器。

四、开发者工具集实战

这一节重点讲 yyzTools 内置的开发者工具,这是 CSDN 读者最关心的部分。

4.1 正则表达式测试器

实时匹配高亮、分组查看、常用表达式速查。

实战场景:验证手机号正则

输入文本:13800138000, 15812345678, 12345678901 正则:^1[3-9]\d{9}$ → 逐行匹配,高亮命中行,分组1 = 区号,分组2 = 号码

4.2 编码解码工具

支持 Base64 / URL / HTML / Unicode / 进制 / 摩尔斯电码等常见编码互转。

实战场景:JWT Token 解码

输入(Base64 编码的 JWT payload): eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0 → Base64 解码: {"sub":"1234567890","name":"John Doe"}

实战场景:URL 参数解码

输入: https%3A%2F%2Fexample.com%2Fapi%3Fq%3D%E4%BD%A0%E5%A5%BD → URL 解码: https://example.com/api?q=你好

4.3 哈希计算

支持 MD5 / SHA-1 / SHA-256 / SHA-512 等摘要算法,支持文本和文件校验。

实战场景:校验下载文件的完整性

选择文件 → 选择算法 SHA-256 → 生成摘要 → 与官方公布的校验值比对

4.4 加密解密

基于 OpenSSL 实现,支持对称加密(AES 等)和非对称加密(RSA 等),以及密钥生成。

实战场景:生成 RSA 密钥对

选择算法:RSA 密钥长度:2048 → 生成公钥 + 私钥 → 导出 PEM 格式文件

4.5 数据转换

支持 JSON / YAML / XML / TOML / CSV 互转,以及进制、大小写、全角半角转换。

实战场景:JSON 转 YAML

// 输入 JSON { "server": { "host": "localhost", "port": 8080, "timeout": 30 }, "logging": { "level": "info", "file": "/var/log/app.log" } }
# 输出 YAML server: host: localhost port: 8080 timeout: 30 logging: level: info file: /var/log/app.log

实战场景:进制转换

输入:255 → 十进制:255 → 二进制:11111111 → 十六进制:FF → 八进制:377

4.6 数据生成

支持 UUID / GUID、ULID、随机字符串、测试数据批量生成。

实战场景:批量生成测试 UUID

类型:UUID v4 数量:100 → 批量生成 100 个 UUID v4 → 一键复制

4.7 命令行执行

命令面板输入>前缀,直接执行系统命令:

> ipconfig → 查看网络配置 > ping baidu.com → 测试连通性 > netstat -ano → 查看端口占用

支持管理员身份运行。

五、本地 OCR 实战

yyzTools 内置 RapidOCR 引擎,完全离线运行,不调云端 API。

技术细节

  • 引擎:RapidOCR(基于 PaddleOCR 的 C++ 推理引擎)
  • 模型:本地模型文件,随安装包一起分发
  • 调用方式:C++ 层通过BindAsync异步调用(OCR 是耗时操作,不能阻塞 UI 线程)
  • 识别能力:中英文混排识别,支持截图区域选择

实战场景

  1. 截图识别代码:从视频教程或文档截图中提取代码文本
  2. 截图识别表格:从截图中的表格提取数据
  3. 联动翻译:OCR 识别结果 → 一键送翻译 → 一键回填剪贴板
操作流程: 1. Ctrl + Shift + 截图框选区域 → OCR 识别 2. 识别结果面板出现 → 点击「翻译」 3. 翻译结果出现 → 点击「复制」

整个过程不联网(翻译除外),不上传任何数据。

六、批量处理引擎

yyzTools 内置了三个重量级命令行工具并封装成图形界面。

6.1 图片批量处理(ImageMagick)

操作参数示例场景
批量缩放宽度 800px,等比缩放电商商品图统一尺寸
批量裁剪中心裁剪 300x300头像批量处理
格式转换PNG → WebP压缩图片体积
加水印右下角 20% 透明度版权保护
压缩质量 80%减少文件体积

6.2 视频批量处理(FFmpeg)

操作参数示例场景
批量转码H.264 → H.265节省存储空间
截取片段00:00:10 - 00:00:30提取视频精华
抽帧每秒 1 帧制作 GIF 素材
压缩CRF 28减小视频体积
提取音频MP4 → MP3提取背景音乐

6.3 PDF 批量处理(pdfcpu + Ghostscript)

操作场景
合并多份合同合并成一个文件
拆分按页码范围拆分
加水印添加机密水印
压缩减小 PDF 体积
加密/解密设置打开密码

6.4 批量重命名

支持多种规则组合,改之前先预览:

规则示例场景
序号file_001, file_002, ...批量排序
替换把 "副本" 替换为空清理文件名
正则匹配日期模式重新排列按日期归档
EXIF 时间按拍摄时间命名照片照片管理
大小写全部小写统一命名规范

七、自定义扩展:开发你自己的命令模块

这是 yyzTools 最开发者友好的特性:往 Modules 目录放一个 JSON 文件就能新增命令,无需编译、无需重启。

7.1 .zenmod 文件格式

{ "id": "mydeploy", "type": "app", "name": { "zh_cn": "部署工具", "en": "Deploy Tool" }, "desc": { "zh_cn": "快速打开内网部署平台", "en": "Quick open internal deploy platform" }, "icon": "iVBORw0KGgo...", "cmdPath": "yyzBrowser.exe", "cmdArgs": "--url=https://deploy.internal.com --size=1200x800" }

字段说明

字段类型说明
idstring全局唯一标识,语言无关
typestring"app"类型通过cmdPath调起外部程序
nameobject多语言文案,key 为语言码(zh_cn/en/ja...)
descobject描述,同样支持多语言
iconstringBase64 编码的图标
cmdPathstring可执行程序路径
cmdArgsstring命令行参数

7.2 实战:新增一个 AI 工具入口

假设你想在命令面板里快速打开自己的 AI 对话页面:

  1. src/Modules/AI/目录下创建myai.zenmod
{ "id": "myai-chat", "type": "app", "name": { "zh_cn": "我的AI对话", "en": "My AI Chat" }, "desc": { "zh_cn": "快速打开自定义AI对话窗口", "en": "Quick open custom AI chat window" }, "cmdPath": "yyzBrowser.exe", "cmdArgs": "--url=https://chat.example.com --size=900x700" }
  1. type: "app"会调用 yyzTools 内置的yyzBrowser.exe(无边框轻量浏览器),通过--url指定网址,--size指定窗口尺寸。

  2. 打开命令面板,输入「我的AI」或拼音wodaiai,直接命中。

7.3 多语言文案规则

  • 语言码使用下划线小写风格:zh_cnzh_twenjakofrdeesruarptit
  • 支持三级回落:当前语言 →en→ 纯字符串写法
  • 纯字符串写法"name": "部署工具"仍然有效(向后兼容)
  • 一个.zenmod文件覆盖所有语言,不做每语言一个文件

7.4 添加系统命令

如果想新增一个系统命令(如打开设备管理器):

{ "id": "devmgmt", "type": "app", "name": { "zh_cn": "设备管理器", "en": "Device Manager" }, "desc": { "zh_cn": "查看和管理硬件设备", "en": "View and manage hardware devices" }, "cmdPath": "mmc.exe", "cmdArgs": "devmgmt.msc" }

放在src/Modules/Sys/目录下即可。

7.5 使用 yyzCmd 执行系统操作

yyzTools 还有一个独立的命令行执行器yyzCmd.exe,支持关机、重启、音量控制、显示器管理、回收站操作、打开目录等。可以在.zenmod中通过cmdPath指向它:

{ "id": "monitor-off", "type": "app", "name": { "zh_cn": "关闭显示器", "en": "Turn Off Monitor" }, "desc": { "zh_cn": "立即关闭显示器省电", "en": "Turn off monitor immediately" }, "cmdPath": "yyzCmd.exe", "cmdArgs": "--monitor=off" }

八、其他实用功能速览

功能说明
文件预览空格键预览 Word/Excel/PPT/PDF/图片/视频/代码/压缩包/DXF,免装 Office
剪贴板历史后台记录文本与图片,支持搜索、钉图到桌面、联动翻译/OCR
超级翻译多引擎划词翻译,可自选服务和目标语言
屏幕截图区域截图 + 滚动长截图 + 贴图钉屏
屏幕录制录制屏幕与音频,鼠标跟随缩放,按键提示,一键导出
文件下载基于 Aria2 多线程下载,断点续传,队列管理
动态壁纸网页/视频贴到桌面图标层下方,不遮挡操作
应用统计记录各应用使用时长与激活次数
提醒助手单次/每日/每周/每月提醒
二维码生成与识别二维码
计算稿纸多行连续计算,支持变量与单位换算

九、性能与隐私

性能特征

  • 文件搜索:C++ 直接调 Everything SDK,全盘文件毫秒级响应
  • OCR:本地 RapidOCR 引擎,无网络延迟
  • 内存占用:所有功能共享一个进程,比十几个独立工具各自驻留后台更省内存
  • 分包更新:主程序、前端页面、命令模块、FFmpeg、OCR 模型各自独立打包,更新只下载变化的子包

隐私保障

数据类型处理方式
剪贴板历史本机存储,不上传
OCR 内容本地模型处理,不联网
文件索引本地 Everything 索引
应用统计本机记录
文件预览本地解析
翻译内容需联网调翻译服务 API(唯一需要联网的数据功能)

不要求注册账号,不收集身份信息,不做用户画像或行为埋点。

十、与主流工具的技术对比

维度yyzToolsPowerToysuToolsFlow Launcher
架构C++ + WebView2 + 前端C# + WPFElectron + 插件C# + WPF
功能集成40+ 全内置~20 模块松散共存插件市场拼装插件市场拼装
本地 OCRRapidOCR 离线插件(可能联网)插件
批量处理ImageMagick/FFmpeg/pdfcpu插件
文件预览Office/PDF/代码/压缩包SVG/PDF/MD插件
截图录屏截图/长截图/钉屏/录屏截图插件
扩展方式JSON 文件(零编译)C# 插件插件市场C# 插件
数据联动剪贴板→OCR→翻译→回填无统一数据层
内存模型单进程共享多模块各自进程Electron(内存偏高)多插件各自进程

核心差异:yyzTools 的JSON 文件即插件扩展模式,扩展成本远低于 C# 插件方案,代价是扩展能力受限于预定义的type类型(当前主要是app类型)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 10:25:40

电工杯数学建模竞赛:优化与数据分析类赛题解题全攻略

1. 赛题核心与破题思路总览又到了一年一度的电工杯数学建模竞赛时间,对于很多理工科,特别是电气、自动化、计算机等相关专业的同学来说,这既是一次挑战,也是一次绝佳的练兵机会。2023年的A题和B题,延续了电工杯一贯的风…

作者头像 李华
网站建设 2026/8/22 10:23:02

从官方公开数据看制药企业的合规运营:一份白皮书的四组数据

一份基于辽源市科学技术局、辽源市政协、辽源市生态环境局东辽县分局、国家税务总局东辽县税务局等官方公开信息的白皮书——《药品生产企业合规运营观察:基于官方公开信息的企业实践分析》,以吉林省鑫辉药业有限公司为观察样本,引用了四组核…

作者头像 李华
网站建设 2026/8/22 10:22:45

Java大厂面试核心:技术深度与系统设计实战

1. 互联网大厂Java面试的核心考察维度在大厂技术面试中,面试官通常会从三个维度进行考察:技术深度、业务理解力和系统设计能力。我参加过多次BAT等一线互联网公司的技术面试,发现他们最看重的不是死记硬背的八股文,而是候选人能否…

作者头像 李华
网站建设 2026/8/22 10:20:10

1/1.3 英寸大底:ATOM 3 vs Lito X1 画质与综合体验深度对比

近两年轻量化航拍无人机的影像升级速度远超预期,曾经旗舰级才有的 1/1.3 英寸大底传感器,如今已经下放到 249g 级入门机型。博坦 ATOM 3 与大疆 Lito X1 作为同档位的热门选手,核心传感器均为 1/1.3 英寸规格,纸面硬件底子处于同一…

作者头像 李华