夜雨聆风学习资料网

ARTICLE · 982489

这 10 款现代 CLI 工具,让你在 AI 时代高效率开发

这 10 款现代 CLI 工具,让你在 AI 时代高效率开发

terminal 工具最怕两种:功能表写得很满,装完以后一次都想不起来;或者给老命令套层漂亮外壳,换汤不换药。

下面这 10 款工具不靠“现代 CLI”几个字撑场面。它们处理的都是开发中反复出现的小麻烦:Windows 下没有 tmux、网络连接看不明白、批量改 code 容易误伤、Git diff 不敢一把梭、Claude Code 的 session 状态藏得太深……少切一次 window,少写一段临时 script,就已经值回安装时间。

IDE 和 GUI 继续各司其职。terminal 负责把高频操作压短,把控制权留在自己手里。

1. psmux

有段时间不得不在 Windows 下开发,调试和编译也都在 Windows 下进行。没有 tmux,浑身不自在。

没想到还真找到一个 Windows 原生的 tmux:psmux。它完全脱离 WSL、Cygwin 和 MSYS2,直接跑在 Windows Terminal 里。不得不佩服这帮搞 Rust 的大兄弟,战斗力太强了。

●●●
1
psmux

psmux 能分割 pane、创建 session、切换不同 shell,也兼容 psmux、pmux 和 tmux commands。原来的操作习惯基本不用重学。

有了 psmux,Windows 下就别再折腾套壳 tmux 了。

再配上 tailscale 和 termius,手机也能持续控制电脑。人不在桌前,agent 仍然可以接着干活,这套开发闭环就完整了。

GitHub - psmux/psmux

2. rustnet

电脑或服务器上,总会有一些连接让人心里没底。浏览器开着几十个标签页,Electron 应用常驻后台,开发环境里还有代理、同步、自动更新和容器进程。只看 netstat、ss 或任务管理器,很快就会弄不清连接到底是谁发出去的。

RustNet 专治这个小但很烦的问题。它把 terminal 变成实时网络看板,按 process 列出 TCP、UDP、QUIC 连接,同时显示协议、地址、端口、SNI、带宽、连接状态和接口统计。看到陌生连接,不用先抓包再猜,先看它归哪个 process。

排查个人电脑时,可以用 process:、dst:、sni:、port: 把范围迅速缩小。软件退出后还在联网、浏览器插件访问奇怪域名、系统空闲时网卡仍有流量,这些情况不必再对着一长串 connections 瞎猜。

服务器上也一样。SSH 登录后直接跑 TUI,不需要 X11,也不用来回传 pcap。谁在调用外部 API、哪个 process 抢带宽、哪个 service 出现大量重传,先在 terminal 里看一眼再决定要不要抓包。

调接口、跑爬虫、起本地代理、测 QUIC 或 DNS 时,RustNet 也比传统连接列表更直观。netstat 当然还能用,只是 RustNet 更像给人看的。

GitHub - domcyrus/rustnet

3. ast-grep

又是 Rust 写的。

ast-grep 是 code search 和 rewriting tool。普通 grep 匹配 text,ast-grep 匹配 code 的 syntax 和 structure。formatting、换行和 variable name 变了,只要骨架还在,它就认得出来。

●●●
1
ast-grep -p 'console.$METHOD($$$)' src/

它能跨不同 programming languages 搜索 patterns,也能直接重写匹配到的 code。碰上几百个 files 的 refactoring,手工逐个改既慢又容易漏,结构化搜索才是正经解法。

如果说普通 grep 是在书堆里找一个特定单词,那么 ast-grep 找的是“主语是猫、动词是睡觉的句子”。中间加多少空格、换多少行,它都能一眼认出那个骨架。

最绝的是,不需要先补一整套编译器理论。想搜什么 code,就照着那个样子写。比如搜索所有 console.log,写 console.log($MATCH) 就行,$MATCH 会接住括号里的内容。这种所见即所得的快感,用过一次就再也回不去了。

GitHub - ast-grep/ast-grep

4. hunk

一个 file 里混着该提交和不该提交的 changes 时,git add . 很省事,也很容易把脏东西一起带走。

Hunk 用交互方式 review 和 edit Git diffs。它把 change 拆成一个个 hunk,让你逐块决定保留、拆分、stage,必要时顺手做点小修改。控制粒度比“一把全加”细得多。

●●●
1
hunk diff

这种 tool 平时看着不起眼,等到一个 file 同时混进该提交和不该提交的 changes,就知道它能少救多少次提交。

GitHub - modem-dev/hunk

5. ccstatusline

Claude Code 跑起来以后,model、token usage、context window 和 session details 都会影响下一步怎么干。每次想看状态都切出去找,纯属给 workflow 添堵。

ccstatusline 把这些 session data 固定放在 terminal 的 statusline 上。显示什么由自己配置,agent 工作时扫一眼就能知道当前 model、token 消耗和 context 还剩多少,不必打断正在进行的操作。

它解决的事情很窄,但够实际。重要信息一直在眼前,别等 context 快爆了才想起来检查。

GitHub - sirmalloc/ccstatusline

6. Atomic Agent

Atomic Agent 是运行在本地机器上的 AI agent,同时支持 local 和 cloud models。它能生成 code,也能浏览 web、编辑 files、运行经过批准的 shell commands,并跨 sessions 保留 context。

交互入口就在 terminal。agent 可以和 files、browser、Git repositories、documents 及其他 tools 协同工作,不需要把每个动作拆到不同 application 里。

如果手里有本地小型量化 models,又希望它们能调用 shell、filesystem、browser 和 MCP,Atomic Agent 给出的是一套现成组合,不必自己从零拼 agent runtime。

GitHub - AtomicBot-ai/atomic-agent

7. AutoCLI

为了从 website 拿点数据,专门打开 browser、研究 DOM、再写一份临时 scraper,很多时候太重了。

AutoCLI 直接从 websites 获取信息,支持 Reddit、YouTube、Hacker News 等 sites。它还能控制 desktop apps,并连接 GitHub CLI、Docker、kubectl 等 tools。

●●●
1
autocli hackernews top --limit 12

结果可以直接输出成 tables、JSON、YAML、CSV 或 Markdown,接下一条 command 就能继续处理。碰到需要登录的 website,它还能复用已经认证的 browser session;需要适配新 site 时,则可以用 AI 发现 website API 并生成 adapter。

能用一条 command 解决的抓取任务,就没必要先搭半天 browser automation。

GitHub - nashsu/AutoCLI

8. agent-browser

这是我现在用 Codex skill 时离不开的 tool。最大的两个优点很直接:省 token,复用登录状态。

agent-browser 让 agent 从 terminal 操作 websites:打开 page、检查 element、填写 form、提取信息。它先把 webpage 转成 accessibility snapshot,agent 看到的是精简后的页面结构和可交互 refs,不用吞掉整页 DOM 再猜 selector。

重复 web workflow、website testing、让 coding agent 直接操作 web app,这些场景都能接上。尤其是已经登录的后台系统,session 可以复用,少掉一大截反复认证的麻烦。

GitHub - vercel-labs/agent-browser

9. Glow

人在 terminal 里时,为了看一个 .md file 再切到 browser 或 editor,动作不大,来回切也够烦。

Glow 直接在 terminal 里渲染 Markdown。headings、code blocks、lists 和 links 都会排好,不再是一屏挤在一起的纯文本。

●●●
1
glow github.com/vercel-labs/agent-browser

它支持交互式浏览和 document 搜索,也能读取本地 files。README、项目文档、临时笔记,想看就看,不用离开当前 shell。

GitHub - charmbracelet/glow

10. Hyperfine

拿 time 跑一次 command 就下性能结论,单次 execution time 还是太单薄。

Hyperfine 是专门做 command benchmark 的 tool。它会自动执行多轮测试,给出比单次 execution time 更可靠的 timing results,省掉手工重复运行和记录数据。

优化 scripts、build commands 或其他 CLI tools 时,几次修改之间哪怕只差一点,也应该交给 benchmark 说话。Hyperfine 会把 changes 跑够次数,再把结果摆出来。

GitHub - sharkdp/hyperfine

相关学习资料