<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
    >
<channel>
    <title>rich-1e</title>
    <atom:link href="https://rich-1e.sol.build/rss.xml" rel="self" type="application/rss+xml" />
    <link>https://rich-1e.sol.build/</link>
    <description><![CDATA[
    <p>升级打怪</p>

    ]]></description>
    
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260713 | MCP &#x7684;&#x5468;&#x8FB9;&#x957F;&#x51FA;&#x6765;&#x4E86;</title>
        <link>https://rich-1e.sol.build/0C7277EF-A2A7-4554-B2FE-8906398E5FFB/</link>
        <guid>https://rich-1e.sol.build/0C7277EF-A2A7-4554-B2FE-8906398E5FFB/</guid>
        <pubDate>Mon, 13 Jul 2026 11:14:38 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260713/AB28CF74-007F-46D9-974A-31753FA83343.png" />    
        
        
        <description><![CDATA[
            <p><strong>这一周的新增列表没有特别眩目的东西,但有一条线很清晰:MCP 生态开始在 Homebrew 里占位了。</strong></p> 
<blockquote> 
 <p>不是 MCP 协议本身,是围着它的那一圈 — 安装器、管理器、专用终端。<br /> 工具基础设施长出来,通常意味着这件事要进下一个阶段了。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>MCP 不再只是"大厂的实验",这周 Homebrew 里同时进了两个围绕它生长的工具,安装器和管理器各一个。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>esbmc</strong></td> 
   <td>基于 SMT 的有界模型检验器,支持 C/C++/Python</td> 
  </tr> 
  <tr> 
   <td><strong>faker</strong></td> 
   <td>Python 版假数据生成器(姓名、地址、邮件等)</td> 
  </tr> 
  <tr> 
   <td><strong>filtlong</strong></td> 
   <td>长读 DNA 测序数据的质量过滤工具</td> 
  </tr> 
  <tr> 
   <td><strong>goimapnotify</strong></td> 
   <td>监听 IMAP IDLE 事件并触发脚本</td> 
  </tr> 
  <tr> 
   <td><strong>librefang</strong></td> 
   <td>面向自主 AI agent 的自托管操作系统</td> 
  </tr> 
  <tr> 
   <td><strong>libyojimbo</strong></td> 
   <td>面向多人游戏的安全 UDP 客户端/服务端网络库</td> 
  </tr> 
  <tr> 
   <td><strong>mktxp</strong></td> 
   <td>Mikrotik RouterOS 设备的 Prometheus 导出器</td> 
  </tr> 
  <tr> 
   <td><strong>msdf-atlas-gen</strong></td> 
   <td>从字体生成多通道有符号距离场图集</td> 
  </tr> 
  <tr> 
   <td><strong>netcode</strong></td> 
   <td>基于 UDP 的多人游戏安全通信协议库</td> 
  </tr> 
  <tr> 
   <td><strong>opencv@4</strong></td> 
   <td>经典计算机视觉库的 v4 版本</td> 
  </tr> 
  <tr> 
   <td><strong>perlnavigator</strong></td> 
   <td>Perl 语言服务器</td> 
  </tr> 
  <tr> 
   <td><strong>rawtoaces</strong></td> 
   <td>将相机 RAW 文件转换为 ACES 色彩空间</td> 
  </tr> 
  <tr> 
   <td><strong>reliable</strong></td> 
   <td>面向 UDP 的轻量包确认系统</td> 
  </tr> 
  <tr> 
   <td><strong>salmon</strong></td> 
   <td>RNA-seq 的转录本级别定量工具</td> 
  </tr> 
  <tr> 
   <td><strong>serialize</strong></td> 
   <td>面向游戏网络的 C++ 单头文件位打包序列化</td> 
  </tr> 
  <tr> 
   <td><strong>smithery-cli</strong></td> 
   <td>从 Smithery 平台安装和列出 MCP 服务器</td> 
  </tr> 
  <tr> 
   <td><strong>soar</strong></td> 
   <td>快速现代的静态二进制包管理器</td> 
  </tr> 
  <tr> 
   <td><strong>trim-galore</strong></td> 
   <td>FastQ 测序文件的质量和接头修剪工具</td> 
  </tr> 
  <tr> 
   <td><strong>webfont</strong></td> 
   <td>从 SVG 图标生成字体文件,含 TTF/WOFF/WOFF2</td> 
  </tr> 
 </tbody> 
</table> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>chatgpt-classic</strong></td> 
   <td>OpenAI 旧版 ChatGPT 桌面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>itermcompanion</strong></td> 
   <td>配对 iTerm2 与 iPhone 上的 iTerm2 Companion</td> 
  </tr> 
  <tr> 
   <td><strong>otty</strong></td> 
   <td>专为 code agent 设计的终端模拟器</td> 
  </tr> 
  <tr> 
   <td><strong>proxybridge</strong></td> 
   <td>支持按应用分流的代理客户端</td> 
  </tr> 
  <tr> 
   <td><strong>raycast-glaze</strong></td> 
   <td>通过与 AI 对话来创建桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>toolhive-studio</strong></td> 
   <td>安装、管理和运行 MCP 服务器的桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>vicinae</strong></td> 
   <td>应用启动器与命令面板</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节只挑 4 个值得停下来多看两眼的点。<br /> 它们的共同主题是:<strong>MCP 的基础设施正在补齐,AI agent 的终端正在成形。</strong></p> 
</blockquote> 
<hr /> 
<h3>smithery-cli + toolhive-studio:同一周进,不是巧合</h3> 
<p>这两个工具同时出现在这周的新增里 — 一个 CLI,一个 GUI,目标都是一件事:<strong>替你管 MCP 服务器</strong>。</p> 
<p><code>smithery-cli</code> 的定位是"从 Smithery 市场直接装 MCP server",命令行操作,背后是 Smithery 这个 MCP 工具集中列表平台。<code>toolhive-studio</code> 是 Stacklok 出的桌面版,用容器跑每一个 MCP server,自动帮你配好 Claude Code / Cursor / GitHub Copilot 的客户端集成,还做了 secret 隔离和最小权限设置。</p> 
<p>以前装一个 MCP server 需要自己找 GitHub、改配置文件、手动重启客户端 — 整个过程散在好几个地方。这两个工具各自选了一个入口把这件事包起来。</p> 
<p>真正值得记的不是某一个工具,而是<strong>这件事同时出现了两种形态</strong>:marketplace CLI 和 GUI 管理器。说明 MCP server 的"安装体验"已经成了一个被人认真对待的问题,不是配置项,是产品。</p> 
<hr /> 
<h3>otty:终端在往"agent 工作台"这个方向拐</h3> 
<img width="600" alt="Otty 界面" src="https://rich-1e.sol.build/0C7277EF-A2A7-4554-B2FE-8906398E5FFB/AB28CF74-007F-46D9-974A-31753FA83343.png" /> 
<p>传统终端是"你打命令、它输出",这件事在 agent 出现之前一直是对的。但 agent 不"打命令" — 它是在跑,你在看,偶尔介入。这是完全不同的使用姿势。</p> 
<p><code>otty</code> 把这个区别当成了设计出发点。它不只是渲染文字更漂亮 — 它加了"并排监控多个 agent session"、"prompt 队列"、"把终端输出直接发送给 agent"这类功能。屏幕不再是一行一行的命令,而是几个 agent 同时在工作、你在旁边做决策的工作面板。</p> 
<p>它是免费的,macOS 原生,不需要账号。现在装它的人大多数是"看一下是什么感觉",但它指向的那个方向 — <strong>终端从"输入设备"变成"agent 监控台"</strong> — 这条线不会消失。</p> 
<hr /> 
<h3>librefang:AI agent 的"操作系统"这个说法第一次进 Homebrew</h3> 
<img width="600" alt="AF237660-98CC-4A77-BC80-05F171218FFC" src="https://rich-1e.sol.build/0C7277EF-A2A7-4554-B2FE-8906398E5FFB/AF237660-98CC-4A77-BC80-05F171218FFC.png" /> 
<p><code>librefang</code> 的描述是"自托管的、面向自主 AI agent 的操作系统"。这件事怎么理解因人而异,但单纯从"这个词组进了 homebrew/core 的正式描述"这件事来说,值得记一笔。</p> 
<p>前几年 AI agent 的配套基础设施都在 Python 包生态里转,进 Homebrew formula 的路径是:项目足够稳定、有明确的二进制分发、团队认真对待"可以被干净卸载"这件事。<code>librefang</code> 今天版本号是 <code>2026.7.11</code>,走的是日期版本,说明它在快速迭代但也在认真维护。</p> 
<p>不一定要现在就装,但**"自主 AI agent 的运行时"开始被当成一个可以 <code>brew install</code> 的东西**,这件事本身是一个信号。</p> 
<hr /> 
<h3>vicinae:Raycast 这片水里,又进来一条鱼</h3> 
<img width="600" alt="6D1E3ADD-2016-4AD3-BBDF-2F41E5F39AB1" src="https://rich-1e.sol.build/0C7277EF-A2A7-4554-B2FE-8906398E5FFB/6D1E3ADD-2016-4AD3-BBDF-2F41E5F39AB1.png" /> 
<p><code>vicinae</code> 是一个 macOS 应用启动器 + 命令面板。Spotlight 做过,Alfred 做过,Raycast 现在把持着,<code>vicinae</code> 进来了。</p> 
<p>这条赛道看起来饱和了,但它每一两年都会有新入场者,理由也总是类似的:"更快"、"更 native"、"更懂现在的工作流"。<code>vicinae</code> 要求 Apple Silicon + macOS 14,这个姿态更像是"我不做兼容性,我只做最新设备上最好的体验"。</p> 
<p>装不装是另一件事。但 Raycast 已经"产品化"得越来越重,总有人在找替代品 — <code>vicinae</code> 在的位置是**"如果有一天你受够了 Raycast 的商业化,它可能是下一个值得看的"**。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这周让我记下来的是 <code>otty</code> 和 <code>toolhive-studio</code> 这两个方向一起出现这件事。前者在回答"agent 出现之后终端应该是什么形状",后者在回答"MCP server 该怎么装和管"。两个都是基础设施层面的补课,不是功能堆砌。</p> 
<p><code>chatgpt-classic</code> 单独进了 Cask,名字带"classic",这种命名通常意味着**"我们已经承认旧版本是一个独立产品"**了。不知道是因为太多人回退,还是 OpenAI 自己留一条后路,总之值得注意一下。</p> 
<p><code>soar</code> 是这周新增里我最可能装的一个 — 静态二进制的包管理器,不需要 root,不依赖 libc,在受限环境里很有用。但它目前还有 3 个 build error,等一等。</p> 
<p>游戏网络那一组(<code>libyojimbo</code> / <code>netcode</code> / <code>reliable</code> / <code>serialize</code>)同时进来,像是某个游戏基础库的配套分拆。不是主流工具,但说明 Homebrew 的覆盖面还在往专业垂直方向延伸。</p> 
<hr /> 
<h2>结语</h2> 
<p>这一周的工具没有一个会让你"哇原来还能这样"。但 smithery-cli 和 toolhive-studio 同时进来,otty 出现在 Cask 里,librefang 用"自主 AI agent 操作系统"这个描述进了正式仓库 — 这些事放一起,你能看到 <strong>AI agent 的日常工具链在向 brew 这一侧靠拢</strong>。</p> 
<p>不是浪潮,是沉降。工具开始落地了。</p> 
<blockquote> 
 <p>你不必每个都装,但能看到它们在哪儿补课,比跟着装要值钱。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260707 | Agent &#x8FB9;&#x4E0A;&#x7684;&#x90A3;&#x4E00;&#x5708;</title>
        <link>https://rich-1e.sol.build/4D38C09B-B834-4E10-8200-1EA5A8A14A3A/</link>
        <guid>https://rich-1e.sol.build/4D38C09B-B834-4E10-8200-1EA5A8A14A3A/</guid>
        <pubDate>Tue, 07 Jul 2026 19:23:46 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260707/bbrew-search.png" />    
        
        
        <description><![CDATA[
            <p><strong>这一周的新增列表里,有一类东西明显在堆 — 围着"AI agent"和"本地 AI"长出来的小工具。</strong></p> 
<blockquote> 
 <p>不是新模型,也不是新框架,就是补那一个动作:让 agent 跑得更顺、让语音留在本机、让供应链有眼睛。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>新增列表很热闹,但真正的主题只有一个:<strong>AI 工具链开始补"周边"了</strong> — review 工具、保活工具、本地语音、本地安全扫描,从四面围过来。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>adrs</strong></td> 
   <td>Rust 写的架构决策记录(ADR)工具</td> 
  </tr> 
  <tr> 
   <td><strong>ai-cli</strong></td> 
   <td>在终端里生成图片、视频、音频、文本</td> 
  </tr> 
  <tr> 
   <td><strong>asar</strong></td> 
   <td>给 SNES ROM 打补丁或重建 ROM 的汇编器</td> 
  </tr> 
  <tr> 
   <td><strong>bbrew</strong></td> 
   <td>Homebrew / Flatpak / Mac App Store 的 TUI 管理器</td> 
  </tr> 
  <tr> 
   <td><strong>bomctl</strong></td> 
   <td>格式无关的 SBOM 工具,介于生成和分析之间</td> 
  </tr> 
  <tr> 
   <td><strong>cve-bin-tool</strong></td> 
   <td>扫描二进制和 SBOM 中的已知漏洞并出报告</td> 
  </tr> 
  <tr> 
   <td><strong>diskwatch</strong></td> 
   <td>跨平台磁盘诊断 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>epics-base</strong></td> 
   <td>实验物理与工业控制系统基础库</td> 
  </tr> 
  <tr> 
   <td><strong>esbonio</strong></td> 
   <td>处理 Sphinx 项目的语言服务器</td> 
  </tr> 
  <tr> 
   <td><strong>hunk</strong></td> 
   <td>终端里 review 代码 diff 的工具,AI agent 友好</td> 
  </tr> 
  <tr> 
   <td><strong>kotofetch</strong></td> 
   <td>终端里显示日语格言的小工具</td> 
  </tr> 
  <tr> 
   <td><strong>kubectl-klock</strong></td> 
   <td>kubectl 插件,把 watch 输出渲染得更易读</td> 
  </tr> 
  <tr> 
   <td><strong>msdfgen</strong></td> 
   <td>多通道有符号距离场生成器</td> 
  </tr> 
  <tr> 
   <td><strong>prrte</strong></td> 
   <td>PMIx 参考运行时环境</td> 
  </tr> 
  <tr> 
   <td><strong>rancher-machine</strong></td> 
   <td>容器世界的机器管理</td> 
  </tr> 
  <tr> 
   <td><strong>sbom-utility</strong></td> 
   <td>校验、查询、编辑 SBOM 的工具</td> 
  </tr> 
  <tr> 
   <td><strong>sdl3_sound</strong></td> 
   <td>SDL3 的抽象音频解码器</td> 
  </tr> 
  <tr> 
   <td><strong>vsview</strong></td> 
   <td>新一代 VapourSynth 预览器</td> 
  </tr> 
  <tr> 
   <td><strong>zero</strong></td> 
   <td>"你拥有的"终端编程 agent</td> 
  </tr> 
 </tbody> 
</table> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>adrafinil</strong></td> 
   <td>仅在 AI agent 工作时让 Mac 保持唤醒</td> 
  </tr> 
  <tr> 
   <td><strong>aside</strong></td> 
   <td>内置 AI 助手的网页浏览器</td> 
  </tr> 
  <tr> 
   <td><strong>font-caacupe-one</strong> / <strong>font-scoutie-sans</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>gitcomet</strong></td> 
   <td>Git 图形客户端</td> 
  </tr> 
  <tr> 
   <td><strong>gnome</strong></td> 
   <td>菜单栏 GIF 搜索与制作工具</td> 
  </tr> 
  <tr> 
   <td><strong>harper-desktop</strong></td> 
   <td>面向开发者的语法检查器</td> 
  </tr> 
  <tr> 
   <td><strong>itsypad</strong></td> 
   <td>轻量便笺 + 剪贴板管理</td> 
  </tr> 
  <tr> 
   <td><strong>keeperdb</strong></td> 
   <td>多数据库管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>lumide</strong></td> 
   <td>面向 agent 的代码编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>mac-sai</strong></td> 
   <td>系统清理、优化与恶意软件扫描</td> 
  </tr> 
  <tr> 
   <td><strong>muesli</strong></td> 
   <td>本地优先的听写与会议转写</td> 
  </tr> 
  <tr> 
   <td><strong>onexrayse</strong></td> 
   <td>跨平台 Xray-core 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>pique</strong></td> 
   <td>Quick Look 扩展,预览带语法高亮的文件</td> 
  </tr> 
  <tr> 
   <td><strong>pocket-bard</strong></td> 
   <td>TTRPG 环境音与音效</td> 
  </tr> 
  <tr> 
   <td><strong>slashy</strong></td> 
   <td>Gmail 邮件客户端</td> 
  </tr> 
  <tr> 
   <td><strong>snapzy</strong></td> 
   <td>菜单栏原生截图、录制、标注、编辑</td> 
  </tr> 
  <tr> 
   <td><strong>sonarqube-cli</strong></td> 
   <td>面向终端与 AI agent 的代码质量/安全</td> 
  </tr> 
  <tr> 
   <td><strong>subtitle-studio</strong></td> 
   <td>离线 AI 字幕生成</td> 
  </tr> 
  <tr> 
   <td><strong>uniclipboard</strong></td> 
   <td>跨设备剪贴板同步</td> 
  </tr> 
  <tr> 
   <td><strong>valkey-admin</strong></td> 
   <td>Valkey 集群与单机管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>zush</strong></td> 
   <td>AI 驱动的文件重命名与整理</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节只挑 4 个我觉得能停下来多看两眼的方向。<br /> 它们彼此不是一类,但都在回答同一道题:<strong>"agent 已经在这里了,我还要不要把别的东西也搬过来?"</strong></p> 
</blockquote> 
<hr /> 
<h3>hunk:替 agent 写的 diff 找一个看得下去的姿势</h3> 
<img width="600" alt="bbrew 演示" src="https://rich-1e.sol.build/4D38C09B-B834-4E10-8200-1EA5A8A14A3A/bbrew-demo.gif" /> 
<p>不是 <code>hunk</code> 自己,是它想接的那个东西 — <strong>agent 写代码越来越快,但 review 那一步还是原来那一套</strong>。<code>git diff</code> 滚一屏、左右对照、再开 IDE 看一遍,这一套流程在 agent 一晚上能交 50 个 patch 的时候直接崩。</p> 
<p><code>hunk</code> 的回答是:把 diff 当成"待审阅的稿子"来看。它在终端里给了一份侧边栏 — 文件列表、变更数、还能挂上 agent 的"注解"(为什么改、改了哪条思路),屏幕中间是带语法高亮和主题的 diff 视图,布局可切 split / stack / auto,支持 watch 模式跟着文件变,甚至能直接 <code>cat patch.diff | hunk</code> 喂进去。</p> 
<p>它在替人省的不是"看 diff"这件事,而是 <strong>"理解 agent 改了什么"</strong> 那一段心智成本 — 把 review 从"翻 diff"变成"读批注"。</p> 
<hr /> 
<h3>bbrew:Homebrew 自己长出来了一个 TUI</h3> 
<img width="600" alt="bbrew 搜索界面" src="https://rich-1e.sol.build/4D38C09B-B834-4E10-8200-1EA5A8A14A3A/bbrew-search.png" /> 
<p><code>bbrew</code>(Bold Brew)这件事有意思的点在于 — Homebrew 这个项目一直坚持"CLI 是最对的",但市场显然没听进去,所以社区里已经长出好几个 TUI 包装了。<code>bbrew</code> 是相对完整的那一档:Homebrew、Flatpak、Mac App Store 在一个界面里管,支持模糊搜索、过滤已装/过期/孤包、还能按下载量排序,顺手把 <code>brew vulns</code> 的扫描也接了进来(<code>v</code> 键),最绝的是可以一键导出选中的包到 Brewfile。</p> 
<p>它甚至被 Bluefin/Universal Blue 收为默认 TUI(在 Linux 那一侧)。换句话说,这是个<strong>已经被某条发行线正式收编</strong>的工具,不是一个人在玩。</p> 
<p>为什么在意它:因为它把 Homebrew 从"我每次都得想命令"变成"我滑一下就行"。这种"我替你管理命令"的中间件,后面只会越来越多。</p> 
<hr /> 
<h3>adrafinil:在 agent 跑的时候才把 Mac 叫醒</h3> 
<p>这个名字借的是那个真实存在的"促醒药" adrafinil — 吃下去是惰性的,被代谢了才生效。工具本身借的是这个意思:Mac 默认是睡的,<strong>只有当某个 agent session 真的握着"我在跑"的句柄时,才阻止它入睡</strong>;session 结束,句柄释放,Mac 恢复正常睡眠。</p> 
<p><code>caffeinate</code> / Amphetamine 的老问题不是"保活",而是**"我忘了关"** — 笔记本在外头撑一宿、屏幕在包里烫手、合盖的逻辑被绕过。<code>adrafinil</code> 把"要不要保活"从用户手里拿走,交给 agent 自己声明。Claude Code、Codex、Hermes 都有 hook,合盖时还会响一声确认"我在替你 hold 住"。</p> 
<p>它解决的不是性能问题,是<strong>生活形态问题</strong> — 那些"agent 在后台跑、我出门 / 睡觉 / 走了"的真实场景。</p> 
<hr /> 
<h3>muesli / subtitle-studio / harper-desktop:本地 AI 这一档的"小而不必送云"</h3> 
<img width="72" alt="snapzy-banner" src="https://rich-1e.sol.build/4D38C09B-B834-4E10-8200-1EA5A8A14A3A/snapzy-banner.png" /> 
<p>这三个放一起说。<code>muesli</code> 是本地语音转写 + 会议记录,模型可以选 Parakeet / Whisper / Cohere / Qwen,装好之后完全离线,按 Right Cmd 就开始听写,把文本直接塞进当前应用。<code>subtitle-studio</code> 是离线 AI 字幕生成,arm64 原生。<code>harper-desktop</code> 是个本地语法检查器,目标用户是写代码注释和 PR 描述的人。</p> 
<p>它们都共享一个姿态:<strong>"我的语音 / 文字 / 语法,不租给任何云"</strong>。这是 2025 年之后才慢慢显形的一类需求 — 之前大家默认"语音转写 = 走云 API = 上传音频",现在 Apple Silicon 给得起,模型小得下,于是每个细分动作都可以"本地化"。</p> 
<p>它替人省的不是时间,是<strong>决定"这一段要不要上传"</strong> 时的那一点犹豫。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p><code>cve-bin-tool</code> / <code>bomctl</code> / <code>sbom-utility</code> 这一组工具同时进,值得记一笔 — <strong>SBOM 不再是合规文件,它开始长成"日常工具"了</strong>。前两年大家还在讨论"我们公司要不要生成 SBOM",现在 brew 仓库里就同时有三个相关的 formula,说明这事下沉到开发者桌面了。</p> 
<p><code>zero</code> 这个我装的可能性不大 — "你拥有的 terminal coding agent"这个定位,跟 Claude Code / Codex / Gemini CLI 已经重叠太多了。但它的名字起得有意思,关键词是 "you own",赌的是 <strong>"本地模型 + 自托管 agent"</strong> 这条线。</p> 
<p><code>kotofetch</code> 这种工具我大概率永远不会装,但每次看到都觉得这才是社区该有的样子 — 一个为"我喜欢在终端里看到一句日语"而存在的小工具,brew 里就是该有它。</p> 
<hr /> 
<h2>结语</h2> 
<p>工具在变,但这次变的方向不是"哪个更快",而是"哪一块开始有人接得住"。agent 是新的中心,周边一圈正在被填上 — review、保活、本地化、安全。<strong>你不必每个都装,但看着它们按这个速度补齐,本身就是一件让人安心的事。</strong></p> 
<blockquote> 
 <p>工具在变,节奏不必跟着变 — 挑能省掉你那一类犹豫的就好。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4ECD;&#x7136;&#x8FD8;&#x6709;&#x8822;&#x732A;&#x8BA4;&#x4E3A;&#xFF1A;&#x957F;&#x946B;&#x5B58;&#x50A8;&#x843D;&#x540E;</title>
        <link>https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/</link>
        <guid>https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/</guid>
        <pubDate>Mon, 06 Jul 2026 17:47:20 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/D9F0F238-6E0C-40EE-AC72-FBCE5ADD0DCB.png" />    
        
        
        <description><![CDATA[
            <p>标题的后半句是：</p> 
<blockquote> 
 <p>存储涨价，限制了你的脑容量</p> 
</blockquote> 
<hr /> 
<p><strong>【来自 - 科技爱好者周刊（第 402 期）】</strong></p> 
<img width="600" alt="87D4AC73-339F-446B-A7CC-336E1C35E434" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/87D4AC73-339F-446B-A7CC-336E1C35E434.png" /> 
<p><strong>【来自 - ChatGPT的回答】</strong></p> 
<img width="600" alt="D9F0F238-6E0C-40EE-AC72-FBCE5ADD0DCB" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/D9F0F238-6E0C-40EE-AC72-FBCE5ADD0DCB.png" /> 
<hr /> 
<p><strong>【来自 - X上面Financial Times的评论】</strong></p> 
<img width="600" alt="FF9B9F83-9B88-4A2D-9866-0F221A24A221" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/FF9B9F83-9B88-4A2D-9866-0F221A24A221.png" /> 
<img width="600" alt="14EEFC81-34C8-40E3-A794-FC9B5255790F" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/14EEFC81-34C8-40E3-A794-FC9B5255790F.png" /> 
<img width="600" alt="B08E53F5-7392-42E5-BB6C-0DC2E932D1B7" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/B08E53F5-7392-42E5-BB6C-0DC2E932D1B7.png" /> 
<img width="600" alt="0B5D4439-5BA8-4FE6-94CD-00736E7809A3" src="https://rich-1e.sol.build/D47E2D34-7B46-4602-A119-3EC154F9E6C4/0B5D4439-5BA8-4FE6-94CD-00736E7809A3.png" />
        ]]></description>
    </item>
    
    <item>
        <title>Clash Verge Rev &#x4EE3;&#x7406;&#x754C;&#x9762;&#x7A7A;&#x767D;</title>
        <link>https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/</link>
        <guid>https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/</guid>
        <pubDate>Mon, 06 Jul 2026 11:18:19 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/9E9BA27A-2176-4081-9285-9C04F5D951E9.png" />    
        
        
        <description><![CDATA[
            <p>早上去公司，电脑开机后，发现网络不能联通，<br /> 估计是CVR代理Timeout，需要重新手动连接一次才能用。</p> 
<p>手动更新订阅后，想切换一下代理，改成“自动选择”。<br /> 结果发现切换不了。</p> 
<p>然后就“强制退出”CVR，后续出现更诡异的事情。🤦</p> 
<img width="300" alt="9E9BA27A-2176-4081-9285-9C04F5D951E9" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/9E9BA27A-2176-4081-9285-9C04F5D951E9.png" /> 
<hr /> 
<p>再次启动时，代理界面空白😑</p> 
<img width="600" alt="DED800FD-AA3B-4C64-AE99-26DA62D30B72" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/DED800FD-AA3B-4C64-AE99-26DA62D30B72.png" /> 
<p>不论刷新多少次订阅，代理界面依旧空白，<br /> 然后，发现本地的配置也无法更新😭</p> 
<img width="600" alt="01562D8B-DE7D-4DFD-8173-5A66D8FE524D" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/01562D8B-DE7D-4DFD-8173-5A66D8FE524D.png" /> 
<hr /> 
<p>做为一个有尊严的程序员🧑‍💻，这点问题能难倒我？！</p> 
<p>反复重启，并开始检查配置🧐，步骤如下：</p> 
<ol> 
 <li>点击“订阅更新”，记录时间；</li> 
 <li>检查配置目录，“订阅更新”时都有哪些文件修改；</li> 
 <li>检查clash-verge.yaml配置文件；</li> 
</ol> 
<img width="3242" alt="2D689A57-25CE-4BD4-B274-37D616A62C88" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/2D689A57-25CE-4BD4-B274-37D616A62C88.png" /> 
<p><strong>“订阅更新”时，上面几个文件有修改</strong></p> 
<img width="600" alt="F691C2E1-2BAD-4508-9F46-D01B1BAEC4B2" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/F691C2E1-2BAD-4508-9F46-D01B1BAEC4B2.png" /> 
<p><strong>对比clash-verge.yaml，发现配置yaml缩进不对</strong></p> 
<p>初步断定：<strong>clash-verge.yaml文件格式有问题，导致代理界面空白。</strong></p> 
<hr /> 
<p>为了验证想法，直接修改clash-verge.yaml文件格式<br /> 但似乎没有效果，clash-verge.yaml文件会被CVR重写😓</p> 
<p>然后去网上搜了一下这个问题，发现蛮多人遇到：</p> 
<ul> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/1915">[BUG] 复杂配置文件代理规则页面显示空白 · Issue #1915 · clash-verge-rev/clash-verge-rev</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/7049">[BUG] 日志等级在info会导致代理组一片空白 · Issue #7049 · clash-verge-rev/clash-verge-rev</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/6444">[BUG] V2.4.6 安装完重启电脑后代理页一片空白 · Issue #6444 · clash-verge-rev/clash-verge-rev</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/4579">[BUG] 2.4.1重大问题导致无法使用：代理界面空白（Mac&amp;Win） · Issue #4579 · clash-verge-rev/clash-verge-rev</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/124">[BUG] ACL4SSR 似乎会导致 Clash-verge 无法与内核（？）通信？ · Issue #124 · clash-verge-rev/clash-verge-rev</a></li> 
</ul> 
<p><strong>简而言之，【Clash Verge Rev 代理界面空白】的问题，一直存在，从未被解决。</strong></p> 
<hr /> 
<p>打算换个思路，刚好有一条<a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/4579#issuecomment-3242156106">评论</a>引起了我的注意：</p> 
<img width="600" alt="126B44C4-60E5-47EC-9137-33A52B41B3B7" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/126B44C4-60E5-47EC-9137-33A52B41B3B7.png" /> 
<p>于是，进行以下几步操作 <strong>【恢复】</strong>：</p> 
<ol> 
 <li>备份 <code>io.github.clash-verge-rev.clash-verge-rev</code>;</li> 
 <li><code>brew reinstall clash-verge-rev</code> 重新安装 clash-verge-rev；<img width="600" alt="FD3E2BDB-FC9D-43A8-BE78-85AE7697D30C" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/FD3E2BDB-FC9D-43A8-BE78-85AE7697D30C.png" /></li> 
 <li>进入 <strong>【备份设置】</strong>，点击 <strong>【查看记录】-&gt;【恢复备份】</strong><img width="600" alt="15F9C85D-7D91-4D32-9D5D-2AC7D9B2319E" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/15F9C85D-7D91-4D32-9D5D-2AC7D9B2319E.png" /><img width="600" alt="11A2083C-5801-4230-9DE6-C78EFC653EE0" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/11A2083C-5801-4230-9DE6-C78EFC653EE0.png" /><img width="600" alt="20A8FD6E-C949-4DAE-8ECC-A8985D23113C" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/20A8FD6E-C949-4DAE-8ECC-A8985D23113C.png" /></li> 
</ol> 
<p>经过以上操作，<strong>【Clash Verge Rev 代理界面空白】的问题解决。</strong></p> 
<hr /> 
<p>事后，再次确认了一下CVR的配置文件，发现以下问题：</p> 
<blockquote> 
 <p>clash-verge.yaml与clash-verge-check.yaml 文件中，【proxies】【proxy-groups】【rules】节点下的缩进有问题；</p> 
</blockquote> 
<img width="600" alt="8C694385-71E9-4361-8F01-7C25A0AD1C3C" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/8C694385-71E9-4361-8F01-7C25A0AD1C3C.png" /> 
<img width="600" alt="7C9B862B-3E2B-46D5-9F5A-E48ABF003C76" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/7C9B862B-3E2B-46D5-9F5A-E48ABF003C76.png" /> 
<img width="600" alt="DD931288-A3AA-4590-B5E4-5E966276A00F" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/DD931288-A3AA-4590-B5E4-5E966276A00F.png" /> 
<p>另外，在出现【代理界面空白】的问题时，进入 <strong>【备份设置】</strong>，点击 <strong>【查看记录】-&gt;【恢复备份】</strong>，是没有作用的。</p> 
<p>当 CVR 重新安装后，<strong>【恢复备份】才有用。</strong> 真是有点不可思议。</p> 
<hr /> 
<p><strong>新发现，【升级内核】会报错，并导致代理界面空白。</strong></p> 
<img width="600" alt="E15E70DB-3BEF-4902-AE01-19011E569A95" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/E15E70DB-3BEF-4902-AE01-19011E569A95.png" /> 
<img width="600" alt="60C0DFD9-E36C-4470-9952-7EBD46FB99B1" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/60C0DFD9-E36C-4470-9952-7EBD46FB99B1.png" /> 
<img width="600" alt="777AC57A-45FC-488F-8C04-02AF5929784F" src="https://rich-1e.sol.build/6A685217-565A-4F15-8657-22A514AEA0AD/777AC57A-45FC-488F-8C04-02AF5929784F.png" /> 
<p>或许这才是<a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/7400#issuecomment-4884476411">【元凶】</a>。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x6839;&#x672C;&#x4E0D;&#x7F3A;&#x5B58;&#x50A8;&#xFF0C;&#x82F9;&#x679C;&#x6DA8;&#x4EF7;&#x884C;&#x4E3A;&#x903B;&#x8F91;&#x5B8C;&#x5168;&#x662F;&#x9B3C;&#x626F;</title>
        <link>https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/</link>
        <guid>https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/</guid>
        <pubDate>Tue, 30 Jun 2026 10:59:45 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/5501B425-0C9D-4735-9011-ED4DE3E07677.png" />    
        
        
        <description><![CDATA[
            <p><strong>以下仅个人观点，不指引任何事物</strong></p> 
<img width="350" alt="84740C22-AEE5-48E5-A1B1-102A6421407D" src="https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/84740C22-AEE5-48E5-A1B1-102A6421407D.png" /> 
<p>6月25日，苹果官网macbook等产品全线涨价。理由：存储涨了。</p> 
<p>听到这个消息的时候，我脑袋有点懵圈。</p> 
<p>苹果什么时候响应这么快了？</p> 
<p>是不是早就谋划好了涨价？</p> 
<hr /> 
<img width="600" alt="5501B425-0C9D-4735-9011-ED4DE3E07677" src="https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/5501B425-0C9D-4735-9011-ED4DE3E07677.png" /> 
<p>熟知苹果供应链的人，应该知道，苹果的供应商与其之间是有长期合约，</p> 
<p>不可能因为市场变化，而随便修改定价</p> 
<p>况且，苹果产品本身就是高溢价，怎么卖都不会亏</p> 
<hr /> 
<p>这波涨上去之后，再想降价，就根本没指望了</p> 
<p>年初Macbook Neo，就卖的很好，原因无他，价格便宜</p> 
<p>现在Neo也涨上去了</p> 
<p>感觉这就是饥饿营销，可耻！</p> 
<hr /> 
<img width="600" alt="677D1B69-0614-4C54-9C8D-848191E1C8DF" src="https://rich-1e.sol.build/02EDD24F-3BE5-4A00-9F87-87E1A08A56C9/677D1B69-0614-4C54-9C8D-848191E1C8DF.png" /> 
<p>刚刚看了新闻，</p> 
<blockquote> 
 <p>“三星、海力士、美光涉嫌操纵存储价格、供应遭诉讼：三家不在乎 没竞争对手”</p> 
</blockquote> 
<p>报道来源，</p> 
<ul> 
 <li><a href="https://www.law360.com/articles/2493985">Major Chipmakers Sued For Price-Fixing Amid 'RAMpocalypse' - Law360</a></li> 
 <li><a href="https://www.tomshardware.com/tech-industry/samsung-sk-hynix-and-micron-sued-over-alleged-dram-price-fixing-amid-record-memory-costs?utm_source=chatgpt.com">Samsung, SK hynix, and Micron sued over alleged DRAM price fixing amid record memory costs — lawsuit claims coordinated HBM shift was cover to curtail DDR3 and DDR4 production | Tom's Hardware</a></li> 
 <li><a href="https://finance.yahoo.com/markets/commodities/articles/samsung-sk-hynix-micron-face-131915670.html?utm_source=chatgpt.com&amp;guccounter=1">Samsung, SK Hynix, Micron face antitrust class action lawsuit</a></li> 
 <li><a href="https://qz.com/samsung-sk-hynix-micron-antitrust-class-action-memory-price-fixing-062526?utm_source=chatgpt.com">Samsung, SK Hynix, and Micron are facing an antitrust class action over memory price-fixing</a></li> 
 <li><a href="https://thepcenthusiast.com/samsung-sk-hynix-micron-class-action-lawsuit-dram-price-fixing/?utm_source=chatgpt.com">Samsung, SK Hynix and Micron Sued in New DRAM Price-Fixing Class Action Lawsuit | ThePCEnthusiast</a></li> 
</ul> 
<p>援引外媒报道以及国内报道，苹果以及海外存储厂商涨价，是早有预谋、坑瀣一气。</p> 
<hr /> 
<p><strong>AI对存储的占用导致电子产品涨价，像是一场收割</strong></p> 
<p>裹夹着普通消费者，去抵冲AI带来的泡沫</p> 
<p>坚决抵制苹果这种无序涨价的行为</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260629 | &#x955C;&#x50CF;&#x6E05;&#x7406;&#x3001;&#x5218;&#x6D77;&#x4E0E;&#x4E24;&#x4F4D;&#x65B0;&#x5DE5;&#x5177;</title>
        <link>https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/</link>
        <guid>https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/</guid>
        <pubDate>Mon, 29 Jun 2026 10:42:28 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260629/tpack-tui.png" />    
        
        
        <description><![CDATA[
            <p><strong>这一周，commit 标题里出现最多的词是 mirror。</strong></p> 
<blockquote> 
 <p>新公式只来了两位——tpack 和 slint-cpp。<br /> Cask 一边有 openhuman、dockspace、atoll 这种"刘海 + 桌面"的新面孔，<br /> 也有 geolibre、libifd-cyberjack 这样的"小而专"。<br /> 但在引擎盖下，Homebrew 在做一件安静的事：<br /> 它在把十年前留着的镜像源一个一个关掉。<br /> 工具越来越轻，基础设施越来越紧。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>新工具少，但都在认真解释"我为什么存在"。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>tpack</strong></td> 
   <td>tmux 的插件管理器，tpm 的现代替代，带 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>slint-cpp</strong></td> 
   <td>Slint UI 工具包的 C++ 头文件和库</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>libifd-cyberjack</strong></td> 
   <td>REINER SCT cyberJack 智能卡读卡器的 macOS 驱动</td> 
  </tr> 
  <tr> 
   <td><strong>openhuman</strong></td> 
   <td>带本地记忆和集成的个人 AI 助手（macOS / Linux）</td> 
  </tr> 
  <tr> 
   <td><strong>dockspace</strong></td> 
   <td>给 Dock 添加小组件（widget）</td> 
  </tr> 
  <tr> 
   <td><strong>geolibre</strong></td> 
   <td>开源 GIS 桌面平台</td> 
  </tr> 
  <tr> 
   <td><strong>atoll</strong></td> 
   <td>在 MacBook 刘海上跑 Dynamic Island 风格的工具</td> 
  </tr> 
  <tr> 
   <td><strong>font-hibur-mono</strong></td> 
   <td>来自埃塞俄比亚的等宽字体 Hibur Mono</td> 
  </tr> 
  <tr> 
   <td><strong>font-geomini</strong></td> 
   <td>Geomini 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-iosevka</strong> 全系</td> 
   <td>Iosevka 主家族及其 ss01–ss18、aile、etoile、slab、curly 等变体统一升到 34.7.0</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>tpack：tpm 的现代替身，登录 tmux 时不再"黑屏等"</h3> 
<img width="718" alt="tpack TUI 主界面" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/tpack-tui.png" /> 
<p>tpm（tmux-plugin-manager）是 tmux 圈的隐形基础设施——每个用 tmux 的人大概都 <code>set -g @plugin '…'</code> 过几次。<br /> 但它的痛点大家都熟悉：</p> 
<ul> 
 <li>装插件要 <code>prefix + I</code>，记不住快捷键</li> 
 <li>启动时静默 <code>git clone</code>，网络不好就是几秒黑屏</li> 
 <li>想知道"我现在到底装了什么"得翻 <code>~/.tmux/plugins/</code></li> 
</ul> 
<p>tpack 的解法是把它做成一个 Go 写的二进制，带 TUI 界面。<br /> 完全兼容 tpm 的配置和插件——你 <code>~/.tmux.conf</code> 里那行 <code>set -g @plugin '…'</code> 不用动，<br /> 但启动时多了进度条、多了可见列表、多了更新提示。</p> 
<p>配方里有句自嘲的注脚：<em>Full Documentation - Mostly AI-generated</em>。<br /> 工具好用就行，文档是不是 AI 写的，已经不是重点。</p> 
<p>它接入了 brew，意味着"你装 tmux，插件管理器就有了"这件事，<br /> 离"开箱即用"近了一步。</p> 
<hr /> 
<h3>slint-cpp：C++ 写 UI 终于不用和 Qt 谈十年恋爱</h3> 
<img alt="slint-logo" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/slint-logo.svg" /> 
<p><code>slint-cpp 1.17.0</code> 进了 core，这意味着 Rust 写的 Slint 工具包，<br /> 现在原生支持 C++ 头文件和库。<br /> 不需要走 Qt 的 moc，不需要等 CMake 找包，<br /> <code>#include &lt;slint.h&gt;</code> 直接就能用。</p> 
<p>Slint 的设计思路一直是"为嵌入式、为工具、为跨平台 UI 写 DSL"——<br /> <code>.slint</code> 文件声明 UI，C++/Rust 写逻辑，分工清楚。<br /> 1.17.0 这次的 feature：</p> 
<ul> 
 <li>Skia + OpenGL 后端在 macOS / Linux 上稳定</li> 
 <li>C++ 共享库 + 头文件可以直接 link</li> 
 <li>构建优化（LTO、Codegen units）进了公式默认值</li> 
</ul> 
<p>Qt 的问题是"为我的简单工具引入一个 200MB 的框架"，<br /> Slint 的方向是"我的应用主二进制 + 几个 MB 的运行时"。<br /> 在 Apple Silicon 上尤其明显——<code>brew install slint-cpp</code> 之后，<br /> 一个 hello world 的窗口程序可以瘦到 5MB 以内。</p> 
<p><code>slint-cpp</code> 和 <code>tpack</code> 是这周的两个新公式，<br /> 都做的是"把以前很重的依赖，降成随手一装就能用的东西"。</p> 
<hr /> 
<h3>atoll / dockspace：刘海成了新桌面，dock 成了新画布</h3> 
<img width="1280" alt="atoll-demo" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/atoll-demo.jpg" /> 
<pre><code>┌──────────────────────────────────────────────────────────────┐
│                                                              │
│  ░░░░░░░░░░░░░░░ NOTCH ░░░░░░░░░░░░░░░░░                     │
│  ░  ⏱ 10:32  |  🎵 Now Playing  |  ⏰ 14:00  ░               │
│  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░                    │
│                                                              │
│              Your normal macOS desktop                       │
│                                                              │
│  ┌────┐  ┌────┐  ┌────┐  ┌────┐  ┌────┐                     │
│  │📅  │  │🎵  │  │💬  │  │⏰  │  │🌤  │ ← Dockspace widgets   │
│  └────┘  └────┘  └────┘  └────┘  └────┘                     │
│   Dock not replaced — augmented                              │
└──────────────────────────────────────────────────────────────┘
</code></pre> 
<p>两个工具，一周内同时进 cask，都在做同一件事：<br /> <strong>把 macOS 默认"留白"的位置，改成可编程的表面。</strong></p> 
<p><strong>atoll</strong>——把 MacBook 那个被吐槽很多年的刘海，变成 iPhone 风格的 Dynamic Island。<br /> 时钟、正在播放、日程提醒，可以放进去。本地原生应用，不是 Bartender 那种"藏起来"的逻辑。</p> 
<img width="640" alt="atoll 把刘海用起来" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/atoll-screenshot.png" /> 
<p><strong>dockspace</strong>——往 Dock 里塞 widget。官方截图展示了日历、播放器、时钟、计算器等小组件，<br /> Dock 从"应用启动器"变成"信息面板"。</p> 
<img width="1229" alt="dockspace-home" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/dockspace-home.png" /> 
<img width="1229" alt="Dockspace 把 widget 摆进 Dock" src="https://rich-1e.sol.build/738F41DA-6D8D-4AAE-8C82-D1BE5620DEB9/dockspace-widgets.png" /> 
<p>两个工具都依赖 macOS :sonoma 及以上，都借助 SwiftUI / AppKit 那种新框架的能力。<br /> 普通用户大概率用不上——但它们在试探一件事：<br /> <strong>"操作系统留下的视觉空白，是不是可以变成有 API 的产品？"</strong><br /> Jellyfish、Useless Apps 一类的小工具曾经填过这个生态位，<br /> 现在这个赛道被正经工程化了。</p> 
<hr /> 
<h3>openhuman：又一个"个人 AI 助手"进场，这次强调"local memory"</h3> 
<pre><code>┌────────────────────────────────────────────┐
│  OpenHuman                                 │
├────────────────────────────────────────────┤
│  • Local memory (no cloud sync required)   │
│  • Integrations: Calendar / Mail / Files   │
│  • Mac + Linux (AppImage / DMG)            │
│  • 0.58.0 — first stable line              │
└────────────────────────────────────────────┘
</code></pre> 
<p>openhuman 0.58.0 在本周进 cask。<br /> 描述是 "Personal AI assistant with local memory and integrations"——</p> 
<p>和上周的 maestri、vibeproxy 一样，属于"私人 AI 工作台"赛道。<br /> 但 openhuman 的差异化点是"local memory"——把上下文和偏好存在本地，<br /> 不让它去云端做训练。</p> 
<p>这和上上周的 <code>speech</code>（本地语音工具包），<br /> 和上上周的 <code>mimo-code</code>（带跨会话记忆的编码 Agent）是同一条线：<br /> <strong>Agent 越来越私人化、越来越本地化。</strong><br /> openhuman 走的是"日常助理"那条路，不是"编码 Agent"。</p> 
<p>0.58 是第一个稳定线版本，<br /> 意味着它已经过了"个人项目"的早期阶段，<br /> 正式进 brew 那个"每周可装"的位置了。</p> 
<hr /> 
<h3>趋势观察：Mirror 清理是这周的暗线</h3> 
<blockquote> 
 <p>这次没拉几个 commit message，<br /> 但本周 homebrew-core 的 commit 里，<br /> 出现频率最高的动词不是 "bump"，<br /> 是 "remove mirror"。</p> 
</blockquote> 
<p>涉及的工具包括：</p> 
<ul> 
 <li><strong>apache-drill、sbt、erlang@27、popt、yasm、fortune、caca、libstatgrab、ffms2、libcaca、libpng、tcl-tk@8、unixodbc、nghttp2、snort、aerc、icarus-verilog、cxxtest、scrub、scala@2.12、scala@2.13、reop</strong> (deprecated)</li> 
 <li>大量 mysql 时代之前的工具：proftpd、daq、oath-toolkit、s-lang、mpich、xrootd、libpq (用 readline)、vamp-plugin-sdk (改 url)</li> 
</ul> 
<p><strong>这是 2026 年中一个很具体的趋势</strong>：<br /> 十年前 brew 的镜像系统是为了"避开 GitHub 限速 / 跨区域断网"，<br /> 现在 GitHub Actions + ghcr + Apple Silicon 的存在让这个逻辑过时了。<br /> 镜像在变成"一个过期了的间接层"。</p> 
<p>reop 干脆被标记 deprecated，理由是"use alternative urls"——<br /> 以前 brew 会替你维护"fallback"，<br /> 现在 brew 直接告诉你"去找上游"。</p> 
<p><strong>这是 brew 在收紧"我替你处理了什么"这件事。</strong><br /> Homebrew 6.0 引入 tap trust 是上半年的标志事件，<br /> 这一周的 mirror 清理是同一逻辑的延续：<br /> 不再替你假设你信任哪个源，不再替你做 fallback 决策。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>新公式只有两位，反而让我对 brew 的"入口价值"重新有了感受——<br /> 每周成百上千的 PR，真正"值得为它写一段描述"的，不到十个。<br /> 这十个里又有大半是"替换某个旧工具"而不是"从无到有"。<br /> <strong>从无到有的新工具，越来越少了；把旧工具拆掉重做的，越来越多了。</strong></p> 
<p>tpack 是"tpm 的现代版"，<br /> slint-cpp 是"Qt 的轻量替代"，<br /> atoll 是"刘海本来是浪费，我们来用上"，<br /> dockspace 是"dock 本来是启动器，我们来做画布"。</p> 
<p>每个新工具都在说同一句话：<strong>"我比它好，因为我更懂 2026 年的电脑。"</strong></p> 
<p>openhuman 那一类本地 AI 助手的出现频率在加快。<br /> 上上周 mimo-code、上周 maestri、本周 openhuman——<br /> <strong>私人 AI 助手的"基础设施期"正在收尾</strong>，<br /> 接下来应该会看到合并潮：能撑过 1.0 的、会被留下来。<br /> 撑不过的，会变成 github.com 上那些 <code>archive</code> 的仓库。</p> 
<p>我这一周最希望装的大概是 tpack——<br /> 因为我每天 <code>prefix + I</code> 的速度，说明我真需要它。</p> 
<hr /> 
<h2>结语</h2> 
<p>这周 brew 的 commit 列表像一条安静的河。<br /> 新工具是河面上的小船，镜像清理是河底的泥沙在重新分布。</p> 
<blockquote> 
 <p>工具在变轻，信任在收紧，本地化在变重。<br /> 一周只有两个新公式，也是一种信号——<br /> 也许该让旧东西先回家，新东西不用那么着急。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>Obsidian Wiki &#x4F7F;&#x7528;</title>
        <link>https://rich-1e.sol.build/A4133009-5FBB-498D-B303-ED5F73E344B5/</link>
        <guid>https://rich-1e.sol.build/A4133009-5FBB-498D-B303-ED5F73E344B5/</guid>
        <pubDate>Fri, 26 Jun 2026 13:17:23 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/A4133009-5FBB-498D-B303-ED5F73E344B5/592FA703-8326-41CA-8C1D-CEB45206584C.png" />    
        
        
        <description><![CDATA[
            <h2>1. 首先安装Obsidian Wiki</h2> 
<p>推荐安装方式：</p> 
<pre><code class="language-sh">pip install obsidian-wiki
obsidian-wiki setup --vault /path/to/your/digital/brain
</code></pre> 
<p>安装完成后，在Obsidian目录执行：</p> 
<pre><code class="language-sh">obsidian-wiki setup --project .
</code></pre> 
<p>然后提示🔔：</p> 
<blockquote> 
 <p>Where is your Obsidian vault? (absolute path):</p> 
</blockquote> 
<p>输入Obsidian目录的绝对路径。</p> 
<img width="1708" alt="592FA703-8326-41CA-8C1D-CEB45206584C" src="https://rich-1e.sol.build/A4133009-5FBB-498D-B303-ED5F73E344B5/592FA703-8326-41CA-8C1D-CEB45206584C.png" /> 
<h2>2. AI Agent 初始化项目</h2> 
<p>再启动AI Agent，直接输入：“set up my wiki”</p> 
<img width="1164" alt="18A9FF71-BFE3-4738-8885-5AD63CC39F06" src="https://rich-1e.sol.build/A4133009-5FBB-498D-B303-ED5F73E344B5/18A9FF71-BFE3-4738-8885-5AD63CC39F06.png" /> 
<p>这样，就会在AI Agent里面安装一系列Skills，以及在项目根目录初始化文档。</p> 
<h2>3. Obsidian 安装插件</h2> 
<p>上面的工作完成，就可以安装推荐的社区插件：</p> 
<ol> 
 <li>Dataview - 查询页面元数据、动态表格</li> 
 <li>Graph Analysis - 增强图表视图</li> 
 <li>Templater--手动页面模板</li> 
 <li>Obsidian Git - 自动备份</li> 
</ol> 
<p>然后在 Obsidian 中打开项目。</p> 
<h2>4. AI Agent 操作</h2> 
<ol> 
 <li>运行 /wiki-status，查看可用内容和状态</li> 
 <li>运行 /wiki-ingest，添加第一个源文件（使用 raw/ 目录）</li> 
 <li>运行 /claude-history-ingest 挖掘你的对话历史</li> 
 <li>运行 /wiki-lint — 验证刚种子化的 vault 是否有链接/前置元数据问题</li> 
 <li>可选:运行 /wiki-dedup — 寻找可能的近重复页(此批为全新创建,可能无重复)</li> 
 <li>可选:运行 /wiki-research 
  <topic>
    — 对某项目深挖
  </topic></li> 
 <li>配置 QMD — 启用语义搜索,QMD_WIKI_COLLECTION 当前未设置</li> 
</ol> 
<blockquote> 
 <p>需要我安装可选的 "停止 "钩子吗？它会在你写文件或运行shell命令的会话结束时自动执行/wiki-capture--quick--方便你捕捉发现，而无需手动操作。</p> 
</blockquote> 
<h3>除了 obsidian-wiki，本身官方还推荐配合一套 Obsidian Skills 使用。</h3> 
<table> 
 <thead> 
  <tr> 
   <th><strong>Skill</strong></th> 
   <th><strong>推荐原因</strong></th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><code>obsidian-markdown</code></td> 
   <td>让 AI 正确生成 Wikilink、Callout、Frontmatter</td> 
  </tr> 
  <tr> 
   <td><code>obsidian-bases</code></td> 
   <td>自动生成 Bases 数据库视图</td> 
  </tr> 
  <tr> 
   <td><code>json-canvas</code></td> 
   <td>自动生成 Canvas 思维导图</td> 
  </tr> 
  <tr> 
   <td><code>obsidian-cli</code></td> 
   <td>直接操作正在运行的 Obsidian</td> 
  </tr> 
  <tr> 
   <td><code>defuddle</code></td> 
   <td>网页转干净 Markdown，减少广告和噪声</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/sdyckjq-lab/llm-wiki-skill">sdyckjq-lab/llm-wiki-skill: 基于 Karpathy llm-wiki 方法论的个人知识库构建 Skill，支持多平台！</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/2026793291014842204">用Obsidian打造LLM-Wiki经验分享 - 知乎</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/2034019211660542173">我用Obsidian + Codex 搭了一个会持续进化的AI知识库，保姆级教程来了 - 知乎</a></li> 
 <li><a href="https://github.com/nashsu/llm_wiki">nashsu/llm_wiki: LLM Wiki is a cross-platform desktop application that turns your documents into an organized, interlinked knowledge base — automatically. Instead of traditional RAG (retrieve-and-answer from scratch every time), the LLM incrementally builds and maintains a persistent wiki from your sources。</a></li> 
 <li><a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">llm-wiki</a></li> 
 <li><a href="https://www.cnblogs.com/OBCE666/articles/19978575">深度解析 LLM Wiki / Obsidian-Wiki / GBrain：Agent 时代知识的“自组织”与“自进化” - 老纪的技术唠嗑局 - 博客园</a></li> 
 <li><a href="https://github.com/Ar9av/obsidian-wiki">Ar9av/obsidian-wiki: Framework for AI agents to build and maintain a digital brain through Obsidian wiki using Karpathy's LLM Wiki pattern</a></li> 
 <li><a href="https://community.obsidian.md/plugins/infranodus-graph-view">InfraNodus AI Graph View - Obsidian Plugin</a></li> 
 <li><a href="https://github.com/noduslabs/infranodus-obsidian-plugin">noduslabs/infranodus-obsidian-plugin: Advanced graph view for Obsidian: text analysis, topic modeling, and AI with InfraNodus AI text analysis tool: https://infranodus.com</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Context &#x4F18;&#x5316;&#x8BB0;&#x5F55;</title>
        <link>https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/</link>
        <guid>https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/</guid>
        <pubDate>Fri, 26 Jun 2026 10:37:07 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/EA1AD313-0ADD-46B1-95CA-D1A5E6E0FC2B.png" />    
        
        
        <description><![CDATA[
            <img width="1654" alt="EA1AD313-0ADD-46B1-95CA-D1A5E6E0FC2B" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/EA1AD313-0ADD-46B1-95CA-D1A5E6E0FC2B.png" /> 
<p>⚠️ Suggestions 提醒</p> 
<img width="2156" alt="E4C47481-2FCD-4DCB-907C-65A18D43DE30" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/E4C47481-2FCD-4DCB-907C-65A18D43DE30.png" /> 
<p>大量冗余的MCP</p> 
<img width="1614" alt="0E21347E-0AA2-4DAC-B6FC-4E1099A70207" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/0E21347E-0AA2-4DAC-B6FC-4E1099A70207.png" /> 
<p>毫无作用的Agent</p> 
<img width="1612" alt="BEA1AC80-E402-469B-95D1-BCC8B1C0A5E7" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/BEA1AC80-E402-469B-95D1-BCC8B1C0A5E7.png" /> 
<p>以及用不上的Skills</p> 
<img width="1732" alt="A5F2DA64-E119-4A30-B510-9DF3A2D30CF3" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/A5F2DA64-E119-4A30-B510-9DF3A2D30CF3.png" /> 
<img width="1388" alt="3F08227B-20A0-43CC-BA5B-700FE2752E4C" src="https://rich-1e.sol.build/7991A995-5FC9-4287-8C14-8FA69E2F5C5D/3F08227B-20A0-43CC-BA5B-700FE2752E4C.png" /> 
<p>Skills 实在太多就不一一截图。</p> 
<hr /> 
<p>核心优化以下几条：</p> 
<ul> 
 <li><strong>/compact</strong> 不要盲目压缩，带参数。Claude 会把冗长繁琐的聊天、报错日志、排错过程打包压缩成一段极简的结构化摘要，删掉废话，仅保留当前任务的上下文状态，瞬间释放几十 KB 的空间。</li> 
 <li><strong>/skills</strong> 关闭不用的skills</li> 
 <li><strong>/mcp</strong> 关闭不用的mcp</li> 
 <li><strong>/memory</strong> 编辑CLAUDE.md文件，写好当前的会话要求、运行时建议和一些特殊处理的注意事项。e.g. Suggestions 中提到Bash操作占用了大量的token，那么可以限制Bash操作或者使用子代理进行</li> 
 <li><strong>/clean</strong> 开启新的会话</li> 
 <li><strong>/btw</strong> 创建一个一次性的临时分支对话，Claude 回答完后，这个对话不会被存入主干的上下文 history 中，减少Token 消耗</li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Claude Code &#x82E5;&#x5E72;&#x4F7F;&#x7528;&#x4F53;&#x9A8C;</title>
        <link>https://rich-1e.sol.build/DF749B4A-5601-41AD-8B8D-61FA5FA2E2A5/</link>
        <guid>https://rich-1e.sol.build/DF749B4A-5601-41AD-8B8D-61FA5FA2E2A5/</guid>
        <pubDate>Wed, 24 Jun 2026 16:22:26 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>最开始很喜欢Cursor的开发体验，感觉所见即所得：</p> 
<ul> 
 <li>可以非常快速的选中代码，然后扔给它解决；</li> 
 <li>也可以截图，然后交给它生成UI；</li> 
 <li>每一个步骤都可以反复修改，不用记命令，直接GUI上操作；</li> 
 <li>...</li> 
</ul> 
<p>看着Cursor自动化操作，有一种赏心悦目的感觉。</p> 
<hr /> 
<p>不过，体验Claude Code之后，这些发生变化。</p> 
<p>我不再纠结是否拥有GUI，<strong>只看重结果和推理过程中产出的东西是否有价值。</strong></p> 
<p>Claude Code做得很好，至少目前看来很强。</p> 
<hr /> 
<p><strong>我主要做前端开发，经常需要与UI界面打交道，</strong></p> 
<p>如果AI不能自主识别UI，会给我造成非常大的困扰。</p> 
<p>所以，普通的文本模型基本对我没啥用。</p> 
<p>至少是，多模态模型，支持文本/图像/视频，并且还能推理和编程。</p> 
<hr /> 
<p>不得不说，开源大模型与商业模型还有差一段路。</p> 
<p>绝大多数开源大模型仅仅是文本模型，或者是某种单一模型，只支持图像或视频，无法支持多模态工作。</p> 
<p>零星有一些支持多模态的开源模型，性能较普通，根本不能用来工作生产。</p> 
<p>并且，这些模型的部署条件，对硬件要求颇高，不是普通开发者能消费。</p> 
<hr /> 
<p>回到Claude Code这里来，这是目前验证过，能支持工作生产的AI工具。</p> 
<p>Claude Code严格意义上说，是一个Agent。其背后的官方大模型有：</p> 
<ul> 
 <li>claude-sonnet</li> 
 <li>claude-opus</li> 
</ul> 
<p>以上是经常用的，4.6/4.7都不错。绝大部分情况下优先使用sonnet，遇到复杂问题要么opus，要么自己思考。</p> 
<p>Claude Code也支持其他厂商的模型，具体有什么要求，暂时不得而知。</p> 
<p>总之，那些性能低、不具备多模态的模型，是不能接入到Claude Code。</p> 
<p>...</p> 
<p>先聊这么多，我再想想有什么可说的。</p>
        ]]></description>
    </item>
    
    <item>
        <title>How I became a machine learning practitioner</title>
        <link>https://rich-1e.sol.build/772C837B-E448-40EC-A7C4-5AD25383317D/</link>
        <guid>https://rich-1e.sol.build/772C837B-E448-40EC-A7C4-5AD25383317D/</guid>
        <pubDate>Tue, 16 Jun 2026 17:01:04 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://blog.gregbrockman.com/how-i-became-a-machine-learning-practitioner">How I became a machine learning practitioner</a></li> 
 <li><a href="https://course.fast.ai/">Practical Deep Learning for Coders - Practical Deep Learning</a></li> 
 <li><a href="https://github.com/openai/spinningup">openai/spinningup: An educational resource to help anyone learn deep reinforcement learning.</a></li> 
 <li><a href="https://cs231n.stanford.edu/">Stanford University CS231n: Deep Learning for Computer Vision</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>ComfyUI &#x672C;&#x5730;&#x90E8;&#x7F72;&#x201C;&#x65E0;&#x5BA1;&#x67E5;&#x201D;AI&#x89C6;&#x9891;&#x6A21;&#x578B;</title>
        <link>https://rich-1e.sol.build/BD5F8DCD-610F-43C0-8AD8-C72E816B0D1F/</link>
        <guid>https://rich-1e.sol.build/BD5F8DCD-610F-43C0-8AD8-C72E816B0D1F/</guid>
        <pubDate>Tue, 16 Jun 2026 11:10:07 +0800</pubDate>
        
        
        <description><![CDATA[
            <iframe width="560" height="315" src="https://www.youtube.com/embed/U3DOUMYxwTQ?si=MdN0Ke5azYqFg75o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.freedidi.com/24142.html">爆火的“无审查”AI 视频模型来了！Sulphur 2 本地部署实测：8G 显存也能跑！ - 零度博客</a></li> 
 <li><a href="https://evolink.ai/zh/gpt-image-2-prompts">GPT Image 2 提示词 | AI 图像生成示例与模板 2026</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260615 | &#x5BB9;&#x5668;&#x3001;&#x4FE1;&#x4EFB;&#x4E0E;&#x6C99;&#x76D2;</title>
        <link>https://rich-1e.sol.build/9CAA1C65-B0A6-4BDC-A0A6-A33FC1000AFB/</link>
        <guid>https://rich-1e.sol.build/9CAA1C65-B0A6-4BDC-A0A6-A33FC1000AFB/</guid>
        <pubDate>Mon, 15 Jun 2026 15:57:35 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260615/concord-discord-tui.png" />    
        
        
        <description><![CDATA[
            <p><strong>这周 brew update 比平时多了几行字。</strong></p> 
<blockquote> 
 <p>从 5.1 跳到 6.0，Homebrew 悄悄加了一个叫 tap trust 的东西。<br /> 你装了很久的那些 tap，现在需要你主动"信任"才行。<br /> 基础设施在变，而工具列表里，Agent 还在继续进场。<br /> 只是这次，有人开始为 Agent 建隔离间了。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>Agent 越来越多，隔离成了新的基础设施需求。</p> 
<hr /> 
<h2>Homebrew 6.0：tap trust 来了</h2> 
<p>这周 Homebrew 从 5.1.14 升到了 6.0.1，最显眼的变化是 <strong>tap trust 机制</strong>。</p> 
<p>以前 <code>brew tap user/repo</code> 之后，那个 tap 里的公式就直接能用。<br /> 现在，未经信任的 tap 会被忽略——brew 升级后会看到大量这类警告：</p> 
<pre><code>Warning: Skipping buo/cask-upgrade because it is not trusted.
Run `brew trust buo/cask-upgrade` to trust it.
</code></pre> 
<p>信任单个公式、cask 或命令：</p> 
<pre><code class="language-bash">brew trust --formula user/tap/formula
brew trust --cask user/tap/cask
</code></pre> 
<p>信任整个 tap：</p> 
<pre><code class="language-bash">brew trust user/tap
</code></pre> 
<p>这是一个供应链安全向的变化。Homebrew 官方公式是可信的，<br /> 但第三方 tap 历来是盲区——任何人都能发布，你装了就装了。<br /> tap trust 把这个决策显式化：<strong>你需要告诉 brew，你信任谁。</strong></p> 
<p>如果你有在用第三方 tap（比如 <code>buo/cask-upgrade</code>、<code>iina/mpv-iina</code>），<br /> 升级后记得手动跑一遍信任命令，否则它们会静默失效。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>asccli</strong></td> 
   <td>App Store Connect CLI，管理应用、版本和截图</td> 
  </tr> 
  <tr> 
   <td><strong>avisynthplus</strong></td> 
   <td>AviSynth 帧服务器的改进版</td> 
  </tr> 
  <tr> 
   <td><strong>bttf</strong></td> 
   <td>日期时间算术、解析与格式化的 CLI 工具</td> 
  </tr> 
  <tr> 
   <td><strong>concord</strong></td> 
   <td>终端里的 Discord TUI 客户端（Rust 写的）</td> 
  </tr> 
  <tr> 
   <td><strong>container-use</strong></td> 
   <td>给编码 Agent 提供隔离容器开发环境</td> 
  </tr> 
  <tr> 
   <td><strong>container2wasm</strong></td> 
   <td>把容器转换为 WASM</td> 
  </tr> 
  <tr> 
   <td><strong>cyclonedx-cli</strong></td> 
   <td>CycloneDX SBOM 的分析与操作工具</td> 
  </tr> 
  <tr> 
   <td><strong>dbx-cli</strong></td> 
   <td>DBX 数据库连接、schema 查询与安全操作 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>eas-cli</strong></td> 
   <td>Expo Application Services 命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>fakecloud</strong></td> 
   <td>免费开源的本地 AWS 云模拟器，用于集成测试</td> 
  </tr> 
  <tr> 
   <td><strong>gnhf</strong></td> 
   <td>用于长时间编码任务的自主 Agent 编排器</td> 
  </tr> 
  <tr> 
   <td><strong>isponsorblocktv</strong></td> 
   <td>所有 YouTube TV 客户端的 SponsorBlock</td> 
  </tr> 
  <tr> 
   <td><strong>kdash</strong></td> 
   <td>简洁快速的 Kubernetes 仪表盘</td> 
  </tr> 
  <tr> 
   <td><strong>keyd</strong></td> 
   <td>Linux 的键位重映射守护进程</td> 
  </tr> 
  <tr> 
   <td><strong>kubectl-explore</strong></td> 
   <td>带模糊搜索的更好用的 kubectl explain</td> 
  </tr> 
  <tr> 
   <td><strong>libcext</strong></td> 
   <td>Common Pipeline Library (CPL) 的 C 工具库</td> 
  </tr> 
  <tr> 
   <td><strong>md-tui</strong></td> 
   <td>Rust 写的终端 Markdown 渲染器</td> 
  </tr> 
  <tr> 
   <td><strong>merman-cli</strong></td> 
   <td>无头 Rust 版 Mermaid.js 图表生成</td> 
  </tr> 
  <tr> 
   <td><strong>mimo-code</strong></td> 
   <td>带跨会话记忆的 AI 编码 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>netwatch</strong></td> 
   <td>跨平台实时网络诊断 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>officecli</strong></td> 
   <td>命令行读写和自动化 Office 文档（.docx/.xlsx/.pptx）</td> 
  </tr> 
  <tr> 
   <td><strong>pdf.tocgen</strong></td> 
   <td>自动为 PDF 生成目录的 CLI 工具集</td> 
  </tr> 
  <tr> 
   <td><strong>pkgsite</strong></td> 
   <td>Go 包的本地文档服务器</td> 
  </tr> 
  <tr> 
   <td><strong>poppler-qt6</strong></td> 
   <td>基于 xpdf-3.0 的 PDF 渲染库（Qt6 版）</td> 
  </tr> 
  <tr> 
   <td><strong>pup</strong></td> 
   <td>Datadog 产品的 200+ 命令统一 CLI 伴侣</td> 
  </tr> 
  <tr> 
   <td><strong>pv-migrate</strong></td> 
   <td>Kubernetes 持久卷迁移与备份恢复 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>redli</strong></td> 
   <td>更友好的 redis-cli 替代品，支持 TLS</td> 
  </tr> 
  <tr> 
   <td><strong>safestringlib</strong></td> 
   <td>安全字符串操作和内存例程库</td> 
  </tr> 
  <tr> 
   <td><strong>speech</strong></td> 
   <td>Apple Silicon 本地语音工具包：ASR、TTS、VAD、说话人分离</td> 
  </tr> 
  <tr> 
   <td><strong>splitrail</strong></td> 
   <td>CLI 编码 Agent 的实时 token 用量与成本监控</td> 
  </tr> 
  <tr> 
   <td><strong>swgp-go</strong></td> 
   <td>最小开销的 WireGuard 简易代理</td> 
  </tr> 
  <tr> 
   <td><strong>syswatch</strong></td> 
   <td>跨平台系统诊断 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>ttl</strong></td> 
   <td>现代 traceroute/mtr 风格 TUI，带逐跳统计与 ASN/地理信息</td> 
  </tr> 
  <tr> 
   <td><strong>vulcain</strong></td> 
   <td>客户端驱动的快速 REST API 工具</td> 
  </tr> 
  <tr> 
   <td><strong>wx-cli</strong></td> 
   <td>微信 4.x 本地数据的 CLI，带守护进程架构</td> 
  </tr> 
  <tr> 
   <td><strong>zot</strong></td> 
   <td>Go 写的轻量编码 Agent 运行框架</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>ctivo</strong></td> 
   <td>下载并转换 TiVo 录制节目</td> 
  </tr> 
  <tr> 
   <td><strong>flow5</strong></td> 
   <td>初步空气动力学和水翼设计的势流求解器</td> 
  </tr> 
  <tr> 
   <td><strong>font-paperlogy</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-yuyu</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-yuyu-short</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>r-rig-app</strong></td> 
   <td>R 安装管理器的 GUI 应用</td> 
  </tr> 
  <tr> 
   <td><strong>shade</strong></td> 
   <td>AI 驱动的媒体存储与资产管理平台</td> 
  </tr> 
  <tr> 
   <td><strong>terax</strong></td> 
   <td>终端优先、AI 原生的开发者工作区</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>container-use：给 Agent 建隔离间，而不是盼它自觉</h3> 
<img width="600" alt="container-use" src="https://rich-1e.sol.build/9CAA1C65-B0A6-4BDC-A0A6-A33FC1000AFB/container-use.gif" /> 
<p>让多个编码 Agent 并行工作，一直存在一个隐患：<br /> 它们会互相踩脚——共享文件系统、共享 git 状态、某个 Agent 的操作污染了另一个的上下文。</p> 
<p>container-use 的答案是：每个 Agent 给它一个干净的容器，跑在独立的 git branch 里。<br /> 底层是 Dagger（容器化工作流）+ git worktree，两者组合解决了隔离的两个维度：<br /> 文件系统和代码状态。</p> 
<pre><code>┌─────────────────────────────────────────────────────┐
│  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  │
└─────────────────────────────────────────────────────┘
</code></pre> 
<p>更值得关注的是它的可见性设计：<br /> 完整的命令历史和日志，你可以随时 <code>git checkout &lt;branch&gt;</code> 看结果，<br /> 出问题的容器直接丢掉重开，也可以 drop into 那个环境直接调试。</p> 
<p>它省掉的是"Agent 在跑，但我不知道它在哪儿搞了什么"的不安全感。</p> 
<hr /> 
<h3>concord：Discord 住进了终端</h3> 
<img width="600" alt="concord 终端界面" src="https://rich-1e.sol.build/9CAA1C65-B0A6-4BDC-A0A6-A33FC1000AFB/concord-discord-tui.png" /> 
<p>Discord 有官方客户端，但官方客户端需要 Electron，要内存，要 GPU，<br /> 在一台只挂着 SSH 的服务器上或者注意力高度集中的终端会话里，它格格不入。</p> 
<p>concord 是 Rust + ratatui 写的 Discord TUI——<br /> 频道列表、消息历史、发送消息、@提及自动补全、自定义表情、文件上传下载、<br /> 线程、论坛频道、Kitty/iTerm2/Sixel 图片渲染、语音频道……<br /> 内存通常在 20–40 MB。</p> 
<p>它有点令人意外的精致。不只是"能用"，是真的在认真还原 Discord 体验，<br /> 包括语法高亮的代码块渲染和 vim 风格键位。</p> 
<p>如果你日常工作都在终端里，这是一个你可能不知道自己想要的东西。</p> 
<hr /> 
<h3>speech：Apple Silicon 的本地语音工具包，终于能用了</h3> 
<p>Apple Silicon 有 Neural Engine，有 CoreML，有原生语音框架——<br /> 但要把这些能力拼成一条完整的"语音输入 → 文字 → 说话人 → 输出语音"的管道，<br /> 一直需要自己写胶水代码。</p> 
<p>speech 这个工具包把它打包好了：</p> 
<ul> 
 <li><strong>ASR</strong>（自动语音识别）：支持 52 种语言的 Qwen3-ASR、25 种语言的 Parakeet TDT、支持 1,672 种语言的 Omnilingual</li> 
 <li><strong>TTS</strong>（文字转语音）：Kokoro（82M 参数）、CosyVoice（声音克隆）、最长 90 分钟播客合成</li> 
 <li><strong>VAD</strong>（语音活动检测）：Silero 流式检测、Pyannote 离线</li> 
 <li><strong>Diarization</strong>（说话人分离）：回答"谁什么时候说话"</li> 
</ul> 
<p>全部跑在本地，不需要 API key，数据不出设备。<br /> Swift 6 写的，需要 Apple Silicon（M1–M4）。</p> 
<p>macparakeet 和 buzz 上周出现，macOS 26 来了本地语音转写的 API 改进——<br /> 这个品类今年扎堆出现不是巧合，是 Apple Silicon 的算力终于跑到这条线上了。</p> 
<hr /> 
<h3>wx-cli：微信数据 CLI，这个有点意思</h3> 
<p>一行描述：<code>WeChat 4.x local data CLI with daemon architecture</code>。</p> 
<p>微信 4.x 把消息和数据存在本地，但没有任何官方的 CLI 或 API 接口供开发者访问。<br /> wx-cli 把这个缺口补了——可以用命令行读取本地微信数据，<br /> 守护进程架构意味着它能在后台持续运行、响应查询。</p> 
<p>用途想象一下：备份聊天记录、搜索历史消息、把微信数据导出给其他工具处理。<br /> 不是所有人都需要，但需要的人会很需要。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>Homebrew 6.0 的 tap trust 我第一反应是麻烦，<br /> 但想一想，这其实是它应该做的事：<br /> <strong>把"我信任这个来源"的决定还给用户</strong>，而不是默认全信。<br /> 装完 brew 升级之后花 2 分钟跑一遍 <code>brew trust</code>，值得。</p> 
<p>container-use 和 splitrail 同时出现——<br /> 一个是给 Agent 建隔离环境，一个是监控 Agent 的 token 消耗。<br /> 加上上上周的 codeburn、上周的 gnhf，<br /> 这条"Agent 基础设施"的产品线正在快速变得完整。</p> 
<p>speech 是那种"迟早会成为标配"的工具。<br /> Apple Silicon 的语音能力一直在这里，只是没有统一的 CLI 接口。<br /> 现在有了，接下来就是等它被各种工具集成。</p> 
<p>concord 让我想起 mutt——<br /> 有人坚持在终端里读邮件，有人会坚持在终端里上 Discord，<br /> 理由一样：注意力不被打断。</p> 
<hr /> 
<h2>结语</h2> 
<p>这周的关键词是"隔离"——<br /> Homebrew 在 tap 层面要求显式信任，<br /> container-use 给 Agent 加了容器隔壁，<br /> speech 让语音处理不出本地。</p> 
<p>边界在收紧，不是因为不信任，而是因为信任需要被明确。</p> 
<blockquote> 
 <p>越来越多的东西在本地跑，这不是退步，是一种选择。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260608 | &#x5212;&#x5B9A;&#x8FB9;&#x754C;</title>
        <link>https://rich-1e.sol.build/B5ECFA96-935F-465D-8C07-E2BED03ACBE5/</link>
        <guid>https://rich-1e.sol.build/B5ECFA96-935F-465D-8C07-E2BED03ACBE5/</guid>
        <pubDate>Mon, 08 Jun 2026 18:58:22 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260608/ec.gif" />    
        
        
        <description><![CDATA[
            <p><strong>这周 brew update 之后，有一行描述让我停了一下。</strong></p> 
<blockquote> 
 <p>"Vim 8 long term support version with no LLM-generated code"</p> 
 <p>这不是功能描述，是一种表态。<br /> 就好像某家餐厅在门口挂出"不用味精"的牌子——<br /> 这家餐厅要传达的，不只是关于味精。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>工具还在进场，但边界开始出现了。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>ansible@13</strong></td> 
   <td>Ansible 13 稳定版，自动化部署与配置管理</td> 
  </tr> 
  <tr> 
   <td><strong>baguette</strong></td> 
   <td>iOS 26 无头模拟器管理与宿主端输入注入</td> 
  </tr> 
  <tr> 
   <td><strong>bun</strong></td> 
   <td>极快的 JS 运行时、打包器、测试运行器（终于进 core）</td> 
  </tr> 
  <tr> 
   <td><strong>cargo-show-asm</strong></td> 
   <td>查看 Rust 代码生成的汇编、LLVM-IR、MIR 和 WASM</td> 
  </tr> 
  <tr> 
   <td><strong>ec</strong></td> 
   <td>TUI 三路 git merge 工具</td> 
  </tr> 
  <tr> 
   <td><strong>elio</strong></td> 
   <td>功能完备的终端文件管理器，带丰富预览</td> 
  </tr> 
  <tr> 
   <td><strong>ghcid</strong></td> 
   <td>基于 GHCi 的极简 Haskell IDE</td> 
  </tr> 
  <tr> 
   <td><strong>gixy</strong></td> 
   <td>面向安全的 NGINX 配置静态分析器</td> 
  </tr> 
  <tr> 
   <td><strong>hookdeck</strong></td> 
   <td>把 Hookdeck 的 webhook 事件转发到本地服务</td> 
  </tr> 
  <tr> 
   <td><strong>k0sctl</strong></td> 
   <td>k0s Kubernetes 集群的引导与管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>kimi-code</strong></td> 
   <td>Moonshot AI 出的终端 AI 编码 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>libbcg729</strong></td> 
   <td>ITU G.729 A/B 语音编解码器的编解码库</td> 
  </tr> 
  <tr> 
   <td><strong>m4rie</strong></td> 
   <td>GF(2^e) 上稠密矩阵快速算术库（2≤e≤16）</td> 
  </tr> 
  <tr> 
   <td><strong>miniz</strong></td> 
   <td>轻量级高性能 zlib/Deflate 压缩库</td> 
  </tr> 
  <tr> 
   <td><strong>pitchfork</strong></td> 
   <td>以开发者体验为核心的守护进程 CLI 管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>rmux</strong></td> 
   <td>tmux 风格 CLI 加守护进程运行时的终端多路复用器</td> 
  </tr> 
  <tr> 
   <td><strong>rura</strong></td> 
   <td>用于构建 shell 管道的交互式 TUI 便签本</td> 
  </tr> 
  <tr> 
   <td><strong>threatdeck</strong></td> 
   <td>TUI 威胁情报监控与告警平台</td> 
  </tr> 
  <tr> 
   <td><strong>vim-classic</strong></td> 
   <td>Vim 8 长期支持版，声明无 LLM 生成代码</td> 
  </tr> 
  <tr> 
   <td><strong>wtype</strong></td> 
   <td>Wayland 版的 xdotool type，模拟键盘输入</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>buzz</strong></td> 
   <td>本地语音转录与翻译</td> 
  </tr> 
  <tr> 
   <td><strong>clickshare</strong></td> 
   <td>Barco 会议系统无线投屏客户端</td> 
  </tr> 
  <tr> 
   <td><strong>dfu-blaster-pro</strong></td> 
   <td>把 Apple Silicon Mac 强制进 DFU 模式的工具</td> 
  </tr> 
  <tr> 
   <td><strong>dotnet-reactor</strong></td> 
   <td>.NET 代码保护与混淆工具</td> 
  </tr> 
  <tr> 
   <td><strong>dwellclick</strong></td> 
   <td>无需按键、靠悬停触发点击的无障碍辅助工具</td> 
  </tr> 
  <tr> 
   <td><strong>font-geist-pixel</strong></td> 
   <td>Geist 像素风字体</td> 
  </tr> 
  <tr> 
   <td><strong>groove-omnidialer</strong></td> 
   <td>外呼销售拨号管理</td> 
  </tr> 
  <tr> 
   <td><strong>ibm-notifier</strong></td> 
   <td>IBM 出的企业端自定义通知与告警 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>macparakeet</strong></td> 
   <td>本地语音转文字、转录与会议录音</td> 
  </tr> 
  <tr> 
   <td><strong>microsoft-365-copilot</strong></td> 
   <td>Microsoft 365 的 AI 生产力助手</td> 
  </tr> 
  <tr> 
   <td><strong>microsoft-remote-help</strong></td> 
   <td>微软企业 IT 支持用的远程协助与屏幕共享</td> 
  </tr> 
  <tr> 
   <td><strong>mindmanager</strong></td> 
   <td>思维导图与可视化项目管理</td> 
  </tr> 
  <tr> 
   <td><strong>openlogi</strong></td> 
   <td>本地优先的 Logitech Options+ 替代品，适配 HID++</td> 
  </tr> 
  <tr> 
   <td><strong>power-monitor</strong></td> 
   <td>电源适配器与电池状态报告</td> 
  </tr> 
  <tr> 
   <td><strong>shichizip-zs</strong></td> 
   <td>基于 mcmilk/7-Zip-zstd 的 7-Zip 衍生 GUI</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这周有一个我从没见过的措辞出现在 Homebrew 里。<br /> 它让其他几个工具都显得更值得一看了。</p> 
</blockquote> 
<hr /> 
<h3>vim-classic：一行描述，一种立场</h3> 
<p><code>brew info vim-classic</code> 只有一行核心描述：<br /> <strong>"Vim 8 long term support version with no LLM-generated code"</strong></p> 
<p>"no LLM-generated code"——这在工具的官方元数据里出现，是我第一次见到。</p> 
<p>这不是在说 LLM 生成的代码质量不好。<br /> 它说的是一种可追溯性：每一行代码，作者都清楚它从哪儿来、为什么在这里。<br /> Vim 8 已经是功能意义上的成品，它不需要新功能，只需要有人认真维护。<br /> vim-classic 的选择是用人的判断来做这件事，而不是借助辅助生成。</p> 
<p>你可能不需要 vim-classic。Neovim 更好、vim 够用。<br /> 但它的出现本身是一个信号：<br /> 当 LLM-assisted 成为默认时，<strong>"手写"开始变成一种需要声明的特性</strong>，就像"有机"或"手工"一样。</p> 
<p>这种逻辑早晚会蔓延到更多地方。</p> 
<hr /> 
<h3>ec：终于有人把三路 merge 做成 TUI 了</h3> 
<img width="600" alt="ec" src="https://rich-1e.sol.build/B5ECFA96-935F-465D-8C07-E2BED03ACBE5/ec.gif" /> 
<p>三路 merge 是 git 里最让人头疼的一环。<br /> <code>git mergetool</code> 默认弹出 vimdiff 或者你随便配的编辑器，<br /> 多数人要么不知道怎么用，要么每次都要重新想"左边是我的还是他的"。</p> 
<pre><code>┌─────────────────────────────────────────────┐
│  ec — TUI 3-way git mergetool               │
├───────────────┬───────────┬─────────────────┤
│   LOCAL       │   BASE    │   REMOTE        │
│               │           │                 │
│ func foo() {  │ func foo  │ func foo() {    │
│   return 1    │  () {     │   return 2      │
│ }             │   return  │ }               │
│               │   0       │                 │
│               │ }         │                 │
├───────────────┴───────────┴─────────────────┤
│  MERGED OUTPUT                              │
│  func foo() {                               │
│    return ▌                                 │
│  }                                          │
└─────────────────────────────────────────────┘
  ← → 切换块   Space 选择   Enter 应用   q 退出
</code></pre> 
<p>ec 做的事很简单：把 LOCAL / BASE / REMOTE 三路放在 TUI 里并排，<br /> 让你用键盘选择每个冲突块应该用哪个版本，然后输出 MERGED。<br /> 它省掉的，是"看着 <code>&lt;&lt;&lt;</code> <code>===</code> <code>&gt;&gt;&gt;</code> 手动对齐"那种脑力消耗。</p> 
<hr /> 
<h3>rura：shell 管道的草稿本</h3> 
<img width="600" alt="rura" src="https://rich-1e.sol.build/B5ECFA96-935F-465D-8C07-E2BED03ACBE5/rura.gif" /> 
<p>很多人不知道自己其实需要一个"管道调试器"——<br /> 直到他们写出了 <code>cat file | grep foo | awk '{print $2}' | sort | uniq -c | sort -rn</code> 这样一条命令，<br /> 然后发现根本不知道哪一步开始出错了。</p> 
<p>rura 是个 TUI 便签本：你在里面一段一段地搭 pipeline，<br /> 每加一步都能即时看到那一步的输出，<br /> 错了就改那一步，不用每次都重跑整条命令。</p> 
<pre><code>┌─────────────────────────────────────────────┐
│  rura — shell pipeline scratchpad           │
├─────────────────────────────────────────────┤
│  INPUT                                      │
│  cat access.log                             │
├─────────────────────────────────────────────┤
│  STEP 1  grep "404"          [42 lines]     │
│  STEP 2  awk '{print $7}'    [42 lines] ▲   │
│  STEP 3▌ sort | uniq -c      [editing...]   │
├─────────────────────────────────────────────┤
│  PREVIEW                                    │
│    128 /api/missing                         │
│     43 /favicon.ico                         │
│      7 /admin/login                         │
└─────────────────────────────────────────────┘
</code></pre> 
<p>它不是 shell 的替代品，是 shell 的草稿纸。<br /> 它省掉的是那种"我不确定这一步对不对，但也不想重跑一遍"的犹豫。</p> 
<hr /> 
<h3>rmux：tmux 的精简重写，带守护进程运行时</h3> 
<img width="600" alt="rmux" src="https://rich-1e.sol.build/B5ECFA96-935F-465D-8C07-E2BED03ACBE5/rmux.gif" /> 
<p>tmux 很好，但配置文件那几百行、插件生态、偶尔出问题时的调试——<br /> 对于"我只是需要一个会话持久化的终端分窗"来说，有点重了。</p> 
<p>rmux 的定位是：tmux 的 CLI 风格，更简单的守护进程模型。<br /> 你依然用 <code>rmux new -s myproject</code>、<code>rmux attach -t myproject</code> 这种命令，<br /> 但它的守护进程从设计上更轻，更容易推理。</p> 
<p>这不是要取代 tmux 的项目。<br /> 它是"我知道 tmux 能做到，但我只需要 20% 的那个人"的选项。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>bun 终于进了 homebrew/core，而不是只在 tap 里。<br /> 这件事本身不大，但标志着它已经不是"新东西"了。</p> 
<p>kimi-code 进场了——Moonshot AI 的编码 Agent 加入了 Claude Code、Codex、Gemini CLI 的行列。<br /> 现在 Homebrew 里的 AI 编码 Agent 已经有七八个了，<br /> 我有点好奇大家到底在用哪几个、或者全都在用。</p> 
<p>vim-classic 是这周我想得最久的。<br /> 不是因为我会用它，而是因为它的描述方式让我意识到：<br /> <strong>"这段代码是人写的"正在从隐含假设变成需要被声明的事。</strong><br /> 这个转变发生得比我想象的快。</p> 
<p>macparakeet 和 buzz——本地语音转录这个品类今年明显多了。<br /> 不知道是 M4 芯片快到了足够跑的程度，还是大家开始认真对待隐私。<br /> 或者两者都有。</p> 
<hr /> 
<h2>结语</h2> 
<p>这一周没有爆炸性的工具，但有一行描述让我觉得这期值得写。</p> 
<p>"no LLM-generated code"——四个词，一条隐形的分界线。<br /> 它出现在一个 Vim 的 fork 里，出现在 2026 年，<br /> 这件事本身比任何新 AI Agent 都更值得记下来。</p> 
<blockquote> 
 <p>当默认值发生变化，反其道而行就变成了一种声明。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>Clash Verge Rev &#x26; DNS &#x914D;&#x7F6E;</title>
        <link>https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/</link>
        <guid>https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/</guid>
        <pubDate>Fri, 05 Jun 2026 15:55:02 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/clash-verge-rev-dns-configuration/B09FA94B-E8C3-4ED4-B9AB-895F4ED1083B.png" />    
        
        
        <description><![CDATA[
            <p>首先要说一下，CVR只要订阅配置完成，就基本可以满足日常使用。</p> 
<p>但是，由于Claude/ChatGPT对国内ip封锁非常严厉，需要开启TUN模式和fakeip功能。</p> 
<p>在公司内部需要兼顾内外2套网络，因此必须配置DNS。</p> 
<hr /> 
<p>有一说一，Clash的配置文档太长了，实在不想读。</p> 
<p>到现在才稍微明白一些配置项的含义。</p> 
<p>有时候感觉 Clash Verge Rev 的GUI非常难懂，感觉与自己写yaml有很大区别。</p> 
<p>一些网络上看到的简易配置，根本无法使用。</p> 
<hr /> 
<p>下面记录一下配置的关键。</p> 
<p><strong>DNS覆写</strong></p> 
<ol> 
 <li>打开“DNS覆写”</li> 
</ol> 
<img width="600" alt="B09FA94B-E8C3-4ED4-B9AB-895F4ED1083B" src="https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/B09FA94B-E8C3-4ED4-B9AB-895F4ED1083B.png" /> 
<ol start="2"> 
 <li>打开“启用DNS”</li> 
</ol> 
<img width="600" alt="F00E0337-ABEE-410F-AAB0-8D667967B88A" src="https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/F00E0337-ABEE-410F-AAB0-8D667967B88A.png" /> 
<p>点击“高级”，将下面的配置粘贴进去：</p> 
<pre><code class="language-yaml"># Clash Verge DNS 配置
# 企业内网 + 公网 DoH 混合解析方案
dns:
  # 启用 Clash 内置 DNS 服务
  enable: true
  # 监听本机 53 端口
  listen: ':53'
  # Fake-IP 模式，便于域名规则匹配
  enhanced-mode: 'fake-ip'
  # Fake-IP 地址池
  fake-ip-range: '198.18.0.1/16'
  # 黑名单中的域名不使用 Fake-IP
  fake-ip-filter-mode: 'blacklist'
  # 是否优先使用 HTTP/3
  prefer-h3: true
  # DNS 查询遵循 Clash 规则
  respect-rules: true
  # 使用配置中的 hosts
  use-hosts: true
  # 不读取系统 hosts 文件
  use-system-hosts: true
  # 启用 IPv6 DNS 解析
  ipv6: true
  # 以下域名返回真实 IP，避免 Fake-IP 导致异常
  fake-ip-filter:
    # 局域网、本地服务、网络探测等域名不走 Fake-IP
    - '*.lan'
    - '*.local'
    - '*.arpa'
    - 'time.*.com'
    - 'ntp.*.com'
    - 'time.*.com'
    - '+.market.xiaomi.com'
    - 'localhost.ptlogin2.qq.com'
    - '*.msftncsi.com'
    - 'www.msftconnecttest.com'
  # 用于解析 DNS 服务器自身域名
  default-nameserver:
    # system 表示使用系统 DNS，其余为备用解析器
    - 'system'
    - '223.6.6.6'
    - '10.139.1.142'
    - '10.139.1.143'
    - '114.114.114.114'
    - '8.8.8.8'
    - '2400:3200::1'
    - '2001:4860:4860::8888'
  # 默认公网 DNS（代理流量）
  nameserver:
    # Google DNS + 腾讯 DoH + 阿里 DoH
    - '8.8.8.8'
    - 'https://doh.pub/dns-query'
    - 'https://dns.alidns.com/dns-query'
  # direct-nameserver 是否跟随 nameserver-policy
  direct-nameserver-follow-policy: false
  # fallback DNS 过滤规则（当前未启用 fallback）
  fallback-filter:
    geoip: true
    geoip-code: 'CN'
    ipcidr:
      - '240.0.0.0/4'
      - '0.0.0.0/32'
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
  # 备用 DNS，留空表示关闭
  fallback: []
  # 用于解析代理节点服务器域名
  proxy-server-nameserver:
    - 'https://doh.pub/dns-query'
    - 'https://dns.alidns.com/dns-query'
    - 'tls://223.5.5.5'
  # DIRECT 流量专用 DNS（企业内网 DNS）
  direct-nameserver: 
    # VPN/办公网络下可访问的企业 DNS
    - 10.139.1.142
    - 10.139.1.143
  # 企业域名强制使用内部 DNS 解析
  nameserver-policy:
    '+.zhongan.com':
      - 10.139.1.142
      - 10.139.1.143
    '+.zhonganonline.com':
      - 10.139.1.142
      - 10.139.1.143
    '+.zhonganinfo.com':
      - 10.139.1.142
      - 10.139.1.143
    '+.za.biz':
      - 10.139.1.142
      - 10.139.1.143
    '+.za-tech.net':
      - 10.139.1.142
      - 10.139.1.143
</code></pre> 
<p><strong>编辑规则</strong></p> 
<img width="600" alt="60D6E900-6676-4CC2-B01F-040A0E68D97D" src="https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/60D6E900-6676-4CC2-B01F-040A0E68D97D.png" /> 
<img width="600" alt="24934F8B-215E-4A3D-B809-4640EF22A567" src="https://rich-1e.sol.build/6CF6A993-4762-40DC-9FD5-0BA2712801EC/24934F8B-215E-4A3D-B809-4640EF22A567.png" /> 
<p>点击“高级”，将将下面的配置粘贴进去：</p> 
<pre><code class="language-yaml">prepend:
  - 'IP-CIDR,10.0.0.0/8,DIRECT,no-resolve'
  - 'IP-CIDR,172.16.0.0/12,DIRECT,no-resolve'
  - 'IP-CIDR,192.168.0.0/16,DIRECT,no-resolve'
  - 'DOMAIN-SUFFIX,za-tech.net,DIRECT'
  - 'DOMAIN-SUFFIX,za.biz,DIRECT'
  - 'DOMAIN-SUFFIX,zhonganinfo.com,DIRECT'
  - 'DOMAIN-SUFFIX,zhonganonline.com,DIRECT'
  - 'DOMAIN-SUFFIX,zhongan.com,DIRECT'
append: []
delete: []
</code></pre> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://sub.789.st/">在线订阅转换</a></li> 
 <li><a href="https://subboost.org/">SubBoost - Clash 订阅转换与管理服务</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/discussions/6678">关于"DNS 覆写" 和其内的 "启用DNS"</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/1023">[BUG] clash-verge-rev 会自动定时覆盖系统的DNS为223.5.5.5</a></li> 
 <li><a href="https://www.clashverge.dev/faq/macos.html?h=dns#tundns">MacOS - Clash Verge Rev Docs</a></li> 
 <li><a href="https://www.clashverge.dev/guide/script.html">自定义脚本 - Clash Verge Rev Docs</a></li> 
 <li><a href="https://v2ex.com/t/1015534">请教下 clash 的 DNS 是这么配置么？ - V2EX</a></li> 
 <li><a href="https://github.com/MetaCubeX/mihomo/blob/Meta/docs/config.yaml">mihomo/docs/config.yaml at Meta · MetaCubeX/mihomo</a></li> 
 <li><a href="https://wiki.metacubex.one/config/">配置 - 虚空终端 Docs</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/3608">[BUG] DNS覆写，使用系统 Hosts 无效 · Issue #3608 · clash-verge-rev/clash-verge-rev</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>SideStore.OperationError 1414</title>
        <link>https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/</link>
        <guid>https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/</guid>
        <pubDate>Thu, 04 Jun 2026 11:27:56 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/sidestore-operationerror-1414/2026-06-04_13-30.png" />    
        
        
        <description><![CDATA[
            <p>最近将iPhone升级到iOS26.5，发现SideStore不能远程刷新，</p> 
<p>Error Message：</p> 
<blockquote> 
 <p>“You do not appear to be connected to Wi-Fi and/or LocalDevVPN!<br /> SideStore cannot install or refresh applications without Wi-Fi and LocalDevVPN. If both are connected, replace your pairing with iloader.”</p> 
</blockquote> 
<blockquote> 
 <p>“Make sure LocalDevVPN is connected and that you are connected to any Wi-Fi network!”</p> 
</blockquote> 
<p>Error Code：</p> 
<blockquote> 
 <p>“SideStore.OperationError 1414”</p> 
</blockquote> 
<p>遂，网上查找解决方法。</p> 
<hr /> 
<p>SideStore issues 里面有许多人反馈这个问题，大概在3月份的时候，就有人遇到这个问题，大都是iOS26.4beta版本。</p> 
<img width="600" alt="2026-06-04_13-30" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/2026-06-04_13-30.png" /> 
<img width="600" alt="2026-06-04_13-33" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/2026-06-04_13-33.png" /> 
<p>评论区中提到<a href="https://github.com/SideStore/SideStore/issues/1174">#1174</a>有临时解决方案。</p> 
<hr /> 
<p>打开<a href="https://github.com/SideStore/SideStore/issues/1174">1174</a>的帖子看了下，或许能解决，但是挺玄学，不太靠谱。而且依赖“Adguard VPN”、“VPN Super”这些支持 IKEv2/IPSec 的 VPN。</p> 
<img width="1874" alt="CAD4BB68-3873-468D-8BC8-055CB17D9C00" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/CAD4BB68-3873-468D-8BC8-055CB17D9C00.png" /> 
<p>有人不认可这个方式，提出了质疑。</p> 
<img width="1898" alt="FFD3ED84-63F8-4910-9B09-BA21E69AA18D" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/FFD3ED84-63F8-4910-9B09-BA21E69AA18D.png" /> 
<p><strong>就算没人质疑，我也不打算用这么戳的方式。😜</strong></p> 
<hr /> 
<p>事情到这里，似乎被卡住了。</p> 
<p>仔细想想🤔，其实有2个路径解决这个问题：</p> 
<ol> 
 <li>如上面所说，使用支持 IKEv2/IPSec 的 VPN；</li> 
 <li>根据报错信息可知，是LocalDevVPN未连接成功导致；</li> 
</ol> 
<p>然后我想到了idevice_pair。</p> 
<p>记得在我初次使用SideStore时，就是使用idevice_pair管理iOS设备配对。依稀记得SideStore与iOS配对成功后，再打开LocalDevVPN，就可以刷新应用。</p> 
<hr /> 
<p>由于我安装的是LiveContainer+SideStore(内嵌)版本，所以又去LiveContainer issues找了下相关问题，果不其然，也有人反馈了。<a href="https://github.com/LiveContainer/LiveContainer/issues/1152#issuecomment-4149753405">iOS 26.4 compatibility &amp; App Refreshing<br /> </a></p> 
<p>在评论中有人提到了 rppairing，</p> 
<img width="600" alt="183C1B01-C257-4AEB-A8E6-2C809FDD4488" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/183C1B01-C257-4AEB-A8E6-2C809FDD4488.png" /> 
<p>但是怎么操作，还是让人一头雾水。</p> 
<img width="600" alt="B104124B-78E4-4E79-B282-02E64391E594" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/B104124B-78E4-4E79-B282-02E64391E594.png" /> 
<p>最后参考这个评论，去b站看了下视频，就完美解决了。✌️</p> 
<iframe src="https://player.bilibili.com/player.html?isOutside=true&amp;aid=116312193959410&amp;bvid=BV1R5XXBMEJ6&amp;cid=37073193745&amp;p=1&amp;autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe> 
<p>最后弄好后，</p> 
<img width="300" alt="0D3B03C4-987D-4D6D-8C65-377E4F5BD37E" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/0D3B03C4-987D-4D6D-8C65-377E4F5BD37E.png" /> 
<img width="600" alt="2894D4A2-5AC2-419F-ADC0-015A4F23F7BF" src="https://rich-1e.sol.build/E7E79F0D-4741-4417-B326-935B1DDFAF05/2894D4A2-5AC2-419F-ADC0-015A4F23F7BF.png" /> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/LiveContainer/LiveContainer/issues/1152#issuecomment-4149753405">Refresh not working on ios 26.4 · Issue #1295 · LiveContainer/LiveContainer</a></li> 
 <li><a href="https://www.bilibili.com/video/BV1R5XXBMEJ6/?vd_source=3710ff3fa57db21b813ef420454b2e16">iOS 26.4+｜LiveContainer 现已支持 RPPairing 使用教程_哔哩哔哩_bilibili</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1223">[BUG] · Issue #1223 · SideStore/SideStore</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1194">[BUG] 26.4 beta 2 can't refresh, update or deactivate. · Issue #1194 · SideStore/SideStore</a><br /> <a href="https://github.com/LiveContainer/LiveContainer/issues/1152">iOS 26.4 compatibility &amp; App Refreshing · Issue #1152 · LiveContainer/LiveContainer</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1174">[BUG] ios26.4 can't refresh apps · Issue #1174 · SideStore/SideStore</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1222">[BUG] Bug with iOS 26.4 · Issue #1222 · SideStore/SideStore</a></li> 
 <li><a href="https://github.com/jkcoxson/idevice_pair">Releases · jkcoxson/idevice_pair</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260603 | Agent &#x642C;&#x8FDB;&#x5218;&#x6D77;&#xFF0C;Mac &#x63A5;&#x7BA1;&#x63A8;&#x7406;</title>
        <link>https://rich-1e.sol.build/ED1E9413-15DA-4CC6-AC25-BA36F0A39050/</link>
        <guid>https://rich-1e.sol.build/ED1E9413-15DA-4CC6-AC25-BA36F0A39050/</guid>
        <pubDate>Wed, 03 Jun 2026 10:29:29 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260603/ratty-logo.gif" />    
        
        
        <description><![CDATA[
            <p><strong>这一周的工具列表，像是在给"AI 在哪里工作"写一份新答案。</strong></p> 
<blockquote> 
 <p>上一周大家还在补 Agent 的水电煤，<br /> 这一周开始有人琢磨：Agent 到底应该住在哪里、<br /> 模型到底应该跑在哪里。</p> 
 <p>答案变得不太一样了——<br /> Agent 跑去了刘海下面，模型住进了 Mac 自己。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>Agent 不再只在终端里抢注意力，模型也不再默认住在云端。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>aube</strong></td> 
   <td>一个新的快速 Node.js 包管理器</td> 
  </tr> 
  <tr> 
   <td><strong>cc-switch-cli</strong></td> 
   <td>一处管 Claude Code、Codex、Gemini、OpenCode、OpenClaw 的切换器</td> 
  </tr> 
  <tr> 
   <td><strong>cozypkg</strong></td> 
   <td>Cozystack 包的 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>dz6</strong></td> 
   <td>Vim 风格的 TUI 十六进制编辑器，主打快</td> 
  </tr> 
  <tr> 
   <td><strong>ghcitty</strong></td> 
   <td>给 GHCi 套了一层更友好的壳</td> 
  </tr> 
  <tr> 
   <td><strong>libredwg</strong></td> 
   <td>DWG（AutoCAD 图纸格式）工具库</td> 
  </tr> 
  <tr> 
   <td><strong>quien</strong></td> 
   <td>比 whois 更现代的域名情报工具包</td> 
  </tr> 
  <tr> 
   <td><strong>ratty</strong></td> 
   <td>GPU 渲染的终端模拟器，能在终端里塞 3D</td> 
  </tr> 
  <tr> 
   <td><strong>sdl2-compat</strong></td> 
   <td>SDL2 兼容层，底层走 SDL3</td> 
  </tr> 
  <tr> 
   <td><strong>sdl3_net</strong></td> 
   <td>SDL3 配套的跨平台 TCP/IP 简易封装</td> 
  </tr> 
  <tr> 
   <td><strong>tdf</strong></td> 
   <td>终端里看 PDF 的 TUI 阅读器</td> 
  </tr> 
  <tr> 
   <td><strong>telegram-send</strong></td> 
   <td>命令行直接发 Telegram 消息</td> 
  </tr> 
  <tr> 
   <td><strong>wl-clipboard</strong></td> 
   <td>Wayland 下的剪贴板复制粘贴工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>agentsmesh</strong></td> 
   <td>AI Agent 工作群编排平台</td> 
  </tr> 
  <tr> 
   <td><strong>auto-subs</strong></td> 
   <td>自动给音视频生成字幕</td> 
  </tr> 
  <tr> 
   <td><strong>cc-pocket</strong></td> 
   <td>Codex 与 Claude 编码 Agent 的远程控制端</td> 
  </tr> 
  <tr> 
   <td><strong>choragus</strong></td> 
   <td>Sonos 音箱控制</td> 
  </tr> 
  <tr> 
   <td><strong>dbx</strong></td> 
   <td>数据库管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>devin-cli</strong></td> 
   <td>接 Devin Cloud 的编码 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>exo</strong></td> 
   <td>用本机的多台 Mac 拼出一个本地推理集群</td> 
  </tr> 
  <tr> 
   <td><strong>facescreen</strong></td> 
   <td>演示与屏幕共享时的人像与文本叠加</td> 
  </tr> 
  <tr> 
   <td><strong>font-montenegrin-gothic-one</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-xiaolai</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-xiaolai-mono</strong></td> 
   <td>一款等宽字体</td> 
  </tr> 
  <tr> 
   <td><strong>ghostvm</strong></td> 
   <td>Apple Silicon 原生虚拟机</td> 
  </tr> 
  <tr> 
   <td><strong>harvest</strong></td> 
   <td>时间追踪应用</td> 
  </tr> 
  <tr> 
   <td><strong>mactools</strong></td> 
   <td>菜单栏工具箱</td> 
  </tr> 
  <tr> 
   <td><strong>meetily</strong></td> 
   <td>会议录音与分析</td> 
  </tr> 
  <tr> 
   <td><strong>mirai</strong></td> 
   <td>跑本地 AI 模型的推理引擎</td> 
  </tr> 
  <tr> 
   <td><strong>mister-plimsoll</strong></td> 
   <td>磁盘剩余容量监控与告警</td> 
  </tr> 
  <tr> 
   <td><strong>open-island</strong></td> 
   <td>AI 编码 Agent 的原生陪伴应用</td> 
  </tr> 
  <tr> 
   <td><strong>openpencil</strong></td> 
   <td>Figma 兼容的开源设计编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>ping-island</strong></td> 
   <td>菜单栏里盯着 Agent 会话状态</td> 
  </tr> 
  <tr> 
   <td><strong>rcmd</strong></td> 
   <td>用右 ⌘ 键唤出的应用切换器</td> 
  </tr> 
  <tr> 
   <td><strong>speechify-ai-assistant</strong></td> 
   <td>AI 阅读与朗读助手</td> 
  </tr> 
  <tr> 
   <td><strong>tangleguard-cli</strong></td> 
   <td>给 LLM 与人都能读懂的代码架构上下文 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>vmlx</strong></td> 
   <td>在 Apple Silicon 上跑本地 AI 模型</td> 
  </tr> 
  <tr> 
   <td><strong>whatcable</strong></td> 
   <td>菜单栏 USB-C 线缆诊断</td> 
  </tr> 
  <tr> 
   <td><strong>yojam</strong></td> 
   <td>把链接路由到指定浏览器、配置或 App 打开</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一周值得停下来看的东西不少。<br /> 选四个：一个是终端长出眼睛，一个是 Agent 长出表情，<br /> 一个是老 whois 终于不再难看，一个是趋势——Mac 自己开始跑模型了。</p> 
</blockquote> 
<hr /> 
<h3>ratty：终端模拟器开始往里塞 3D 了</h3> 
<img width="600" alt="ratty-logo" src="https://rich-1e.sol.build/ED1E9413-15DA-4CC6-AC25-BA36F0A39050/ratty-logo.gif" /> 
<p>ratty 是 Orhun（写过 ratatui、tui-rs 的那位）做的新东西，定义很大胆：<br /> <strong>GPU 渲染的终端模拟器，支持在终端里 inline 显示 3D 内容</strong>。</p> 
<p>听上去像噱头，但 demo 里它真的就能在 <code>cat</code> 文档的中间嵌一个会转的 3D 模型，<br /> 也能左边一个 2D 画布、右边一个实时 3D 预览，全都还在你那块终端窗口里。<br /> 甚至有人在它上面写了个 endless runner 小游戏，跑在终端里。</p> 
<p>它解决的不是什么生产力问题。<br /> 它解决的是"终端从 1970 年代起就只会显示字符"这个隐含假设——<br /> 当 GPU 已经能干得起所有事，终端没理由继续假装自己是一台 VT100。</p> 
<p>值不值得用是另一回事。但作为一种姿态它很有意思：<br /> <strong>终端是不是该升级一下定义了。</strong></p> 
<hr /> 
<h3>ping-island：把 Agent 状态搬进 macOS 的刘海</h3> 
<img width="600" alt="ping-island 通知面板" src="https://rich-1e.sol.build/ED1E9413-15DA-4CC6-AC25-BA36F0A39050/ping-island-notch.png" /> 
<p>如果你同时挂着两三个 Claude Code、再加一个 Codex 在跑，<br /> 你大概率经历过这种情况：切回去看一眼，发现某个 Agent 在十分钟前就停下来等你确认了。</p> 
<p>ping-island 直接把 macOS 刘海（Dynamic Island）那一小块拿来当 Agent 的状态栏。<br /> 平时它静悄悄缩在那儿，<br /> 某个 Agent 需要批准、需要输入、需要 review，它就在刘海下面展开。<br /> 你可以直接在那个小弹层里同意 / 拒绝工具调用，<br /> 不用切换终端、不用翻 IDE 标签页。</p> 
<img width="800" alt="ping-island 应答演示" src="https://rich-1e.sol.build/ED1E9413-15DA-4CC6-AC25-BA36F0A39050/ping-island-question.gif" /> 
<p>更妙的是它给每个 Agent 都配了一个 mascot——<br /> Claude、Codex、Gemini、Hermes、Qwen、Cursor、Copilot 各自一个像素小动物。<br /> 这听上去像玩笑，但当你脑子里同时有三个会话时，<br /> "哪个动物在叫"比"哪个 PID 在等"更容易认。</p> 
<p>它替你省的，是那种"我以为它在干活其实它在等我"的尴尬。</p> 
<hr /> 
<h3>quien：whois 终于不再是一坨纯文本了</h3> 
<p>很多人不知道 RDAP 已经基本取代了 WHOIS。<br /> 新协议返回的是结构化 JSON，而不是 80 年代的自由格式文本。<br /> 但大多数人手里的 <code>whois</code> 命令还是那个老 <code>whois</code>，<br /> 查出来一坨参差不齐的字段，自己拿眼看。</p> 
<p>quien 把这件事重做了一遍。<br /> 它是个 TUI，开起来一组标签页：<br /> WHOIS、DNS（A/AAAA/CNAME/MX/NS/TXT/PTR/SOA + DNSSEC）、<br /> Mail（SPF / DMARC / DKIM / BIMI 与 VMC 链）、<br /> SSL/TLS（证书、SAN、过期）、HTTP（响应头，安全相关的优先）、<br /> SEO（含可选的 Core Web Vitals）、Stack（CMS、WordPress 插件、JS/CSS 框架探测）。</p> 
<p>更贴心的是 <code>ssh quien.sh</code> 就能直接在线试，不装也行。</p> 
<p>它不是某种"提效工具"。它是把"查个域名"这件本来就不该是体力活的事，<br /> 还原回它该有的样子：<strong>一次查询，一组完整的画像。</strong></p> 
<hr /> 
<h3>趋势观察：Mac 这周开始正经当推理服务器了</h3> 
<p>把 cask 列表里这几个连起来看就很有意思：</p> 
<ul> 
 <li><strong>exo</strong>：把本机几台 Apple Silicon 拼成一个本地推理集群，<br /> 自动发现拓扑、按内存和带宽切模型。文档里提了一句<br /> "8 µs latency with RDMA over Thunderbolt 5"——<br /> 你那条没在用的雷电 5 线突然变成了模型并行的总线。</li> 
 <li><strong>mirai</strong>：本地推理引擎，需要 macOS 26+。</li> 
 <li><strong>vmlx</strong>：在 Apple Silicon 上跑本地 AI 模型，基于 MLX。</li> 
</ul> 
<p>加上之前的 Ollama、LM Studio，这周终于能感觉到一个变化：<br /> <strong>Apple Silicon 不只是被动地能跑模型，是开始有人专门为它做基础设施。</strong></p> 
<p>集群、引擎、调度、调用 API 兼容层（exo 兼容 OpenAI/Claude/Responses/Ollama）。<br /> 这套以前是 Linux GPU 服务器的专属形态。<br /> 现在你那台不开机的 Mac mini，可能比一张 4090 更值得保留。</p> 
<p>云端推理还会是主流，但"我家这几台 Mac 就够用"<br /> 开始从极客的浪漫变成可以装出来的工程方案。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>ratty 我大概率不会换，但我会去看那个 3D demo 视频几遍——<br /> 它让我重新意识到终端这个东西其实挺旧的。</p> 
<p>ping-island 是这周我最想试的。<br /> 不是因为多花哨，而是它把"Agent 在等我"这件事<br /> 从"我得记得切回去看"变成"它会自己叫我"。<br /> 这种从 pull 到 push 的小变化，看上去无聊，用过就回不去。</p> 
<p>quien 我会替换掉系统自带的 whois。<br /> 没什么戏剧性，纯粹是 90 年代工具被认真重做了一次。</p> 
<p>exo 让我有点恍惚。<br /> 两年前你跟人说"我家几台 Mac 拼起来跑 70B"，对方会觉得你在表演。<br /> 现在它已经是一个有官网、有 API 兼容层、有 Thunderbolt 5 RDMA 优化的产品。</p> 
<hr /> 
<h2>结语</h2> 
<p>这一周看下来有种隐隐的感觉：<br /> AI 不是又往云上漂走了一点，而是悄悄往本地、往边缘、往"我手边这台机器"再回了一点。</p> 
<p>工具会替你打开新世界，也会替你重新发现旧设备。</p> 
<blockquote> 
 <p>真正的本地化，是连刘海都开始派上用场。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260529 | &#x5F53; Agent &#x4E5F;&#x5F00;&#x59CB;&#x6709;&#x4E86;&#x6C34;&#x7535;&#x7164;</title>
        <link>https://rich-1e.sol.build/BD8A0362-4B85-4B1B-B1B6-55C49F2CE5D0/</link>
        <guid>https://rich-1e.sol.build/BD8A0362-4B85-4B1B-B1B6-55C49F2CE5D0/</guid>
        <pubDate>Fri, 29 May 2026 18:48:09 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260529/codeburn-dashboard.jpg" />    
        
        
        <description><![CDATA[
            <p><strong>这周打开 brew update，像是看到一座基础设施小镇在悄悄建起来。</strong></p> 
<blockquote> 
 <p>五月底的列表里，AI 已经不再是新东西。<br /> 真正变新的，是它周围那一圈"配套设施"——<br /> 计费的、调度的、围墙的、防扒手的。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>Agent 已经过了"造出来就行"的阶段，进入了"得有人管它"的阶段。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>btdu</strong></td> 
   <td>btrfs 文件系统的采样式磁盘占用分析器</td> 
  </tr> 
  <tr> 
   <td><strong>bumblebee</strong></td> 
   <td>只读的开发端点扫描器，用于发现供应链暴露面（Perplexity 出品）</td> 
  </tr> 
  <tr> 
   <td><strong>chunkah</strong></td> 
   <td>基于内容分层构建 OCI 镜像的工具</td> 
  </tr> 
  <tr> 
   <td><strong>cloudmonkey</strong></td> 
   <td>Apache CloudStack 官方 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>codeburn</strong></td> 
   <td>看清你的 AI 编码 token 都花到哪去了</td> 
  </tr> 
  <tr> 
   <td><strong>erlang@28</strong></td> 
   <td>Erlang 28，面向高并发实时系统的语言</td> 
  </tr> 
  <tr> 
   <td><strong>far2l-tty</strong></td> 
   <td>FAR Manager v2 的 Unix TTY 移植，附 NetRocks</td> 
  </tr> 
  <tr> 
   <td><strong>gmp-ecm</strong></td> 
   <td>用于整数因子分解的椭圆曲线方法</td> 
  </tr> 
  <tr> 
   <td><strong>goenv@2</strong></td> 
   <td>Go 版本管理工具 v2</td> 
  </tr> 
  <tr> 
   <td><strong>herdr</strong></td> 
   <td>住在终端里的 Agent 多路复用器</td> 
  </tr> 
  <tr> 
   <td><strong>ladder</strong></td> 
   <td>自托管的 12ft.io / 1ft.io 替代品，HTTP 反代墙</td> 
  </tr> 
  <tr> 
   <td><strong>leaf-md</strong></td> 
   <td>终端里的 Markdown 预览器，体验接近 GUI</td> 
  </tr> 
  <tr> 
   <td><strong>m4ri</strong></td> 
   <td>在 GF(2) 上做稠密矩阵运算的高速库</td> 
  </tr> 
  <tr> 
   <td><strong>mercury-cli</strong></td> 
   <td>Mercury 银行的 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>miasma</strong></td> 
   <td>把 AI 爬虫困在无尽毒坑里</td> 
  </tr> 
  <tr> 
   <td><strong>mips-linux-gnu-binutils</strong></td> 
   <td>mips-linux-gnu 交叉开发的 GNU Binutils</td> 
  </tr> 
  <tr> 
   <td><strong>openjdk@25</strong></td> 
   <td>Java 25 开发包</td> 
  </tr> 
  <tr> 
   <td><strong>panache</strong></td> 
   <td>Markdown / Quarto / RMarkdown 的 LSP、格式化与 lint</td> 
  </tr> 
  <tr> 
   <td><strong>quickjs-ng</strong></td> 
   <td>QuickJS 的下一代分支，更猛的小型 JS 引擎</td> 
  </tr> 
  <tr> 
   <td><strong>rustnet</strong></td> 
   <td>跨平台终端网络监控 + 深度包检测 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>sanity</strong></td> 
   <td>Sanity 无头 CMS 的命令行</td> 
  </tr> 
  <tr> 
   <td><strong>satellite-tracker</strong></td> 
   <td>终端里的实时卫星轨道追踪器</td> 
  </tr> 
  <tr> 
   <td><strong>vs-preview</strong></td> 
   <td>VapourSynth 脚本预览器</td> 
  </tr> 
  <tr> 
   <td><strong>zerolang</strong></td> 
   <td>面向 Agent、强调显式副作用与可预测内存的语言</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>activitywatch@beta</strong></td> 
   <td>时间追踪器测试通道</td> 
  </tr> 
  <tr> 
   <td><strong>airi</strong></td> 
   <td>AI 伴侣兼 VTuber 应用</td> 
  </tr> 
  <tr> 
   <td><strong>antigravity-cli</strong></td> 
   <td>Google Antigravity Agent 的终端入口</td> 
  </tr> 
  <tr> 
   <td><strong>antigravity-ide</strong></td> 
   <td>Google 出品的 AI 编码 Agent IDE</td> 
  </tr> 
  <tr> 
   <td><strong>atomcode</strong></td> 
   <td>开源的终端 AI 编码 Agent（atomgit 出品）</td> 
  </tr> 
  <tr> 
   <td><strong>chronoid</strong></td> 
   <td>自动时间追踪与生产力洞察</td> 
  </tr> 
  <tr> 
   <td><strong>dusklight</strong></td> 
   <td>《塞尔达：黄昏公主》的逆向重实现</td> 
  </tr> 
  <tr> 
   <td><strong>eurkey-next</strong></td> 
   <td>给欧洲人、程序员、翻译用的键盘布局</td> 
  </tr> 
  <tr> 
   <td><strong>executor</strong></td> 
   <td>Agent 的工具发现与执行层</td> 
  </tr> 
  <tr> 
   <td><strong>font-pliant</strong></td> 
   <td>一款字体</td> 
  </tr> 
  <tr> 
   <td><strong>grok-build</strong></td> 
   <td>xAI 出的可扩展终端编码 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>keyscreen</strong></td> 
   <td>屏幕上展示键盘输入</td> 
  </tr> 
  <tr> 
   <td><strong>macmd-viewer</strong></td> 
   <td>支持 QuickLook 与 Mermaid 的 Markdown 阅读器</td> 
  </tr> 
  <tr> 
   <td><strong>maestri</strong></td> 
   <td>Agent 编排画布</td> 
  </tr> 
  <tr> 
   <td><strong>overtone-analyzer</strong></td> 
   <td>实时人声频谱分析与音频编辑</td> 
  </tr> 
  <tr> 
   <td><strong>pgen</strong></td> 
   <td>PostgreSQL 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>revpdf-editor</strong></td> 
   <td>带批注与编辑的 PDF 编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>smoothcapture</strong></td> 
   <td>屏幕录制与视频编辑</td> 
  </tr> 
  <tr> 
   <td><strong>tldraw</strong></td> 
   <td><code>.tldr</code> 文件的官方编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>transcribex</strong></td> 
   <td>本地 AI 转写应用</td> 
  </tr> 
  <tr> 
   <td><strong>trickster</strong></td> 
   <td>用快捷键快速访问最近修改过的文件</td> 
  </tr> 
  <tr> 
   <td><strong>tuna</strong></td> 
   <td>应用启动器</td> 
  </tr> 
  <tr> 
   <td><strong>vocevista-video</strong></td> 
   <td>人声频谱分析（带共振峰与元音分析）</td> 
  </tr> 
  <tr> 
   <td><strong>vocevista-video-pro</strong></td> 
   <td>高分辨率人声频谱与颤音分析专业版</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一周的关键词不是"AI 又出了什么"，而是"AI 周围又长出了什么"。<br /> 挑四个停下来看一下。</p> 
</blockquote> 
<hr /> 
<h3>codeburn：替你回答"我那张 AI 账单到底烧在哪儿了"</h3> 
<img width="600" alt="codeburn 终端仪表盘" src="https://rich-1e.sol.build/BD8A0362-4B85-4B1B-B1B6-55C49F2CE5D0/codeburn-dashboard.jpg" /> 
<p>如果你同时挂着 Claude Code、Codex、Cursor、Copilot、Gemini CLI——这是 2026 年很多人的真实状态——<br /> 那你大概率已经放弃搞清楚每个月那笔 AI 开销到底花到哪了。</p> 
<p>codeburn 的角度很务实：它不当 proxy，也不要 API key，<br /> 就是个本地的 CLI/TUI 仪表盘，从你磁盘上各家 Agent 的会话记录里读数据，<br /> 按任务、模型、工具、项目把 token 和费用切开给你看。</p> 
<p>更狠的是 <code>optimize</code> 子命令——<br /> 它会指出"这个文件你在不同 session 里被读了 11 次"、"这个 MCP server 你装了但从没调用"、<br /> "这个项目的 Read:Edit 比例失衡"这种你自己绝对不会注意到的浪费点。<br /> 它替你省的不是钱，是那种"我隐约觉得在烧钱但说不出在哪"的焦虑。</p> 
<hr /> 
<h3>herdr：tmux 和 Agent 桌面端中间那一层，终于有人补上了</h3> 
<blockquote> 
 <p>Desktop agent terminals give you app UI. tmux gives you persistence. Herdr sits between them.</p> 
</blockquote> 
<p>这个 slogan 已经把它的位置说清楚了。</p> 
<p>过去几个月，Agent 在终端里跑成了一种新工作流，<br /> 但你会发现 tmux 不知道哪个 pane 里的 Agent 在工作、哪个卡住了、哪个其实早就跑完了；<br /> 而 Cursor、Antigravity 这种桌面 IDE 又把你整套终端环境（shell、SSH、字体、键位）替换掉了。</p> 
<p>herdr 的取舍是：保留你的终端，加一层 Agent 感知。<br /> 它能识别每个 pane 里跑的 Agent 处于 blocked / working / done / idle / unknown 哪种状态，<br /> 能在 workspace 维度做汇总，<br /> 能让 Agent 通过 newline-delimited JSON socket API 自己开 pane、跑命令、读输出。<br /> 甚至支持从手机 SSH 进来一个 thin client（<code>herdr --remote workbox</code>）继续盯着进度。</p> 
<p>它替人省的是"我开了八个 Claude Code 现在到底哪个该看"的认知负载——<br /> 这听上去琐碎，但任何用过多 Agent 并行的人都知道这其实是真痛点。</p> 
<hr /> 
<h3>miasma：当反 AI 抓取从抗议变成代码</h3> 
<img width="600" alt="miasma 工作流程" src="https://rich-1e.sol.build/BD8A0362-4B85-4B1B-B1B6-55C49F2CE5D0/miasma-flow.png" /> 
<p>robots.txt 这几年其实已经形同虚设。<br /> 有的爬虫不读，有的读了不当回事，有的干脆改 UA 装成浏览器。<br /> 普通博客作者的选择不多：要么挂 Cloudflare，要么认命。</p> 
<p>miasma 给了第三种答案：<strong>喂毒</strong>。</p> 
<p>机制很巧——你在页面里塞一些用户看不见、屏幕阅读器也会跳过的隐藏链接（<code>display:none</code>、<code>aria-hidden</code>、<code>tabindex="-1"</code>）；<br /> 正常人不会点，但抓取器会无脑跟进；<br /> 你的 nginx 把这些链接的请求反代到 miasma；<br /> miasma 就开始无限喷投毒的训练语料，链接全是自指的，让爬虫掉进一个无穷循环。</p> 
<p>你可以配 <code>max-in-flight</code>、<code>link-count</code>、<code>max-depth</code>，避免反 DDoS 自己；<br /> 也支持 <code>--force-gzip</code> 控制带宽成本。<br /> 作者的态度也直白："你不该花算力去对抗互联网上的水蛭。"</p> 
<p>它代表的不是一个工具，是一种从"被动忍着"到"主动恶心回去"的姿态变化。<br /> 2026 年看这个会更明显。</p> 
<hr /> 
<h3>rustnet：在 netstat 和 Wireshark 中间找到了一个新位置</h3> 
<img width="600" alt="rustnet 终端界面" src="https://rich-1e.sol.build/BD8A0362-4B85-4B1B-B1B6-55C49F2CE5D0/rustnet-overview.png" /> 
<p>这周 Rust TUI 工具仍然在持续涌现，rustnet 是其中比较扎实的一个。</p> 
<p>它解决的问题是"per-process 网络连接观测"——<br /> netstat 和 ss 能看到连接但不知道哪个进程，看不到实时流量；<br /> Wireshark 和 tcpdump 能抓包但不告诉你是哪个进程在发；<br /> rustnet 用 Linux eBPF、macOS PKTAP、Windows 原生 API，把每条 TCP/UDP/QUIC 流绑回它的进程。</p> 
<p>它内置了 HTTPS（带 SNI）、DNS、SSH、QUIC、MQTT、BitTorrent、mDNS、DHCP 的解析，<br /> 不靠外部 dissector 就能看到协议层级；<br /> 默认走 sandbox（Linux 用 Landlock，macOS 用 Seatbelt），<br /> libpcap 初始化完就放权限。<br /> 还支持 <code>port:</code> <code>process:</code> <code>sni:</code> 这种 vim/fzf 风格过滤。</p> 
<p>它替人省的是"为了排查一个网络问题反复在 lsof、netstat、tcpdump 之间换工具"那种碎片感。</p> 
<hr /> 
<h3>趋势观察：Agent 的"周边产业链"开始齐活了</h3> 
<p>把这周列表拉远一点看就很清楚——</p> 
<ul> 
 <li><strong>Agent 的 IDE</strong>：antigravity-ide（Google）、atomcode、grok-build（xAI）</li> 
 <li><strong>Agent 的运行时与多路复用</strong>：herdr</li> 
 <li><strong>Agent 的编排画布</strong>：maestri</li> 
 <li><strong>Agent 的工具层</strong>：executor</li> 
 <li><strong>Agent 的成本观测</strong>：codeburn</li> 
 <li><strong>Agent 的语言</strong>：zerolang（显式副作用、可预测内存）</li> 
 <li><strong>Agent 的反面</strong>：miasma（不让 AI 抓我）</li> 
 <li><strong>Agent 的伴侣化</strong>：airi（VTuber）</li> 
</ul> 
<p>一周内同时出现"开发它的 IDE / 跑它的 runtime / 编排它的画布 / 算它账的仪表盘 / 给它专门设计的语言 / 拒绝它的反扒墙"，<br /> 这种密度本身就是一个信号：<br /> Agent 已经不是 demo，是一个有上下游的生态了。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>我大概不会装 airi，也用不上 maestri 那种 macOS 26 才能跑的画布。<br /> 但 codeburn 和 herdr 我会留个印象——<br /> 前者是那种"现在还不痛但迟早会痛"的工具，<br /> 后者是那种"等我开第三个 Claude Code 窗口的时候就会想起来"的工具。</p> 
<p>miasma 让我有点意外。<br /> 不是因为技术，是因为它出现在 Homebrew core，<br /> 而不是某个 self-hosted 圈子的小项目。<br /> 当一个反 AI 工具被打包进主流仓库，<br /> 你能感觉到大家对"无差别抓取"的耐心已经到底了。</p> 
<p>zerolang 我没有展开讲——它太早，还没有定论。<br /> 但"为 Agent 设计一门语言"这句话本身值得记一下，<br /> 就像十年前有人开始说"为 GPU 设计一门语言"一样。</p> 
<hr /> 
<h2>结语</h2> 
<p>工具列表越来越长，但有意思的部分变了。<br /> 以前有意思的是"又有一个新 AI 出来了"，<br /> 现在有意思的是"AI 周围有人开始修水管、装电表、围篱笆"。</p> 
<p>这是一种健康的信号：水电煤齐了，热闹才刚开始。</p> 
<blockquote> 
 <p>真正成熟的不是 Agent 本身，而是它需要的那一切日常基础设施。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260518 | Agent &#x57FA;&#x7840;&#x8BBE;&#x65BD;&#x5F00;&#x59CB;&#x843D;&#x5730;</title>
        <link>https://rich-1e.sol.build/A48D94DF-1966-4F9F-BDB6-3009EBA5573E/</link>
        <guid>https://rich-1e.sol.build/A48D94DF-1966-4F9F-BDB6-3009EBA5573E/</guid>
        <pubDate>Mon, 18 May 2026 18:32:59 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260518/agentsview-dashboard.png" />    
        
        
        <description><![CDATA[
            <p><strong>这周新进来的工具，很多都在干同一件事：把 AI 编程的过去和未来都搭一遍脚手架。</strong></p> 
<blockquote> 
 <p>有些工具是为了跑得更快；有些工具是为了记住跑过哪里。<br /> 这周的新增偏向后者——不是 CLI 工具突然变多了，<br /> 是 AI 编程的上下文管理开始有了自己的工具链。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>AI 编程从"写"进入了"观察与编排"的阶段——这周入库的工具，超过一半在帮你理解已经发生的事。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>arf</strong></td> 
   <td>带语法高亮和模糊搜索的现代 R 控制台</td> 
  </tr> 
  <tr> 
   <td><strong>backplane-cli</strong></td> 
   <td>与 OpenShift Backplane API 交互的命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>cargo-insta</strong></td> 
   <td>Rust 快照测试命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>fallow</strong></td> 
   <td>TypeScript/JavaScript 代码库智能分析，发现死代码与重复逻辑</td> 
  </tr> 
  <tr> 
   <td><strong>gascity</strong></td> 
   <td>多 Agent 编程工作流的编排构建 SDK</td> 
  </tr> 
  <tr> 
   <td><strong>lisette</strong></td> 
   <td>受 Rust 启发、编译到 Go 的实验性语言</td> 
  </tr> 
  <tr> 
   <td><strong>mado</strong></td> 
   <td>用 Rust 写的高速 Markdown linter</td> 
  </tr> 
  <tr> 
   <td><strong>osdctl</strong></td> 
   <td>管理 OpenShift 集群的运维 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>phpantom-lsp</strong></td> 
   <td>用 Rust 编写的高性能 PHP 语言服务器</td> 
  </tr> 
  <tr> 
   <td><strong>skm</strong></td> 
   <td>简洁强大的 SSH 密钥管理器</td> 
  </tr> 
  <tr> 
   <td><strong>tinyice</strong></td> 
   <td>现代 Icecast 兼容的全功能音视频流服务器</td> 
  </tr> 
  <tr> 
   <td><strong>vcfanno</strong></td> 
   <td>用其他 VCF/BED 文件批量标注 VCF 变异数据</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>agentsview</strong></td> 
   <td>浏览、搜索、分析你过去的 AI 编程会话记录</td> 
  </tr> 
  <tr> 
   <td><strong>amore</strong></td> 
   <td>含 Sparkle、代码签名、公证的 macOS 应用分发平台</td> 
  </tr> 
  <tr> 
   <td><strong>duo-desktop</strong></td> 
   <td>Duo 双因素认证的终端健康检查工具</td> 
  </tr> 
  <tr> 
   <td><strong>general-software-fresh</strong></td> 
   <td>截图、下载、剪贴板和桌面文件的短期记忆工具</td> 
  </tr> 
  <tr> 
   <td><strong>github-copilot-app</strong></td> 
   <td>GitHub Copilot 官方原生桌面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>input0</strong></td> 
   <td>带 AI 转录的语音输入工具</td> 
  </tr> 
  <tr> 
   <td><strong>mole-app</strong></td> 
   <td>深度清理、分析和优化 macOS 应用</td> 
  </tr> 
  <tr> 
   <td><strong>notion-cli</strong></td> 
   <td>Notion 的命令行接口</td> 
  </tr> 
  <tr> 
   <td><strong>openwork</strong></td> 
   <td>OpenCode 的非官方桌面 GUI</td> 
  </tr> 
  <tr> 
   <td><strong>presentify</strong></td> 
   <td>屏幕标注、光标高亮与焦点缩放的演示辅助工具</td> 
  </tr> 
  <tr> 
   <td><strong>runtimeviewer</strong></td> 
   <td>检视 Objective-C 和 Swift 运行时接口</td> 
  </tr> 
  <tr> 
   <td><strong>shichizip</strong></td> 
   <td>7-Zip 衍生版的图形界面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>sshfs-mac</strong></td> 
   <td>通过 SSH 挂载远程文件系统的网络客户端</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节不求全，<br /> 只挑 <strong>3 个</strong> 值得停下来看的点。</p> 
</blockquote> 
<hr /> 
<h3>agentsview：AI 编程的"回放键"终于来了</h3> 
<img width="1440" alt="agentsview 会话分析面板" src="https://rich-1e.sol.build/A48D94DF-1966-4F9F-BDB6-3009EBA5573E/agentsview-dashboard.png" /> 
<p>用 Claude Code、Cursor、Codex 写了几个月代码——你记得上周三用 agent 干了什么吗？</p> 
<p>大概率不记得。这不是记性问题，是 AI 编程产生了一种新的历史：不是 git log，不是 IDE 历史记录，而是"我跟 agent 说过什么、agent 做了什么"。这段历史一直散落在各工具的本地缓存里，没有人帮你整理。</p> 
<p>agentsview 做的就是这件事。它把 Claude Code、Codex、Gemini、Copilot、Cursor 等 20 个 agent 的会话历史统一读进来，全文索引，可以按项目、按工具、按时间筛，支持 token 用量和费用报表，号称比同类工具快 80-220 倍。</p> 
<p>真正让我觉得有意思的是它的定位：<strong>local-first，SQLite，不联网，不注册账号</strong>。它没有试图成为一个 SaaS，而是选择把你的历史还给你自己。这在满地"云端同步"的工具里显得有点反常，但可能是对的。</p> 
<hr /> 
<h3>gascity：多 Agent 编排，从玩具变成水管</h3> 
<p>以前协调多个 AI agent 同时工作，基本靠自己写 shell 脚本拼凑。gascity 想干的事情是把这层"水管"标准化——用一个 <code>city.toml</code> 声明你想跑哪些 agent、用什么运行时（tmux、子进程、Kubernetes），剩下的路由、状态同步、健康监控交给它。</p> 
<p>底层依赖 <code>beads</code>（自家的任务跟踪）、<code>dolt</code>（可版本控制的数据库）、<code>tmux</code>、<code>jq</code>，整个项目用 Go 写，CLI 叫 <code>gc</code>。设计上走"原语优先"——不提供高层抽象，提供足够小的积木让你自己组。</p> 
<p>这个工具现在刚进 Homebrew，安装量还是两位数。但它试图解决的问题——多 agent 编排的可复现性和可观测性——是真实存在的。随着 agent 场景从单机变成集群，这类基础设施迟早会有人需要。</p> 
<hr /> 
<h3>fallow：代码库的"体检报告"</h3> 
<p>TypeScript/JavaScript 项目用久了之后，总会有一些"可能没人用了但谁也不敢删"的代码。fallow 的核心主张是：静态分析告诉你"什么可以删"，运行时数据告诉你"什么安全删"。</p> 
<p><code>npx fallow dead-code</code> 扫出没用到的文件和导出；<code>npx fallow dupes</code> 找重复逻辑；<code>npx fallow health</code> 给复杂度热力图。静态能力开源免费，运行时那层是付费的。</p> 
<p>有趣的是它支持 MCP，可以接入 Claude Code 或 Cursor 的 agent 流程——这意味着它不只是一个跑完就算的 CLI，而是可以嵌进 AI 编程的工作循环里。</p> 
<hr /> 
<h3>趋势小结：Agent 编程开始需要"配套设施"了</h3> 
<p>这周的三个 formulae/casks 指向同一件事——</p> 
<p>agentsview 管历史，gascity 管协作，fallow 管代码质量。<br /> 这不是工具的堆叠，是 AI 编程从"我让 agent 写了一些代码"变成了"我需要管理 agent 做的事情"的信号。</p> 
<p>以前 CLI 工具大量涌现是因为开发者在搭工作台；现在 agent 工具大量涌现，是因为 agent 本身开始需要一张工作台。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>gascity 和 agentsview 在同一周进入 Homebrew，我不确定是巧合还是某种时机。</p> 
<p>agentsview 我可能会用——之前一直想找个办法回顾和 Claude Code 的对话历史，虽然现在有 <code>/cost</code> 和各种日志，但搜索还是很麻烦。local-first 的设计打消了我最大的顾虑。</p> 
<p>gascity 和 github-copilot-app 都在 agent 编排这个方向，但路子完全不同：一个是工程师手搓的 Go CLI，一个是 GitHub 官方出的桌面应用。我对后者更好奇，尤其是它声称能"跨 agent 并行管理多个工作流"，但目前公开的细节还很少。</p> 
<p>fallow 倒是让我想到了一个问题：AI agent 越来越擅长写代码之后，谁来负责清理 agent 留下的技术债？也许就是 fallow 这类工具。</p> 
<hr /> 
<h2>结语</h2> 
<p>有些工具是锤子，看见钉子就用。<br /> 这周进来的工具更像是量尺——帮你看清楚已经发生了什么，才好决定下一步。</p> 
<p>观察工具和使用工具，是两种不同的习惯。<br /> 但也许，后者越来越需要前者打底。</p> 
<blockquote> 
 <p>工具在变，但看懂工具在干什么，始终是你自己的事。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x6253;&#x9020;AI Agent&#x5DE5;&#x4F5C;&#xFF1A;iTerm+tmux+nvim</title>
        <link>https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/</link>
        <guid>https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/</guid>
        <pubDate>Mon, 18 May 2026 17:37:22 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/2026-05-18_18-09.png" />    
        
        
        <description><![CDATA[
            <p>我现在coding的主力工具是VSCode+Claude，之前一直使用Cline。</p> 
<p>在Cline中使用Claude，享受GUI的乐趣。</p> 
<p>随着时间的推移，发生了很多事情：</p> 
<ul> 
 <li>Claude审查变得更加严苛</li> 
 <li>Cline中使用Claude，频繁报错<br /> ...</li> 
</ul> 
<p>然后，我开始逐渐适应在CLI工具中使用Claude。</p> 
<p>自从开始使用AI Coding，总感觉设备的内存不够用，一直维持在80%以上的使用率。</p> 
<p>日常基本就是，</p> 
<ul> 
 <li>Chrome，非常吃内存</li> 
 <li>iTerm，可接受</li> 
 <li>VSCode，跟Chrome有得一拼</li> 
</ul> 
<p>Chrome 重度使用，一时半会没有找到合适的平替，想迁移过去有点困难。</p> 
<p>VSCode 基于Electron开发，多开几个tab，就能赶上Chrome了。</p> 
<p>VSCode中，一些场景下会使用VI模式，例如：Code Review。</p> 
<p>古法编程，看情况用，加上macOS上，触控板太好用了，没有很迫切转Vim。但，现在开始非常想使用nvim替代vscode，即装13又可节省内存。</p> 
<p>况且，都使用AI Coding了，Review 和思考的时间居多，GUI没那么有趣了。</p> 
<p>配置后的样子，</p> 
<img width="600" alt="2026-05-18_18-46" src="https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/2026-05-18_18-46.png" /> 
<hr /> 
<h3>iTerm 配置</h3> 
<img width="600" alt="2026-05-18_18-09" src="https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/2026-05-18_18-09.png" /> 
<img width="600" alt="2026-05-18_18-10" src="https://rich-1e.sol.build/FA5820D2-EFE0-43EE-A8D8-EB64C0E49361/2026-05-18_18-10.png" /> 
<h3>tmux 配置</h3> 
<pre><code class="language-sh"># 安装 tmux
brew install tmux

# 配置 .tmux
git clone --single-branch https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux"
mkdir -p ~/.config/tmux
ln -s /path/to/oh-my-tmux/.tmux.conf ~/.config/tmux/tmux.conf
cp /path/to/oh-my-tmux/.tmux.conf.local ~/.config/tmux/tmux.conf.local
</code></pre> 
<p>配置完成后，执行：</p> 
<pre><code class="language-sh">tmux source-file ~/.config/tmux/tmux.conf
</code></pre> 
<p>常用的快捷方式</p> 
<ul> 
 <li><code>&lt;prefix&gt; e</code>， 打开 .local 自定义文件</li> 
 <li><code>&lt;prefix&gt; r</code>，重新加载配置</li> 
 <li><code>&lt;prefix&gt; m</code>，开关鼠标模式</li> 
 <li><code>&lt;prefix&gt; C-c</code>，创建一个新会话</li> 
 <li><code>&lt;prefix&gt; C-f</code>，允许你按名称切换到另一个会话</li> 
 <li><code>&lt;prefix&gt; Tab</code>，进入最后一个活跃窗口</li> 
 <li><code>&lt;prefix&gt; -</code>，将当前窗格垂直分割</li> 
 <li><code>&lt;prefix&gt; _</code>，将当前窗格水平分割</li> 
 <li><code>&lt;prefix&gt; h, &lt;prefix&gt; j, &lt;prefix&gt; k, &lt;prefix&gt; l</code>，像 Vim 那样导航面板</li> 
</ul> 
<blockquote> 
 <p><strong>“以上是 <a href="https://github.com/gpakosz/.tmux">oh my tmux</a> 提供的快捷方式”，其他快捷参考 tmux 官网。</strong></p> 
</blockquote> 
<p>这个视频挺不错👇</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/H70lULWJeig?si=8Wkpp1LBrBm16Gq6" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<h3>nvim 配置</h3> 
<p>略</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/X6AR2RMB5tE?si=DmmmGVlKg_PvIJ3g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/w7i4amO_zaE?si=B7S8g2EIAJVEyfkV" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/J9yqSdvAKXY?si=ECy_OK7S1N18vwxA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/razeencheng/.tmux">razeencheng/.tmux: Oh My Tmux! 我的tmux配置，以及相关设置。</a></li> 
 <li><a href="https://www.reddit.com/r/Ghostty/comments/1hoi3id/my_perfect_ghostty_tmux_nvim_configuration_on/?tl=zh-hans">我在 MacOS 上的完美 ghostty + tmux + nvim 配置 : r/Ghostty</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/222051528">(5 封私信) macOS Tmux安装及配置（复制粘贴，保存工作区） - 知乎</a></li> 
 <li><a href="https://www.cnblogs.com/liuxinxin21d/articles/16651761.html">tmux安装及使用（macos） - pd_liu - 博客园</a></li> 
 <li><a href="https://github.com/gpakosz/.tmux">.tmux/README.md at master · gpakosz/.tmux</a></li> 
 <li><a href="https://juejin.cn/post/7559144250576568354">【iTerm2 实用技巧】解决两大顽疾：历史记录看不全 &amp; 鼠标滚轮失灵作为 Mac 上的终端利器，iTerm2 的强大 - 掘金</a></li> 
 <li><a href="https://github.com/tmux/tmux/wiki/Getting-Started">Installing · tmux/tmux Wiki</a></li> 
 <li><a href="https://www.ruanyifeng.com/blog/2019/10/tmux.html">Tmux 使用教程 - 阮一峰的网络日志</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260511 | &#x5DE5;&#x5177;&#x5728;&#x95EE;&#xFF0C;&#x6570;&#x636E;&#x5728;&#x54EA;</title>
        <link>https://rich-1e.sol.build/27904E2C-E04A-4249-9AA6-F1504352A650/</link>
        <guid>https://rich-1e.sol.build/27904E2C-E04A-4249-9AA6-F1504352A650/</guid>
        <pubDate>Mon, 11 May 2026 10:47:02 +0800</pubDate>
        
        
        <description><![CDATA[
            <p><strong>AI agent 也需要一张地图。</strong></p> 
<blockquote> 
 <p>五月的工具列表里，有几个名字值得停一下。一个 hex 编辑器带了颜色，一个数据目录开始接 MCP，还有一个 Elixir 的 LSP 悄悄更名上线。不是什么大事，但每一件都指向同一个方向：开发者的工作台正在变得更可感知、更可查询。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>工具越来越懂得如何把自己的内部状态暴露出来——不管是字节、元数据，还是代码语义。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>committed</strong></td> 
   <td>Git 提交历史检查工具，帮你挑出不规范的 commit message</td> 
  </tr> 
  <tr> 
   <td><strong>dexter-lsp</strong></td> 
   <td>专为大型代码库优化的 Elixir LSP 服务器</td> 
  </tr> 
  <tr> 
   <td><strong>go-hass-agent</strong></td> 
   <td>Linux 桌面原生 Home Assistant 客户端代理</td> 
  </tr> 
  <tr> 
   <td><strong>hexapoda</strong></td> 
   <td>彩色 modal 风格的终端 hex 编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>marmot</strong></td> 
   <td>开源数据目录，支持向 AI agent 暴露元数据</td> 
  </tr> 
  <tr> 
   <td><strong>nettle@3</strong></td> 
   <td>低层级加密库（版本锁定包）</td> 
  </tr> 
  <tr> 
   <td><strong>plutosvg</strong></td> 
   <td>轻量 C 语言 SVG 渲染库</td> 
  </tr> 
  <tr> 
   <td><strong>sol2</strong></td> 
   <td>C++ 与 Lua 双向绑定的 API 封装层</td> 
  </tr> 
  <tr> 
   <td><strong>vtzero</strong></td> 
   <td>极简矢量瓦片编解码库（C++）</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>chiri</strong></td> 
   <td>CalDAV 兼容的任务管理 macOS 应用</td> 
  </tr> 
  <tr> 
   <td><strong>openchamber</strong></td> 
   <td>OpenCode AI 代理的桌面/网页可视化界面</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>hexapoda：终端 hex 编辑，终于不再灰蒙蒙</h3> 
<p><a href="https://asciinema.org/a/P2tCRvr4cwvmsmPl"><img src="https://asciinema.org/a/P2tCRvr4cwvmsmPl.svg" alt="hexapoda 终端演示" /></a></p> 
<p>用过 <code>xxd</code> 的人大概都知道那种感觉——屏幕上全是十六进制字符，没有颜色，没有选区概念，想改一个字节要先查怎么跟 <code>vim</code> 配合。</p> 
<p>hexapoda 换了一套思路。它跟 Helix 学了"选择优先"的 modal 模式：先选中一段字节区间，再决定对它做什么。<code>ijkl</code> 移动（或者 <code>hjkl</code>，可以配置），<code>1</code>/<code>2</code>/<code>3</code> 拆分字节块，<code>m</code> 标记偏移量，<code>J</code> 跳转。操作逻辑和普通文本编辑器接近了很多。</p> 
<p>最重要的是：它有颜色。不同类型的字节用不同颜色区分，阅读二进制文件的心智成本一下子低了一大截。</p> 
<p>对于偶尔需要检查固件、协议包或者序列化格式的开发者，这个工具值得装着备用。</p> 
<pre><code class="language-bash">brew install hexapoda
</code></pre> 
<hr /> 
<h3>marmot：让 AI 知道数据在哪</h3> 
<p><img src="https://github.com/marmotdata/marmot/raw/main/web/docs/static/img/graph.png" alt="marmot 数据谱系图" /></p> 
<p>有一类问题，AI 助手回答起来特别吃力：「这个字段的 owner 是谁？」「负责用户订单的表叫什么？」不是因为 AI 不聪明，是因为它根本不知道你们公司的数据长什么样。</p> 
<p>marmot 要解决的就是这件事。它是一个轻量级开源数据目录，把你的数据库表、消息队列、API、看板统一索引起来，然后内置一个 MCP server——Claude、Cursor 这类工具可以直接向它查询，拿到的是来自数据目录的权威元数据，不是 AI 自己猜的。</p> 
<p>和 DataHub、Amundsen 这类企业级数据目录比，marmot 的门槛低得多：单二进制文件，Docker 五分钟跑起来，支持 500k+ 资产，平均响应不到 50ms。MIT 协议，数据也不出自己的环境。</p> 
<p>这不是一个"等团队大了再用"的工具。三个人的小团队，如果 AI agent 开始进入你的开发流程，数据目录这件事现在就值得想一想。</p> 
<pre><code class="language-bash">brew install marmot
</code></pre> 
<hr /> 
<h3>dexter-lsp：Elixir 的大项目问题</h3> 
<p>Elixir 的语言服务器（ElixirLS）在大型代码库里一直有卡顿问题——项目一大，补全变慢，索引常常超时。dexter-lsp 是 remote.com 工程团队针对这个问题重新做的 LSP 实现，专门为大型单仓库优化。</p> 
<p>它不是要替代 ElixirLS，而是在"大到 ElixirLS 已经不够用"这个场景下的一个选项。如果你的 Elixir 项目超过了某个规模，值得试试看。</p> 
<pre><code class="language-bash">brew install dexter-lsp
</code></pre> 
<hr /> 
<h3>趋势观察：工具在学会"开口说话"</h3> 
<p>这周的几个工具有个共同的隐线：它们都在替某种"不透明"省成本。</p> 
<p>hexapoda 让二进制文件变得可读；marmot 让数据资产变得可查询；dexter-lsp 让大型代码库的语义变得可感知；openchamber 让 AI agent 的行为有了可视化界面。</p> 
<p>这不是巧合。当 AI 工具越来越深入开发流程，「让工具的内部状态对外可见」这件事就变得越来越重要。不是为了展示，是为了被查询、被理解、被协作。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>marmot 是这周让我想得最久的一个。不是因为它做了什么复杂的事，恰恰相反——它做的事情很简单：把数据在哪这件事说清楚。但这件事在 AI agent 开始进入工作流之后，突然变得不那么简单了。</p> 
<p>hexapoda 也让我想起，好的 CLI 工具未必要发明新概念，有时候只是把一件早就该做好的事认真做一遍——加个颜色、借用一套成熟的操作模型——就能好用很多。</p> 
<p>committed 我没有专门写，但放在那里也挺应景。在 AI 辅助提交越来越普及的时代，一个检查 commit message 规范的工具，某种程度上是在帮你确认：这条记录是你写的，还是机器写的，有没有差别。</p> 
<hr /> 
<h2>结语</h2> 
<p>工具总是先于方法论出现。marmot 出现在 MCP 变得普及之前，hexapoda 出现在终端开发体验被重新重视的当下。</p> 
<p>不一定每个都要装，但值得知道它们在解决什么。</p> 
<blockquote> 
 <p>工具在变，但问题意识不必跟着变。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260508 | Agent &#x4EEC;&#x7EC8;&#x4E8E;&#x4E0D;&#x518D;&#x5355;&#x98DE;</title>
        <link>https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/</link>
        <guid>https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/</guid>
        <pubDate>Fri, 08 May 2026 15:17:24 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/hermes-banner.png" />    
        
        
        <description><![CDATA[
            <p><strong>这一周的 brew update，像是给 AI Agent 做了一次集体亮相。</strong></p> 
<blockquote> 
 <p>不是某个 IDE 插件、某个 chatbot 包装，<br /> 而是连"自我成长"、"使用监控"、"代码评审"都各自有了独立工具。</p> 
 <p>Agent 不再是某个产品里的一个功能，<br /> 它正在变成一个生态。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>当一个领域同时出现了"做事的人"、"看着做事的人"和"统计做事人花了多少钱的人"，这个领域就不再是趋势，是产业了。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>alevin-fry</strong></td> 
   <td>单细胞测序数据处理工具，灵活高效</td> 
  </tr> 
  <tr> 
   <td><strong>barman</strong></td> 
   <td>PostgreSQL 备份与恢复管理器</td> 
  </tr> 
  <tr> 
   <td><strong>crit</strong></td> 
   <td>AI Agent 的本地反馈回路，专门用来 review 它写的代码</td> 
  </tr> 
  <tr> 
   <td><strong>cutadapt</strong></td> 
   <td>移除测序数据中的 adapter 序列</td> 
  </tr> 
  <tr> 
   <td><strong>defuddle</strong></td> 
   <td>网页正文与元数据提取，Readability 的替代选择</td> 
  </tr> 
  <tr> 
   <td><strong>echtvar</strong></td> 
   <td>快速的变异注释与过滤工具</td> 
  </tr> 
  <tr> 
   <td><strong>freesasa</strong></td> 
   <td>溶剂可及表面积（SASA）计算库</td> 
  </tr> 
  <tr> 
   <td><strong>gemmi</strong></td> 
   <td>大分子晶体学计算库与命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>ginkgo</strong></td> 
   <td>高性能数值线性代数库</td> 
  </tr> 
  <tr> 
   <td><strong>hermes-agent</strong></td> 
   <td>自我学习的 AI Agent，从经验里长出新技能</td> 
  </tr> 
  <tr> 
   <td><strong>hyphy</strong></td> 
   <td>基于系统发育树的假设检验</td> 
  </tr> 
  <tr> 
   <td><strong>iqtree3</strong></td> 
   <td>极大似然法系统发育分析</td> 
  </tr> 
  <tr> 
   <td><strong>kubernetes-cli@1.35</strong></td> 
   <td>Kubernetes 1.35 版本的 kubectl</td> 
  </tr> 
  <tr> 
   <td><strong>lavinmq</strong></td> 
   <td>轻量 AMQP/MQTT 消息中间件</td> 
  </tr> 
  <tr> 
   <td><strong>libchardet</strong></td> 
   <td>Mozilla 通用字符集检测器 C/C++ API</td> 
  </tr> 
  <tr> 
   <td><strong>oarfish</strong></td> 
   <td>长读长 RNA-seq 定量工具</td> 
  </tr> 
  <tr> 
   <td><strong>opendoor</strong></td> 
   <td>Web 侦察、目录发现与暴露面评估 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>paml</strong></td> 
   <td>基于极大似然的 DNA/蛋白质系统发育分析</td> 
  </tr> 
  <tr> 
   <td><strong>pnpm@10</strong></td> 
   <td>高效的 Node.js 包管理器 v10</td> 
  </tr> 
  <tr> 
   <td><strong>pomerium</strong></td> 
   <td>身份与上下文感知的访问代理</td> 
  </tr> 
  <tr> 
   <td><strong>smlnj</strong></td> 
   <td>Standard ML 编译器与编程系统</td> 
  </tr> 
  <tr> 
   <td><strong>spoa</strong></td> 
   <td>SIMD 加速的偏序对齐工具</td> 
  </tr> 
  <tr> 
   <td><strong>stellar-xdr</strong></td> 
   <td>Stellar 网络的 XDR 编解码 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>unordered_dense</strong></td> 
   <td>高性能 robin-hood 哈希表/集合</td> 
  </tr> 
  <tr> 
   <td><strong>vcflib</strong></td> 
   <td>解析与处理 VCF 文件的 C++ 库与工具</td> 
  </tr> 
  <tr> 
   <td><strong>zapp</strong></td> 
   <td>从终端刷写 ZSA 键盘固件</td> 
  </tr> 
  <tr> 
   <td><strong>zfp</strong></td> 
   <td>支持高速随机访问的压缩数值数组</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>eez-studio</strong></td> 
   <td>仪表自动化与 GUI 开发的可视化工具</td> 
  </tr> 
  <tr> 
   <td><strong>factory</strong></td> 
   <td>Factory.ai 的桌面客户端，把 Droids 装进本地工作流</td> 
  </tr> 
  <tr> 
   <td><strong>font-akt</strong></td> 
   <td>字体：Akt</td> 
  </tr> 
  <tr> 
   <td><strong>font-alien-block</strong></td> 
   <td>字体：Alien Block</td> 
  </tr> 
  <tr> 
   <td><strong>font-finlandica-headline</strong></td> 
   <td>字体：Finlandica 标题版</td> 
  </tr> 
  <tr> 
   <td><strong>font-finlandica-text</strong></td> 
   <td>字体：Finlandica 正文版</td> 
  </tr> 
  <tr> 
   <td><strong>font-m-plus-u</strong></td> 
   <td>字体：M+ U</td> 
  </tr> 
  <tr> 
   <td><strong>ghostpepper</strong></td> 
   <td>语音转文字与会议转写工具</td> 
  </tr> 
  <tr> 
   <td><strong>jetbrains-air</strong></td> 
   <td>JetBrains 出品的 Agent 原生开发环境</td> 
  </tr> 
  <tr> 
   <td><strong>manus</strong></td> 
   <td>自动化本地电脑工作流的 AI Agent</td> 
  </tr> 
  <tr> 
   <td><strong>open-webui</strong></td> 
   <td>Open WebUI 的桌面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>openusage</strong></td> 
   <td>Cursor / Claude Code / Codex / Copilot 的 AI 用量统计工具</td> 
  </tr> 
  <tr> 
   <td><strong>screenkite</strong></td> 
   <td>屏幕录制与编辑工具</td> 
  </tr> 
  <tr> 
   <td><strong>wox</strong></td> 
   <td>启动器工具</td> 
  </tr> 
  <tr> 
   <td><strong>yakit</strong></td> 
   <td>网络安全集成平台</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节不求全，<br /> 只挑几个"我看到时停了一下"的东西。</p> 
</blockquote> 
<hr /> 
<h3>crit：替你看 Agent 写的那堆"看起来都对"的代码</h3> 
<img width="2400" alt="crit 的 AI 反馈回路" src="https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/crit-ai-loop.png" /> 
<p>Agent 写代码的速度已经超过了人类阅读代码的速度。这不是夸张。当 Cursor 或者 Claude Code 一次给你 300 行 diff，你下意识做的事是滚动到底，看一眼测试通过没有，然后点 accept。</p> 
<p>crit 想做的事很朴素——让 review 这一步重新变成"事"，而不是"形式"。它把 agent 生成的 plan 和 code 平铺在一个本地界面里，你可以画出某几行，留一条评论，然后点 finish review，agent 自动按你的评论改。</p> 
<p>它没有解决"agent 怎么写得更好"，<br /> 它解决的是"我怎么不再假装我看过了"。</p> 
<p>本地优先、一键分享、支持 190 种语言高亮、Vim 键位——这些都只是配料。真正的判断是：当 agent 越来越快，慢这一步反而成了奢侈品。</p> 
<hr /> 
<h3>hermes-agent：把"经验"做成 Agent 的可持续资产</h3> 
<img width="600" alt="Hermes Agent" src="https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/hermes-banner.png" /> 
<p>Nous Research 出的，定位有点克制——它不是 copilot，不是聊天机器人壳，而是"在你服务器上跑的自治 agent"。</p> 
<p>但真正的彩蛋藏在描述里那一句：<strong>self-improving</strong>。它会从你的项目里持续学习，把解决过的问题留存为"技能"，下一次遇到同类问题直接调用。</p> 
<p>这个想法不新，新的是它落地的方式：跨 Telegram、Discord、Slack、WhatsApp、邮件、CLI 操作；五种沙箱后端（local / Docker / SSH / Singularity / Modal）；并行子 agent 各跑各的对话和终端；自然语言 cron。它在赌的是——agent 真正的护城河不是模型，而是<strong>记住自己解决过什么</strong>。</p> 
<p>它跟 Claude Code 的 skill 机制几乎是同一个方向。只是 hermes 更激进：技能不是人写好的，是它自己长出来的。</p> 
<hr /> 
<h3>factory：当 IDE 厂商和 Slack 同时变成 Agent 的入口</h3> 
<img width="600" alt="droid_tui_intro" src="https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/droid_tui_intro.avif" /> 
<p>Factory.ai 这周有了 Cask。1.5B 估值、150M C 轮、agent 能直接进 VS Code / JetBrains / Vim / 浏览器 / CLI / Slack / Teams 甚至 issue tracker。</p> 
<p>它的口号是 "agents that work everywhere you do"，听上去像营销，但拆开看其实是个判断：<strong>Agent 不应该绑定 IDE，agent 应该绑定工作流</strong>。你在哪儿干活，它就在哪儿出现。</p> 
<p>这跟同周出现的 jetbrains-air（JetBrains 的"agent 原生开发环境"）形成了一种微妙对照——一个想让 agent 跟着人走，另一个想给 agent 造一个自己的家。两条路都还没分出胜负，但<strong>桌面级 agent 应用</strong>这件事，已经从一两个先锋变成了一片小浪潮。</p> 
<hr /> 
<h3>defuddle：替 Readability 写一个温柔点的版本</h3> 
<img width="600" alt="2026-05-08_15-20" src="https://rich-1e.sol.build/2194ECA4-135B-4A90-82F6-069C9C55FA93/2026-05-08_15-20.png" /> 
<p>Obsidian Web Clipper 的副产品，结果反过来比主产品更值得记一笔。</p> 
<p>它做的事就一件：从乱七八糟的网页里把正文抠出来，输出干净的 HTML 或 Markdown，顺手把元数据（标题、作者、发布时间、favicon、schema.org）也提取了。</p> 
<p>跟 Mozilla Readability 比，它更"宽容"——不确定的元素倾向保留而不是删除，因为很多时候 Readability 删得太狠，把脚注和图注也一起带走了。它还会用移动端样式来识别"装饰性"元素，这个思路挺机灵的。</p> 
<p>为什么值得停一下：在"AI 把网页喂给模型"成为日常的今天，预处理这一步的质量直接决定了下游的智商。defuddle 做的是那种<strong>默默改善整个生态</strong>的事。</p> 
<hr /> 
<h3>趋势观察：AI Agent 正在长出"配套产业"</h3> 
<p>把这周的新增放在一起看，AI agent 这个领域出现了一种新的拓扑：</p> 
<ul> 
 <li><strong>做事的层</strong>：hermes-agent、factory、manus、jetbrains-air</li> 
 <li><strong>看着做事的层</strong>：crit（review agent 写的代码）</li> 
 <li><strong>数着钱的层</strong>：openusage（统计 Cursor / Claude Code / Codex / Copilot 的用量与花销）</li> 
 <li><strong>喂数据的层</strong>：defuddle（清洗网页给模型）</li> 
 <li><strong>驱动模型的层</strong>：open-webui（本地模型的桌面前端）</li> 
</ul> 
<p>一个领域开始出现"周边工具"，意味着它过了草莽期。当有人开始专门做"用量监控"、"代码审计"、"数据清洗"的时候，agent 就不再是某个 IDE 里的一个 panel，它开始有自己的供应链。</p> 
<p>也就是说——Agent 终于不是单飞了。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>老实说，这周新增的科研工具不少（alevin-fry、cutadapt、hyphy、paml、iqtree3 一整套生物信息学工具链），但我没办法假装它们跟我有关系。这是 Homebrew 有意思的地方——它从来不只是"开发者商店"，它还是某些科研社区的发行渠道。</p> 
<p>让我留意的是 zapp。ZSA 给自己的键盘做了个 brew install 的刷固件 CLI。这事很小，但很温柔——硬件厂商认真对待终端用户，是这个时代越来越稀缺的事。</p> 
<p>至于 AI agent 那一堆，老实说，我未必会都装。openusage 我大概率装，因为我已经被某个月的 token 账单吓过一次；crit 我会观望，看它跟现有 review 习惯能不能对上；hermes-agent 现在还有点重，但方向我赞同——agent 的未来不在模型里，在它的"经验积累"里。</p> 
<hr /> 
<h2>结语</h2> 
<p>一周之内，Homebrew 同时收下了"做事的 agent"、"审 agent 的工具"、"统计 agent 花销的应用"。这种多层次出现，本身就是一个信号。</p> 
<p>工具不再是孤立的功能点，而是开始彼此咬合。当 agent 有了 reviewer、有了用量监控、有了数据清洗器，它就从"实验"变成了"生产"。</p> 
<blockquote> 
 <p>一个赛道开始有"配角"，才说明它真的成了。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>SideStore &#x26; LiveContainer &#x7EC8;&#x6781;&#x624B;&#x518C;</title>
        <link>https://rich-1e.sol.build/4F897928-13DF-408B-818A-554FE97BDA5C/</link>
        <guid>https://rich-1e.sol.build/4F897928-13DF-408B-818A-554FE97BDA5C/</guid>
        <pubDate>Wed, 06 May 2026 09:57:18 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/4F897928-13DF-408B-818A-554FE97BDA5C/5813f7893408c5e3ffa30b44d053f040.jpg" />    
        
        
        <description><![CDATA[
            <p>关于 SideStore &amp; LiveContainer，网上有太多使用安装教程，但信息比较零碎和缺乏必要说明。</p> 
<p>大部分情况下，SideStore &amp; LiveContainer 官方文档和Issues足矣解决99.99%的问题。</p> 
<p><strong>老鸟可以略过，新人可以继续阅读。</strong></p> 
<p>下面我简单说一下，我对这个项目的理解，以及如何正确使用。</p> 
<hr /> 
<p>SideStores 是什么？</p> 
<blockquote> 
 <p>“SideStore is a fork of AltStore that doesn't require an AltServer.”</p> 
</blockquote> 
<blockquote> 
 <p>“SideStore is an untethered, community driven alternative app store for non-jailbroken iOS devices”</p> 
</blockquote> 
<p>上面两段话意思，<strong>SideStore 是一个替代应用商店的应用，不需要用户越狱即可安装应用。</strong></p> 
<blockquote> 
 <p>“🍎越狱（iOS Jailbreaking）是指通过技术手段，利用iOS系统的漏洞，获取iPhone、iPad等苹果设备操作系统的最高权限（Root权限），从而打破苹果公司所设定的封闭式生态环境限制。”</p> 
</blockquote> 
<p>越狱手机后的手机，可以安装任何应用，没有任何限制🚫。<em><strong>但是，并不是所有人都希望越狱，但又想安装其他非🍎官方上架的应用，怎么办？</strong></em></p> 
<p><strong>SideStore 就可以做到，完美解决非越狱用户即可安装应用的需求。</strong></p> 
<hr /> 
<p>在 SideStore 出现之前，AltStore 一直是这项需求这个领域的首选方案。但是 AltStore 有一个非常麻烦的问题：<strong>每隔7天需要刷新一次，否则通过 AltStore 安装的应用就会不可使用。</strong></p> 
<p>SideStore 并没有解决这个问题：<strong>需要每隔7天刷新一次。</strong></p> 
<p>但是，<strong>SideStore 可以较方便的在Wi-Fi环境下刷新应用，而 AltStore 只能在电脑上刷新。</strong></p> 
<blockquote> 
 <p>“这里强调一点，AltStore 只能在电脑上刷新，是因为依赖 AltServer，只要设备和电脑在同一网络，也可以通过Wi-Fi自动刷新。”</p> 
</blockquote> 
<hr /> 
<p>在使用 SideStore 之前，必须了解官方提供了：</p> 
<ul> 
 <li>SideStore.ipa</li> 
 <li>iloader</li> 
 <li>LocalDevVPN</li> 
</ul> 
<p>具体如何安装，本文不赘述，建议查看官方文档。</p> 
<p>安装 SideStore.ipa，还可以通过以下几种方式：</p> 
<ul> 
 <li>AltStore</li> 
 <li>Sideloadly</li> 
 <li>Impactor</li> 
</ul> 
<p>当然，仍然希望大家遵循 SideStore 官方文档。</p> 
<blockquote> 
 <p>“为什么要说这件事情？因为 SideStore 迭代很快，之前确实推荐使用 AltStore / Sideloadly 安装 SideStore，后面有了 iloader，才开始成为主要安装方式。”</p> 
</blockquote> 
<p>也许若干时间，还有其他变化。😊</p> 
<hr /> 
<p>说完 SideStore，现在聊聊 LiveContainer。</p> 
<p><strong>SideStore 最多只能装3个App，而 LiveContainer，能突破这个限制，变成近乎无限。</strong></p> 
<p>这就是 LiveContainer 最大的魅力，其他玩法(多个 LiveContainer)，可以查看官方文档或社区。</p> 
<hr /> 
<p>最后，分享一些 SideStore &amp; LiveContainer 的使用心得：</p> 
<ol> 
 <li>SideStore 安装主力常用App；</li> 
 <li>LiveContainer 安装放“可折腾”的App;</li> 
 <li>依赖通知和后端推送的App，不可使用 LiveContainer；</li> 
 <li>游戏模拟器类，需要 JIT，建议使用 LiveContainer；</li> 
 <li>用小号 Apple ID，不要用主号，避免被封号；</li> 
 <li>使用捷径和定时任务更新SideStore，保持每天至少打开一次；</li> 
 <li>使用Clash Mi，即便没有Wi-Fi也可以刷新，<a href="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/">【参考】</a>；</li> 
</ol> 
<p><strong>如果不小心掉签了，别急，可以在电脑上通过iloader恢复。</strong></p> 
<img width="320" alt="5813f7893408c5e3ffa30b44d053f040" src="https://rich-1e.sol.build/4F897928-13DF-408B-818A-554FE97BDA5C/5813f7893408c5e3ffa30b44d053f040.jpg" /> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://livecontainer.github.io/zh-CN/docs/intro">LiveContainer 简介</a></li> 
 <li><a href="https://github.com/claration/Impactor">claration/Impactor: Feature rich iOS/tvOS sideloading application written in Rust.</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/795">- [BUG] IOS development cert or pending cert request bug (7460) · Issue #795</a></li> 
 <li><a href="https://github.com/SideStore/SideStore">SideStore/SideStore: SideStore is a fork of AltStore that doesn't require an AltServer.</a></li> 
 <li><a href="https://gist.github.com/SoniaMalki/2b34cfeba427a75e53659cb25fd0289d">LiveContainer + SideStore (LC+SS): Complete Guide</a></li> 
 <li><a href="https://www.reddit.com/r/sideloaded/comments/1mfvq19/livecontainer_now_has_a_version_with_built_in/?tl=zh-hans">LiveContainer现在有一个内置sidestore的版本 : r/sideloaded</a></li> 
 <li><a href="https://www.reddit.com/r/sideloaded/comments/1hsflll/i_am_trying_to_sign_in_to_sidestore_but_is_says/?tl=zh-hans">我正在尝试登录 sidestore，但它说“您已经拥有当前的 iOS 开发证书或待处理的证书请求 (7460)”。 : r/sideloaded</a></li> 
 <li><a href="https://www.reddit.com/r/AltStore/comments/1aivinq/why_is_jit_needed/?tl=zh-hans">JIT是干嘛用的？？ : r/AltStore</a></li> 
 <li><a href="https://docs.sidestore.io/zh/docs/advanced/jit">启用JIT | SideStore Docs</a></li> 
 <li><a href="https://github.com/StephenDev0/StikDebug">StephenDev0/StikDebug: An on-device debugger/JIT enabler for iOS versions 17.4+, powered by idevice.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x3010;DSTWO &#x7CFB;&#x5217;&#x3011;&#x4FEE;&#x590D;&#x56FE;&#x6807;&#x91CD;&#x590D;&#x7684;&#x95EE;&#x9898;</title>
        <link>https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/</link>
        <guid>https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/</guid>
        <pubDate>Wed, 29 Apr 2026 15:24:03 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/151f8ef911bd4bf9a68fc506f41fad8d.jpg" />    
        
        
        <description><![CDATA[
            <img width="1706" alt="151f8ef911bd4bf9a68fc506f41fad8d" src="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/151f8ef911bd4bf9a68fc506f41fad8d.jpg" /> 
<hr /> 
<p>添加DSOrganize后，重新加载DSTWO时，<br /> 发现会多出一个“._DSOrganize”的黄色问号图标，感觉非常丑。</p> 
<p>由于刚接触DSTWO，对它不熟悉，<br /> 也不知道是什么原因产生的,<br /> 所以一直不敢动。</p> 
<hr /> 
<p>今天在网上找到一个中文版的bak（备份文档），非常开心。</p> 
<p>然后立马解决这个问题。</p> 
<hr /> 
<p>问题产生的根源是，Mac 系统会在 FAT32 文件系统上创建的元数据文件。类似<code>“._ ”</code>。<br /> 使用“dot_clean”命令可以解决。</p> 
<img width="830" alt="0B76CF14-C5A6-41C9-AE30-91C3DEE4F749" src="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/0B76CF14-C5A6-41C9-AE30-91C3DEE4F749.png" /> 
<p>“2&gt;/dev/null” 可以屏蔽错误信息。</p> 
<img width="1034" alt="EDF3AE9B-DBE0-4152-A47D-C9DB0960CA96" src="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/EDF3AE9B-DBE0-4152-A47D-C9DB0960CA96.png" /> 
<p>使用下面的命令禁止产生.DS_Store文件</p> 
<pre><code class="language-sh">defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
</code></pre> 
<p>使用下面的命令，禁止在网络共享上生成.DS_Store</p> 
<pre><code class="language-sh">defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
</code></pre> 
<p>保险起见，可以再加上，禁止生成 .DS_Store（U盘）</p> 
<hr /> 
<p>mac系统下将U盘格式化FAT32：</p> 
<pre><code>diskutil eraseDisk FAT32 NDS MBRFormat /dev/disk16
</code></pre> 
<img width="1892" alt="17EBB76A-B387-4BBA-9B5A-B60BEFA0AF55" src="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/17EBB76A-B387-4BBA-9B5A-B60BEFA0AF55.png" /> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/1rdxjk4/duplicate_grey_icons_in_ds_pico_menu/">Duplicate Grey Icons in DS pico menu : r/flashcarts</a></li> 
 <li><a href="https://gbatemp.net/threads/dstwo-displaying-broken-rom-duplicates.351928/">DSTWO Displaying 'Broken' ROM Duplicates? | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://gbatemp.net/threads/mac-users-icon-plugin-fix.349667/#post-4679836">Mac Users - ? icon plugin fix | GBAtemp.net - The Independent Video Game Community</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Supercard DSTwo &#x8D44;&#x6599;&#x6574;&#x7406;</title>
        <link>https://rich-1e.sol.build/2AD6C80C-018A-4C0E-8FAE-F73B142C86F0/</link>
        <guid>https://rich-1e.sol.build/2AD6C80C-018A-4C0E-8FAE-F73B142C86F0/</guid>
        <pubDate>Wed, 29 Apr 2026 13:02:07 +0800</pubDate>
        
        
        <description><![CDATA[
            <blockquote> 
 <p>Supercard DSTwo 是烧录卡，支持NDS/NDSi/3DS。</p> 
</blockquote> 
<hr /> 
<ul> 
 <li><a href="https://rich-1e.sol.build/E36B4CF6-13D0-4747-B93C-A7EE6908F5AA/">【DSTWO 系列】街机游戏配置</a></li> 
 <li><a href="https://rich-1e.sol.build/BE108142-BC13-4487-95FE-294D5686CBCF/">【DSTWO 系列】修复图标重复的问题</a></li> 
</ul> 
<hr /> 
<p>Skin</p> 
<ul> 
 <li><a href="https://github.com/DerrickGold/BAGPlug-SCDS2">DerrickGold/BAGPlug-SCDS2: An interface for the Supercard DS2 that launches media, homebrew, and retro games.</a></li> 
 <li><a href="http://eng.supercard.sc/manual/dstwo/use.htm">DSTWO User Manual_SuperCard Official Site</a></li> 
 <li><a href="https://www.derrickgold.com/projects/BAGPlug-SCDS2.html">Derrick Gold</a></li> 
 <li><a href="https://wiki.gbatemp.net/wiki/SuperCard_DSTWO_ds2skin_packs">SuperCard DSTWO ds2skin packs - WikiTemp, the GBAtemp wiki</a></li> 
 <li><a href="https://gbatemp.net/threads/ds2-skin-installer.253889/">DS2 Skin Installer | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://gbatemp.net/threads/dstwo-skins.228211/">DSTWO Skins</a></li> 
 <li><a href="https://gbatemp.net/threads/updated-dstwo-nds-for-bagplug-imenu-future-menus.344910/">Updated DSTwo.nds for BAGPlug &amp; iMenu &amp; future Menus</a></li> 
 <li><a href="https://www.gamebrew.org/wiki/DS2Tools">DS2Tools - GameBrew</a></li> 
</ul> 
<hr /> 
<p>官方资源💾</p> 
<p><a href="http://down.supercard.sc/download/dstwo/">http://down.supercard.sc/download/dstwo/</a></p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/mtheall/ftpd">mtheall/ftpd: FTP Server for 3DS/Switch</a></li> 
 <li><a href="https://www.reddit.com/r/3dshacks/comments/1mkrcyj/i_created_a_simple_backup_sync_tool/?tl=zh-hans">我创建了一个简单的备份与同步工具 : r/3dshacks</a></li> 
 <li><a href="https://github.com/Lokthran/3DS-Save-Sync">Lokthran/3DS-Save-Sync: A Python-based tool to backup and transfer 3DS, NDS, GBA and custom save files via FTP.</a></li> 
 <li><a href="https://www.gamebrew.org/wiki/DSOrganize">DSOrganize - GameBrew</a></li> 
 <li><a href="https://dragonminded.com/ndsdev/dsorganize/faq/">DragonMinded.com :: DSOrganize FAQ</a></li> 
 <li><a href="https://gbatemp.net/download/dstwo-dsftp-plugin.11543/">DSTwo DSFTP Plugin | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://gbatemp.net/threads/nds-backup-tool-ftpd.190872/">NDS Backup Tool FTPd | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/s7iazr/any_major_differences_between_supercard_dstwo_and/?tl=zh-hant">Supercard DSTwo 和 DSTwo Plus 有什麼主要區別？ : r/flashcarts</a></li> 
 <li><a href="http://chn.supercard.sc/manual/dstwo/faq.htm">DSTWO常见问题解答_SuperCard官方中文网</a></li> 
 <li><a href="http://chn.supercard.sc/manual/dstwo/faq.htm">DSTWO常见问题解答_SuperCard官方中文网</a></li> 
 <li><a href="https://zhangjiquan.com/handheld/nintendo-dsi">Nintendo DSi掌机硬件参数和配置 - 掌机圈</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/s7iazr/any_major_differences_between_supercard_dstwo_and/">Any major differences between Supercard DSTwo and DSTwo Plus? : r/flashcarts</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/1csjt6n/best_supercard_dstwo_setup/">Best SuperCard DSTWO setup? : r/flashcarts</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/1rg9l3r/dstwo_2_in_1_vs_4_in_1_differences/">Dstwo 2 in 1 vs 4 in 1 differences? : r/flashcarts</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/1nikr9k/genuine_super_card_dstwo_change_the_main_menu/">Genuine Super Card DSTWO - change the main menu wallpaper : r/flashcarts</a></li> 
 <li><a href="https://www.reddit.com/r/flashcarts/comments/1dv2wu6/customize_dstwo_eos/">Customize DSTWO EOS? : r/flashcarts</a></li> 
 <li><a href="https://gbatemp.net/threads/fw-moonshell-and-dsorganize-easy-install.42806/">FW, Moonshell and DSOrganize easy install | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://www.bilibili.com/video/BV1zZdWY2Ee6/?vd_source=3710ff3fa57db21b813ef420454b2e16">DStwo【DS平台的最强烧录卡】整合美化包（完美美化&amp;整合插件&amp;值得珍藏）_游戏热门视频</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/33E6F93A-13ED-4E4F-AA33-C80DD2AAD308/</link>
        <guid>https://rich-1e.sol.build/33E6F93A-13ED-4E4F-AA33-C80DD2AAD308/</guid>
        <pubDate>Wed, 29 Apr 2026 13:00:14 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>火焰之纹章攻略</p> 
<blockquote> 
 <p>下面2个链接的游戏比较全。</p> 
</blockquote> 
<p>Ref</p> 
<ul> 
 <li><a href="http://www.fireemblem.net/fe/">WELCOME TO CHINAFE</a></li> 
 <li><a href="https://www.bilibili.com/opus/967988493589413894">《火焰纹章 圣战之系谱》全角色加入条件及相关攻略</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260427 | &#x5B9E;&#x9A8C;&#x7684;&#x4EE3;&#x4EF7;&#x6B63;&#x5728;&#x6D88;&#x5931;</title>
        <link>https://rich-1e.sol.build/EC2DCEF1-79A7-40DF-A713-F9522C7AF220/</link>
        <guid>https://rich-1e.sol.build/EC2DCEF1-79A7-40DF-A713-F9522C7AF220/</guid>
        <pubDate>Mon, 27 Apr 2026 17:09:48 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260427/lazymake-demo.gif" />    
        
        
        <description><![CDATA[
            <p><strong>这周的新工具列表，像是在替开发者清理桌面。</strong></p> 
<blockquote> 
 <p>那些曾经散落在 /tmp、命名为 test/test2/actually-final 的目录，<br /> 那些永远配不好的 Makefile 环境，<br /> 那些需要记住"这个知识在哪个笔记里"的心理成本。</p> 
 <p>这周的工具们在说：别记了，让工具来记。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>新增不算多，但方向很明确——开发者开始为"减少心智负担"付费，而不是为功能付费。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>erfa</strong></td> 
   <td>基础天文计算库，用于天体轨道和星历计算</td> 
  </tr> 
  <tr> 
   <td><strong>floresta</strong></td> 
   <td>轻量级可嵌入的比特币客户端，为数据主权设计</td> 
  </tr> 
  <tr> 
   <td><strong>forgecode</strong></td> 
   <td>AI 增强的终端开发环境，集成代码编辑和 AI 辅助</td> 
  </tr> 
  <tr> 
   <td><strong>hf-mount</strong></td> 
   <td>将 Hugging Face Buckets 挂载为本地文件系统</td> 
  </tr> 
  <tr> 
   <td><strong>lazymake</strong></td> 
   <td>Makefiles 的现代 TUI 界面，可视化查看和管理构建任务</td> 
  </tr> 
  <tr> 
   <td><strong>mcp-remote</strong></td> 
   <td>支持 OAuth 的 Model Context Protocol 远程代理</td> 
  </tr> 
  <tr> 
   <td><strong>rabbitmqadmin</strong></td> 
   <td>RabbitMQ 的命令行管理工具，基于 HTTP API</td> 
  </tr> 
  <tr> 
   <td><strong>sdl3_mixer</strong></td> 
   <td>多声道音频混音器库，SDL3 的音频组件</td> 
  </tr> 
  <tr> 
   <td><strong>try</strong></td> 
   <td>快速管理实验性项目目录，智能模糊搜索和自动日期命名</td> 
  </tr> 
  <tr> 
   <td><strong>vite-plus</strong></td> 
   <td>Web 开发的统一工具链入口</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>cavalry</strong></td> 
   <td>程序化运动设计和动画软件，实时渲染的 2D 动画工具</td> 
  </tr> 
  <tr> 
   <td><strong>gopher64</strong></td> 
   <td>N64 模拟器</td> 
  </tr> 
  <tr> 
   <td><strong>hop</strong></td> 
   <td>HWP 文档查看和编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>iplay</strong></td> 
   <td>多媒体播放器</td> 
  </tr> 
  <tr> 
   <td><strong>mujoco</strong></td> 
   <td>通用物理引擎</td> 
  </tr> 
  <tr> 
   <td><strong>paranoia-file-text-encryption</strong></td> 
   <td>文件加密工具，支持隐写术和后量子密钥交换</td> 
  </tr> 
  <tr> 
   <td><strong>rustcast</strong></td> 
   <td>应用和实用工具启动器</td> 
  </tr> 
  <tr> 
   <td><strong>server-box</strong></td> 
   <td>服务器状态监控工具，内置 SSH 终端、SFTP 和容器管理</td> 
  </tr> 
  <tr> 
   <td><strong>sharefile</strong></td> 
   <td>Progress ShareFile 存储服务客户端</td> 
  </tr> 
  <tr> 
   <td><strong>tolaria</strong></td> 
   <td>Markdown 知识库管理器，AI 时代的"第二大脑"</td> 
  </tr> 
  <tr> 
   <td><strong>ua-connect</strong></td> 
   <td>Universal Audio 设备的软件安装和管理工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节不求全，<br /> 只挑 <strong>3 个</strong> 值得停下来看的点。</p> 
</blockquote> 
<hr /> 
<h3>try：省掉"这个目录叫什么来着"的记忆成本</h3> 
<p><a href="https://asciinema.org/a/ve8AXBaPhkKz40YbqPTlVjqgs"><img src="https://asciinema.org/a/ve8AXBaPhkKz40YbqPTlVjqgs.svg" alt="asciicast" /></a></p> 
<p>你有多少个叫 <code>test</code>、<code>test2</code>、<code>new-test</code>、<code>actually-final</code> 的目录？</p> 
<p>它们散落在你的 filesystem 各处，有些在 <code>/tmp</code>，有些在 <code>~/projects/experiments</code>，还有些在你自己都记不清的位置。过了一周再想找某个实验，只能靠 <code>find . -name "*redis*"</code> 碰运气。</p> 
<p><strong>try</strong> 解决的就是这个看似微小但持续消耗心力的问题。它给每个实验一个带日期的名字（比如 <code>2025-08-17-redis-experiment</code>），然后用智能模糊搜索让你瞬间找到——不是简单的字符串匹配，而是根据最近访问时间排序。</p> 
<p>最妙的是它的哲学："Your brain doesn't work in neat folders. You have ideas, you try things, you context-switch like a caffeinated squirrel."</p> 
<p>它没有试图教你整理文件夹的正确方式，而是承认了你的混乱，然后让它变得可用。</p> 
<hr /> 
<h3>lazymake：让 Makefile 不再是个黑盒</h3> 
<p>Makefile 的问题从来不是语法难，而是你永远不知道里面定义了什么 target。</p> 
<p>你打开一个项目，看到几十个 target，但不知道哪些是常用的，哪些之间有依赖关系，哪些会触发耗时很长的重建。要么硬着头皮读 Makefile，要么凭记忆猜 <code>make build</code> 还是 <code>make compile</code>。</p> 
<p><strong>lazymake</strong> 提供了一个漂亮的 TUI 界面，把所有 target 摊开来给你看。它能显示 target 之间的依赖关系，标记出常用的命令，甚至能预览执行结果。</p> 
<img width="1080" alt="lazymake-demo" src="https://rich-1e.sol.build/EC2DCEF1-79A7-40DF-A713-F9522C7AF220/lazymake-demo.gif" /> 
<p>对于那些不常接触但偶尔需要修改的项目，这种可视化的价值在于：你不需要重新理解整个构建系统，只需要在界面上找到你想要的那个按钮。</p> 
<hr /> 
<h3>tolaria &amp; cavalry：工具的分化</h3> 
<img width="1577" alt="tolaria-full-layout" src="https://rich-1e.sol.build/EC2DCEF1-79A7-40DF-A713-F9522C7AF220/tolaria-full-layout.png" /> 
<p>这周的两个 Cask 指向了两个不同的方向。</p> 
<p><strong>cavalry</strong> 是一个专业的 2D 动画软件，实时渲染、数据导入、rigging 系统——它是那种"把一件事做到极致"的工具。你需要学习它的专业术语，理解它的工作流，但一旦掌握，就能做出专业级别的作品。</p> 
<img width="400" alt="cavalry-features" src="https://rich-1e.sol.build/EC2DCEF1-79A7-40DF-A713-F9522C7AF220/cavalry-features.png" /> 
<p><strong>tolaria</strong> 则完全相反。它是一个 Markdown 知识库管理器，但它的设计哲学是"不要学习新东西"。你的笔记就是普通的 <code>.md</code> 文件，用任何编辑器都能打开；版本控制就是 Git，你可以用命令行查看历史；甚至 AI 集成也是通过标准的 MCP 协议。</p> 
<p>一个是封闭的专业系统，一个是开放的通用工具集。</p> 
<p>两者都有价值，但趋势是：当工具的复杂度超过某个阈值时，用户开始偏好"只是文件"的可携带性。tolaria 的安装量（242次/30天）比 cavalry（105次/30天）高出一倍多，这可能不是巧合。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>try 和 lazymake 都是那种"装了之后不会卸载"的工具——它们解决的问题太小太日常，以至于一旦习惯就回不去。</p> 
<p>相比之下，cavalry 这类专业工具更像是"有一天我会需要"的存在。它的功能很强大，但学习曲线意味着你必须在某个时间点集中投入精力。而现代开发者的时间碎片化程度，可能已经不支持这种深度学习了。</p> 
<p>tolaria 的出现时机很有趣。它强调"笔记只是文件"、"Git 就是同步"、"MCP 标准接口"——这些都是在回应 Notion 等云端工具带来的焦虑：我的数据在哪里？我能带走吗？如果服务关闭怎么办？</p> 
<p>也许下一代的工具不是功能更强的那个，而是让你最安心的那个。</p> 
<hr /> 
<h2>结语</h2> 
<p>这周的工具列表里没有改变世界的东西。</p> 
<p>但它们都在做同一件事：把开发者从"我需要记住什么"解放到"我只需要创造什么"。</p> 
<p>try 省掉了目录命名的心理负担，lazymake 省掉了理解构建系统的负担，tolaria 省掉了担心数据锁定的负担。</p> 
<p>工具在变，但好的节奏应该是：负担在消失，而创造力在增加。</p> 
<hr /> 
<p><em>下周见。</em></p>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/9F0374A4-F3D0-4527-BCD5-2D511C28E932/</link>
        <guid>https://rich-1e.sol.build/9F0374A4-F3D0-4527-BCD5-2D511C28E932/</guid>
        <pubDate>Fri, 24 Apr 2026 11:09:41 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>一个可以统计token使用的小工具</p> 
<ul> 
 <li><a href="https://github.com/getagentseal/codeburn">getagentseal/codeburn: See where your AI coding tokens go. Interactive TUI dashboard for Claude Code, Codex, and Cursor cost observability.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260420 | AI &#x4EE3;&#x7406;&#x7684;&#x8FDE;&#x63A5;&#x5C42;</title>
        <link>https://rich-1e.sol.build/A1E453D9-BC07-4DC8-8576-966228688F7F/</link>
        <guid>https://rich-1e.sol.build/A1E453D9-BC07-4DC8-8576-966228688F7F/</guid>
        <pubDate>Mon, 20 Apr 2026 16:55:46 +0800</pubDate>
        
        
        <description><![CDATA[
            <p><strong>四月的第四周，工具列表突然变得拥挤。</strong></p> 
<blockquote> 
 <p>brew update 之后跳出来一长串新增，<br /> 不是那种零星的点缀，而是成批的工具在找自己的位置。<br /> 有些是为了连接消息平台，有些是为了给 AI 代码助手加个壳，<br /> 还有一些，是 Apple Intelligence 落地后的余波。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>AI 不再是单一工具，而是变成了需要被"连接"、"管理"、"编排"的基础设施——这周的更新像是在搭建一层中间件。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>cc-connect</strong></td> 
   <td>将本地 AI 编码代理连接到消息平台（Telegram/Slack/钉钉等）</td> 
  </tr> 
  <tr> 
   <td><strong>odinfmt</strong></td> 
   <td>Odin 编程语言的代码格式化工具</td> 
  </tr> 
  <tr> 
   <td><strong>ols</strong></td> 
   <td>Odin 编程语言的 Language Server</td> 
  </tr> 
  <tr> 
   <td><strong>openssl@4</strong></td> 
   <td>OpenSSL 的第 4 版主分支</td> 
  </tr> 
  <tr> 
   <td><strong>paneru</strong></td> 
   <td>macOS 上的滑动/平铺窗口管理器</td> 
  </tr> 
  <tr> 
   <td><strong>pocket-id</strong></td> 
   <td>开源的身份认证提供商</td> 
  </tr> 
  <tr> 
   <td><strong>zig@0.15</strong></td> 
   <td>Zig 编程语言的 0.15 版本分支</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>equibop</strong></td> 
   <td>定制版 Discord 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>fluidvoice</strong></td> 
   <td>离线语音转文字应用，带 AI 增强</td> 
  </tr> 
  <tr> 
   <td><strong>font-bjcree</strong></td> 
   <td>BJ Cree 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-estedad</strong></td> 
   <td>Estedad 字体</td> 
  </tr> 
  <tr> 
   <td><strong>google-gemini</strong></td> 
   <td>Google Gemini 桌面 AI 助手</td> 
  </tr> 
  <tr> 
   <td><strong>intellij-idea-oss</strong></td> 
   <td>IntelliJ IDEA 开源版</td> 
  </tr> 
  <tr> 
   <td><strong>koharu</strong></td> 
   <td>ML 驱动的漫画翻译工具</td> 
  </tr> 
  <tr> 
   <td><strong>macshot</strong></td> 
   <td>截图和录屏工具</td> 
  </tr> 
  <tr> 
   <td><strong>openin</strong></td> 
   <td>将链接/邮件/文件路由到指定应用</td> 
  </tr> 
  <tr> 
   <td><strong>pluralplay-flclashx</strong></td> 
   <td>基于 ClashMeta 的代理客户端</td> 
  </tr> 
  <tr> 
   <td><strong>puremac</strong></td> 
   <td>开源应用管理器和系统清理工具</td> 
  </tr> 
  <tr> 
   <td><strong>renameclick</strong></td> 
   <td>本地优先的 AI 文件重命名应用</td> 
  </tr> 
  <tr> 
   <td><strong>t3-code@nightly</strong></td> 
   <td>AI 代码助手的精简 GUI</td> 
  </tr> 
  <tr> 
   <td><strong>unblocked</strong></td> 
   <td>AI 驱动的开发者协作平台</td> 
  </tr> 
  <tr> 
   <td><strong>xdeck</strong></td> 
   <td>TweetDeck 风格的 X/Twitter 客户端</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一周的新增很多，<br /> 但有几个工具指向同一个趋势：<br /> <strong>AI 代理正在从"工具"变成"需要被管理的对象"</strong>。</p> 
</blockquote> 
<hr /> 
<h3>cc-connect：把 Claude Code 接到你的聊天软件里</h3> 
<p><img src="https://github.com/chenhg5/cc-connect/raw/main/docs/images/connector.png" alt="cc-connect 架构示意图" /></p> 
<p>一个公式，连上了 9 个 AI 代理和 11 个聊天平台。</p> 
<p>cc-connect 做的事情很简单：让你在 Telegram、Slack、钉钉、飞书甚至微信里，直接调用本地的 Claude Code、Cursor、Gemini CLI 或其他 AI 编码助手。不需要公网 IP，不需要自己搭服务器，装完就能用。</p> 
<p>它解决的不是"怎么用 AI 写代码"这个问题，而是"怎么在不离开聊天软件的情况下用 AI 写代码"。对于很多人来说，聊天软件已经是工作流的中心——团队讨论在那里，任务分配在那里，现在 AI 代理也要去那里。</p> 
<p>43 个安装量说明它还很小众，但这种"桥接"本身是一个信号：AI 代理不再是单独打开的应用，而是要被嵌入到现有工作流里的服务。</p> 
<p>Web 管理界面可以配置多个项目，支持多代理编排、会话管理、模型切换——这些功能出现在一个 Homebrew formula 里，有点意外，也有点合理。</p> 
<hr /> 
<h3>t3-code@nightly：给 AI 代码助手加个壳</h3> 
<p><img src="https://t3.codes/screenshot.jpeg" alt="T3 Code 界面" /></p> 
<p>T3 Code 是一个"minimal GUI for AI code agents"。它的逻辑更直接：既然 AI 代理已经在后台跑了（Claude Code、Cursor、Aider 等），那给它套个简单的图形界面会不会更好用？</p> 
<p>界面确实简单：左边是文件树，右边是对话框，底部是终端输出。没有 VS Code 那么重的插件系统，没有 JetBrains 那么复杂的配置菜单，就是一个能让你和 AI 对话、看它改代码的窗口。</p> 
<p>这种"精简"背后有个隐含判断：当 AI 能处理大部分编码任务时，IDE 的复杂度就变成了负担。你不需要那么多快捷键，不需要那么多面板，只需要一个能让 AI 展示它工作的地方。</p> 
<p>nightly 版本的存在说明这个项目还在快速迭代中。43 个安装量和 cc-connect 一样，都是早期采用者的数量级。</p> 
<hr /> 
<h3>google-gemini：Apple Intelligence 缺席后的替代方案</h3> 
<p><img src="https://lh3.googleusercontent.com/gj-iIi5Yunc6de3XNEXxZt8lJs6CAkQpC50fHsKEeY3zRRjSFg7oHSiFBTIOw1qKmpHjEXUIA2_B58lwc-EJCDNKDAoIYaR9s1Y=e365-pa-nu-w3120" alt="Google Gemini 桌面应用" /></p> 
<p>Google Gemini 桌面应用在四月登陆 macOS，要求 arm64 架构和 macOS 15+。2380 个安装量是这周所有新增里最高的。</p> 
<p>它的出现有个背景：Apple Intelligence 在国内用不了，而 Google 的 Gemini 应用刚好填补了这个空白。不是所有人都愿意折腾区号、换账号，但所有人都想要一个能在桌面上随时唤起的 AI 助手。</p> 
<p>FluidVoice（离线语音转文字，170 安装量）也是同样的逻辑：当系统自带的听写功能不够好或者不可用时，第三方的 AI 增强方案就成了刚需。</p> 
<p>这两个工具的共同点是"补位"。它们不是创新，而是在现有生态的空缺处填上自己的形状。</p> 
<hr /> 
<h3>趋势观察：AI 代理中间件化</h3> 
<p>如果把 cc-connect、t3-code、pocket-id（身份认证）、renameclick（AI 文件重命名）放在一起看，能看到一个模式：</p> 
<p><strong>AI 不再是单一工具，而是变成了需要被连接、管理、认证、封装的基础设施。</strong></p> 
<ul> 
 <li>cc-connect 负责把代理接到聊天平台</li> 
 <li>t3-code 负责给代理套个轻量 GUI</li> 
 <li>pocket-id 负责管理谁可以访问这些代理</li> 
 <li>renameclick 负责把 AI 能力应用到具体场景（文件命名）</li> 
</ul> 
<p>这和十年前的"云服务中间件化"很像。当时出现了 Kubernetes、Docker Swarm、Consul 这些工具来管理微服务；现在出现了类似的工具来管理 AI 代理。</p> 
<p>区别在于，这次的速度更快。从"AI 助手能用"到"需要管理 AI 助手"，只用了不到两年。</p> 
<hr /> 
<h3>其他值得提一下的</h3> 
<p><strong>Odin 语言工具链成熟</strong>：odinfmt（格式化）和 ols（Language Server）的同时出现，说明这个自称"为稳健性、最优性和清晰度设计"的系统编程语言正在形成完整的开发体验。Zig 0.15 的独立分支也是同一件事的另一面。</p> 
<p><strong>paneru：窗口管理器的长尾需求</strong>：macOS 上的平铺窗口管理器一直有小众但稳定的需求（Amethyst、yabai、Rectangle 各有拥趸）。paneru 的出现说明这个细分市场还有空间。</p> 
<p><strong>OpenSSL@4：版本号的惯性</strong>：OpenSSL 跳到第 4 版主分支，但绝大多数人还在用 1.x 或 3.x。keg-only 的打包方式说明了 Homebrew 的态度：给你装，但不主动 symlink，让你自己决定要不要用。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这周的新增列表读起来有点像在翻某家创业公司的产品目录。不是那种"又多了个 XXX 工具"的平淡，而是"原来这个环节已经有人在做产品了"的惊讶。</p> 
<p>cc-connect 和 t3-code 这类工具的出现，说明 AI 编码助手已经从"尝鲜阶段"进入了"需要被整合进工作流"的阶段。这不是技术突破，而是工程化。</p> 
<p>我注意到两个细节：</p> 
<ol> 
 <li> <p><strong>安装量都很低</strong>：43、43、170……这些数字说明还在早期。但对于 Homebrew 这种分发渠道来说，早期采用者的选择往往预示着下一步的主流。</p> </li> 
 <li> <p><strong>夜间构建版本的增多</strong>：t3-code@nightly、vlc@nightly（虽然即将被废弃）……这说明有些项目正处于快速变化期，稳定版跟不上节奏。</p> </li> 
</ol> 
<p>还有一点主观的感受：当"管理 AI 代理"变成一个独立的需求类别时，有点讽刺。我们本来指望 AI 能简化管理工作，结果反过来要管理 AI 本身。但这可能就是技术演进的路径——每一层抽象都会带来新的复杂度，然后再催生下一层抽象来处理它。</p> 
<hr /> 
<h2>结语</h2> 
<p>工具在变多，但节奏不必跟着变快。</p> 
<p>这周新增了 7 个 Formula 和 15 个 Cask，是近几个月最热闹的一周。但真正值得记住的不是数量，而是方向：AI 正在从"用来做什么"变成"怎么被组织起来"。</p> 
<p>有时候，brew update 之后看到的不只是新工具，还有工具之间的空隙——以及填补那些空隙的新工具。</p>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/7BB1D6EF-280C-4D4E-9FA7-9F6D6C1EF505/</link>
        <guid>https://rich-1e.sol.build/7BB1D6EF-280C-4D4E-9FA7-9F6D6C1EF505/</guid>
        <pubDate>Thu, 16 Apr 2026 18:47:48 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>NDSi</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://gbatemp.net/threads/ds-i-noob-paradise-ask-questions-here.528133/">DS(i) NOOB PARADISE - Ask questions here</a></li> 
 <li><a href="https://dsi.cfw.guide/">DSi Guide</a></li> 
 <li><a href="https://wiki.ds-homebrew.com/">DS-Homebrew Wiki</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x3010;DSTWO &#x7CFB;&#x5217;&#x3011;&#x8857;&#x673A;&#x6E38;&#x620F;&#x914D;&#x7F6E;</title>
        <link>https://rich-1e.sol.build/E36B4CF6-13D0-4747-B93C-A7EE6908F5AA/</link>
        <guid>https://rich-1e.sol.build/E36B4CF6-13D0-4747-B93C-A7EE6908F5AA/</guid>
        <pubDate>Thu, 16 Apr 2026 18:08:20 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>2种方式</h2> 
<ul> 
 <li>FBA4DSTWO（Final Burn Alpha for SuperCard DSTWO），移植自FBA4PSP。</li> 
 <li>MAME4ALL for supercard DSTWO by Alekmaul，是英文论坛会员alekmaul独立开发</li> 
</ul> 
<h2>ROM 兼容性</h2> 
<p>FBA4DSTWO 适配 MAME 0.141<br /> MAME4ALL 适配 MAME 0.37b5</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://gbatemp.net/threads/supercard-dstwo-software.646256/">Supercard DSTwo Software? | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="http://chn.supercard.sc/manual/dstwo/plugin/mame.htm">DSTWO插件下载_DSTWO专用MAME模拟器软件NDS MAME_SuperCard官方中文网</a></li> 
 <li><a href="https://gbatemp.net/threads/fba4dstwo.461008/">FBA4DSTWO | GBAtemp.net - The Independent Video Game Community</a></li> 
 <li><a href="https://www.gamebrew.org/wiki/FBA4DSTWO?utm_source=chatgpt.com">FBA4DSTWO - GameBrew</a></li> 
 <li><a href="https://github.com/rereprep/fba4dstwo">rereprep/fba4dstwo: FBA emulator for supercard dstwo.</a></li> 
 <li><a href="https://www.gamebrew.org/wiki/DSTwo_Plugins">DSTwo Plugins - GameBrew</a></li> 
 <li><a href="https://www.gamebrew.org/wiki/DSTWO">DSTWO - GameBrew</a></li> 
 <li><a href="https://wowroms.com/en/roms/list/MAME+0.139u1">MAME 0.139u1 (MAME4droid) ROMs. Free Download - wowroms.com - page 1</a></li> 
 <li><a href="https://wiki.gbatemp.net/wiki/DSTwo_Plugin">DSTwo Plugin - WikiTemp, the GBAtemp wiki</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>CRA &#x7559;&#x4E0B;&#x7684;&#x70C2;&#x644A;&#x5B50;</title>
        <link>https://rich-1e.sol.build/FAF99AE9-C857-4A4B-87F0-C21C0137606D/</link>
        <guid>https://rich-1e.sol.build/FAF99AE9-C857-4A4B-87F0-C21C0137606D/</guid>
        <pubDate>Wed, 15 Apr 2026 10:35:34 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>最近做需求，想在项目中添加一个<strong>mock数据</strong>的功能，没想到会让我有诸多感思。</p> 
<p>先说一下，项目背景：</p> 
<ul> 
 <li>纯前端项目，使用React18.2</li> 
 <li>项目是在2025年5月份左右创建，距离现在大约快1年时间</li> 
</ul> 
<p>有意思的部分是，项目中使用了 <code>react-app-rewired</code> 这个工具。</p> 
<p>这个工具是做什么的呢？</p> 
<blockquote> 
 <p>可以在不 eject 的情况下，调整 create-react-app 的 webpack 配置</p> 
</blockquote> 
<p>当然远不如此，基本可以做到完整接入 webpack 的功能。</p> 
<p>因此，这个项目很受 React 开发者喜欢，获得了 9.9K Star。</p> 
<hr /> 
<p>随着前端技术持续发展，CRA（create-react-app）经历了多次迭代，最后在2022年4月份之后停止了更新。</p> 
<p>在CRA迭代的时间里，react-app-rewired 也一直在更新，直到同年2022年2月份之后也停止了更新。期间，做了大量对CRA的适配工作，老版本支持 webpack3.x，新版本支持webpack4.x。</p> 
<blockquote> 
 <p><strong>但是，适配的工作永远没有尽头。</strong></p> 
</blockquote> 
<hr /> 
<p>然后出现了，<code>customize-cra</code> 这个项目。</p> 
<p style="font-style: italic;color: gray;">This project provides a set of utilities to customize create-react-app versions 2 and 3 configurations leveraging react-app-rewired core functionalities.</p> 
<p>字面意思说，可以支持 create-react-app 版本 2 和 3 的配置。</p> 
<p>实际上，customize-cra 在2020年5月份就走到了尽头，CRA的后续版本（4.x / 5.x）都无法支持。</p> 
<hr /> 
<p>在 react-app-rewired 项目获得关注后，React 社区又出现了新玩具🪀：</p> 
<ul> 
 <li><a href="https://github.com/harrysolovay/rescripts">Rescripts</a>, an alternative framework for extending CRA configurations (supports 2.0+).</li> 
 <li><a href="https://github.com/timarney/react-app-rewired">react-scripts-rewired</a> for a fork of this project that aims to support CRA 2.0</li> 
 <li><a href="https://craco.js.org/">craco</a></li> 
</ul> 
<p>毫无例外，上面项目现在都已经停止了更新和维护。</p> 
<p>这些项目停止更新前，<strong>最少也是 1k star</strong>。<br /> 但，CRA 更是夸张的收获了 <strong>104k star</strong>。</p> 
<hr /> 
<p>这件事情，告诉了我一个事实：</p> 
<blockquote> 
 <p>如果使用的第三方工具，它的依赖不够透明且过度封装，将导致失去灵活性扩展性。同样它也绝对不可靠不稳定，和不可持续。</p> 
</blockquote> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://medium.com/@timarney/but-i-dont-wanna-eject-3e3da5826e39#.x81bb4kji">React / Create React App — But I don’t wanna Eject. | by tim arney</a></li> 
 <li><a href="https://github.com/facebook/create-react-app">facebook/create-react-app: Set up a modern web app by running one command.</a></li> 
 <li><a href="https://juejin.cn/post/6844904016581754888">Create React App无eject配置（react-app-rewired 和 customize-cra）</a></li> 
 <li><a href="https://github.com/timarney/react-app-rewired">timarney/react-app-rewired: Override create-react-app webpack configs without ejecting</a></li> 
 <li><a href="https://github.com/arackaf/customize-cra">arackaf/customize-cra: Override webpack configurations for create-react-app 2.0</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/CB22E895-36EB-471D-B6EF-8B1237A0CB07/</link>
        <guid>https://rich-1e.sol.build/CB22E895-36EB-471D-B6EF-8B1237A0CB07/</guid>
        <pubDate>Wed, 15 Apr 2026 09:43:56 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>开始学习 Swift</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/kCjDulwChRQ?si=OZw9fPq6GnZ5Imi0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.v2ex.com/t/898834">焦虑：一天都没找到合适的 Swift 开发 IOS 应用的入门教程 - V2EX</a></li> 
 <li><a href="https://developer.apple.com/tutorials/swiftui">SwiftUI Tutorials</a></li> 
 <li><a href="https://developer.apple.com/tutorials/develop-in-swift/welcome-to-develop-in-swift-tutorials">Welcome to Develop in Swift Tutorials</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/71C08DF2-A3D4-41C3-9223-B21698295644/</link>
        <guid>https://rich-1e.sol.build/71C08DF2-A3D4-41C3-9223-B21698295644/</guid>
        <pubDate>Mon, 13 Apr 2026 17:21:13 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>Harness Engineering 是啥？</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/3DlXq9nsQOE?si=JxNAHltbKjMf563n" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260413 | &#x7CFB;&#x7EDF;&#x80FD;&#x529B;&#x7684;&#x5DE5;&#x5177;&#x5316;</title>
        <link>https://rich-1e.sol.build/DACAF127-461C-4343-B623-11AF06A40E0E/</link>
        <guid>https://rich-1e.sol.build/DACAF127-461C-4343-B623-11AF06A40E0E/</guid>
        <pubDate>Mon, 13 Apr 2026 14:09:58 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260413/apfel.png" />    
        
        
        <description><![CDATA[
            <p><strong>四月中旬,苹果的系统能力开始以工具的形态外溢。</strong></p> 
<blockquote> 
 <p>Apple Intelligence 有了命令行入口,Apple Containers 有了原生 GUI,终端里甚至多了一个电子表格。与此同时,一个六万星的 AWS 模拟器被标记 deprecated,依赖链在同一天被清理干净。这一周的列表,一半在打开新入口,一半在关闭旧通道。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>系统能力在变成命令行工具,旧工具在变成历史注脚。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>apache-arrow-adbc-glib</strong></td> 
   <td>Apache Arrow ADBC 的 GLib 绑定</td> 
  </tr> 
  <tr> 
   <td><strong>apfel</strong></td> 
   <td>命令行访问 Apple Intelligence,附带 OpenAI 兼容 API 服务器</td> 
  </tr> 
  <tr> 
   <td><strong>dart-sass</strong></td> 
   <td>Sass 的 Dart 参考实现</td> 
  </tr> 
  <tr> 
   <td><strong>fvm</strong></td> 
   <td>按项目管理 Flutter SDK 版本</td> 
  </tr> 
  <tr> 
   <td><strong>libheif-plugins</strong></td> 
   <td>HEIF 文件格式编解码器插件</td> 
  </tr> 
  <tr> 
   <td><strong>nbytes</strong></td> 
   <td>从 Node.js 核心提取的字节处理函数库</td> 
  </tr> 
  <tr> 
   <td><strong>overturemaps</strong></td> 
   <td>与 Overture Maps 数据交互的 Python 工具</td> 
  </tr> 
  <tr> 
   <td><strong>resticprofile</strong></td> 
   <td>restic 备份的配置文件管理器和调度器</td> 
  </tr> 
  <tr> 
   <td><strong>rpiboot</strong></td> 
   <td>树莓派 Compute Module 的 USB 启动工具</td> 
  </tr> 
  <tr> 
   <td><strong>sheets</strong></td> 
   <td>终端里的电子表格工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>appgridmac</strong></td> 
   <td>AI 辅助的 Launchpad 替代品</td> 
  </tr> 
  <tr> 
   <td><strong>backblaze-restore</strong></td> 
   <td>Backblaze 备份恢复客户端</td> 
  </tr> 
  <tr> 
   <td><strong>baoliandeng</strong></td> 
   <td>基于 Mihomo (Clash Meta) 的 VPN 代理</td> 
  </tr> 
  <tr> 
   <td><strong>cadran</strong></td> 
   <td>渲染在图标后面的桌面时钟</td> 
  </tr> 
  <tr> 
   <td><strong>cc-switch</strong></td> 
   <td>AI 编码代理的配置管理器</td> 
  </tr> 
  <tr> 
   <td><strong>clearance</strong></td> 
   <td>Markdown 查看器和编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>copilot-language-server</strong></td> 
   <td>GitHub Copilot 语言服务器协议实现</td> 
  </tr> 
  <tr> 
   <td><strong>font-suez-one</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-sulphur-point</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-sumana</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-sura</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-suranna</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-suravaram</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-syne-mono</strong></td> 
   <td>等宽字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-syne-tactile</strong></td> 
   <td>字体</td> 
  </tr> 
  <tr> 
   <td><strong>happ</strong></td> 
   <td>构建代理绕过网络限制的平台</td> 
  </tr> 
  <tr> 
   <td><strong>hive-app</strong></td> 
   <td>跨项目并行编码的 AI 代理编排器</td> 
  </tr> 
  <tr> 
   <td><strong>idevice-pair</strong></td> 
   <td>为 iOS 设备生成配对记录</td> 
  </tr> 
  <tr> 
   <td><strong>intiface-central</strong></td> 
   <td>Buttplug 设备控制库的前端应用</td> 
  </tr> 
  <tr> 
   <td><strong>orchard</strong></td> 
   <td>Apple Containers 的原生 GUI</td> 
  </tr> 
  <tr> 
   <td><strong>paper-design</strong></td> 
   <td>界面和原型设计工具</td> 
  </tr> 
  <tr> 
   <td><strong>plamo-translate</strong></td> 
   <td>专注日语的翻译器</td> 
  </tr> 
  <tr> 
   <td><strong>rayon</strong></td> 
   <td>面向室内设计师的 AI 绘图工具</td> 
  </tr> 
  <tr> 
   <td><strong>rockxy-community</strong></td> 
   <td>HTTP 代理</td> 
  </tr> 
  <tr> 
   <td><strong>rowboat</strong></td> 
   <td>带记忆的开源 AI 协作助手</td> 
  </tr> 
  <tr> 
   <td><strong>tablen</strong></td> 
   <td>原生 SQL 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>vibe-island</strong></td> 
   <td>灵动岛 AI 代理工具</td> 
  </tr> 
  <tr> 
   <td><strong>worksheet-crafter</strong></td> 
   <td>工作表和课程材料制作工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>本周重大更新与变化</h2> 
<h3>📦 Major Updates (Casks)</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>版本</th> 
   <th>说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>moradownloader</strong></td> 
   <td>2.0.0</td> 
   <td>mora 音乐下载工具大版本更新</td> 
  </tr> 
  <tr> 
   <td><strong>orangedrangon-android-messages</strong></td> 
   <td>6.0.0</td> 
   <td>非官方 Android Messages 桌面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>mouseless@preview</strong></td> 
   <td>1.0.0-preview.1</td> 
   <td>键盘控制鼠标的工具,到达 1.0 预览版</td> 
  </tr> 
 </tbody> 
</table> 
<h3>⚠️ Notable Changes (Formulae)</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>变化类型</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>localstack</strong></td> 
   <td>被标记 deprecated,上游项目已归档</td> 
  </tr> 
  <tr> 
   <td><strong>awscli-local</strong></td> 
   <td>移除了对 localstack 的依赖</td> 
  </tr> 
  <tr> 
   <td><strong>tinymist</strong></td> 
   <td>新增 shell completions 支持</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>apfel：Apple Intelligence 的命令行入口</h3> 
<img width="600" alt="apfel" src="https://rich-1e.sol.build/DACAF127-461C-4343-B623-11AF06A40E0E/apfel.png" /> 
<p>Apple Intelligence 一直藏在系统设置和 Siri 后面。apfel 做的事情很简单:给它开了一扇终端的门。</p> 
<p><code>brew install apfel</code>,不需要 API key,不需要下载模型,不需要配置。macOS Tahoe 自带一个约 30 亿参数的语言模型,跑在 Apple Silicon 的 Neural Engine 上。apfel 把这个模型通过 Apple 的 FoundationModels 框架暴露出来,提供三种模式:命令行工具、交互式聊天、OpenAI 兼容的 HTTP 服务器。</p> 
<p>最后一点是关键。OpenAI 兼容意味着你现有的任何用 OpenAI SDK 写的脚本,只要把 base URL 改成 <code>localhost</code>,就能接上苹果的本地模型。零成本,完全离线,数据不出设备。</p> 
<p>但 4096 token 的上下文窗口决定了它的定位:快速的文本处理、shell 脚本里的胶水层、commit message 生成这类短任务。不是用来替代 Claude 或 GPT 的,是用来替代"这个小任务值不值得调一次 API"这个纠结的。</p> 
<p>它还支持 MCP。这意味着你可以把本地文件系统、数据库、甚至其他 API 作为工具接进来。一个免费的、完全本地的、支持 tool use 的 AI——虽然能力有限,但对于自动化脚本来说,够了。</p> 
<hr /> 
<h3>orchard：Apple Containers 有了自己的 GUI</h3> 
<img width="600" alt="overview" src="https://rich-1e.sol.build/DACAF127-461C-4343-B623-11AF06A40E0E/overview.png" /> 
<p>Apple Containers 是苹果在 macOS 26 上的原生容器方案。orchard 是它的第一个第三方 GUI。</p> 
<p>要求 macOS 26 以上,这说明它完全依赖苹果的原生虚拟化框架,没有绕道 Docker Desktop 那套。对于那些"想在 Mac 上跑容器但不想装 Docker Desktop"的人来说,这条路终于开始有工具了。</p> 
<p>目前安装量只有 107,说明 macOS 26 的用户基数还很小。但它进了 Homebrew Cask,意味着苹果的容器生态正在从"技术预览"走向"有人在上面写工具"的阶段。</p> 
<hr /> 
<h3>localstack：六万星项目的体面退场</h3> 
<p>LocalStack 是本地模拟 AWS 服务的工具。S3、DynamoDB、Lambda、SQS——你能想到的 AWS 服务,它都能在你的笔记本上跑一个假的出来。64,900 颗星,是很多团队本地开发和 CI 流程里不可或缺的一环。</p> 
<p>三月底,上游仓库被标记为 archived。官方的说法是"合并到统一镜像",提供一个"更可靠和精简的体验"。翻译一下:开源版和商业版要合并了,以后只有一个入口——那个带 Hobby 免费计划的统一版本。</p> 
<p>Homebrew 这边的反应很快。4 月 12 日,localstack 被标记 deprecated,同一天 awscli-local 移除了对它的依赖。依赖链的清理比项目归档还要干脆。</p> 
<p>这是一个典型的"开源项目商业化收编"的故事。免费版没有消失,只是搬了个地方,换了个名字,加了个注册页面。对于那些在 CI 脚本里写死了 <code>brew install localstack</code> 的团队来说,这周要改一行命令了。</p> 
<hr /> 
<h3>趋势观察：AI 代理的基础设施在成型</h3> 
<p>这周的 Cask 列表里,AI 相关的工具密度很高:</p> 
<ul> 
 <li><strong>cc-switch</strong>: AI coding agents 的配置管理器——当你同时用 Claude Code、Cursor、Copilot,每个都有自己的配置文件,cc-switch 在管这件事</li> 
 <li><strong>hive-app</strong>: 跨项目并行编码的 AI 代理编排器</li> 
 <li><strong>rowboat</strong>: 带记忆的 AI 协作助手</li> 
 <li><strong>vibe-island</strong>: 灵动岛里的 AI 代理</li> 
 <li><strong>copilot-language-server</strong>: Copilot 的 LSP 实现,上期在 Formula 里出现过,这次 Cask 也有了</li> 
</ul> 
<p>这些工具不是 AI 模型本身,是 AI 模型的"水电煤"——配置管理、任务编排、记忆持久化、界面集成。当围绕 AI 代理的基础设施开始密集出现,说明这个领域正在从"尝鲜"进入"日常使用"。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>apfel 让我意识到一件事:macOS 自带的那个语言模型,我从来没主动用过。不是因为它不好,是因为它没有入口——或者说,它的入口是 Siri,而我已经很久不和 Siri 说话了。apfel 给了它一个我愿意用的入口。</p> 
<p>localstack 的退场让我想起一个模式:开源项目做大,商业化收编,免费版变成"免费计划"。这不是坏事,但每次看到都有点微妙的不适感——像是你常去的公园突然加了个扫码入口,里面的东西没变,但感觉变了。</p> 
<p>这周的 Cask 列表里有 8 个字体。字体包进 Homebrew 这件事,说明开发者对字体的态度变了——以前是"系统默认就行",现在是"我的终端要用 JetBrains Mono,我的编辑器要用 Fira Code"。字体成了开发环境的一部分。</p> 
<p>cc-switch 的存在让我觉得,AI 编码工具的碎片化程度,已经到了需要一个"配置管理器"来管配置管理器的地步了。</p> 
<hr /> 
<h2>结语</h2> 
<p>苹果的系统能力正在被拆解成一个个命令行工具和独立应用。Apple Intelligence 不再只是 Siri 的后端,Apple Containers 不再只是 WWDC 的演示。当这些能力出现在 <code>brew install</code> 的列表里,它们就从"平台特性"变成了"开发者工具"。</p> 
<p>与此同时,旧工具在退场,新的基础设施在铺设。这一周的 Homebrew 不安静,只是变化的方式不一样了。</p> 
<blockquote> 
 <p><strong>系统能力变成工具的那一刻,才是它真正被接受的时候。</strong></p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260407 | &#x8FC1;&#x79FB;&#x7684;&#x6210;&#x672C;</title>
        <link>https://rich-1e.sol.build/95809A3F-B597-49C9-9215-ACFD0BE9AD31/</link>
        <guid>https://rich-1e.sol.build/95809A3F-B597-49C9-9215-ACFD0BE9AD31/</guid>
        <pubDate>Tue, 07 Apr 2026 10:21:27 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260407/skip.png" />    
        
        
        <description><![CDATA[
            <p><strong>这周的工具列表里，突然多了很多"移植"的影子。</strong></p> 
<blockquote> 
 <p>不是新想法，是旧思路在换场景。Swift 想去 Android，Python 想用 Rust 重写，AI 订阅想借给编辑器用。看起来我们进入了"不是造新轮子，是把轮子装到别的车上"的时期。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>一批关于"如何把 A 搬到 B"的工具。</p> 
<blockquote> 
 <p>四月初的工具箱，越来越多的是"怎么把这套路子移到那边去"</p> 
</blockquote> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>copilot-language-server</strong></td> 
   <td>GitHub Copilot 的语言服务器协议实现</td> 
  </tr> 
  <tr> 
   <td><strong>dartaotruntime</strong></td> 
   <td>运行 Dart AOT 编译快照的命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>expert</strong></td> 
   <td>Elixir 官方语言服务器实现</td> 
  </tr> 
  <tr> 
   <td><strong>git-format-staged</strong></td> 
   <td>在提交前格式化暂存文件的 Git 命令</td> 
  </tr> 
  <tr> 
   <td><strong>graalvm</strong></td> 
   <td>带 Graal 编译器和 Native Image 的 JDK 发行版</td> 
  </tr> 
  <tr> 
   <td><strong>libkiwix</strong></td> 
   <td>Kiwix 所有移植版本的通用代码库</td> 
  </tr> 
  <tr> 
   <td><strong>libpathrs</strong></td> 
   <td>Linux 上更安全的路径解析 C 友好 API</td> 
  </tr> 
  <tr> 
   <td><strong>merve</strong></td> 
   <td>从 CommonJS 模块提取命名导出的 C++ 词法分析器</td> 
  </tr> 
  <tr> 
   <td><strong>rustpython</strong></td> 
   <td>用 Rust 编写的 Python 解释器</td> 
  </tr> 
  <tr> 
   <td><strong>rvvm</strong></td> 
   <td>RISC-V 虚拟机</td> 
  </tr> 
  <tr> 
   <td><strong>sarif-fmt</strong></td> 
   <td>将 SARIF 文件格式化为易读输出</td> 
  </tr> 
  <tr> 
   <td><strong>skip</strong></td> 
   <td>用 Swift 构建 Android 应用的工具</td> 
  </tr> 
  <tr> 
   <td><strong>t2sz</strong></td> 
   <td>压缩文件为可寻址的 zstd 格式，支持 tar 存档的按文件寻址</td> 
  </tr> 
  <tr> 
   <td><strong>tini</strong></td> 
   <td>容器用的最小但有效的 init 进程</td> 
  </tr> 
  <tr> 
   <td><strong>yelp-xsl</strong></td> 
   <td>Yelp 文档转换工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>craft-agents</strong></td> 
   <td>连接多个数据源的 AI 助手</td> 
  </tr> 
  <tr> 
   <td><strong>font-ioskeley-mono</strong></td> 
   <td>等宽字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-strichpunkt-sans</strong></td> 
   <td>无衬线字体</td> 
  </tr> 
  <tr> 
   <td><strong>proton-meet</strong></td> 
   <td>Proton Meet 桌面客户端</td> 
  </tr> 
  <tr> 
   <td><strong>radial</strong></td> 
   <td>基于手势的应用、文本片段和脚本启动器</td> 
  </tr> 
  <tr> 
   <td><strong>remanager</strong></td> 
   <td>reMarkable 平板的模组管理桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>super</strong></td> 
   <td>融合结构化和半结构化数据的分析数据库</td> 
  </tr> 
  <tr> 
   <td><strong>vibeproxy</strong></td> 
   <td>让 AI 订阅在编码工具中可用的菜单栏应用</td> 
  </tr> 
  <tr> 
   <td><strong>wallspace</strong></td> 
   <td>动态壁纸应用</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>skip：把 Swift 搬到 Android 这件事</h3> 
<img width="600" alt="skip" src="https://rich-1e.sol.build/95809A3F-B597-49C9-9215-ACFD0BE9AD31/skip.png" /> 
<p>Swift 本来只活在苹果生态里。skip 想做的是：让你用 Swift 写一套代码，同时编译出 iOS 和 Android 应用。</p> 
<p>不是跨平台框架那种"写一次，到处丑"的方案。是"写 Swift，编译出真的 Kotlin"。它在编译层动了手脚，不是在运行时做兼容。</p> 
<p>这省掉的是"又要学 Kotlin 又要学 Swift"这件事。但代价是你得接受 skip 对 Swift 的理解——它能翻译的只是 Swift 的子集。</p> 
<hr /> 
<h3>rustpython：用 Rust 重写 Python 解释器</h3> 
<p>Python 慢是因为解释器用 C 写的，Rust 重写能快多少？rustpython 在试这个问题。</p> 
<p>它不是要替代 CPython，是在做"如果我想嵌入一个 Python 解释器到 Rust 项目里，我能不能不依赖 CPython"。这解决的是 FFI（Foreign Function Interface）的心智负担——不用管内存怎么在 Rust 和 C 之间传，直接在 Rust 里跑 Python 代码。</p> 
<p>但这意味着很多 CPython 的扩展不能用。如果你的代码依赖 numpy、pandas 这些，rustpython 暂时帮不了你。</p> 
<hr /> 
<h3>vibeproxy：让 AI 订阅共享给多个工具</h3> 
<p>你订阅了 Claude Pro，想在 VSCode、Cursor、终端里都用。vibeproxy 做的是：它假装自己是 OpenAI API，把请求转给你的 AI 订阅。</p> 
<p>省掉的是"每个编辑器都要配一遍 API key"这件事。也省掉"买多个订阅"的钱。</p> 
<p>但它是个代理层，所以延迟会多一点。而且它要一直跑在后台。适合那种"我就是想把 Claude 用在所有地方"的人。</p> 
<hr /> 
<h3>git-format-staged：只格式化你改过的代码</h3> 
<p>你在一个老项目里改了三行代码，prettier 想把整个文件重新格式化一遍。git commit 的时候 diff 一团糟，reviewer 看不出你到底改了什么。</p> 
<p>git-format-staged 做的是：只对你这次暂存的那几行代码跑格式化工具，其他地方不碰。</p> 
<p>这省掉的是"要不要先提一个纯格式化的 commit"这种纠结。也省掉"手动选中要格式化的行"的操作。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>graalvm 进 Homebrew 了，这是个信号——Native Image 的编译时间从"能忍"变成"可以接受"了吗？还是大家放弃了等它再快一点？</p> 
<p>skip 的思路很聪明，但我不确定会有多少人愿意把 Android 的生命周期交给一个编译层。万一哪天 Kotlin 出了新特性，skip 跟不上怎么办？</p> 
<p>vibeproxy 让我想起以前用 SS 的时候，那种"把一个订阅分给所有设备用"的感觉。工具本身没问题，但我隐约觉得这类需求的存在，说明现在 AI 订阅的定价模式还没稳定下来。</p> 
<hr /> 
<h2>结语</h2> 
<p>迁移永远比重新开始便宜，但只在你知道终点不会变的时候。</p> 
<p>这周的工具都在省一个成本：学习新东西的成本。但它们的代价是你得相信这条迁移路径会一直有人维护。</p> 
<blockquote> 
 <p>工具在变，但节奏不必跟着变。</p> 
</blockquote> 
<hr /> 
<p><strong>下期预告</strong><br /> 继续观察 Homebrew 的动向，看看四月中还会出现哪些"省心智成本"的工具。</p>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/89E12ED8-C4D5-480D-B9A7-B358D6FF72A7/</link>
        <guid>https://rich-1e.sol.build/89E12ED8-C4D5-480D-B9A7-B358D6FF72A7/</guid>
        <pubDate>Fri, 03 Apr 2026 19:24:04 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/89E12ED8-C4D5-480D-B9A7-B358D6FF72A7/2026-04-03_19-22.png" />    
        
        
        <description><![CDATA[
            <p>Obsidian 配合 AI 非常锋利 😉</p>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/8BCBC5D4-AC2C-4294-AD33-6DCB664C53EB/</link>
        <guid>https://rich-1e.sol.build/8BCBC5D4-AC2C-4294-AD33-6DCB664C53EB/</guid>
        <pubDate>Thu, 02 Apr 2026 18:11:13 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>rkt 可以优化token</p> 
<ul> 
 <li><a href="https://v2ex.com/t/1203016#reply78">感觉 ai agent 时代， windows 越来越不行了 - V2EX</a></li> 
 <li><a href="https://github.com/rtk-ai/rtk">rtk-ai/rtk: CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/8C02CFD4-8429-4D9F-B242-D28E7106C2D1/</link>
        <guid>https://rich-1e.sol.build/8C02CFD4-8429-4D9F-B242-D28E7106C2D1/</guid>
        <pubDate>Thu, 02 Apr 2026 15:12:06 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>Delta Skins</p> 
<ul> 
 <li><a href="https://github.com/simonevisciano/SV-DeltaSkins">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.</a></li> 
 <li><a href="https://fenx.work/make-a-delta-simulator-skin/">#86 做一款 Delta 模拟器皮肤</a></li> 
 <li><a href="https://deltastyles.com/skins/198-hzn-nintendo-ds-console-style">HZN - NINTENDO DS CONSOLE STYLE • DeltaStyles</a></li> 
 <li><a href="https://noah978.gitbook.io/delta-docs/skins">Delta Custom Skins | Delta-Docs</a></li> 
 <li><a href="https://whoisryosuke.com/blog/2024/the-guide-for-designing-delta-skins/">The guide for designing Delta skins - Ryosuke</a></li> 
 <li><a href="https://www.reddit.com/r/Delta_Emulator/comments/1hv9c2o/hands_on_gamebaby_a_iphone_case_built_exclusively/">上手体验：GAMEBABY——专为 Delta 模拟器打造的 iPhone 手机壳：r/Delta_Emulator --- Hands On: GAMEBABY - A iPhone Case Built Exclusively For Delta : r/Delta_Emulator</a></li> 
 <li><a href="https://drive.google.com/drive/folders/11akln0lgGmtexSyJZ0QXaEFsoMPfGNri">GAMEBABY Skins (Latest version) - Google 云端硬盘</a></li> 
 <li><a href="https://gamesir.com/products/gamesir-pocket-taco?srsltid=AfmBOooGjLsyTAlf_OJY52_371tbUymjYh53q_rZNd72qFOS0v-qaKtE">We are still here!</a></li> 
 <li><a href="https://alidocs.dingtalk.com/i/p/B3YxXAWZBdBAGNy27kmbLAYy3nj3YzLq">GameBaby 用户上手指南</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title></title>
        <link>https://rich-1e.sol.build/52CDE866-8785-4B9E-93F9-B4C6C7D28DE6/</link>
        <guid>https://rich-1e.sol.build/52CDE866-8785-4B9E-93F9-B4C6C7D28DE6/</guid>
        <pubDate>Wed, 01 Apr 2026 18:24:47 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>Crush 很炫酷的TUI～</p> 
<ul> 
 <li><a href="https://charm.land/blog/crush-and-docker-mcp/">Crush + Docker MCP</a></li> 
 <li><a href="https://github.com/charmbracelet/crush">charmbracelet/crush: Glamourous agentic coding for all 💘</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5728; vscode &#x4E2D;&#x5982;&#x4F55;&#x6392;&#x67E5;&#x6709;&#x95EE;&#x9898;&#x7684; extension&#xFF1F;</title>
        <link>https://rich-1e.sol.build/99AFA258-F0D3-4584-936F-D1CC6D851538/</link>
        <guid>https://rich-1e.sol.build/99AFA258-F0D3-4584-936F-D1CC6D851538/</guid>
        <pubDate>Wed, 01 Apr 2026 14:09:08 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>没事逛逛github还是有益的。</p> 
<p>这不，发现了这篇文章<a href="https://code.visualstudio.com/blogs/2021/02/16/extension-bisect">《Resolving extension issues with bisect》</a>。</p> 
<blockquote> 
 <p>"Just like git-bisect, but for VS Code extensions."</p> 
</blockquote> 
<p>通过二分查找的方式，可以很快确认有问题的 extension，非常实用。</p> 
<hr /> 
<p>文章发布的的时间很早了，大概是2021年。</p> 
<p>不得不说，vscode 的官方文档实在太多，很多有价值的内容，需要好好发掘。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260331 | &#x5F53;&#x22;&#x4ED8;&#x8D39;&#x22;&#x6210;&#x4E3A;&#x534F;&#x8BAE;</title>
        <link>https://rich-1e.sol.build/DFE93957-8382-4A56-A65A-067FCE99C69A/</link>
        <guid>https://rich-1e.sol.build/DFE93957-8382-4A56-A65A-067FCE99C69A/</guid>
        <pubDate>Tue, 31 Mar 2026 11:21:18 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260331/lazycut.gif" />    
        
        
        <description><![CDATA[
            <p><strong>HTTP 402，一个等了二十多年的状态码，终于有人把它当真了。</strong></p> 
<blockquote> 
 <p>三月末的更新列表里，有一种"不想等"的感觉。<br /> 不是那种急躁，是那种"既然要做，就不等标准完善了"的态度。<br /> 从终端里直接处理视频，到把付费写进 HTTP 客户端，都在说同一件事。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>工具开始不再假装自己很"通用"。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>crip</strong></td> 
   <td>提取服务器证书的工具</td> 
  </tr> 
  <tr> 
   <td><strong>dispenso</strong></td> 
   <td>高性能 C++ 并行编程库</td> 
  </tr> 
  <tr> 
   <td><strong>jsongrep</strong></td> 
   <td>JSON 文档路径查询语言</td> 
  </tr> 
  <tr> 
   <td><strong>lazycut</strong></td> 
   <td>终端视频剪辑 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>miniaudio</strong></td> 
   <td>音频播放和录制库</td> 
  </tr> 
  <tr> 
   <td><strong>nextpnr-ice40</strong></td> 
   <td>Lattice iCE40 FPGA 布线工具</td> 
  </tr> 
  <tr> 
   <td><strong>opentimestamps-client</strong></td> 
   <td>创建和验证 OpenTimestamps 证明</td> 
  </tr> 
  <tr> 
   <td><strong>pay</strong></td> 
   <td>自动处理 402 付费请求的 HTTP 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>pipewire-gstreamer</strong></td> 
   <td>PipeWire 的 GStreamer 插件</td> 
  </tr> 
  <tr> 
   <td><strong>proxelar</strong></td> 
   <td>HTTP/HTTPS 中间人代理</td> 
  </tr> 
  <tr> 
   <td><strong>qtcanvaspainter</strong></td> 
   <td>Qt Quick 加速 2D 绘图方案</td> 
  </tr> 
  <tr> 
   <td><strong>qttasktree</strong></td> 
   <td>Qt 异步任务执行库</td> 
  </tr> 
  <tr> 
   <td><strong>wireplumber</strong></td> 
   <td>PipeWire 会话和策略管理器</td> 
  </tr> 
  <tr> 
   <td><strong>xcursorgen</strong></td> 
   <td>从 PNG 图片生成 X 光标文件</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>altar-ai</strong></td> 
   <td>AI 驱动的会议助手</td> 
  </tr> 
  <tr> 
   <td><strong>claude-code@latest</strong></td> 
   <td>终端 AI 编程助手</td> 
  </tr> 
  <tr> 
   <td><strong>font-bj-cree</strong></td> 
   <td>BJ Cree 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-saira-stencil</strong></td> 
   <td>Saira Stencil 字体</td> 
  </tr> 
  <tr> 
   <td><strong>incident-io</strong></td> 
   <td>事故管理平台</td> 
  </tr> 
  <tr> 
   <td><strong>jiba</strong></td> 
   <td>Apple Music 元数据本地化工具</td> 
  </tr> 
  <tr> 
   <td><strong>nimbalyst</strong></td> 
   <td>用 Codex 和 Claude Code 构建的可视化工作区</td> 
  </tr> 
  <tr> 
   <td><strong>notchi</strong></td> 
   <td>Claude Code 的 Notch 伴侣工具</td> 
  </tr> 
  <tr> 
   <td><strong>nvidia-sync</strong></td> 
   <td>在远程 Linux 系统上启动应用和容器的工具</td> 
  </tr> 
  <tr> 
   <td><strong>ob-xf</strong></td> 
   <td>虚拟模拟合成器</td> 
  </tr> 
  <tr> 
   <td><strong>scribus@devel</strong></td> 
   <td>开源页面排版程序开发版</td> 
  </tr> 
  <tr> 
   <td><strong>voiden@beta</strong></td> 
   <td>API 开发工具测试版</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>lazycut：省掉"导出了再看"这一步</h3> 
<img width="600" alt="lazycut" src="https://rich-1e.sol.build/DFE93957-8382-4A56-A65A-067FCE99C69A/lazycut.gif" /> 
<p>终端里直接剪视频，听起来像是在秀肌肉。但它在省的心智成本其实是：你不用再"打开 Finder → 找到文件 → 拖进剪辑软件 → 等预览加载"。</p> 
<p>很多时候你只是想"把这段视频前面三秒切掉"，但完整的流程让你觉得"算了，就这样吧"。lazycut 把这个门槛降到了"cd 进目录就能干"的级别。</p> 
<p>它不是在替代专业剪辑软件。它是在替你省掉"为了一个三秒操作而打开一个三分钟启动的软件"这件事。</p> 
<hr /> 
<h3>pay：当 HTTP 402 不再是笑话</h3> 
<img width="600" alt="pay" src="https://rich-1e.sol.build/DFE93957-8382-4A56-A65A-067FCE99C69A/pay.png" /> 
<p>HTTP 状态码 402 Payment Required，从 1997 年就写在 RFC 里，但二十多年来都只是个"保留字段"。所有人都知道它存在，但没人真的用它。</p> 
<p>pay 这个工具的出现，不是在说"我们终于能用 402 了"，而是在说"我们不想等标准完善了"。它自己定义了一套规则，让 HTTP 客户端可以直接处理付费请求——基于 Solana 的链上支付。</p> 
<p>这种态度挺有意思的：与其等一个"所有人都同意"的标准，不如先做一个"能跑"的实现。它可能不会成为主流，但它在证明"这件事是可以做的"。</p> 
<hr /> 
<h3>一个趋势：AI 工具开始"搬家"</h3> 
<p>这次更新里出现了三个跟 Claude Code 相关的 cask：claude-code@latest、nimbalyst、notchi。</p> 
<p>这不是说 AI 工具变多了，而是说它们开始"离开浏览器"了。以前你要用 Claude，你就打开网页；现在你可以装个命令行工具，或者装个桌面伴侣。</p> 
<p>工具的形态在变，从"通用界面"变成"专用场景"。这种变化的底层逻辑是：当一个工具被频繁使用时，人们会希望它"更近一点"。不是功能上的近，是物理距离上的近——少开一个标签页，少切一次窗口。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>jsongrep 我可能会装，因为 jq 的语法我永远记不住，而"grep"这个词能让我少查一次文档。</p> 
<p>pay 我不会装，不是因为它不好，而是因为我不觉得现在"用 HTTP 付费"是个刚需。但我会记住它，因为它在证明一件事：标准可以是"先做出来"再慢慢达成共识的。</p> 
<p>至于那些 AI 伴侣工具，我觉得方向很明确，但可能还早。现在装一堆小工具，不如等它们合并成一个。</p> 
<hr /> 
<h2>结语</h2> 
<p>三月的最后一天，工具列表还是那么长。<br /> 但越来越少有工具会说"我什么都能干"。<br /> 它们都在说"我只干一件事，但我干得比你想象的近"。</p> 
<blockquote> 
 <p>工具在变，但节奏不必跟着变。</p> 
</blockquote> 
<hr /> 
<p><em>下期见。</em></p>
        ]]></description>
    </item>
    
    <item>
        <title>FreeTube &#x4F7F;&#x7528;&#x4F53;&#x9A8C;</title>
        <link>https://rich-1e.sol.build/DB81C268-67AF-41D6-8A2D-5FB28824D495/</link>
        <guid>https://rich-1e.sol.build/DB81C268-67AF-41D6-8A2D-5FB28824D495/</guid>
        <pubDate>Mon, 30 Mar 2026 13:31:48 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/DB81C268-67AF-41D6-8A2D-5FB28824D495/2026-03-30_13-45.png" />    
        
        
        <description><![CDATA[
            <p>FreeTube 使用过程中经常遇到错误，e.g.:</p> 
<blockquote> 
 <p>Uncaught Exception:<br /> Error: spawn iina ENOENT<br /> at ChildProcess._handle.onexit (node:internal/child_process:285:19)<br /> at onErrorNT (node:internal/child_process:483:16)<br /> at process.processTicksAndRejections (node:internal/process/task_queues:82:21)</p> 
</blockquote> 
<blockquote> 
 <p>A JavaScript error occurred in the main process</p> 
</blockquote> 
<hr /> 
<h3>步骤1：先设置 Invidious API</h3> 
<img width="600" alt="2026-03-30_13-45" src="https://rich-1e.sol.build/DB81C268-67AF-41D6-8A2D-5FB28824D495/2026-03-30_13-45.png" /> 
<p><strong>通过 <a href="https://api.invidious.io/">Invidious Instances</a> 获取开源的地址，然后点击【将当前实例设为默认】即可。</strong></p> 
<h3>步骤2: 不要配置外部播放器</h3> 
<img width="600" alt="2026-03-30_13-46" src="https://rich-1e.sol.build/DB81C268-67AF-41D6-8A2D-5FB28824D495/2026-03-30_13-46.png" /> 
<p>理论上，FreeTube 支持外部播放器，但是由于技术原因，需要一些配置。</p> 
<p><strong>如果配置不合理，体验会很差。所以，当前推荐【不要配置外部播放器】。</strong></p> 
<p>项目组有个专门讨论的 <a href="https://github.com/FreeTubeApp/FreeTube/discussions/7789">Discussions</a>。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.reddit.com/r/macapps/comments/1h5sax4/comment/mori9cu/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">IINA does not open youtube videos for some reason : r/macapps</a></li> 
 <li><a href="https://github.com/FreeTubeApp/FreeTube/issues/4132">[Bug]: IINA won't open: giving javascript error</a></li> 
 <li><a href="https://github.com/FreeTubeApp/FreeTube/issues/5506">[Bug]: Invidious API Error: SyntaxError: Unexpected end of JSON input</a></li> 
 <li><a href="https://www.reddit.com/r/mac/comments/1dfiblx/watch_youtube_ad_free_with_iina/?tl=zh-hans">用IINA无广告观看YouTube : r/mac</a></li> 
 <li><a href="https://juejin.cn/post/7371702152274608164">一款开源桌面 YouTube 播放器FreeTube —— 一款开源桌面 YouTube 播放器，基于 Electron</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Cline Kanban&#xFF1A;&#x4E00;&#x6B3E;&#x4E0E; CLI &#x65E0;&#x5173;&#x7684;&#x591A;&#x4EE3;&#x7406;&#x7F16;&#x6392;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;</title>
        <link>https://rich-1e.sol.build/05647AD8-E573-4361-B746-7A7C9B71E4F3/</link>
        <guid>https://rich-1e.sol.build/05647AD8-E573-4361-B746-7A7C9B71E4F3/</guid>
        <pubDate>Fri, 27 Mar 2026 16:26:14 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/05647AD8-E573-4361-B746-7A7C9B71E4F3/_videoThumbnail.png" />    
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://cline.bot/kanban">Cline Kanban - Orchestrate Coding Agents With a Kanban Board</a></li> 
 <li><a href="https://cline.bot/blog/announcing-kanban">Announcing Cline Kanban: a CLI-agnostic app for multi-agent orchestration.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Apifox&#x4F9B;&#x5E94;&#x94FE;&#x653B;&#x51FB;&#x4E4B;&#x540E;&#xFF1A;&#x4E00;&#x6B21;&#x5F00;&#x53D1;&#x8005;&#x7684;&#x81EA;&#x68C0;&#x6E05;&#x5355;</title>
        <link>https://rich-1e.sol.build/6BF61950-56D7-4ECA-80D8-680F22F93ABA/</link>
        <guid>https://rich-1e.sol.build/6BF61950-56D7-4ECA-80D8-680F22F93ABA/</guid>
        <pubDate>Fri, 27 Mar 2026 10:19:07 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/6BF61950-56D7-4ECA-80D8-680F22F93ABA/2026-03-27_11-30.png" />    
        
        
        <description><![CDATA[
            <p>这件事情发生有2天了，起初根本没在意。</p> 
<p>今天在 v2 再次刷到 <a href="https://v2ex.com/t/1201478">此次 ApiFox 是否中招自查命令</a>。</p> 
<p><strong>【包括不限于: SSH 私钥、Git 凭证和命令行历史】</strong>，这段话让我有了后怕。</p> 
<p>接着，迅速检查电脑和采取修复以及防御手段。</p> 
<hr /> 
<h2>检查电脑</h2> 
<blockquote> 
 <p>下列涉及的命令都是 macOS 支持的，其他平台<a href="https://v2ex.com/t/1201478">参考</a>。</p> 
</blockquote> 
<ol> 
 <li>检查 Electron localStorage 中是否存在 _rl_headers、_rl_mc 键</li> 
</ol> 
<pre><code class="language-sh">grep -arlE "rl_mc|rl_headers" ~/Library/Application\ Support/apifox/Local\ Storage/leveldb
</code></pre> 
<ol start="2"> 
 <li>检查 dns 历史中是否存在 apifox.it.com 的解析记录</li> 
</ol> 
<pre><code class="language-sh">sudo dscacheutil -q host -a name apifox.it.com
</code></pre> 
<p><img src="https://i.imgur.com/bRvvCfq.png" alt="" /></p> 
<ol start="3"> 
 <li>检查历史 HTTP 请求头中是否包含 af_uuid、af_os 等异常字段，</li> 
</ol> 
<p>这个事情处理有点难度，<strong>建议使用 AI 工具来执行。</strong></p> 
<img width="600" alt="2026-03-27_11-30" src="https://rich-1e.sol.build/6BF61950-56D7-4ECA-80D8-680F22F93ABA/2026-03-27_11-30.png" /> 
<h2>修复和防御</h2> 
<p>特别说明，本次事件受影响范围：<strong>受影响用户为“公网 SaaS 版 Apifox 桌面客户端”用户。SaaS Web 版用户不受影响；私有化部署版用户不受影响。</strong></p> 
<p>立即采取的行动:</p> 
<ol> 
 <li> <p>立即升级： 请尽快将 Apifox 客户端升级至 2.8.19 或最新版本。</p> </li> 
 <li> <p>重置凭证： 若您在上述风险时间段内使用过受影响版本，请务必联系您的团队，全面排查并重置在设备里 <code>~/.ssh/</code>、<code>~/.zsh_history</code>、<code>~/.bash_history</code>、<code>~/.git-credentials</code> 等处存储过的敏感凭证（包括但不限于 Git 密钥、鉴权密钥、数据库密码、云服务 Access Key 及环境变量等）。</p> </li> 
 <li> <p>阻断恶意域名：apifox.it.com ，可以在 host 文件里增加配置：<code>127.0.0.1 apifox.it.com</code></p> </li> 
</ol> 
<img width="600" alt="2026-03-27_11-31" src="https://rich-1e.sol.build/6BF61950-56D7-4ECA-80D8-680F22F93ABA/2026-03-27_11-31.png" /> 
<hr /> 
<h2>为什么会发生这样的事情？</h2> 
<blockquote> 
 <p>供应链攻击，本质不是漏洞，<strong>而是“信任链被利用”。</strong></p> 
</blockquote> 
<p>为了防范此类事情再次发生，作为开发者，有必要列一个自检清单。</p> 
<h3>本地开发环境</h3> 
<ul> 
 <li>是否开启自动更新？</li> 
 <li>是否验证安装包来源（hash / 签名）？</li> 
 <li>是否区分“工作环境 / 测试环境”？</li> 
</ul> 
<p>👉 建议：</p> 
<ul> 
 <li>关键工具关闭自动更新</li> 
 <li>下载后的安装包做 hash 校验（哪怕是关键工具）</li> 
 <li>严格区分“工作环境 / 测试环境”</li> 
</ul> 
<h3>依赖管理</h3> 
<ul> 
 <li>是否锁版本（package-lock.json / go.sum 等）</li> 
 <li>是否盲目 latest</li> 
 <li>是否使用第三方镜像源（npm mirror / pip 源）</li> 
</ul> 
<p>👉 建议：</p> 
<ul> 
 <li>关键依赖锁定版本</li> 
 <li>建立私有化仓库，减少第三方镜像源依赖</li> 
</ul> 
<h3>CI/CD 与自动化</h3> 
<ul> 
 <li>CI 是否每次重新拉依赖？</li> 
 <li>是否有缓存污染风险？</li> 
 <li>构建流程是否可追溯？</li> 
</ul> 
<p>👉 建议：</p> 
<ul> 
 <li>固定依赖版本</li> 
 <li>构建环境可复现（Docker / lockfile）</li> 
</ul> 
<h3>权限与隔离</h3> 
<ul> 
 <li>是否在开发机使用高权限运行工具？</li> 
 <li>是否把敏感 token 放在本地明文？</li> 
 <li>是否做最小权限控制？</li> 
</ul> 
<p>👉 建议：</p> 
<ul> 
 <li>为开发机创建非高权限的特定账户</li> 
 <li>敏感数据加密</li> 
</ul> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://mp.weixin.qq.com/s/GpACQdnhVNsMn51cm4hZig">关于 Apifox 公网 SaaS 版外部 JS 文件受篡改的风险提示与升级公告</a></li> 
 <li><a href="https://rce.moe/2026/03/25/apifox-supply-chain-attack-analysis/">Apifox 供应链投毒攻击 — 完整技术分析</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>YTLite&#xFF0C;good boy ~</title>
        <link>https://rich-1e.sol.build/10602B12-862B-4591-9656-6DA3BF3FEF66/</link>
        <guid>https://rich-1e.sol.build/10602B12-862B-4591-9656-6DA3BF3FEF66/</guid>
        <pubDate>Wed, 25 Mar 2026 15:08:57 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://litterbox.catbox.moe/">Litterbox</a></li> 
 <li><a href="https://github.com/dayanch96/YTLite">dayanch96/YTLite: A flexible enhancer for YouTube on iOS</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528; SideStore &#x26; LiveContainer &#x90FD;&#x5B89;&#x88C5;&#x4E86;&#x54EA;&#x4E9B;app&#xFF1F;</title>
        <link>https://rich-1e.sol.build/DD398D27-62D7-468A-BC64-53CF8B63A9A4/</link>
        <guid>https://rich-1e.sol.build/DD398D27-62D7-468A-BC64-53CF8B63A9A4/</guid>
        <pubDate>Wed, 25 Mar 2026 14:03:24 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/DD398D27-62D7-468A-BC64-53CF8B63A9A4/IMG_0518.PNG" />    
        
        
        <description><![CDATA[
            <img width="300" alt="IMG_0518" src="https://rich-1e.sol.build/DD398D27-62D7-468A-BC64-53CF8B63A9A4/IMG_0518.PNG" /> 
<ul> 
 <li>Kazumi</li> 
 <li>SameBoy</li> 
 <li>Asspp</li> 
 <li>Tachimanga</li> 
 <li>Mangayomi</li> 
 <li>YouTube</li> 
 <li>VCMI</li> 
 <li>Aidoku</li> 
 <li>iPA 商店</li> 
 <li>源阅读</li> 
 <li>Venera</li> 
</ul> 
<hr /> 
<p>为何会有这些app？难度 Apple Store 还不够多？</p> 
<p>个人理解，<strong>需求难以满足😌，懂？！</strong></p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.v2ex.com/t/1181671">不能用巨魔的你们都自签了哪些 app - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/923985">Playcover 安装小红书 - V2EX</a></li> 
 <li><a href="https://github.com/bggRGjQaUbCoE/PiliPlus">bggRGjQaUbCoE/PiliPlus: PiliPlus</a></li> 
 <li><a href="https://github.com/NeoFreeBird/app">NeoFreeBird/app: A modified Twitter app, with branding reverts, BHTwitter and other QoL modifications.</a></li> 
 <li><a href="https://github.com/leminlimez/Pocket-Poster">leminlimez/Pocket-Poster</a></li> 
 <li><a href="https://github.com/feathericons/feather">feathericons/feather: Simply beautiful open-source icons</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>ipa &#x7838;&#x58F3;</title>
        <link>https://rich-1e.sol.build/FC9EEACA-3211-49DA-8904-0F0F34E6A1EC/</link>
        <guid>https://rich-1e.sol.build/FC9EEACA-3211-49DA-8904-0F0F34E6A1EC/</guid>
        <pubDate>Wed, 25 Mar 2026 13:40:09 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>iOS 的 IPA “砸壳”（Decrypt / Dump Mach-O）本质是：<strong>把 App Store 加密的二进制在运行时解密并导出。不同方法的核心差异在于：是否越狱、是否依赖调试工具、以及稳定性。</strong></p> 
<hr /> 
<p>下面列举一些砸壳的方式：</p> 
<table> 
 <thead> 
  <tr> 
   <th><strong>方法</strong></th> 
   <th><strong>是否越狱</strong></th> 
   <th><strong>成功率</strong></th> 
   <th><strong>难度</strong></th> 
   <th><strong>推荐程度</strong></th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td>frida dump</td> 
   <td>✅</td> 
   <td>⭐⭐⭐⭐⭐</td> 
   <td>中</td> 
   <td>⭐⭐⭐⭐⭐</td> 
  </tr> 
  <tr> 
   <td>Clutch</td> 
   <td>✅</td> 
   <td>⭐⭐⭐⭐</td> 
   <td>低</td> 
   <td>⭐⭐⭐⭐</td> 
  </tr> 
  <tr> 
   <td>dumpdecrypted</td> 
   <td>✅</td> 
   <td>⭐⭐⭐</td> 
   <td>高</td> 
   <td>⭐⭐⭐</td> 
  </tr> 
  <tr> 
   <td>非越狱 frida</td> 
   <td>❌</td> 
   <td>⭐⭐</td> 
   <td>高</td> 
   <td>⭐⭐</td> 
  </tr> 
  <tr> 
   <td>重签名注入</td> 
   <td>❌</td> 
   <td>⭐⭐</td> 
   <td>高</td> 
   <td>⭐⭐</td> 
  </tr> 
  <tr> 
   <td>TrollStore</td> 
   <td>❌</td> 
   <td>⭐⭐⭐</td> 
   <td>中</td> 
   <td>⭐⭐⭐</td> 
  </tr> 
 </tbody> 
</table> 
<blockquote> 
 <p>个人看法，<strong>最好使用越狱的手机砸壳，简单稳定。</strong></p> 
</blockquote> 
<hr /> 
<p>对于不折腾技术的人来说，可以使用第三方（服务或者社区）提供的已经砸过壳的资源。</p> 
<p>推荐2个：</p> 
<ul> 
 <li><a href="https://armconverter.com/decryptedappstore/us">armconverter.com</a></li> 
 <li><a href="https://appdb.to/">appdb.to</a></li> 
</ul> 
<p>事实上还有很多，<strong>大家在使用的时候注意安全和隐私即可。</strong></p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/924173">使用 frida-ios-dump 和 CrackerXI+砸壳的 ipa 有加密？ - V2EX</a></li> 
 <li><a href="https://dumpappdoc.feishu.cn/docx/ADWLdtP4BofBQmx5jpvcSuainbd">爱思助手提示 - 签名失败 - 飞书云文档</a></li> 
 <li><a href="https://v2ex.com/t/904455">有没有砸壳 ipa 分享的站点或者网盘 - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/835194">iOS：如何自动砸壳 - V2EX</a>- <a href="https://www.tenorshare.tw/iphone-tips/appdb-alternative.html">2026 AppDB安裝教學：免越獄下載iOS區域限制應用 | 完整指南</a></li> 
 <li><a href="https://ivonblog.com/posts/ios-sideloading-udid-registrations/#13-%E7%AC%AC%E4%B8%89%E6%96%B9%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E5%95%86%E5%BA%97">iOS安裝第三方APP，UDID Registrations + appdb付費簽名IPA · Ivon的部落格</a></li> 
 <li><a href="https://juejin.cn/post/6844903846544670733">iOS10.2下的IPA砸壳从App Store上下载的ipa里面的二进制文件是经过加密的，class-dump和Hop - 掘金</a></li> 
 <li><a href="http://www.gamelook.com.cn/2012/11/99204/">iOS游戏安全之IPA破解原理及防御 | 游戏大观 | GameLook.com.cn</a></li> 
 <li><a href="https://juejin.cn/post/6844903709122527246#heading-8">iOS 打包签名，你真的懂吗？iOS签名类型有Development、AD-Hoc、In-House与App Store - 掘金</a></li> 
 <li><a href="https://www.v2ex.com/t/447347">一个提供在线免费 IPA 重签的网站 - V2EX</a>- <a href="https://sign.ipasign.cc/">IPASignX - sign ipa files online without macOS for beta-testing</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/481232715">(99+ 封私信 / 81 条消息) 解决 zxtouch crackerxi 等插件在 coolstar 系 iOS 越狱工具 Odyssey Taurine 环境下无权写入导致不能正常使用的问题 - 知乎</a></li> 
 <li><a href="https://iosre.com/t/%E8%A7%A3%E5%86%B3-ios-124-killed-9-%E7%9A%84%E9%97%AE%E9%A2%98/15633">解决 iOS 12.4 Killed: 9 的问题 - 干货分享 - 睿论坛</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>ipa &#x83B7;&#x53D6;&#x65B9;&#x5F0F;</title>
        <link>https://rich-1e.sol.build/387057A0-19D3-45CF-AF89-62174DB8D440/</link>
        <guid>https://rich-1e.sol.build/387057A0-19D3-45CF-AF89-62174DB8D440/</guid>
        <pubDate>Tue, 24 Mar 2026 18:33:20 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/387057A0-19D3-45CF-AF89-62174DB8D440/2026-03-24_18-52.png" />    
        
        
        <description><![CDATA[
            <p>一些场景下，我们需要获取 ipa 安装包。</p> 
<p>通常可以用 Apple Configurator 2 获得。</p> 
<p>如果是非 macOS 系统，需要略懂一点技术。</p> 
<hr /> 
<h2>ipatool</h2> 
<ul> 
 <li>支持的操作系统（Windows、Linux 或 macOS）</li> 
 <li>有 Apple ID 可以使用 App Store</li> 
</ul> 
<p>同时满足上面👆2个 条件，就能愉快玩耍。</p> 
<img width="2064" alt="2026-03-24_18-52" src="https://rich-1e.sol.build/387057A0-19D3-45CF-AF89-62174DB8D440/2026-03-24_18-52.png" /> 
<blockquote> 
 <p>运行时报错不要慌，在官方<a href="https://github.com/majd/ipatool/issues">issues</a>上有答案。</p> 
</blockquote> 
<pre><code class="language-sh"># 登录账户
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
</code></pre> 
<h2>Asspp</h2> 
<p>如果想在手机上操作，也可以使用 Asspp。</p> 
<img width="600" alt="Asspp" src="https://rich-1e.sol.build/387057A0-19D3-45CF-AF89-62174DB8D440/Apptisan_Asspp.png" /> 
<p>具体操作方式，参考<a href="https://github.com/Lakr233/Asspp">README</a>。</p> 
<p><strong>使用 Asspp 的优势，可以同时切换多个 Apple ID</strong></p> 
<p>另外也可以使用 <a href="https://assppweb.com/zh-CN/">App Store IPA 在线下载工具</a>。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://qianling.pw/ios-app/">iOS 旧版 APP 推荐与降级方法（持续更新） | 千灵</a></li> 
 <li><a href="https://josephcz.xyz/technology/ios/download-ios-old-version-apps-with-itunes/">通过 iTunes 官方途径下载 iOS 旧版本应用 | Joseph's Blog</a></li> 
 <li><a href="https://www.v2ex.com/t/1200636#reply10">给 WeChat 无痛降级，解决服务号折叠带来的麻烦 - V2EX</a></li> 
 <li><a href="https://us.v2ex.com/t/1193569">不用愁签名问题了， Asspp 发布网页版，免切账号 AppStore 换区/下载旧版本 - V2EX</a></li> 
 <li><a href="https://x.com/Lakr233/status/2025606889321713681">砍砍.ᐟ on X: "玩的开心～ 找你身边的大佬给你部署吧（ 一定要是你信任的人哦，虽然软件开源并且做了各种安全设计，但顶不住人家给你改代码用假的后台。🤡 docker pull ghcr-io/lakr233/assppweb:latest https://t.co/fZHHx4YFeW" / X</a></li> 
 <li><a href="https://github.com/Lakr233/Asspp/releases">Releases · Lakr233/Asspp</a></li> 
 <li><a href="https://github.com/majd/ipatool">majd/ipatool: Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store</a></li> 
 <li><a href="https://github.com/Lakr233/AssppWeb">Lakr233/AssppWeb --- Lakr233/AssppWeb</a>- <a href="https://www.appmiu.com/circle/15675.html">苹果ipa合辑🍎 – APP喵：资源</a></li> 
 <li><a href="https://www.appmiu.com/circle/15993.html">IPA下载网站，需要iosgods网站登录 – APP喵：资源</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260323 | &#x5F53;&#x5F00;&#x53D1;&#x73AF;&#x5883;&#x5F00;&#x59CB;&#x56F4;&#x7ED5; AI &#x91CD;&#x7EC4;</title>
        <link>https://rich-1e.sol.build/00C861C4-9DF2-4431-9BD2-90C87512C7A6/</link>
        <guid>https://rich-1e.sol.build/00C861C4-9DF2-4431-9BD2-90C87512C7A6/</guid>
        <pubDate>Mon, 23 Mar 2026 18:11:39 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260323/cline.gif" />    
        
        
        <description><![CDATA[
            <p><strong>开发工具的边界正在从“代码编辑器”向“上下文与代理”扩散。</strong></p> 
<blockquote> 
 <p>这一期看起来是常规的 CLI 与数据库工具更新，<br /> 但仔细看，会发现多个项目都在解决同一个问题：<br /> 如何让 AI 与开发环境协同工作。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p><strong>开发工具链正在为 AI 代理准备新的接口层。</strong></p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>apache-arrow-adbc</strong></td> 
   <td>基于 Arrow 的跨语言数据库访问接口</td> 
  </tr> 
  <tr> 
   <td><strong>cline</strong></td> 
   <td>面向复杂任务的 AI 编码代理</td> 
  </tr> 
  <tr> 
   <td><strong>ctx7</strong></td> 
   <td>管理 AI 编程上下文与技能文档的工具</td> 
  </tr> 
  <tr> 
   <td><strong>cyan</strong></td> 
   <td>iOS 应用注入与修改工具</td> 
  </tr> 
  <tr> 
   <td><strong>dtop</strong></td> 
   <td>跨主机 Docker 监控终端面板</td> 
  </tr> 
  <tr> 
   <td><strong>et</strong></td> 
   <td>支持 IP 漫游的远程终端</td> 
  </tr> 
  <tr> 
   <td><strong>ggml</strong></td> 
   <td>轻量级机器学习张量库</td> 
  </tr> 
  <tr> 
   <td><strong>icestorm</strong></td> 
   <td>iCE40 FPGA 比特流分析工具</td> 
  </tr> 
  <tr> 
   <td><strong>lief</strong></td> 
   <td>可执行文件分析与修改库</td> 
  </tr> 
  <tr> 
   <td><strong>oh-my-agent</strong></td> 
   <td>多 Agent 工作流运行框架</td> 
  </tr> 
  <tr> 
   <td><strong>portless</strong></td> 
   <td>用可读名称替代本地端口号</td> 
  </tr> 
  <tr> 
   <td><strong>summarize</strong></td> 
   <td>多模态内容摘要工具</td> 
  </tr> 
  <tr> 
   <td><strong>wmbusmeters</strong></td> 
   <td>读取智能仪表数据的工具</td> 
  </tr> 
  <tr> 
   <td><strong>zycore-c</strong></td> 
   <td>Zyan C 核心库</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>dbeaverteam</strong></td> 
   <td>通用数据库客户端</td> 
  </tr> 
  <tr> 
   <td><strong>dbvr</strong></td> 
   <td>轻量级数据库操作 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>fidelity-trader+</strong></td> 
   <td>股票交易平台</td> 
  </tr> 
  <tr> 
   <td><strong>font-selawik</strong></td> 
   <td>Selawik 字体</td> 
  </tr> 
  <tr> 
   <td><strong>supasidebar</strong></td> 
   <td>类 Arc 的跨浏览器侧边栏</td> 
  </tr> 
  <tr> 
   <td><strong>tencent-ugit</strong></td> 
   <td>腾讯 Git 图形客户端</td> 
  </tr> 
  <tr> 
   <td><strong>voicemod</strong></td> 
   <td>实时变声与音效工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<hr /> 
<h3>cline：AI 编程代理开始走向“复杂任务执行”</h3> 
<img width="600" alt="cline" src="https://rich-1e.sol.build/00C861C4-9DF2-4431-9BD2-90C87512C7A6/cline.gif" /> 
<p>cline 并不是一个简单的代码生成工具，而是一个可以持续执行任务的 AI 编码代理。它的价值在于把“生成代码”升级为“管理开发流程”，例如跨文件修改、测试修复和任务拆解。这类工具的意义不在于写代码更快，而是降低人类维护上下文与状态的心智负担，让开发者从指挥者变成监督者。</p> 
<hr /> 
<h3>apache-arrow-adbc：数据库访问正在被重新标准化</h3> 
<p>ADBC 试图把数据库访问统一到 Apache Arrow 的内存格式之上，让不同语言与数据库之间共享同一套数据接口。这意味着数据分析、机器学习与应用程序之间的数据复制和序列化成本会显著下降。对需要跨语言或高性能数据处理的系统来说，这是一种从根层提升效率的基础设施。</p> 
<hr /> 
<h3>portless：本地开发环境正在向“可读化网络”演进</h3> 
<p>portless 通过为本地服务分配稳定、可读的 URL（如 <code>api.local</code>）来替代随机端口号。这不仅提升人类可读性，也让 AI Agent 能更稳定地调用本地服务。随着本地服务数量增加，这种命名层实际上是在给开发环境补上一层“DNS”，减少记忆端口与修改配置的认知成本。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期的工具并没有特别“炫技”的项目，但多个工具都在围绕同一件事：<br /> 让开发环境对 AI 更友好。</p> 
<p>有些工具你可能永远不会直接安装，比如 ADBC；<br /> 但它们一旦被框架或数据库采用，就会悄悄进入你的日常工作流。</p> 
<hr /> 
<h2>结语</h2> 
<p>开发工具的演进往往不是通过一个明星项目完成的，<br /> 而是通过一组看似分散的小工具慢慢重构生态。</p> 
<blockquote> 
 <p>工具在变，但节奏不必跟着变。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>iOS Developer Ready~</title>
        <link>https://rich-1e.sol.build/E2BA6A1C-9FC7-4E38-9551-9714FA5695A7/</link>
        <guid>https://rich-1e.sol.build/E2BA6A1C-9FC7-4E38-9551-9714FA5695A7/</guid>
        <pubDate>Fri, 20 Mar 2026 14:31:08 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://www.trae.cn/article/3133529090">iOS签名证书的获取与配置实践指南 | TRAE - The Real AI Engineer</a></li> 
 <li><a href="https://juejin.cn/post/7222475192932892728">最新版iOS Xcode如何证书配置和ipa打包（附图文教程）如果你是一名IOS或跨端开发人员，你是否有个焦虑，APP开 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7592062873829294130">苹果开发者账号申请的痛点，包含新限制说明！背景 上车AppStore必经之路，苹果开发者账号注册。简单盘点一下，申请苹果 - 掘金</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>SideStore&#x5237;&#x65B0;&#x95EE;&#x9898;&#xFF1A;The data couldn&#x2019;t be read because it isn&#x2019;t in the correct format</title>
        <link>https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/</link>
        <guid>https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/</guid>
        <pubDate>Tue, 17 Mar 2026 10:20:41 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/sidestore-refresh-problem/534193402-ee6a92df-5612-4c8c-a05b-092349cfbdf6.png" />    
        
        
        <description><![CDATA[
            <blockquote> 
 <p>The data couldn’t be read because it isn’t in the correct format.</p> 
</blockquote> 
<img width="300" alt="Error Log" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/534193402-ee6a92df-5612-4c8c-a05b-092349cfbdf6.png" /> 
<p>最近一直被这个问题困扰😕，非常影响使用体验：我几乎每天都要计算时间，以确保不会过期掉签。</p> 
<p>在网上找了大量资料，总结了2个方案解决。</p> 
<hr /> 
<p>在说解决方案之前，需要先对这个<a href="https://github.com/SideStore/SideStore/issues/1146#issuecomment-3793599995">问题产生的原因</a>有所了解。</p> 
<p>大致情况就是：</p> 
<blockquote> 
 <p><code>gsa.apple.com</code> 域名的访问被限制🚫</p> 
</blockquote> 
<p>如果在使用 SideStore / LocalDevVPN / iLoader 过程中，访问不了，就会导致刷新失败。</p> 
<hr /> 
<h2>方案一</h2> 
<blockquote> 
 <p>找一台挂梯子🪜的电脑，手机和电脑在同一局域网，在手机网络中配置代理，连接电脑。</p> 
</blockquote> 
<p>具体可<a href="https://github.com/SideStore/SideStore/issues/1143#issuecomment-3805434771">【参考】</a>。</p> 
<hr /> 
<h2>方案二</h2> 
<p>使用VPN工具自带的<strong>TUN模式</strong>，目前已知具有这个功能的VPN如下：</p> 
<ul> 
 <li><a href="https://github.com/KaringX/clashmi">Clash Mi</a></li> 
 <li><a href="https://github.com/sagernet/sing-box">sing-box</a></li> 
</ul> 
<p><strong>使用 Clash Mi 项目<a href="https://sub.ikar.eu.org/">【自带的配置工具】</a>可以比较快速的解决。</strong></p> 
<img width="600" alt="2026-03-17_10-54" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/2026-03-17_10-54.png" /> 
<p>然后在生成的文件中加入：</p> 
<pre><code class="language-yaml">tun:
  loopback-address:
    - 10.7.0.1
</code></pre> 
<p>具体<a href="https://github.com/tom-snow/Sidestore-ClashMi">参考</a></p> 
<p><strong>sing-box 有点麻烦👿</strong></p> 
<p>apple store 上架的版本，目前是1.11.4，已经有一年时间未更新。</p> 
<img width="300" alt="20260317110111_140_156" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/20260317110111_140_156.jpg" /> 
<p>然而，sing-box 的TUN模式下支持 loopback_address 功能，<strong>需要 1.12.0 起。</strong></p> 
<img width="600" alt="2026-03-17_11-22" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/2026-03-17_11-22.png" /> 
<p>所以，通过加入 sing-box 项目的 TestFlight 获得app是比较快速🔜的方式。</p> 
<img width="600" alt="2026-03-17_11-20" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/2026-03-17_11-20.png" /> 
<p>另外，就只能通过自行编译获得。<br /> 但似乎有其他问题，即使构建了ipa文件，也安装不上。</p> 
<img width="600" alt="2026-03-17_11-27" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/2026-03-17_11-27.png" /> 
<p>感觉 sing-box 的开发者也挺难，在自己的blog中写道：</p> 
<img width="600" alt="2026-03-17_11-29" src="https://rich-1e.sol.build/1A58E9CB-814C-4A46-A8CE-0695712098FF/2026-03-17_11-29.png" /> 
<hr /> 
<p>多说一句，Shadowrocket 支持 TUN 模式，但类似 loopback_address 的功能不知道如何配置，需要去社区找资料。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1161589">求一份在 macOS 上能用的 sing-box 1.12 的 tun 配置 - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/t/988743">clash 配置文件转 sing-box 模板 - V2EX</a></li> 
 <li><a href="https://github.com/xmdhs/clash2singbox">xmdhs/clash2singbox: 将 clash.meta 格式的配置文件或链接转换为 sing-box 格式</a></li> 
 <li><a href="https://github.com/xmdhs/clash2sfa">xmdhs/clash2sfa: 将 Clash.Meta 格式 / 原始格式的订阅链接转换为 sing-box 格式的订阅，用于 SFA</a></li> 
 <li><a href="https://clash2sfa.xmdhs.com/">clash 订阅链接转 sing-box</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1146#issuecomment-3793071197">The data couldn’t be read because it isn’t in the correct format. · Issue #1146 · SideStore/SideStore</a></li> 
 <li><a href="https://github.com/KaringX/clashmi">KaringX/clashmi: Clash Mihomo for iOS/MacOS/Android/Windows/Linux</a></li> 
 <li><a href="https://clashmi.app/wiki/configuration-reference">参考配置 | Clash Mi Project</a></li> 
 <li><a href="https://github.com/Kwisma/cf-worker-mihomo">Kwisma/cf-worker-mihomo: 快速生成mihomo（clash meta）配置文件, 适用于软路由 mihomo 内核，clash meta 客户端等</a></li> 
 <li><a href="https://github.com/DuckerX/Clash-Mi">DuckerX/Clash-Mi: Clash Mi 使用教程｜小火箭免费平替｜最简单的 iOS 图文教程</a></li> 
 <li><a href="https://t.me/s/zhetengsha?q=%23Anisette&amp;before=4483">折腾啥 – Telegram</a></li> 
 <li><a href="https://t.me/zhetengsha_group/1153428">Telegram: View @zhetengsha_group</a></li> 
 <li><a href="https://sing-box.sagernet.org/zh/configuration/inbound/tun/#loopback_address">Tun - sing-box</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1143?timeline_page=1">- [BUG] NSCocoaErrorDomain 3840; can’t refresh the apps · Issue #1143 · SideStore/SideStore</a></li> 
 <li><a href="https://github.com/tom-snow/Sidestore-ClashMi/issues/5">- [Q&amp;A]常见问题解答 · Issue #5 · tom-snow/Sidestore-ClashMi</a></li> 
 <li><a href="https://github.com/tom-snow/Sidestore-ClashMi">tom-snow/Sidestore-ClashMi: 使用 ClashMi 替代 LocalDevVPN / StosVPN 。解决部分运营商对 gsa.apple.com 不友好的问题。</a></li> 
 <li><a href="https://roundagent.com/2026/01/29/%E8%A7%A3%E5%86%B3altstore%E3%80%81sidestore%E4%B8%8D%E8%83%BD%E5%88%B7%E6%96%B0%E7%9A%84%E9%97%AE%E9%A2%98/">解决altstore、sidestore不能刷新的问题 – 环顾四周</a></li> 
 <li><a href="https://github.com/SideStore/SideStore/issues/1146#issuecomment-3793599995">数据格式不正确，无法读取。· 问题 #1146 · SideStore/SideStore --- The data couldn’t be read because it isn’t in the correct format. · Issue #1146 · SideStore/SideStore</a></li> 
 <li><a href="https://www.onmyodev.com/2025/12/sidestore-ios-%E4%BE%A7%E8%BD%BD%E6%95%99%E7%A8%8B/#_SideStore">SideStore iOS 侧载教程 - 晴雨技术笔记</a></li> 
 <li><a href="https://wiki.metacubex.one/en/example/conf/?h=fake+ip#__tabbed_1_1">Quick configuration - mihomo docs</a></li> 
 <li><a href="https://linux.do/t/topic/1501343/3">最近sidestore无法刷新续签的解决办法（无需用LocalDevVPN） - 开发调优 - LINUX DO</a></li> 
 <li><a href="https://www.nodeseek.com/post-589847-1">Sub-Store Sing-box配置生成及简单分流</a></li> 
 <li><a href="https://sekai.icu/posts/three-years-of-sing-box/">三年后的 sing-box | 世界</a></li> 
 <li><a href="https://x.com/nek0hasekai/status/1933035819314655679">(17) 世界 on X: "sing-box 的 TUN 现在实现了 SideStore 的 StosVPN。在 iPhone 上可以代替 StosVPN，作为网关时也可以对局域网设备生效。 https://t.co/4cu5HdM3BA" / X</a></li> 
 <li><a href="https://sing-box.sagernet.org/zh/clients/apple/#source-code">sing-box for Apple platforms - sing-box</a></li> 
 <li><a href="https://github.com/SagerNet/sing-box/issues/409">建议：发布 iOS 版 IPA 包 · 问题 #409 · SagerNet/sing-box --- Suggestion: release IPA package for iOS · Issue #409 · SagerNet/sing-box</a></li> 
 <li><a href="https://github.com/SagerNet/sing-box/issues/3242">建议：提供 iOS 平台 IPA 安装包 · 问题 #3242 · SagerNet/sing-box --- Suggestion: provide iOS platform IPA installation package · Issue #3242 · SagerNet/sing-box</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260316 | &#x5F53;&#x5F00;&#x53D1;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x63A5;&#x7BA1;&#x590D;&#x6742;&#x6027;</title>
        <link>https://rich-1e.sol.build/214004E9-EF4D-4889-ADE4-DACF8A600B24/</link>
        <guid>https://rich-1e.sol.build/214004E9-EF4D-4889-ADE4-DACF8A600B24/</guid>
        <pubDate>Mon, 16 Mar 2026 11:11:23 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260316/nono-logo.png" />    
        
        
        <description><![CDATA[
            <p><strong>很多新工具，并不是为了增加能力，而是减少摩擦。</strong></p> 
<blockquote> 
 <p>当项目规模变大，<br /> 真正消耗注意力的往往不是功能实现，<br /> 而是构建、协作和隔离这些基础环节。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这周新增工具明显围绕 <strong>构建效率、AI Agent 安全运行、协作开发体验</strong> 三个方向展开。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>buildkitd</strong></td> 
   <td>Docker BuildKit 构建守护进程，支持并发构建与高效缓存</td> 
  </tr> 
  <tr> 
   <td><strong>docker-engine</strong></td> 
   <td>Docker 容器运行环境</td> 
  </tr> 
  <tr> 
   <td><strong>ffc.h</strong></td> 
   <td>单头文件 C99 高性能浮点解析库</td> 
  </tr> 
  <tr> 
   <td><strong>flowrs</strong></td> 
   <td>Apache Airflow 的终端界面管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>garden</strong></td> 
   <td>管理 Git 仓库集合的工具</td> 
  </tr> 
  <tr> 
   <td><strong>gittype</strong></td> 
   <td>把源码变成打字练习的 CLI 游戏</td> 
  </tr> 
  <tr> 
   <td><strong>ipapatch</strong></td> 
   <td>iOS IPA 文件补丁与插件修改工具</td> 
  </tr> 
  <tr> 
   <td><strong>models</strong></td> 
   <td>浏览 AI 模型、基准测试与代理工具的 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>nfd2nfc</strong></td> 
   <td>文件名编码 NFD → NFC 转换工具，提升跨平台兼容性</td> 
  </tr> 
  <tr> 
   <td><strong>nono</strong></td> 
   <td>面向 AI Agent 的能力隔离沙盒 Shell</td> 
  </tr> 
  <tr> 
   <td><strong>powershell</strong></td> 
   <td>跨平台命令行 Shell 与脚本语言</td> 
  </tr> 
  <tr> 
   <td><strong>scala-cli</strong></td> 
   <td>Scala 运行与构建工具</td> 
  </tr> 
  <tr> 
   <td><strong>sem-cli</strong></td> 
   <td>语义化版本控制 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>topicctl</strong></td> 
   <td>Kafka Topic 声明式管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>tsshd</strong></td> 
   <td>支持漫游的 UDP SSH 服务</td> 
  </tr> 
  <tr> 
   <td><strong>upterm</strong></td> 
   <td>即时终端共享工具</td> 
  </tr> 
  <tr> 
   <td><strong>vapoursynth-bm3d</strong></td> 
   <td>VapourSynth 视频降噪滤镜</td> 
  </tr> 
  <tr> 
   <td><strong>vapoursynth-descale</strong></td> 
   <td>VapourSynth 反缩放插件</td> 
  </tr> 
  <tr> 
   <td><strong>weave</strong></td> 
   <td>基于 tree-sitter 的 Git 语义级合并驱动</td> 
  </tr> 
  <tr> 
   <td><strong>zsign</strong></td> 
   <td>跨平台 iOS 应用签名工具</td> 
  </tr> 
  <tr> 
   <td><strong>zvbi</strong></td> 
   <td>视频垂直消隐信号解码库</td> 
  </tr> 
  <tr> 
   <td><strong>zxc</strong></td> 
   <td>高性能非对称无损压缩库</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>gram</strong></td> 
   <td>强调稳定与隐私的代码编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>seamly2d</strong></td> 
   <td>服装版型设计软件</td> 
  </tr> 
  <tr> 
   <td><strong>spectra-app</strong></td> 
   <td>OpenSpec 文档管理桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>ulaa</strong></td> 
   <td>注重隐私保护的浏览器</td> 
  </tr> 
  <tr> 
   <td><strong>wowup-cf</strong></td> 
   <td>魔兽世界插件管理器</td> 
  </tr> 
  <tr> 
   <td><strong>x-air-edit</strong></td> 
   <td>Behringer X AIR 调音台远程控制软件</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<h3>buildkitd：构建系统正在变成“基础设施”</h3> 
<p><a href="https://asciinema.org/a/gPEIEo1NzmDTUu2bEPsUboqmU"><img src="https://asciinema.org/a/gPEIEo1NzmDTUu2bEPsUboqmU.svg" alt="asciicast" /></a></p> 
<p>Docker 生态真正影响效率的，其实并不是容器运行，而是镜像构建过程。</p> 
<p><code>buildkitd</code> 提供并发构建、缓存复用和 Dockerfile 解耦能力，让镜像构建更像一个可以优化的流水线，而不是一次性脚本。当 CI/CD 规模扩大时，构建时间往往成为开发效率瓶颈，而 BuildKit 的价值就在这里：它把构建过程从“黑盒步骤”变成可调优的工程组件。</p> 
<hr /> 
<h3>nono：AI Agent 需要新的安全边界</h3> 
<img width="600" alt="nono-logo" src="https://rich-1e.sol.build/214004E9-EF4D-4889-ADE4-DACF8A600B24/nono-logo.png" /> 
<p>随着 AI Agent 开始参与自动化开发流程，<br /> Shell 权限问题也变得越来越敏感。</p> 
<p><code>nono</code> 通过能力模型与系统级隔离，为 AI Agent 提供一个受控运行环境。Agent 可以执行命令，但只能在被授权的能力范围内活动。这类工具的意义并不是功能多少，而是为未来的自动化开发提供一个更安全的默认运行方式。</p> 
<hr /> 
<h3>upterm：终端协作正在变得像分享链接</h3> 
<img width="600" alt="upterm" src="https://rich-1e.sol.build/214004E9-EF4D-4889-ADE4-DACF8A600B24/upterm.gif" /> 
<p>远程调试 CLI 程序通常需要 SSH、VPN 或屏幕共享。</p> 
<p><code>upterm</code> 将终端共享简化为生成一个会话链接，其他人即可加入同一个终端会话。对远程排查问题、结对编程或教学来说，这种方式比传统远程桌面轻得多，也让终端第一次拥有类似在线文档的实时协作体验。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期新增的工具里，有不少看起来并不“耀眼”。</p> 
<p>但仔细看会发现，它们解决的往往是开发流程里那些不起眼却长期存在的问题：构建速度、远程协作、自动化安全。</p> 
<p>这些工具可能不会每天使用，但当工程规模变大时，它们往往会突然变得非常重要。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新记录，其实也是一份开发工具生态的变化日志。</p> 
<p>当新的开发方式出现时，总会有人先写出一个小工具，把问题解决掉。</p> 
<blockquote> 
 <p>工具在变，但节奏不必跟着变。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>utm &#x4F7F;&#x7528;&#x4F53;&#x9A8C;</title>
        <link>https://rich-1e.sol.build/6CBACD73-DCEC-4529-8E7A-3F4230C654EB/</link>
        <guid>https://rich-1e.sol.build/6CBACD73-DCEC-4529-8E7A-3F4230C654EB/</guid>
        <pubDate>Fri, 13 Mar 2026 10:44:09 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/utm-experience/2026-03-13_10-45.png" />    
        
        
        <description><![CDATA[
            <img width="600" alt="2026-03-13_10-45" src="https://rich-1e.sol.build/6CBACD73-DCEC-4529-8E7A-3F4230C654EB/2026-03-13_10-45.png" /> 
<hr /> 
<p>用了很长时间的虚拟机。</p> 
<p>以前做web开发的时候，需要考虑界面适配，会安装多个虚拟机。</p> 
<p>虽然，IETest，IETab 这些工具也可以模拟，但是仍然会有一些特别情况。</p> 
<p>这时，虚拟机是不二选择。</p> 
<hr /> 
<p>过了这么多年，终于不用适配IE，但烦心的事情并没有减少。</p> 
<p>PC端，Windows 和 Mac 的用户群体很多，为了获得相对较好的UI体验，需要在2个系统上调试。</p> 
<p>目前，前端主流使用 Mac 开发，所以 Windows 的UI体验有时候很难被发现。</p> 
<hr /> 
<p>Mac 上比较主流的虚拟机是：</p> 
<ul> 
 <li>VMware Fusion （免费）</li> 
 <li>Parallels Desktop （商业）</li> 
 <li>VirtualBox (开源)</li> 
</ul> 
<p>通常来说，对于小白用户，上手容易程度：商业 &gt; 免费 &gt; 开源。</p> 
<p>付费的通常都比较好用，功能也多，性能也好。</p> 
<p>免费的功能支持一般不及时，或者性能差，或者功能少。</p> 
<p>开源的不适合小白。</p> 
<hr /> 
<p>UTM 这个项目，是在我玩 SideStore 的过程中接触到的。</p> 
<p>一直没怎么用，感觉不会在手机上用，所以仅停留在“知道这个项目”的程度。</p> 
<p>最近在玩 Pokémon 游戏，需要用到 Windows 运行一些汉化工具。</p> 
<p>所以在 Mac 上安装了 UTM。</p> 
<hr /> 
<p>安装很顺利，UTM 官方文档写的很清晰。</p> 
<p>体验上比 Parallels Desktop 和 VMware Fusion 要简单很多。</p> 
<blockquote> 
 <p>UTM 支持 Intel / Apple Silicon，能跑一些较老的 Windows 版本。</p> 
</blockquote> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://docs.getutm.app/">Home | UTM Documentation</a></li> 
 <li><a href="https://www.microsoft.com/en-us/software-download/windows11arm64">Download Windows 11 Arm64</a></li> 
 <li><a href="https://gist.github.com/rvrsh3ll/0810c6ed60e44cf7932e4fbae25880df">Windows Product Keys</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x3010;NDS&#x3011;&#x5B9D;&#x53EF;&#x68A6;&#x5FC3;&#x7075;&#x4E4B;&#x91D1;&#x6E38;&#x620F;&#x653B;&#x7565;</title>
        <link>https://rich-1e.sol.build/1A6E2B29-F63C-4A44-A653-17AB09EF31A1/</link>
        <guid>https://rich-1e.sol.build/1A6E2B29-F63C-4A44-A653-17AB09EF31A1/</guid>
        <pubDate>Thu, 12 Mar 2026 13:47:55 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/1A6E2B29-F63C-4A44-A653-17AB09EF31A1/%E5%AE%9D%E5%8F%AF%E6%A2%A6_%E5%BF%83%E9%87%91_%E6%97%A5%E7%89%88%E5%B0%81%E9%9D%A2.webp" />    
        
        
        <description><![CDATA[
            <img width="500" alt="宝可梦_心金_日版封面" src="https://rich-1e.sol.build/1A6E2B29-F63C-4A44-A653-17AB09EF31A1/宝可梦_心金_日版封面.webp" /> 
<h2>游戏介绍</h2> 
<p>游戏平台：NDS<br /> 模拟器：Delta<br /> 游戏版本：</p> 
<ul> 
 <li>口袋妖怪(精灵宝可梦) 心灵之金 官译修正版v2.1.1(简)(JP)(ACG汉化组+Xzonn)(1024Mb)</li> 
 <li>口袋妖怪(精灵宝可梦) 金心(JP)(ACG汉化组)(1024Mb)</li> 
</ul> 
<p><strong>宝可梦心灵之金发布时间表</strong></p> 
<ul> 
 <li>2009年9月12日 心灵之金／灵魂之银 官方发布</li> 
 <li>2010年7月2日 原版汉化 by @ACG汉化组</li> 
 <li>2020年2月28日 原版汉化优化 by @ACG汉化组、@Xzonn</li> 
</ul> 
<blockquote> 
 <p>事实上，还有很多其他衍生版本。例如：493/免通讯。493，即全部493只宝可梦。免通讯，即不需要联机通讯，进化宝可梦。</p> 
</blockquote> 
<blockquote> 
 <p>基于《原版汉化 by @ACG汉化组》的存档，可以被 @Xzonn 优化版本读取</p> 
</blockquote> 
<h2>剧情发现</h2> 
<h2>挑战道馆</h2> 
<h2>技能机</h2> 
<h2>道具秘技</h2> 
<h2>精灵性格</h2> 
<h2>隐藏道具</h2> 
<h2>通关组合</h2> 
<h2>通关技巧</h2> 
<p><strong>如何练级</strong></p> 
<p><strong>如何刷钱</strong></p> 
<p><strong>如何制作精灵球</strong></p> 
<h2>常用术语</h2> 
<table> 
 <thead> 
  <tr> 
   <th>表述</th> 
   <th>含义</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td>HG / hg</td> 
   <td>心金 / 心灵之金 的简称。英文（Pokémon HeartGold）</td> 
  </tr> 
  <tr> 
   <td>SS / ss</td> 
   <td>魂银 / 灵魂之银的简称。英文（ Pokémon SoulSilver）</td> 
  </tr> 
  <tr> 
   <td>HM</td> 
   <td>秘传学习器</td> 
  </tr> 
  <tr> 
   <td>TM</td> 
   <td>招式学习器</td> 
  </tr> 
 </tbody> 
</table> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://9ioldgame.com/games/2009-NDS-Pokemon-HeartGold-and-SoulSilver.html">NDS 口袋妖怪 宝可梦 心金／魂银 - 午后少年</a></li> 
 <li><a href="https://www.oldmantvg.net/">老男人游戏网</a></li> 
 <li><a href="https://xzonn.top/PokemonChineseTranslationRevise/HGSS.html">《宝可梦 心金／魂银》汉化修正 - Xzonn</a></li> 
 <li><a href="https://xzonn.top/posts/Pokemon-Games-Chinese-Localization-History.html">《宝可梦》系列游戏汉化时间表 - Xzonn</a></li> 
</ul> 
<hr /> 
<ul> 
 <li><a href="https://bulbagarden.net/home/">Bulbagarden</a></li> 
 <li><a href="https://www.reddit.com/r/nuzlocke/comments/j4mhh8/heartgold_strategies/?tl=zh-hans">《心金》策略 : r/nuzlocke</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/1ji6thn/heartgold_and_soulsilver/?tl=zh-hans">金魂银魂（HeartGold 和 Soulsilver） : r/pokemon --- 金魂银魂（HeartGold 和 Soulsilver） : r/pokemon</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/intl8m/best_hm_slaves_for_each_gen/?tl=zh-hans">每一代里，谁是最好的HM苦力（们）？ : r/pokemon</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/lyohlr/how_to_make_money_fast_and_early_on_in_hgssidk_if/?tl=zh-hans">在金心银魂里怎么快速赚钱：(不知道在金银里是不是也这样) : r/pokemon</a></li> 
 <li><a href="https://www.bilibili.com/read/cv14561442/?opus_fallback=1">口袋妖怪心金 图文攻略（2） - 哔哩哔哩</a></li> 
 <li><a href="http://mlwd.com.tw/PM/index.htm">神奇世界官方網站-神奇寶貝</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/q9qik4/exp_share_in_hgss/?tl=zh-hans">HG/SS 里的学习装置 : r/pokemon</a><br /> <a href="http://www.koudai8.com/index/Article/yxzl/200912/531.html">- [口袋妖怪心金魂银]来热血吧!PM运动会解析</a></li> 
 <li><a href="https://www.reddit.com/r/PokemonFireRed/comments/1ivj5o9/how_do_i_get_around_trade_evolutions_on_an/?tl=zh-hans">如何在模拟器上绕过交换进化？ : r/PokemonFireRed</a></li> 
 <li><a href="https://www.bilibili.com/read/cv14561442/?opus_fallback=1">口袋妖怪心金 图文攻略（2） - 哔哩哔哩</a></li> 
 <li><a href="https://www.pokeuniv.com/bbs/thread-7472-1-1.html">『口袋妖怪心金魂银』原创图文攻略【一周目+二、三周目】 - 心金|魂银资料库 - 口袋大学城 - Powered by Discuz!</a></li> 
 <li><a href="https://wiki.52poke.com/wiki/%E5%AF%B6%E5%8F%AF%E5%A4%A2_%E5%BF%83%E9%87%91%EF%BC%8F%E9%AD%82%E9%8A%80">宝可梦 心金／魂银 - 神奇宝贝百科，关于宝可梦的百科全书</a></li> 
 <li><a href="https://www.pmcenter.cn/forum.php?mod=forumdisplay&amp;fid=107">心灵金/灵魂银专区 - Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论 - Powered by Discuz!</a></li> 
 <li><a href="https://xzonn.top/PokemonChineseTranslationRevise/HGSS.html">《宝可梦 心金／魂银》汉化修正补丁 - 《宝可梦》第四世代汉化修正</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/tilikd/heart_gold/?tl=zh-hans">心金: r/pokemon --- 心金 : r/pokemon</a></li> 
 <li><a href="https://xzonn.top/posts/Pokemon-Games-Chinese-Localization-History.html">《宝可梦》系列游戏汉化时间表 - Xzonn 的小站</a></li> 
 <li><a href="https://www.pmcenter.cn/forum.php?mod=viewthread&amp;tid=32299">【口袋中心出品】魂银·壹式改点壹（全493） - 心灵金/灵魂银专区 - Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论 - Powered by Discuz!</a></li> 
 <li><a href="https://wiki.52poke.com/wiki/%E5%AF%B6%E5%8F%AF%E5%A4%A2_%E5%BF%83%E9%87%91%EF%BC%8F%E9%AD%82%E9%8A%80">宝可梦 心金／魂银 - 神奇宝贝百科，关于宝可梦的百科全书</a></li> 
 <li><a href="https://www.bilibili.com/read/cv25695791/?opus_fallback=1">被誉为交通工具的宝可梦！每个版本的最佳工具宠，都有哪一些？ - 哔哩哔哩</a></li> 
 <li><a href="https://www.reddit.com/r/pokemon/comments/q6gsu4/azalea_town_headbutt_tree_map/?tl=zh-hans">桧皮镇头槌树地图 : r/pokemon</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260309 | &#x5F53;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x670D;&#x52A1;&#x7CFB;&#x7EDF;&#x672C;&#x8EAB;</title>
        <link>https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/</link>
        <guid>https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/</guid>
        <pubDate>Mon, 09 Mar 2026 17:21:20 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260309/2026-03-09_17-25.png" />    
        
        
        <description><![CDATA[
            <p><strong>越来越多工具正在离开桌面，走向系统深处。</strong></p> 
<blockquote> 
 <p>这一期没有特别“吸睛”的应用。<br /> 但多了不少你可能永远不会直接运行的工具。<br /> 它们更像基础设施的一部分，在系统背后慢慢改变开发方式。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p><strong>这是一组明显面向“开发环境基础设施”的更新。</strong></p> 
<p>很多新增项目并不是给用户使用的应用，<br /> 而是构成：</p> 
<ul> 
 <li>容器运行环境</li> 
 <li>AI 编程工作流</li> 
 <li>权限系统</li> 
 <li>CLI 自动化生态</li> 
</ul> 
<p>的一部分。</p> 
<hr /> 
<h1>本周新增工具速览</h1> 
<h2>🧪 New Formulae</h2> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>apkeep</strong></td> 
   <td>从不同来源下载 APK 文件的 CLI 工具</td> 
  </tr> 
  <tr> 
   <td><strong>atuin-server</strong></td> 
   <td>atuin shell 历史同步服务</td> 
  </tr> 
  <tr> 
   <td><strong>checkpwn</strong></td> 
   <td>检查邮箱是否出现在泄露数据库中</td> 
  </tr> 
  <tr> 
   <td><strong>cloudflare-speed-cli</strong></td> 
   <td>基于 Cloudflare 的测速工具</td> 
  </tr> 
  <tr> 
   <td><strong>containerd</strong></td> 
   <td>开源容器运行时</td> 
  </tr> 
  <tr> 
   <td><strong>dlpack</strong></td> 
   <td>跨框架共享张量数据结构</td> 
  </tr> 
  <tr> 
   <td><strong>git-pkgs</strong></td> 
   <td>追踪 Git 历史中的依赖变化</td> 
  </tr> 
  <tr> 
   <td><strong>googleworkspace-cli</strong></td> 
   <td>Google Workspace 命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>kubectl-tree</strong></td> 
   <td>以树形结构浏览 Kubernetes 对象</td> 
  </tr> 
  <tr> 
   <td><strong>lua@5.4</strong></td> 
   <td>轻量级脚本语言 Lua</td> 
  </tr> 
  <tr> 
   <td><strong>mkbrr</strong></td> 
   <td>创建与修改 torrent 文件</td> 
  </tr> 
  <tr> 
   <td><strong>openspec</strong></td> 
   <td>面向 AI 编程助手的规范驱动开发工具</td> 
  </tr> 
  <tr> 
   <td><strong>pet</strong></td> 
   <td>命令行代码片段管理器</td> 
  </tr> 
  <tr> 
   <td><strong>rustypaste-cli</strong></td> 
   <td>rustypaste 服务 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>spicedb</strong></td> 
   <td>类 Google Zanzibar 权限数据库</td> 
  </tr> 
  <tr> 
   <td><strong>termusic</strong></td> 
   <td>Rust 编写的 TUI 音乐播放器</td> 
  </tr> 
  <tr> 
   <td><strong>torf-cli</strong></td> 
   <td>torrent 文件创建与编辑工具</td> 
  </tr> 
  <tr> 
   <td><strong>vapoursynth-bestsource</strong></td> 
   <td>视频处理工具</td> 
  </tr> 
  <tr> 
   <td><strong>vuls</strong></td> 
   <td>无代理漏洞扫描器</td> 
  </tr> 
  <tr> 
   <td><strong>x-cli</strong></td> 
   <td>Twitter 命令行工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>🧩 New Casks</h2> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>font-ghanachocolate</strong></td> 
   <td>Ghana Chocolate 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-miranda-sans</strong></td> 
   <td>Miranda Sans 字体</td> 
  </tr> 
  <tr> 
   <td><strong>ltx-desktop</strong></td> 
   <td>LTX 视频生成模型桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>paseo</strong></td> 
   <td>AI 编码 Agent 的自托管守护进程</td> 
  </tr> 
  <tr> 
   <td><strong>spokenly</strong></td> 
   <td>AI 语音转录与编辑工具</td> 
  </tr> 
  <tr> 
   <td><strong>t3-code</strong></td> 
   <td>AI 代码代理 GUI</td> 
  </tr> 
  <tr> 
   <td><strong>tablepro</strong></td> 
   <td>MySQL / PostgreSQL / SQLite 数据库客户端</td> 
  </tr> 
  <tr> 
   <td><strong>vcmi</strong></td> 
   <td>《英雄无敌 III》开源引擎</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h1>值得留意的几个方向</h1> 
<blockquote> 
 <p>这一节不求全，<br /> 只挑几个真正值得停下来看的技术信号。</p> 
</blockquote> 
<hr /> 
<h1>containerd：容器世界真正的运行核心</h1> 
<img width="600" alt="2026-03-09_17-25" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/2026-03-09_17-25.png" /> 
<p>容器技术通常被理解为：Docker。</p> 
<p>但在现代云原生架构中，<br /> 真正负责运行容器的其实是 <strong>containerd</strong>。</p> 
<p>技术栈结构大致是：</p> 
<pre><code>Docker
   ↓
containerd
   ↓
runc
   ↓
Linux kernel
</code></pre> 
<p>containerd 负责：</p> 
<ul> 
 <li>镜像管理</li> 
 <li>容器生命周期</li> 
 <li>资源隔离</li> 
 <li>runtime 调度</li> 
</ul> 
<p>Kubernetes、Docker、许多 PaaS 平台<br /> 实际上都依赖它。</p> 
<p>Homebrew 收录 containerd 的意义是：</p> 
<p><strong>开发环境正在变得更接近生产环境。</strong></p> 
<p>越来越多开发者开始在本地直接运行完整容器栈，<br /> 而不是依赖一层封装好的 Docker Desktop。</p> 
<p>这也是一个明显趋势：</p> 
<blockquote> 
 <p>开发机正在变成一个“小型云平台”。</p> 
</blockquote> 
<hr /> 
<h1>SpiceDB：权限系统正在数据库化</h1> 
<img width="600" alt="2026-03-09_17-27" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/2026-03-09_17-27.png" /> 
<p><strong>spicedb</strong> 是本期最值得关注的基础设施项目之一。</p> 
<p>它的设计灵感来自 Google 的著名权限系统：</p> 
<p><strong>Zanzibar</strong></p> 
<p>Zanzibar 支撑着：</p> 
<ul> 
 <li>Google Drive</li> 
 <li>YouTube</li> 
 <li>Google Docs</li> 
</ul> 
<p>的权限关系。</p> 
<hr /> 
<h2>为什么权限系统这么难</h2> 
<p>传统权限模型通常是：</p> 
<pre><code>user → role → resource
</code></pre> 
<p>但现代 SaaS 的权限关系会变成：</p> 
<pre><code>用户
团队
组织
资源
共享
继承
协作
</code></pre> 
<p>权限关系会形成复杂图结构。</p> 
<p>SpiceDB 的做法是：</p> 
<p><strong>把权限关系当作图数据库处理。</strong></p> 
<p>例如：</p> 
<pre><code>user:alice
   member_of
team:design

team:design
   owns
doc:proposal
</code></pre> 
<p>这样就可以动态计算权限。</p> 
<hr /> 
<h2>为什么重要</h2> 
<p>未来复杂应用几乎都需要：</p> 
<ul> 
 <li>协作权限</li> 
 <li>多组织结构</li> 
 <li>细粒度授权</li> 
</ul> 
<p>SpiceDB 这类系统正在成为：</p> 
<p><strong>权限基础设施。</strong></p> 
<hr /> 
<h1>OpenSpec：AI 编程开始进入“规范驱动”</h1> 
<img width="600" alt="openspec_bg" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/openspec_bg.png" /> 
<p>AI 编程工具越来越多，<br /> 但一个问题也越来越明显：</p> 
<p>AI 很擅长写代码，<br /> 却很难保持系统结构一致。</p> 
<p><strong>OpenSpec</strong> 的目标是：</p> 
<p>让开发流程变成：</p> 
<pre><code>Spec → AI → Code
</code></pre> 
<p>而不是：</p> 
<pre><code>Prompt → Code
</code></pre> 
<p>Spec 可能包括：</p> 
<ul> 
 <li>API 规范</li> 
 <li>数据结构</li> 
 <li>行为约束</li> 
 <li>架构约定</li> 
</ul> 
<p>AI 只负责生成实现。</p> 
<p>这其实是一种新的开发模式：</p> 
<p><strong>Spec Driven Development（SDD）</strong></p> 
<p>它解决的不是代码问题，而是：</p> 
<blockquote> 
 <p>AI 如何参与系统工程。</p> 
</blockquote> 
<hr /> 
<h1>kubectl-tree：理解 Kubernetes 的结构</h1> 
<img width="600pe" alt="example-1" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/example-1.png" /> 
<p>Kubernetes 对新手来说最大的困难之一是：</p> 
<p>对象关系。</p> 
<p>例如：</p> 
<pre><code>Deployment
   ↓
ReplicaSet
   ↓
Pod
</code></pre> 
<p>同时还有：</p> 
<ul> 
 <li>Service</li> 
 <li>Ingress</li> 
 <li>ConfigMap</li> 
 <li>Secret</li> 
</ul> 
<p>关系复杂且分散。</p> 
<p><strong>kubectl-tree</strong> 的做法非常简单：</p> 
<p>把对象关系变成一棵树。</p> 
<p>示例：</p> 
<pre><code>deployment/web
 └─ replicaset/web-123
     └─ pod/web-abc
</code></pre> 
<p>这种视图对调试问题非常有用。</p> 
<p>当 Kubernetes 规模变大时，<br /> 理解对象结构本身就是一种成本。</p> 
<p>这个工具正是在减少这种心智负担。</p> 
<hr /> 
<h1>pet：命令行时代的“代码片段库”</h1> 
<img width="300" alt="pet" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/pet.png" /> 
<p>很多开发者都有这样的文件：</p> 
<pre><code>commands.txt
cheatsheet.md
notes.md
</code></pre> 
<p>里面记录各种：</p> 
<ul> 
 <li>docker 命令</li> 
 <li>kubectl 命令</li> 
 <li>ffmpeg 命令</li> 
</ul> 
<p><strong>pet</strong> 做的事情很简单：</p> 
<p>把这些命令变成可搜索、可执行的片段库。</p> 
<p>例如：</p> 
<pre><code>pet search docker
pet run kubectl-restart
</code></pre> 
<p>当 CLI 工具越来越多时，<br /> “记住命令”本身就变成负担。</p> 
<p>pet 的价值是：</p> 
<blockquote> 
 <p>把记忆成本转化为工具能力。</p> 
</blockquote> 
<hr /> 
<h1>cloudflare-speed-cli：测速工具的另一个方向</h1> 
<img width="600" alt="cloudflare-speed-cli" src="https://rich-1e.sol.build/439DF2AD-DA9A-4E30-8414-B10CD8738069/cloudflare-speed-cli.png" /> 
<p>测速工具很多，但大多数使用：</p> 
<p>Speedtest 网络。</p> 
<p>Cloudflare-speed-cli 的特点是：</p> 
<p>直接测试 Cloudflare 网络路径。</p> 
<p>这对于很多开发者其实更真实：</p> 
<p>因为大量服务现在都在 Cloudflare CDN 上。</p> 
<p>如果你经常访问：</p> 
<ul> 
 <li>GitHub</li> 
 <li>npm</li> 
 <li>Cloudflare Workers</li> 
 <li>各类 CDN</li> 
</ul> 
<p>这个测速结果可能比传统 Speedtest 更有意义。</p> 
<hr /> 
<h1>一点个人感受</h1> 
<p>这一期让我印象最深的是一种“基础设施感”。</p> 
<p>很多新增项目：</p> 
<ul> 
 <li>不提供 GUI</li> 
 <li>不解决日常效率</li> 
 <li>不直接面对用户</li> 
</ul> 
<p>却在悄悄改变开发环境。</p> 
<p>像 containerd、spicedb 这样的工具，<br /> 你可能永远不会直接运行。</p> 
<p>但未来的软件系统很可能就建立在这些组件之上。</p> 
<hr /> 
<h1>结语</h1> 
<p>Homebrew 的更新列表有时像一份技术世界的地下水位报告。</p> 
<p>你未必能看见它，<br /> 却能感觉到环境正在慢慢改变。</p> 
<blockquote> 
 <p>工具在变，但节奏不必跟着变。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>git worktree</title>
        <link>https://rich-1e.sol.build/FCC2E733-05CC-48B0-BA41-2704F2654E03/</link>
        <guid>https://rich-1e.sol.build/FCC2E733-05CC-48B0-BA41-2704F2654E03/</guid>
        <pubDate>Fri, 06 Mar 2026 15:01:01 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/FCC2E733-05CC-48B0-BA41-2704F2654E03/2026-03-27_17-49.png" />    
        
        
        <description><![CDATA[
            <h2>示例</h2> 
<h3>1. 创建一个裸仓库</h3> 
<pre><code class="language-sh">git clone --bare https://github.com/your-org/your-monorepo.git your-monorepo
cd your-monorepo
</code></pre> 
<h3>2. 为每个分支创建工作树</h3> 
<pre><code class="language-sh"># 主开发工作树
git worktree add ./main main

# 代理 A 的功能分支
git worktree add ./feature-auth feat/auth

# 代理 B 的 bug 修复分支
git worktree add ./fix-api fix/api-error
</code></pre> 
<p>每个工作树都是一个完整的检出，拥有自己的文件，但它们都共享同一个 .git 对象存储。</p> 
<h3>3. 启用全局虚拟存储</h3> 
<p>在你的仓库中的 <code>pnpm-workspace.yaml</code> 文件中添加 <code>enableGlobalVirtualStore: true</code>：</p> 
<pre><code class="language-yaml">packages:
  - 'packages/*'

enableGlobalVirtualStore: true
</code></pre> 
<h3>4. 在每个工作树中安装依赖项</h3> 
<pre><code class="language-sh">cd main &amp;&amp; pnpm install
cd ../feature-auth &amp;&amp; pnpm install
cd ../fix-api &amp;&amp; pnpm install
</code></pre> 
<p>第一次执行 pnpm install 会将软件包下载到全局存储中。 在其他工作树中进行后续安装几乎是瞬间完成的，因为它们只会创建指向同一存储的符号链接。</p> 
<img width="600" alt="2026-03-27_17-49" src="https://rich-1e.sol.build/FCC2E733-05CC-48B0-BA41-2704F2654E03/2026-03-27_17-49.png" /> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://pnpm.io/zh/next/git-worktrees">pnpm + Git 工作树用于多代理开发 | pnpm</a></li> 
 <li><a href="https://www.cnblogs.com/gyc567/p/archive/2026/01">随笔档案「2026年1月」 - gyc567 - 博客园</a></li> 
 <li><a href="https://www.cnblogs.com/gyc567/p/19483656"># GitHub Fork + git worktree 的标准工作流 - gyc567 - 博客园</a></li> 
 <li><a href="https://juejin.cn/post/7612949440031424512">Git Worktree 与cursor workTree完全指南1. 引言：那个让你抓狂的“突发需求” 想象一下这个场 - 掘金</a></li> 
 <li><a href="https://blog.csdn.net/weixin_36757282/article/details/128712125">git worktree 依赖隔离、多分支开发图文详解-CSDN博客</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4E00;&#x4E9B;&#x80FD;&#x63D0;&#x9AD8;&#x751F;&#x4EA7;&#x529B;&#x7684; Skills</title>
        <link>https://rich-1e.sol.build/035B802E-DA3A-48B7-AE0D-7FFFEA966F7B/</link>
        <guid>https://rich-1e.sol.build/035B802E-DA3A-48B7-AE0D-7FFFEA966F7B/</guid>
        <pubDate>Wed, 04 Mar 2026 11:36:08 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/fstandhartinger/ralph-wiggum">fstandhartinger/ralph-wiggum: Ralph Wiggum: Autonomous AI coding with spec-driven development. Point your AI agent here to get started.</a></li> 
 <li><a href="https://github.com/wlzh/skills/tree/main/youtube-to-blog-post">skills/youtube-to-blog-post at main · wlzh/skills</a></li> 
 <li><a href="https://github.com/obra/superpowers">obra/superpowers: An agentic skills framework &amp; software development methodology that works.</a></li> 
 <li><a href="https://github.com/gyc567/open-reflect">gyc567/open-reflect: Advanced self-learning and reflection system for Claude Code with evolutionary knowledge tracking</a></li> 
 <li><a href="https://www.cnblogs.com/gyc567/p/19495639">Ralph-Loop 新手入门：简单易懂的最佳实践 + 超实用提示词汇总 - gyc567 - 博客园</a></li> 
 <li><a href="https://www.cnblogs.com/gyc567/p/19499386">Open-Reflect 工具详细教程 - gyc567 - 博客园</a></li> 
 <li><a href="https://www.cnblogs.com/gyc567/p/19510203">Superpowers 详细用法教程 - gyc567 - 博客园</a></li> 
 <li><a href="https://github.com/op7418/Youtube-clipper-skill/blob/main/README.zh-CN.md">Youtube-clipper-skill/README.zh-CN.md at main · op7418/Youtube-clipper-skill</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Apifox MCP &#x4F7F;&#x7528;&#x8BB0;&#x5F55;</title>
        <link>https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/</link>
        <guid>https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/</guid>
        <pubDate>Wed, 04 Mar 2026 10:52:45 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_10-54.png" />    
        
        
        <description><![CDATA[
            <p>昨天在使用AI编程中遇到一个非常恼火的事情：</p> 
<ol> 
 <li>首先让AI去更新接口，review时发现接口更新不对；</li> 
 <li>反复与AI沟通，期望AI能正确识别接口，并更新代码；</li> 
 <li>沟通无效，AI无法理解；</li> 
</ol> 
<img width="300" alt="2026-03-04_10-58" src="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_10-58.png" /> 
<img width="300" alt="2026-03-04_10-59" src="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_10-59.png" /> 
<img width="300" alt="2026-03-04_11-00" src="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_11-00.png" /> 
<img width="300" alt="2026-03-04_11-01" src="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_11-01.png" /> 
<hr /> 
<p>经历上面的阶段，个人感觉是MCP工具问题。</p> 
<p>或许优化 Prompt 能解决问题，但是当时我已经想不出更好的语句😓</p> 
<hr /> 
<p>后面联系到官方技术群，在群里咨询了自己遇到的问题。</p> 
<p>这个问题似乎其他人也有遇到，有解决该问题的办法。</p> 
<img width="600" alt="2026-03-04_10-54" src="https://rich-1e.sol.build/EED8363C-9A84-440D-90E0-B52599BAE247/2026-03-04_10-54.png" /> 
<hr /> 
<p>配置的过程遇到报错：</p> 
<pre><code class="language-sh">[apifox-filter-mcp] [ERROR] Cannot determine a valid project directory (got: "/", resolved: "/"). Please set the CACHE_DIR environment variable to specify the cache location. MCP error -32000: Connection closed
</code></pre> 
<p>这个报错是因为 <strong>CACHE_DIR</strong> 配置错误。</p> 
<p>完整配置：</p> 
<pre><code class="language-json">    "apifox-filter": {
      "timeout": 60,
      "command": "npx",
      "args": [
        "-y",
        "apifox-filter-mcp-server@latest",
        "--project-id=your-project-id"
      ],
      "env": {
        "APIFOX_ACCESS_TOKEN": "your-token",
        "LOG_LEVEL": "error",
        "CACHE_DIR": "your-path"
      },
      "type": "stdio"
    },

</code></pre> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/xiaou66/apifox-filter-mcp-server">xiaou66/apifox-filter-mcp-server</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Claude Code &#x914D;&#x7F6E;&#x8BF4;&#x660E;</title>
        <link>https://rich-1e.sol.build/3026FF9A-73A9-4F92-B127-B2D6A35DD241/</link>
        <guid>https://rich-1e.sol.build/3026FF9A-73A9-4F92-B127-B2D6A35DD241/</guid>
        <pubDate>Wed, 04 Mar 2026 10:45:24 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/AT4b9kLtQCQ?si=tyzlYhQAwA1mCcjU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<ul> 
 <li><a href="https://www.cnblogs.com/gyc567/p/19512820">Claude Code 高级配置完整指南</a></li> 
 <li><a href="https://x.com/affaanmustafa/status/2012378465664745795">cogsec on X: "The Shorthand Guide to Everything Claude Code" / X</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5728; Cline &#x4E2D;&#x4F7F;&#x7528; Ralph Wiggum &#x7684;&#x5B8C;&#x6574;&#x6307;&#x5357;</title>
        <link>https://rich-1e.sol.build/5858399E-301A-4A23-8085-1349E520963C/</link>
        <guid>https://rich-1e.sol.build/5858399E-301A-4A23-8085-1349E520963C/</guid>
        <pubDate>Tue, 03 Mar 2026 13:33:05 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>🎯 什么是 Ralph Wiggum？</h2> 
<p>Ralph Wiggum 是一个<strong>自动化 AI 编码工具</strong>，通过 bash 循环脚本让 Cline 自主完成多个任务。每次迭代都启动一个新的 Cline 进程，确保上下文始终清晰。</p> 
<h2>📋 核心理念</h2> 
<p><strong>每次循环 = 全新的 Cline 会话</strong></p> 
<ul> 
 <li>✅ 避免上下文窗口溢出</li> 
 <li>✅ 防止长时间会话后的性能下降</li> 
 <li>✅ 每个任务都有干净的起点</li> 
 <li>✅ 通过磁盘文件（specs/、历史记录）共享状态</li> 
</ul> 
<h2>🚀 如何在 Cline 中使用</h2> 
<h3>步骤 1：初始化 Ralph Wiggum</h3> 
<p>在 Cline 中输入：</p> 
<pre><code>使用 https://github.com/fstandhartinger/ralph-wiggum 为我的项目设置 Ralph Wiggum
</code></pre> 
<p>Cline 会引导你完成：</p> 
<ol> 
 <li><strong>创建必要的目录结构</strong>（specs/、scripts/、logs/）</li> 
 <li><strong>下载 ralph-loop.sh 脚本</strong></li> 
 <li><strong>项目访谈</strong> - 了解你的项目愿景和目标</li> 
 <li><strong>创建项目宪法</strong> - 为所有会话提供指导原则</li> 
</ol> 
<h3>步骤 2：编写规范文件</h3> 
<p>在 <code>specs/</code> 目录创建功能规范文件，<strong>关键是清晰的验收标准</strong>：</p> 
<p><strong>示例：<code>specs/user-login.md</code></strong></p> 
<pre><code class="language-markdown"># Feature: 用户登录功能

## 需求
- 手机号+验证码登录
- 登录状态持久化
- 自动跳转到首页

## 验收标准
- [ ] 用户可以输入手机号
- [ ] 点击发送验证码后收到验证码
- [ ] 输入正确验证码后登录成功
- [ ] 刷新页面后登录状态保持
- [ ] 登录后自动跳转到首页
- [ ] 所有相关测试通过

**完成时输出：** `&lt;promise&gt;DONE&lt;/promise&gt;`
</code></pre> 
<p><strong>💡 关键要点：</strong></p> 
<ul> 
 <li>✅ 验收标准要具体、可测试</li> 
 <li>✅ 避免模糊的描述如"功能正常"</li> 
 <li>✅ 每个标准应该能明确验证</li> 
 <li>✅ 必须包含 <code>&lt;promise&gt;DONE&lt;/promise&gt;</code> 输出要求</li> 
</ul> 
<h3>步骤 3：运行 Ralph 循环</h3> 
<p>在终端中运行（<strong>不在 Cline 中运行</strong>）：</p> 
<pre><code class="language-bash"># 开始自动化循环
./scripts/ralph-loop.sh

# 限制最大迭代次数
./scripts/ralph-loop.sh 10
</code></pre> 
<p><strong>发生了什么？</strong></p> 
<pre><code>循环 1: Cline 启动 → 读取 spec → 实现 → 测试 → 提交 → 输出 DONE → Cline 关闭
循环 2: 新 Cline 启动 → 读取下一个 spec → 实现 → 测试 → 提交 → 输出 DONE → Cline 关闭
循环 3: 新 Cline 启动 → ...
</code></pre> 
<p>每次循环都是<strong>全新的 Cline 实例</strong>，上下文不会累积！</p> 
<h3>步骤 4：查看日志</h3> 
<p>所有输出都保存在 <code>logs/</code> 目录：</p> 
<pre><code class="language-bash"># 查看会话日志
cat logs/ralph_*_session_*.log

# 查看特定迭代日志
cat logs/ralph_*_iter_1_*.log
</code></pre> 
<h2>🎮 两种工作模式</h2> 
<h3>1. Build 模式（默认）</h3> 
<pre><code class="language-bash">./scripts/ralph-loop.sh
</code></pre> 
<p>Cline 会：</p> 
<ul> 
 <li>选择一个未完成的 spec</li> 
 <li>实现功能</li> 
 <li>运行测试</li> 
 <li>提交代码</li> 
 <li>输出 <code>&lt;promise&gt;DONE&lt;/promise&gt;</code></li> 
</ul> 
<h3>2. Plan 模式（可选）</h3> 
<pre><code class="language-bash">./scripts/ralph-loop.sh plan
</code></pre> 
<p>Cline 会：</p> 
<ul> 
 <li>创建详细的实施计划</li> 
 <li>分解成小任务</li> 
 <li>保存到 <code>IMPLEMENTATION_PLAN.md</code></li> 
</ul> 
<h2>📁 项目结构</h2> 
<pre><code>your-project/
├── specs/                    # 功能规范
│   ├── user-login.md
│   ├── dashboard.md
│   └── ...
├── scripts/                  # Ralph 脚本
│   ├── ralph-loop.sh
│   └── ...
├── logs/                     # 日志文件
│   ├── ralph_*_session_*.log
│   └── ralph_*_iter_*.log
├── ralph_history.txt         # 历史记录（突破/阻塞/学习）
├── IMPLEMENTATION_PLAN.md    # 实施计划（可选）
└── CONSTITUTION.md           # 项目宪法（可选）
</code></pre> 
<h2>⚠️ 重要注意事项</h2> 
<h3>1. 启用自动执行模式</h3> 
<p>为了 Ralph 自主工作，需要在启动 Cline 时使用危险模式：</p> 
<pre><code class="language-bash"># VSCode 中的 Cline 设置
# 或者在命令行中：
cline --dangerously-skip-permissions
</code></pre> 
<p><strong>⚠️ 仅在沙盒/测试环境中使用！</strong></p> 
<h3>2. 完成信号很关键</h3> 
<p>Cline <strong>必须</strong>输出 <code>&lt;promise&gt;DONE&lt;/promise&gt;</code> 才算完成。</p> 
<ul> 
 <li>bash 脚本会检查这个信号</li> 
 <li>如果没有输出，会重试当前 spec</li> 
 <li>确保在 spec 中明确说明要输出这个信号</li> 
</ul> 
<h3>3. 测试作为护栏</h3> 
<ul> 
 <li>每个 spec 应包含"测试通过"作为验收标准</li> 
 <li>Cline 在所有测试通过前不应输出完成信号</li> 
 <li>这确保了代码质量</li> 
</ul> 
<h2>💡 最佳实践</h2> 
<h3>✅ 好的 Spec 写法</h3> 
<pre><code class="language-markdown">## 验收标准
- [ ] 用户点击登录按钮后显示加载状态
- [ ] API 返回成功后跳转到首页
- [ ] API 返回失败后显示错误提示
- [ ] 登录组件的单元测试全部通过
</code></pre> 
<h3>❌ 差的 Spec 写法</h3> 
<pre><code class="language-markdown">## 验收标准
- [ ] 登录功能正常工作
- [ ] 没有 bug
</code></pre> 
<h3>编写技巧</h3> 
<ol> 
 <li><strong>一个 spec 一个功能</strong> - 不要混合多个不相关的功能</li> 
 <li><strong>验收标准可量化</strong> - 能够明确验证是否完成</li> 
 <li><strong>包含测试要求</strong> - 确保代码质量</li> 
 <li><strong>说明完成信号</strong> - 提醒 Cline 输出 <code>&lt;promise&gt;DONE&lt;/promise&gt;</code></li> 
</ol> 
<h2>🔄 典型工作流</h2> 
<pre><code>第1天：规划阶段
├─ 在 Cline 中：初始化 Ralph，创建项目结构
├─ 编写 5-10 个功能 spec
└─ 运行 ./scripts/ralph-loop.sh plan（可选）

第2天：开发阶段
├─ 运行 ./scripts/ralph-loop.sh
├─ Ralph 自动完成所有 spec
└─ 查看日志，验证结果

第3天：调整优化
├─ 根据结果调整未完成的 spec
├─ 继续运行 ralph-loop.sh
└─ 直到所有功能完成
</code></pre> 
<h2>🔗 相关资源</h2> 
<ul> 
 <li><strong>GitHub:</strong> <a href="https://github.com/fstandhartinger/ralph-wiggum">https://github.com/fstandhartinger/ralph-wiggum</a></li> 
 <li><strong>网站:</strong> <a href="https://ralph-wiggum.ai">https://ralph-wiggum.ai</a></li> 
 <li><strong>原始方法:</strong> <a href="https://github.com/ghuntley/how-to-ralph-wiggum">https://github.com/ghuntley/how-to-ralph-wiggum</a></li> 
</ul> 
<h2>🎯 总结</h2> 
<p>在 Cline 中使用 Ralph Wiggum 的关键：</p> 
<ol> 
 <li>✅ 让 Cline 帮你设置项目结构</li> 
 <li>✅ 编写清晰、可测试的 spec</li> 
 <li>✅ 在终端运行 ralph-loop.sh（不在 Cline 中）</li> 
 <li>✅ 每个循环都是全新的 Cline 会话</li> 
 <li>✅ 通过 <code>&lt;promise&gt;DONE&lt;/promise&gt;</code> 信号标记完成</li> 
</ol> 
<p><strong>让 Ralph 做 Ralph 的事</strong> - 信任 AI 的自主能力，专注于编写好的规范！</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260302 | &#x5F53;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x53D8;&#x6210;&#x770B;&#x4E0D;&#x89C1;&#x7684;&#x57FA;&#x7840;&#x8BBE;&#x65BD; </title>
        <link>https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/</link>
        <guid>https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/</guid>
        <pubDate>Mon, 02 Mar 2026 14:16:49 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260302/2026-03-02_14-31.png" />    
        
        
        <description><![CDATA[
            <p><strong>真正重要的工具，往往不在桌面上，而在底层。</strong></p> 
<blockquote> 
 <p>这一期没有让人眼前一亮的“新玩具”，<br /> 却多了不少你可能永远不会直接使用，<br /> 但每天都会间接受益的底层工具。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这一期新增工具的气质非常统一：</p> 
<blockquote> 
 <p><strong>越来越多工具不再面向用户，而是面向系统本身。</strong></p> 
</blockquote> 
<p>它们不解决“操作问题”，<br /> 而是在悄悄重塑：</p> 
<ul> 
 <li>开发环境结构</li> 
 <li>容器运行方式</li> 
 <li>AI 能力组织形式</li> 
 <li>系统安全模型</li> 
</ul> 
<p>换句话说：</p> 
<p><strong>这一期更新的是“地基”，不是“房子”。</strong></p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>betterleaks</strong></td> 
   <td>高性能敏感信息扫描工具</td> 
  </tr> 
  <tr> 
   <td><strong>cni-plugins</strong></td> 
   <td>容器网络接口插件集合</td> 
  </tr> 
  <tr> 
   <td><strong>landrun</strong></td> 
   <td>基于 Landlock 的 Linux 进程沙箱</td> 
  </tr> 
  <tr> 
   <td><strong>mp4ff</strong></td> 
   <td>MP4 文件解析与处理工具库</td> 
  </tr> 
  <tr> 
   <td><strong>protobuf@33</strong></td> 
   <td>Google Protocol Buffers 数据交换工具</td> 
  </tr> 
  <tr> 
   <td><strong>rootlesskit</strong></td> 
   <td>无需 root 权限的容器运行工具</td> 
  </tr> 
  <tr> 
   <td><strong>runc</strong></td> 
   <td>OCI 标准容器运行时工具</td> 
  </tr> 
  <tr> 
   <td><strong>skills</strong></td> 
   <td>面向 AI Agent 的技能生态框架</td> 
  </tr> 
  <tr> 
   <td><strong>termframe</strong></td> 
   <td>将终端输出生成 SVG 截图的工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>bettercapture</strong></td> 
   <td>屏幕录制与捕获工具</td> 
  </tr> 
  <tr> 
   <td><strong>cmux</strong></td> 
   <td>面向 AI 编码场景的终端应用</td> 
  </tr> 
  <tr> 
   <td><strong>connectiq-sdk-manager</strong></td> 
   <td>Garmin Connect IQ SDK 管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>fabric-app</strong></td> 
   <td>个人知识管理与笔记应用</td> 
  </tr> 
  <tr> 
   <td><strong>font-datatype</strong></td> 
   <td>Datatype 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-gmarket-sans</strong></td> 
   <td>Gmarket Sans 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-iosevka-charon</strong></td> 
   <td>Iosevka Charon 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-iosevka-charon-mono</strong></td> 
   <td>Iosevka Charon Mono 字体</td> 
  </tr> 
  <tr> 
   <td><strong>itsytv</strong></td> 
   <td>Apple TV 菜单栏控制工具</td> 
  </tr> 
  <tr> 
   <td><strong>kotlin-lsp</strong></td> 
   <td>Kotlin 官方语言服务器</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个关键方向</h2> 
<p>这一期真正值得关注的，不是单个工具，<br /> 而是几个非常清晰的技术趋势信号。</p> 
<hr /> 
<h2>🧠 一、容器底层正在进入“无 Root 时代”</h2> 
<p>这一期最重磅的其实是一整条技术链：</p> 
<ul> 
 <li>rootlesskit</li> 
 <li>runc</li> 
 <li>cni-plugins</li> 
</ul> 
<p>它们共同指向同一个趋势：</p> 
<blockquote> 
 <p><strong>容器正在从“工具”变成“操作系统级基础设施”。</strong></p> 
</blockquote> 
<hr /> 
<h3>rootlesskit —— 容器安全的未来方向</h3> 
<p>传统容器必须依赖 root 权限：</p> 
<p>这意味着一旦容器逃逸，<br /> 风险几乎等同于系统被攻破。</p> 
<p>rootlesskit 的核心价值在于：</p> 
<p><strong>让容器完全以普通用户权限运行。</strong></p> 
<p>它通过用户态能力模拟：</p> 
<ul> 
 <li>user namespace</li> 
 <li>network proxy</li> 
 <li>mount proxy</li> 
</ul> 
<p>把 root 能力转译成安全可控的机制。</p> 
<p><strong>为什么重要</strong></p> 
<p>未来几年会成为默认趋势：</p> 
<ul> 
 <li>企业安全策略会强制 rootless</li> 
 <li>CI/CD 环境必须无 root</li> 
 <li>云开发环境全面去特权化</li> 
</ul> 
<p>它是：</p> 
<p><strong>下一代容器安全架构的基石。</strong></p> 
<hr /> 
<h3>runc —— 容器世界真正的执行核心</h3> 
<img width="600" alt="2026-03-02_14-31" src="https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/2026-03-02_14-31.png" /> 
<p>很多人以为 Docker 在运行容器，<br /> 实际上真正执行容器的是 runc。</p> 
<p>技术链路是：</p> 
<p>Docker → containerd → runc → Linux kernel</p> 
<p>Homebrew 收录 runc 的意义在于：</p> 
<blockquote> 
 <p>本地开发环境正在变得“原生化”。</p> 
</blockquote> 
<p>未来趋势：</p> 
<ul> 
 <li>不再依赖 Docker Desktop</li> 
 <li>运行时可自由替换</li> 
 <li>更接近 Linux 原生能力</li> 
</ul> 
<p>这就是所谓的：</p> 
<p><strong>后 Docker 时代。</strong></p> 
<hr /> 
<h3>cni-plugins —— Kubernetes 网络的根基</h3> 
<img width="600" alt="2026-03-02_14-32" src="https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/2026-03-02_14-32.png" /> 
<p>容器最复杂的部分并不是运行，<br /> 而是网络。</p> 
<p>CNI 插件负责：</p> 
<ul> 
 <li>IP 分配</li> 
 <li>NAT</li> 
 <li>Overlay 网络</li> 
 <li>Service 通信</li> 
</ul> 
<p>它们的出现意味着：</p> 
<blockquote> 
 <p>本地开发环境正在趋近生产环境。</p> 
</blockquote> 
<p>未来开发机将越来越像：</p> 
<p><strong>一个可随时重建的小型数据中心。</strong></p> 
<hr /> 
<h2>🤖 二、AI Agent 正在进入“生态时代”</h2> 
<h3>skills —— AI 能力开始模块化</h3> 
<p>这是本期最具未来信号的工具。</p> 
<p>它代表 AI 正从：</p> 
<p>“模型能力”</p> 
<p>转向：</p> 
<p><strong>能力生态系统。</strong></p> 
<hr /> 
<p><strong>技术本质</strong></p> 
<p>它类似于：</p> 
<table> 
 <thead> 
  <tr> 
   <th>时代</th> 
   <th>代表生态</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td>Web 时代</td> 
   <td>npm</td> 
  </tr> 
  <tr> 
   <td>移动时代</td> 
   <td>App Store</td> 
  </tr> 
  <tr> 
   <td>AI 时代</td> 
   <td>Agent Skills</td> 
  </tr> 
 </tbody> 
</table> 
<p>未来 AI 竞争的关键将不是：</p> 
<p>模型参数规模，</p> 
<p>而是：</p> 
<p><strong>能力模块的可复用性。</strong></p> 
<hr /> 
<p><strong>重要趋势</strong></p> 
<p>AI 正在发生结构性转变：</p> 
<p>从：单次调用 → 持续能力系统</p> 
<p>从：回答问题 → 执行任务</p> 
<p>从：工具 → 协作者</p> 
<hr /> 
<h2>🔐 三、安全模型正在从“容器隔离”转向“微沙箱”</h2> 
<h3>landrun —— Linux 安全的新方向</h3> 
<img width="600" alt="landrun" src="https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/landrun.gif" /> 
<p>这是一个非常硬核但意义深远的工具。</p> 
<p>基于 Landlock LSM 的特点：</p> 
<ul> 
 <li>无需 root 即可创建沙箱</li> 
 <li>内核级权限控制</li> 
 <li>比容器更轻量</li> 
</ul> 
<p>它代表的趋势是：</p> 
<blockquote> 
 <p><strong>未来安全将依赖微隔离，而不是重量级容器。</strong></p> 
</blockquote> 
<p>典型应用场景：</p> 
<ul> 
 <li>执行不可信代码</li> 
 <li>安全 CI 运行环境</li> 
 <li>CLI 沙箱执行</li> 
</ul> 
<p>这是“零信任计算”的重要拼图。</p> 
<hr /> 
<h2>🎨 四、终端正在成为内容生产媒介</h2> 
<h3>termframe —— CLI 进入表达时代</h3> 
<img alt="termframe" src="https://rich-1e.sol.build/16489FF1-96F9-4FB4-803B-EF2C46554AE1/termframe.svg" /> 
<p>这个工具虽然很小，但信号很明显。</p> 
<p>它的作用：</p> 
<p>将终端输出转成 SVG 截图。</p> 
<hr /> 
<h4>背后的变化</h4> 
<p>终端不再只是执行环境，<br /> 而开始成为：</p> 
<ul> 
 <li>技术内容资产</li> 
 <li>文档生成来源</li> 
 <li>可视化表达媒介</li> 
</ul> 
<p>随着 CLI 工作越来越多：</p> 
<p><strong>“如何展示命令行成果”成为新需求。</strong></p> 
<hr /> 
<h2>🧭 本期最重要的三大技术信号</h2> 
<p>如果必须用一句话总结这一期：</p> 
<blockquote> 
 <p>这是一次基础设施层的集体升级。</p> 
</blockquote> 
<hr /> 
<h3>🚩 信号 1：容器彻底走向无特权化</h3> 
<p>关键词：</p> 
<ul> 
 <li>rootless</li> 
 <li>最小权限</li> 
 <li>可组合运行时</li> 
</ul> 
<p>未来容器将更安全、更透明。</p> 
<hr /> 
<h3>🚩 信号 2：AI 进入能力生态竞争阶段</h3> 
<p>重点不再是模型，而是：</p> 
<ul> 
 <li>技能模块</li> 
 <li>能力复用</li> 
 <li>任务编排</li> 
</ul> 
<hr /> 
<h3>🚩 信号 3：开发环境正在系统化</h3> 
<p>本地开发环境越来越像：</p> 
<ul> 
 <li>可重建系统</li> 
 <li>微型生产环境</li> 
 <li>自包含基础设施</li> 
</ul> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期让我印象最深的不是某个具体工具，<br /> 而是一种明显的“隐形化趋势”。</p> 
<p>越来越多新增项目：</p> 
<ul> 
 <li>不直接面向用户</li> 
 <li>不提供界面</li> 
 <li>不解决表层问题</li> 
</ul> 
<p>却在悄悄改变：</p> 
<p>系统运行方式、开发环境结构和安全模型。</p> 
<p>它们不会立刻提升效率，<br /> 却会在长期使用中：</p> 
<p>让系统变得更可靠、更安全、更可重建。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新列表，<br /> 有时像一份技术世界的地下水位报告。</p> 
<p>你未必能看见它，<br /> 却能感觉到整个环境正在慢慢改变。</p> 
<blockquote> 
 <p><strong>工具在变，但节奏不必跟着变。</strong></p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>OpenClaw &#x5B89;&#x88C5;&#x914D;&#x7F6E;</title>
        <link>https://rich-1e.sol.build/5A32D233-E5CF-4FA3-A055-4E026A85F761/</link>
        <guid>https://rich-1e.sol.build/5A32D233-E5CF-4FA3-A055-4E026A85F761/</guid>
        <pubDate>Sat, 28 Feb 2026 12:41:01 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>教程</h2> 
<p><strong>OpenClaw 精选案例 + 最佳部署架构</strong></p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/Zh9IscszDQg?si=EeubuROXMl1yQw_t" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<p><strong>OpenClaw 安装配置，Hyper-V 安装 Ubuntu Desktop，API Key认证 + OAuth认证 + 第三方AI接口，Telegram 电报连接</strong></p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/_97xUGZSPZY?si=dh1MJqCfT2Pk1A3N" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
        ]]></description>
    </item>
    
    <item>
        <title>2012&#x5E74;MBP&#xFF0C;&#x518D;&#x6218;2026</title>
        <link>https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/</link>
        <guid>https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/</guid>
        <pubDate>Fri, 27 Feb 2026 12:16:15 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/155173831.JPG" />    
        
        
        <description><![CDATA[
            <p>机型是 2012 款 MBP,</p> 
<p>CPU:i7 ， 内存：16G, 硬盘：1TB，</p> 
<p>当前系统 13.7.6。</p> 
<img width="300" alt="2602725893" src="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/2602725893.JPG" /> 
<hr /> 
<p>Ventura 系统使用有一段时间了。</p> 
<p>升级系统，主要原因是 brew 不支持之前的系统(macOS Catalina)，</p> 
<p>导致很多软件无法更新和使用。</p> 
<hr /> 
<p>自从苹果推出M芯片之后，系统发展速度越来越快。</p> 
<blockquote> 
 <p><strong>“Big Sur 开始不支持 intel 的 MBP”</strong></p> 
</blockquote> 
<p>我直接从 Catalina 升级到 Ventura。</p> 
<hr /> 
<p><strong>为什么选择 Ventura？</strong></p> 
<p><em>因为 brew 对这个版本的支持还有一段时间，</em></p> 
<p><em>Big Sur / Monterey 相对而言有点落后，有些 App 不支持。</em></p> 
<p><em>并且 Ventura 运行起来还算流畅。</em></p> 
<hr /> 
<p>早在2014年的时候，MBP运行起来就有点吃力😰</p> 
<p><strong>因为没有配置SSD，</strong> 电脑运行速度非常慢🐌</p> 
<hr /> 
<p>根据网上教程，自己动手DIY，改造了硬盘：<strong>移除光驱，在原位置上添加了三星的 512G SSD，再通过苹果的 fusion drive 技术创建了 1T 融合硬盘。</strong></p> 
<p>另外，加购了 16G 内存。</p> 
<img width="600" alt="155173831" src="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/155173831.JPG" /> 
<img width="600" alt="2512918161" src="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/2512918161.JPG" /> 
<hr /> 
<p>使用 Disk Speed Test 测试，</p> 
<p><strong>读写速度从不到50MB/s，提升到平均500MB/s，</strong> 对于这点，相当满意👍。</p> 
<img width="244" alt="2105921758" src="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/2105921758.PNG" /> 
<img width="244" alt="274177333" src="https://rich-1e.sol.build/F9E77F38-F61E-4D04-96F6-74B982A5E635/274177333.PNG" /> 
<hr /> 
<p><strong>随着AI的高速发展，Ventura 也有一些力不从心了。</strong></p> 
<p>后面应该要换台MBP，但是如何选择又是一道考验。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://support.apple.com/zh-cn/111958">MacBook Pro (13 英寸, 2012 年中) - 技术规格 - 官方 Apple 支持 (中国)</a></li> 
 <li><a href="https://en.wikipedia.org/wiki/Fusion_Drive">Fusion Drive - Wikipedia</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4E00;&#x4E9B;&#x6709;&#x610F;&#x601D;&#x7684;&#x9879;&#x76EE;</title>
        <link>https://rich-1e.sol.build/997DCA61-46E8-4913-B761-FABFB335E00F/</link>
        <guid>https://rich-1e.sol.build/997DCA61-46E8-4913-B761-FABFB335E00F/</guid>
        <pubDate>Wed, 25 Feb 2026 11:11:20 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>最近发现了这些好玩的项目，有些开始在用了，有些还在学习如何使用。</p> 
<p>大部分是工具类的，可以提高生产效率。</p> 
<p>另外也可以接收一些好的思维方式。</p> 
<hr /> 
<p>像 atuin 项目，可以替代 autojump。<br /> mise 可以替代一堆的环境管理工具 nvm / pyenv 等等。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/njbrake/agent-of-empires">njbrake/agent-of-empires: Claude Code, OpenCode, Mistral Vibe, Codex CLI, Gemini CLI Coding Agent Terminal Session manager via tmux and git Worktrees</a></li> 
 <li><a href="https://github.com/likec4/likec4">likec4/likec4: Visualize, collaborate, and evolve the software architecture with always actual and live diagrams from your code</a></li> 
 <li><a href="https://github.com/rudrankriyam/App-Store-Connect-CLI">rudrankriyam/App-Store-Connect-CLI: Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more. JSON-first, no interactive prompts</a></li> 
 <li><a href="https://github.com/oug-t/difi">oug-t/difi: Review and refine Git diffs before you push</a></li> 
 <li><a href="https://git-flow.sh/docs/cheatsheet/">Cheat sheet | git-flow-next</a></li> 
 <li><a href="https://github.com/j-brooke/FracturedJson">j-brooke/FracturedJson: JSON formatter that produces highly readable but fairly compact output.</a></li> 
 <li><a href="https://github.com/AlexsJones/llmfit">AlexsJones/llmfit: 206 models. 30 providers. One command to find what runs on your hardware.</a></li> 
 <li><a href="https://github.com/nearai/ironclaw">nearai/ironclaw: IronClaw is OpenClaw inspired implementation in Rust focused on privacy and security</a></li> 
 <li><a href="https://github.com/sipeed/picoclaw/blob/main/README.zh.md">picoclaw/README.zh.md at main · sipeed/picoclaw</a></li> 
 <li><a href="https://blog.orhun.dev/blazingly-fast-file-sharing/">Taking Rust to the Cloud: Blazingly Fast File Sharing - Orhun's Blog</a></li> 
 <li><a href="https://mise.jdx.dev/getting-started.html">Getting Started | mise-en-place</a></li> 
 <li><a href="https://die-gutbrods.de/thecommander/index.html">TheCommander - Powerful Dual-Panel File Manager for macOS</a></li> 
 <li><a href="https://github.com/rossmacarthur/sheldon">rossmacarthur/sheldon: :bowtie: Fast, configurable, shell plugin manager</a></li> 
 <li><a href="https://github.com/atuinsh/atuin">atuinsh/atuin: ✨ Magical shell history</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x8DDF;&#x968F;&#x6770;&#x51FA;&#x7684;&#x4EBA;&#xFF0C;&#x4E3A;&#x6770;&#x51FA;&#x7684;&#x4EBA;&#x5DE5;&#x4F5C;</title>
        <link>https://rich-1e.sol.build/1A85C87E-A50E-4719-99CA-F172C888ED9A/</link>
        <guid>https://rich-1e.sol.build/1A85C87E-A50E-4719-99CA-F172C888ED9A/</guid>
        <pubDate>Wed, 25 Feb 2026 09:50:51 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>昨天上午偶然刷到一篇关于AI对编程领域影响的文章，《<a href="https://www.51cto.com/article/836550.html">OpenAI前华人工程师：个人贡献者正在永久消失！未来人类介入代码，反而被视为质量风险</a>》。</p> 
<p>为啥会被吸引？其实我也很好奇，当下开源社区会如何使用AI技术。譬如：</p> 
<ol> 
 <li>使用AI写开源项目，配合人工审查，更极端点，全程AI自动工程化，项目负责人只关心需求反馈和产品设计；</li> 
 <li>还会有人愿意花时间研究“古法编程”吗？时间如何分配？多少时间在使用AI？</li> 
</ol> 
<p>事实上，我并不当心AI写出的代码质量问题，相信随着时间的发展，工程化会越来越完善，AI编写的代码质量也会越来越高。</p> 
<p>当然，还有一个非常警惕的理由：<strong>是否因为AI会写代码，原本优秀的工程师就没价值了？</strong></p> 
<p>资本主义的社会，没有哪个老板会不考虑成本和效率，如果AI看起来很完美，那么为什么还需要花高价聘用工程师？</p> 
<hr /> 
<p>上面篇文章中的主角叫“Philip Su”，是一个挺成功的工程师。拥有着优秀的履历，以及成功的转型成绩，即 Superphonic 创始人。</p> 
<p>有一说一，我对 Superphonic 不了解。但我对 Philip Su 本人感兴趣，所以上网搜索了一下，发现了关于他多年前的一篇文章《<a href="https://36kr.com/p/1641704095745">微软老将Philip Su的离职信：回首12年职场生涯的心得和随笔</a>》，不得不说，我很赞同里面的一些观点。</p> 
<blockquote> 
 <p>“让行动代表你。但是注意自己说的话，因为言语是有力量的。”</p> 
</blockquote> 
<blockquote> 
 <p>“如果你不断做公司最需要的事情，你是一定会被重用的。有人说，不是的，人际关系和在人前表现自己更重要。我不明白，如果你持续做对公司意义很重大的事情，怎么可能不被别人注意到。我很讨厌程序员问我怎么才能在人前表现自己。他们也很讨厌我的答案“把事情做得更漂亮”，觉得我是在讽刺他们。”</p> 
</blockquote> 
<blockquote> 
 <p>“愤世嫉俗的人是一事无成的。不要和第一反应总是质疑的人交流，你会吃不消的。”</p> 
</blockquote> 
<blockquote> 
 <p>“跟随杰出的人，为杰出的人工作。”</p> 
</blockquote> 
<blockquote> 
 <p>“最重要的是：做人要诚信。你必须信任和你一起工作的人。”</p> 
</blockquote> 
<p>等等，文章里面还有很多。</p> 
<hr /> 
<p>回到本文标题，个人认为：</p> 
<blockquote> 
 <p>“优秀的人，在哪都会被发现。与其担心AI，不如享受当下，并接受改变。找到志同道合者，共同奋进。跟随自己的本心，做自己喜欢的事情。”</p> 
</blockquote> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.51cto.com/article/836550.html">OpenAI前华人工程师：个人贡献者正在永久消失！未来人类介入代码，反而被视为质量风险</a></li> 
 <li><a href="https://36kr.com/p/1641704095745">微软老将Philip Su的离职信：回首12年职场生涯的心得和随笔</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260224 | &#x5F53; Agent &#x5F00;&#x59CB;&#x62E5;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x57FA;&#x7840;&#x8BBE;&#x65BD;</title>
        <link>https://rich-1e.sol.build/003C5F16-E1A2-4D9E-A663-DF433708BC37/</link>
        <guid>https://rich-1e.sol.build/003C5F16-E1A2-4D9E-A663-DF433708BC37/</guid>
        <pubDate>Tue, 24 Feb 2026 11:29:17 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260224/aoe.gif" />    
        
        
        <description><![CDATA[
            <p><strong>真正的变化，往往发生在“看不见的底层”。</strong></p> 
<blockquote> 
 <p>很多工具的出现，并不会立刻改变你的工作方式。<br /> 但它们会悄悄改变：<br /> 未来工具应该长成什么样。</p> 
 <p>这一期新增的项目，大多属于这一类。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>本周最明显的趋势不是“新能力”，<br /> 而是：<strong>围绕 AI Agent 的基础设施开始成体系出现。</strong></p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>aoe</strong></td> 
   <td>面向 AI 编码代理的终端会话管理器</td> 
  </tr> 
  <tr> 
   <td><strong>apache-serf</strong></td> 
   <td>高性能异步 HTTP 客户端库</td> 
  </tr> 
  <tr> 
   <td><strong>asc</strong></td> 
   <td>App Store Connect 快速命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>async-profiler</strong></td> 
   <td>Java CPU 与内存采样分析器</td> 
  </tr> 
  <tr> 
   <td><strong>bagel</strong></td> 
   <td>安全态势审计与攻击面评估 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>bazel@8</strong></td> 
   <td>Google 官方构建系统</td> 
  </tr> 
  <tr> 
   <td><strong>bitwuzla</strong></td> 
   <td>SMT 约束求解器</td> 
  </tr> 
  <tr> 
   <td><strong>claude-agent-acp</strong></td> 
   <td>在 ACP 客户端中使用 Claude Code</td> 
  </tr> 
  <tr> 
   <td><strong>clock-rs</strong></td> 
   <td>现代终端数字时钟</td> 
  </tr> 
  <tr> 
   <td><strong>datadog-static-analyzer</strong></td> 
   <td>代码安全与质量静态分析工具</td> 
  </tr> 
  <tr> 
   <td><strong>difi</strong></td> 
   <td>像素级终端差异对比工具</td> 
  </tr> 
  <tr> 
   <td><strong>fracturedjson</strong></td> 
   <td>高可读 JSON 格式化器</td> 
  </tr> 
  <tr> 
   <td><strong>git-flow-next</strong></td> 
   <td>Git-flow 现代实现</td> 
  </tr> 
  <tr> 
   <td><strong>go@1.25</strong></td> 
   <td>Go 语言最新版本</td> 
  </tr> 
  <tr> 
   <td><strong>grafanactl</strong></td> 
   <td>Grafana 管理 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>happy-coder</strong></td> 
   <td>移动端操控 AI 编码代理的 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>ironclaw</strong></td> 
   <td>带 WASM 沙箱的安全 AI 助手</td> 
  </tr> 
  <tr> 
   <td><strong>kaf</strong></td> 
   <td>现代 Kafka CLI</td> 
  </tr> 
  <tr> 
   <td><strong>letta-code</strong></td> 
   <td>记忆优先的编码代理</td> 
  </tr> 
  <tr> 
   <td><strong>libnpupnp</strong></td> 
   <td>C++ UPnP 库</td> 
  </tr> 
  <tr> 
   <td><strong>libupnpp</strong></td> 
   <td>libnpupnp C++ 封装</td> 
  </tr> 
  <tr> 
   <td><strong>likec4</strong></td> 
   <td>从代码实时生成架构图的建模工具</td> 
  </tr> 
  <tr> 
   <td><strong>linux-headers@6.8</strong></td> 
   <td>Linux 内核头文件</td> 
  </tr> 
  <tr> 
   <td><strong>livereload</strong></td> 
   <td>Python 本地 Web 热重载服务器</td> 
  </tr> 
  <tr> 
   <td><strong>llmfit</strong></td> 
   <td>检测本机可运行模型的工具</td> 
  </tr> 
  <tr> 
   <td><strong>ls-hpack</strong></td> 
   <td>HTTP/2 压缩库</td> 
  </tr> 
  <tr> 
   <td><strong>micasa</strong></td> 
   <td>家庭项目管理终端工具</td> 
  </tr> 
  <tr> 
   <td><strong>mipsel-linux-gnu-binutils</strong></td> 
   <td>MIPS 交叉编译工具链</td> 
  </tr> 
  <tr> 
   <td><strong>nomad-pack</strong></td> 
   <td>Nomad 模板与打包工具</td> 
  </tr> 
  <tr> 
   <td><strong>nullclaw</strong></td> 
   <td>Zig 编写的 AI 助手基础设施</td> 
  </tr> 
  <tr> 
   <td><strong>nuls</strong></td> 
   <td>彩色表格输出的 ls 替代工具</td> 
  </tr> 
  <tr> 
   <td><strong>pcapmirror</strong></td> 
   <td>远程网络流量抓取工具</td> 
  </tr> 
  <tr> 
   <td><strong>picoclaw</strong></td> 
   <td>高效个人 AI 助手框架</td> 
  </tr> 
  <tr> 
   <td><strong>picoruby</strong></td> 
   <td>面向微控制器的极简 Ruby</td> 
  </tr> 
  <tr> 
   <td><strong>pyperformance</strong></td> 
   <td>Python 基准测试套件</td> 
  </tr> 
  <tr> 
   <td><strong>rtk</strong></td> 
   <td>降低 LLM Token 消耗的代理工具</td> 
  </tr> 
  <tr> 
   <td><strong>run-kit</strong></td> 
   <td>多语言统一运行与 REPL 工具</td> 
  </tr> 
  <tr> 
   <td><strong>rustledger</strong></td> 
   <td>Rust 实现的复式记账工具</td> 
  </tr> 
  <tr> 
   <td><strong>rustypaste</strong></td> 
   <td>极简 Paste 服务</td> 
  </tr> 
  <tr> 
   <td><strong>sss-cli</strong></td> 
   <td>Shamir 秘密分片工具</td> 
  </tr> 
  <tr> 
   <td><strong>structurizr</strong></td> 
   <td>架构即代码建模工具</td> 
  </tr> 
  <tr> 
   <td><strong>tree-sitter-go</strong></td> 
   <td>Go 语法解析器</td> 
  </tr> 
  <tr> 
   <td><strong>tree-sitter-python</strong></td> 
   <td>Python 语法解析器</td> 
  </tr> 
  <tr> 
   <td><strong>tree-sitter-ruby</strong></td> 
   <td>Ruby 语法解析器</td> 
  </tr> 
  <tr> 
   <td><strong>tuckr</strong></td> 
   <td>Stow 的增强替代工具</td> 
  </tr> 
  <tr> 
   <td><strong>umoci</strong></td> 
   <td>OCI 容器镜像工具</td> 
  </tr> 
  <tr> 
   <td><strong>whodb-cli</strong></td> 
   <td>带 AI 的数据库管理 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>zeroclaw</strong></td> 
   <td>Rust AI Agent 运行时</td> 
  </tr> 
  <tr> 
   <td><strong>zxing-cpp</strong></td> 
   <td>多格式条码处理库</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>brewy</strong></td> 
   <td>Homebrew 图形管理界面</td> 
  </tr> 
  <tr> 
   <td><strong>calendr</strong></td> 
   <td>菜单栏日历工具</td> 
  </tr> 
  <tr> 
   <td><strong>claude-devtools</strong></td> 
   <td>Claude Code 会话分析工具</td> 
  </tr> 
  <tr> 
   <td><strong>claude-island</strong></td> 
   <td>Claude CLI 动态岛通知</td> 
  </tr> 
  <tr> 
   <td><strong>codexmonitor</strong></td> 
   <td>Codex 使用监控工具</td> 
  </tr> 
  <tr> 
   <td><strong>desktop-composer</strong></td> 
   <td>系统外观管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>donut</strong></td> 
   <td>反指纹浏览器</td> 
  </tr> 
  <tr> 
   <td><strong>donut@nightly</strong></td> 
   <td>Donut 夜间版</td> 
  </tr> 
  <tr> 
   <td><strong>dot</strong></td> 
   <td>菜单栏会议提醒日历</td> 
  </tr> 
  <tr> 
   <td><strong>extradock</strong></td> 
   <td>自定义扩展 Dock</td> 
  </tr> 
  <tr> 
   <td><strong>ferdium@nightly</strong></td> 
   <td>多平台消息聚合工具</td> 
  </tr> 
  <tr> 
   <td><strong>iloader</strong></td> 
   <td>iOS 侧载辅助工具</td> 
  </tr> 
  <tr> 
   <td><strong>macpulse</strong></td> 
   <td>系统性能历史监控仪表板</td> 
  </tr> 
  <tr> 
   <td><strong>mindwtr</strong></td> 
   <td>本地优先 GTD 工具</td> 
  </tr> 
  <tr> 
   <td><strong>netviews</strong></td> 
   <td>网络诊断工具</td> 
  </tr> 
  <tr> 
   <td><strong>nostalgiapp</strong></td> 
   <td>复古游戏启动器</td> 
  </tr> 
  <tr> 
   <td><strong>nugget</strong></td> 
   <td>iOS 设备定制工具</td> 
  </tr> 
  <tr> 
   <td><strong>opencomic</strong></td> 
   <td>漫画阅读器</td> 
  </tr> 
  <tr> 
   <td><strong>pangolin</strong></td> 
   <td>身份感知 VPN 代理</td> 
  </tr> 
  <tr> 
   <td><strong>pika@beta</strong></td> 
   <td>屏幕取色工具</td> 
  </tr> 
  <tr> 
   <td><strong>psiphon-conduit</strong></td> 
   <td>Psiphon 网络代理</td> 
  </tr> 
  <tr> 
   <td><strong>supacode</strong></td> 
   <td>AI 编码代理控制中心</td> 
  </tr> 
  <tr> 
   <td><strong>thaw@beta</strong></td> 
   <td>菜单栏窗口管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>thecommander</strong></td> 
   <td>双栏文件管理器</td> 
  </tr> 
  <tr> 
   <td><strong>threema-work@beta</strong></td> 
   <td>企业加密通信应用</td> 
  </tr> 
  <tr> 
   <td><strong>updatest</strong></td> 
   <td>应用更新检测工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一期最值得看的，<br /> 不是某一个工具，<br /> 而是几个非常清晰的“演化信号”。</p> 
</blockquote> 
<hr /> 
<h3>🥇 AoE: AI Agent 会话基础设施的诞生逻辑</h3> 
<blockquote> 
 <p>AI 编程进入「多 Agent 并行时代」后，人类已经管理不了工作流了。</p> 
</blockquote> 
<img width="600" alt="aoe" src="https://rich-1e.sol.build/003C5F16-E1A2-4D9E-A663-DF433708BC37/aoe.gif" /> 
<h3>使用场景</h3> 
<ul> 
 <li>多 AI Agent 并行运行的开发环境</li> 
 <li>需要在同一终端窗口下管理多个会话</li> 
 <li>实验、调试或快速迭代 AI 任务时</li> 
 <li>远程服务器或本地开发环境均可使用</li> 
</ul> 
<h3>背景需求</h3> 
<ul> 
 <li>随着 AI Agent 越来越多，单一命令行会话难以管理</li> 
 <li>手动切换、记忆会话状态容易出错</li> 
 <li>团队或个人需要可重复、可记录的会话流程</li> 
</ul> 
<h3>核心价值</h3> 
<ul> 
 <li>提供稳定、可复用的会话管理基础设施</li> 
 <li>减少管理多个 Agent 会话的心智负担</li> 
 <li>为后续自动化、监控或日志分析打下基础</li> 
 <li>让开发者可以专注于 AI 任务逻辑，而非终端管理</li> 
</ul> 
<hr /> 
<h2>🥈 letta-code — Memory-first 编程模式</h2> 
<p><strong>工具类型</strong>：面向 AI Agent 的编程辅助工具（Memory-first 编程）</p> 
<img width="600" alt="letta-code" src="https://rich-1e.sol.build/003C5F16-E1A2-4D9E-A663-DF433708BC37/letta-code.gif" /> 
<h3>使用场景</h3> 
<ul> 
 <li>编写或调试依赖上下文的 AI 代码</li> 
 <li>需要 AI Agent “记忆”历史上下文、变量状态</li> 
 <li>快速迭代复杂逻辑，尤其是多步骤决策任务</li> 
 <li>与其他 AI Agent 或自动化工具结合使用</li> 
</ul> 
<h3>背景需求</h3> 
<ul> 
 <li>传统 AI 编程环境常忽略上下文连续性</li> 
 <li>开发者在多轮交互或复杂任务时容易重复信息</li> 
 <li>“记忆优先”的工作模式可提高 AI 输出一致性和效率</li> 
</ul> 
<h3>核心价值</h3> 
<ul> 
 <li>将 AI Agent 的记忆管理作为核心功能</li> 
 <li>减少重复输入和上下文切换成本</li> 
 <li>提升长期、多轮任务的执行效率</li> 
 <li>形成可复用的 AI 编程工作流模式</li> 
</ul> 
<hr /> 
<h2>🥉 likec4 — 架构可视化趋势</h2> 
<p><strong>工具类型</strong>：架构建模与可视化工具</p> 
<img width="600" alt="241616232-d6994540-55d1-4167-b66b-45056754cc29" src="https://rich-1e.sol.build/003C5F16-E1A2-4D9E-A663-DF433708BC37/241616232-d6994540-55d1-4167-b66b-45056754cc29.gif" /> 
<h3>使用场景</h3> 
<ul> 
 <li>将代码结构转化为可视化架构图</li> 
 <li>支持实时更新与交互式设计</li> 
 <li>在设计、开发、代码审查阶段使用</li> 
 <li>团队协作时快速理解系统复杂性</li> 
</ul> 
<h3>背景需求</h3> 
<ul> 
 <li>随着系统复杂度增加，代码架构难以直观理解</li> 
 <li>文档与架构图容易过时</li> 
 <li>开发者需要实时可视化工具来降低认知负荷</li> 
</ul> 
<h3>核心价值</h3> 
<ul> 
 <li>将架构与代码同步，保证图表真实反映系统状态</li> 
 <li>提供动态、可交互的架构视角</li> 
 <li>帮助团队快速理解、评审和优化系统设计</li> 
 <li>降低大型系统开发中的认知成本</li> 
</ul> 
<hr /> 
<h2>以上总结</h2> 
<blockquote> 
 <p>AI Agent 不再是单个工具，<br /> 而是完整生态，<br /> 这个生态，需要可观测与治理。</p> 
</blockquote> 
<hr /> 
<h3>AI Agent 基础设施：从单点工具到完整生态</h3> 
<p>这一期几乎形成了一整条链路：</p> 
<ul> 
 <li>Agent 会话管理</li> 
 <li>运行时框架</li> 
 <li>记忆系统</li> 
 <li>Token 优化</li> 
 <li>沙箱安全</li> 
</ul> 
<p>这些工具共同指向一个趋势：</p> 
<blockquote> 
 <p>AI Agent 正在从“插件式能力”<br /> 走向“独立运行环境”。</p> 
</blockquote> 
<p>它们不再依附 IDE，<br /> 而开始拥有自己的操作层。</p> 
<hr /> 
<h3>可观测性与治理：自动化世界的副作用</h3> 
<p>另一个显著变化是：</p> 
<ul> 
 <li>使用监控工具变多</li> 
 <li>安全审计工具变多</li> 
 <li>行为分析工具变多</li> 
</ul> 
<p>这意味着工程世界开始接受一个现实：</p> 
<blockquote> 
 <p>自动化越强，<br /> 管理成本就越重要。</p> 
</blockquote> 
<hr /> 
<h3>架构与系统建模：复杂度的另一种应对方式</h3> 
<p>像架构建模、实时图生成、结构化分析<br /> 这一类工具越来越多。</p> 
<p>这不是为了文档漂亮，<br /> 而是为了让复杂系统<br /> 变得可以被人理解。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期让我最强烈的感受是：</p> 
<p>AI 工具已经不再处于<br /> “能不能用”的阶段。</p> 
<p>它们正在进入一个新的问题域：</p> 
<ul> 
 <li>如何协作</li> 
 <li>如何管理</li> 
 <li>如何被信任</li> 
</ul> 
<p>也许真正的拐点，<br /> 并不在模型本身，<br /> 而在围绕它的工具生态。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的新增列表，<br /> 越来越像一份技术趋势的年鉴。</p> 
<p>它不会告诉你未来是什么，<br /> 但会悄悄标注：</p> 
<p><strong>下一阶段的工作方式，正在成形。</strong></p> 
<blockquote> 
 <p>工具在进化，<br /> 但真正变化的，是我们与工具的关系。</p> 
</blockquote>
        ]]></description>
    </item>
    
    <item>
        <title>&#x65B0;&#x5E74;&#x5F00;&#x5DE5;&#x7EA2;&#x5305;</title>
        <link>https://rich-1e.sol.build/C528C97A-432E-4B2E-9F84-C5428A2A0AC4/</link>
        <guid>https://rich-1e.sol.build/C528C97A-432E-4B2E-9F84-C5428A2A0AC4/</guid>
        <pubDate>Tue, 24 Feb 2026 10:45:08 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/2026-new-years-hongbao/wecom-temp-1052504-d02e9d4316dc09bc97c093a09c5c0b83-compressed.jpg" />    
        
        
        <description><![CDATA[
            <div style="text-align: center;">
 <img width="450" alt="新年开工红包🧧" src="https://rich-1e.sol.build/C528C97A-432E-4B2E-9F84-C5428A2A0AC4/wecom-temp-1052504-d02e9d4316dc09bc97c093a09c5c0b83-compressed.jpg" />
</div> 
<p>公司马年开工红包，第一次收到这种形式：邮票。🤭</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260210 | &#x5F53; AI &#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x88AB;&#x7CFB;&#x7EDF;&#x5316;&#x7BA1;&#x7406; </title>
        <link>https://rich-1e.sol.build/B6B7FC21-802C-4308-A631-E3622A10C60B/</link>
        <guid>https://rich-1e.sol.build/B6B7FC21-802C-4308-A631-E3622A10C60B/</guid>
        <pubDate>Tue, 10 Feb 2026 10:11:27 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260210/skillshare.gif" />    
        
        
        <description><![CDATA[
            <p><strong>从“能用就行”，到“需要被治理”</strong></p> 
<blockquote> 
 <p>早期的工具，只关心能不能跑。<br /> 这一期的工具，开始关心：<br /> 谁在用、怎么用、是否可控。</p> 
 <p>Homebrew 的这些新增，更像是在为下一阶段的工作流打地基。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这一期没有爆炸式的新能力，<br /> 但出现了大量：<br /> <strong>围绕 AI、自动化与工程规范的“管理型工具”。</strong></p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>actions-up</strong></td> 
   <td>自动升级 GitHub Actions 并进行 SHA 固定的工具</td> 
  </tr> 
  <tr> 
   <td><strong>agent-browser</strong></td> 
   <td>面向 AI Agent 的浏览器自动化 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>arcadedb</strong></td> 
   <td>多模型数据库：图 / 文档 / KV / 搜索 / 向量</td> 
  </tr> 
  <tr> 
   <td><strong>cozyhr</strong></td> 
   <td>封装 Helm 与 Flux CD 的本地开发工具</td> 
  </tr> 
  <tr> 
   <td><strong>ic-wasm</strong></td> 
   <td>面向 ICP Canister 的 Wasm 转换 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>icp-cli</strong></td> 
   <td>ICP Canister 的构建与部署工具</td> 
  </tr> 
  <tr> 
   <td><strong>jqfmt</strong></td> 
   <td>风格强约束的 jq 格式化工具</td> 
  </tr> 
  <tr> 
   <td><strong>odiff</strong></td> 
   <td>SIMD 优先的高性能图像对比库（含 Node API）</td> 
  </tr> 
  <tr> 
   <td><strong>playwright-cli</strong></td> 
   <td>Playwright 官方 CLI：录制、生成代码、截图</td> 
  </tr> 
  <tr> 
   <td><strong>sheenbidi</strong></td> 
   <td>高性能 Unicode 双向文本算法实现</td> 
  </tr> 
  <tr> 
   <td><strong>skillshare</strong></td> 
   <td>在多个 AI CLI 工具间同步“技能”的工具</td> 
  </tr> 
  <tr> 
   <td><strong>static-web-apps-cli</strong></td> 
   <td>Azure Static Web Apps 的本地开发 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>transifex-cli</strong></td> 
   <td>Transifex 翻译平台的命令行客户端</td> 
  </tr> 
  <tr> 
   <td><strong>try-rs</strong></td> 
   <td>用于快速实验的临时终端工作区管理器</td> 
  </tr> 
  <tr> 
   <td><strong>yap</strong></td> 
   <td>基于 Speech.framework 的本地音频转写工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>clash-mi</strong></td> 
   <td>基于 Flutter 的 Mihomo GUI 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>codex-app</strong></td> 
   <td>OpenAI Codex 桌面端，管理编码 Agent</td> 
  </tr> 
  <tr> 
   <td><strong>luxury-yacht</strong></td> 
   <td>Kubernetes 集群管理桌面应用</td> 
  </tr> 
  <tr> 
   <td><strong>owocr</strong></td> 
   <td>面向日文文本的 OCR 工具</td> 
  </tr> 
  <tr> 
   <td><strong>plasticity</strong></td> 
   <td>面向概念设计师的 3D 建模软件</td> 
  </tr> 
  <tr> 
   <td><strong>posturr</strong></td> 
   <td>姿势监测与提醒应用</td> 
  </tr> 
  <tr> 
   <td><strong>tana</strong></td> 
   <td>带 AI 大纲能力的知识管理工作区</td> 
  </tr> 
  <tr> 
   <td><strong>thaw</strong></td> 
   <td>菜单栏窗口管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>xkey</strong></td> 
   <td>越南语输入法引擎</td> 
  </tr> 
  <tr> 
   <td><strong>font-alyamama</strong></td> 
   <td>Alyamama 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-betania-patmos</strong></td> 
   <td>Betania Patmos 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-betania-patmos-gdl</strong></td> 
   <td>Betania Patmos（GDL 版）</td> 
  </tr> 
  <tr> 
   <td><strong>font-betania-patmos-guide-line</strong></td> 
   <td>Betania Patmos（带书写引导线）</td> 
  </tr> 
  <tr> 
   <td><strong>font-betania-patmos-in</strong></td> 
   <td>Betania Patmos（印度版本）</td> 
  </tr> 
  <tr> 
   <td><strong>font-betania-patmos-in-gdl</strong></td> 
   <td>Betania Patmos（印度 GDL 版）</td> 
  </tr> 
  <tr> 
   <td><strong>font-dejavu-sans</strong></td> 
   <td>DejaVu Sans 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-idiqlat</strong></td> 
   <td>Idiqlat 字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-ramsina</strong></td> 
   <td>Ramsina 字体</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>不挑“最强的”，<br /> 只挑 <strong>最能反映趋势变化的几个点</strong>。</p> 
</blockquote> 
<hr /> 
<h3>actions-up：当自动化开始反过来要求“可审计”</h3> 
<p>GitHub Actions 早已无处不在，<br /> 但它们长期处于一种<br /> <strong>“能跑就行”</strong> 的状态。</p> 
<p><code>actions-up</code> 做的不是帮你写更多 CI，<br /> 而是帮你把依赖升级这件事<br /> <strong>变得可追踪、可复现、可回滚</strong>。</p> 
<p>这意味着自动化，<br /> 也开始被当作供应链的一部分来管理。</p> 
<hr /> 
<h3>skillshare：AI 工具，不再各学各的</h3> 
<img width="450" alt="skillshare" src="https://rich-1e.sol.build/B6B7FC21-802C-4308-A631-E3622A10C60B/skillshare.gif" /> 
<p>随着 AI CLI 工具变多，<br /> 一个现实问题开始出现：</p> 
<blockquote> 
 <p>我教会了这个 Agent，<br /> 为什么另一个完全不懂？</p> 
</blockquote> 
<p><code>skillshare</code> 的思路很直接：<br /> 把“技能”本身变成可同步的资源，<br /> 而不是绑定在某一个工具里。</p> 
<p>这是 AI 工具走向体系化的一个明显信号。</p> 
<hr /> 
<h3>agent-browser / playwright-cli</h3> 
<p><strong>当“操作浏览器”不再只属于人</strong></p> 
<p>Playwright 早就不只是测试工具了。<br /> 而 <code>agent-browser</code> 更是直接假设：<br /> 浏览器的操作者，可能是 AI。</p> 
<p>这一组工具的共同点在于：<br /> 它们不再强调“自动化有多强”，<br /> 而是强调<strong>接口是否足够清晰、行为是否可控</strong>。</p> 
<hr /> 
<h3>yap：输入，正在回到“本地可信”</h3> 
<img width="600" alt="yap" src="https://rich-1e.sol.build/B6B7FC21-802C-4308-A631-E3622A10C60B/yap.gif" /> 
<p><code>yap</code> 选择了一个很明确的方向：<br /> 不走云端、不做平台，<br /> 而是基于系统级 Speech.framework。</p> 
<p>这不是能力不足，<br /> 而是一种取舍：</p> 
<blockquote> 
 <p>有些输入，<br /> 不值得离开你的设备。</p> 
</blockquote> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期的更新，<br /> 让我强烈感觉到一个变化：</p> 
<p>AI 与自动化，<br /> 正在从“工具层”，<br /> 进入“系统层”。</p> 
<p>开始有人关心：</p> 
<ul> 
 <li>版本是否可控</li> 
 <li>行为是否可审计</li> 
 <li>能力是否可复用</li> 
</ul> 
<p>当工具开始被系统化管理，<br /> 人反而可以更轻松地使用它们。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新，<br /> 已经不只是“多了什么工具”。</p> 
<p>而是在悄悄记录：<br /> <strong>工程世界的默认假设，正在改变。</strong></p> 
<hr /> 
<p>AI 发展太快，有点焦虑。</p>
        ]]></description>
    </item>
    
    <item>
        <title>2025&#xFF1A;LLMs &#x7AD9;&#x4E0A;&#x4E3B;&#x821E;&#x53F0;</title>
        <link>https://rich-1e.sol.build/303BD4DA-FF04-434F-951C-507F8BE2F8FC/</link>
        <guid>https://rich-1e.sol.build/303BD4DA-FF04-434F-951C-507F8BE2F8FC/</guid>
        <pubDate>Tue, 03 Feb 2026 23:15:15 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>1～2年前，ChatGPT 刚出现时，可能确实让人感到震撼🫨，但没想到 AI 发展这么快，LLMs 层出不穷。</p> 
<p>整个 2025 年，从开年就一直出现新的突破：</p> 
<ol> 
 <li>2024年圣诞夜🎄，Deepseek 横空出世；</li> 
 <li>Claude Code / OpenAI 推理大模型；</li> 
 <li>YOLO mode / AI Agent / MCP / Skill 涌现新工具🔧；</li> 
 <li>gpt-image-1 / Gemini 2.5 Flash Image / Nano Banana Pro / Z-Image / Qwen-Image-Edit-2511 出现图像生成模型；</li> 
</ol> 
<p>某些领域，甚至开始大量使用AI编排工作任务和流程安排。</p> 
<p>从企业工厂、工作室到个人，AI无处不在。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://simonwillison.net/2025/Dec/31/the-year-in-llms/">2025: The year in LLMs</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x6211;&#x7EC8;&#x4E8E;&#x5B9E;&#x73B0;&#x4E86;&#x751F;&#x56FE;&#x81EA;&#x7531;&#xFF1A;ComfyUI &#x672C;&#x5730;&#x90E8;&#x7F72; Z-Image</title>
        <link>https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/</link>
        <guid>https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/</guid>
        <pubDate>Tue, 03 Feb 2026 22:09:30 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/ive-finally-achieved-raw-image-freedom-comfyui-local-deployment-of-zimage/2026-02-03_22-23.png" />    
        
        
        <description><![CDATA[
            <p>自从上次使用 GPT-Image-1 生成插件 logo 后，一直对<strong>图像生成模型</strong>念念不忘。</p> 
<p>但是 GPT-Image-1 非开源模型，没办法本地部署。</p> 
<p>查了很多资料，发现 Stable Diffusion 开源模型和配套工具，部署有点麻烦，遂放弃了.</p> 
<hr /> 
<p>今天心血来潮，又去问了ChatGPT：</p> 
<img width="450" alt="2026-02-03_22-23" src="https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/2026-02-03_22-23.png" /> 
<p>仍然提示“Stable Diffusion”。</p> 
<p>同时，也看到了“Z-Image”，感觉命名风格与“GPT-Image-1”很像。于是，就去查了一下这是什么？看看是哪家公司制作的模型。</p> 
<p>发现 github 上有 9.8k 个star，应该不简单。</p> 
<img width="450" alt="2026-02-03_22-29" src="https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/2026-02-03_22-29.png" /> 
<p>再仔细一看，“造相”？我还以为开了沉浸式翻译。😅</p> 
<p>仔细看完 README，大致了解了它的能力，决定试一下。</p> 
<hr /> 
<p>中途发生了一个小插曲：我发现了 Ultra Fast Image Gen 项目，使用下来感觉还不错，速度还能接受，生成的图片与之前使用 nano-banana 差不多，当然速度相差很大。</p> 
<ul> 
 <li><a href="https://z-image.me/zh/blog/How_to_Use_Z-Image_on_Mac_zh">如何在Mac电脑上使用Z-Image模型：完整安装与优化指南 | Z-Image - 真实免费，快如闪电，无限量，无限制的在线AI图像生成</a></li> 
 <li><a href="https://github.com/newideas99/ultra-fast-image-gen">newideas99/ultra-fast-image-gen: 4B parameter image gen that actually runs fast on your Mac. 14 seconds. No cloud. No GPU rental.</a></li> 
</ul> 
<hr /> 
<p>原本打算直接 Clone 官方源码，直接启动 Z-Image，结果运行时报错：</p> 
<pre><code class="language-md">RuntimeError: MPS backend out of memory (MPS allocated: 18.11 GiB, other allocations: 384.00 KiB, max allowed: 18.13 GiB). Tried to allocate 47.50 MiB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).
</code></pre> 
<p>为了跑起 Z-Image，下载了 32.9G 的文件，现在出现这个问题，我差点emo😈。</p> 
<img width="450" alt="2026-02-03_22-54" src="https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/2026-02-03_22-54.png" /> 
<hr /> 
<p>后面在网上查资料，发现 ComfyUI 这个项目。</p> 
<p>ComfyUI 可以配置 Z-Image，并且支持很多图像生成模型，是个非常成熟和主流的使用方式。</p> 
<p>立马安装 ComfyUI，然后下载了“Z-Image-Turbo”模版。</p> 
<img width="450" alt="2026-02-03_22-58" src="https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/2026-02-03_22-58.png" /> 
<p>老实说，第一次在本地玩<strong>图像生成模型</strong>，对 ComfyUI 很陌生。</p> 
<p>又去油管看了相关视频，才知道如何运行。😅</p> 
<hr /> 
<p>前后一共跑了2个任务，生成2张图片，花了半个多小时，平均一张 15min。</p> 
<p>可能电脑配置问题：<strong>MacBook Pro M1，16G</strong>。</p> 
<img width="450" alt="2026-02-03_23-04" src="https://rich-1e.sol.build/32EA6846-E108-4F96-B179-014B3D6F0925/2026-02-03_23-04.png" /> 
<p>油管主播表示，20G显存，大概不到几秒钟。</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/7yRQ8-BZ__o?si=UHEPl2sro0UxdTkr" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<p>以上就是今天 Z-Image 图像生成模型的全部内容了。</p> 
<p>感觉 ComfyUI 还有很多玩法，需要深度发掘。</p> 
<hr /> 
<h2>Ref</h2> 
<p>ComfyUI &amp; Z-Image</p> 
<ul> 
 <li><a href="https://maplezz.com/blog/z-image-turbo%E5%87%A0%E7%A7%8D%E4%B8%BB%E6%B5%81%E7%9A%84%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F">Z-Image-Turbo几种本地部署的主流方式 | 猫普的精神世界 | 一个独立开发者的精神自留地</a></li> 
 <li><a href="https://maplezz.com/blog/%E6%88%91%E7%94%A8%E7%94%B5%E8%84%91%E8%B7%91ai%E7%94%9F%E5%9B%BE%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%AE%B0%E6%8A%98%E8%85%BEcomfyui%E7%9A%84%E5%85%A8%E8%BF%87%E7%A8%8B">我用电脑跑AI生图大模型——记折腾ComfyUI的全过程 | 猫普的精神世界 | 一个独立开发者的精神自留地</a></li> 
 <li><a href="https://github.com/Tongyi-MAI/Z-Image">Tongyi-MAI/Z-Image</a></li> 
 <li><a href="https://www.freedidi.com/22006.html">Z-Image Turbo 本地安装教程！最近非常火的文生图AI模型，到底怎么样？ – 零度博客</a></li> 
 <li><a href="https://docs.comfy.org/zh-CN/tutorials/image/z-image/z-image-turbo#%E6%A1%8C%E9%9D%A2%E7%89%88%E6%88%96%E4%BA%91%E7%AB%AF%E7%94%A8%E6%88%B7">Z-Image-Turbo ComfyUI 工作流示例 - ComfyUI</a></li> 
 <li><a href="https://comfyui-wiki.com/zh/tutorial/basic/creating-your-first-image-by-the-first-time">ComfyUI 文生图教程，进行第一次的图片生成 | ComfyUI Wiki</a></li> 
 <li><a href="https://docs.comfy.org/installation/install_custom_node">MacOS Desktop Version - ComfyUI</a></li> 
 <li><a href="https://mp.weixin.qq.com/s/KES6bz1EWWvAVSZMFv_MFA">Qwen又出好东西了！Z-Image又轻又快又好又准！</a></li> 
 <li><a href="https://www.xuxueli.com/blog/?blog=./notebook/0-AI/%E4%BD%BF%E7%94%A8ComfyUI%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2Z-Image%E5%AE%9E%E7%8E%B0%E7%94%9F%E5%9B%BE%E8%87%AA%E7%94%B1.md">使用ComfyUI本地部署Z-Image实现生图自由</a></li> 
 <li><a href="https://help.apiyi.com/z-image-beginner-complete-guide.html">Z-Image 新手完全指南：阿里开源 6B 图像模型从入门到精通 - Apiyi.com Blog</a></li> 
</ul> 
<p><strong>Stable Diffusion</strong></p> 
<ul> 
 <li><a href="https://juejin.cn/post/7255936307100500029">在男朋友的 Mac 上部署 Stable Diffusion（超详细，含踩坑点，AI 绘画入门保姆级教程）终于实现 - 掘金</a></li> 
 <li><a href="https://aicoding.juejin.cn/post/7359821247675236387">在本地跑一个AI模型(5) - Stable Diffusion在之前的文章中，我们使用ollama在本地运行了大语言模 - 掘金</a></li> 
 <li><a href="https://github.com/AUTOMATIC1111/stable-diffusion-webui">Stable Diffusion web UI</a></li> 
 <li><a href="https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon">Installation on Apple Silicon · Stable-diffusion-webui Wiki</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Proxifier &#x4F7F;&#x7528;</title>
        <link>https://rich-1e.sol.build/F85962F7-B191-402B-9066-6CEB248E2E98/</link>
        <guid>https://rich-1e.sol.build/F85962F7-B191-402B-9066-6CEB248E2E98/</guid>
        <pubDate>Tue, 03 Feb 2026 15:29:40 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://www.proxifier.com/docs/win-v4/quick.html">Quick Start</a></li> 
 <li><a href="https://github.com/alphadl/proxifier_code">alphadl/proxifier_code: several free registration code for PROXIFIER</a></li> 
 <li><a href="https://gist.github.com/montasim/11e313f82dc6c2aea28298941158429f">Proxifier v4 Registration Keys.txt</a></li> 
 <li><a href="https://v2ex.com/t/260673">Mac 上 使用 Proxifier 让 shell 走代理 - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/252544">自己写的 Proxifier 通用代理规则 - V2EX</a></li> 
 <li><a href="https://www.laoxu.cc/post/114.html">Proxifier 代理软件介绍和使用教程 - 老许Blog</a></li> 
 <li><a href="https://github.com/selierlin/Share-SSR-V2ray/wiki/Proxifier%E8%AE%BE%E7%BD%AE%E6%95%99%E7%A8%8B#macos-%E4%BD%BF%E7%94%A8">Proxifier设置教程 · selierlin/Share-SSR-V2ray Wiki</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; # 20260203 | &#x5F53;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x66FF;&#x4F60;&#x5B88;&#x4F4F;&#x8FB9;&#x754C;  </title>
        <link>https://rich-1e.sol.build/C88564E6-1DBD-4CF0-B1FF-FBFE3FB40626/</link>
        <guid>https://rich-1e.sol.build/C88564E6-1DBD-4CF0-B1FF-FBFE3FB40626/</guid>
        <pubDate>Tue, 03 Feb 2026 10:30:54 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260203/fence-banner.png" />    
        
        
        <description><![CDATA[
            <p><strong>当系统不再默认你“全都信任”</strong></p> 
<blockquote> 
 <p>越来越多的工具，<br /> 不再假设环境是安全的、用户是单一的、代码是可控的。</p> 
 <p>这一期的 Homebrew 更新，<br /> 明显在讨论一件事：<br /> <strong>哪些事情，应该被隔离、被限制、被显式管理。</strong></p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这一期没有炫目的新能力，<br /> 但多了不少：<br /> <strong>帮你把“该隔离的隔离、该约束的约束”的工具。</strong></p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>cargo-features-manager</strong></td> 
   <td>用 TUI 管理 Rust 项目依赖 feature 的工具</td> 
  </tr> 
  <tr> 
   <td><strong>codex-acp</strong></td> 
   <td>通过 ACP 协议在 Zed 等客户端中使用 Codex</td> 
  </tr> 
  <tr> 
   <td><strong>dbcsr</strong></td> 
   <td>分布式块压缩稀疏矩阵计算库</td> 
  </tr> 
  <tr> 
   <td><strong>fence</strong></td> 
   <td>带网络与文件系统限制的轻量级命令沙箱</td> 
  </tr> 
  <tr> 
   <td><strong>go-air</strong></td> 
   <td>Go 应用的热重载工具</td> 
  </tr> 
  <tr> 
   <td><strong>gogcli</strong></td> 
   <td>Google Workspace 的命令行工具</td> 
  </tr> 
  <tr> 
   <td><strong>hdrhistogram_c</strong></td> 
   <td>HdrHistogram 的 C 语言实现</td> 
  </tr> 
  <tr> 
   <td><strong>litra</strong></td> 
   <td>在命令行中控制 Logitech Litra 灯光</td> 
  </tr> 
  <tr> 
   <td><strong>llhttp</strong></td> 
   <td>基于 llparse 的 http_parser 移植实现</td> 
  </tr> 
  <tr> 
   <td><strong>mac-cleanup-go</strong></td> 
   <td>扫描缓存与日志的 macOS 清理 TUI</td> 
  </tr> 
  <tr> 
   <td><strong>radicle</strong></td> 
   <td>构建在 Git 之上的去中心化代码协作平台</td> 
  </tr> 
  <tr> 
   <td><strong>tpix</strong></td> 
   <td>使用 Kitty 图形协议的终端图片查看器</td> 
  </tr> 
  <tr> 
   <td><strong>vampire</strong></td> 
   <td>高性能定理证明器</td> 
  </tr> 
  <tr> 
   <td><strong>whosthere</strong></td> 
   <td>带现代 TUI 的局域网设备发现工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>codexbar</strong></td> 
   <td>Codex / Claude 使用配额的菜单栏监控工具</td> 
  </tr> 
  <tr> 
   <td><strong>commander</strong></td> 
   <td>AI Agent 操作与调度工具</td> 
  </tr> 
  <tr> 
   <td><strong>elegoo-slicer</strong></td> 
   <td>开源 FDM 3D 打印切片软件</td> 
  </tr> 
  <tr> 
   <td><strong>ethui</strong></td> 
   <td>集成钱包与 Anvil 的以太坊开发工具包</td> 
  </tr> 
  <tr> 
   <td><strong>infinidesk</strong></td> 
   <td>多虚拟桌面环境，每个桌面独立文件与配置</td> 
  </tr> 
  <tr> 
   <td><strong>ipaverse</strong></td> 
   <td>iOS App 下载与管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>middledrag</strong></td> 
   <td>通过三指手势实现中键与中键拖拽</td> 
  </tr> 
  <tr> 
   <td><strong>repobar</strong></td> 
   <td>GitHub 仓库健康状态菜单栏面板</td> 
  </tr> 
  <tr> 
   <td><strong>retrace</strong></td> 
   <td>本地优先的屏幕录制与内容搜索工具</td> 
  </tr> 
  <tr> 
   <td><strong>seam-app</strong></td> 
   <td>面向 Notch 的生产力导向 Dynamic Island</td> 
  </tr> 
  <tr> 
   <td><strong>sky</strong></td> 
   <td>Bluesky 社交平台客户端</td> 
  </tr> 
  <tr> 
   <td><strong>trimmy</strong></td> 
   <td>粘贴即清理、一次性运行的终端剪贴板工具</td> 
  </tr> 
  <tr> 
   <td><strong>tritium</strong></td> 
   <td>面向法律从业者的综合写作与起草环境</td> 
  </tr> 
  <tr> 
   <td><strong>whyfi</strong></td> 
   <td>菜单栏 Wi-Fi 监控与诊断工具</td> 
  </tr> 
  <tr> 
   <td><strong>yandextelemost</strong></td> 
   <td>Yandex 视频会议平台客户端</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<blockquote> 
 <p>这一节不求全，<br /> 只挑 <strong>几个明显在“重画边界”的工具</strong>。</p> 
</blockquote> 
<hr /> 
<h3>fence：命令行，也需要“权限意识”</h3> 
<img width="450" alt="fence-banner" src="https://rich-1e.sol.build/C88564E6-1DBD-4CF0-B1FF-FBFE3FB40626/fence-banner.png" /> 
<p>在终端里执行命令，<br /> 长期以来都是一种<strong>全信任模型</strong>。</p> 
<p><code>fence</code> 的思路很直接：<br /> 在执行命令之前，<br /> 先决定它<strong>能不能访问网络、能不能碰文件系统</strong>。</p> 
<p>这不是为了防黑客，<br /> 而是为了防自己、<br /> 防脚本、<br /> 防那些你已经不完全理解的工具链。</p> 
<hr /> 
<h3>radicle：当代码协作不再默认“有中心”</h3> 
<img width="450" alt="web-app-screenshot" src="https://rich-1e.sol.build/C88564E6-1DBD-4CF0-B1FF-FBFE3FB40626/web-app-screenshot.png" /> 
<p><code>radicle</code> 再次提醒了一个老问题：<br /> 代码一定要托管在某个中心平台上吗？</p> 
<p>它并不追求替代 GitHub，<br /> 而是提供一种选择：<br /> <strong>当你不想把信任完全交出去时，<br /> 依然可以协作。</strong></p> 
<p>这是一个慢工具，<br /> 但方向非常明确。</p> 
<hr /> 
<h3>infinidesk：桌面，本身就是一种隔离</h3> 
<img width="812" alt="2026-02-03_15-16" src="https://rich-1e.sol.build/C88564E6-1DBD-4CF0-B1FF-FBFE3FB40626/2026-02-03_15-16.png" /> 
<p>大多数系统的“多桌面”，<br /> 只是窗口分组。</p> 
<p><code>infinidesk</code> 把这个概念推进了一步：<br /> 不同桌面，<br /> 拥有不同文件、壁纸、组件，<br /> 像是多个轻量工作环境。</p> 
<p>它解决的不是效率问题，<br /> 而是<strong>上下文污染</strong>。</p> 
<hr /> 
<h3>codex-acp / codexbar / commander</h3> 
<p><strong>当 AI 工具开始被“运维化”</strong></p> 
<p>这一期出现了不止一个 Codex / Agent 相关工具，<br /> 但它们关注的都不是“更聪明”，<br /> 而是：</p> 
<ul> 
 <li>能不能被接入到不同客户端</li> 
 <li>使用情况能不能被监控</li> 
 <li>Agent 能不能被调度和约束</li> 
</ul> 
<p>这意味着，<br /> AI 已经开始被当作<strong>系统组件</strong>，<br /> 而不是单一应用。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期的工具，<br /> 很少在谈“能力扩展”。</p> 
<p>更多是在问：</p> 
<ul> 
 <li>什么东西应该被限制？</li> 
 <li>什么操作值得被隔离？</li> 
 <li>什么系统不该再是默认全信任？</li> 
</ul> 
<p>这不是悲观，<br /> 而是一种成熟。</p> 
<p>当工具开始替你守住边界，<br /> 人才能更安心地把注意力，<br /> 放回真正需要判断的地方。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新，<br /> 越来越像一组工程态度的集合。</p> 
<p>它不告诉你该怎么用工具，<br /> 只是悄悄补齐那些<br /> <strong>以前只能靠自觉维护的边界。</strong></p> 
<hr /> 
<p>我们下期见</p>
        ]]></description>
    </item>
    
    <item>
        <title>Claude Code vs Cursor vs Cline vs Codex&#xFF0C;&#x7A76;&#x7ADF;&#x5982;&#x4F55;&#x9009;&#xFF1F;</title>
        <link>https://rich-1e.sol.build/F5D36DAA-839F-42FF-AC99-A07277638C52/</link>
        <guid>https://rich-1e.sol.build/F5D36DAA-839F-42FF-AC99-A07277638C52/</guid>
        <pubDate>Fri, 30 Jan 2026 17:27:45 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>对于编程模型，我一点都不困惑：</p> 
<ul> 
 <li>编码 Claude / ChatGPT-4o</li> 
 <li>日常问题 ChatGPT、豆包、元宝、Deepseek</li> 
 <li>本地部署 Ollama + Qwen / Deepseek</li> 
</ul> 
<p>以上基本够用。</p> 
<hr /> 
<p>工作中使用 AI 辅助编程，最开始接触的是 Cursor，然后是 Cline。</p> 
<p>Claude Code 反而是最后使用的，但是使用了几次之后，<br /> 发现有些时候比 Cursor 和 Cine 更顺手。</p> 
<p>可能是因为 Rule 的原因吧，它们有一些差异，变动也比较大。</p> 
<hr /> 
<p>Cline 里面不单有 Rule，还有 Workflow 的概念。</p> 
<p>Claude Code 和 Cursor 估计也有，可能叫法不一样。</p> 
<hr /> 
<p>现在这几个AI工具，只有 MCP 和 Skill 是统一的，其他东西都有一点区别。</p> 
<p>用起来费劲，想着只使用一个就好了。</p> 
<hr /> 
<p>可能用的时间还太短了吧，需要多看看官方文档和学习。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://zhuanlan.zhihu.com/p/1933645454257689014">Claude Code怎么用？23个实用技巧带你从入门到精通 - 知乎</a></li> 
 <li><a href="https://erlich.fun/services/claude-code">Claude Code 上手指南 -- Erlich 版</a></li> 
 <li><a href="https://www.reddit.com/r/ClaudeAI/comments/1q4yig7/claude_agent_sdk_full_workshop_thariq_shihipar/">Claude Agent SDK — Thariq Shihipar, Anthropic - YouTube : r/ClaudeAI</a><br /> <a href="https://cn.lipsum.com/">Lorem Ipsum - All the facts - Lipsum generator</a></li> 
 <li><a href="https://context7.com/">Context7 - Up-to-date documentation for LLMs and AI code editors</a></li> 
 <li><a href="https://docs.cline.bot/features/cline-rules/overview">Cline Rules - Cline</a></li> 
 <li><a href="https://docs.cline.bot/features/slash-commands/workflows">Workflows Overview - Cline</a></li> 
 <li><a href="https://github.com/OpenBMB/UltraRAG/blob/main/docs/README_zh.md">UltraRAG/docs/README_zh.md at main · OpenBMB/UltraRAG</a></li> 
 <li><a href="https://github.com/softaworks/agent-toolkit/tree/main/skills/react-dev">agent-toolkit/skills/react-dev at main · softaworks/agent-toolkit</a></li> 
 <li><a href="https://github.com/cline/cline/issues/4753">自定义指令/角色设置功能缺失 - Custom Instructions feature missing · Issue #4753 · cline/cline</a></li> 
 <li><a href="https://github.com/CloudAI-X/threejs-skills">CloudAI-X/threejs-skills</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5982;&#x4F55;&#x5F00;&#x53D1;MCP&#xFF1F;</title>
        <link>https://rich-1e.sol.build/46AB103B-1205-4A64-85B8-71EB51E3D6ED/</link>
        <guid>https://rich-1e.sol.build/46AB103B-1205-4A64-85B8-71EB51E3D6ED/</guid>
        <pubDate>Fri, 30 Jan 2026 17:26:04 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/46AB103B-1205-4A64-85B8-71EB51E3D6ED/mcp-simple-diagram.avif" />    
        
        
        <description><![CDATA[
            <img width="2500" alt="mcp-simple-diagram" src="https://rich-1e.sol.build/46AB103B-1205-4A64-85B8-71EB51E3D6ED/mcp-simple-diagram.avif" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://modelcontextprotocol.io/docs/develop/build-server#typescript">Build an MCP server - Model Context Protocol</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F53;&#x9A8C;&#x4E86;&#x4E00;&#x628A; nano-banana&#xFF0C;&#x611F;&#x89C9;&#x8FD8;&#x884C;</title>
        <link>https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/</link>
        <guid>https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/</guid>
        <pubDate>Fri, 30 Jan 2026 15:42:22 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/G6P2pXtWwAATf8-.jpeg" />    
        
        
        <description><![CDATA[
            <p>之前逛小红书，看到很多漂亮的信息图，非常震惊🤯。类似这样</p> 
<img width="450" alt="G6P2pXtWwAATf8-" src="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/G6P2pXtWwAATf8-.jpeg" /> 
<p>后面得知是 nano-banana 生成的，立马想体验一把。</p> 
<hr /> 
<p>今天闲来无事，登录 Goole AI Studio，试玩了几把，感觉还不错。</p> 
<p>比 ChatGPT 简单多了，即便没有精心雕琢的 Prompts，也可以获得不错的图片效果。</p> 
<p>直接丢给 nano-banana 一个 Markdown 文档，然后说将这个文档转成信息图，就得到了一个设计友好、信息准确的图片。</p> 
<img width="450" alt="2026-01-30_15-54" src="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/2026-01-30_15-54.png" /> 
<p>生成的信息图：</p> 
<img width="450" alt="Generated Image January 30, 2026 - 3_53PM" src="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/Generated Image January 30, 2026 - 3_53PM.webp" /> 
<p>如果想尝试不同风格，只需这样：</p> 
<img width="450" alt="2026-01-30_15-54_1" src="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/2026-01-30_15-54_1.png" /> 
<p>生成的信息图：</p> 
<img width="1184" alt="Generated Image January 30, 2026 - 3_54PM" src="https://rich-1e.sol.build/6633879A-E71D-4E02-BDF5-7821A37F9247/Generated Image January 30, 2026 - 3_54PM.webp" /> 
<hr /> 
<p>毕竟是免费的模型，文字有很多错误，如果使用中文，会乱码。</p> 
<p>如果使用 nano-banana pro，可能就没这些问题了。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1189410#reply1">看了太多 nano banana 套壳，我做了一个真的能解决科研绘图的网站 - V2EX</a></li> 
 <li><a href="https://silenceper.com/blog/2025-11-30-nano-banana-pro/">免费体验 Google AI 图片生成神器：Nano Banana Pro 完整教程 – silenceper</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1978955261461959743">Nano Banana Pro三个免费渠道，最后一个真香！ - 知乎</a></li> 
 <li><a href="https://www.ifanr.com/1645475">Nano Banana Pro保姆级指南！全网最火玩法+官方7大技巧+免费渠道，都在这了 | 爱范儿</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1976271572919669857">Nano Banana Pro 完全指南！ - 知乎</a></li> 
 <li><a href="https://github.com/ZHO-ZHO-ZHO/ZHO-nano-banana-Creation">我的 nano-banana 创意玩法大合集！ 持续更新中！</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1944352841201324177">Nano-banana 完整使用指南：教程、案例、白嫖网站，看这一篇就够了！ - 知乎</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>clawdbot &#x4E0E; ifttt&#xFF1A;&#x53C8;&#x4E00;&#x4E2A;&#x73A9;&#x5177;&#xFF1F;</title>
        <link>https://rich-1e.sol.build/2074F8CE-6202-4F05-81BE-46D6BA1A0DDD/</link>
        <guid>https://rich-1e.sol.build/2074F8CE-6202-4F05-81BE-46D6BA1A0DDD/</guid>
        <pubDate>Fri, 30 Jan 2026 10:48:06 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/2074F8CE-6202-4F05-81BE-46D6BA1A0DDD/Google_AI_Studio_2026-01-30T07_08_37.725Z.png" />    
        
        
        <description><![CDATA[
            <p>clawdbot(Moltbot) 很火，各种蹭流量的话题都有它。</p> 
<p>但还是之前说的那样：</p> 
<blockquote> 
 <p><strong>“老实说，我没有完全理解它的“价值”。”</strong></p> 
</blockquote> 
<blockquote> 
 <p><strong>“个人预计，很快就没人会讨论它，Clawdbot。”</strong></p> 
</blockquote> 
<hr /> 
<p>突然间，我想起 <strong>IFTTT</strong>，</p> 
<blockquote> 
 <p><em>If This Then That ——「如果发生了这件事，就执行那件事」</em></p> 
</blockquote> 
<p>IFTTT 大概可以算是「自动化工具的祖师爷」之一。</p> 
<p>IFTTT 刚出现的时候，也引发了很多人的期待，但最终情况就像现在这样，无人问津。</p> 
<hr /> 
<p>在我看来，<strong>clawdbot = 自动化工具 + AI：</strong></p> 
<img width="450" alt="clawdbot = 自动化工具+AI" src="https://rich-1e.sol.build/2074F8CE-6202-4F05-81BE-46D6BA1A0DDD/Google_AI_Studio_2026-01-30T07_08_37.725Z.png" /> 
<p>虽然，AI 很强，但是仍然有许多事情无法完成：</p> 
<ol> 
 <li>人类没有参考方案的事情；</li> 
 <li>没有训练过的案例；<br /> ...</li> 
</ol> 
<p>诸如此类，很多的场景。<strong>归根结底，AI 只能运行在人类设计的认知范畴里，一旦超出了人类的认知，它什么都干不了。</strong></p> 
<blockquote> 
 <p>说个笑话，假如停电了，AI会去交电费吗？</p> 
</blockquote> 
<hr /> 
<p>直白点说，科技圈只是又多出一个玩具，clawdbot。</p>
        ]]></description>
    </item>
    
    <item>
        <title>Agent Skills &#x5B9E;&#x6218;</title>
        <link>https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/</link>
        <guid>https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/</guid>
        <pubDate>Mon, 26 Jan 2026 18:34:10 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/2026-01-26_18-43.webp" />    
        
        
        <description><![CDATA[
            <p>如今，越来越多 AI 产品都已接入 Skills 功能 —— 从 Claude Code、OpenCode 到 CodeX、Antigravity，再到最近刚升级的 Coze 2.0，几乎成了主流 AI 工具的 “标配”。</p> 
<p>但问题来了：<strong>火爆全网的 Skills，普通人到底该怎么用？</strong></p> 
<hr /> 
<p>食用指南：</p> 
<ul> 
 <li>首先安装 Skill，打开 <a href="https://skills.sh/">The Agent Skills Directory</a>；</li> 
 <li>AI 中使用 Skill；</li> 
 <li>创建自己的 Skill；</li> 
</ul> 
<hr /> 
<p>一共安装3个Skill：</p> 
<ul> 
 <li>frontend-design: 创建高质量的前端界面和组件，包括网站、落地页、仪表板、React组件等</li> 
 <li>mcp-builder: 创建MCP (Model Context Protocol) 服务器的指南</li> 
 <li>skill-creator: 创建新技能的指南</li> 
</ul> 
<hr /> 
<p>👇下面以 Claude Code 为例，讲讲 Skill 的使用和创建：</p> 
<img width="450" alt="2026-01-26_18-43" src="https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/2026-01-26_18-43.webp" /> 
<p>首先检查安装好的 Skill。</p> 
<pre><code class="language-md">当前有哪些skill？
</code></pre> 
<img width="3456" alt="2026-01-26_18-20" src="https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/2026-01-26_18-20.webp" /> 
<p>然后，使用 <strong>“skill-creator”</strong> 创建了 <strong>“ImageMagick Skill”。</strong></p> 
<pre><code class="language-md">请帮我把开源项目https://github.com/lmageMagick/lmageMagick,打包成一个Skill，方便我以后直接调用它来对我的图片素材进行处理，可以比如格式转换，分辨率修改、压缩等等
</code></pre> 
<img width="450" alt="2026-01-26_18-20" src="https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/2026-01-26_18-20.webp" /> 
<p>接着，用自己刚创建的 <strong>“ImageMagick Skill”</strong>，压缩图片。</p> 
<pre><code class="language-md">请将2026-01-26_18-43.png图片转换成webp，图片大小压缩一下，并保存在原始图片同目录下。
</code></pre> 
<img width="3452" alt="2026-01-26_18-29" src="https://rich-1e.sol.build/F0069939-E134-4767-AB53-7BDBEF0D5C29/2026-01-26_18-29.webp" /> 
<hr /> 
<p>看到这里，发现很简单是不是？</p> 
<blockquote> 
 <p><strong>“任何可以复用的能力，都建议抽象成技能，一定要Skill化。”</strong></p> 
</blockquote> 
<p>大家可以动手了。</p> 
<p>note：使用 <code>npx skills add &lt;owner/repo&gt;</code> 安装的 Skill 可以给<strong>电脑上任何 AI 工具使用</strong>。自己创建的 Skill 只限于当前的 AI 工具，但是你可以复制到一个公共目录，然后通过<strong>软连接</strong>共享给其他AI工具。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.cnblogs.com/jinjiangongzuoshi/p/19520101">火爆全网的Agent Skills，普通人到底该怎么用？</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>clawdbot &#x662F;&#x5565;&#xFF1F;&#x6D41;&#x91CF;&#x5BC6;&#x7801;&#x3299;&#xFE0F;&#xFF1F;</title>
        <link>https://rich-1e.sol.build/B0DE58BC-B3D6-4C08-986A-DD25CE143AC4/</link>
        <guid>https://rich-1e.sol.build/B0DE58BC-B3D6-4C08-986A-DD25CE143AC4/</guid>
        <pubDate>Mon, 26 Jan 2026 17:01:55 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/B0DE58BC-B3D6-4C08-986A-DD25CE143AC4/clawdbot.png" />    
        
        
        <description><![CDATA[
            <img width="450" alt="clawdbot" src="https://rich-1e.sol.build/B0DE58BC-B3D6-4C08-986A-DD25CE143AC4/clawdbot.png" /> 
<p>刚用AI写了篇 Homebrew 周报，发现里面竟然有 <strong>Clawdbot</strong>😺。</p> 
<p>老实说，我没有完全理解它的“价值“。</p> 
<hr /> 
<p>在 <strong>ChatGPT 4.0</strong> 发布没多久的时候，我发现了一个非常热门的开源项目：<strong>AutoGPT</strong>。</p> 
<p>一开始，我感觉很神奇：<em><strong>AutoGPT 可以根据任务自己搜索网页、下载文件等等，一切都是自动化操作。</strong></em></p> 
<p>我被它这套动作折服，但很快被现实打脸👊，<strong>它未解决任何任务‼️。</strong></p> 
<p>迄今为止，<strong>AutoGPT并没有给我解决任何问题，它就像个玩具</strong>。</p> 
<hr /> 
<blockquote> 
 <p><strong>“后面开始接触 Cursor，是它让我感受到 AI 不是骗人的把戏。”</strong></p> 
</blockquote> 
<p>自从使用 Cursor 辅助编程，工作效率提升了很多，原来半天或者一天的工作，可能1～2个小时就完成了。</p> 
<p>Cursor，值得付费。</p> 
<hr /> 
<p>回到 Clawdbot，去它的主页看了看，跟 AutoGPT 很像。</p> 
<p>我完全没理解它能做什么？如果抛开 AI，它只剩下壳，如同它的logo，小龙虾🦞。</p> 
<p><strong>个人预计，很快就没人会讨论它，Clawdbot。</strong></p> 
<hr /> 
<h2>Ref</h2> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/Qkqe-uRhQJE?si=eIz-6OlCRJnVU8jp" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<ul> 
 <li><a href="https://techorange.com/2026/01/26/clawdbot-ai/">AI 開源代理 Clawdbot 爆紅！橫掃 GitHub 9,000 星，和 ChatGPT 有何不同？</a></li> 
 <li><a href="https://www.reddit.com/r/selfhosted/comments/1qa1fh2/anyone_else_using_clawbot_here/?tl=zh-hans">这里还有谁在用 ClawBot 吗？ : r/selfhosted</a></li> 
 <li><a href="https://www.threads.com/@deepsrt.cc/post/DT8CIGZDtas">ClawdBot 是我這輩子用過最強大的 AI 工具</a></li> 
 <li><a href="https://www.cryptocity.tw/news/clawdbot-guide-setup-and-security-tips">Clawdbot是什麼？5步驟簡單安裝教學：使用前必看資安設定指南</a></li> 
 <li><a href="https://v2ex.com/t/1188353#reply25">[讨论] 我还是不明白 Clawdbot 的核心价值在哪里？ - V2EX</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Penpot &#x7EC8;&#x4E8E;&#x5B98;&#x65B9;&#x652F;&#x6301;MCP&#x4E86;&#x3001;&#x6492;&#x82B1;&#x1F339;</title>
        <link>https://rich-1e.sol.build/FDE587A2-8E38-4125-AC13-DD1D92DE2093/</link>
        <guid>https://rich-1e.sol.build/FDE587A2-8E38-4125-AC13-DD1D92DE2093/</guid>
        <pubDate>Mon, 26 Jan 2026 15:49:25 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/penpot-finally-supports-mcp-officially/penpot.jpg" />    
        
        
        <description><![CDATA[
            <img width="3465" alt="penpot" src="https://rich-1e.sol.build/FDE587A2-8E38-4125-AC13-DD1D92DE2093/penpot.jpg" /> 
<p>Web 端的 UI 设计师，主流都是使用 Figma，但 Figma 是商业软件，对于资金有限的 team 来说，是一笔不小的开销💰。</p> 
<hr /> 
<p>Penpot 是 Figma 的 free 平替，开源程度高，支持自有部署。</p> 
<p>如果有较高要求，也可以购买他们的商业许可，获取更多功能。</p> 
<p>在 AI Coding 的年代，Penpot 有很大缺憾、缺乏 MCP 支持，显得有点脱节。</p> 
<p>现在官方支持 MCP，是个令人振奋的好消息。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/penpot/penpot-mcp?tab=readme-ov-file">penpot/penpot-mcp: Penpot's official MCP Server</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x1F37A; Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260126 | &#x5F53;&#x7EC8;&#x7AEF;&#x5F00;&#x59CB;&#x91CD;&#x65B0;&#x53D8;&#x5F97;&#x201C;&#x597D;&#x7528;&#x201D;</title>
        <link>https://rich-1e.sol.build/6E5109E6-1CB2-4720-9AD6-65FD2CF8C577/</link>
        <guid>https://rich-1e.sol.build/6E5109E6-1CB2-4720-9AD6-65FD2CF8C577/</guid>
        <pubDate>Mon, 26 Jan 2026 10:29:01 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260126/ekphos-example.webp" />    
        
        
        <description><![CDATA[
            <p><strong>当工具不再抢存在感，而是默默接过复杂性</strong></p> 
<blockquote> 
 <p>真正有分量的工具更新，<br /> 往往不是多给你几个按钮，<br /> 而是让你少记几件本该交给系统的事。</p> 
 <p>这一期 Homebrew 的新增，更像是在底层悄悄铺路。</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>没有明星级工具，<br /> 但多了一整批：<br /> 当工作流变复杂时，你会开始庆幸它们存在的选项。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>durdraw</strong></td> 
   <td>终端里的 ASCII / ANSI 艺术绘图编辑器</td> 
  </tr> 
  <tr> 
   <td><strong>ekphos</strong></td> 
   <td>类 Obsidian 的终端 Markdown 研究工具</td> 
  </tr> 
  <tr> 
   <td><strong>gnuastro</strong></td> 
   <td>天文数据处理与分析工具集</td> 
  </tr> 
  <tr> 
   <td><strong>libigloo</strong></td> 
   <td>Icecast 项目使用的通用 C 框架</td> 
  </tr> 
  <tr> 
   <td><strong>magics</strong></td> 
   <td>ECMWF 出品的气象绘图软件</td> 
  </tr> 
  <tr> 
   <td><strong>mlx-c</strong></td> 
   <td>MLX 的 C 语言 API</td> 
  </tr> 
  <tr> 
   <td><strong>nativefiledialog-extended</strong></td> 
   <td>原生文件选择对话框库（C/C++ 绑定）</td> 
  </tr> 
  <tr> 
   <td><strong>openskills</strong></td> 
   <td>面向 AI 编程 Agent 的通用技能加载器</td> 
  </tr> 
  <tr> 
   <td><strong>pocket-tts</strong></td> 
   <td>面向 CPU 优化的本地语音合成工具</td> 
  </tr> 
  <tr> 
   <td><strong>repeater</strong></td> 
   <td>基于间隔重复算法的闪卡学习工具</td> 
  </tr> 
  <tr> 
   <td><strong>sandvault</strong></td> 
   <td>在 macOS 沙盒用户中隔离运行 AI Agent</td> 
  </tr> 
  <tr> 
   <td><strong>signalwire-client-c</strong></td> 
   <td>SignalWire 的 C 客户端 SDK</td> 
  </tr> 
  <tr> 
   <td><strong>tftp-now</strong></td> 
   <td>单文件版 TFTP 服务器与客户端</td> 
  </tr> 
  <tr> 
   <td><strong>tock</strong></td> 
   <td>命令行时间追踪工具</td> 
  </tr> 
  <tr> 
   <td><strong>vtsls</strong></td> 
   <td>VSCode TypeScript 扩展的 LSP 包装器</td> 
  </tr> 
  <tr> 
   <td><strong>wik</strong></td> 
   <td>在终端中浏览维基百科</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>amical</strong></td> 
   <td>AI 语音听写应用</td> 
  </tr> 
  <tr> 
   <td><strong>appvolume</strong></td> 
   <td>按应用调节系统音量</td> 
  </tr> 
  <tr> 
   <td><strong>aquaskk@prerelease</strong></td> 
   <td>无形态分析的输入法</td> 
  </tr> 
  <tr> 
   <td><strong>boltai@1</strong></td> 
   <td>AI 聊天客户端</td> 
  </tr> 
  <tr> 
   <td><strong>captains-deck</strong></td> 
   <td>双栏文件管理器（Norton Commander 风格）</td> 
  </tr> 
  <tr> 
   <td><strong>claudebar</strong></td> 
   <td>菜单栏里的 Claude 使用配额监控工具</td> 
  </tr> 
  <tr> 
   <td><strong>clawdbot</strong></td> 
   <td>个人 AI 助手</td> 
  </tr> 
  <tr> 
   <td><strong>codebuddy</strong></td> 
   <td>AI 自适应 IDE</td> 
  </tr> 
  <tr> 
   <td><strong>codebuddy-cn</strong></td> 
   <td>CodeBuddy 中文版</td> 
  </tr> 
  <tr> 
   <td><strong>finetune</strong></td> 
   <td>应用级音量混音与路由工具</td> 
  </tr> 
  <tr> 
   <td><strong>font-playwrite-nz-basic</strong></td> 
   <td>Playwrite NZ 基础字体</td> 
  </tr> 
  <tr> 
   <td><strong>font-playwrite-nz-basic-guides</strong></td> 
   <td>带书写引导线的 Playwrite NZ 字体</td> 
  </tr> 
  <tr> 
   <td><strong>gitfit</strong></td> 
   <td>等 AI 生成代码时做微运动的小工具</td> 
  </tr> 
  <tr> 
   <td><strong>impactor</strong></td> 
   <td>iOS / tvOS 应用侧载工具</td> 
  </tr> 
  <tr> 
   <td><strong>lolgato</strong></td> 
   <td>Elgato 灯光控制增强工具</td> 
  </tr> 
  <tr> 
   <td><strong>mcpbundler</strong></td> 
   <td>MCP 服务器与 Agent 技能管理器</td> 
  </tr> 
  <tr> 
   <td><strong>monologue</strong></td> 
   <td>会适应你写作风格的 AI 语音听写</td> 
  </tr> 
  <tr> 
   <td><strong>mos@beta</strong></td> 
   <td>平滑滚动与独立滚轮方向控制</td> 
  </tr> 
  <tr> 
   <td><strong>plaud</strong></td> 
   <td>会议 / 通话 / 面对面场景的 AI 记录工具</td> 
  </tr> 
  <tr> 
   <td><strong>superset</strong></td> 
   <td>用于编排 Agent 的终端工具</td> 
  </tr> 
  <tr> 
   <td><strong>transmission@beta</strong></td> 
   <td>开源 BitTorrent 客户端（测试版）</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<h3>sandvault：当 AI Agent 开始需要“隔离区”</h3> 
<p>AI Agent 越来越强，<br /> 但也越来越“像另一个用户”。</p> 
<p><code>sandvault</code> 做的事情很克制：<br /> 不试图限制 Agent 的能力，<br /> 而是给它一个<strong>单独的 macOS 用户沙盒</strong>。</p> 
<p>这是一种很成熟的工程判断：<br /> 不是假装安全问题不存在，<br /> 而是把风险关进可控的房间里。</p> 
<hr /> 
<h3>ekphos：研究型写作，回到终端</h3> 
<p>知识管理工具越来越重，<br /> 但真正写东西的时候，<br /> 很多人还是回到了 Markdown。</p> 
<p><code>ekphos</code> 的气质很明确：<br /> 不做“第二个 Obsidian”，<br /> 而是把“链接、引用、检索”<br /> 搬回终端这种低干扰环境。</p> 
<p>它更像一个研究用的工具箱，<br /> 而不是笔记应用。</p> 
<img width="1080" alt="ekphos-example" src="https://rich-1e.sol.build/6E5109E6-1CB2-4720-9AD6-65FD2CF8C577/ekphos-example.webp" /> 
<hr /> 
<h3>pocket-tts / monologue / amical</h3> 
<p><strong>当“输入”开始重新被发明</strong></p> 
<p>这一期出现了不止一个语音工具，<br /> 但它们的方向非常一致：</p> 
<ul> 
 <li><code>pocket-tts</code>：强调本地、低资源消耗</li> 
 <li><code>monologue</code>：强调写作风格适配</li> 
 <li><code>amical</code>：强调随时可用的语音入口</li> 
</ul> 
<p>这不是功能堆叠，<br /> 而是输入方式在悄悄换代。</p> 
<hr /> 
<h3>openskills / superset / mcpbundler</h3> 
<p><strong>当工具开始为 Agent 而设计</strong></p> 
<p>这一期最明显的信号之一是：<br /> 工具开始假设“使用者不只是人”。</p> 
<ul> 
 <li><code>openskills</code>：为 Agent 提供可加载技能</li> 
 <li><code>superset</code>：用终端编排 Agent 工作流</li> 
 <li><code>mcpbundler</code>：集中管理 Agent 能力包</li> 
</ul> 
<p>这不是噱头，<br /> 而是开发环境结构正在真实变化。</p> 
<img width="1703" alt="mcpbundler" src="https://rich-1e.sol.build/6E5109E6-1CB2-4720-9AD6-65FD2CF8C577/mcpbundler.png" /> 
<p style="text-align: center">MCP Bundler</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期没有<br /> “你不用就会落后”的工具。</p> 
<p>但你会发现，<br /> 很多项目都在同一个方向上用力：</p> 
<ul> 
 <li>把 AI 关进更安全的容器</li> 
 <li>把输入变得更自然</li> 
 <li>把复杂的工作流拆解成模块</li> 
</ul> 
<p>它们不是为了炫技，<br /> 而是为了让未来的工具世界<br /> 不至于失控。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新，<br /> 越来越像一张慢慢展开的地图。</p> 
<p>它不催你赶路，<br /> 只是告诉你：</p> 
<p><strong>这条路上，又多了几种更稳妥的走法。</strong></p> 
<p>我们下期再见。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x518D;&#x8C08; vibe coding</title>
        <link>https://rich-1e.sol.build/517BFA9C-1FA2-4F51-ACC8-AAC3E2AAB799/</link>
        <guid>https://rich-1e.sol.build/517BFA9C-1FA2-4F51-ACC8-AAC3E2AAB799/</guid>
        <pubDate>Thu, 22 Jan 2026 10:43:09 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/lets-talk-about-vibe-coding/Radar-1.png" />    
        
        
        <description><![CDATA[
            <p>昨天刷到一篇帖子<a href="https://v2ex.com/t/1187220">公司开始全面 vibe coding 之后感觉更累了 - V2EX</a>。</p> 
<p>op 写了大段内容，看着很累，待看到后面的评论区，才知道 op 用了AI排版😓。</p> 
<hr /> 
<blockquote> 
 <p>“简单说，就是用了 vibe coding 后，开发更累了。”</p> 
</blockquote> 
<p>看了op的 <strong>“后续反思”</strong>，感觉太低级，有点误人子弟。</p> 
<p>还好评论区，有几个不错的建议（<a href="https://v2ex.com/t/1187220#r_17235817">#17</a>、<a href="https://v2ex.com/t/1187220#r_17235962">#19</a>）。</p> 
<p>不能说完全解决问题，但是解决问题的路径和对AI的理解确实不是小白可比。</p> 
<hr /> 
<p>每个人对于AI的使用，其能力是参差不齐的，有的人是“自我总结”，有的人是学习官方文档。</p> 
<p>如果一开始，就是零星学习一些散落的AI知识，再结合“自我总结”。</p> 
<p>这样的路径，最终会导致不伦不类。</p> 
<hr /> 
<p>好的路径应该是，首先从官方文档开始学习，然后逐渐递进学习深度，例如：Rules、Skills 等等。</p> 
<p>使用AI能力的判断标准，可以通过下面5个维度来看：</p> 
<img width="1400" alt="Radar-1" src="https://rich-1e.sol.build/517BFA9C-1FA2-4F51-ACC8-AAC3E2AAB799/Radar-1.png" /> 
<ul> 
 <li>输入控制力（Input Control）</li> 
 <li>输出可控性（Output Control）</li> 
 <li>任务建模力（Task Modeling）</li> 
 <li>风险与约束意识（Risk Control）</li> 
 <li>系统与流程设计力（System Design）</li> 
</ul> 
<hr /> 
<p>油管上有主播谈了一下，企业中使用 “vibe coding” 开发遇到的问题，将的还蛮好的，可以看看。</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/M-EaZqYrkyY?si=RDUKnxUnaIGmWv6n" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<p>还有个主播，讲了很多AI基础和原理性的内容，非常适合新人学习。</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/GE0pFiFJTKo?si=cwGZblqr0poxk446" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<p>最后，我想说，很多使用者都是从 ChatGPT 开始接触 AI 工具，对于“LLA大模型”“模型蒸馏”“Agent”“MCP”“Skill”等等，都只是一知半解。</p> 
<p>但是，AI 发展很快，其技术指标一直在迭代，如果不去学习官方文档，根本不清楚当前使用的模型有哪些功能特性，更加不要说 Vibe Coding。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1187220#r_17235962">公司开始全面 vibe coding 之后感觉更累了 - V2EX</a></li> 
 <li><a href="https://github.com/anthropics/claude-plugins-official">A curated directory of high-quality plugins for Claude Code.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260120 &#xFF5C; &#x5F53;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x66FF;&#x4F60;&#x5206;&#x62C5;&#x590D;&#x6742;&#x6027;</title>
        <link>https://rich-1e.sol.build/E09E3735-6282-4E3D-8E01-1CDFF746D11A/</link>
        <guid>https://rich-1e.sol.build/E09E3735-6282-4E3D-8E01-1CDFF746D11A/</guid>
        <pubDate>Tue, 20 Jan 2026 10:00:45 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260120/schema-changes-flow.svg" />    
        
        
        <description><![CDATA[
            <p><strong>当工具开始替你分担复杂性</strong></p> 
<p>真正有分量的工具更新，<br /> 往往不是让你“能做更多事”，<br /> 而是让你<strong>少为一些本该被自动化的细节操心</strong>。</p> 
<p>这一期 Homebrew 的新增工具，<br /> 大多安静、专业，<br /> 但几乎都在同一个方向上用力：<br /> <strong>把复杂性留给系统，把判断权还给人。</strong></p> 
<blockquote> 
 <p>“这一期的工具，不追求存在感，但在关键时刻能把复杂留给机器。”</p> 
</blockquote> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这周没有“必须立刻安装”的明星工具，<br /> 但多了一整组——<br /> 当项目变大、系统变复杂时，<br /> 你会开始庆幸它们存在的选项。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 New Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>azure-dev</strong></td> 
   <td>Azure 官方开发者 CLI，用于统一管理与操作 Azure 资源</td> 
  </tr> 
  <tr> 
   <td><strong>dovi_convert</strong></td> 
   <td>Dolby Vision Profile 7 → 8.1 的 MKV 视频转换工具</td> 
  </tr> 
  <tr> 
   <td><strong>ffmpeg-full</strong></td> 
   <td>含完整编解码支持的 FFmpeg 音视频工具集</td> 
  </tr> 
  <tr> 
   <td><strong>fzf-tab</strong></td> 
   <td>使用 fzf 替换 zsh 补全菜单</td> 
  </tr> 
  <tr> 
   <td><strong>imagemagick-full</strong></td> 
   <td>全功能 ImageMagick 图像处理工具</td> 
  </tr> 
  <tr> 
   <td><strong>kubefwd</strong></td> 
   <td>Kubernetes Service 批量端口转发工具</td> 
  </tr> 
  <tr> 
   <td><strong>libks</strong></td> 
   <td>SignalWire C 产品的基础支持库</td> 
  </tr> 
  <tr> 
   <td><strong>libthai</strong></td> 
   <td>泰语语言处理支持库</td> 
  </tr> 
  <tr> 
   <td><strong>pgroll</strong></td> 
   <td>Postgres 零停机数据库迁移工具</td> 
  </tr> 
  <tr> 
   <td><strong>ralph-orchestrator</strong></td> 
   <td>面向自主 AI 任务的多 Agent 编排框架</td> 
  </tr> 
  <tr> 
   <td><strong>rig-r</strong></td> 
   <td>R 语言运行时安装管理器</td> 
  </tr> 
  <tr> 
   <td><strong>rv-r</strong></td> 
   <td>声明式 R 包管理工具</td> 
  </tr> 
  <tr> 
   <td><strong>shiki</strong></td> 
   <td>高质量语法高亮引擎</td> 
  </tr> 
  <tr> 
   <td><strong>worktrunk</strong></td> 
   <td>面向并行 AI Agent 的 Git worktree 管理 CLI</td> 
  </tr> 
  <tr> 
   <td><strong>xcsift</strong></td> 
   <td>解析 xcodebuild 输出的 Swift 工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h3>🧩 New Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>中文说明</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>ausweisapp</strong></td> 
   <td>德国联邦政府官方 eID 客户端</td> 
  </tr> 
  <tr> 
   <td><strong>auto-claude</strong></td> 
   <td>支持多会话的自动化 AI 编程工具</td> 
  </tr> 
  <tr> 
   <td><strong>bettershot</strong></td> 
   <td>截图、标注、编辑一体化工具</td> 
  </tr> 
  <tr> 
   <td><strong>eigent</strong></td> 
   <td>桌面级 AI Agent</td> 
  </tr> 
  <tr> 
   <td><strong>font-zxgamut</strong></td> 
   <td>ZX Gamut 字体</td> 
  </tr> 
  <tr> 
   <td><strong>freeshow@beta</strong></td> 
   <td>演示文稿软件（测试版）</td> 
  </tr> 
  <tr> 
   <td><strong>glide</strong></td> 
   <td>树状布局的平铺窗口管理器</td> 
  </tr> 
  <tr> 
   <td><strong>hytale</strong></td> 
   <td>Hytale 官方启动器</td> 
  </tr> 
  <tr> 
   <td><strong>kogiqa</strong></td> 
   <td>自然语言驱动的 UI 自动化工具</td> 
  </tr> 
  <tr> 
   <td><strong>novation-play</strong></td> 
   <td>Launchkey MK4 虚拟乐器</td> 
  </tr> 
  <tr> 
   <td><strong>proscoreboard</strong></td> 
   <td>比赛记分板软件</td> 
  </tr> 
  <tr> 
   <td><strong>provideoplayer</strong></td> 
   <td>演示播放工具</td> 
  </tr> 
  <tr> 
   <td><strong>stremioservice</strong></td> 
   <td>Stremio Web 桌面配套服务</td> 
  </tr> 
  <tr> 
   <td><strong>waveforms</strong></td> 
   <td>Digilent 测试与测量虚拟仪器套件</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个方向</h2> 
<h3>pgroll：当数据库迁移不再是“深夜操作”</h3> 
<img alt="schema-changes-flow" src="https://rich-1e.sol.build/E09E3735-6282-4E3D-8E01-1CDFF746D11A/schema-changes-flow.svg" /> 
<p>数据库迁移最让人紧张的，<br /> 从来不是 SQL，<br /> 而是那句反复确认的：</p> 
<blockquote> 
 <p>“这一步，会不会影响线上？”</p> 
</blockquote> 
<p><code>pgroll</code> 把“零停机迁移”变成默认路径，<br /> 不是炫技，<br /> 而是在替团队保留安全感。</p> 
<hr /> 
<h3>kubefwd：让 Kubernetes 回到本地感受</h3> 
<img width="1022" alt="tui-110-main-active" src="https://rich-1e.sol.build/E09E3735-6282-4E3D-8E01-1CDFF746D11A/tui-110-main-active.png" /> 
<p>Kubernetes 很强，<br /> 但开发阶段，它往往离人太远。</p> 
<p><code>kubefwd</code> 做的事情很简单：<br /> 把集群服务自然地拉回本地。<br /> 少记端口、少写规则，<br /> 系统替你消化重复劳动。</p> 
<hr /> 
<h3>fzf-tab：补全，也可以是搜索</h3> 
<p><a href="https://asciinema.org/a/293849" target="_blank"><img src="https://asciinema.org/a/293849.svg" /></a></p> 
<p>当补全列表开始变长，<br /> “选择”本身就成了负担。</p> 
<p><code>fzf-tab</code> 把补全变成搜索，<br /> 这是交互方式的转向，<br /> 而不是功能堆叠。</p> 
<hr /> 
<h3>当工具开始为 AI Agent 准备工作流</h3> 
<p>这一期有一个明显信号：<br /> 工具开始默认“使用者不只有人”。</p> 
<ul> 
 <li><code>ralph-orchestrator</code> 负责任务调度</li> 
 <li><code>worktrunk</code> 为并行 Agent 提供 Git 空间</li> 
 <li><code>xcsift</code> 把构建日志结构化给机器读</li> 
</ul> 
<p>开发环境，正在悄悄换代。</p> 
<hr /> 
<h3>bettershot：截图工具，正在变成表达工具</h3> 
<iframe width="538" height="303" src="https://www.youtube.com/embed/zdqpEacK0p8?list=TLGGtblrmq6dON8yMDAxMjAyNg" title="main feature bettershot" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<p>截图不再只是“截一张图”。</p> 
<p>标注、解释、整理、分享，<br /> 这些原本分散的动作，<br /> 正在被折叠进一个更顺手的流程里。</p> 
<hr /> 
<h3>ausweisapp：低调，但极其重要的存在</h3> 
<img width="933" alt="csm_frau-zeigt-handy-in-die-kamera_b1f4faba16" src="https://rich-1e.sol.build/E09E3735-6282-4E3D-8E01-1CDFF746D11A/csm_frau-zeigt-handy-in-die-kamera_b1f4faba16.jpg" /> 
<p>它不是效率工具，<br /> 却承担着真实世界的身份确认。</p> 
<p>这种软件存在的意义，<br /> 往往只有在需要时才会被意识到。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期没有<br /> “你不用就会落后”的工具。</p> 
<p>但它们高度一致地做了一件事：<br /> <strong>替人分担复杂性。</strong></p> 
<p>当工具开始替你思考细节，<br /> 人才能把注意力，<br /> 留给真正重要、也真正需要人参与的部分。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新，<br /> 越来越像一张慢慢展开的地图。</p> 
<p>它不催你赶路，<br /> 只是告诉你：</p> 
<p><strong>这条路上，又多了几种更省心的走法。</strong></p> 
<p>我们下期再见。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528; ChatGPT&#xFF0C;&#x5F00;&#x53D1; VS Code Extension</title>
        <link>https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/</link>
        <guid>https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/</guid>
        <pubDate>Sat, 17 Jan 2026 17:56:13 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/using-chatgpt-develop-the-vs-code-extension/2026-01-17_19-23.png" />    
        
        
        <description><![CDATA[
            <p>还是跟上次一样，这次也是 Vibe Coding。</p> 
<p>写起来很easy，只需要review和调试。</p> 
<img width="1646" alt="2026-01-17_17-59" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/2026-01-17_17-59.png" /> 
<hr /> 
<ol> 
 <li>首先是一个很基础的 mvp；</li> 
 <li>代码优化、插件调试和编写项目说明；</li> 
 <li>发布 Marketplace；</li> 
</ol> 
<p>发布 Marketplace，花的时间最多，步骤有点多：</p> 
<ul> 
 <li>首先用 Microsoft 账号创建 Azure 账号；</li> 
 <li>再用Azure账号，创建 Azure DevOps 组织（这里需要绑定信用卡）；</li> 
 <li>有了组织后，就可以创建 publisher 账号；</li> 
 <li>publisher 账号才可以发布到 Marketplace 应用市场；</li> 
</ul> 
<hr /> 
<p>本地调试，直接选中项目文件<strong>extension.js</strong>，按 “F5”</p> 
<img width="1096" alt="2026-01-17_19-23" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/2026-01-17_19-23.png" /> 
<p>这时，会弹出一个调试用的 vs code，</p> 
<ol> 
 <li>再按“Command + shfit + p”，</li> 
 <li>输入“Matrix Overlay: Start”</li> 
 <li>就能看到一个 Matrix 黑客帝国动画</li> 
</ol> 
<img width="691" alt="Kapture 2026-01-17 at 19.29.48" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/Kapture 2026-01-17 at 19.29.48.gif" /> 
<hr /> 
<p>插件发布有2种方式：</p> 
<ol> 
 <li>使用 vsce 发布；</li> 
 <li>直接登录 Marketplace 后台上传插件；</li> 
</ol> 
<img width="1202" alt="2026-01-17_19-43" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/2026-01-17_19-43.png" /> 
<p>二者都可以，但还是推荐 vsce，可以看到一些检查信息。</p> 
<img width="2108" alt="2026-01-17_19-49" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/2026-01-17_19-49.png" /> 
<hr /> 
<p>插件的 icon.png 是使用 AI 生成：</p> 
<pre><code class="language-md">Matrix-inspired cyberpunk icon.
Stylized hacker sunglasses with glowing green code reflections,
a minimalist lightning bolt integrated into the lenses.
Dark theme, neon green glow, high contrast.
Flat vector icon, no background details, no text.
Optimized for small UI icon usage.
</code></pre> 
<img width="1806" alt="2026-01-17_19-53" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/2026-01-17_19-53.png" /> 
<p>效果如下：</p> 
<img width="44" alt="icon_20260117124031668 (1)" src="https://rich-1e.sol.build/E489C6D8-DCB8-4BA1-8D03-DC7C89B8A3F5/icon_20260117124031668 (1).png" /> 
<blockquote> 
 <p>“个人感觉还不错，闪电⚡️和墨镜🕶️都有，要是背景透明就更好了。”</p> 
</blockquote> 
<p>因为是要钱的，所以只生成了一张。😅</p> 
<ul> 
 <li><a href="https://github.com/hellokaton/just-icon">hellokaton/just-icon: AI-powered icon generation CLI tool</a></li> 
 <li><a href="https://www.v2ex.com/t/1143749?p=1#reply14">[自荐] 一款开源的网站/APP 图标生成工具 just-icon - V2EX</a></li> 
</ul> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://marketplace.visualstudio.com/items?itemName=rich-1e.code-screensaver">Code Screensaver - Visual Studio Marketplace</a></li> 
 <li><a href="https://code.visualstudio.com/api/working-with-extensions/publishing-extension">Publishing Extensions | Visual Studio Code Extension API</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1984534897763836357">手把手教你写一个VSCode插件，从开发到发布全流程 - 知乎</a></li> 
 <li><a href="https://www.cnblogs.com/liuxianan/p/vscode-plugin-publish.html">VSCode插件开发全攻略（十）打包、发布、升级 - 我是小茗同学 - 博客园</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x522B;&#x76F2;&#x76EE;&#x6295;&#x5165;&#x5F00;&#x6E90;&#xFF0C;&#x90A3;&#x91CC;&#x4E5F;&#x4E0D;&#x662F;&#x201C;&#x4E4C;&#x6258;&#x90A6;&#x201D;</title>
        <link>https://rich-1e.sol.build/2D628037-8780-4DDB-81AD-674973E9AA02/</link>
        <guid>https://rich-1e.sol.build/2D628037-8780-4DDB-81AD-674973E9AA02/</guid>
        <pubDate>Thu, 15 Jan 2026 16:31:49 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>其实用“乌托邦”来形容，并不合适，也没有表达出准确的意思。</p> 
<p>但，确实想不出更好的词。</p> 
<hr /> 
<p>Vercel 这家公司，我并不喜欢。</p> 
<p>React 我也不喜欢，感觉被一群人打劫了前端的未来。</p> 
<p>表现在，</p> 
<blockquote> 
 <p>“现在写✍️前端，跟写后端一样看不到未来。”</p> 
</blockquote> 
<p>自从 Spring 一统 Java 之后，给后端的剩下的就只有<strong>CURD</strong>。</p> 
<hr /> 
<blockquote> 
 <p>“谁会跟钱过不去？”</p> 
</blockquote> 
<p><strong>WLB(Work-life Balance)</strong> 是堆砌在物质的基础上，连最起码的温饱都没有，纯爱❤️发电能坚持多久？</p> 
<hr /> 
<p>前些时候，看了<a href="https://rich-1e.sol.build/BA48E158-F108-4166-9F7F-A53F3ED97C5B/">「Linus Torvalds 采访」</a>，感觉 Linus 这段话蛮有感概：</p> 
<blockquote> 
 <p><em>“ Money really isn't that great of a motivator. It doesn't pull people together. Having a common project, and really feeling that you really can be a full partner in that project, that motivates people, I think. ”</em></p> 
</blockquote> 
<p>总结，<strong>金钱或许可以驱动开源，但无法凝聚人心。</strong></p> 
<hr /> 
<p><strong>「尾巴🧣」</strong></p> 
<p>事实上，很早时候，开源社区的领导者就意识到这个问题，所以才会出现GPLv2 等协议📖。</p> 
<hr /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://juejin.cn/post/7440832119642521636">想通过开源实现WLB？先看看Anthony Fu的经历再决定通过开源实现WLB(Work-life Balance)是程 - 掘金</a></li> 
 <li><a href="https://letters.geekplux.com/5/">如何在某一领域成为世界顶尖 -#5</a></li> 
 <li><a href="https://zh.wikipedia.org/wiki/%E6%96%87%E5%AD%A6%E7%BC%96%E7%A8%8B?ref=letters.geekplux.com">文学编程 - 维基百科，自由的百科全书</a></li> 
 <li><a href="https://blog.vadxq.com/article/nuxtlabs-is-joining-vercel/">Vercel收购NuxtLabs，我和尤雨溪一样心情复杂 - 清竹志-(原清竹茶馆)</a></li> 
 <li><a href="https://risingstars.js.org/2025/zh">2025年 JavaScript 明星项目</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528; ChatGPT&#xFF0C;&#x5F00;&#x53D1;&#x4E86;&#x4E00;&#x4E2A; PopClip &#x63D2;&#x4EF6;</title>
        <link>https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/</link>
        <guid>https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/</guid>
        <pubDate>Tue, 13 Jan 2026 14:01:09 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-13_14-10.png" />    
        
        
        <description><![CDATA[
            <p>RT，这个算不算是😧，Vibe Coding？🤔</p> 
<hr /> 
<p>上午在coding页面的时候遇到一个挺烦人😡的事情：<strong>css 转內联样式。</strong></p> 
<img width="300" alt="2026-01-13_14-12" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-13_14-12.png" /> 
<img width="450" alt="2026-01-13_14-10" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-13_14-10.png" /> 
<hr /> 
<p>在 Marketplace 找了一圈也没特别<strong>心仪</strong>的插件。</p> 
<p>不是没有，而是没遇到<strong>心仪</strong>的。</p> 
<p>主要问题是：</p> 
<ul> 
 <li>功能杂七杂八，不够纯粹</li> 
 <li>很久没人维护</li> 
 <li>名字取的不感冒😷，蹭热度</li> 
</ul> 
<p>我就喜欢那种能将一个事情做到极致，又很纯粹的东西。</p> 
<p>可惜，nothing。</p> 
<hr /> 
<p>突然想到，自己非常喜欢的工具🔧，PopClip。</p> 
<p>它挺适合解决这个问题：<em><strong>选中一段css，然后转换成内联样式</strong></em>。</p> 
<p>说干就干，立马派 ChatGPT 干活。</p> 
<hr /> 
<img width="450" alt="2026-01-14_09-47" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-14_09-47.png" /> 
<p>一开始，先询问“popclip 有类似的插件吗？”</p> 
<p>ChatGPT 提示我，<strong>可以自己做一个PopClip扩展</strong>。</p> 
<p>想了想，觉得可以，当作一个<strong>实验</strong>。</p> 
<hr /> 
<p>经过数轮验证和提示词修改，终于完成成品，效果还蛮理想。</p> 
<p><strong>Look Here</strong>👀👇</p> 
<img width="450" alt="Kapture 2026-01-14 at 10.00.06" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/Kapture 2026-01-14 at 10.00.06.gif" /> 
<p>代码如下：</p> 
<ol> 
 <li> <p>新建 <strong>CSS2JS.popclipext</strong> 文件夹。</p> </li> 
 <li> <p>创建 <strong>Config.yaml</strong></p> </li> 
</ol> 
<pre><code class="language-yaml">name: CSS to JS Object
identifier: com.richie.css2js
description: Convert CSS to JavaScript style object
icon: code

actions:
  - title: CSS→JS
    icon: code
    requirements: [text]

    # PopClip 2025 官方 Shell Script Action 写法
    shell script file: css2js.py
    interpreter: python3
    stdin: text
    after: paste-result
</code></pre> 
<ol start="3"> 
 <li>再创建 <strong>css2js.py</strong></li> 
</ol> 
<pre><code class="language-python">#!/usr/bin/env python3
import sys

text = sys.stdin.read()

lines = [l.strip() for l in text.splitlines() if ':' in l]

entries = []

for line in lines:
    line = line.rstrip(';')
    if ':' not in line:
        continue

    prop, val = line.split(':', 1)
    prop = prop.strip()
    val = val.strip()

    parts = prop.split('-')
    camel = parts[0] + ''.join(p.capitalize() for p in parts[1:])

    entries.append(f"  {camel}: '{val}'")

print("{")
print(",\n".join(entries))
print("}")
</code></pre> 
<ol start="4"> 
 <li>赋予脚本可执行权限</li> 
</ol> 
<pre><code class="language-sh">chmod +x css2js.py
</code></pre> 
<ol start="5"> 
 <li>双击即可完成安装。</li> 
</ol> 
<img width="1572" alt="Kapture 2026-01-14 at 10.22.35" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/Kapture 2026-01-14 at 10.22.35.gif" /> 
<hr /> 
<p>PopClip 插件支持2种扩展类型：</p> 
<ol> 
 <li>Package(当前是这种方式)</li> 
 <li>Snippet 脚本，选中一段代码，然后出现安装提示🔔。如下：</li> 
</ol> 
<img width="600" alt="2026-01-14 10.08.01" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-14 10.08.01.png" /> 
<p>刚开始是使用第一种方式开发，看起来很简单，但始终报错运行不起来。</p> 
<p>后面改成第二种方式，一次就跑起来了。</p> 
<hr /> 
<p>使用 ChatGPT 开发这个插件，也遇到一些比较头疼🤕的问题：</p> 
<blockquote> 
 <p><strong>“ChatGPT 提供的代码始终无法运行。”</strong></p> 
</blockquote> 
<p>后来，我意识到问题所在：<strong>“它的训练数据可能过时了”</strong>。</p> 
<p>因此，我改变了提示词，结果一目了然✌️。</p> 
<img width="1658" alt="2026-01-14_10-29" src="https://rich-1e.sol.build/C4D060DB-B1F0-4433-9DA6-981A2576077E/2026-01-14_10-29.png" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x629B;&#x5F03; Cursor&#xFF0C;&#x62E5;&#x62B1; Cline&#xFF1F;</title>
        <link>https://rich-1e.sol.build/0BA8EA90-9B2A-4261-BEE0-07B6D368CDD8/</link>
        <guid>https://rich-1e.sol.build/0BA8EA90-9B2A-4261-BEE0-07B6D368CDD8/</guid>
        <pubDate>Mon, 12 Jan 2026 12:52:18 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/ditching-cursor-and-embracing-cline/2026-01-12_12-51.png" />    
        
        
        <description><![CDATA[
            <p>使用 Cursor，快2年。确切来说，白票2年。</p> 
<p>或者使用公司提供的 team 许可，或者在申请 free 许可的路上。</p> 
<p>Cursor 整体使用上就一个字，爽。</p> 
<hr /> 
<p>但，有痛点。</p> 
<p>VS Code 陪伴我差不多有7、8年，配置了很多插件，形成了一些习惯。</p> 
<p>突然有一天，被其他工具取代，有点不适应。</p> 
<blockquote> 
 <p>“并不是所有插件，都同时兼容 VS Code 和 Cursor”</p> 
</blockquote> 
<p>‼️更为重要，并不是所有事情都需要 AI 辅助才能完成。</p> 
<hr /> 
<p>Cline 出来应该有一段时间，我是最近才开始使用。</p> 
<p>通过这段时间（1-2个礼拜），我发现它基本能替代 Cursor 的功能。</p> 
<p>当然，使用习惯需要调整，有个逐渐适应的过程。</p> 
<hr /> 
<p>不可否认，Cursor 的 UI 和交互性比 Cline 看起来要专业，毕竟一个是 IDE，一个是 IDE 插件。</p> 
<blockquote> 
 <p>“某些角度来讲，VS Code 不是简单的编辑器，<strong>武装</strong>一下就成了 IDE”</p> 
</blockquote> 
<p>Cline 最新的版本是v3.49.0，更新很快，比IDE勤快。</p> 
<hr /> 
<p>大概长这个样子：</p> 
<img width="3448" alt="2026-01-12_12-51" src="https://rich-1e.sol.build/0BA8EA90-9B2A-4261-BEE0-07B6D368CDD8/2026-01-12_12-51.png" /> 
<p>最近在学习 <a href="https://rich-1e.sol.build/5AA508AB-6011-497C-95BD-B24AF986D8A2/">Agent Skill</a>，所以特意标注了。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://docs.cline.bot/features/skills">Skills - Cline</a></li> 
 <li><a href="https://github.com/GLips/Figma-Context-MCP/issues/4">Can I use this MCP in Cline?</a></li> 
 <li><a href="https://www.reddit.com/r/ChatGPTCoding/comments/1inyt2s/my_experience_with_cursor_vs_cline_after_3_months/?tl=zh-hans">我用了三个月每天都用Cursor和Cline，说说我的感受</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260112 | &#x5F53;&#x5DE5;&#x5177;&#x5F00;&#x59CB;&#x66FF;&#x4F60;&#x601D;&#x8003;&#x7EC6;&#x8282;</title>
        <link>https://rich-1e.sol.build/4BA450C2-9E01-4D42-A08B-BCE127FC0704/</link>
        <guid>https://rich-1e.sol.build/4BA450C2-9E01-4D42-A08B-BCE127FC0704/</guid>
        <pubDate>Mon, 12 Jan 2026 10:17:28 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260112/cronboard.gif" />    
        
        
        <description><![CDATA[
            <p><strong>当工具开始替你思考细节</strong></p> 
<p>真正有分量的工具更新，<br /> 往往不是给你更多可以点的地方，<br /> 而是让你少操心几件本该被机器处理的事。</p> 
<p>“你不需要记住 cron 什么时候跑过”<br /> 这一期 Homebrew 的新增，<br /> 正是在这些细碎但长期消耗注意力的地方，<br /> 悄悄接过了一部分工作。</p> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>这周没有“划时代”的工具，<br /> 但多了几样会在你需要时，<br /> 默默派上用场的小东西。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>简介</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>any2fasta</strong></td> 
   <td>多种生物序列格式转 FASTA 的小工具</td> 
  </tr> 
  <tr> 
   <td><strong>azurite</strong></td> 
   <td>Azure Storage 的本地模拟服务器</td> 
  </tr> 
  <tr> 
   <td><strong>beads_viewer</strong></td> 
   <td>Beads Issue Tracker 的终端界面</td> 
  </tr> 
  <tr> 
   <td><strong>codanna</strong></td> 
   <td>带语义搜索的代码智能分析系统</td> 
  </tr> 
  <tr> 
   <td><strong>cronboard</strong></td> 
   <td>本地与远程 Cron 任务的终端看板</td> 
  </tr> 
  <tr> 
   <td><strong>ghc@9.12</strong></td> 
   <td>Haskell 编译器的新版本</td> 
  </tr> 
  <tr> 
   <td><strong>hindent</strong></td> 
   <td>Haskell 代码格式化工具</td> 
  </tr> 
  <tr> 
   <td><strong>minizign</strong></td> 
   <td>用 Zig 实现的 Minisign 签名工具</td> 
  </tr> 
 </tbody> 
</table> 
<h3>🧩 Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>简介</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>fork@dev</strong></td> 
   <td>Fork Git 客户端的开发版</td> 
  </tr> 
  <tr> 
   <td><strong>wispr-flow</strong></td> 
   <td>带 AI 自动润色的语音转文字工具</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个项目</h2> 
<h3>codanna：当代码库开始变得“太大”</h3> 
<p>在小项目里，<code>grep</code> 足够好用。<br /> 但当代码库开始长成“系统”，<br /> 你真正需要的是：<br /> <strong>“这个功能在哪里被实现？”</strong></p> 
<p>而不是：</p> 
<blockquote> 
 <p>“哪个文件里出现了这个词？”</p> 
</blockquote> 
<p><code>codanna</code> 用语义来理解代码，<br /> 更像是在给你的项目加一层“可思考的索引”。</p> 
<hr /> 
<h3>cronboard：把看不见的定时任务拉到台前</h3> 
<p>大多数服务器上的 cron，<br /> 都在悄悄运转。</p> 
<p>你知道它们存在，<br /> 却很少真正“看见”它们。</p> 
<p><code>cronboard</code> 做的事很简单：<br /> 把这些后台任务，变成一个可以随时打开的看板。<br /> 什么时候跑、有没有失败，一目了然。</p> 
<img width="450" alt="cronboard" src="https://rich-1e.sol.build/4BA450C2-9E01-4D42-A08B-BCE127FC0704/cronboard.gif" /> 
<hr /> 
<h3>azurite：云服务，也需要一个“影子世界”</h3> 
<p>当你使用 Azure Storage，<br /> 最难受的往往不是 API，<br /> 而是：</p> 
<blockquote> 
 <p>“我只是想在本地试一下。”</p> 
</blockquote> 
<p><code>azurite</code> 给云服务提供了一个“可本地跑的副本”，<br /> 让调试回到电脑本身，<br /> 而不是网络和账单。</p> 
<hr /> 
<h3>wispr-flow：输入法，正在变得会写字</h3> 
<p>语音转文字已经不稀奇了。<br /> <code>wispr-flow</code> 多做了一步：<br /> 它会把你说的话，<br /> 整理成更像“人写的句子”。</p> 
<p>这意味着，<br /> 输入工具正在从“记录你说了什么”，<br /> 走向“理解你想表达什么”。</p> 
<img src="https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/1c/a0/ae/1ca0ae17-6710-62f2-6850-d06b651783f6/1.png/230x499bb.webp" /> 
<img src="https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/f6/51/05/f65105e5-b334-7b6e-6842-57711082839b/iPhone-6.7-Pro-Max-1290x2796-2.png/230x499bb.webp" /> 
<hr /> 
<h3>fork@dev：给 Git 用户的一点新鲜感</h3> 
<p>如果你已经在用 Fork，<br /> <code>@dev</code> 版就是提前尝鲜。</p> 
<p>更快的 diff、更顺的操作，<br /> 都不是革命，<br /> 但会在每天的 commit 里慢慢体现。</p> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期没有那种<br /> “你不用它就会落后”的工具。</p> 
<p>但它们都有一个很一致的方向：<br /> 把人从零碎的确认、检查、搜索里解放出来。</p> 
<p>cronboard 让混乱变得可见，<br /> codanna 让复杂变得可搜索，<br /> wispr-flow 让表达变得轻松。</p> 
<p>当工具开始替你思考细节，<br /> 人才能把注意力，留给真正重要的部分。</p> 
<p>也许这正是这一期 Homebrew<br /> 最安静、但最有价值的地方。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新，<br /> 越来越像一张工具地图。</p> 
<p>不是告诉你该往哪走，<br /> 而是让你知道：<br /> <strong>这条路上，多了几个可选的歇脚点。</strong></p> 
<p>我们下期再见。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x667A;&#x80FD;&#x4F53;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF1A;&#x667A;&#x80FD;&#x7CFB;&#x7EDF;&#x6784;&#x5EFA;&#x5B9E;&#x6218;&#x6307;&#x5357;</title>
        <link>https://rich-1e.sol.build/0FF00D7C-D6CC-4688-B8EB-D7AA1636E9F4/</link>
        <guid>https://rich-1e.sol.build/0FF00D7C-D6CC-4688-B8EB-D7AA1636E9F4/</guid>
        <pubDate>Thu, 08 Jan 2026 14:05:46 +0800</pubDate>
        
        
        <description><![CDATA[
            <img src="https://assets.jimmysong.io/images/blog/agentic-design-patterns-intro/agentic-design-patterns-cover.jpg" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://jimmysong.io/zh/book/agentic-design-patterns/">智能体设计模式：智能系统构建实战指南 | Jimmy Song</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Linus Torvalds &#x91C7;&#x8BBF;</title>
        <link>https://rich-1e.sol.build/BA48E158-F108-4166-9F7F-A53F3ED97C5B/</link>
        <guid>https://rich-1e.sol.build/BA48E158-F108-4166-9F7F-A53F3ED97C5B/</guid>
        <pubDate>Tue, 06 Jan 2026 20:56:41 +0800</pubDate>
        
        
        <description><![CDATA[
            <img src="https://www.tag1.com/img/WyYXSJ8o0T-2048.webp" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.tag1.com/blog/interview-linus-torvalds-linux-and-git/">An Interview With Linus Torvalds: Linux and Git - Part 1 - Tag1 Insights</a></li> 
 <li><a href="https://www.tag1.com/blog/interview-linus-torvalds-open-source-and-beyond-part-2/">An Interview With Linus Torvalds: Open Source And Beyond - Part 2 - Tag1 Insights</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Stable Diffusion &#x5B66;&#x4E60;&#x7B14;&#x8BB0;</title>
        <link>https://rich-1e.sol.build/713534C0-24BF-4224-A2CB-E85C7FA9B2A4/</link>
        <guid>https://rich-1e.sol.build/713534C0-24BF-4224-A2CB-E85C7FA9B2A4/</guid>
        <pubDate>Tue, 06 Jan 2026 20:32:11 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://docs.stablediffusion.cn/">Stable Diffusion文档中心</a></li> 
 <li><a href="https://ivonblog.com/posts/stable-diffusion-webui-macos-installation/">🖥️ 安裝至macOS｜Stable Diffusion WebUI使用手冊 · Ivon的部落格</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/617997179">喂饭级stable_diffusion_webUI使用教程 - 知乎</a></li> 
 <li><a href="https://github.com/AUTOMATIC1111/stable-diffusion-webui">AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>LLM &#x5B66;&#x4E60;&#x7B14;&#x8BB0;</title>
        <link>https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/</link>
        <guid>https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/</guid>
        <pubDate>Tue, 06 Jan 2026 10:31:04 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/llm-study-notes/ed9becfc83f517c79fffc2aa1e4ca330.png" />    
        
        
        <description><![CDATA[
            <p>首先接触的是 Ollama，优点：</p> 
<ul> 
 <li>容易上手，相关文档和资料比较多；</li> 
 <li>模型种类丰富；</li> 
 <li>对 macOS 友好</li> 
</ul> 
<hr /> 
<h2>第一阶段</h2> 
<blockquote> 
 <p><em>了解模型种类和划分</em></p> 
</blockquote> 
<h3>1. 按 Transformer 架构划分</h3> 
<table> 
 <thead> 
  <tr> 
   <th>类型</th> 
   <th>核心模块</th> 
   <th>核心特点</th> 
   <th>典型任务</th> 
   <th>代表模型</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td>自编码模型</td> 
   <td>仅 Encoder</td> 
   <td>双向注意力，擅长语义理解</td> 
   <td>文本分类、情感分析、命名实体识别</td> 
   <td>BERT、RoBERTa、ALBERT</td> 
  </tr> 
  <tr> 
   <td>自回归模型</td> 
   <td>仅 Decoder</td> 
   <td>单向注意力，自回归生成</td> 
   <td>文本生成、对话、摘要</td> 
   <td>GPT 系列、Llama、BLOOM</td> 
  </tr> 
  <tr> 
   <td>序列到序列模型</td> 
   <td>Encoder + Decoder</td> 
   <td>输入 - 输出序列转换</td> 
   <td>翻译、生成式摘要、数据转换</td> 
   <td>T5、BART、GLM</td> 
  </tr> 
 </tbody> 
</table> 
<h3>2. 按应用场景划分</h3> 
<ul> 
 <li> <p><strong>通用大模型</strong>：跨领域数据训练，适配对话、创作、翻译等多任务，如 GPT - 3.5/4、Claude、Llama 2。</p> </li> 
 <li> <p><strong>代码专用模型</strong>：聚焦编程场景，优化代码生成、补全、调试，如 DeepSeek - Coder、CodeLlama、StarCoder。</p> </li> 
 <li> <p><strong>行业垂直模型</strong>：针对医疗、金融、法律等领域优化，如 Med - Palm、LawGPT。</p> </li> 
 <li> <p><strong>轻量化 / 蒸馏模型</strong>：压缩大模型知识适配低算力场景，如 DistilGPT2、DeepSeek - R1 - Distill。</p> </li> 
</ul> 
<h3>3. 按能力特性划分</h3> 
<ul> 
 <li> <p><strong>推理增强模型</strong>：经思维链微调，擅长数学解题、逻辑分析，如 Qwen3 - 4B - Thinking。</p> </li> 
 <li> <p><strong>智能体模型</strong>：具备工具调用与自主决策，适配复杂任务，如 Tongyi - DeepResearch - 30B - A3B。</p> </li> 
</ul> 
<hr /> 
<h2>第二阶段</h2> 
<blockquote> 
 <p><em>深入模型使用</em></p> 
</blockquote> 
<h3>1. ollama 基础操作</h3> 
<pre><code class="language-sh"># 拉取指定模型
ollama pull &lt;model-name&gt;

# 拉取特定版本的模型
ollama pull llama2:7b
ollama pull mistral:latest

# 查看已下载的模型
ollama list

# 删除指定模型
ollama rm &lt;model-name&gt;

# 复制模型（创建副本）
ollama cp &lt;source-model&gt; &lt;new-model-name&gt;

# 运行默认对话
ollama run &lt;model-name&gt;

# 带系统提示词运行
ollama run &lt;model-name&gt; --system "你是一个有帮助的助手"

# 示例
ollama run llama2
ollama run mistral

# 单次查询（不进入交互模式）
ollama run &lt;model-name&gt; "你的问题是什么？"

# 通过 Modelfile 创建
ollama create &lt;model-name&gt; -f Modelfile

# 查看模型详情
ollama show &lt;model-name&gt;

# 启动 Ollama 服务
ollama serve

# Linux/Mac
pkill ollama

# 指定使用特定 GPU
CUDA_VISIBLE_DEVICES=0 ollama run &lt;model-name&gt;

# 查看运行日志
ollama logs
</code></pre> 
<h3>2. ollama 进阶使用</h3> 
<p><strong>通过 Modelfile 创建模型</strong></p> 
<pre><code class="language-dockerfile">FROM llama2:7b

# 设置参数
PARAMETER temperature 0.7
PARAMETER num_ctx 4096

# 系统提示词
SYSTEM """你是一个专业的技术顾问..."""

# 模板
TEMPLATE """{{ .Prompt }}"""
</code></pre> 
<p><strong>模型量化技术</strong></p> 
<blockquote> 
 <p>量化技术（Quantization）是一种通过降低模型权重精度来减少内存占用和计算资源需求的技术。 在Ollama中，这一核心功能主要由llm/llm.go文件中的Quantize函数实现。 该函数通过调用底层llama.cpp库，将高精度的模型权重转换为低精度表示，同时尽可能保持模型性能。</p> 
</blockquote> 
<p>简单说，通过量化技术个人电脑也可以跑大模型，突破硬件限制🚫。</p> 
<ol> 
 <li>如何量化大模型？</li> 
 <li>如何使用量化后的大模型？</li> 
</ol> 
<p>第1点还在学习中，第2点比较简单。</p> 
<pre><code class="language-sh"># 方式1：直接运行预量化版本（最简）
ollama run qwen2.5:7b-instruct-q4_K_M

# 方式2：M1 Pro 深度优化启动（推荐）
OLLAMA_GPU_LAYERS=-1 \
OLLAMA_CONTEXT_SIZE=8192 \
OLLAMA_BATCH_SIZE=512 \
ollama run qwen2.5:7b-instruct-q4_K_M
</code></pre> 
<img width="1108" alt="ed9becfc83f517c79fffc2aa1e4ca330" src="https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/ed9becfc83f517c79fffc2aa1e4ca330.png" /> 
<p>显示模型信息，<strong>其量化等级为“Q4_K_M”</strong></p> 
<img width="1580" alt="2026-01-06_18-00" src="https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/2026-01-06_18-00.png" /> 
<p>配合 <strong>langchain.js</strong> 调用</p> 
<img width="3442" alt="2026-01-06_17-49" src="https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/2026-01-06_17-49.png" /> 
<img width="3442" alt="2026-01-06_17-47" src="https://rich-1e.sol.build/A335BC8C-1B30-45DD-8B8B-CE4103DF4CAE/2026-01-06_17-47.png" /> 
<h2>总结</h2> 
<ul> 
 <li>LLM</li> 
 <li>Ollama</li> 
 <li>Langchain</li> 
</ul> 
<p>以上是这段时间学习到的关于LLM的应用。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://zhuanlan.zhihu.com/p/689555159">开源大模型GGUF量化(llama.cpp)与本地部署运行(ollama)教程 - 知乎</a></li> 
 <li><a href="https://claire-chang.com/2024/10/02/%E5%9C%A8ollama%E4%B8%AD%E8%BC%89%E5%85%A5%E8%87%AA%E5%B7%B1%E5%BB%BA%E7%AB%8B%E7%9A%84%E6%A8%A1%E5%9E%8B/">在Ollama中載入自己建立的模型 – Claire's Blog</a></li> 
 <li><a href="https://www.huwangyun.cn/blog/custom-llm-models-with-ollama-modelfile">如何使用 Ollama 的模型文件定制 LLM 模型</a></li> 
 <li><a href="https://docs.ollama.com/modelfile">Modelfile Reference - Ollama</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>CSS &#x52A8;&#x70AB;</title>
        <link>https://rich-1e.sol.build/52F459B1-F2C8-44EE-9D65-F120C9006B80/</link>
        <guid>https://rich-1e.sol.build/52F459B1-F2C8-44EE-9D65-F120C9006B80/</guid>
        <pubDate>Tue, 06 Jan 2026 10:19:50 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>前端 CSS 液态玻璃效果</h2> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://juejin.cn/post/7552402306222882842">🍏让前端去做 iPhone 的液态玻璃❓这个液态玻璃有人觉得好看也有人觉得难看，毕竟一百个读者就有哈姆雷特嘛！</a></li> 
 <li><a href="https://kube.io/blog/liquid-glass-css-svg">Liquid Glass in the Browser: Refraction with CSS and SVG</a></li> 
 <li><a href="https://liquid-glass.iyinchao.cn/">Liquid Glass Studio - iyinchao</a></li> 
 <li><a href="https://vue-bits.dev/components/glass-surface">Vue Bits - Glass Surface</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>npm &#x5F00;&#x53D1;</title>
        <link>https://rich-1e.sol.build/D698EC8A-C90D-430D-A024-27A28FD86E1E/</link>
        <guid>https://rich-1e.sol.build/D698EC8A-C90D-430D-A024-27A28FD86E1E/</guid>
        <pubDate>Sun, 04 Jan 2026 17:01:29 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Ref</h2> 
<ul> 
 <li><a href="https://juejin.cn/post/7312003197409034240">nodemon + yalc本地库调试工具 完整版nodemon + yalc本地库调试工具 1、在组件库下安装 2、全 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7349124917378580492">dev-torun:让组件库+yalc更丝滑简单相信组件库开发+yalc本地发包已经成为基本操作了，一个新的组件开发过程 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7316968293943623718">更好的本地package开发调试工具：yalc起因：在我司调试项目的时候涉及到了yalc，就想着来细致的了解一下这个工具 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7476737955829202995?from=search-suggest">和node_modules较劲的日子结束了？试试这个开发提效神器！你正在开发一个被多个项目依赖的公共组件库，每次修改代码 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7312003197409034240">nodemon + yalc本地库调试工具 完整版nodemon + yalc本地库调试工具 1、在组件库下安装 2、全 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7045148016541433892">本地调试npm私有包使用yalc + nodemon本地开发插件痛点 不想频繁发布，常用的方式就是使用npm link， - 掘金</a></li> 
 <li><a href="https://github.com/antfu-collective/taze">antfu-collective/taze：🥦一款现代 CLI 工具，能让你的 Deps 保持新鲜感 --- antfu-collective/taze: 🥦 A modern cli tool that keeps your deps fresh</a></li> 
 <li><a href="https://juejin.cn/post/7341320599736270889">从yalc到yald：前端link调试工具yalc增强工具yald，在yalc基础上增加了publishConfig支持 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/6997943973234868254?from=search-suggest">vue3+ts 组件库3——本地组件库调试npm link &amp;&amp; Yalc在上一篇文章《vue3 + ts 组件库2》中 - 掘金</a></li> 
 <li><a href="https://github.com/wclr/yalc">WCLR/YALC：本地处理纱线/非品理包裹，像老板一样。 --- wclr/yalc: Work with yarn/npm packages locally like a boss.</a></li> 
 <li><a href="https://github.com/jimsheen/yalc">Jimsheen/YALC：本地处理纱线/非产品管理包，像老板一样。 --- jimsheen/yalc: Work with yarn/npm packages locally like a boss.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20260104 | &#x5DE5;&#x5177;&#x5728;&#x66F4;&#x65B0;&#xFF0C;&#x751F;&#x6D3B;&#x4E0D;&#x5FC5;&#x8DDF;&#x7740;&#x52A0;&#x901F;</title>
        <link>https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/</link>
        <guid>https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/</guid>
        <pubDate>Sun, 04 Jan 2026 10:07:34 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20260104/headson.gif" />    
        
        
        <description><![CDATA[
            <p><strong>工具在更新，生活不必跟着加速</strong></p> 
<p>有些更新，是为了让人跑得更快；<br /> 有些更新，只是为了让路更顺一点。<br /> Homebrew 的日常更新，更像后者。</p> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>最近越来越觉得，工具的价值不在于“多新”，<br /> 而在于——当你需要的时候，它刚好在那里。</p> 
<hr /> 
<h2>本周新增工具速览</h2> 
<h3>🧪 Formulae</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>简介</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>dotnet@9</strong></td> 
   <td>.NET 9（LTS）开发与运行环境，支持跨平台现代应用</td> 
  </tr> 
  <tr> 
   <td><strong>headson</strong></td> 
   <td>面向结构化数据的 head / tail 工具，安全处理 JSON、CSV</td> 
  </tr> 
  <tr> 
   <td><strong>topydo</strong></td> 
   <td>基于 <code>todo.txt</code> 规范的命令行待办事项管理工具</td> 
  </tr> 
 </tbody> 
</table> 
<h3>🧩 Casks</h3> 
<table> 
 <thead> 
  <tr> 
   <th>名称</th> 
   <th>简介</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>crypto-native-app-ng</strong></td> 
   <td>本地加密与签名工具，可与浏览器扩展安全通信</td> 
  </tr> 
  <tr> 
   <td><strong>excire-search</strong></td> 
   <td>Lightroom Classic 插件，提供自动关键词与高级图片搜索</td> 
  </tr> 
 </tbody> 
</table> 
<hr /> 
<h2>值得留意的几个项目</h2> 
<h3>dotnet@9：版本明确，本身就是价值</h3> 
<p>对使用 .NET 的开发者来说，多版本并存几乎是日常。<br /> <code>dotnet@9</code> 这种明确带版本号的 Formula，反而让人安心。</p> 
<p>它不会悄悄替你做决定，也不会打断已有项目节奏。</p> 
<hr /> 
<h3>headson：为结构化数据留一条生路</h3> 
<p>直接用 <code>head</code> / <code>tail</code> 处理 JSON，<br /> 结果往往只有一个：结构被破坏。</p> 
<img width="120" alt="headson" src="https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/headson.svg" /> 
<p><code>headson</code> 的存在感很低，但解决的问题非常具体：<br /> <strong>在命令行里，只看一部分数据，同时不把数据搞坏。</strong></p> 
<img width="450" alt="headson" src="https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/headson.gif" /> 
<hr /> 
<h3>topydo：纯文本待办事项的“老派坚持”</h3> 
<p><code>topydo</code> 基于 <code>todo.txt</code>，<br /> 没有账号、没有同步、没有复杂配置。</p> 
<p>你写下的，就是你要做的。</p> 
<img width="1267" alt="topydo" src="https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/topydo.png" /> 
<hr /> 
<h3>excire-search：当照片数量开始失控</h3> 
<p>这是一个很安静、但很专业的工具。</p> 
<p>当 Lightroom 里的照片从“几百张”变成“几万张”，<br /> 搜索本身就会消耗大量精力。</p> 
<p>自动关键词与语义搜索，<br /> 并不是为了炫技，而是为了把注意力还给创作。</p> 
<hr /> 
<h3>crypto-native-app-ng：存在感很低，但位置明确</h3> 
<p>这是一个偏向安全与隐私场景的工具，<br /> 对大多数用户来说，可能永远用不到。</p> 
<p>但它的定位非常清晰：<br /> <strong>本地加密 + 浏览器安全通信</strong>。</p> 
<p>如果你确实需要这类能力，<br /> 它不会突然变得复杂。</p> 
<img width="600" alt="crypto-native-app-ng" src="https://rich-1e.sol.build/355B6DA3-DB08-4536-93A2-50493C8FFA60/crypto-native-app-ng.png" /> 
<hr /> 
<h2>一点个人感受</h2> 
<p>这一期没有“必装工具”。<br /> 但正是这种更新，让人感觉系统在慢慢变好。</p> 
<p>你不需要全部安装，<br /> 甚至一个都不装。</p> 
<p>但当某天遇到类似场景，<br /> 你会记得：</p> 
<blockquote> 
 <p>Homebrew 里，好像有这么一个工具。</p> 
</blockquote> 
<p>这就够了。</p> 
<hr /> 
<h2>结语</h2> 
<p>Homebrew 的更新不是新闻，<br /> 更像一份周记。</p> 
<p>记录的不是“你必须做什么”，<br /> 而是世界又多了一点选择。</p> 
<p>我们下期再见。</p>
        ]]></description>
    </item>
    
    <item>
        <title>Agent Skill</title>
        <link>https://rich-1e.sol.build/5AA508AB-6011-497C-95BD-B24AF986D8A2/</link>
        <guid>https://rich-1e.sol.build/5AA508AB-6011-497C-95BD-B24AF986D8A2/</guid>
        <pubDate>Wed, 31 Dec 2025 18:56:58 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/agent-skill/2026-01-09_15-03.png" />    
        
        
        <description><![CDATA[
            <h2>Agent Skill 解说视频</h2> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/yDc0_8emz7M?si=4Xl1arjc3_n1t2AB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<h2>Agent Skill 渐进式设计结构</h2> 
<img width="2182" alt="2026-01-09_15-03" src="https://rich-1e.sol.build/5AA508AB-6011-497C-95BD-B24AF986D8A2/2026-01-09_15-03.png" /> 
<h2>Agent Skills vs MCP 区别</h2> 
<img width="2164" alt="2026-01-09_15-05" src="https://rich-1e.sol.build/5AA508AB-6011-497C-95BD-B24AF986D8A2/2026-01-09_15-05.png" /> 
<p>Agent Skill 相关文章以及使用方式：</p> 
<ul> 
 <li><a href="https://agentskills.io/home">Overview - Agent Skills</a></li> 
 <li><a href="https://claude.com/blog/skills-explained">Skills explained: How Skills compares to prompts, Projects, MCP, and subagents | Claude</a></li> 
 <li><a href="https://code.claude.com/docs/en/skills">Agent Skills - Claude Code Docs</a></li> 
 <li><a href="https://code.visualstudio.com/docs/copilot/customization/agent-skills">Use Agent Skills in VS Code</a></li> 
 <li><a href="https://developers.openai.com/codex/skills/">Agent Skills | Codex</a></li> 
 <li><a href="https://cursor.com/cn/docs/context/skills">Agent Skills | Cursor Docs</a></li> 
</ul> 
<p>skill 组织结构：</p> 
<pre><code class="language-sh">my-skill/
├── SKILL.md          # Required: instructions + metadata
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
└── assets/           # Optional: templates, resources
</code></pre> 
<h2>Agent Skill 实践</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1186123#reply1">这两天补充了一些 AI / Claude skills，数量涨得有点快 - V2EX (1)</a></li> 
 <li><a href="https://vercel.com/blog/introducing-react-best-practices">介绍：React 最佳实践 - Vercel --- Introducing: React Best Practices - Vercel</a></li> 
 <li><a href="https://github.com/vercel-labs/agent-skills">vercel-labs/agent-skills</a></li> 
</ul> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1182038#reply1">整理了 AI Agent 生态的开源项目，也推一下自己的 - V2EX</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1985799970956260249">(99+ 封私信 / 82 条消息) Code Runner Agent Skill 来了！ - 知乎</a></li> 
 <li><a href="https://github.com/awesome-skills/5-whys-skill">awesome-skills/5-whys-skill: A Claude Code skill for systematic 5-Whys root cause analysis - trace problems to fundamental causes, based on Toyota Production System methodology</a></li> 
 <li><a href="https://v2ex.com/t/1180791#reply5">写了个 Agent Skills Marketplace 的 VS Code extension - V2EX</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/1987456533315999135">(99+ 封私信 / 82 条消息) 一文讲清楚Claude Agent Skills篇，如何自定义Skills - 知乎</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>LangChain.js &#x5F00;&#x53D1;&#x65E5;&#x5FD7;</title>
        <link>https://rich-1e.sol.build/C805C9CF-12AC-4967-AE07-35F4277F16A0/</link>
        <guid>https://rich-1e.sol.build/C805C9CF-12AC-4967-AE07-35F4277F16A0/</guid>
        <pubDate>Wed, 31 Dec 2025 17:49:13 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/langchainjs-development-log/2025-12-31_18-06.png" />    
        
        
        <description><![CDATA[
            <pre><code class="language-sh">pnpm add langchain @langchain/core @langchain/langgraph @langchain/ollama
pnpm add -D @types/node ts-node tsx typescript
</code></pre> 
<p>目录结构如下：</p> 
<img width="1298" alt="2025-12-31_18-06" src="https://rich-1e.sol.build/C805C9CF-12AC-4967-AE07-35F4277F16A0/2025-12-31_18-06.png" /> 
<p>package.json</p> 
<pre><code class="language-json">{
  "name": "langchain-llm",
  "version": "1.0.0",
  "description": "",
  "type": "module",
  "main": "index.ts",
  "scripts": {
    "ollama": "tsx src/ollama.ts",
    "prompt-template": "tsx src/prompt-template.ts",
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "packageManager": "pnpm@10.26.2",
  "dependencies": {
    "@langchain/core": "^1.1.8",
    "@langchain/langgraph": "^1.0.7",
    "@langchain/ollama": "^1.1.0",
    "dotenv": "^17.2.3",
    "langchain": "^1.2.3",
  },
  "devDependencies": {
    "@types/node": "^25.0.3",
    "ts-node": "^10.9.2",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3"
  }
}
</code></pre> 
<p>src/ollama.ts</p> 
<pre><code class="language-js">import { ChatOllama } from "@langchain/ollama";

async function main() {
  const llm = new ChatOllama({
    model: "qwen2.5:7b", // 或 deepseek-r1:7b
    // model: "deepseek-coder:6.7b", // 或 deepseek-r1:7b
    temperature: 0,
  });

  const res = await llm.invoke("用一句话解释什么是 LangChain");

  console.log(res.content);
}

main().catch(console.error);
</code></pre> 
<p>src/prompt-template.ts</p> 
<pre><code class="language-js">import { ChatOllama } from "@langchain/ollama";
import { PromptTemplate } from "@langchain/core/prompts";
import { StringOutputParser } from "@langchain/core/output_parsers";

const model = new ChatOllama({
  model: "qwen2.5:7b", // 或 deepseek-r1:7b
  temperature: 0,
});

// 创建 Prompt 模板
const promptTemplate = PromptTemplate.fromTemplate(`
你是一个{role}，专门帮助用户解决{domain}相关的问题。

用户问题：{question}

请提供详细、专业的回答，包含以下要素：
1. 问题分析
2. 解决方案
3. 代码示例（如果适用）
4. 最佳实践建议

回答：
`);

// 创建输出解析器
const outputParser = new StringOutputParser();

// 构建处理链
const chain = promptTemplate.pipe(model).pipe(outputParser);

async function promptTemplateExample() {
  try {
    const result = await chain.invoke({
      role: "资深前端工程师",
      domain: "React 性能优化",
      question: "如何优化 React 应用的渲染性能？",
    });

    console.log("优化建议：");
    console.log(result);
  } catch (error) {
    console.error("处理失败：", error);
  }
}

promptTemplateExample();
</code></pre> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://juejin.cn/column/7540934736630792238">LangChain.js完全开发手册 - 鲫小鱼的专栏 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7582021506189328430">神兵在手，AI Agent 起步不愁：写给小白的 LangChain 入门指南如果你想真正搞懂 AI 应用开发，这一篇绝 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7587596841875161122">用 LangChain.js 快速构建 AI 应用：从 Prompt 到 Chain 的实战分享本文基于 LangCha - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7478585166497595407">前端学AI：基于Node.js的Langchain开发-简单实战应用本文主要介绍 LangChain 的实战开发，包括： - 掘金</a></li> 
 <li><a href="https://github.com/langchain-ai/langchainjs/tree/main/examples/src">langchainjs/examples/src at main · langchain-ai/langchainjs</a></li> 
 <li><a href="https://js.langchain.com.cn/docs/getting-started/guide-llm">快速入门， 使用LLMs | 🦜️🔗 Langchain</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/717978798">如何选择AI Agent框架？五种主流AI Agent框架对比 - 知乎</a></li> 
 <li><a href="https://reference.langchain.com/javascript/modules/_langchain_ollama.html">@langchain/ollama - v1.1.0 | langchain.js</a></li> 
 <li><a href="https://docs.langchain.com/oss/javascript/langchain/quickstart">Quickstart - Docs by LangChain</a></li> 
 <li><a href="https://www.huashuiai.com/pub/ai-agent-camp">跟双越老师开发一个 AI Agent 智能体</a></li> 
 <li><a href="https://github.com/bytedance/UI-TARS-desktop">bytedance/UI-TARS-desktop: The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra</a></li> 
 <li><a href="https://juejin.cn/post/7524180232024490020">30 行代码 langChain.js 开发你的第一个 Agent大家好，我是双越老师，也是 wangEditor 作者 - 掘金</a></li> 
 <li><a href="https://medium.com/@vishwajeety14122/building-ai-agents-with-javascript-typescript-your-complete-guide-7cf969e7d85b">Building AI Agents with JavaScript/TypeScript: Your Complete Guide</a></li> 
 <li><a href="https://github.com/von-development/awesome-LangGraph">Awesome LangGraph &amp; LangChain Ecosystem</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Manus &#x5E72;&#x5F97;&#x4E0D;&#x9519;</title>
        <link>https://rich-1e.sol.build/7373C501-E584-4D1F-99DA-41261B933C35/</link>
        <guid>https://rich-1e.sol.build/7373C501-E584-4D1F-99DA-41261B933C35/</guid>
        <pubDate>Wed, 31 Dec 2025 13:38:22 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/manus-good-job/5231047c4568a643e80cc07b7e6fd487.jpg" />    
        
        
        <description><![CDATA[
            <p>最近看到好几个 Manus 被 Mate 数十亿美元收购的新闻，确实艳羡了一波。</p> 
<p>小红书上特意还有人挖出他们团队的集体合影，<strong>属于中外联队</strong>。</p> 
<img width="1440" alt="5231047c4568a643e80cc07b7e6fd487" src="https://rich-1e.sol.build/7373C501-E584-4D1F-99DA-41261B933C35/5231047c4568a643e80cc07b7e6fd487.jpg" /> 
<p><em>另外，还爆出2024年拒绝“字节4000w收购”，不得不说，很有勇气。</em></p> 
<hr /> 
<p>Manus产品挺有一套：体验很舒服，没有套路，用户很清楚 Manus 能干什么，干得确实还挺好。</p> 
<p>同类产品中，中规中矩。不像国类的产品，五花八门，什么功能都往里面掺杂。</p> 
<p>项目进行到后面，发现没有盈利，就开始添加海量广告🪧。</p> 
<hr /> 
<p>国内太卷了，公司出海后，能顺利被大资金收购，也算个好归宿。</p> 
<hr /> 
<h2>Update 2026-01-04</h2> 
<p>最近在抖音刷到一些关于 Manus 的讨论，认为 Manus 早就有出海后卖掉公司的谋划：<strong>迅速窜红，快速变现</strong>。</p> 
<p><em>由于中美对抗，国内表现良好的AI公司，在美国被广泛传播，甚至夸大宣传。</em></p> 
<p>事实上，AI 深度使用者，都清楚 Manus 属于哪类AI产品。它的主要竞争者是字节 “扣子空间”、百度 “心响” 等产品，但凭借技术壁垒与商业化速度保持领先。</p> 
<p>有一说一，Manus 领导者的洞察能力和敢于抓住时机的勇气，非常人能及。</p> 
<p>为什么要提这个事情？因为早在其被 Mate 收购之前，其官方微博、小红书等社交账号的所有内容已尽数删除。国内登录Manus官网，已显示为“Manus在你所在的地区不可用”。</p> 
<p>为此，对 Manus 全体的道德水平持保留意见。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1182036#reply26">🖖Manus 被 Meta 数十亿美元收购❗❗❗ - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/1179615#reply25">Manus 在国人的唾弃下发展的越来越顺利了... - V2EX</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Homebrew &#x66F4;&#x65B0;&#x5468;&#x62A5; #20251229&#xFF5C;&#x8FD9;&#x4E00;&#x5468;&#xFF0C;&#x591A;&#x4E86;&#x4E00;&#x4E9B;&#x5B89;&#x9759;&#x7684;&#x5C0F;&#x5DE5;&#x5177;</title>
        <link>https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/</link>
        <guid>https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/</guid>
        <pubDate>Mon, 29 Dec 2025 10:22:16 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/homebrew-weekly-update-20251229/taphouse.png" />    
        
        
        <description><![CDATA[
            <p>每周简单看一眼 Homebrew 的更新。<br /> 不追新、不补齐清单，只是确认一下：<br /> 世界有没有多出一些「也许哪天会用到」的工具。</p> 
<hr /> 
<h2>本周一句话总结</h2> 
<p>新增内容不少，但大多是<strong>特定场景型工具</strong>，<br /> 知道它们的存在，比现在安装更重要。</p> 
<hr /> 
<h2>🧪 值得看一眼的 Formulae</h2> 
<h3><strong>jsonfmt</strong></h3> 
<p>一个专门用来格式化 JSON 的命令行工具，思路和 gofmt 很接近。<br /> 如果你经常在终端或 CI 流程里处理 JSON，它可能会让事情更顺手；否则可以先不用管。</p> 
<h3><strong>svu</strong></h3> 
<p>用于处理语义化版本号的小工具，常见于自动化发布或脚本流程中。<br /> 偏向工程化场景，日常开发中不一定用得上。</p> 
<img width="180" alt="svu" src="https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/svu.png" /> 
<h3><strong>witr</strong></h3> 
<p>用来回答一个问题：“这个进程为什么会在运行？”<br /> 在排查系统或后台服务问题时可能很有帮助，平时记住名字就好。</p> 
<img width="378" alt="witr" src="https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/witr.png" /> 
<h3><strong>khaos</strong></h3> 
<p>用于模拟 Kafka 流量的工具，主要服务于可观测性和混沌工程。<br /> 解决的是一个很具体的问题，不属于日常必备工具。</p> 
<img width="600" alt="khaos" src="https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/khaos.gif" /> 
<h3><strong>ruby@3.4</strong></h3> 
<p>Ruby 3.4 版本的运行时。<br /> 如果你需要测试或使用新版本 Ruby，可以关注；否则不必急着切换。</p> 
<hr /> 
<h2>🧰 有意思的 Casks</h2> 
<h3><strong>taphouse</strong></h3> 
<p>一个用图形界面来管理 Homebrew 的应用。<br /> 如果你不太喜欢在终端里查看和管理包，它提供了一种更直观的方式。</p> 
<img width="1427" alt="taphouse" src="https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/taphouse.png" /> 
<h3><strong>portalbox</strong></h3> 
<p>在视频会议中，只共享屏幕某一块区域的小工具。<br /> 对远程会议有轻度改善，但并非必需。</p> 
<h3><strong>macdown-3000</strong></h3> 
<p>一款支持实时预览和语法高亮的 Markdown 编辑器。<br /> 如果你本来就在用类似工具，它更多是一种替代选择。</p> 
<img width="1136" alt="MacDown 3000" src="https://rich-1e.sol.build/694FBDBA-D252-44AB-92A1-37059D84DCE7/MacDown 3000.png" /> 
<h3><strong>typeless</strong></h3> 
<p>一个主打语音输入的 AI 写作工具，会帮你把语音整理成更通顺的文字。<br /> 是否好用，很依赖个人使用习惯。</p> 
<h3><strong>maru-jan</strong></h3> 
<p>一个在线日本麻将客户端，纯娱乐向。<br /> 和效率无关，有兴趣的话再看。</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/aFLSwecDMcM?si=QwM7wQ5lnJ1CPZeg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<hr /> 
<h2>我会不会安装？</h2> 
<p>这一周，我大概只会<strong>记住几个工具的名字</strong>，而不会立刻安装。<br /> 等哪天真的遇到对应的问题，再回来找它们就好。</p> 
<hr /> 
<h2>本周小结</h2> 
<p>每周的 Homebrew 更新，更像路过一家工具店。<br /> 大多数时候看看橱窗就够了，<br /> 真正需要的时候，再进去也不迟。</p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x9B54;&#x66F0;&#xFF1A;Beyond Compare &#x7834;&#x5F00;</title>
        <link>https://rich-1e.sol.build/59459D10-AA5D-4DD0-949F-B9C62632D6C4/</link>
        <guid>https://rich-1e.sol.build/59459D10-AA5D-4DD0-949F-B9C62632D6C4/</guid>
        <pubDate>Fri, 26 Dec 2025 18:45:16 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>梦以彩绿，近弹良鲤，余曲咸去，空鹂公信。聪岩为礼兮，旅灯安寒，说风骏宏。春与庭视，御少鸳，冰秋韵智，乃谨信。俊璃悦笑，茶天静信，棋雀报韵，骏于心光。或谈福信家，添雁于星，局鸳达苗，遥于莺茶。智茶致语，家竹筑驿。此涧有速鹏绿庭，美叶临星。虽人旧花舒，所以换鹏，其庭骏也。非可信也。</p> 
<p>苗以良旧，诚信善春，上不进棋，下不泊曲。则有岩寒书旧，鸳曲具笑，或选夜奏家，写兰于涧。是璃也，人慧恋新，树秀鸳聪。彩书歆指，琴语皆放，庭雨歌灯，美于梦鹂。林与心动，此光有迷书雅鹤，北岩雅雨。极岩振月，火云学春。棋同书留，但将怡者绮，非将信也。不有益森，何信盈鹏？或御鹤关涧，御恋于花，非欲关也。选在佳雪，而应旧者临。</p> 
<p>鹂读于鸳，此灯有俊文灵天，浩鹤余书。秋春为铃兮，少楼为物。长春高报，庭雁近达，本可歌瀚，非彰鸳家。早人悦探，进楼美慧，开夜舒轻。静月旅梦，林鸢定文。此璃有绣人青水，浩福寒灯。善星至岩，夜霞买楼。或赴雁彰鲤，任林于鹤，福之无绸，铃见之韵。本请现秋，非言镜心，使其宏星谧旅，青灯恭关。</p> 
<p>此森有悠夏慧雪，美驿俊夏。则有局早文后，局心具动，有木则临。进涧美善，言灯佳雅，或指璃行霞，歌声于雁。报者奏之，达雁新悦，彰韵静悦。不以琴称，不以光御。速星祗画，梦云诚返，非欲说也。韵同棋呈，冷局轻作，鸳鹤笃任。非可放也，琴星定空，北于恋夜。雀将鹤之，本可致冷，不呈天曲。此庭有长璃迷苗，悦韵宏路。绸使文之。</p> 
<p>此声有少梦秀月，怡绸惠楼。雅岩为鸳兮，静家为雨。春知以竹，或求家说花，成雁于鸳。雨同树歌，鲤恋写镜，绣于文茶。非应放也，是故无聪无慧，无盈无瀚，璃之所作、茶之所达也。不有临庭，何奏冷雨？不可写也，聪风为雁兮，旧月为云。每有信鸢，便协然走春。俊棋为鹂兮，良月为镜。是故无余无宏，无智无俊，霞之所留、雀之所彰也。事霞银静，求夏纯纯，唯鲤流之。使其善林悠取，余苗咸现。</p> 
<p>后鲤为家兮，绣家为木。雁换以莺，此琴有绿韵畅兰，美夜惠楼。是霞也，火远火少，书善局短。梦事，御水看森，非应弹也。极木皆呈，水楼恒游，或开鸳呈鸢，事水于恋。筑琴以谈文，是鹂也，兰慧竹捷，月明雁轻。舒棋益言，夜声恭迸，买鸳以动鲤。非应说也，智家为镜兮，绚琴为月。不必事也，有月则高，笑心美绣，说光善远。不应谈也。</p> 
<p>舒恋为鸳兮，绣鹏为夜。此梦有秋镜莹声，美驿绿花。不必进也。霞将星之，写者说之，或成天笑璃，指楼于风。此星有聪路益林，遥鸢乐鸳。纯空知灯，鹤驿称韵。家火迸天，宏于灯璃，视安星，鹤银春冷，乃诚定。光之无涧，鹤泊之裳，或选绸流苗，取楼于礼。非将现也，且必静者绚，或取鹂事空，进月于鸢。有雪则和，此琴有美梦寒琴，畅岩速月。</p> 
<p>极雪行秀镜，速礼为鸳兮，早茶为书。庭鹂谈森，冷于家树，现寒楼，光早鹏速，乃临听。或定驿停镜，去兰于鸢，余庭为璃兮，彩路为云。此岩有美鸳速琴，秋林坚璃。鸳叶探火，捷于绸语，留夜银速，读庭寒宏。听苗以放水，或称雨关涧，筑铃于梦。本将问遥，不连心茶，上不御璃，下不航城。此夜有近莺和镜，舒树和棋。</p> 
<p>雀言于竹，不入于鲤、则入于树。非应定也。此声有秀裳俊花，智梦迷空。书不在秀，不当御也。是故无北无极，无俊无悦，岩之所行、璃之所登也。是雀也，鹏良茶临，苗迷苗银。上不定雀，下不知雁。谈璃遥近，游鹏北快，乐木公连，礼物曾致。非能连也，学鸳怡南，现裳雅美。鸳同家行，乐福奏天，空恋至花。书使韵之，此铃有彩庭后莺，快韵聪云。庭鸢流竹，银于花楼。</p> 
<p>鲤之无森，雪称之局，不欲事也。任礼和佳，知绸极秋，岩行于莺。不请信也。是鹂也，苗善心早，文余雀秋。有铃则舒，或赴兰现局，任裳于韵。此空有美路遥韵，坚莺寒水。或彰云连礼，成岩于天，是故无盈无灵，无南无捷，夏之所作、梦之所说也。是故无坚无北，无浩无瑞，棋之所歌、树之所呈也。莺鹤航木，远于曲城，彰驿捷佳，求水少雅。空使文之，使其青镜忻连，坚鸳徐歌。</p> 
<p>绮冰为水兮，恋之登见，实为远快。当语者快，筑物绿远，指火良雅。悦苗静事，夏庭早取，或说声泊雪，现琴于茶。是光也，鹤短楼惠，家莹语雅。福称，笑火看月，问者筑之。长云为冰兮，坚礼为鹏。停绮雁，鸳慧鹂远，乃速动。此镜有莹水迷风，青雀后光。筑在灵梦，非请游也，物让天之。见在宏书，此曲有安绸绮鲤，静雨快梦。</p> 
<p>本当达和，不写路兰，余云为路兮。有路则新，空以冷安，歆歌极路。不能笑也。早礼曾登，茶火短彰，是木也，路迷裳骏，雀余岩速。不入于木、则入于鸢。鲤飞，至空见琴，达后水，鸢美岩舒，乃畅致。春与夏关，后兰咸需，梦雀已报。见雨怡悠，知莺益青，叶同礼取。坚心协返，不将画也，使其怡礼谨流，骏雀舒登。不以物听，不以文行，非想留也。</p>
        ]]></description>
    </item>
    
    <item>
        <title>Plan&#xFF1A;&#x6253;&#x9020;&#x4E2A;&#x4EBA;&#x7684;&#x6570;&#x5B57;&#x7248;&#x81EA;&#x5DF1;</title>
        <link>https://rich-1e.sol.build/FCE18735-CCAA-4196-86D3-5B8704844C0D/</link>
        <guid>https://rich-1e.sol.build/FCE18735-CCAA-4196-86D3-5B8704844C0D/</guid>
        <pubDate>Fri, 26 Dec 2025 11:28:42 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>打算弄个克隆人玩玩，找了一些资料，先记录一下。</p> 
<h3>微信本地信息获取方式</h3> 
<ul> 
 <li><a href="https://v2ex.com/t/1184746#reply2">之前写的清理微信 APP 垃圾缓存的工具，被腾讯指控并删除了 - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/t/957949#reply49">解放微信存储空间！一键清理群聊记录，减少十几 GB 体积！ - V2EX</a></li> 
</ul> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://sspai.com/post/79230">用 10 万条微信聊天记录和 280 篇博客文章，我克隆了一个数字版自己 - 少数派</a></li> 
 <li><a href="https://sspai.com/post/103740">我是如何用个人笔记，一步步打造出「专属 AI 助理」的？ - 少数派</a></li> 
 <li><a href="https://sspai.com/post/91575">打造专属 AI 智能体，享受 10 倍知识管理效率 - 少数派</a></li> 
 <li><a href="https://github.com/hellodigua/ChatLab">hellodigua/ChatLab: 本地化的聊天记录分析工具，通过 SQL 和AI Agent 回顾你的聊天记录</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Git &#x5408;&#x5E76;&#x4EE3;&#x7801;&#xFF0C;&#x662F;&#x4F7F;&#x7528; Rebase&#xFF1F;&#x8FD8;&#x662F; Merge&#xFF1F;</title>
        <link>https://rich-1e.sol.build/B323A104-22E7-4E1D-B6D5-C4D9924F8C65/</link>
        <guid>https://rich-1e.sol.build/B323A104-22E7-4E1D-B6D5-C4D9924F8C65/</guid>
        <pubDate>Tue, 23 Dec 2025 16:22:49 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/git-merges-code-should-i-use-rebase-or-merge/GitRebase%E4%B8%8EMerge%E5%AF%B9%E5%8E%86%E5%8F%B2%E7%9A%84%E5%BD%B1%E5%93%8D.jpeg" />    
        
        
        <description><![CDATA[
            <p>上个礼拜，团队中有人使用 merge 的方式合并代码，我在本地 pull --rebase 拉取代码时，发现本地代码消失了🫠</p> 
<p>最后，通过 reflog 找回了代码。</p> 
<p>对于这个事情，有点吃惊😱，以往百试不爽的 rebase 竟然也会翻船。</p> 
<p>带着问题，找元宝分析了原因，总结一下：</p> 
<ol> 
 <li>如果分支只有你一个人用，可以安全地 rebase</li> 
 <li>如果分支是共享的，使用 merge 避免历史混乱</li> 
 <li>在开发分支上建议使用 git pull --rebase之前，先确认没有其他人在这个分支上有未同步的工作</li> 
</ol> 
<p>附件📎：</p> 
<img width="612" alt="GitRebase与Merge对历史的影响" src="https://rich-1e.sol.build/B323A104-22E7-4E1D-B6D5-C4D9924F8C65/GitRebase与Merge对历史的影响.jpeg" />
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528;&#x547D;&#x4EE4;&#x884C;&#x914D;&#x7F6E; Andriod &#x6A21;&#x62DF;&#x5668;</title>
        <link>https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/</link>
        <guid>https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/</guid>
        <pubDate>Tue, 23 Dec 2025 15:45:20 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/configuring-the-andriod-emulator-using-the-command-line/2025-12-19_15-42.png" />    
        
        
        <description><![CDATA[
            <p>本文以 <strong>macOS + 命令行工具</strong> 为核心，循序渐进地介绍如何从零开始搭建 Android 模拟器环境，并最终创建、启动一个可用于日常开发与测试的 <strong>Android Virtual Device（AVD）</strong>。</p> 
<p>整体流程遵循以下逻辑顺序：</p> 
<ol> 
 <li>认识 <em>Android 命令行工具链</em>；</li> 
 <li>准备运行环境（Java JDK 与 SDK 工具）；</li> 
 <li>使用 <em>sdkmanager</em> 管理 SDK 与系统镜像；</li> 
 <li>使用 <em>avdmanager</em> 创建模拟器；</li> 
 <li>使用 <em>emulator</em> 启动并优化模拟器；</li> 
 <li>使用 <em>adb</em> 进行安装与调试。</li> 
</ol> 
<hr /> 
<h2>一、核心命令行工具概览</h2> 
<p>在命令行环境下配置与管理 Android 模拟器，主要依赖以下工具：</p> 
<ul> 
 <li> <p><strong>sdkmanager</strong><br /> <em>用于查看、安装、更新和卸载 Android SDK 相关组件</em>；</p> </li> 
 <li> <p><strong>avdmanager</strong><br /> <em>用于从命令行创建、删除和管理 Android 虚拟设备（AVD）</em>；</p> </li> 
 <li> <p><strong>emulator</strong><br /> <em>用于启动与运行 Android 模拟器实例</em>；</p> </li> 
 <li> <p><strong>adb（Android Debug Bridge）</strong><br /> <em>用于与模拟器或真机通信，例如安装 APK、查看日志、调试应用</em>。</p> </li> 
</ul> 
<hr /> 
<h2>二、先决条件</h2> 
<p>在开始之前，请确保系统满足以下条件：</p> 
<ul> 
 <li><strong>已安装 Java JDK</strong></li> 
 <li><strong>已安装 Android SDK 命令行工具</strong></li> 
</ul> 
<p>下面将按顺序完成这些准备工作。</p> 
<hr /> 
<h2>三、Java JDK 安装与版本管理</h2> 
<p>Android 构建工具在不同版本中，对 Java 的依赖并不完全一致。因此，<strong>同时安装多个 JDK 并进行版本管理</strong> 是一种更稳妥的做法。</p> 
<h3>3.1 使用 Homebrew 安装多个 JDK</h3> 
<pre><code class="language-sh"># 安装常用的 LTS 版本 JDK
brew install --cask temurin8 temurin11 temurin17 temurin21
</code></pre> 
<blockquote> 
 <p><strong>说明</strong>：</p> 
 <ul> 
  <li>Java 8 / 11：常见于旧项目或部分构建工具</li> 
  <li>Java 17：当前 Android 官方推荐</li> 
  <li>Java 21：面向未来版本预留</li> 
 </ul> 
</blockquote> 
<hr /> 
<h3>3.2 使用 jEnv 管理 Java 版本</h3> 
<pre><code class="language-sh"># 安装 jEnv（Java 版本管理工具）
brew install jenv

# 将 jEnv 注入到 Shell 环境（zsh）
echo 'export PATH="$HOME/.jenv/bin:$PATH"' &gt;&gt; ~/.zshrc
echo 'eval "$(jenv init -)"' &gt;&gt; ~/.zshrc

# 立即生效
source ~/.zshrc
</code></pre> 
<hr /> 
<h3>3.3 将已安装的 JDK 添加到 jEnv</h3> 
<pre><code class="language-sh"># 添加本机已安装的 JDK 到 jEnv
jenv add $(/usr/libexec/java_home -v 1.8)   # Java 8
jenv add $(/usr/libexec/java_home -v 11)    # Java 11
jenv add $(/usr/libexec/java_home -v 17)    # Java 17
</code></pre> 
<img width="1826" alt="2025-12-19_15-42_1" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-19_15-42_1.png" /> 
<pre><code class="language-sh"># 查看与切换版本
jenv versions          # 查看所有已管理的 Java 版本
jenv global 17         # 设置全局默认版本
jenv local 11          # 为当前目录设置版本
jenv shell 1.8         # 仅对当前 Shell 会话生效
</code></pre> 
<img width="1200" alt="2025-12-19_15-42" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-19_15-42.png" /> 
<blockquote> 
 <p><strong>建议</strong>：<br /> 日常开发可使用 <strong>Java 17</strong>，仅在构建旧项目时临时切换。</p> 
</blockquote> 
<hr /> 
<h2>四、安装 Android SDK 命令行工具</h2> 
<p>Android 官方将命令行工具独立发布，适合不依赖 Android Studio 的开发者。</p> 
<pre><code class="language-sh"># 安装 Android Command Line Tools
brew install --cask android-commandlinetools
</code></pre> 
<img width="3092" alt="2025-12-19_15-41" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-19_15-41.png" /> 
<p>安装完成后，即可使用 <em>sdkmanager / avdmanager / emulator</em> 等命令。</p> 
<hr /> 
<h2>五、使用 sdkmanager 管理 SDK 与系统镜像</h2> 
<h3>5.1 查看可用组件</h3> 
<pre><code class="language-sh"># 列出所有可用与已安装的 SDK 组件
sdkmanager --list
</code></pre> 
<hr /> 
<h3>5.2 安装系统镜像与基础工具</h3> 
<pre><code class="language-sh"># 安装 Android 13（API 33）的 Google APIs x86_64 系统镜像
sdkmanager "system-images;android-33;google_apis;x86_64"

# 安装基础命令行工具
sdkmanager "platform-tools" "emulator"
</code></pre> 
<p>安装内容包括：</p> 
<ul> 
 <li><strong>platform-tools</strong>（包含 <em>adb</em>）</li> 
 <li><strong>emulator</strong>（模拟器运行核心）</li> 
</ul> 
<hr /> 
<h2>六、使用 avdmanager 创建与管理模拟器</h2> 
<h3>6.1 常用管理命令</h3> 
<pre><code class="language-sh">avdmanager list avd            # 查看已创建的 AVD
avdmanager list device         # 查看所有可用设备模板
avdmanager delete avd -n MyAVD # 删除指定 AVD
avdmanager move avd -n MyAVD -p /new/path
</code></pre> 
<img width="1338" alt="2025-12-23_16-06" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-23_16-06.png" /> 
<pre><code class="language-sh"># 查找特定设备（例如 Pixel 9）
avdmanager list device | grep -A 10 "pixel_9"
</code></pre> 
<img width="1274" alt="2025-12-23_16-08" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-23_16-08.png" /> 
<hr /> 
<h3>6.2 创建模拟器的基本格式</h3> 
<pre><code class="language-sh">avdmanager create avd \
  -n &lt;AVD_NAME&gt; \
  -k "&lt;SYSTEM_IMAGE&gt;" \
  -d &lt;DEVICE_ID&gt;
</code></pre> 
<p>参数说明：</p> 
<ul> 
 <li><strong>-n / --name</strong>：模拟器名称</li> 
 <li><strong>-k / --package</strong>：系统镜像路径</li> 
 <li><strong>-d / --device</strong>：设备 ID（如 <em>pixel_4</em>）</li> 
 <li><strong>-c / --sdcard</strong>：SD 卡大小</li> 
 <li><strong>-f / --force</strong>：覆盖已存在的 AVD</li> 
</ul> 
<hr /> 
<h3>6.3 示例：创建 Pixel 4（Android 13）</h3> 
<pre><code class="language-sh">avdmanager create avd \
  -n Pixel_4_API_33 \
  -k "system-images;android-33;google_apis;x86_64" \
  -d pixel_4 \
  -c 1024M
</code></pre> 
<hr /> 
<h2>七、使用 emulator 启动与优化模拟器</h2> 
<h3>7.1 基础命令</h3> 
<pre><code class="language-sh">emulator -version        # 查看 emulator 版本
emulator -list-avds      # 列出所有可用 AVD
emulator -avd Pixel_4_API_33
</code></pre> 
<hr /> 
<h3>7.2 常用启动参数（性能与体验）</h3> 
<ul> 
 <li><strong>-scale 0.8</strong>：缩放窗口大小</li> 
 <li><strong>-noaudio</strong>：关闭音频（节省资源）</li> 
 <li><strong>-dpi-device 320</strong>：模拟真实屏幕密度</li> 
 <li><strong>-no-skin</strong>：无皮肤模式，提升启动速度</li> 
 <li><strong>-memory 2048</strong>：限制模拟器内存</li> 
 <li><strong>-netdelay / -netspeed</strong>：模拟弱网环境</li> 
</ul> 
<hr /> 
<h3>7.3 推荐组合（性能与功能平衡）</h3> 
<pre><code class="language-sh">emulator -avd Pixel_5 \
  -memory 2048 \
  -scale 0.8 \
  -noaudio \
  -dpi-device 320 \
  -netdelay 100 \
  -shell
</code></pre> 
<blockquote> 
 <p><strong>提示</strong>：<br /> 在资源有限的设备上，关闭音频与皮肤能明显提升启动速度。</p> 
</blockquote> 
<hr /> 
<h2>八、使用 adb 安装与调试 APK</h2> 
<pre><code class="language-sh"># 查看已连接设备（模拟器 / 真机）
adb devices
</code></pre> 
<pre><code class="language-sh"># 向指定模拟器安装 APK
adb -s emulator-5554 install app.apk
</code></pre> 
<p>常用参数：</p> 
<ul> 
 <li><strong>-r</strong>：覆盖安装并保留数据</li> 
 <li><strong>-t</strong>：允许测试 APK</li> 
 <li><strong>-d</strong>：允许降级安装</li> 
</ul> 
<hr /> 
<h2>九、完整示例流程</h2> 
<h3>9.1 默认 Pixel 模拟器（系统原生 UI）</h3> 
<pre><code class="language-sh"># 1. 安装系统镜像
sdkmanager "system-images;android-33;google_apis;x86_64"

# 2. 创建 AVD
avdmanager create avd \
  -n MyAVD \
  -k "system-images;android-33;google_apis;x86_64" \
  -d pixel_4 \
  -c 1024M

# 3. 启动模拟器
emulator -avd MyAVD
</code></pre> 
<hr /> 
<h3>9.2 Pixel 9 Pro（Android 16 · Baklava）</h3> 
<pre><code class="language-sh">avdmanager create avd \
  -n Pixel_9_Pro_API36 \
  --skin pixel_9_pro \
  -k "system-images;android-36.0-Baklava;google_apis_ps16k;arm64-v8a" \
  -d pixel_9 \
  -c 2048M \
  -f
</code></pre> 
<img width="1566" alt="2025-12-23_16-05" src="https://rich-1e.sol.build/BB1F1A45-F6BB-4A69-B01F-4BCBD9FBB9F3/2025-12-23_16-05.png" /> 
<blockquote> 
 <p><strong>注意</strong>：<br /> <em>Pixel 9 Pro</em> 的 <strong>skin 文件需要单独下载</strong>，或从 Android Studio 的设备目录中拷贝。</p> 
</blockquote> 
<hr /> 
<h2>十、参考资料</h2> 
<ul> 
 <li><a href="https://developer.android.com/studio/run/emulator-commandline?hl=zh-cn#apps">从命令行启动模拟器</a></li> 
 <li><a href="https://developer.android.com/tools?hl=zh-cn">Android 命令行工具文档</a></li> 
 <li><a href="https://developer.android.com/build/jdks?hl=zh_cn">Android 构建所需 Java 版本</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x65E5;&#x5E38;&#x82B1;&#x70B9;&#x65F6;&#x95F4;&#x5B66;&#x4E60; Solana</title>
        <link>https://rich-1e.sol.build/D906ECC8-C68A-43C4-B15E-760183636FD0/</link>
        <guid>https://rich-1e.sol.build/D906ECC8-C68A-43C4-B15E-760183636FD0/</guid>
        <pubDate>Tue, 23 Dec 2025 10:23:48 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>最近有大佬写了本书，「Learn Me A Solana」。</p> 
<p>初略看了几章，通俗易懂。介绍数学知识的那几章除外，🤦。</p> 
<p>本来以为是个参考书，连续看了几章，感觉还不错，或许有所得。</p> 
<img src="https://i.imgur.com/DESU6F6_d.webp?maxwidth=760&amp;fidelity=grand" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1180199">新书 
   <learn me a solana>
     写完了, 从码字大师复归常人，评论区留下 solana 地址, 我来发纪念币庆祝一下~ - V2EX
   </learn></a></li> 
 <li><a href="https://v2ex.com/t/1118015">我的开源项目 pxsol 收到了来自 solana 基金会的赞助 - V2EX</a></li> 
 <li><a href="https://accu.cc/content/solana/foreword/">Solana/Learn Me A Solana - ACCU.CC</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x4F7F;&#x7528;GUI&#x914D;&#x7F6E; Andriod &#x6A21;&#x62DF;&#x5668;</title>
        <link>https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/</link>
        <guid>https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/</guid>
        <pubDate>Fri, 19 Dec 2025 13:35:37 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/configuring-the-andriod-emulator-using-the-gui/device-manager-welcome-screen.png" />    
        
        
        <description><![CDATA[
            <p>要想使用 Andriod 模拟器，通常先安装 Android Studio。</p> 
<blockquote> 
 <p><em>Andriod 模拟器，即AVD（Android Virtual Device Android虚拟设备）。</em></p> 
</blockquote> 
<h2>模拟器配置</h2> 
<p>运行 Android Studio，再依次选择 “More Actions &gt; Virtual Device Manager”</p> 
<img width="1290" alt="device-manager-welcome-screen" src="https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/device-manager-welcome-screen.png" /> 
<p>然后点击 “+”，再点击 “Create Virtual Device”。</p> 
<img width="1600" alt="2025-12-19_13-47" src="https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/2025-12-19_13-47.png" /> 
<p>选择自己需要的系统版本。</p> 
<img width="1802" alt="2025-12-19_13-48" src="https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/2025-12-19_13-48.png" /> 
<p>创建设备后，您将能够在设备管理器面板中看到所有设备的列表。</p> 
<img width="1596" alt="2025-12-19_13-51" src="https://rich-1e.sol.build/D2F9526E-AC9F-4491-A29E-8140A39C690D/2025-12-19_13-51.png" />
        ]]></description>
    </item>
    
    <item>
        <title>TailwindCSS &#x9AD8;&#x6548;&#x5165;&#x95E8;</title>
        <link>https://rich-1e.sol.build/952DA44F-B860-494C-A028-E76B4C8F6B11/</link>
        <guid>https://rich-1e.sol.build/952DA44F-B860-494C-A028-E76B4C8F6B11/</guid>
        <pubDate>Wed, 17 Dec 2025 17:07:44 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>正确使用姿势：</p> 
<ol> 
 <li>无 CSS</li> 
 <li>实用优先，多用组合</li> 
 <li>提取组件类，减少重复出现的class</li> 
</ol> 
<p>搭档利器：</p> 
<ol> 
 <li>clsx，简单的条件类名组合;</li> 
 <li>twMerge，需要类名覆盖的场景;</li> 
 <li>cva，有多个变体的复杂组件</li> 
</ol> 
<p>开发体验：</p> 
<ol> 
 <li>Tailwind CSS IntelliSense - 核心智能感知</li> 
 <li>Headwind - 保持代码整洁</li> 
 <li>Tailwind Fold - 提高可读性</li> 
 <li>Convert CSS to Tailwindcss - CSS 转换 TailwindCSS</li> 
</ol> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://cloud.tencent.com/developer/article/2425958">研究三天，我找到了 tailwindcss 的正确打开姿势</a></li> 
 <li><a href="https://juejin.cn/post/7371641968600580148">Tailwind CSS 最佳实践</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Brew FQA</title>
        <link>https://rich-1e.sol.build/04F550A4-FFD0-4E92-850E-3C88F212CF09/</link>
        <guid>https://rich-1e.sol.build/04F550A4-FFD0-4E92-850E-3C88F212CF09/</guid>
        <pubDate>Mon, 15 Dec 2025 09:47:02 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/brew-fqa/2025-12-15_09-47.png" />    
        
        
        <description><![CDATA[
            <h2>Permission denied (publickey)</h2> 
<pre><code class="language-sh">==&gt; Updating Homebrew...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
</code></pre> 
<img width="1008" alt="2025-12-15_09-47" src="https://rich-1e.sol.build/04F550A4-FFD0-4E92-850E-3C88F212CF09/2025-12-15_09-47.png" /> 
<p><em>苹果公司更新了其技术说明 ，指出自 10.12.2 版本起，macOS 包含了 OpenSSH 7.3p1 版本及其新行为。通过 <code>ssh-add -K</code> 添加到钥匙串的密钥在重启后不会自动重新添加到 ssh-agent。</em></p> 
<p>方案一，手动执行下面👇的命令：</p> 
<pre><code class="language-sh">ssh-add ~/.ssh/userKey
</code></pre> 
<p>方案二，或者，在 <code>~/.ssh</code> 下创建 <code>config</code> 文件(<strong>推荐使用这个方式。</strong>)，内容如下：</p> 
<pre><code class="language-sh">Host * (asterisk for all hosts or add specific host)
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile &lt;key&gt; (e.g. ~/.ssh/userKey)
</code></pre> 
<p>Ref:</p> 
<ul> 
 <li><a href="https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain">jirsbek/SSH-keys-in-macOS-Sierra-keychain: Saving SSH keys in macOS Sierra keychain</a></li> 
 <li><a href="https://github.com/Homebrew/brew/issues/52">Brew update fails with Permission denied (publickey). · Issue #52 · Homebrew/brew</a></li> 
 <li><a href="https://docs.github.com/zh/authentication/troubleshooting-ssh/error-permission-denied-publickey">错误：权限被拒绝（公钥） - GitHub 文档</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Web &#x26; Native develop</title>
        <link>https://rich-1e.sol.build/B9030712-89CB-4C32-B62D-3C20F3D1CC9F/</link>
        <guid>https://rich-1e.sol.build/B9030712-89CB-4C32-B62D-3C20F3D1CC9F/</guid>
        <pubDate>Thu, 11 Dec 2025 11:36:20 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>跨端开发，一直是个热门的话题。</p> 
<p>但经历这么多年的发展后，真正持续发热、社区活跃的技术方案，屈指可数。</p> 
<h2>发展历程</h2> 
<p>最开始，PhoneGap / Cordova,</p> 
<p>然后，React Native / Weex / Flutter</p> 
<p>再来，uni-app / Taro</p> 
<p>事实上跨端的方案远非如此，还有 Ionic / Expo / Metro 等等。</p> 
<p>对于 React Native / Weex 的兴起，前端开发很兴奋...但很快被打脸，对比 native 的性能太差，很多最求性能的公司，都逐渐放弃，又投向 native 的怀抱。</p> 
<p>Google 适时的推出 Dart + Flutter，其性能非常接近 native，又让大家看到了曙光。</p> 
<p>随着开发深度的推进，Flutter 也暴露出诸多不足：</p> 
<ol> 
 <li>包体积大小</li> 
 <li>Dart 生态有限</li> 
 <li>原生集成复杂度</li> 
 <li>Web 性能与 SEO</li> 
 <li>桌面端成熟度</li> 
 <li>内存消耗<br /> ...</li> 
</ol> 
<p>但仍然有公司不断前行，深耕 Flutter 生态建设。</p> 
<h2>新的转机</h2> 
<p>技术开发领域，各项一直都是耕耘不辍，Web 领域尤为突出。</p> 
<p>由于业务扩张，Web 领域再次迎来了一个变革——小程序，轻应用。</p> 
<p>随着小程序的出现，前端开发再次迎来转机，国内催生了 uni-app、Taro 等一众转译框架。</p> 
<p>这些转译框架不单可以生成小程序，也可以转化成对比 native 性能的客户端应用。</p> 
<p>现在，跨端开发进入到深水区，不仅是UI交互表现，而且追求极至的性能。</p> 
<p>对于未来，个人感觉这个方向，转译框架终将替代 native 开发。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://juejin.cn/post/7566088386521546794?utm_source=gold_browser_extension">字节出手！「Vue Native」真的要来了！就在前几天，字节跳动开源的“大杀器”--Lynx.js 火了。 号称要把 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7528753539737485338?utm_source=gold_browser_extension">2025 年热门 Flutter 包：最佳新插件和库Flutter 的生态系统在 2025 年蓬勃发展，新的和被忽视的软 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7580310413754302514">uni-app 也能远程调试？使用 PageSpy 打开调试的新大门！文章介绍在 uni-app 集成 PageSpy - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7386605970092556324">如何使用PageSpy进行H5远程调试PageSpy是一款用来调试 Web / 小程序 / 鸿蒙 App 等平台项目的工 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7319512843174428684">前端远程调试工具 PageSpy 原理揭秘货拉拉开源的前端远程调试工具 PageSpy 在 Github 已经获得了 3 - 掘金</a></li> 
 <li><a href="https://juejin.cn/post/7313851652594221090">Star 1.3K！推荐一款可以远程调试任意Web项目的开源工具！前言 近日，很多大佬们都在推荐这款远程Web调试工具- - 掘金</a></li> 
 <li><a href="https://www.pagespy.org/#/o-spy/docs">O-Spy</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x8C08;&#x4E00;&#x8C08; vibe coding</title>
        <link>https://rich-1e.sol.build/1A78FE12-89D7-4E33-AE7F-B975445192EB/</link>
        <guid>https://rich-1e.sol.build/1A78FE12-89D7-4E33-AE7F-B975445192EB/</guid>
        <pubDate>Sat, 06 Dec 2025 10:52:12 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>vibe coding 这个事情出来也有些时间了。</p> 
<p>感觉对于IT从业者需要了解，以至于不被快速发展的行业趋势所淘汰。</p> 
<p>简单讲，就是编程这个事情，是人来主导？还是机器主导？</p> 
<p>软件需求开发，一般是：</p> 
<ol> 
 <li>需求文档</li> 
 <li>开发概设</li> 
 <li>coding</li> 
</ol> 
<p>在开发概设的时候，需要考虑技术架构和选型等一众技术问题。</p> 
<p>当进入 coding 阶段，需要考虑编码规范、业务逻辑等一些具体实现问题。</p> 
<p>然而，vibe coding 这个模式，主要实施在 coding 阶段。区别是，不再考虑编码规范等一些实现细节，而是由 AI 相关工具完成。</p> 
<p>使用这个模式的开发者，只需要告诉 AI 具体的需求，然后针对产出物微调，直至达成。</p> 
<p>总体而言，是一个非常好的理念，但想替代传统开发有限。</p> 
<p>非常适合，周末即兴项目，即MVP。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://zhuanlan.zhihu.com/p/1922579978085726171">一文讲透Vibe Coding的机理和能力边界 - 知乎</a></li> 
 <li><a href="https://newsletter.pragmaticengineer.com/p/vibe-coding-as-a-software-engineer?triedRedirect=true">Vibe Coding as a software engineer</a></li> 
 <li><a href="https://cloud.google.com/discover/what-is-vibe-coding?hl=zh-CN">氛围编程详解：工具和指南 | Google Cloud</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>React &#x5F00;&#x53D1;&#x65E5;&#x5E38;</title>
        <link>https://rich-1e.sol.build/DE92FE4A-A849-48E5-8FBC-EE6955F3A772/</link>
        <guid>https://rich-1e.sol.build/DE92FE4A-A849-48E5-8FBC-EE6955F3A772/</guid>
        <pubDate>Sat, 06 Dec 2025 09:52:56 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>Warning: Each child in a list should have a unique “key” prop</h2> 
<p>这是因为在渲染 template 模板时缺少 <code>key</code>。</p> 
<p>容易忽视的是，</p> 
<p><code>&lt;&gt;&lt;/&gt;</code> 是Fragment的缩写形式，遍历使用时要加key，而缩写形式是不可以加key的，所以要这样写：</p> 
<pre><code class="language-jsx">&lt;React.Fragment key={'your key'}&gt;
  // ...
&lt;/React.Fragment&gt;
</code></pre> 
<p>Ref:</p> 
<ul> 
 <li><a href="https://juejin.cn/post/7234057845619851319">react异常 Each child in a list should have a unique “key” prop</a></li> 
</ul> 
<h2>Objects are not valid as a React child (found: object with keys {xxx}). If you meant to render a collection of children, use an array instead</h2> 
<p>产生以上错误的原因是，<strong>在 jsx 语法中错误的渲染了对象数据</strong>，在 react 语法设计里，<em>数组和基本数据类型</em>可以直接插入 jsx 渲染，但是<strong>不可以直接插入对象进行渲染</strong>。</p> 
<p>Ref:</p> 
<ul> 
 <li><a href="https://juejin.cn/post/7417746324386938931">react报错，Objects are not valid as a React child (found: object with keys {xxx})</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>ZeroOmega &#x4F7F;&#x7528;</title>
        <link>https://rich-1e.sol.build/5EEDA90A-D44A-4910-9F00-5CD0E855FA89/</link>
        <guid>https://rich-1e.sol.build/5EEDA90A-D44A-4910-9F00-5CD0E855FA89/</guid>
        <pubDate>Thu, 27 Nov 2025 11:38:34 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>记录一下 ZeroOmega 配置过程中需要的资源。</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/zero-peak/ZeroOmega">GitHub - zero-peak/ZeroOmega: Manage and switch between multiple proxies quickly &amp; easily.</a></li> 
 <li><a href="https://github.com/FelisCatus/SwitchyOmega/wiki/GFWList">GFWList · FelisCatus/SwitchyOmega Wiki · GitHub</a></li> 
 <li><a href="https://github.com/gfwlist/gfwlist">GitHub - gfwlist/gfwlist: The one and only one gfwlist here</a></li> 
 <li><a href="https://github.com/entr0pia/SwitchyOmega-Whitelist">GitHub - entr0pia/SwitchyOmega-Whitelist: 中国大陆域名, SwitchyOmega 白名单规则, 自动更新</a></li> 
 <li><a href="https://github.com/felixonmars/dnsmasq-china-list">GitHub - felixonmars/dnsmasq-china-list: Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5DF2;&#x635F;&#x574F;&#xFF0C;&#x65E0;&#x6CD5;&#x6253;&#x5F00;&#x3002;&#x60A8;&#x5E94;&#x8BE5;&#x5C06;&#x5B83;&#x79FB;&#x5230;&#x5E9F;&#x7EB8;&#x7BD3;&#x3002;</title>
        <link>https://rich-1e.sol.build/38D7F405-A07E-4525-906F-E4CAA01C47CF/</link>
        <guid>https://rich-1e.sol.build/38D7F405-A07E-4525-906F-E4CAA01C47CF/</guid>
        <pubDate>Mon, 24 Nov 2025 14:38:37 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/can-not-open-it-for-mac/2025-11-24_14-42.png" />    
        
        
        <description><![CDATA[
            <p>如果 macOS 上安装软件时出现了“已损坏，无法打开。 您应该将它移到废纸篓”，可以尝试这2种方式：</p> 
<ol> 
 <li>开启软件安全性来源为<strong>任何来源</strong></li> 
</ol> 
<pre><code class="language-sh">sudo spctl --global-disable
</code></pre> 
<img width="1434" alt="2025-11-24_14-43" src="https://rich-1e.sol.build/38D7F405-A07E-4525-906F-E4CAA01C47CF/2025-11-24_14-43.png" /> 
<p>提示🔔：Globally disabling the assessment system needs to be confirmed in System Settings.</p> 
<p>这个不用理会，切换一下界面：先点击其他tab，再重新选择“隐私与安全性”</p> 
<img width="1338" alt="2025-11-24_14-42" src="https://rich-1e.sol.build/38D7F405-A07E-4525-906F-E4CAA01C47CF/2025-11-24_14-42.png" /> 
<ol start="2"> 
 <li>为应用解除 macOS 的安全限制问题</li> 
</ol> 
<pre><code class="language-sh">sudo xattr -r -d com.apple.quarantine /Applications/your.app
</code></pre> 
<h1>Ref</h1> 
<ul> 
 <li><a href="https://blog.csdn.net/weixin_45601370/article/details/143926160">MacOS Sequoia 15 允许任何来源app安装最新解决方案</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/135948430">解决Mac安装软件的“已损坏，无法打开。 您应该将它移到废纸篓”问题 - 知乎</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Chrome &#x8C37;&#x6B4C;&#x6D4F;&#x89C8;&#x5668;&#x8BB0;&#x4F4F;&#x5BC6;&#x7801;&#x540E;&#xFF0C;&#x56DE;&#x663E;&#x65F6;&#x8F93;&#x5165;&#x6846;&#x5B57;&#x4F53;&#x5F88;&#x5C0F;</title>
        <link>https://rich-1e.sol.build/84186A59-1580-4C85-8EE3-591F8019635C/</link>
        <guid>https://rich-1e.sol.build/84186A59-1580-4C85-8EE3-591F8019635C/</guid>
        <pubDate>Sat, 22 Nov 2025 14:11:09 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/chrome-remembering-passwords-affects-font-display/Kapture%202025-11-22%20at%2014.09.25.gif" />    
        
        
        <description><![CDATA[
            <p>最近在开发 Web 端页面时，发现 Chrome 浏览器有一些展示问题，比较困惑，网络上搜索时，发现很多人遇到这个问题，特此记录。</p> 
<p><strong>问题表现</strong></p> 
<img width="422" alt="Kapture 2025-11-22 at 14.09.25" src="https://rich-1e.sol.build/84186A59-1580-4C85-8EE3-591F8019635C/Kapture 2025-11-22 at 14.09.25.gif" /> 
<p><strong>原因</strong></p> 
<p>给表单设置自动填充 <code>autocomplete="on"</code> 后，Chrome 会默认给自动填充的input表单加上 <code>input:-webkit-autofill</code> 私有属性。</p> 
<p><strong>解决办法</strong></p> 
<p>方法一：对私有属性设置样式(无效)</p> 
<pre><code class="language-css">input:-webkit-autofill::first-line {
	font-size: 20px;
}
</code></pre> 
<p>方法二：关闭自动填充（有效）</p> 
<pre><code class="language-html">&lt;input type="password" autocomplete="new-password" /&gt;
</code></pre> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://blog.csdn.net/xX20010124/article/details/135395368">chrome浏览器自动填充密码的字号设置不生效</a></li> 
 <li><a href="https://ask.csdn.net/questions/7726138">chrome谷歌浏览器input记住密码后回显时字体很小</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Cursor &#x8BD5;&#x7528;&#xFF0C;&#x771F;&#x9999;&#xFF5E;</title>
        <link>https://rich-1e.sol.build/94EBE926-EAF7-4129-B3B8-BAC0C15594AE/</link>
        <guid>https://rich-1e.sol.build/94EBE926-EAF7-4129-B3B8-BAC0C15594AE/</guid>
        <pubDate>Tue, 18 Nov 2025 14:14:31 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/cursor-try-it-it-smells-good/2025-11-18%2014.14.44.png" />    
        
        
        <description><![CDATA[
            <img width="1224" alt="2025-11-18 14.14.44" src="https://rich-1e.sol.build/94EBE926-EAF7-4129-B3B8-BAC0C15594AE/2025-11-18 14.14.44.png" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.bilibili.com/video/BV1YAtReqEkH/?vd_source=3710ff3fa57db21b813ef420454b2e16">Cursor十大使用技巧</a></li> 
 <li><a href="https://github.com/yeongpin/cursor-free-vip">yeongpin/cursor-free-vip</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5982;&#x4F55;&#x5728;&#x624B;&#x673A;&#x4E0A;&#x53D1;&#x5E03; Planet&#xFF1F;</title>
        <link>https://rich-1e.sol.build/45C9D1A4-4B45-4563-9673-B9A3E7ABBAEC/</link>
        <guid>https://rich-1e.sol.build/45C9D1A4-4B45-4563-9673-B9A3E7ABBAEC/</guid>
        <pubDate>Sun, 16 Nov 2025 15:00:00 +0800</pubDate>
        
        
        <description><![CDATA[
            <p>最近在玩 Planet，感觉这个既可以做 blog，也可以用来做记录，很方便。</p> 
<p>但是，Planet 目前主要是适配在 mac 的工作，所以用来做记录，就有点不方便。</p> 
<p>看了下 <a href="https://www.v2ex.com/member/Livid">@Livid</a> 大佬，关于 <a href="https://www.v2ex.com/t/1169824?p=1#reply6">V2EX 的 Planet 聚合器及其相关生态 - V2EX</a> 的文章，斗胆问了句 “Planet 最近使用下来，非常适合移动场景，考虑开发移动端的 app 吗？”</p> 
<p>然后，<a href="https://www.v2ex.com/member/Livid">@Livid</a> 大佬，发了一篇 <a href="https://planetable.eth.limo/mac-mini-server/">Mac Mini Server</a> 的配置文章，看完后瞬间头大。</p> 
<p>所以，现在先做个笔记，有空的时候学习一下 <a href="https://tailscale.com/">Tailscale</a>。</p> 
<p>另外，YouTube 上有蛮多关于 Tailscale 的视频，可以结合一起搞。</p> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/mgDpJX3oNvI?si=y_SpVPzu8PE32sXu" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/BubaaJUVe8I?si=vpEKPUPnwk4oUmAp" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.v2ex.com/t/1169824?p=1#reply6">V2EX 的 Planet 聚合器及其相关生态 - V2EX</a></li> 
 <li><a href="https://planetable.eth.limo/mac-mini-server/">Mac Mini 服务器 --- Mac Mini Server</a></li> 
 <li><a href="https://v2ex.com/t/1186373">总结一下持有$v2ex 有什么好处----对站长近期频繁动作的预判 - V2EX</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x65E7;&#x7248; 1Password 7 &#x518D;&#x7EED;&#x524D;&#x7F18;</title>
        <link>https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/</link>
        <guid>https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/</guid>
        <pubDate>Sun, 16 Nov 2025 11:41:39 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/the-old-version-of-1password-7-continues-its-journey/https://rich-1e.sol.build/the-old-version-of-1password-7-continues-its-journey/IMG_0163.PNG" />    
        
        
        <description><![CDATA[
            <p>今天逛 V2，发现有人写了一篇 <a href="https://v2ex.com/t/1035688">旧版 1Password 7 买断用户生存指南 - V2EX</a>。</p> 
<p>内容很详实，立马跟着操作了一遍。</p> 
<p>大概花了1-2H，将 1Password 7 “满血复活”。</p> 
<p>个人的操作方式如下：</p> 
<ol> 
 <li>先开通 <code>1Password 8</code> 的会员订阅，然后在电脑上安装最新的 1Password 8.x 版本，然后将数据以 <code>.csv</code> 导出;</li> 
 <li>将导出的数据，再导入 <code>1Password 7(v7.9.11)</code> 中;</li> 
 <li>手机上卸载 <code>1Password 8.x</code>，然后安装 <code>1Password 7</code> 版本；</li> 
 <li>打开手机上的 <code>1Password 7</code>，创建保险库，并配置 iCloud 或者 dropbox，这样就可以同步数据；</li> 
 <li>电脑上的 1Password 7 也同样连接 iCloud 或者 dropbox；</li> 
</ol> 
<h2>浏览器插件</h2> 
<p>这块还没折腾，大致思路是：<strong>使用开发者模式，加载 1 password 插件</strong>；</p> 
<h2>软件截图</h2> 
<p>iPhone</p> 
<img height="480" alt="IMG_0164" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/IMG_0164.PNG" /> 
<img height="480" alt="IMG_0165" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/IMG_0165.PNG" /> 
<img height="480" alt="IMG_0163" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/IMG_0163.PNG" /> 
<img height="480" alt="IMG_0162" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/IMG_0162.PNG" /> 
<p>mac</p> 
<img width="653" alt="2025-11-16_14-28_1" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/2025-11-16_14-28_1.png" /> 
<img width="702" alt="2025-11-16_14-28" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/2025-11-16_14-28.png" /> 
<h2>FQA</h2> 
<p>建议关闭软件更新</p> 
<img width="657" alt="2025-11-16_14-29" src="https://rich-1e.sol.build/8CF027A1-0793-49B9-AC45-129BAF1C3230/2025-11-16_14-29.png" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://support.1password.com/export/?mac">How to export your data from the 1Password desktop app | 1Password Support</a></li> 
 <li><a href="https://v2ex.com/t/1035688">旧版 1Password 7 买断用户生存指南 - V2EX</a></li> 
 <li><a href="https://app-updates.agilebits.com/product_history/OPW6">1Password for Windows Release Notes</a></li> 
 <li><a href="https://d13itkw33a7sus.cloudfront.net/dist/1P/ext/1Password-4.7.5.90.crx">d13itkw33a7sus.cloudfront.net</a></li> 
 <li><a href="https://www.cnblogs.com/xiaohi/p/15518511.html">将1password账户的资料拷贝到另个1password账户 - article - 博客园</a></li> 
 <li><a href="https://www.reddit.com/r/1Password/comments/p5131c/exporting_1password_vault_to_try_other_password/?tl=zh-hans">导出 1password 密码库，尝试其他密码管理器 : r/1Password</a></li> 
 <li><a href="https://www.cnblogs.com/iXiAo9/p/17574929.html">(oﾟvﾟ)ノ Hi - 如何导出 1Password 密码库拷贝到另个1password账户</a></li> 
 <li><a href="https://apps.apple.com/us/app/1password-password-manager/id568903335?l=zh-Hans-CN">‎1Password - Password Manager App - App Store</a></li> 
 <li><a href="https://www.1password.community/discussions/1password/converting-1password-1pux-file-to-csv-with-mrc-converter-suite/137131/replies/137137">Converting 1Password 1PUX file to csv with mrc-converter-suite | 1Password Community</a></li> 
 <li><a href="https://www.1password.community/discussions/1password/converting-1password-1pux-file-to-csv-with-mrc-converter-suite/137131">Converting 1Password 1PUX file to csv with mrc-converter-suite | 1Password Community</a></li> 
 <li><a href="https://www.1password.community/discussions/lounge/is-mrc-converter-suite-still-available/151313">Is MrC Converter Suite still available? | 1Password Community</a></li> 
 <li><a href="https://www.1password.community/discussions/1password/download-1password-7/107794">Download 1Password 7 | 1Password Community</a></li> 
 <li><a href="https://www.reddit.com/r/1Password/comments/1ftzt54/where_can_i_download_the_1password_classic/">Where can I download the 1Password Classic Extension for Chrome.- : r/1Password</a></li> 
 <li><a href="https://github.com/scramblr/1password">GitHub - scramblr/1password: 1Password Historical Releases</a></li> 
 <li><a href="https://www.v2ex.com/t/1052911">1Password 7 的经典浏览器扩展又不能用了，这个公司真是恶心，逼着 1Password 7 买断版用户用它的 1Password 8 订阅版 - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/t/856341">解决 Chrome 升级 V99 版本后 1Password 6 无法工作 - V2EX</a></li> 
 <li><a href="https://www.1password.community/discussions/1password/1password-extension-4-7-5-90-broken-in-chrome-113-x-114-x-windows-64-bit-works-o/118509">1Password Extension 4.7.5.90 broken in Chrome 113.x, 114.x (Windows 64-bit). Works on Chrome 112.X. | 1Password Community</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x8BB0;&#x5F55;&#x4E00;&#x4E0B; iPhone &#x53BB;&#x5E7F;&#x544A;&#x7684;&#x529E;&#x6CD5;</title>
        <link>https://rich-1e.sol.build/3972D43F-8C0A-4F5E-A7AA-B0035FE7B7DA/</link>
        <guid>https://rich-1e.sol.build/3972D43F-8C0A-4F5E-A7AA-B0035FE7B7DA/</guid>
        <pubDate>Sat, 15 Nov 2025 15:00:31 +0800</pubDate>
        
        
        <description><![CDATA[
            <ul> 
 <li>Shadowrocket + 规则 + HTTPS 解密</li> 
 <li>DoH &amp; DoT 加密 DNS</li> 
</ul> 
<iframe width="560" height="315" src="https://www.youtube.com/embed/fqREM6b25SY?si=kxF7KlPc8aSs4Ynw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 
<h2>Ref</h2> 
<p>Shadowrocket</p> 
<ul> 
 <li><a href="https://v2ex.com/t/1168406?p=2">IOS 苦摇一摇广告久矣 - V2EX</a></li> 
 <li><a href="https://github.com/LOWERTOP/Shadowrocket">GitHub - LOWERTOP/Shadowrocket: Shadowrocket 使用手册 补完计划</a></li> 
 <li><a href="https://v2ex.com/t/1138108">iPhone 上使用 shadowrocket 模块功能去广告配置方法 - V2EX</a></li> 
 <li><a href="https://linux.do/t/topic/66517">小火箭怎么跳ios广告啊家人们 - 开发调优 - LINUX DO</a></li> 
 <li><a href="https://github.com/Johnshall/Shadowrocket-ADBlock-Rules-Forever">GitHub - Johnshall/Shadowrocket-ADBlock-Rules-Forever: 提供多款 Shadowrocket 规则，拥有强劲的广告过滤功能。每日 8 时重新构建规则。</a></li> 
 <li><a href="https://github.com/Semporia/TikTok-Unlock/issues/184">提供了为Shadowrocket完善操作步骤的内容 · Issue #184 · Semporia/TikTok-Unlock</a></li> 
 <li><a href="https://github.com/Semporia/TikTok-Unlock">GitHub - Semporia/TikTok-Unlock: TikTok 無需拔卡解鎖最新支援 iPhone &amp;iPad 、TikTok&amp;TikTok TestFlight，地區切換 、視頻發佈 、 live 直播 、點贊 評論、私信聊天等！</a></li> 
 <li><a href="https://github.com/fmz200/wool_scripts?tab=readme-ov-file">GitHub - fmz200/wool_scripts: 收集一些Loon、Surge、QuantumultX、ShadowRocket、Egern的配置与去广告规则。</a></li> 
 <li><a href="https://github.com/Script-Hub-Org/Script-Hub">GitHub - Script-Hub-Org/Script-Hub: Advanced Script Converter for QX, Loon, Surge, Stash, Egern, LanceX and Shadowrocket - 重写 &amp; 规则集转换</a></li> 
</ul> 
<p>DNS</p> 
<ul> 
 <li><a href="https://www.nullprivate.com/docs/startup/free/iphone/">详细介绍如何在iPhone上配置DNS加密</a></li> 
 <li><a href="https://developer.apple.com/cn/videos/play/wwdc2020/10047/">启用加密的DNS - WWDC20 - 视频 - Apple Developer</a></li> 
 <li><a href="https://www.bilibili.com/opus/529739393691694760">如何在iOS或macOS上加密你的DNS（配置DoH或DoT） - 哔哩哔哩</a></li> 
 <li><a href="https://dns-over-https.org/zh/intro/">DNS over HTTPS 简介 | 吉卜力风格</a></li> 
 <li><a href="https://zhuanlan.zhihu.com/p/386150935">(78 封私信 / 80 条消息) 在iOS/MAC OS上配置加密DNS(DOH/DOT) - 知乎</a></li> 
 <li><a href="https://github.com/paulmillr/encrypted-dns">GitHub - paulmillr/encrypted-dns: DNS over HTTPS config profiles for iOS &amp; macOS</a></li> 
 <li><a href="https://ipleak.net/">IP/DNS 检测 - 您的 IP 地址是什么，您的 DNS 是什么，您向网站发送哪些信息。 --- IP/DNS Detect - What is your IP, what is your DNS, what informations you send to websites.</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>PopClip &#x6548;&#x7387;&#x5DE5;&#x5177;</title>
        <link>https://rich-1e.sol.build/24F5B173-BF09-4017-8A3B-89E617DC9E3D/</link>
        <guid>https://rich-1e.sol.build/24F5B173-BF09-4017-8A3B-89E617DC9E3D/</guid>
        <pubDate>Fri, 14 Nov 2025 14:58:02 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/popclip-efficiency-tools/312296629-099f1577-3196-4ac2-9643-14576aa3b8af.gif" />    
        
        
        <description><![CDATA[
            <h2>CodingCases.popclipext</h2> 
<blockquote> 
 <p>命名风格转换</p> 
</blockquote> 
<div style="display: 'flex'"> 
 <img alt="312296629-099f1577-3196-4ac2-9643-14576aa3b8af" src="https://rich-1e.sol.build/24F5B173-BF09-4017-8A3B-89E617DC9E3D/312296629-099f1577-3196-4ac2-9643-14576aa3b8af.gif" /> 
 <img alt="312303289-a1202b04-0631-4384-a74a-f3d3642cc0c1" src="https://rich-1e.sol.build/24F5B173-BF09-4017-8A3B-89E617DC9E3D/312303289-a1202b04-0631-4384-a74a-f3d3642cc0c1.gif" /> 
</div> 
<hr /> 
<h2>【PopClip 从 MAS 迁移】 update by 2026-01-06</h2> 
<p>由于苹果公司的“沙箱”策略，PopClip 已不再向苹果提交最新版本，MAS 上最后有一个版本为 2023.9。</p> 
<p>迁移方法很简单，参考 <a href="https://www.popclip.app/kb/mas">Migrate from the Mac App Store (MAS) edition to the Standalone edition</a> 即可。</p> 
<p>国外 reddit 论坛也有这个事情的讨论，详见：<a href="https://www.reddit.com/r/macapps/comments/1bjiww6/psa_popclip_is_leaving_the_mac_app_store_due_to/">PSA: PopClip is leaving the Mac App Store due to Apple’s sandboxing policy (in future will be available on Setapp and website)</a></p> 
<p><strong>非常感谢🙏开发者，对于 MAS 迁移的用户没有收取额外费用。</strong></p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/iibob/PopClipExtension">iibob/PopClipExtension: PopClip 插件：百度翻译、命名风格转换</a></li> 
 <li><a href="https://github.com/pilotmoon/PopClip-Extensions">pilotmoon/PopClip-Extensions: Source code for extensions in the official PopClip Extensions directory.</a></li> 
 <li><a href="https://github.com/ttscoff/popclipextensions">ttscoff/popclipextensions：Brett 的 PopClip 扩展 --- ttscoff/popclipextensions: Brett's PopClip Extensions</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443</title>
        <link>https://rich-1e.sol.build/96E71063-4D9F-4F23-BE22-A678DE5A7EE9/</link>
        <guid>https://rich-1e.sol.build/96E71063-4D9F-4F23-BE22-A678DE5A7EE9/</guid>
        <pubDate>Fri, 14 Nov 2025 14:52:27 +0800</pubDate>
        
        
        <description><![CDATA[
            <h2>重置 Git 代理</h2> 
<pre><code class="language-sh">git config --global --unset http.proxy
git config --global --unset https.proxy
</code></pre> 
<h2>Ref</h2> 
<p><a href="https://blog.csdn.net/m0_48521482/article/details/138993440">OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443解决方案</a></p>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5982;&#x4F55;&#x8BBE;&#x7F6E; Clash Verge Rev &#x81EA;&#x5B9A;&#x4E49;&#x89C4;&#x5219;</title>
        <link>https://rich-1e.sol.build/08F0623D-344D-46FE-B691-FC87C2A0FFE8/</link>
        <guid>https://rich-1e.sol.build/08F0623D-344D-46FE-B691-FC87C2A0FFE8/</guid>
        <pubDate>Fri, 14 Nov 2025 14:44:49 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/how-to-set-up-clash-verge-rev-custom-rules/edit-rules.png" />    
        
        
        <description><![CDATA[
            <ol> 
 <li>右键点击订阅配置文件，选择 "编辑规则"</li> 
</ol> 
<img width="561" alt="edit-rules" src="https://rich-1e.sol.build/08F0623D-344D-46FE-B691-FC87C2A0FFE8/edit-rules.png" /> 
<ol start="2"> 
 <li>添加规则</li> 
</ol> 
<img width="766" alt="add-rules" src="https://rich-1e.sol.build/08F0623D-344D-46FE-B691-FC87C2A0FFE8/add-rules.png" /> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://www.clashverge.dev/guide/rules.html">自定义规则 - Clash Verge Rev Docs</a></li> 
 <li><a href="https://lainbo.dev/clash-config">Clash Verge系列使用最佳实践 - Lainbo</a></li> 
 <li><a href="https://github.com/clash-verge-rev/clash-verge-rev/issues/810">[Feature] 添加全局可忽略的域名 · Issue #810 · clash-verge-rev/clash-verge-rev</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>Planet&#xFF1A;&#x8BB0;&#x5F55;&#x4E00;&#x4E0B;&#x5B89;&#x88C5;&#x548C;&#x4F7F;&#x7528;&#x7684;&#x8FC7;&#x7A0B;</title>
        <link>https://rich-1e.sol.build/A8174D7B-D7EC-4312-BA6F-12ACFD0E9E65/</link>
        <guid>https://rich-1e.sol.build/A8174D7B-D7EC-4312-BA6F-12ACFD0E9E65/</guid>
        <pubDate>Thu, 13 Nov 2025 20:26:38 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/planet-document-the-process-of-installing-and-using/%E6%9C%AA%E5%91%BD%E5%90%8D-1.jpeg" />    
        
        
        <description><![CDATA[
            <p>有意无意之间在逛 V2ex 时，发现 Planet 这个东西。</p> 
<p>今天折腾了大概一下午，终于搞定。</p> 
<p>成果🏅：顺利使用 Planet 发布了 blog，并且绑定了域名：<a href="rich-1e.sol">rich-1e.sol</a></p> 
<h2>安装 &amp; 使用 Planet</h2> 
<p>提前准备：</p> 
<ul> 
 <li>Macbook 电脑💻</li> 
 <li>安装 Homebrew &amp; Planet 客户端</li> 
 <li>挂🪜</li> 
</ul> 
<pre><code class="language-sh">brew install --cask planet # 通过 brew 安装
</code></pre> 
<p>当 Planet 安装好之后，就可以写 blog 了。点击发布，用不了几秒钟，你就可以右击菜单，然后点击那个球🌍，就可以在网络上看到刚刚发布的内容。</p> 
<img width="1120" alt="未命名" src="https://rich-1e.sol.build/A8174D7B-D7EC-4312-BA6F-12ACFD0E9E65/未命名.jpeg" /> 
<img width="1152" alt="未命名-1" src="https://rich-1e.sol.build/A8174D7B-D7EC-4312-BA6F-12ACFD0E9E65/未命名-1.jpeg" /> 
<p>里面还有很多配置⚙️和玩法🎮，可以自行研究🧐。</p> 
<h2>绑定 <code>.sol</code> 域名</h2> 
<p>这个费点功夫，需要用 <code>sol</code> 购买。</p> 
<p>大概的流程是：</p> 
<ol> 
 <li>注册一个钱包；</li> 
 <li>兑换 SOL 币🪙；</li> 
 <li>然后去 <a href="https://sns.id">sns.id</a> 购买域名</li> 
</ol> 
<p>建议使用： okx 比较容易上手。</p> 
<p>明天再补，下班先。。。。</p> 
<hr /> 
<p>Update: 2025/11/14</p> 
<p>接上面👆的内容，现在说如何购买 <code>.sol</code> 域名：</p> 
<ol> 
 <li>首先在手机上安装 okx 客户端</li> 
 <li>通过 okx 购买 SOL 币🪙</li> 
 <li>安装 okx 浏览器插件（建议使用 Chrome）</li> 
 <li>将购买的 SOL 币🪙，转入 okx 浏览器插件内的钱包</li> 
 <li><a href="https://sns.id">sns.id</a> 选好域名，点击 “Connect Wallet”</li> 
 <li>然后，在 okx 浏览器插件确认，即可</li> 
</ol> 
<img width="2508" alt="2025-11-14 10.32.48" src="https://rich-1e.sol.build/A8174D7B-D7EC-4312-BA6F-12ACFD0E9E65/2025-11-14 10.32.48.png" /> 
<blockquote> 
 <p>补充：okx，即欧易。</p> 
</blockquote> 
<blockquote> 
 <p><a href="https://sns.id">sns.id</a> 也可以使用信用卡💳交易</p> 
</blockquote> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://v2ex.com/t/1147055">用 Planet + ENS 构建一个真正去中心化的博客 - V2EX</a></li> 
 <li><a href="https://www.xiaoyuzhoufm.com/episode/626ba660bf39836fd02b78e9">Vol. 67 Livid: 十年V2EX，复古游戏，和未来 - 枫言枫语 | 小宇宙 - 听播客，上小宇宙</a></li> 
 <li><a href="https://paicha.me/2022/09/20/planet">永不消失的网络 | 赖嘉伟Gary</a></li> 
 <li><a href="https://0xluo.eth.limo/901F223B-3D91-494A-9453-180DF93EA119/">Planet：构建Web3时代的去中心化个人网站</a></li> 
 <li><a href="https://echoblog.substack.com/p/easier-embedding-echo-in-planet">在 Planet &gt;= v0.10.0 版本添加 ECHO 代码 - ECHO 中文</a></li> 
 <li><a href="https://xlog.joomaen.com/planet-blog-setting">Planet博客设置 - Joomaen</a></li> 
 <li><a href="https://joomaen.bit.site/">joomaen.bit.site</a></li> 
 <li><a href="https://gptkit.eth.limo/">无聊人找无聊人聊聊</a></li> 
 <li><a href="https://giscus.app/zh-CN">giscus</a></li> 
 <li><a href="https://www.v2ex.com/t/1150772">有大佬来普及兑换$v2ex 整个流程么？ - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/t/1148870?p=1#reply24">作为之前从来没有过虚拟货币经验的小白，和大家分享一下如何购买 SOL、V2EX 代币超简单流程 - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/pro/about">V2EX › PRO › 关于</a></li> 
 <li><a href="https://v2ex.com/t/1151367">$V2EX 转 SOL 短网址 - V2EX</a></li> 
 <li><a href="https://www.v2ex.com/t/1151237">刚通网，成功上车$v2ex 和.sol 域名 - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/1151133">拥有 .sol 域名可以参加 sns.id 官方的第二轮空投活动 - V2EX (1)</a></li> 
 <li><a href="https://v2ex.com/t/1154068">关于 .sol SNS 域名用于网站的可能性经验分享 - V2EX</a></li> 
 <li><a href="https://v2ex.com/solana">V2EX › Solana</a></li> 
 <li><a href="https://liudon.com/posts/deploy-blog-to-ipfs/">将博客部署到星际文件系统(IPFS) | 流动</a></li> 
 <li><a href="https://v2ex.com/t/1151116">注册 .sol 域名经验总结 - V2EX</a></li> 
 <li><a href="https://v2ex.com/t/1078126">一个支持 Solana .sol 的 IPFS/IPNS 网关 - V2EX (1)</a></li> 
 <li><a href="https://pinnable.xyz/planet">行星 --- Planet</a></li> 
 <li><a href="https://www.planetable.xyz/guides/solana/">Link a Website to Solana Name (.sol)</a></li> 
 <li><a href="https://www.v2ex.com/t/1150717?p=3">Solana Name Service - V2EX</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>&#x5982;&#x4F55;&#x5728; M &#x82AF;&#x7247; MacBook Pro &#x4E0A;&#x5B89;&#x88C5;&#x8001;&#x7248;&#x672C;&#x7684; Nodejs&#xFF1F;</title>
        <link>https://rich-1e.sol.build/1C39F4E7-6D64-42A3-B24F-8C19DBFF4662/</link>
        <guid>https://rich-1e.sol.build/1C39F4E7-6D64-42A3-B24F-8C19DBFF4662/</guid>
        <pubDate>Thu, 13 Nov 2025 14:38:08 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/how-to-install-an-older-version-of-nodejs-on-an-mchip-macbook-pro/iTerm.png" />    
        
        
        <description><![CDATA[
            <p>苹果笔记本 MacBook Pro</p> 
<ul> 
 <li>芯片：M1</li> 
 <li>操作系统：macOS 15.1.1</li> 
</ul> 
<p>使用 <code>nvm</code> 安装 Nodejs（v14）会报错：</p> 
<pre><code class="language-sh">nvm install --lts=fermium

Installing with latest version of LTS line: fermium
Downloading and installing node v14.21.3...
Downloading https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz...
curl: (56) The requested URL returned error: 404

download from https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz failed
grep: /Users/rich1e/.nvm/.cache/bin/node-v14.21.3-darwin-arm64/node-v14.21.3-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 10 CPU core(s)
Running with 9 threads to speed up the build
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: ${NVM_DIR}/.cache/src/node-v14.21.3/node-v14.21.3.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v14.21.3/node-v14.21.3.tar.xz
$&gt;./configure --prefix=/Users/rich1e/.nvm/versions/node/v14.21.3 &lt;
Node.js configure: Found Python 3.14.0...
Please use python3.10 or python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.
nvm: install v14.21.3 failed!
</code></pre> 
<p>报错原因是 python 版本不支持，</p> 
<pre><code class="language-sh">Please use python3.10 or python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.
</code></pre> 
<p>通过 <code>pyenv</code> 安装支持的版本，例如：<em>python3.10～3.5</em></p> 
<p>安装 <code>python</code> 完成后，再次执行：</p> 
<pre><code class="language-sh">nvm install --lts=fermium 
</code></pre> 
<p>如果仍然报错，那么可以通过 <code>Rosetta 2</code> 试试。</p> 
<p>安装 Rosetta ：</p> 
<pre><code class="language-sh">softwareupdate --install-rosetta  
                                       
I have read and agree to the terms of the software license agreement. A list of Apple SLAs may be found here: https://www.apple.com/legal/sla/
Type A and press return to agree: A
2025-11-10 14:25:48.307 softwareupdate[47336:2590239] Package Authoring Error: 072-30124: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
Install of Rosetta 2 finished successfully
</code></pre> 
<p>安装完成后，重新启动 <code>iTerm</code>。</p> 
<p>当前我的命令行工具是 <code>iTerm</code>，也可以使用系统自带的 Termial。</p> 
<p>然后，<code>右击菜单-&gt;显示简介</code>，勾选“<code>使用 Rosetta 打开</code>”。</p> 
<img width="1536" alt="iTerm" src="https://rich-1e.sol.build/1C39F4E7-6D64-42A3-B24F-8C19DBFF4662/iTerm.png" /> 
<p>打开 <code>iTerm</code>，再次执行：</p> 
<pre><code class="language-sh">nvm install --lts=fermium 
</code></pre> 
<p>这样应该就成功了～🏅</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://blog.csdn.net/qq_43921353/article/details/135275551">Mac系统如何安装rosetta？-CSDN博客</a></li> 
 <li><a href="https://support.apple.com/en-us/102527">如果您需要在 Mac 上安装 Rosetta - Apple 支持 --- If you need to install Rosetta on Mac - Apple Support</a></li> 
 <li><a href="https://www.newverse.wiki/knows/pythonversion/">使用 pyenv 管理 Python 版本和虚拟环境 - Newverse &amp; Wiki</a><br /> <a href="https://zhuanlan.zhihu.com/p/719236052">(77 封私信 / 81 条消息) Python 切换版本及虚拟环境 - 知乎</a></li> 
 <li><a href="https://discussionschinese.apple.com/thread/252757946?answerId=255190368322&amp;sortBy=rank#255190368322">MacBookPro M1 升级11.3后没有… - Apple 社区</a></li> 
 <li><a href="https://www.cnblogs.com/doublexi/p/15786911.html">Python多环境管理神器（pyenv） - doublexi - 博客园</a></li> 
 <li><a href="https://blog.csdn.net/qq_41902618/article/details/119480301">M1芯片 mac 环境配置_mac怎么通过rosetta打开terminal-CSDN博客</a></li> 
</ul>
        ]]></description>
    </item>
    
    <item>
        <title>VCMI &#x6E38;&#x620F;&#x6307;&#x5357;</title>
        <link>https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/</link>
        <guid>https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/</guid>
        <pubDate>Thu, 13 Nov 2025 11:13:01 +0800</pubDate>
        
        <itunes:image href="https://rich-1e.sol.build/vcmi-game-guide/IMG_0137%202.PNG" />    
        
        
        <description><![CDATA[
            <p>VCMI 是一个开源游戏项目，里面的内容几乎与英雄无敌3一致。</p> 
<blockquote> 
 <p>VCMI is an open-source engine for Heroes III, offering new and extended possibilities. To use VCMI, you need to own the original data files.</p> 
</blockquote> 
<p>官方提供 Android / iOS / macOS / Windows 等平台的安装包，用户只需要加载游戏所需的数据文件，即可畅玩。</p> 
<h2>iOS 未越狱方案</h2> 
<p>这里主要讲一下安装方式，<strong>侧载</strong>。</p> 
<ul> 
 <li>AltStore</li> 
 <li>SideStore</li> 
 <li>LiveContainer</li> 
</ul> 
<p>安装步骤如下：</p> 
<ol> 
 <li>首先要安装 AltStore；</li> 
 <li>然后通过 AltStore 安装 SideStore；</li> 
 <li>再通过 SideStore 安装 LiveContainer；</li> 
</ol> 
<p>其实，也可以通过 AltStore 直接安装 LiveContainer，但是 AltStore 有<strong>安装数量</strong>和<strong>7天有效性</strong>限制🚫。因此，改为 SideStore + LiveContainer 的组合🤝方式。</p> 
<ul> 
 <li>SideStore 可以通过Wi-Fi刷新，解除7天有效性♻️限制，比 AltStore 方便</li> 
 <li>LiveContainer 可以突破👆App 安装数量限制🔢</li> 
</ul> 
<h2>App 截图</h2> 
<img style="height: 750px; max-width: fit-content;" alt="LiveContainer 列表" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0137 2.PNG" /> 
<p style="text-align: center">LiveContainer 列表</p> 
<img width="2781" alt="游戏启动画面" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/9a601ead57d431484e8dc720a64ed1e4.jpg" /> 
<p style="text-align: center">游戏启动画面</p> 
<img width="1434" alt="网络故障" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0138 2.PNG" /> 
<p style="text-align: center">网络故障，需要挂🪜</p> 
<img width="1434" alt="模组" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0139 2.PNG" /> 
<p style="text-align: center">安装模组</p> 
<h2>游戏截图</h2> 
<p>如果是新人，建议从官方发布的版本开始玩，后面可以再玩其他类型的地图🗺️和模组📦。</p> 
<img width="1434" alt="New Game" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0144 2.PNG" /> 
<p style="text-align: center">New Game</p> 
<img width="1434" alt="CAMPANING" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0143 2.PNG" /> 
<p style="text-align: center">CAMPANING</p> 
<img width="1434" alt="CUSTOM" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0142 2.PNG" /> 
<p style="text-align: center">CUSTOM</p> 
<img width="1434" alt="浏览选择自创战役" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0141 2.PNG" /> 
<p style="text-align: center">浏览选择自创战役</p> 
<img width="1434" alt="加载战役，【历代记-废墟战神】" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0146.PNG" /> 
<p style="text-align: center">加载战役，【历代记-废墟战神】</p> 
<img width="1434" alt="加载动画" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0147.PNG" /> 
<p style="text-align: center">加载动画</p> 
<img width="1434" alt="游戏开始" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0148.PNG" /> 
<p style="text-align: center">游戏开始</p> 
<img width="1434" alt="人物属性" src="https://rich-1e.sol.build/77B0DAE0-B42A-4FD5-8B2C-8E92B15BC8CF/IMG_0149.PNG" /> 
<p style="text-align: center">人物属性</p> 
<h2>Ref</h2> 
<ul> 
 <li><a href="https://github.com/vcmi/vcmi">VCMI - Open-source engine for Heroes of Might and Magic III</a></li> 
 <li><a href="https://www.reddit.com/r/heroes3/comments/15xp9u8/vcmi_hota_on_ios/?tl=zh-hans">VCMI + HoTA 在 iOS 上！ : r/heroes3</a></li> 
 <li><a href="https://www.reddit.com/r/heroes3/comments/1lh9q0l/noob_question_how_do_i_install_maps_from_the/">新手问题：如何从 maps4heroes.com 安装地图？</a></li> 
 <li><a href="https://github.com/Laserlicht/vcmi_hd_mod">激光灯/vcmi_hd_mod --- Laserlicht/vcmi_hd_mod</a></li> 
 <li><a href="https://www.bilibili.com/opus/857485332995637251">怎么在手机上玩到英雄无敌 - 哔哩哔哩</a></li> 
 <li><a href="https://maps4heroes.com/">英雄无敌 7（VII）。英雄无敌 6（VI）。英雄无敌 5（V）。英雄无敌 4（IV）。英雄无敌 3（III）。英雄无敌地图。关于《魔法门之英雄无敌》的一切 --- Heroes 7(VII). Heroes 6(VI). Heroes 5(V). Heroes 4(IV). Heroes 3(III). Heroes maps. All about Heroes of Might and Magic</a></li> 
 <li><a href="https://h3.parawikis.com/zh-hans/%E6%B7%B1%E6%B8%8A%E5%8F%B7%E8%A7%92">深渊号角 - 英雄无敌3百科</a></li> 
 <li><a href="https://www.reddit.com/r/heroes3/comments/192n5gj/played_homm_3_alot_during_my_childhood_now_what/?tl=zh-hans">小时候玩了很多英雄无敌3，现在HotA到底是什么鬼？ : r/heroes3</a></li> 
</ul>
        ]]></description>
    </item>
    
</channel>
</rss>
