Latest posts

  • 28 九月 2026

miglite v0.8.0:迁移文件可以嵌进二进制了

上一篇写 miglite 是 6 月,当时还是 v0.4.0。三个多月过去,它发到了 v0.8.0:v0.4.0..v0.8.0 之间 69 个提交,4 次发版。

这次没有推翻原来的设计,改动集中在两件事:让迁移文件跟着二进制一起走,以及修掉几个看起来生效、其实没生效的行为。

miglite v0.8.0:把迁移文件嵌进二进制

…
阅读全文 →
  • 11 七月 2026

sshc:把零散的 SSH 命令整理成可重复的运维工作流

只管理一两台服务器时,SSH 很简单:记住地址,敲一条命令就能登录。机器多起来以后,麻烦通常不在 SSH 本身,而在 SSH 周围:地址散落在聊天记录里,账号和密钥重复配置,批量操作靠临时 shell 循环,执行失败后还要翻终端输出确认漏了哪台。

sshc 是我为这类日常工作写的 SSH 命令行工具。它把主机、认证信息和执行记录放进同一套本地配置,同时提供单机执行、批量任务、文件传输、跳板机、失败重跑和本地 Web 控制台。它仍然使用 SSH,也不试图替代 Ansible;它处理的是两者之间那段经常由脚本和记忆勉强维持的工作流。

sshc SSH 运维工作流海报

…
阅读全文 →
  • 04 七月 2026

cliui:给 Go CLI 程序补一层顺手的终端 UI

很多 CLI 程序一开始都很简单:解析参数,跑任务,打印几行结果。等功能多起来之后,问题就变成了另一种样子:配置要排版,错误要醒目,安装和下载要显示进度,交互选择还要能在真实终端和 CI 日志里都工作。

github.com/gookit/cliui 处理的就是这类“还没到完整 TUI,但已经不适合全靠 fmt.Println”的场景。它把常用终端 UI 拆成三个包:show、interact、progress,分别负责结构化输出、交互输入和进度显示。

cliui 终端 UI 辅助库海报

…
阅读全文 →
  • 01 七月 2026

eget:不用等中央仓库,直接安装 GitHub 和任意下载站的工具

AI 时代来了之后,各种应用、命令行工具的发布节奏明显变快了。GitHub 上每天都有新工具冒出来,一个活跃项目一天发几个版本也不奇怪。

问题是:中央仓库经常慢半拍。快速尝试一个新工具,想试一个刚修好的 bug,或者跟进刚发的新功能,可能要等包维护者更新 formula、bucket、manifest。eget 解决的是这段空窗期:直接从 release、下载站或内部规则里拿到二进制。

eget 工具下载器海报

…
阅读全文 →