2026/7/6

第七个工具:文本计数器与全链路流程体检

这次我用一个文本计数器来完整跑一遍小工具开发、测试、打包、Release 资产准备和网站同步流程,重点检查自动化脚本是否真的能减少重复错误。

第七个工具:文本计数器与全链路流程体检

这次做的工具是“文本计数器”。

从功能上看,它是一个很轻的小工具:粘贴一段文本,就能统计字数、字符、行数、段落、句子、UTF-8 字节、阅读时间和高频关键词。它适合写博客、写简历、整理文案、准备发布说明的时候使用。

但这次真正的重点不是工具本身,而是我想完整检查一遍现在的小工具开发流程。

为什么选择文本计数器

我需要一个复杂度适中的工具来测试流程。

它不能太简单,否则只能验证脚手架能不能创建项目;也不能太复杂,否则问题会被业务功能本身淹没。

文本计数器刚好合适:

  • 有真实用户场景。
  • 有核心算法逻辑。
  • 有可测试的统计结果。
  • 有复制和导出。
  • 可以同时发布 Web 版和 Windows 桌面版。
  • 构建速度快,适合反复验证流程。

这次跑通的自动化链路

这次我没有从空文件手动创建项目,而是先运行脚手架命令:

$env:PYTHONUTF8='1'; python D:\dev\yuan-tools\scripts\yuan_pipeline.py scaffold-tool --slug text-counter --name 文本计数器 --port 1426

脚手架自动生成了标准的 Svelte、Vite、Tauri、Vitest 项目结构,以及 README、工具使用说明、复制 Web/Windows 发布包的脚本。

然后再进入真正的功能开发。

工具功能

文本计数器 v0.1.0 包含这些功能:

  • 统计总字数、字符数、不含空白字符数。
  • 统计中文字符、英文单词、数字。
  • 统计行数、非空行、段落、句子。
  • 计算 UTF-8 字节数。
  • 估算阅读时间和朗读时间。
  • 提取重复出现的高频关键词。
  • 复制统计报告。
  • 导出 TXT 统计报告。
  • 提供示例文本和清空按钮。

所有统计都在浏览器本地完成,不需要后端服务,也不会上传文本内容。

流程体检中发现的问题

这次流程检查里,一个很有价值的问题是测试先失败了。

一开始我写的中文关键词提取规则太粗,会把“工具”拆成“工”和“具”;后面又发现我把“工具”误放进了停用词,导致高频词统计不符合预期。

这不是坏事,反而说明这套流程有意义:如果没有单元测试,这种小问题很可能会直接进入发布包。

另外还发现一个流程细节:PowerShell 如果连续写多条命令,前面的测试失败后,后面的构建命令仍然可能继续执行。后续流程里需要把验证命令改成严格模式,明确检查 $LASTEXITCODE,避免出现“测试失败但构建继续跑”的假成功。

当前结论

这次工具本地已经完成:

  • UTF-8 检查。
  • Vitest 单元测试。
  • Vite Web 构建。
  • Web 静态发布包。
  • Tauri Windows EXE。
  • 发布包预检。
  • GitHub Release 本地资产准备。

这次也完成了 GitHub 仓库、Release 和 Yuan Tools 网站同步。流程整体是可用的,但后续还可以继续把 site-metadata.json 生成和严格验证命令收进脚本,让整个链路更少依赖人工判断。

发布链接