这周 brew update 比平时多了几行字。
从 5.1 跳到 6.0,Homebrew 悄悄加了一个叫 tap trust 的东西。
你装了很久的那些 tap,现在需要你主动"信任"才行。
基础设施在变,而工具列表里,Agent 还在继续进场。
只是这次,有人开始为 Agent 建隔离间了。
本周一句话总结
Agent 越来越多,隔离成了新的基础设施需求。
Homebrew 6.0:tap trust 来了
这周 Homebrew 从 5.1.14 升到了 6.0.1,最显眼的变化是 tap trust 机制。
以前 brew tap user/repo 之后,那个 tap 里的公式就直接能用。
现在,未经信任的 tap 会被忽略——brew 升级后会看到大量这类警告:
Warning: Skipping buo/cask-upgrade because it is not trusted.
Run `brew trust buo/cask-upgrade` to trust it.
信任单个公式、cask 或命令:
brew trust --formula user/tap/formula
brew trust --cask user/tap/cask
信任整个 tap:
brew trust user/tap
这是一个供应链安全向的变化。Homebrew 官方公式是可信的,
但第三方 tap 历来是盲区——任何人都能发布,你装了就装了。
tap trust 把这个决策显式化:你需要告诉 brew,你信任谁。
如果你有在用第三方 tap(比如 buo/cask-upgrade、iina/mpv-iina),
升级后记得手动跑一遍信任命令,否则它们会静默失效。
本周新增工具速览
🧪 New Formulae
| 名称 |
中文说明 |
| asccli |
App Store Connect CLI,管理应用、版本和截图 |
| avisynthplus |
AviSynth 帧服务器的改进版 |
| bttf |
日期时间算术、解析与格式化的 CLI 工具 |
| concord |
终端里的 Discord TUI 客户端(Rust 写的) |
| container-use |
给编码 Agent 提供隔离容器开发环境 |
| container2wasm |
把容器转换为 WASM |
| cyclonedx-cli |
CycloneDX SBOM 的分析与操作工具 |
| dbx-cli |
DBX 数据库连接、schema 查询与安全操作 CLI |
| eas-cli |
Expo Application Services 命令行工具 |
| fakecloud |
免费开源的本地 AWS 云模拟器,用于集成测试 |
| gnhf |
用于长时间编码任务的自主 Agent 编排器 |
| isponsorblocktv |
所有 YouTube TV 客户端的 SponsorBlock |
| kdash |
简洁快速的 Kubernetes 仪表盘 |
| keyd |
Linux 的键位重映射守护进程 |
| kubectl-explore |
带模糊搜索的更好用的 kubectl explain |
| libcext |
Common Pipeline Library (CPL) 的 C 工具库 |
| md-tui |
Rust 写的终端 Markdown 渲染器 |
| merman-cli |
无头 Rust 版 Mermaid.js 图表生成 |
| mimo-code |
带跨会话记忆的 AI 编码 Agent |
| netwatch |
跨平台实时网络诊断 TUI |
| officecli |
命令行读写和自动化 Office 文档(.docx/.xlsx/.pptx) |
| pdf.tocgen |
自动为 PDF 生成目录的 CLI 工具集 |
| pkgsite |
Go 包的本地文档服务器 |
| poppler-qt6 |
基于 xpdf-3.0 的 PDF 渲染库(Qt6 版) |
| pup |
Datadog 产品的 200+ 命令统一 CLI 伴侣 |
| pv-migrate |
Kubernetes 持久卷迁移与备份恢复 CLI |
| redli |
更友好的 redis-cli 替代品,支持 TLS |
| safestringlib |
安全字符串操作和内存例程库 |
| speech |
Apple Silicon 本地语音工具包:ASR、TTS、VAD、说话人分离 |
| splitrail |
CLI 编码 Agent 的实时 token 用量与成本监控 |
| swgp-go |
最小开销的 WireGuard 简易代理 |
| syswatch |
跨平台系统诊断 TUI |
| ttl |
现代 traceroute/mtr 风格 TUI,带逐跳统计与 ASN/地理信息 |
| vulcain |
客户端驱动的快速 REST API 工具 |
| wx-cli |
微信 4.x 本地数据的 CLI,带守护进程架构 |
| zot |
Go 写的轻量编码 Agent 运行框架 |
🧩 New Casks
| 名称 |
中文说明 |
| ctivo |
下载并转换 TiVo 录制节目 |
| flow5 |
初步空气动力学和水翼设计的势流求解器 |
| font-paperlogy |
一款字体 |
| font-yuyu |
一款字体 |
| font-yuyu-short |
一款字体 |
| r-rig-app |
R 安装管理器的 GUI 应用 |
| shade |
AI 驱动的媒体存储与资产管理平台 |
| terax |
终端优先、AI 原生的开发者工作区 |
值得留意的几个方向
container-use:给 Agent 建隔离间,而不是盼它自觉
让多个编码 Agent 并行工作,一直存在一个隐患:
它们会互相踩脚——共享文件系统、共享 git 状态、某个 Agent 的操作污染了另一个的上下文。
container-use 的答案是:每个 Agent 给它一个干净的容器,跑在独立的 git branch 里。
底层是 Dagger(容器化工作流)+ git worktree,两者组合解决了隔离的两个维度:
文件系统和代码状态。
┌─────────────────────────────────────────────────────┐
│ container-use — isolated envs for coding agents │
├──────────────┬──────────────┬───────────────────────┤
│ Agent A │ Agent B │ Agent C │
│ branch-a │ branch-b │ branch-c │
│ container │ container │ container │
│ [running] │ [running] │ [idle] │
├──────────────┴──────────────┴───────────────────────┤
│ git worktrees + Dagger containers │
│ Complete isolation · Full logs · Drop-in terminal │
└─────────────────────────────────────────────────────┘
更值得关注的是它的可见性设计:
完整的命令历史和日志,你可以随时 git checkout <branch> 看结果,
出问题的容器直接丢掉重开,也可以 drop into 那个环境直接调试。
它省掉的是"Agent 在跑,但我不知道它在哪儿搞了什么"的不安全感。
concord:Discord 住进了终端
Discord 有官方客户端,但官方客户端需要 Electron,要内存,要 GPU,
在一台只挂着 SSH 的服务器上或者注意力高度集中的终端会话里,它格格不入。
concord 是 Rust + ratatui 写的 Discord TUI——
频道列表、消息历史、发送消息、@提及自动补全、自定义表情、文件上传下载、
线程、论坛频道、Kitty/iTerm2/Sixel 图片渲染、语音频道……
内存通常在 20–40 MB。
它有点令人意外的精致。不只是"能用",是真的在认真还原 Discord 体验,
包括语法高亮的代码块渲染和 vim 风格键位。
如果你日常工作都在终端里,这是一个你可能不知道自己想要的东西。
speech:Apple Silicon 的本地语音工具包,终于能用了
Apple Silicon 有 Neural Engine,有 CoreML,有原生语音框架——
但要把这些能力拼成一条完整的"语音输入 → 文字 → 说话人 → 输出语音"的管道,
一直需要自己写胶水代码。
speech 这个工具包把它打包好了:
- ASR(自动语音识别):支持 52 种语言的 Qwen3-ASR、25 种语言的 Parakeet TDT、支持 1,672 种语言的 Omnilingual
- TTS(文字转语音):Kokoro(82M 参数)、CosyVoice(声音克隆)、最长 90 分钟播客合成
- VAD(语音活动检测):Silero 流式检测、Pyannote 离线
- Diarization(说话人分离):回答"谁什么时候说话"
全部跑在本地,不需要 API key,数据不出设备。
Swift 6 写的,需要 Apple Silicon(M1–M4)。
macparakeet 和 buzz 上周出现,macOS 26 来了本地语音转写的 API 改进——
这个品类今年扎堆出现不是巧合,是 Apple Silicon 的算力终于跑到这条线上了。
wx-cli:微信数据 CLI,这个有点意思
一行描述:WeChat 4.x local data CLI with daemon architecture。
微信 4.x 把消息和数据存在本地,但没有任何官方的 CLI 或 API 接口供开发者访问。
wx-cli 把这个缺口补了——可以用命令行读取本地微信数据,
守护进程架构意味着它能在后台持续运行、响应查询。
用途想象一下:备份聊天记录、搜索历史消息、把微信数据导出给其他工具处理。
不是所有人都需要,但需要的人会很需要。
一点个人感受
Homebrew 6.0 的 tap trust 我第一反应是麻烦,
但想一想,这其实是它应该做的事:
把"我信任这个来源"的决定还给用户,而不是默认全信。
装完 brew 升级之后花 2 分钟跑一遍 brew trust,值得。
container-use 和 splitrail 同时出现——
一个是给 Agent 建隔离环境,一个是监控 Agent 的 token 消耗。
加上上上周的 codeburn、上周的 gnhf,
这条"Agent 基础设施"的产品线正在快速变得完整。
speech 是那种"迟早会成为标配"的工具。
Apple Silicon 的语音能力一直在这里,只是没有统一的 CLI 接口。
现在有了,接下来就是等它被各种工具集成。
concord 让我想起 mutt——
有人坚持在终端里读邮件,有人会坚持在终端里上 Discord,
理由一样:注意力不被打断。
结语
这周的关键词是"隔离"——
Homebrew 在 tap 层面要求显式信任,
container-use 给 Agent 加了容器隔壁,
speech 让语音处理不出本地。
边界在收紧,不是因为不信任,而是因为信任需要被明确。
越来越多的东西在本地跑,这不是退步,是一种选择。