升级打怪
Delta Skins
- simonevisciano/SV-DeltaSkins: This repository provides custom skins for the Delta Emulator, like Light and Dark themes for Nintendo DS. The skins are designed to enhance the gaming experience by optimizing screen space for both portrait and landscape orientations, ensuring a more immersive gameplay experience.
- #86 做一款 Delta 模拟器皮肤
- HZN - NINTENDO DS CONSOLE STYLE • DeltaStyles
- Delta Custom Skins | Delta-Docs
- The guide for designing Delta skins - Ryosuke
- 上手体验:GAMEBABY——专为 Delta 模拟器打造的 iPhone 手机壳:r/Delta_Emulator --- Hands On: GAMEBABY - A iPhone Case Built Exclusively For Delta : r/Delta_Emulator
- GAMEBABY Skins (Latest version) - Google 云端硬盘
- We are still here!
- GameBaby 用户上手指南
没事逛逛github还是有益的。
这不,发现了这篇文章《Resolving extension issues with bisect》。
"Just like git-bisect, but for VS Code extensions."
通过二分查找的方式,可以很快确认有问题的 extension,非常实用。
文章发布的的时间很早了,大概是2021年。
不得不说,vscode 的官方文档实在太多,很多有价值的内容,需要好好发掘。
HTTP 402,一个等了二十多年的状态码,终于有人把它当真了。
三月末的更新列表里,有一种"不想等"的感觉。
不是那种急躁,是那种"既然要做,就不等标准完善了"的态度。
从终端里直接处理视频,到把付费写进 HTTP 客户端,都在说同一件事。
本周一句话总结
工具开始不再假装自己很"通用"。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| crip | 提取服务器证书的工具 |
| dispenso | 高性能 C++ 并行编程库 |
| jsongrep | JSON 文档路径查询语言 |
| lazycut | 终端视频剪辑 TUI |
| miniaudio | 音频播放和录制库 |
| nextpnr-ice40 | Lattice iCE40 FPGA 布线工具 |
| opentimestamps-client | 创建和验证 OpenTimestamps 证明 |
| pay | 自动处理 402 付费请求的 HTTP 客户端 |
| pipewire-gstreamer | PipeWire 的 GStreamer 插件 |
| proxelar | HTTP/HTTPS 中间人代理 |
| qtcanvaspainter | Qt Quick 加速 2D 绘图方案 |
| qttasktree | Qt 异步任务执行库 |
| wireplumber | PipeWire 会话和策略管理器 |
| xcursorgen | 从 PNG 图片生成 X 光标文件 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| altar-ai | AI 驱动的会议助手 |
| claude-code@latest | 终端 AI 编程助手 |
| font-bj-cree | BJ Cree 字体 |
| font-saira-stencil | Saira Stencil 字体 |
| incident-io | 事故管理平台 |
| jiba | Apple Music 元数据本地化工具 |
| nimbalyst | 用 Codex 和 Claude Code 构建的可视化工作区 |
| notchi | Claude Code 的 Notch 伴侣工具 |
| nvidia-sync | 在远程 Linux 系统上启动应用和容器的工具 |
| ob-xf | 虚拟模拟合成器 |
| scribus@devel | 开源页面排版程序开发版 |
| voiden@beta | API 开发工具测试版 |
值得留意的几个方向
lazycut:省掉"导出了再看"这一步
终端里直接剪视频,听起来像是在秀肌肉。但它在省的心智成本其实是:你不用再"打开 Finder → 找到文件 → 拖进剪辑软件 → 等预览加载"。
很多时候你只是想"把这段视频前面三秒切掉",但完整的流程让你觉得"算了,就这样吧"。lazycut 把这个门槛降到了"cd 进目录就能干"的级别。
它不是在替代专业剪辑软件。它是在替你省掉"为了一个三秒操作而打开一个三分钟启动的软件"这件事。
pay:当 HTTP 402 不再是笑话
HTTP 状态码 402 Payment Required,从 1997 年就写在 RFC 里,但二十多年来都只是个"保留字段"。所有人都知道它存在,但没人真的用它。
pay 这个工具的出现,不是在说"我们终于能用 402 了",而是在说"我们不想等标准完善了"。它自己定义了一套规则,让 HTTP 客户端可以直接处理付费请求——基于 Solana 的链上支付。
这种态度挺有意思的:与其等一个"所有人都同意"的标准,不如先做一个"能跑"的实现。它可能不会成为主流,但它在证明"这件事是可以做的"。
一个趋势:AI 工具开始"搬家"
这次更新里出现了三个跟 Claude Code 相关的 cask:claude-code@latest、nimbalyst、notchi。
这不是说 AI 工具变多了,而是说它们开始"离开浏览器"了。以前你要用 Claude,你就打开网页;现在你可以装个命令行工具,或者装个桌面伴侣。
工具的形态在变,从"通用界面"变成"专用场景"。这种变化的底层逻辑是:当一个工具被频繁使用时,人们会希望它"更近一点"。不是功能上的近,是物理距离上的近——少开一个标签页,少切一次窗口。
一点个人感受
jsongrep 我可能会装,因为 jq 的语法我永远记不住,而"grep"这个词能让我少查一次文档。
pay 我不会装,不是因为它不好,而是因为我不觉得现在"用 HTTP 付费"是个刚需。但我会记住它,因为它在证明一件事:标准可以是"先做出来"再慢慢达成共识的。
至于那些 AI 伴侣工具,我觉得方向很明确,但可能还早。现在装一堆小工具,不如等它们合并成一个。
结语
三月的最后一天,工具列表还是那么长。
但越来越少有工具会说"我什么都能干"。
它们都在说"我只干一件事,但我干得比你想象的近"。
工具在变,但节奏不必跟着变。
下期见。
FreeTube 使用过程中经常遇到错误,e.g.:
Uncaught Exception:
Error: spawn iina ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:285:19)
at onErrorNT (node:internal/child_process:483:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
A JavaScript error occurred in the main process
步骤1:先设置 Invidious API
通过 Invidious Instances 获取开源的地址,然后点击【将当前实例设为默认】即可。
步骤2: 不要配置外部播放器
理论上,FreeTube 支持外部播放器,但是由于技术原因,需要一些配置。
如果配置不合理,体验会很差。所以,当前推荐【不要配置外部播放器】。
项目组有个专门讨论的 Discussions。
Ref
Ref
这件事情发生有2天了,起初根本没在意。
今天在 v2 再次刷到 此次 ApiFox 是否中招自查命令。
【包括不限于: SSH 私钥、Git 凭证和命令行历史】,这段话让我有了后怕。
接着,迅速检查电脑和采取修复以及防御手段。
检查电脑
下列涉及的命令都是 macOS 支持的,其他平台参考。
- 检查 Electron localStorage 中是否存在 _rl_headers、_rl_mc 键
grep -arlE "rl_mc|rl_headers" ~/Library/Application\ Support/apifox/Local\ Storage/leveldb
- 检查 dns 历史中是否存在 apifox.it.com 的解析记录
sudo dscacheutil -q host -a name apifox.it.com

- 检查历史 HTTP 请求头中是否包含 af_uuid、af_os 等异常字段,
这个事情处理有点难度,建议使用 AI 工具来执行。
修复和防御
特别说明,本次事件受影响范围:受影响用户为“公网 SaaS 版 Apifox 桌面客户端”用户。SaaS Web 版用户不受影响;私有化部署版用户不受影响。
立即采取的行动:
-
立即升级: 请尽快将 Apifox 客户端升级至 2.8.19 或最新版本。
-
重置凭证: 若您在上述风险时间段内使用过受影响版本,请务必联系您的团队,全面排查并重置在设备里
~/.ssh/、~/.zsh_history、~/.bash_history、~/.git-credentials等处存储过的敏感凭证(包括但不限于 Git 密钥、鉴权密钥、数据库密码、云服务 Access Key 及环境变量等)。 -
阻断恶意域名:apifox.it.com ,可以在 host 文件里增加配置:
127.0.0.1 apifox.it.com
为什么会发生这样的事情?
供应链攻击,本质不是漏洞,而是“信任链被利用”。
为了防范此类事情再次发生,作为开发者,有必要列一个自检清单。
本地开发环境
- 是否开启自动更新?
- 是否验证安装包来源(hash / 签名)?
- 是否区分“工作环境 / 测试环境”?
👉 建议:
- 关键工具关闭自动更新
- 下载后的安装包做 hash 校验(哪怕是关键工具)
- 严格区分“工作环境 / 测试环境”
依赖管理
- 是否锁版本(package-lock.json / go.sum 等)
- 是否盲目 latest
- 是否使用第三方镜像源(npm mirror / pip 源)
👉 建议:
- 关键依赖锁定版本
- 建立私有化仓库,减少第三方镜像源依赖
CI/CD 与自动化
- CI 是否每次重新拉依赖?
- 是否有缓存污染风险?
- 构建流程是否可追溯?
👉 建议:
- 固定依赖版本
- 构建环境可复现(Docker / lockfile)
权限与隔离
- 是否在开发机使用高权限运行工具?
- 是否把敏感 token 放在本地明文?
- 是否做最小权限控制?
👉 建议:
- 为开发机创建非高权限的特定账户
- 敏感数据加密
Ref
- Kazumi
- SameBoy
- Asspp
- Tachimanga
- Mangayomi
- YouTube
- VCMI
- Aidoku
- iPA 商店
- 源阅读
- Venera
为何会有这些app?难度 Apple Store 还不够多?
个人理解,需求难以满足😌,懂?!
Ref
iOS 的 IPA “砸壳”(Decrypt / Dump Mach-O)本质是:把 App Store 加密的二进制在运行时解密并导出。不同方法的核心差异在于:是否越狱、是否依赖调试工具、以及稳定性。
下面列举一些砸壳的方式:
| 方法 | 是否越狱 | 成功率 | 难度 | 推荐程度 |
|---|---|---|---|---|
| frida dump | ✅ | ⭐⭐⭐⭐⭐ | 中 | ⭐⭐⭐⭐⭐ |
| Clutch | ✅ | ⭐⭐⭐⭐ | 低 | ⭐⭐⭐⭐ |
| dumpdecrypted | ✅ | ⭐⭐⭐ | 高 | ⭐⭐⭐ |
| 非越狱 frida | ❌ | ⭐⭐ | 高 | ⭐⭐ |
| 重签名注入 | ❌ | ⭐⭐ | 高 | ⭐⭐ |
| TrollStore | ❌ | ⭐⭐⭐ | 中 | ⭐⭐⭐ |
个人看法,最好使用越狱的手机砸壳,简单稳定。
对于不折腾技术的人来说,可以使用第三方(服务或者社区)提供的已经砸过壳的资源。
推荐2个:
事实上还有很多,大家在使用的时候注意安全和隐私即可。
Ref
- 使用 frida-ios-dump 和 CrackerXI+砸壳的 ipa 有加密? - V2EX
- 爱思助手提示 - 签名失败 - 飞书云文档
- 有没有砸壳 ipa 分享的站点或者网盘 - V2EX
- iOS:如何自动砸壳 - V2EX- 2026 AppDB安裝教學:免越獄下載iOS區域限制應用 | 完整指南
- iOS安裝第三方APP,UDID Registrations + appdb付費簽名IPA · Ivon的部落格
- iOS10.2下的IPA砸壳从App Store上下载的ipa里面的二进制文件是经过加密的,class-dump和Hop - 掘金
- iOS游戏安全之IPA破解原理及防御 | 游戏大观 | GameLook.com.cn
- iOS 打包签名,你真的懂吗?iOS签名类型有Development、AD-Hoc、In-House与App Store - 掘金
- 一个提供在线免费 IPA 重签的网站 - V2EX- IPASignX - sign ipa files online without macOS for beta-testing
- (99+ 封私信 / 81 条消息) 解决 zxtouch crackerxi 等插件在 coolstar 系 iOS 越狱工具 Odyssey Taurine 环境下无权写入导致不能正常使用的问题 - 知乎
- 解决 iOS 12.4 Killed: 9 的问题 - 干货分享 - 睿论坛
一些场景下,我们需要获取 ipa 安装包。
通常可以用 Apple Configurator 2 获得。
如果是非 macOS 系统,需要略懂一点技术。
ipatool
- 支持的操作系统(Windows、Linux 或 macOS)
- 有 Apple ID 可以使用 App Store
同时满足上面👆2个 条件,就能愉快玩耍。
运行时报错不要慌,在官方issues上有答案。
# 登录账户
ipatool auth login -e your-account -p your-password
# 搜索 app
ipatool search --limit 1 app-name
# 购买 app
ipatool purchase -b bundle-id
# 下载 ipa
ipatool download -i app-id -b bundle-id
Asspp
如果想在手机上操作,也可以使用 Asspp。
具体操作方式,参考README。
使用 Asspp 的优势,可以同时切换多个 Apple ID
另外也可以使用 App Store IPA 在线下载工具。
Ref
- iOS 旧版 APP 推荐与降级方法(持续更新) | 千灵
- 通过 iTunes 官方途径下载 iOS 旧版本应用 | Joseph's Blog
- 给 WeChat 无痛降级,解决服务号折叠带来的麻烦 - V2EX
- 不用愁签名问题了, Asspp 发布网页版,免切账号 AppStore 换区/下载旧版本 - V2EX
- 砍砍.ᐟ on X: "玩的开心~ 找你身边的大佬给你部署吧( 一定要是你信任的人哦,虽然软件开源并且做了各种安全设计,但顶不住人家给你改代码用假的后台。🤡 docker pull ghcr-io/lakr233/assppweb:latest https://t.co/fZHHx4YFeW" / X
- Releases · Lakr233/Asspp
- majd/ipatool: Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store
- Lakr233/AssppWeb --- Lakr233/AssppWeb- 苹果ipa合辑🍎 – APP喵:资源
- IPA下载网站,需要iosgods网站登录 – APP喵:资源
开发工具的边界正在从“代码编辑器”向“上下文与代理”扩散。
这一期看起来是常规的 CLI 与数据库工具更新,
但仔细看,会发现多个项目都在解决同一个问题:
如何让 AI 与开发环境协同工作。
本周一句话总结
开发工具链正在为 AI 代理准备新的接口层。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| apache-arrow-adbc | 基于 Arrow 的跨语言数据库访问接口 |
| cline | 面向复杂任务的 AI 编码代理 |
| ctx7 | 管理 AI 编程上下文与技能文档的工具 |
| cyan | iOS 应用注入与修改工具 |
| dtop | 跨主机 Docker 监控终端面板 |
| et | 支持 IP 漫游的远程终端 |
| ggml | 轻量级机器学习张量库 |
| icestorm | iCE40 FPGA 比特流分析工具 |
| lief | 可执行文件分析与修改库 |
| oh-my-agent | 多 Agent 工作流运行框架 |
| portless | 用可读名称替代本地端口号 |
| summarize | 多模态内容摘要工具 |
| wmbusmeters | 读取智能仪表数据的工具 |
| zycore-c | Zyan C 核心库 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| dbeaverteam | 通用数据库客户端 |
| dbvr | 轻量级数据库操作 CLI |
| fidelity-trader+ | 股票交易平台 |
| font-selawik | Selawik 字体 |
| supasidebar | 类 Arc 的跨浏览器侧边栏 |
| tencent-ugit | 腾讯 Git 图形客户端 |
| voicemod | 实时变声与音效工具 |
值得留意的几个方向
cline:AI 编程代理开始走向“复杂任务执行”
cline 并不是一个简单的代码生成工具,而是一个可以持续执行任务的 AI 编码代理。它的价值在于把“生成代码”升级为“管理开发流程”,例如跨文件修改、测试修复和任务拆解。这类工具的意义不在于写代码更快,而是降低人类维护上下文与状态的心智负担,让开发者从指挥者变成监督者。
apache-arrow-adbc:数据库访问正在被重新标准化
ADBC 试图把数据库访问统一到 Apache Arrow 的内存格式之上,让不同语言与数据库之间共享同一套数据接口。这意味着数据分析、机器学习与应用程序之间的数据复制和序列化成本会显著下降。对需要跨语言或高性能数据处理的系统来说,这是一种从根层提升效率的基础设施。
portless:本地开发环境正在向“可读化网络”演进
portless 通过为本地服务分配稳定、可读的 URL(如 api.local)来替代随机端口号。这不仅提升人类可读性,也让 AI Agent 能更稳定地调用本地服务。随着本地服务数量增加,这种命名层实际上是在给开发环境补上一层“DNS”,减少记忆端口与修改配置的认知成本。
一点个人感受
这一期的工具并没有特别“炫技”的项目,但多个工具都在围绕同一件事:
让开发环境对 AI 更友好。
有些工具你可能永远不会直接安装,比如 ADBC;
但它们一旦被框架或数据库采用,就会悄悄进入你的日常工作流。
结语
开发工具的演进往往不是通过一个明星项目完成的,
而是通过一组看似分散的小工具慢慢重构生态。
工具在变,但节奏不必跟着变。
Ref
The data couldn’t be read because it isn’t in the correct format.
最近一直被这个问题困扰😕,非常影响使用体验:我几乎每天都要计算时间,以确保不会过期掉签。
在网上找了大量资料,总结了2个方案解决。
在说解决方案之前,需要先对这个问题产生的原因有所了解。
大致情况就是:
gsa.apple.com域名的访问被限制🚫
如果在使用 SideStore / LocalDevVPN / iLoader 过程中,访问不了,就会导致刷新失败。
方案一
找一台挂梯子🪜的电脑,手机和电脑在同一局域网,在手机网络中配置代理,连接电脑。
具体可【参考】。
方案二
使用VPN工具自带的TUN模式,目前已知具有这个功能的VPN如下:
使用 Clash Mi 项目【自带的配置工具】可以比较快速的解决。
然后在生成的文件中加入:
tun:
loopback-address:
- 10.7.0.1
具体参考
sing-box 有点麻烦👿
apple store 上架的版本,目前是1.11.4,已经有一年时间未更新。
然而,sing-box 的TUN模式下支持 loopback_address 功能,需要 1.12.0 起。
所以,通过加入 sing-box 项目的 TestFlight 获得app是比较快速🔜的方式。
另外,就只能通过自行编译获得。
但似乎有其他问题,即使构建了ipa文件,也安装不上。
感觉 sing-box 的开发者也挺难,在自己的blog中写道:
多说一句,Shadowrocket 支持 TUN 模式,但类似 loopback_address 的功能不知道如何配置,需要去社区找资料。
Ref
- 求一份在 macOS 上能用的 sing-box 1.12 的 tun 配置 - V2EX
- clash 配置文件转 sing-box 模板 - V2EX
- xmdhs/clash2singbox: 将 clash.meta 格式的配置文件或链接转换为 sing-box 格式
- xmdhs/clash2sfa: 将 Clash.Meta 格式 / 原始格式的订阅链接转换为 sing-box 格式的订阅,用于 SFA
- clash 订阅链接转 sing-box
- The data couldn’t be read because it isn’t in the correct format. · Issue #1146 · SideStore/SideStore
- KaringX/clashmi: Clash Mihomo for iOS/MacOS/Android/Windows/Linux
- 参考配置 | Clash Mi Project
- Kwisma/cf-worker-mihomo: 快速生成mihomo(clash meta)配置文件, 适用于软路由 mihomo 内核,clash meta 客户端等
- DuckerX/Clash-Mi: Clash Mi 使用教程|小火箭免费平替|最简单的 iOS 图文教程
- 折腾啥 – Telegram
- Telegram: View @zhetengsha_group
- Tun - sing-box
- - [BUG] NSCocoaErrorDomain 3840; can’t refresh the apps · Issue #1143 · SideStore/SideStore
- - [Q&A]常见问题解答 · Issue #5 · tom-snow/Sidestore-ClashMi
- tom-snow/Sidestore-ClashMi: 使用 ClashMi 替代 LocalDevVPN / StosVPN 。解决部分运营商对 gsa.apple.com 不友好的问题。
- 解决altstore、sidestore不能刷新的问题 – 环顾四周
- 数据格式不正确,无法读取。· 问题 #1146 · SideStore/SideStore --- The data couldn’t be read because it isn’t in the correct format. · Issue #1146 · SideStore/SideStore
- SideStore iOS 侧载教程 - 晴雨技术笔记
- Quick configuration - mihomo docs
- 最近sidestore无法刷新续签的解决办法(无需用LocalDevVPN) - 开发调优 - LINUX DO
- Sub-Store Sing-box配置生成及简单分流
- 三年后的 sing-box | 世界
- (17) 世界 on X: "sing-box 的 TUN 现在实现了 SideStore 的 StosVPN。在 iPhone 上可以代替 StosVPN,作为网关时也可以对局域网设备生效。 https://t.co/4cu5HdM3BA" / X
- sing-box for Apple platforms - sing-box
- 建议:发布 iOS 版 IPA 包 · 问题 #409 · SagerNet/sing-box --- Suggestion: release IPA package for iOS · Issue #409 · SagerNet/sing-box
- 建议:提供 iOS 平台 IPA 安装包 · 问题 #3242 · SagerNet/sing-box --- Suggestion: provide iOS platform IPA installation package · Issue #3242 · SagerNet/sing-box
很多新工具,并不是为了增加能力,而是减少摩擦。
当项目规模变大,
真正消耗注意力的往往不是功能实现,
而是构建、协作和隔离这些基础环节。
本周一句话总结
这周新增工具明显围绕 构建效率、AI Agent 安全运行、协作开发体验 三个方向展开。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| buildkitd | Docker BuildKit 构建守护进程,支持并发构建与高效缓存 |
| docker-engine | Docker 容器运行环境 |
| ffc.h | 单头文件 C99 高性能浮点解析库 |
| flowrs | Apache Airflow 的终端界面管理工具 |
| garden | 管理 Git 仓库集合的工具 |
| gittype | 把源码变成打字练习的 CLI 游戏 |
| ipapatch | iOS IPA 文件补丁与插件修改工具 |
| models | 浏览 AI 模型、基准测试与代理工具的 TUI |
| nfd2nfc | 文件名编码 NFD → NFC 转换工具,提升跨平台兼容性 |
| nono | 面向 AI Agent 的能力隔离沙盒 Shell |
| powershell | 跨平台命令行 Shell 与脚本语言 |
| scala-cli | Scala 运行与构建工具 |
| sem-cli | 语义化版本控制 CLI |
| topicctl | Kafka Topic 声明式管理工具 |
| tsshd | 支持漫游的 UDP SSH 服务 |
| upterm | 即时终端共享工具 |
| vapoursynth-bm3d | VapourSynth 视频降噪滤镜 |
| vapoursynth-descale | VapourSynth 反缩放插件 |
| weave | 基于 tree-sitter 的 Git 语义级合并驱动 |
| zsign | 跨平台 iOS 应用签名工具 |
| zvbi | 视频垂直消隐信号解码库 |
| zxc | 高性能非对称无损压缩库 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| gram | 强调稳定与隐私的代码编辑器 |
| seamly2d | 服装版型设计软件 |
| spectra-app | OpenSpec 文档管理桌面应用 |
| ulaa | 注重隐私保护的浏览器 |
| wowup-cf | 魔兽世界插件管理器 |
| x-air-edit | Behringer X AIR 调音台远程控制软件 |
值得留意的几个方向
buildkitd:构建系统正在变成“基础设施”
Docker 生态真正影响效率的,其实并不是容器运行,而是镜像构建过程。
buildkitd 提供并发构建、缓存复用和 Dockerfile 解耦能力,让镜像构建更像一个可以优化的流水线,而不是一次性脚本。当 CI/CD 规模扩大时,构建时间往往成为开发效率瓶颈,而 BuildKit 的价值就在这里:它把构建过程从“黑盒步骤”变成可调优的工程组件。
nono:AI Agent 需要新的安全边界
随着 AI Agent 开始参与自动化开发流程,
Shell 权限问题也变得越来越敏感。
nono 通过能力模型与系统级隔离,为 AI Agent 提供一个受控运行环境。Agent 可以执行命令,但只能在被授权的能力范围内活动。这类工具的意义并不是功能多少,而是为未来的自动化开发提供一个更安全的默认运行方式。
upterm:终端协作正在变得像分享链接
远程调试 CLI 程序通常需要 SSH、VPN 或屏幕共享。
upterm 将终端共享简化为生成一个会话链接,其他人即可加入同一个终端会话。对远程排查问题、结对编程或教学来说,这种方式比传统远程桌面轻得多,也让终端第一次拥有类似在线文档的实时协作体验。
一点个人感受
这一期新增的工具里,有不少看起来并不“耀眼”。
但仔细看会发现,它们解决的往往是开发流程里那些不起眼却长期存在的问题:构建速度、远程协作、自动化安全。
这些工具可能不会每天使用,但当工程规模变大时,它们往往会突然变得非常重要。
结语
Homebrew 的更新记录,其实也是一份开发工具生态的变化日志。
当新的开发方式出现时,总会有人先写出一个小工具,把问题解决掉。
工具在变,但节奏不必跟着变。
用了很长时间的虚拟机。
以前做web开发的时候,需要考虑界面适配,会安装多个虚拟机。
虽然,IETest,IETab 这些工具也可以模拟,但是仍然会有一些特别情况。
这时,虚拟机是不二选择。
过了这么多年,终于不用适配IE,但烦心的事情并没有减少。
PC端,Windows 和 Mac 的用户群体很多,为了获得相对较好的UI体验,需要在2个系统上调试。
目前,前端主流使用 Mac 开发,所以 Windows 的UI体验有时候很难被发现。
Mac 上比较主流的虚拟机是:
- VMware Fusion (免费)
- Parallels Desktop (商业)
- VirtualBox (开源)
通常来说,对于小白用户,上手容易程度:商业 > 免费 > 开源。
付费的通常都比较好用,功能也多,性能也好。
免费的功能支持一般不及时,或者性能差,或者功能少。
开源的不适合小白。
UTM 这个项目,是在我玩 SideStore 的过程中接触到的。
一直没怎么用,感觉不会在手机上用,所以仅停留在“知道这个项目”的程度。
最近在玩 Pokémon 游戏,需要用到 Windows 运行一些汉化工具。
所以在 Mac 上安装了 UTM。
安装很顺利,UTM 官方文档写的很清晰。
体验上比 Parallels Desktop 和 VMware Fusion 要简单很多。
UTM 支持 Intel / Apple Silicon,能跑一些较老的 Windows 版本。
Ref
游戏介绍
游戏平台:NDS
模拟器:Delta
游戏版本:
- 口袋妖怪(精灵宝可梦) 心灵之金 官译修正版v2.1.1(简)(JP)(ACG汉化组+Xzonn)(1024Mb)
- 口袋妖怪(精灵宝可梦) 金心(JP)(ACG汉化组)(1024Mb)
宝可梦心灵之金发布时间表
- 2009年9月12日 心灵之金/灵魂之银 官方发布
- 2010年7月2日 原版汉化 by @ACG汉化组
- 2020年2月28日 原版汉化优化 by @ACG汉化组、@Xzonn
事实上,还有很多其他衍生版本。例如:493/免通讯。493,即全部493只宝可梦。免通讯,即不需要联机通讯,进化宝可梦。
基于《原版汉化 by @ACG汉化组》的存档,可以被 @Xzonn 优化版本读取
剧情发现
挑战道馆
技能机
道具秘技
精灵性格
隐藏道具
通关组合
通关技巧
如何练级
如何刷钱
如何制作精灵球
常用术语
| 表述 | 含义 |
|---|---|
| HG / hg | 心金 / 心灵之金 的简称。英文(Pokémon HeartGold) |
| SS / ss | 魂银 / 灵魂之银的简称。英文( Pokémon SoulSilver) |
| HM | 秘传学习器 |
| TM | 招式学习器 |
Ref
- Bulbagarden
- 《心金》策略 : r/nuzlocke
- 金魂银魂(HeartGold 和 Soulsilver) : r/pokemon --- 金魂银魂(HeartGold 和 Soulsilver) : r/pokemon
- 每一代里,谁是最好的HM苦力(们)? : r/pokemon
- 在金心银魂里怎么快速赚钱:(不知道在金银里是不是也这样) : r/pokemon
- 口袋妖怪心金 图文攻略(2) - 哔哩哔哩
- 神奇世界官方網站-神奇寶貝
- HG/SS 里的学习装置 : r/pokemon
- [口袋妖怪心金魂银]来热血吧!PM运动会解析 - 如何在模拟器上绕过交换进化? : r/PokemonFireRed
- 口袋妖怪心金 图文攻略(2) - 哔哩哔哩
- 『口袋妖怪心金魂银』原创图文攻略【一周目+二、三周目】 - 心金|魂银资料库 - 口袋大学城 - Powered by Discuz!
- 宝可梦 心金/魂银 - 神奇宝贝百科,关于宝可梦的百科全书
- 心灵金/灵魂银专区 - Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论 - Powered by Discuz!
- 《宝可梦 心金/魂银》汉化修正补丁 - 《宝可梦》第四世代汉化修正
- 心金: r/pokemon --- 心金 : r/pokemon
- 《宝可梦》系列游戏汉化时间表 - Xzonn 的小站
- 【口袋中心出品】魂银·壹式改点壹(全493) - 心灵金/灵魂银专区 - Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论 - Powered by Discuz!
- 宝可梦 心金/魂银 - 神奇宝贝百科,关于宝可梦的百科全书
- 被誉为交通工具的宝可梦!每个版本的最佳工具宠,都有哪一些? - 哔哩哔哩
- 桧皮镇头槌树地图 : r/pokemon
越来越多工具正在离开桌面,走向系统深处。
这一期没有特别“吸睛”的应用。
但多了不少你可能永远不会直接运行的工具。
它们更像基础设施的一部分,在系统背后慢慢改变开发方式。
本周一句话总结
这是一组明显面向“开发环境基础设施”的更新。
很多新增项目并不是给用户使用的应用,
而是构成:
- 容器运行环境
- AI 编程工作流
- 权限系统
- CLI 自动化生态
的一部分。
本周新增工具速览
🧪 New Formulae
| 名称 | 中文说明 |
|---|---|
| apkeep | 从不同来源下载 APK 文件的 CLI 工具 |
| atuin-server | atuin shell 历史同步服务 |
| checkpwn | 检查邮箱是否出现在泄露数据库中 |
| cloudflare-speed-cli | 基于 Cloudflare 的测速工具 |
| containerd | 开源容器运行时 |
| dlpack | 跨框架共享张量数据结构 |
| git-pkgs | 追踪 Git 历史中的依赖变化 |
| googleworkspace-cli | Google Workspace 命令行工具 |
| kubectl-tree | 以树形结构浏览 Kubernetes 对象 |
| [email protected] | 轻量级脚本语言 Lua |
| mkbrr | 创建与修改 torrent 文件 |
| openspec | 面向 AI 编程助手的规范驱动开发工具 |
| pet | 命令行代码片段管理器 |
| rustypaste-cli | rustypaste 服务 CLI |
| spicedb | 类 Google Zanzibar 权限数据库 |
| termusic | Rust 编写的 TUI 音乐播放器 |
| torf-cli | torrent 文件创建与编辑工具 |
| vapoursynth-bestsource | 视频处理工具 |
| vuls | 无代理漏洞扫描器 |
| x-cli | Twitter 命令行工具 |
🧩 New Casks
| 名称 | 中文说明 |
|---|---|
| font-ghanachocolate | Ghana Chocolate 字体 |
| font-miranda-sans | Miranda Sans 字体 |
| ltx-desktop | LTX 视频生成模型桌面应用 |
| paseo | AI 编码 Agent 的自托管守护进程 |
| spokenly | AI 语音转录与编辑工具 |
| t3-code | AI 代码代理 GUI |
| tablepro | MySQL / PostgreSQL / SQLite 数据库客户端 |
| vcmi | 《英雄无敌 III》开源引擎 |
值得留意的几个方向
这一节不求全,
只挑几个真正值得停下来看的技术信号。
containerd:容器世界真正的运行核心
容器技术通常被理解为:Docker。
但在现代云原生架构中,
真正负责运行容器的其实是 containerd。
技术栈结构大致是:
Docker
↓
containerd
↓
runc
↓
Linux kernel
containerd 负责:
- 镜像管理
- 容器生命周期
- 资源隔离
- runtime 调度
Kubernetes、Docker、许多 PaaS 平台
实际上都依赖它。
Homebrew 收录 containerd 的意义是:
开发环境正在变得更接近生产环境。
越来越多开发者开始在本地直接运行完整容器栈,
而不是依赖一层封装好的 Docker Desktop。
这也是一个明显趋势:
开发机正在变成一个“小型云平台”。
SpiceDB:权限系统正在数据库化
spicedb 是本期最值得关注的基础设施项目之一。
它的设计灵感来自 Google 的著名权限系统:
Zanzibar
Zanzibar 支撑着:
- Google Drive
- YouTube
- Google Docs
的权限关系。
为什么权限系统这么难
传统权限模型通常是:
user → role → resource
但现代 SaaS 的权限关系会变成:
用户
团队
组织
资源
共享
继承
协作
权限关系会形成复杂图结构。
SpiceDB 的做法是:
把权限关系当作图数据库处理。
例如:
user:alice
member_of
team:design
team:design
owns
doc:proposal
这样就可以动态计算权限。
为什么重要
未来复杂应用几乎都需要:
- 协作权限
- 多组织结构
- 细粒度授权
SpiceDB 这类系统正在成为:
权限基础设施。
OpenSpec:AI 编程开始进入“规范驱动”
AI 编程工具越来越多,
但一个问题也越来越明显:
AI 很擅长写代码,
却很难保持系统结构一致。
OpenSpec 的目标是:
让开发流程变成:
Spec → AI → Code
而不是:
Prompt → Code
Spec 可能包括:
- API 规范
- 数据结构
- 行为约束
- 架构约定
AI 只负责生成实现。
这其实是一种新的开发模式:
Spec Driven Development(SDD)
它解决的不是代码问题,而是:
AI 如何参与系统工程。
kubectl-tree:理解 Kubernetes 的结构
Kubernetes 对新手来说最大的困难之一是:
对象关系。
例如:
Deployment
↓
ReplicaSet
↓
Pod
同时还有:
- Service
- Ingress
- ConfigMap
- Secret
关系复杂且分散。
kubectl-tree 的做法非常简单:
把对象关系变成一棵树。
示例:
deployment/web
└─ replicaset/web-123
└─ pod/web-abc
这种视图对调试问题非常有用。
当 Kubernetes 规模变大时,
理解对象结构本身就是一种成本。
这个工具正是在减少这种心智负担。
pet:命令行时代的“代码片段库”
很多开发者都有这样的文件:
commands.txt
cheatsheet.md
notes.md
里面记录各种:
- docker 命令
- kubectl 命令
- ffmpeg 命令
pet 做的事情很简单:
把这些命令变成可搜索、可执行的片段库。
例如:
pet search docker
pet run kubectl-restart
当 CLI 工具越来越多时,
“记住命令”本身就变成负担。
pet 的价值是:
把记忆成本转化为工具能力。
cloudflare-speed-cli:测速工具的另一个方向
测速工具很多,但大多数使用:
Speedtest 网络。
Cloudflare-speed-cli 的特点是:
直接测试 Cloudflare 网络路径。
这对于很多开发者其实更真实:
因为大量服务现在都在 Cloudflare CDN 上。
如果你经常访问:
- GitHub
- npm
- Cloudflare Workers
- 各类 CDN
这个测速结果可能比传统 Speedtest 更有意义。
一点个人感受
这一期让我印象最深的是一种“基础设施感”。
很多新增项目:
- 不提供 GUI
- 不解决日常效率
- 不直接面对用户
却在悄悄改变开发环境。
像 containerd、spicedb 这样的工具,
你可能永远不会直接运行。
但未来的软件系统很可能就建立在这些组件之上。
结语
Homebrew 的更新列表有时像一份技术世界的地下水位报告。
你未必能看见它,
却能感觉到环境正在慢慢改变。
工具在变,但节奏不必跟着变。
示例
1. 创建一个裸仓库
git clone --bare https://github.com/your-org/your-monorepo.git your-monorepo
cd your-monorepo
2. 为每个分支创建工作树
# 主开发工作树
git worktree add ./main main
# 代理 A 的功能分支
git worktree add ./feature-auth feat/auth
# 代理 B 的 bug 修复分支
git worktree add ./fix-api fix/api-error
每个工作树都是一个完整的检出,拥有自己的文件,但它们都共享同一个 .git 对象存储。
3. 启用全局虚拟存储
在你的仓库中的 pnpm-workspace.yaml 文件中添加 enableGlobalVirtualStore: true:
packages:
- 'packages/*'
enableGlobalVirtualStore: true
4. 在每个工作树中安装依赖项
cd main && pnpm install
cd ../feature-auth && pnpm install
cd ../fix-api && pnpm install
第一次执行 pnpm install 会将软件包下载到全局存储中。 在其他工作树中进行后续安装几乎是瞬间完成的,因为它们只会创建指向同一存储的符号链接。