字数 1605,阅读大约需 9 分钟
Kairoa 是一款桌面版的开发者工具箱,包含了 50 多个实用工具——例如哈希计算、UUID 生成、编解码、JSON 处理、端口扫描、Mock 数据等等,这些功能集成在一个漂亮的桌面应用里,很方便人类使用。
但我还是决定花时间做一个 CLI 的版本。原因只有一个:用户变了。
这句话半年前听起来还有点离谱,现在再看就不需要解释了。
Cursor、Claude Code、OpenClaw 等等这些 agent 的用户量在近两年里实现了爆发式的增长。越来越多的开发者,使用软件的方式已经从"自己操作"变成了"告诉 agent 操作"。
这意味着什么?意味着使用你软件的那个"人",可能不是人了。
Kairoa 的桌面版做得已经很好了,GUI 精致,交互流畅。但 GUI 有一个根本问题:它是给人用的,不是给 agent 用的。 agent 是很难操作界面类的软件的,agent 擅长的是执行命令、读取输出。
所以问题就变成了:当你的用户从人类变成了 agent,你的产品形态该跟着变吗?
我们的答案是:必须变。
很多人觉得,让 agent 能用你的产品,就是加个 API 或者 CLI 就行了。不够!
agent 用工具和人类用工具的逻辑完全不同。人类会看文档、会猜、会试错。agent 则是照着指令跑的——指令清楚就能跑对,指令不清楚就跑偏,而且跑偏了你还不一定能发现。
我在做 kairoa-cli 的过程中,花了不少心思在"怎么让 agent 更容易用对"这件事上。做了几个关键设计:
一是统一的命令模式。 所有 50 多个命令都遵循同样的结构:kairoa
二是结构化输出。 kairoa-cli 的输出格式统一、可预测,JSON 输出可以直接被下游处理。对比一下有些工具今天输出 key: value,明天输出 key=value,agent 写正则都不好写。
三是管道友好。 Unix 管道是 agent 的杀手锏。一条命令的输出可以直接喂给下一条:
kairoa http get https://api.example.com/data | kairoa json format
agent 不需要写临时文件、不需要中间变量,一行命令搞定数据拉取 + 格式化。这种管道组合能力,比写 Python 脚本快得多,也比操作 GUI 快得多。
四是多语言支持。 kairoa -l zh 就能切到中文输出。对国内用户来说,agent 返回中文结果比返回英文结果友好得多。这个细节很多工具忽略了。
五是零交互设计。 agent 没法像人一样在终端里回答 y/n 的问题。kairoa-cli 的所有命令都可以通过参数一次跑完,不需要任何交互式确认。唯一例外是密码保险库的 vault add——密码通过终端安全输入(不回显),这是安全性要求的妥协,但也支持 -p 参数传入。
举几个 agent 实际会用到的场景:
# 生成 5 个 UUID,直接用于数据库记录 kairoa uuid v4 -c 5 # 算文件哈希,验证完整性 kairoa hash file ./package.json -a sha256 # 生成 24 位不含特殊字符的密码 kairoa password -n 24 --no-special # 解码 JWT token kairoa jwt decode "eyJhbGci..." # 扫描本地端口 kairoa port scan localhost -s 80 -e 443 # 查本机公网 IP kairoa ip public # 生成 10 条 mock 用户数据,直接输出 JSON kairoa mock user -c 10 # CSV 转 JSON kairoa data csv2json users.csv
50 多个工具覆盖了开发者日常的高频操作:编解码(Base64、URL、Hex 等)、哈希计算(MD5、SHA 系列、RIPEMD160)、数据格式转换(CSV↔JSON、JSON↔YAML↔TOML)、网络工具(HTTP、DNS、IP、端口扫描、TLS 检查)、安全工具(密码生成、强度检测、保险库、OTP、RSA 密钥)、Mock 数据……完整命令列表在项目 README 里。
Homebrew(macOS / Linux):
brew install covoyage/tap/kairoa
Scoop(Windows):
scoop bucket add covoyage https://github.com/covoyage/scoop-bucket scoop install kairoa
快速安装脚本:
curl -sSL https://raw.githubusercontent.com/covoyage/kairoa-cli/main/install.sh | bash
也可以从 GitHub Releases 手动下载对应平台的二进制文件,或者从源码构建(需要 Go >= 1.25)。
装好之后跑一下 kairoa version,确认没问题就行。
这是我觉得最值得说的一点。
kairoa-cli 本身只是个命令行工具。但如果你用的是 OpenClaw、Cursor 这类支持 Skill 的 agent,可以装一个 kairoa-cli 的 Skill。装了之后,agent 就知道什么时候该调用 kairoa,不用你每次手动指定。
Skill 本质上是一份给 agent 看的说明书——告诉它 kairoa 有哪些命令、什么场景该用什么、参数怎么传。agent 读过这份说明书,就能在合适的时候自动调用,你只需要说"帮我算个哈希"或"生成 10 个测试用户",agent 就知道该跑哪条命令。
安装方式(以 OpenClaw 为例):
kairoa-cli Skill 已经发布到 ClawHub,一条命令安装:
clawhub install kairoa-cli
装完后 agent 就能识别了。之后你用中文说"帮我生成一个密码"或"查下这个域名的 DNS",agent 会自动调用对应的 kairoa 命令,不需要你记任何语法。
这就是 agent 时代该有的体验——你只说需求,agent 自己找工具实现。
为什么要做 CLI 版本?
因为桌面应用再好看,agent 也难以使用。而 agent 正在变成 Kairoa 最重要的入口。
这不是一个”顺便加个 CLI”的事。从命令设计、输出格式、管道兼容到 Skill 集成,每一个细节都在回答同一个问题:怎么让 agent 用得又快又准。
GUI 不会消失。Kairoa 桌面版会继续维护。但 CLI 不再是 GUI 的附属品——它是 agent 时代的一等公民。
做软件,首先考虑如何被 agent 集成。这个思路变了,一切都会跟着变。
kairoa-cli 项目地址:https://github.com/covoyage/kairoa-cli
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/270522.html