<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bruce AI 工程笔记</title><link>http://www.heyuan110.com/zh/</link><description>Recent content on Bruce AI 工程笔记</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Fri, 08 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="http://www.heyuan110.com/zh/index.xml" rel="self" type="application/rss+xml"/><item><title>Harness Engineering 是炒作还是红利期？投资象限决策框架（60 天实测）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-05-08-harness-engineering-window-of-opportunity/</link><pubDate>Fri, 08 May 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-05-08-harness-engineering-window-of-opportunity/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-05-08-harness-engineering-window-of-opportunity/cover.webp"
 alt="Harness Engineering 投资象限——任务重复度对模型代差的四区决策矩阵"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这是 &lt;strong&gt;Harness Engineering 系列第 5 篇&lt;/strong&gt;。前面 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-30-harness-engineering-guide/"&gt;第 1 篇讲是什么&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-31-harness-claudemd-guide/"&gt;第 2 篇拆 CLAUDE.md&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-04-13-harness-subagent-architecture/"&gt;第 3 篇讲 Sub-Agent 架构&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-04-18-harness-six-layers-reverse-build/"&gt;第 4 篇讲六层倒着建&lt;/a&gt;。这一篇要回答前 4 篇刻意绕开的问题——这个词本身是不是炒作，红利窗口还能开多久。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;一个新词从一句&amp;quot;姑且这么叫&amp;quot;到被两家前沿大厂当作正式工程范式，只用了 7 周。这种传播速度任何一个搞技术的人看到都该心生警惕。Mitchell Hashimoto 在 2026 年 2 月 5 日的博客里几乎是带着歉意提了一句&amp;quot;我也不知道业界有没有公认的叫法，姑且管它叫 &lt;strong&gt;Harness Engineering&lt;/strong&gt;&amp;quot;。6 天后 OpenAI 把这个词放进了一篇重磅工程复盘的标题里。3 月 24 日 Anthropic 发了第二篇 Harness 论文，给出完整的三 Agent 架构。整段弧线——从一个开发者的私人博客到被两家前沿实验室当作命名学科——比大多数团队完成一个 sprint 的时间还短。&lt;/p&gt;
&lt;p&gt;正是这个时间线让&amp;quot;是炒作&amp;quot;的怀疑变得合理，也正是这个时间线让&amp;quot;全是炒作&amp;quot;的结论变得错误。鼓吹派和怀疑派都在回答错误的问题。真正该问的不是&amp;quot;&lt;strong&gt;Harness Engineering&lt;/strong&gt; 是不是真的&amp;quot;也不是&amp;quot;是不是新瓶装旧酒&amp;quot;，而是&amp;quot;这个红利窗口能开多久、应该往哪儿投&amp;quot;。在生产环境跑了 60 天博客管线（依赖完整 Harness 设计）之后，我的判断比预期更尖锐：它不是炒作、不是永久护城河，是 2026-2027 这两年的过渡期工程红利窗口，绝大多数团队即将在两个方向上同时判断错——既错判了如何进场、也错判了什么时候该撤。&lt;/p&gt;
&lt;h2 id="harness-engineering-7-周溯源史"&gt;Harness Engineering 7 周溯源史&lt;a href="#harness-engineering-7-%e5%91%a8%e6%ba%af%e6%ba%90%e5%8f%b2" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在争论这个词有没有实质之前，先看它是怎么传开的。传播路径本身就在告诉你这背后的信号是真是假。&lt;/p&gt;</description></item><item><title>Hermes Agent v0.10 深度评测：113K star 的黑马是真自生长还是营销包装？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-24-hermes-agent-v010-deep-review/</link><pubDate>Fri, 24 Apr 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-24-hermes-agent-v010-deep-review/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-24-hermes-agent-v010-deep-review/cover.webp"
 alt="Hermes Agent v0.10 深度评测：113K star 开源 Agent 黑马"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;两个月前我写过一篇 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-04-14-hermes-agent-guide/"&gt;Hermes Agent 完全指南&lt;/a&gt;，那会儿它才 27000 stars、还在 v0.8 时代。今天 2026-04-24，GitHub 页面显示 &lt;strong&gt;113,000 stars&lt;/strong&gt;——8 天前发布的 v0.10.0 把它推上了 2026 年最快的 Agent 框架宝座。同一个框架 7 周从 0 涨到 113K、v0.8→v0.10 两个版本间合并 400+ PR、把 Tool Gateway、三层记忆、118 个技能、6 个消息网关一股脑全做进去——说不惊讶是假的。&lt;/p&gt;
&lt;p&gt;但惊讶归惊讶，我花了 4 天时间把 v0.10 从源码到线上部署完整跑了一遍，&lt;strong&gt;结论和官方 pitch 的&amp;quot;自生长 Agent&amp;quot;不太一样&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心判断&lt;/strong&gt;：Hermes v0.10 最引人注目的不是 118 个技能、不是 113K star、也不是&amp;quot;自生长&amp;quot;——&lt;strong&gt;是 Tool Gateway + 三层记忆的组合&lt;/strong&gt;。它把&amp;quot;运营一个自主 Agent 的日常开销（API key 管理、工具订阅、上下文工程）&amp;ldquo;打包成一个 Nous Portal 订阅，是&lt;strong&gt;开源框架第一次做出了托管式体验&lt;/strong&gt;。这是一个&lt;strong&gt;商业模式创新，不是技术创新&lt;/strong&gt;。所谓的&amp;quot;自生长&amp;rdquo;（auto-generated skills）实测下来是 prompt 模板拼装，不是真正的 RL 或权重更新——说它是自生长就像说 CLAUDE.md 写得越来越厚叫自生长一样。&lt;/p&gt;</description></item><item><title>Claude Managed Agents 发布 vs OpenClaw 被封：12 天组合拳看懂 Harness 层战争</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-24-claude-managed-agents-vs-openclaw/</link><pubDate>Fri, 24 Apr 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-24-claude-managed-agents-vs-openclaw/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-24-claude-managed-agents-vs-openclaw/cover.webp"
 alt="Anthropic Managed Agents 公测 vs OpenClaw 被封禁：12 天 Harness 层战争时间线"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;4 月 4 日，Anthropic 封禁了 Claude Code 订阅用户调用 OpenClaw 的权限。社区炸锅，HN 讨论帖 &lt;a href="https://news.ycombinator.com/item?id=47633396"&gt;item 47633396&lt;/a&gt; 两天内涨到一千多 point。4 月 16 日——整整 12 天之后——Anthropic 推出 Managed Agents 公测，自己做的官方 Agent Harness，带沙箱、带 built-in tools、API 上新加了 beta header &lt;code&gt;managed-agents-2026-04-01&lt;/code&gt;。同一天 Opus 4.7 也发了，编程、长任务、高分辨率视觉三条线全部升级。第二天 4 月 17 日，Claude Design 发布，Opus 4.7 驱动的设计产品。&lt;/p&gt;
&lt;p&gt;这不是巧合。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这是 Anthropic 12 天打完的一套组合拳：一手封禁社区方案、一手推出官方 Harness。&lt;/strong&gt; 如果你只盯着模型在看谁强谁弱，你错过了 2026 年 AI 工程真正重要的那场战争——&lt;strong&gt;Harness 层才是下一个商业化战场&lt;/strong&gt;。Agent 时代，模型不是护城河。运行容器才是。这篇文章我要做的，就是把这 12 天拆开来看清楚：时间线、动机、对 OpenClaw 用户的实际影响、以及对整个开发者生态的长期信号。&lt;/p&gt;</description></item><item><title>深度挖掘 wshobson/agents：33.9K Star 的 Claude Code 插件市场 79 个 Plugin 到底怎么用</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-20-wshobson-agents-deep-dive/</link><pubDate>Tue, 21 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-20-wshobson-agents-deep-dive/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-20-wshobson-agents-deep-dive/cover.webp"
 alt="wshobson/agents Claude Code 插件市场全景图：79 个插件、184 个 Agent、150 个 Skill 按 25 个分类组织"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;上周有人发 &lt;a href="https://github.com/wshobson/agents"&gt;wshobson/agents&lt;/a&gt; 给我，问了那个我经常被问到的问题：&lt;strong&gt;&amp;ldquo;这仓库到底是干啥的？&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;33.9K Star、3.7K Fork、184 个 Agent、150 个 Skill、98 个 Command、78 个 Plugin。README 用数字糊你一脸。热榜把它顶到第一屏。Dev.to 教程告诉你先装上。但没人告诉你里面到底装的是啥、该跳过哪些、以及为什么&lt;strong&gt;作者自己的设计原则是不要全装&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这篇文章是我当时打开这个 repo 时希望存在的那份使用手册。我把 25 个分类全走了一遍、读了最关键的几个 GitHub Issue 讨论、和 VoltAgent、0xfurai（最接近的竞品）做了对比、然后在一个真实项目里试装了一遍。下面按组件维度逐个交付：78 个 Plugin 映射到 25 个分类、一张覆盖 10 个常见任务的场景对照表、以及&lt;strong&gt;6 个竞品没有的独家组件&lt;/strong&gt;——README 把这些藏到了第三页，大部分读者根本没翻到。&lt;/p&gt;
&lt;h2 id="为什么-339k-star-可能骗你多装了插件"&gt;为什么 33.9K Star 可能骗你多装了插件&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88-339k-star-%e5%8f%af%e8%83%bd%e9%aa%97%e4%bd%a0%e5%a4%9a%e8%a3%85%e4%ba%86%e6%8f%92%e4%bb%b6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;反套路的判断先摆在前头：&lt;strong&gt;别上来就 &lt;code&gt;/plugin install&lt;/code&gt; 把所有插件都装一遍&lt;/strong&gt;。仓库的架构文档说得很清楚——平均每个 Plugin 只含 3.6 个组件、单一职责原则被强制贯彻、Quick Start 第一行就是&amp;quot;只装你需要的&amp;quot;。但我看到太多读者被 Star 数字震撼后、只扫了一眼 README、随手就装了十来个 Plugin &amp;ldquo;以备不时之需&amp;rdquo;。这是用这个仓库最错的方式。&lt;/p&gt;</description></item><item><title>Harness 六层架构倒着建：80% 稳定性来自第 5、6 层</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-18-harness-six-layers-reverse-build/</link><pubDate>Sat, 18 Apr 2026 16:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-18-harness-six-layers-reverse-build/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-18-harness-six-layers-reverse-build/cover.webp"
 alt="Harness Engineering 六层倒序构建策略"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Harness Engineering 的六层不是平等权重的。&lt;/p&gt;
&lt;p&gt;这句话推翻了流行讲法。所有的 talk、所有的框架图、所有「Harness Engineering 是什么」的解释都把六层画成一个整齐的栈，告诉你按顺序建：Context → Tools → Execution → Memory → Evaluation → Recovery。讲起来顺、教起来顺、做起来——如果你真的想让 agent 在生产环境稳，完全错。&lt;/p&gt;
&lt;p&gt;我在生产环境跑 AI 编程 harness 60 天，数据在手。&lt;strong&gt;第 5 层评估和第 6 层容错恢复，加起来贡献了大约 80% 的稳定性。&lt;/strong&gt; 第 1-4 层是必要的，但只是入场券，不是 demo agent 和能扛住周一早高峰的 agent 之间的差距来源。如果你这周开始上 Harness Engineering，倒着建。&lt;/p&gt;
&lt;p&gt;这篇是 6 层框架的实施配套文。框架本身已经被多个团队清晰阐述过，我会简短重述，然后把剩余篇幅花在没人讲的部分：哪些层真的重要、按什么顺序投、ROI 各是多少。&lt;/p&gt;
&lt;h2 id="简述六层框架"&gt;简述六层框架&lt;a href="#%e7%ae%80%e8%bf%b0%e5%85%ad%e5%b1%82%e6%a1%86%e6%9e%b6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre class="mermaid"&gt;flowchart TD
 L1["第 1 层 Context&lt;br/&gt;模型看到什么"] --&gt; L2["第 2 层 Tools&lt;br/&gt;模型能做什么"]
 L2 --&gt; L3["第 3 层 Execution&lt;br/&gt;步骤怎么串起来"]
 L3 --&gt; L4["第 4 层 Memory &amp; State&lt;br/&gt;跨轮次记什么"]
 L4 --&gt; L5["第 5 层 Eval &amp; Observability&lt;br/&gt;到底有没有做对？"]
 L5 --&gt; L6["第 6 层 Constraints &amp; Recovery&lt;br/&gt;出错了怎么办"]

 style L1 fill:#1e40af,color:#fff
 style L2 fill:#1e40af,color:#fff
 style L3 fill:#1e40af,color:#fff
 style L4 fill:#1e40af,color:#fff
 style L5 fill:#7c3aed,color:#fff
 style L6 fill:#059669,color:#fff
&lt;/pre&gt;&lt;p&gt;作为分类标签，框架是对的。&lt;strong&gt;作为施工顺序，框架是危险的。&lt;/strong&gt; 从上到下读会让人理解为「先做 Context 再做 Tools 再做 Execution 再做 Memory，最后加 Eval 和 Recovery」。这正是我看到的大多数团队的做法，也正是大多数团队卡在 60-70% 成功率好几个月的原因。&lt;/p&gt;</description></item><item><title>fish shell 4.6 实测：最舒服的交互 shell，但别当默认</title><link>http://www.heyuan110.com/zh/posts/linux/2026-04-18-fish-shell-rust-2026/</link><pubDate>Sat, 18 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2026-04-18-fish-shell-rust-2026/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/linux/2026-04-18-fish-shell-rust-2026/cover.webp"
 alt="fish shell 4.6 Rust 重写实测 2026"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;先把结论写在最前面。&lt;strong&gt;fish shell 4.6（2026 年 3 月 28 日发布）是我用过最舒服的交互 shell，但 2026 年它不应该当你的默认 shell。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这两句话不矛盾。整篇文章就是在说为什么——以及那个能同时吃到两边好处的&amp;quot;双 shell 架构&amp;quot;长什么样。&lt;/p&gt;
&lt;p&gt;我从 2025 年 2 月 fish 4.0 Rust 重写发布起，把 zsh + Oh My Zsh 换成 fish 跑了九个月。每个点发布都升级到最新版，把 Claude Code 的每一个 fish 相关 GitHub issue 都翻过一遍。最后我回到了一个混合方案：fish 管交互，zsh 管 agent。这篇是那个过程的浓缩总结，附上我踩过的每一个坑的复现方法。&lt;/p&gt;
&lt;h2 id="fish-从-40-到-46-到底变了什么"&gt;fish 从 4.0 到 4.6 到底变了什么&lt;a href="#fish-%e4%bb%8e-40-%e5%88%b0-46-%e5%88%b0%e5%ba%95%e5%8f%98%e4%ba%86%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2026 年还在讨论 fish，根本原因是 Rust 重写。fish 4.0 在 2025 年 2 月 27 日发布，背后是&lt;strong&gt;两年工期、2600+ commits、200+ 贡献者&lt;/strong&gt;——接近全量重写。fish 官方复盘里的几个硬数字：&lt;/p&gt;</description></item><item><title>Playwright CLI + Skill 三段式：把 AI 浏览器自动化做到 0 Token</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-18-playwright-cli-skill-zero-token-automation/</link><pubDate>Sat, 18 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-18-playwright-cli-skill-zero-token-automation/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-18-playwright-cli-skill-zero-token-automation/cover.webp"
 alt="Playwright CLI Skill 三段式浏览器自动化成本压缩示意图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年最省 Token 的 AI 浏览器自动化方案是 &lt;strong&gt;0 次 AI 调用&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这句话听起来有点反常识。我们花钱买 AI Agent 不就是为了不用自己写脚本吗？但过去几个月我把浏览器自动化跑遍了 Claude Code、Codex 和几个其它 harness，反复实测之后，结论恰恰相反：&lt;strong&gt;AI 是整个循环里最贵的部分，任务一旦稳定下来，就该把 AI 从循环里拿掉。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是我现在收敛下来的范式——AI 探索一次、把走通的流程提炼成 Skill（成本降 10 倍）、再把 Skill 固化成脚本（0 Token）。它不是「教你用某个工具」的故事，是「成本曲线怎么走」的故事。下面是架构、数据、3 个真实案例和 5 个没人提前告诉你的坑。&lt;/p&gt;
&lt;h2 id="三段式探索--skill--脚本"&gt;三段式：探索 → Skill → 脚本&lt;a href="#%e4%b8%89%e6%ae%b5%e5%bc%8f%e6%8e%a2%e7%b4%a2--skill--%e8%84%9a%e6%9c%ac" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;我做过的每一个浏览器自动化任务，最后都收敛成同一个形状。&lt;/p&gt;</description></item><item><title>Claude Agent SDK 实战指南：3 行 Python 搭建生产级 AI Agent</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-17-claude-agent-sdk-guide/</link><pubDate>Fri, 17 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-17-claude-agent-sdk-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-17-claude-agent-sdk-guide/cover.webp"
 alt="Claude Agent SDK practical guide: build production AI agents with Python"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;一个能读写文件、执行终端命令、搜索代码库的 AI Agent，用 Python 写需要几行代码？&lt;/p&gt;
&lt;p&gt;如果你用 LangChain，大概 80 行——定义 tool schema、实现 tool executor、写 agent loop、处理异常。如果你用 CrewAI，大概 50 行——还得理解它的 Agent/Task/Crew 三层抽象。&lt;/p&gt;
&lt;p&gt;用 Claude Agent SDK？&lt;strong&gt;3 行&lt;/strong&gt;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;claude_agent_sdk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Find and fix the bug in auth.py&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这不是玩具代码。这 3 行背后，Claude 会自动读取文件、分析 bug、编辑修复——不需要你写任何 tool execution loop。&lt;/p&gt;
&lt;p&gt;但 90% 的教程到这里就结束了。真正把 Agent 推向生产，你还需要搞懂 3 件事：多轮对话的 &lt;code&gt;ClaudeSDKClient&lt;/code&gt;、权限管控的三层防御、以及 MCP 自定义工具。这篇文章把这些全覆盖。&lt;/p&gt;
&lt;h2 id="agent-sdk-到底解决了什么问题"&gt;Agent SDK 到底解决了什么问题&lt;a href="#agent-sdk-%e5%88%b0%e5%ba%95%e8%a7%a3%e5%86%b3%e4%ba%86%e4%bb%80%e4%b9%88%e9%97%ae%e9%a2%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;如果你用过 &lt;a href="https://docs.anthropic.com/en/api/client-sdks"&gt;Anthropic Client SDK&lt;/a&gt; 构建 Agent，一定写过这样的循环：&lt;/p&gt;</description></item><item><title>2026 终端 AI 编程工具深度横评：Claude Code、Codex CLI、Gemini CLI、Aider 怎么选</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-14-terminal-ai-coding-tools-2026-comparison/</link><pubDate>Tue, 14 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-14-terminal-ai-coding-tools-2026-comparison/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-14-terminal-ai-coding-tools-2026-comparison/cover.webp"
 alt="2026 终端 AI 编程工具横评封面 — Claude Code、Codex CLI、Gemini CLI、Aider 对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;几乎所有&amp;quot;终端 AI 编程工具对比&amp;quot;文章都犯同一个错误：把 4-5 个工具放在一张表格里，逐行比功能，最后说&amp;quot;没有最好的，看你需求&amp;quot;。&lt;/p&gt;
&lt;p&gt;这种对比方式是误导。2026 年的终端 AI 编程工具已经&lt;strong&gt;分化成了完全不同的物种&lt;/strong&gt;——它们的架构哲学不同、定价模型不同、目标用户不同。把 Claude Code（月费 $200 的自主 Agent）和 Gemini CLI（每天 1000 次免费）放在同一张表里比&amp;quot;功能数量&amp;quot;，就像用&amp;quot;座位数&amp;quot;来对比特斯拉 Model 3 和公交车。&lt;/p&gt;
&lt;p&gt;这篇文章不做扁平对比。我会先把工具分层，解释每一层在优化什么，然后深入拆解每个工具的真实能力边界——不是官方宣传页上的数字，而是实际使用中会碰到的限制。最后按预算给出组合方案。&lt;/p&gt;
&lt;h2 id="三条赛道不是一场比赛"&gt;三条赛道，不是一场比赛&lt;a href="#%e4%b8%89%e6%9d%a1%e8%b5%9b%e9%81%93%e4%b8%8d%e6%98%af%e4%b8%80%e5%9c%ba%e6%af%94%e8%b5%9b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2026 年的终端 AI 编程工具已经分成了三条赛道，每条赛道的竞争逻辑完全不同。&lt;/p&gt;</description></item><item><title>Hermes Agent v0.9 评测 + 安装指南：Nous Research 27K star 自改进 AI 代理（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-14-hermes-agent-guide/</link><pubDate>Tue, 14 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-14-hermes-agent-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-14-hermes-agent-guide/cover.webp"
 alt="Hermes Agent 完全指南：Nous Research 会成长的个人 AI 代理"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;OpenClaw 的龙虾热还没散，Hermes Agent 就来了。&lt;/p&gt;
&lt;p&gt;两个月 27000+ stars，2026 年 4 月 13 日刚发布 v0.9.0 &amp;ldquo;the everywhere release&amp;rdquo;，过去两周合并 209 个 PR、解决 81 个 issue。看着很热闹，但你可能跟我第一反应一样：龙虾我都还没搞明白，又来一个？&lt;/p&gt;
&lt;p&gt;我花了一周时间把 Hermes 从头到尾拆了一遍，又对照读完了花叔那本《Hermes Agent 从入门到精通》(v260407) 的 63 页教程。结论是：&lt;strong&gt;Hermes 不是又一只龙虾，它在做一件我们一直讨论但没人做成产品的事——把 Harness Engineering 的五个组件全内建了，而且让缰绳自己长大。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果你在用 Claude Code，这不是让你换工具的文章。如果你用过 OpenClaw，Hermes 也不是龙虾的升级版。它解决的是另一个问题：&lt;strong&gt;你不在场的时候，Agent 怎么继续干活并变得越来越懂你。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章不替 PDF 教程，教程 63 页的细节我消化过但不照抄。我想回答的是三个问题：它到底是个什么物种？值不值得装？什么人适合？&lt;/p&gt;
&lt;h2 id="一句话讲清-hermes-agent-是什么"&gt;一句话讲清 Hermes Agent 是什么&lt;a href="#%e4%b8%80%e5%8f%a5%e8%af%9d%e8%ae%b2%e6%b8%85-hermes-agent-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Hermes Agent = 自改进学习循环 + 三层记忆 + 自主 Skill 系统 + 40+ 内置工具 + 多平台 Gateway&lt;/strong&gt;，全部 MIT 开源，部署到 $5 VPS 就能 7×24 跑。&lt;/p&gt;</description></item><item><title>Mac mini / Mac Studio AI 本地开发完全指南 2026：选配、跑大模型、出图实测</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-14-mac-apple-silicon-ai-workstation/</link><pubDate>Tue, 14 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-14-mac-apple-silicon-ai-workstation/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-14-mac-apple-silicon-ai-workstation/cover.webp"
 alt="Mac mini M4 Pro 和 Mac Studio M3 Max 本地 AI 工作站对比，跑 Ollama、MLX、ComfyUI 实测"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;过去半年我把&lt;strong&gt;Mac 当成主力 AI 工作站&lt;/strong&gt;用——Ollama、Draw Things、ComfyUI、MLX、llama.cpp 天天跑，手上有 M4 Pro Mac mini 48GB、朋友的 M3 Max MacBook Pro 64GB、以及合租的 M3 Max Mac Studio 128GB 做对照。得出的结论和苹果发布会里画的饼差得挺远。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2026 年想在 Mac 上搞本地 AI&lt;/strong&gt;，有几个反直觉的事实你必须先接受：神经网络引擎（ANE）在开源圈几乎没用、M4 Pro 在跑大模型这件事上不如老一代的 M3 Max、内存带宽比 GPU 核心数更重要、24GB 内存根本不够看。&lt;/p&gt;
&lt;p&gt;这篇文章是实战经验——不是参数搬运，是国内场景下&lt;strong&gt;选 Mac 跑 AI 的完整决策框架&lt;/strong&gt;：选什么型号、加多少内存、哪里买最便宜、踩过哪些坑。如果你正在纠结 Mac mini 还是 Mac Studio、24GB 还是 48GB、国行还是教育优惠，这篇就是写给你的。&lt;/p&gt;
&lt;h2 id="一为什么-2026-年-mac-成了国内开发者的本地-ai-首选"&gt;一、为什么 2026 年 Mac 成了国内开发者的本地 AI 首选&lt;a href="#%e4%b8%80%e4%b8%ba%e4%bb%80%e4%b9%88-2026-%e5%b9%b4-mac-%e6%88%90%e4%ba%86%e5%9b%bd%e5%86%85%e5%bc%80%e5%8f%91%e8%80%85%e7%9a%84%e6%9c%ac%e5%9c%b0-ai-%e9%a6%96%e9%80%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;一年前这个问题的答案还是&amp;quot;当然买显卡机啊&amp;quot;。2026 年不一样了，而且理由跟苹果营销没关系。&lt;/p&gt;</description></item><item><title>OpenClaw 工具与 Skill 完全手册 2026：内置工具清单 + 自定义开发</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-14-openclaw-tools-skills-reference/</link><pubDate>Tue, 14 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-14-openclaw-tools-skills-reference/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-14-openclaw-tools-skills-reference/cover.webp"
 alt="OpenClaw 工具与 Skill 完全手册 2026 封面图展示 ClawHub skill 架构与工具参数"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;写了半年 OpenClaw，我发现国内社区最缺的不是概念文章，而是&lt;strong&gt;查得到参数的工具手册&lt;/strong&gt;。半夜 agent 报错，你需要的不是&amp;quot;什么是 Skill 的设计哲学&amp;quot;，而是&amp;quot;Write 工具第二个参数到底叫 content 还是 text&amp;quot;、&amp;ldquo;SKILL.md 的 frontmatter 是不是必须用三个短横线&amp;rdquo;、&amp;ldquo;tavily-search 在国内网络下为啥加载不出来&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;这篇文章就是这份手册。覆盖 &lt;strong&gt;OpenClaw 2026&lt;/strong&gt; 的 9 个内置工具、ClawHub skill 加载机制、SKILL.md 完整契约、tavily-search 实操配置、自定义 skill 开发流程，以及我踩过的 5 个常见坑。如果你已经在用 OpenClaw 写 skill，建议直接 Ctrl+F 找你要的工具名；如果刚入门，先看 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-14-openclaw-architecture-deep-dive/"&gt;OpenClaw 架构深度解析&lt;/a&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="为什么需要这份手册"&gt;为什么需要这份手册&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81%e8%bf%99%e4%bb%bd%e6%89%8b%e5%86%8c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenClaw 官方文档是&lt;strong&gt;为理解设计的，不是为查询设计的&lt;/strong&gt;。想知道 skill 的哲学？官网写得不错。想知道 Write 工具到底有几个参数？你得翻三篇教程交叉对照才能确认。&lt;/p&gt;</description></item><item><title>Sub-Agent 架构设计：什么时候该拆子 Agent，Opus/Sonnet/Haiku 怎么分工</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-13-harness-subagent-architecture/</link><pubDate>Mon, 13 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-13-harness-subagent-architecture/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-13-harness-subagent-architecture/cover.webp"
 alt="Sub-Agent 架构示意图：主 Agent 向隔离的子 Agent 分发任务，每个子 Agent 拥有独立的上下文窗口"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;这是 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-30-harness-engineering-guide/"&gt;Harness Engineering 系列&lt;/a&gt; 的&lt;strong&gt;第三篇&lt;/strong&gt;。第一篇讲了框架（Agent = 模型 + Harness），&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-31-harness-claudemd-guide/"&gt;第二篇&lt;/a&gt; 拆了 &lt;code&gt;CLAUDE.md&lt;/code&gt; 这个最重要的前馈控件，这篇讲的是多数团队都做错了的结构决策：&lt;strong&gt;什么时候该拆 Sub-Agent、怎么路由、到底花多少钱&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;先给结论，这个结论你大概率在别的地方看不到：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Sub-Agent 不是&amp;quot;并行加速器&amp;quot;，它是&amp;quot;上下文垃圾回收机制&amp;quot;。它的本质是帮你扔掉噪声，不是帮你切碎思考。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我见过太多团队，第一次撞上上下文窗口上限、或者第一次觉得&amp;quot;这任务好大&amp;quot;，就条件反射式地去 fan-out 子 Agent。短期看确实快，长期看三个月后在 debug 为什么几个子 Agent 的输出互相打架。失败模式几乎一模一样：明明该留在主 Agent 里做的决策，被拆出去丢进了三个冷启动的进程里，谁也看不到谁的证据。&lt;/p&gt;
&lt;p&gt;这篇文章的目标是把&amp;quot;凭感觉 spawn&amp;quot;变成&amp;quot;能说出理由才 spawn&amp;quot;。我会给你一张决策树、一张 Opus/Sonnet/Haiku 路由表、一个成本计算公式，这些东西都是我在自己的博客写作管线里真刀真枪跑出来的。&lt;/p&gt;
&lt;h2 id="三个烧钱的误区先拆了"&gt;三个烧钱的误区，先拆了&lt;a href="#%e4%b8%89%e4%b8%aa%e7%83%a7%e9%92%b1%e7%9a%84%e8%af%af%e5%8c%ba%e5%85%88%e6%8b%86%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;进入模式之前，先干掉最常见的三个误解。每一个都在生产环境里烧真金白银。&lt;/p&gt;</description></item><item><title>把公司 Mac Mini 变成你的私人 VPN：5 种方案实测对比</title><link>http://www.heyuan110.com/zh/posts/linux/2026-04-11-remote-access-mac-mini-vpn/</link><pubDate>Sat, 11 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2026-04-11-remote-access-mac-mini-vpn/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/linux/2026-04-11-remote-access-mac-mini-vpn/cover.webp"
 alt="把公司 Mac Mini 变成你的私人 VPN——5 种方案实测对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;h2 id="一一台-mac-mini两个地方连不上"&gt;一、一台 Mac Mini，两个地方，连不上&lt;a href="#%e4%b8%80%e4%b8%80%e5%8f%b0-mac-mini%e4%b8%a4%e4%b8%aa%e5%9c%b0%e6%96%b9%e8%bf%9e%e4%b8%8d%e4%b8%8a" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;公司有台 Mac Mini，24 小时开着，连着公司内网。你想在家远程连上去——SSH 进去干活、把流量从公司网络走、访问公司内部的服务。问题是：它藏在公司的 NAT 防火墙后面，没有公网 IP，IT 也不会为你单独开端口。&lt;/p&gt;
&lt;p&gt;上周我碰到了这个问题。折腾了一个晚上，把 Tailscale、WireGuard、ZeroTier、Cloudflare Tunnel、frp 全试了一遍。有的 30 秒搞定但在国内用不了，有的配置复杂但稳如磐石。这篇文章记录了完整的实测过程，包括那些文档里不会告诉你的坑。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二5-种方案一览"&gt;二、5 种方案一览&lt;a href="#%e4%ba%8c5-%e7%a7%8d%e6%96%b9%e6%a1%88%e4%b8%80%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先上结论，再讲细节：&lt;/p&gt;</description></item><item><title>Lazygit：用了就回不去的终端 Git 神器</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-10-lazygit-guide/</link><pubDate>Fri, 10 Apr 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-10-lazygit-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-10-lazygit-guide/cover.webp"
 alt="Lazygit 终端 Git 界面，支持交互式 rebase 和逐行暂存"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Git 的 interactive rebase 是这样的：你运行 &lt;code&gt;git rebase -i HEAD~5&lt;/code&gt;，等编辑器弹出一个临时 TODO 文件，手动把 &lt;code&gt;pick&lt;/code&gt; 改成 &lt;code&gt;squash&lt;/code&gt; 或 &lt;code&gt;fixup&lt;/code&gt;，调整行顺序，保存退出，然后祈祷没打错字。想要逐行暂存？运行 &lt;code&gt;git add -p&lt;/code&gt;，一个一个 hunk 看过去，如果 hunk 粒度不对，你要手动编辑 patch 文件。想修改三个 commit 之前的提交？得先 interactive rebase 标记 edit，改完 amend，再 continue。&lt;/p&gt;
&lt;p&gt;这不是什么罕见操作。我每周要做好几次。每一次都像用记事本做手术。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/jesseduffield/lazygit"&gt;Lazygit&lt;/a&gt; 解决了这个问题。在 lazygit 里，interactive rebase 是按 &lt;code&gt;i&lt;/code&gt; 然后用 &lt;code&gt;s&lt;/code&gt; squash、&lt;code&gt;d&lt;/code&gt; drop、&lt;code&gt;ctrl+k&lt;/code&gt;/&lt;code&gt;ctrl+j&lt;/code&gt; 调整顺序。逐行暂存是在 diff 视图里按 &lt;code&gt;space&lt;/code&gt;。修改旧 commit 是 &lt;code&gt;shift+a&lt;/code&gt;。没有临时文件、没有 patch 编辑、没有祈祷。&lt;/p&gt;
&lt;p&gt;这个项目 2018 年启动，到现在拿到 &lt;strong&gt;76,000+ stars&lt;/strong&gt;，最新版本 v0.61.0 在 2026 年 4 月 6 日发布。赞助者里有 &lt;a href="https://github.com/dhh"&gt;DHH&lt;/a&gt;（Rails 创始人）和 &lt;a href="https://github.com/tobi"&gt;Tobias Lütke&lt;/a&gt;（Shopify CEO）。在我的工具箱里，lazygit 是继 tmux 之后对工作效率改善最大的终端工具。&lt;/p&gt;</description></item><item><title>Claude HUD：Claude Code 最该内置却没有的状态栏</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-10-claude-hud-guide/</link><pubDate>Fri, 10 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-10-claude-hud-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-10-claude-hud-guide/cover.webp"
 alt="Claude HUD 为 Claude Code 终端添加实时会话监控"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你有没有遇到过这种情况：Claude Code 写着写着，突然开始重复你十分钟前给的指令，或者产出的代码和它自己早先的决策矛盾？这就是 context window 饱和的症状——而在没有监控的情况下，你完全没有预警。&lt;/p&gt;
&lt;p&gt;我每天用 Claude Code 写代码，对工作流改善最大的不是换模型、不是调 prompt、也不是优化 CLAUDE.md，而是装了一个叫 &lt;a href="https://github.com/jarrodwatts/claude-hud"&gt;Claude HUD&lt;/a&gt; 的插件。用一句话描述它：&lt;strong&gt;Claude Code 的 htop&lt;/strong&gt;。htop 让你看到 CPU、内存和进程状态，Claude HUD 让你看到 context 健康度、工具活动、agent 状态和任务进度。&lt;/p&gt;
&lt;p&gt;这个插件 2026 年 1 月发布至今，已经拿到 &lt;strong&gt;18,000+ stars&lt;/strong&gt; 和 782 forks，是 Claude Code 生态中最火的插件。社区的反应出奇一致：&amp;ldquo;这功能为什么不是 Claude Code 自带的？&amp;rdquo;&lt;/p&gt;
&lt;h2 id="问题在-200k-token-的黑箱里盲飞"&gt;问题：在 200K Token 的黑箱里盲飞&lt;a href="#%e9%97%ae%e9%a2%98%e5%9c%a8-200k-token-%e7%9a%84%e9%bb%91%e7%ae%b1%e9%87%8c%e7%9b%b2%e9%a3%9e" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code 的终端界面几乎不告诉你 session 的内部状态。你可以输入 &lt;code&gt;/context&lt;/code&gt; 查看 token 用量，但这是一个手动、中断性的操作，给你一个数字却没有趋势和预警。没有监控时，你会遇到三个真实问题：&lt;/p&gt;</description></item><item><title>uv 完全指南：一个工具干掉 pip + conda + pyenv</title><link>http://www.heyuan110.com/zh/posts/python/2026-04-10-uv-python-package-manager/</link><pubDate>Fri, 10 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/python/2026-04-10-uv-python-package-manager/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/python/2026-04-10-uv-python-package-manager/cover.webp"
 alt="uv Python package manager comparison guide showing uv vs pip conda pyenv"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Python 最大的问题不是语法难，是&lt;strong&gt;装包难&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果你写过 Python，一定经历过这些场景：&lt;code&gt;pip install&lt;/code&gt; 半天装不上、virtualenv 和 conda 搞混了环境变量、pyenv 编译 Python 等了五分钟结果报错说缺 libffi。这些痛苦不是你的错——是 Python 的包管理生态太碎片化了。pip 管装包、virtualenv 管环境、pyenv 管版本、pip-tools 管锁定……四五个工具各管一摊，还经常互相打架。&lt;/p&gt;
&lt;p&gt;2024 年底，一个叫 &lt;a href="https://github.com/astral-sh/uv"&gt;uv&lt;/a&gt; 的工具横空出世，用 Rust 重写了整个 Python 包管理流程。到 2026 年 4 月，它的月下载量已经达到 7500 万次，超过了 Poetry。我的判断是：&lt;strong&gt;对于新项目，uv 是 2026 年唯一正确的起点。&lt;/strong&gt; 这篇文章会告诉你为什么，以及什么时候它不适用。&lt;/p&gt;</description></item><item><title>Claude Code + OpenSpec + Superpowers：三件套到底是刚需还是过度工程？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-09-claude-code-openspec-superpowers/</link><pubDate>Thu, 09 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-09-claude-code-openspec-superpowers/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-09-claude-code-openspec-superpowers/cover.webp"
 alt="Claude Code &amp;#43; OpenSpec &amp;#43; Superpowers AI 编程协同工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;h2 id="claude-codeopenspecsuperpowers-各自要解决的三个坑"&gt;Claude Code、OpenSpec、Superpowers 各自要解决的三个坑&lt;a href="#claude-codeopenspecsuperpowers-%e5%90%84%e8%87%aa%e8%a6%81%e8%a7%a3%e5%86%b3%e7%9a%84%e4%b8%89%e4%b8%aa%e5%9d%91" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;如果你用过 Claude Code 或类似的 AI 编程工具，下面三个场景一定不陌生。这篇文章的核心就是把每个坑对应到真正能解决它的那个工具——并且拆穿&amp;quot;一个工具搞定所有坑&amp;quot;的常见误区。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;场景一：AI 做的不是你想要的。&lt;/strong&gt; 你说&amp;quot;加个用户登录功能&amp;quot;，AI 给你做了 Session 认证——但你要的是 JWT。你说&amp;quot;扫码支付&amp;quot;，AI 直接对接了真实支付 SDK——你只是想做个演示。每次返工都在烧 Token 和时间，而且你往往要到看完代码才发现方向错了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;场景二：AI 跳过测试直接写代码。&lt;/strong&gt; Claude Code 能力很强，但它的默认行为是&amp;quot;收到需求就动手&amp;quot;。不创建 Git 分支、不写测试、不做代码审查——能出活，但出了事你根本不知道哪里有问题。搞砸了还不好回滚，因为它直接改的是你的主分支。&lt;/p&gt;</description></item><item><title>一个人+AI Agent 月增 2000 客户：Paperclip 营销自动化实战拆解</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-04-ai-agent-marketing-automation/</link><pubDate>Sat, 04 Apr 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-04-ai-agent-marketing-automation/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-04-ai-agent-marketing-automation/cover.webp"
 alt="AI Agent 营销自动化 — 一个人 &amp;#43; AI 团队月增 2000 客户"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;一个人的&amp;quot;营销部&amp;quot;，月增 2000 客户，MRR 做到 $45K。这不是融了几千万的团队，是一个创始人加一个刚招的 DevRel，外加四个&amp;quot;永不下班&amp;quot;的 AI 员工。&lt;/p&gt;
&lt;p&gt;Postiz 创始人 Nevo David 上个月在 X 上发了一篇长文，记录了他怎么用 Paperclip（一个开源 AI Agent 编排平台）接管了整个营销部门。他说体验&amp;quot;像是违法的&amp;quot;。我仔细拆解了他的做法后发现，最值得学的不是他用了什么工具，而是他怎么把这些工具&lt;strong&gt;编排&lt;/strong&gt;成一台自动运转的机器。&lt;/p&gt;
&lt;p&gt;这篇文章不是 Paperclip 教程，而是从 Nevo 的案例中提炼出&lt;strong&gt;你今天就能用的编排思路&lt;/strong&gt;——即使你不用 Paperclip，换成任何其他 Agent 平台，核心逻辑都一样。&lt;/p&gt;
&lt;h2 id="从个人助手到虚拟团队ai-用法正在发生质变"&gt;从&amp;quot;个人助手&amp;quot;到&amp;quot;虚拟团队&amp;quot;：AI 用法正在发生质变&lt;a href="#%e4%bb%8e%e4%b8%aa%e4%ba%ba%e5%8a%a9%e6%89%8b%e5%88%b0%e8%99%9a%e6%8b%9f%e5%9b%a2%e9%98%9fai-%e7%94%a8%e6%b3%95%e6%ad%a3%e5%9c%a8%e5%8f%91%e7%94%9f%e8%b4%a8%e5%8f%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2026 年初，AI 助手赛道爆发。&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-12-openclaw-usage-tutorial/"&gt;OpenClaw&lt;/a&gt; 能连 Telegram、操控电脑，从回邮件到砍健身房会费无所不能。这类工具的核心逻辑是把你的各种服务&amp;quot;挂&amp;quot;到一个 AI 上，让它替你跑日常事务。&lt;/p&gt;</description></item><item><title>Claude Code Buddy 终端宠物：藏在 AI 编程工具里的电子宠物</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-04-claude-code-buddy-terminal-pet/</link><pubDate>Sat, 04 Apr 2026 16:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-04-claude-code-buddy-terminal-pet/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-04-claude-code-buddy-terminal-pet/cover.webp"
 alt="Claude Code Buddy 终端宠物伙伴展示 ASCII 物种和属性卡"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;3 月 31 号，安全研究员 Chaofan Shou 发现 Claude Code v2.1.88 的 npm 包里多了一个 59.8MB 的 source map 文件——Anthropic 的 &lt;code&gt;.npmignore&lt;/code&gt; 漏掉了它，导致 512,000 多行 TypeScript 源码直接暴露。在这些代码里，藏着一个谁都没预料到的目录：&lt;code&gt;src/buddy/&lt;/code&gt;，五个文件，描述了一套完整的终端宠物系统。&lt;/p&gt;
&lt;p&gt;Anthropic 本来打算在愚人节当天发布这个惊喜，结果提前一天被扒了个底朝天。&lt;/p&gt;
&lt;p&gt;一周后，&lt;code&gt;/buddy&lt;/code&gt; 命令正式上线。我第一时间孵化了自己的宠物——结果得到了一只调试能力堪忧但耐心爆表的企鹅。这篇文章就来聊聊这个藏在 AI 编程工具里的电子宠物：它怎么运作、怎么玩、以及为什么它的技术实现比表面看起来有意思得多。&lt;/p&gt;
&lt;h2 id="我的-buddy一只叫-ingot-的佛系企鹅"&gt;我的 Buddy：一只叫 Ingot 的佛系企鹅&lt;a href="#%e6%88%91%e7%9a%84-buddy%e4%b8%80%e5%8f%aa%e5%8f%ab-ingot-%e7%9a%84%e4%bd%9b%e7%b3%bb%e4%bc%81%e9%b9%85" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先看看我的 buddy 属性卡：&lt;/p&gt;</description></item><item><title>Claude 订阅价格全对比 2026：Pro/Max/Team/API 哪个最划算？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-03-claude-pricing-complete-guide/</link><pubDate>Fri, 03 Apr 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-03-claude-pricing-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-03-claude-pricing-complete-guide/cover.webp"
 alt="Claude AI 2026 各套餐定价对比图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;选 AI 工具的套餐，最怕的不是贵，而是选错。Claude 现在有免费版、Pro、Max 5x、Max 20x、Team、Enterprise 六个档位，外加独立计费的 API——光看名字就容易绕晕。&lt;/p&gt;
&lt;p&gt;这篇文章帮你理清楚每个套餐的价格、用量限制和适用场景。不管你是个人用户纠结要不要从免费升 Pro，还是开发者在 Max 和 API 之间犹豫，还是团队负责人评估 Team 方案，读完就能做决定。&lt;/p&gt;
&lt;h2 id="一张表看清所有价格"&gt;一张表看清所有价格&lt;a href="#%e4%b8%80%e5%bc%a0%e8%a1%a8%e7%9c%8b%e6%b8%85%e6%89%80%e6%9c%89%e4%bb%b7%e6%a0%bc" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;套餐&lt;/th&gt;
 &lt;th&gt;月费&lt;/th&gt;
 &lt;th&gt;相对 Pro 的用量&lt;/th&gt;
 &lt;th&gt;适合谁&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;免费版&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;~0.2x&lt;/td&gt;
 &lt;td&gt;偶尔用，体验功能&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Pro&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$20&lt;/td&gt;
 &lt;td&gt;1x（基准）&lt;/td&gt;
 &lt;td&gt;每天都在用的个人用户&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 5x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$100&lt;/td&gt;
 &lt;td&gt;5x&lt;/td&gt;
 &lt;td&gt;重度用户，天天写代码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 20x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$200&lt;/td&gt;
 &lt;td&gt;20x&lt;/td&gt;
 &lt;td&gt;专业开发者，基本无限量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Team&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$25-30/人&lt;/td&gt;
 &lt;td&gt;1x-6.25x&lt;/td&gt;
 &lt;td&gt;5-150 人的团队&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Enterprise&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;定制&lt;/td&gt;
 &lt;td&gt;定制&lt;/td&gt;
 &lt;td&gt;150+ 人，有合规要求&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="免费版能干什么不能干什么"&gt;免费版：能干什么、不能干什么&lt;a href="#%e5%85%8d%e8%b4%b9%e7%89%88%e8%83%bd%e5%b9%b2%e4%bb%80%e4%b9%88%e4%b8%8d%e8%83%bd%e5%b9%b2%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先说结论：免费版只适合「尝鲜」，不适合正经干活。&lt;/p&gt;</description></item><item><title>5 款 AI 编程工具实测对比：为什么只选一个是错的</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-03-claude-code-vs-cursor-vs-copilot/</link><pubDate>Fri, 03 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-03-claude-code-vs-cursor-vs-copilot/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-03-claude-code-vs-cursor-vs-copilot/cover.webp"
 alt="五款 AI 编程工具对比 — Claude Code、Cursor、Copilot、Codex CLI、Gemini CLI"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年还在问&amp;quot;哪个 AI 编程工具最好&amp;quot;，就像问&amp;quot;锤子和螺丝刀哪个更好&amp;quot;——问题本身就问错了。&lt;/p&gt;
&lt;p&gt;我同时用了 5 款主流 AI 编程工具 8 个月——Claude Code、Cursor、Copilot、Codex CLI、Gemini CLI——跑了三个生产项目。最让我意外的发现：&lt;strong&gt;写代码最快的人不是用最贵工具的人，而是想清楚该组合哪两个工具的人。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;调查数据也印证了这一点：2026 年高效开发者平均用 2.3 个 AI 编程工具。不是一个，不是五个，而是两三个，各补短板。&lt;/p&gt;
&lt;p&gt;这篇不是功能清单。是我实际使用后的决策框架——对每个工具的致命短板诚实，对预算建议具体到美元数。&lt;/p&gt;
&lt;h2 id="五种哲学不是五个产品"&gt;五种哲学，不是五个产品&lt;a href="#%e4%ba%94%e7%a7%8d%e5%93%b2%e5%ad%a6%e4%b8%8d%e6%98%af%e4%ba%94%e4%b8%aa%e4%ba%a7%e5%93%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;功能对比之前，先理解一件事：这五个工具的底层信仰完全不同。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;核心信仰&lt;/th&gt;
 &lt;th&gt;形态&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 应该是自主 Agent&lt;/td&gt;
 &lt;td&gt;终端 CLI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Cursor&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 应该融入每一次按键&lt;/td&gt;
 &lt;td&gt;VS Code 魔改版&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Copilot&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 应该去找开发者，而不是让开发者来找 AI&lt;/td&gt;
 &lt;td&gt;任何 IDE 的插件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Codex CLI&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 应该在沙箱里并行工作&lt;/td&gt;
 &lt;td&gt;终端 + 云沙箱&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Gemini CLI&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;AI 应该免费且开源&lt;/td&gt;
 &lt;td&gt;开源终端 CLI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-03-claude-code-vs-cursor-vs-copilot/01-framework-five-philosophies.webp"
 alt="五种 AI 编程哲学 — 终端 Agent、IDE 原生、通用插件、并行沙箱、开源免费"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="685"
/&gt;
&lt;/p&gt;</description></item><item><title>OpenClaw 多 Agent 配置实战：别让 LLM 做编排</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-02-openclaw-multi-agent-setup-guide/</link><pubDate>Thu, 02 Apr 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-02-openclaw-multi-agent-setup-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-02-openclaw-multi-agent-setup-guide/cover.webp"
 alt="OpenClaw 多 Agent 配置实战指南：binding 路由、Lobster 流水线与协作模式"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你的 OpenClaw 多 Agent 系统最大的敌人，不是配置写错了，是&lt;strong&gt;让 LLM 做编排&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;我见过太多人的多 Agent 配置是这样的：一个 Supervisor Agent 接收所有消息，用 &lt;code&gt;sessions_send&lt;/code&gt; 调用各个专家 Agent，专家做完回传，Supervisor 汇总。看起来很优雅，对吧？但实际跑起来，Supervisor 每次路由决策都是一次完整的 API 调用，专家回传又是一次，一个简单的&amp;quot;帮我写篇文章&amp;quot;可能触发 6-8 次 API 请求。更糟的是，如果防递归规则没配好，Agent 之间循环委派，&lt;a href="https://cogentinfo.com/resources/when-ai-agents-collide-multi-agent-orchestration-failure-playbook-for-2026"&gt;Cogent 的报告&lt;/a&gt;记录过有团队&lt;strong&gt;几分钟内烧掉数千美元&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;正确的起步姿势是：&lt;strong&gt;bindings 做静态路由 + Lobster 做确定性流水线&lt;/strong&gt;，只在真正需要 LLM 动态判断时才用 &lt;code&gt;sessions_send&lt;/code&gt;。这篇文章手把手带你完成整套配置。&lt;/p&gt;
&lt;p&gt;如果你还没装过 OpenClaw，先看 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-setup-guide/"&gt;OpenClaw 安装配置指南&lt;/a&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="为什么要多-agent单-agent-的三个天花板"&gt;为什么要多 Agent：单 Agent 的三个天花板&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%a4%9a-agent%e5%8d%95-agent-%e7%9a%84%e4%b8%89%e4%b8%aa%e5%a4%a9%e8%8a%b1%e6%9d%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;一个 Agent 跑了两周以上，三个问题一定会冒出来——不是模型变笨了，是架构扛不住。&lt;/p&gt;</description></item><item><title>MCP、Skills、Hooks 到底有什么区别？Claude Code 三大扩展机制深度对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-02-mcp-vs-skills-claude-code/</link><pubDate>Thu, 02 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-02-mcp-vs-skills-claude-code/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-02-mcp-vs-skills-claude-code/cover.webp"
 alt="MCP vs Skills vs Hooks 对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用 Claude Code 时间长了，你一定听过这三个词：&lt;strong&gt;MCP&lt;/strong&gt;、&lt;strong&gt;Skills&lt;/strong&gt;、&lt;strong&gt;Hooks&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;很多人分不清它们的区别——MCP 和 Skill 都能&amp;quot;扩展 AI 的能力&amp;quot;，Hooks 和 Skill 都能&amp;quot;自动化流程&amp;quot;，到底什么时候用哪个？&lt;/p&gt;
&lt;p&gt;这篇文章用最直白的方式讲清楚：三者各自解决什么问题，怎么选，怎么配合用。&lt;/p&gt;
&lt;h2 id="先看一张图三层架构"&gt;先看一张图：三层架构&lt;a href="#%e5%85%88%e7%9c%8b%e4%b8%80%e5%bc%a0%e5%9b%be%e4%b8%89%e5%b1%82%e6%9e%b6%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┌──────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Skills（技能层） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 可复用的工作流、领域知识、做事方法 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ → &amp;#34;怎么把事做好&amp;#34; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├──────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ MCP（协议层） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 连接外部服务的标准化接口 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ → &amp;#34;能做什么&amp;#34; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├──────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Hooks（执行层） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 生命周期事件的自动化执行 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ → &amp;#34;什么事必须做&amp;#34; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└──────────────────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这三层各管各的：&lt;/p&gt;</description></item><item><title>Cursor Composer 2 深度评测：Kimi K2.5 风波背后的真相与启示</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-01-cursor-composer-2-review/</link><pubDate>Wed, 01 Apr 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-01-cursor-composer-2-review/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-01-cursor-composer-2-review/cover.webp"
 alt="Cursor Composer 2 — 当西方产品遇上东方底座模型"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 3 月 19 日，Cursor 高调发布了 Composer 2。更快、更聪明、更便宜——发布稿用了所有你能想到的溢美之词。三天后，一位叫 Fynn 的开发者在 API 配置中发现了一个有趣的模型标识符：&lt;code&gt;kimi-k2p5-rl-0317-s515-fast&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这串字符把 Cursor 推到了风口浪尖。一个估值 500 亿美元的公司，用了中国公司的开源模型做底座，却在发布时只字不提——这事搁谁身上都说不过去。&lt;/p&gt;
&lt;h2 id="composer-2-到底是什么"&gt;Composer 2 到底是什么&lt;a href="#composer-2-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先抛开争议谈技术。Composer 2 是 Cursor 自研的编程模型，旨在取代 IDE 中调用的第三方模型（Claude、GPT），提供原生的代码编辑体验。&lt;a href="https://cursor.com/blog/composer-2-technical-report"&gt;技术报告&lt;/a&gt;描述了两阶段训练：&lt;/p&gt;</description></item><item><title>Claude Code 开源风波：源码泄露到社区重写的全过程</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-01-claude-code-open-source-agent/</link><pubDate>Wed, 01 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-01-claude-code-open-source-agent/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-01-claude-code-open-source-agent/cover.webp"
 alt="Claude Code 开源版 开源代理框架可视化"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 3 月 31 日凌晨，一个被遗忘的 &lt;code&gt;.npmignore&lt;/code&gt; 配置项，把 Anthropic 旗下 Claude Code 的 51.2 万行 TypeScript 源码原封不动地推送到了 npm 公共仓库。这次意外让整个 AI 编程工具领域最核心的&amp;quot;黑箱&amp;quot;——连接大模型与工具链的 Agent 控制层——彻底暴露在阳光下。&lt;/p&gt;
&lt;p&gt;两天后，&lt;strong&gt;Claude Code 开源版&lt;/strong&gt; 以&amp;quot;洁净室重写&amp;quot;的姿态上线 GitHub，瞬间成为 GitHub 历史上涨星最快的项目，首日突破 10 万星标。这篇文章从技术角度拆解这个项目：它到底做了什么、架构上有什么独到之处、以及你是否应该关注它。&lt;/p&gt;
&lt;h2 id="源码泄露事件回顾"&gt;源码泄露事件回顾&lt;a href="#%e6%ba%90%e7%a0%81%e6%b3%84%e9%9c%b2%e4%ba%8b%e4%bb%b6%e5%9b%9e%e9%a1%be" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;安全研究员 &lt;strong&gt;Chaofan Shou&lt;/strong&gt; 最先发现 Claude Code 的 npm 包中附带了一个 59.8 MB 的 source map 文件，其中完整包含了约 1,906 个未经混淆的 TypeScript 源文件。&lt;/p&gt;</description></item><item><title>CLAUDE.md 最佳实践：我把 90 行砍到 50 行，Agent 表现反而提升 — Harness #2</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-31-harness-claudemd-guide/</link><pubDate>Tue, 31 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-31-harness-claudemd-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-31-harness-claudemd-guide/cover.webp"
 alt="精简后的 CLAUDE.md 文件在编辑器中展示，标注出 50 行边界与分层结构"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;这是 &lt;strong&gt;Harness Engineering 系列第 2 篇&lt;/strong&gt;。&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-30-harness-engineering-guide/"&gt;第 1 篇&lt;/a&gt;讲了 &lt;code&gt;Agent = 模型 + Harness&lt;/code&gt; 的核心公式，&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-04-13-harness-subagent-architecture/"&gt;第 3 篇&lt;/a&gt;会深入 Sub-Agent 架构设计。这篇聚焦 Harness 里投入产出比最高的单个文件：&lt;code&gt;CLAUDE.md&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;先把结论放出来：&lt;strong&gt;CLAUDE.md 是你为 AI 编程 Agent 写的 ROI 最高的一个文件——但多数团队写错了。&lt;/strong&gt; 三个最常见的坑：写太长（超过 60 行性能反降）、让 LLM 自动生成（实测降低 20%）、一个仓库一份不分层（领域规则互相干扰）。&lt;/p&gt;
&lt;p&gt;我自己三个坑都踩过。这篇文章把踩的过程、爬出来的方式、以及我现在遵守的 3 条铁律，全部摊开讲。&lt;/p&gt;
&lt;h2 id="我的翻车现场90-行-claudemd-把-agent-搞蒙了"&gt;我的翻车现场：90 行 CLAUDE.md 把 Agent 搞蒙了&lt;a href="#%e6%88%91%e7%9a%84%e7%bf%bb%e8%bd%a6%e7%8e%b0%e5%9c%ba90-%e8%a1%8c-claudemd-%e6%8a%8a-agent-%e6%90%9e%e8%92%99%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;去年年底我给这个博客仓库写了一份 90 行的 CLAUDE.md，当时觉得很满意——Hugo 版本、主题、双语规则、图片格式、Git 分支、front matter 模板、SEO 要求、内容策略红线，一个文件写全。&lt;/p&gt;</description></item><item><title>Harness Engineering 实战：模型是 AI Agent 里最不重要的部分（60 天管线复盘）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-30-harness-engineering-guide/</link><pubDate>Mon, 30 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-30-harness-engineering-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-30-harness-engineering-guide/cover.webp"
 alt="Harness Engineering 架构——层层包裹 AI Agent 核心的护栏、反馈循环和监控系统"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这是 &lt;strong&gt;Harness Engineering 系列第 1 篇&lt;/strong&gt;。&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-31-harness-claudemd-guide/"&gt;第 2 篇&lt;/a&gt; 拆 CLAUDE.md 最佳实践，&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-04-13-harness-subagent-architecture/"&gt;第 3 篇&lt;/a&gt; 讲 Sub-Agent 架构。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我过去 60 天在跑一个 Claude Code 驱动的博客管线：选题、调研、写作、配图、SEO、分发，全部交给 Agent。跑下来最反直觉的一条经验是——&lt;strong&gt;模型是这套系统里最不重要的部分&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这不是口号。我切过 Opus、Sonnet、又切回 Opus，挨个对比产出质量和执行稳定性，端到端变化一直在 5% 以内。真正把成本打下来的那一刀，是我重写了 Harness（外围系统）：把调度层从 Opus 降到 Sonnet，把写作留给 Opus，把搜索和粗筛交给 Haiku——同样产出同样质量，每月 token 成本从 400 美金降到 160 美金左右，直接砍掉 60%。&lt;/p&gt;
&lt;p&gt;这篇要讲的 &lt;strong&gt;Harness Engineering（线束工程）&lt;/strong&gt;，就是决定一个 AI Agent 能不能在生产里真正跑起来的东西。它不是新概念，但在 2026 年成了 AI 工程里 ROI 最高的那笔投资。&lt;/p&gt;
&lt;h2 id="三次进化提示词上下文线束"&gt;三次进化：提示词、上下文、线束&lt;a href="#%e4%b8%89%e6%ac%a1%e8%bf%9b%e5%8c%96%e6%8f%90%e7%a4%ba%e8%af%8d%e4%b8%8a%e4%b8%8b%e6%96%87%e7%ba%bf%e6%9d%9f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AI 工程在过去三年翻过三座山，每过一座，工程师要设计的东西就扩大一圈。&lt;/p&gt;</description></item><item><title>Seedance 2.0 技术深度拆解：字节跳动如何做出排名第一的AI视频模型</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-29-seedance-2-bytedance-ai-video/</link><pubDate>Sun, 29 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-29-seedance-2-bytedance-ai-video/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-29-seedance-2-bytedance-ai-video/cover.webp"
 alt="Seedance 2.0 — 字节跳动 AI 视频生成模型，多模态创作工作台"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 2 月，字节跳动发布 Seedance 2.0。不到两个月，它登上了 &lt;strong&gt;Artificial Analysis 文生视频排行榜第一名&lt;/strong&gt;，在盲评中击败了 Google Veo 3、OpenAI Sora 2 和 Runway Gen-4.5。&lt;/p&gt;
&lt;p&gt;排行榜第一是结果。这篇文章关注的是&lt;strong&gt;原因和过程&lt;/strong&gt;：它的架构到底做了什么不同的技术决策？实际生成质量哪些方面真的强、哪些在吹牛？怎么上手？IP 争议对你到底有什么影响？&lt;/p&gt;
&lt;h2 id="先理清字节的-ai-产品矩阵"&gt;先理清字节的 AI 产品矩阵&lt;a href="#%e5%85%88%e7%90%86%e6%b8%85%e5%ad%97%e8%8a%82%e7%9a%84-ai-%e4%ba%a7%e5%93%81%e7%9f%a9%e9%98%b5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在聊技术之前，先把字节 AI 生态的关系理清楚。很多人搞不清即梦、Dreamina、豆包和火山引擎之间是什么关系：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;字节跳动（母公司）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── Seed 团队（AI 研究实验室）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── Seedance 2.0 ← 视频生成模型（本文主角）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── Seedream ← 图像生成模型
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── Seed-TTS ← 语音合成模型
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── C 端产品（你用模型的地方）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── 剪映 / CapCut ← 视频编辑器（全球可用）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── 即梦 / Dreamina ← AI 创作平台
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── 豆包 / Doubao ← 对标 ChatGPT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── 抖音 / TikTok ← 短视频
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── 开发者平台（你接 API 的地方）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── 火山引擎 / VolcEngine ← 国内云平台
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── BytePlus ← 海外云平台（全球 API 预计 Q2 开放）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键点：&lt;/strong&gt; 别人说&amp;quot;用 Seedance 2.0&amp;quot;可能指三件完全不同的事：&lt;/p&gt;</description></item><item><title>Lark CLI 完全指南：用命令行和 AI Agent 操控飞书</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-29-lark-cli-guide/</link><pubDate>Sun, 29 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-29-lark-cli-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-29-lark-cli-guide/cover.png"
 alt="Lark CLI - 飞书命令行工具"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="600"
/&gt;
&lt;/p&gt;
&lt;h2 id="一先讲个故事"&gt;一、先讲个故事&lt;a href="#%e4%b8%80%e5%85%88%e8%ae%b2%e4%b8%aa%e6%95%85%e4%ba%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;你是不是有过这样的经历：老板突然要你把飞书日历上下周所有会议导出来，或者给 50 个群发一条通知，又或者把文档批量整理到知识库里。你只能一个个点、一个个复制，干到眼花。&lt;/p&gt;
&lt;p&gt;现在有了 Lark CLI，在终端里敲一行命令就搞定。更狠的是，它可以直接接入 Claude Code 这类 AI Agent——你用自然语言说&amp;quot;帮我看看明天有什么会&amp;quot;，AI 就替你查好了。读完这篇，你会掌握从安装到实战的全部流程。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二lark-cli-到底是什么"&gt;二、Lark CLI 到底是什么？&lt;a href="#%e4%ba%8clark-cli-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="21-一句话定义"&gt;2.1 一句话定义&lt;a href="#21-%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Lark CLI&lt;/strong&gt; 是飞书（Lark）开放平台的官方命令行工具，由 larksuite 团队开发并开源（MIT 协议）。它覆盖 11 大业务域、提供 200+ 精选命令和 19 个 AI Agent Skills，截至 2026 年 3 月，GitHub 已有 1.7k Star（&lt;a href="https://github.com/larksuite/cli"&gt;来源&lt;/a&gt;）。&lt;/p&gt;</description></item><item><title>内网穿透实战：SSH 隧道、frp、Cloudflare Tunnel 三种方案深度对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-28-cloudflare-tunnel-guide/</link><pubDate>Sat, 28 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-28-cloudflare-tunnel-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-28-cloudflare-tunnel-guide/cover.webp"
 alt="内网穿透实战 — SSH 隧道、frp、Cloudflare Tunnel 三种方案深度对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;上周碰到一个很常见的场景：海外同事要测一个我本地跑着的功能。我的 Mac Mini 在家里，藏在路由器的 NAT 后面，没有公网 IP，ISP 也没给固定地址。我总不能为了让人看一眼页面，就去折腾端口转发、暴露整个家庭网络吧。&lt;/p&gt;
&lt;p&gt;这个问题 —— 把 &lt;code&gt;localhost&lt;/code&gt; 暴露到公网 —— 在开发中高频出现。Webhook 回调、真机测试、跨国协作、客户演示……需求很普遍，但网络现实让它出奇地难搞。&lt;/p&gt;
&lt;p&gt;过去几年我在不同项目里用过三种方案，各有各的适用场景。这篇文章不是那种浅尝辄止的工具推荐，而是把每种方案的底层原理、完整搭建步骤、以及我实际踩过的坑全部摊开来讲。&lt;/p&gt;
&lt;h2 id="问题的本质为什么-localhost-无法被外部访问"&gt;问题的本质：为什么 localhost 无法被外部访问&lt;a href="#%e9%97%ae%e9%a2%98%e7%9a%84%e6%9c%ac%e8%b4%a8%e4%b8%ba%e4%bb%80%e4%b9%88-localhost-%e6%97%a0%e6%b3%95%e8%a2%ab%e5%a4%96%e9%83%a8%e8%ae%bf%e9%97%ae" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;根源在 NAT（网络地址转换）。你的 ISP 给路由器一个公网 IP（运气差的话是 CGNAT 共享地址），路由器再给内网设备分配 &lt;code&gt;192.168.x.x&lt;/code&gt; 之类的私有地址。外部流量到达路由器时，路由器不知道该转给哪台设备 —— 除非你手动配了端口转发。&lt;/p&gt;</description></item><item><title>QMD：本地语义搜索引擎，帮 AI Agent 省下 90% Token 开销</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-25-qmd-local-search-ai-agent-memory/</link><pubDate>Wed, 25 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-25-qmd-local-search-ai-agent-memory/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-25-qmd-local-search-ai-agent-memory/cover.webp"
 alt="QMD 本地语义搜索引擎——AI Agent 记忆优化利器"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用过 AI Agent 的人都有一个共同的痛：&lt;strong&gt;Token 烧得飞快&lt;/strong&gt;。聊不到几轮，Claude 就告诉你 hit limit 了；看看账单，OpenAI 的额度也在哗哗往下掉。&lt;/p&gt;
&lt;p&gt;问题出在哪？绝大多数 Agent 处理记忆的方式太粗暴——不管你问什么，先把 MEMORY.md、项目文档、历史对话统统塞进上下文窗口。这就像你去图书馆找一本书，管理员把整个书架搬到你面前说&amp;quot;自己翻&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QMD&lt;/strong&gt; 做的事情很简单：当 Agent 需要回忆时，不再搬书架，而是直接把你要的那一页翻到面前。Token 消耗直降 90%，回答精准度反而更高。&lt;/p&gt;
&lt;h2 id="qmd-是什么凭什么这么能打"&gt;QMD 是什么？凭什么这么能打？&lt;a href="#qmd-%e6%98%af%e4%bb%80%e4%b9%88%e5%87%ad%e4%bb%80%e4%b9%88%e8%bf%99%e4%b9%88%e8%83%bd%e6%89%93" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/tobi/qmd"&gt;QMD&lt;/a&gt;（Query Markup Documents）是一个完全运行在本地的搜索引擎，开发者是 &lt;a href="https://x.com/tobi"&gt;Tobi Lütke&lt;/a&gt;——没错，就是 Shopify 的联合创始人兼 CEO。这位大佬自己日常重度使用 AI Agent，受不了 Token 浪费的问题，于是亲手撸了这个工具。&lt;/p&gt;</description></item><item><title>Chrome DevTools MCP 完整配置指南：三种连接方式与避坑实录</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-17-chrome-devtools-mcp-guide/</link><pubDate>Tue, 17 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-17-chrome-devtools-mcp-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-17-chrome-devtools-mcp-guide/cover.webp"
 alt="Chrome DevTools MCP 连接 AI 助手与浏览器调试工具"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用 Chrome DevTools MCP 的人，几乎都踩过同一个坑：AI 助手每次都打开一个&lt;strong&gt;全新的 Chrome 窗口&lt;/strong&gt;，你已经登录好的网站、打开的调试面板、复现好的 bug 现场——全没了。你在一个窗口里盯着报错，AI 在另一个空白窗口里两眼一抹黑。&lt;/p&gt;
&lt;p&gt;这篇文章彻底解决这个问题。三种连接方式怎么选、「新窗口」到底为什么出现、以及大多数教程都没提到的 &lt;code&gt;--user-data-dir&lt;/code&gt; 关键修复——一次讲透。&lt;/p&gt;
&lt;h2 id="chrome-devtools-mcp-是什么"&gt;Chrome DevTools MCP 是什么&lt;a href="#chrome-devtools-mcp-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/ChromeDevTools/chrome-devtools-mcp"&gt;Chrome DevTools MCP&lt;/a&gt; 是 Google Chrome 团队做的一个 MCP（Model Context Protocol）服务器。用大白话说：它是 AI 编程助手和 Chrome 浏览器之间的翻译官。&lt;/p&gt;</description></item><item><title>GitHub Agent HQ + VS Code 完整指南 2026：怎么用？和 Copilot 啥区别？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-13-github-agent-hq-vscode-guide/</link><pubDate>Fri, 13 Mar 2026 15:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-13-github-agent-hq-vscode-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-13-github-agent-hq-vscode-guide/cover.webp"
 alt="GitHub Agent HQ multi-agent development dashboard showing Claude, Codex, and Copilot panels in VS Code"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用一个 AI 编程助手写代码已经很高效了。但如果能同时跑三个——对比它们的思路、发挥各自的长处、挑出最优解——那写代码的方式会发生根本性变化。&lt;/p&gt;
&lt;p&gt;GitHub Agent HQ 让这件事在 VS Code 里就能完成。这个产品在 GitHub Universe 2025 上首次亮相，2026 年 2 月进入公测，支持在同一个界面里运行 &lt;a href="https://www.anthropic.com/"&gt;Anthropic Claude&lt;/a&gt;、&lt;a href="https://openai.com/index/codex/"&gt;OpenAI Codex&lt;/a&gt; 和 &lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;。你可以把它理解为 AI Agent 的指挥中心：分配任务、监控进度、对比结果、合并最佳方案，全程不用切换工具。&lt;/p&gt;
&lt;p&gt;这篇指南会带你完成 Agent HQ 的配置，搭建高效的多 Agent 工作流，并帮你判断什么时候该用它，什么时候 Claude Code CLI 或 Cursor 更合适。&lt;/p&gt;
&lt;h2 id="github-agent-hq-是什么"&gt;GitHub Agent HQ 是什么？&lt;a href="#github-agent-hq-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agent HQ 是 GitHub 推出的多 AI Agent 编排平台，横跨 GitHub 网页端、VS Code 和 GitHub 移动端。你不再被锁定在某一个 AI 助手上，而是拥有一支 Agent 团队，可以独立或并行地分配任务。&lt;/p&gt;</description></item><item><title>2026年AI代码安全工具横评：Codex Security、Claude Code Security与Snyk谁更强？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-13-ai-code-security-tools-compared/</link><pubDate>Fri, 13 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-13-ai-code-security-tools-compared/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-13-ai-code-security-tools-compared/cover.webp"
 alt="AI code security tools comparison showing three security scanning dashboards"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026年2月到3月，AI代码安全领域迎来了一波集中爆发——Anthropic在2月20日推出了&lt;a href="https://www.anthropic.com/news/claude-code-security"&gt;Claude Code Security&lt;/a&gt;，OpenAI紧随其后在3月6日发布了&lt;a href="https://openai.com/index/codex-security-now-in-research-preview/"&gt;Codex Security&lt;/a&gt;。与此同时，老牌安全工具Snyk和SonarQube也在加速引入AI能力。作为开发者或安全工程师，面对这么多选择，到底该用哪个？本文用真实数据和具体案例来帮你搞清楚。&lt;/p&gt;
&lt;h2 id="为什么现在需要ai安全扫描"&gt;为什么现在需要AI安全扫描？&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e7%8e%b0%e5%9c%a8%e9%9c%80%e8%a6%81ai%e5%ae%89%e5%85%a8%e6%89%ab%e6%8f%8f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;传统静态分析工具（SAST）已经存在几十年了。它们的工作原理是把代码模式与已知漏洞数据库进行匹配。问题在于，它们抓不住&lt;strong&gt;上下文相关的漏洞&lt;/strong&gt;——那种需要理解数据如何在多个组件间流动、认证逻辑如何与业务规则交互、或者一个看似无害的辅助函数如何在三层调用之后制造注入漏洞的情况。&lt;/p&gt;
&lt;p&gt;打个比方：传统工具就像拼写检查器，能抓住错别字，但抓不住语法正确却逻辑荒谬的句子。AI安全扫描的目标是充当人类编辑——理解意图、上下文，以及代码出错的那些微妙方式。&lt;/p&gt;
&lt;p&gt;现实是严峻的。根据&lt;a href="https://www.verizon.com/business/resources/reports/dbir/"&gt;2025年Verizon DBIR报告&lt;/a&gt;，Web应用漏洞仍然是头号攻击向量，关键漏洞的平均修复时间依然以月为单位计算。&lt;/p&gt;
&lt;h2 id="四款工具速览"&gt;四款工具速览&lt;a href="#%e5%9b%9b%e6%ac%be%e5%b7%a5%e5%85%b7%e9%80%9f%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先看一张对比总表：&lt;/p&gt;</description></item><item><title>GPT-5.4 vs Claude Opus 4.6 终极对比 2026：编程/价格/Agent 谁赢？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-13-gpt-5-4-vs-claude-opus-comparison/</link><pubDate>Fri, 13 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-13-gpt-5-4-vs-claude-opus-comparison/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-13-gpt-5-4-vs-claude-opus-comparison/cover.webp"
 alt="GPT-5.4 and Claude Opus 4.6 comparison illustration showing two AI systems connected by data streams"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 3 月，AI 编程领域迎来了两大重量级选手的正面交锋。OpenAI 在 3 月 5 日发布了 GPT-5.4，带来了原生电脑操控、100 万 token 上下文窗口和大幅降低成本的 Tool Search 功能。一个月前，Anthropic 发布了 Claude Opus 4.6，同时推出 Agent Teams——让多个 AI 代理并行拆解项目、同时干活的全新机制。&lt;/p&gt;
&lt;p&gt;作为开发者，选错模型意味着浪费时间和金钱。这篇文章从基准测试、定价、Agent 能力、IDE 集成到实际使用场景，帮你把两个模型摸透。&lt;/p&gt;
&lt;h2 id="核心参数速览"&gt;核心参数速览&lt;a href="#%e6%a0%b8%e5%bf%83%e5%8f%82%e6%95%b0%e9%80%9f%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;GPT-5.4&lt;/th&gt;
 &lt;th&gt;Claude Opus 4.6&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;发布日期&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;2026 年 3 月 5 日&lt;/td&gt;
 &lt;td&gt;2026 年 2 月 5 日&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;上下文窗口&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;100 万 token（API）&lt;/td&gt;
 &lt;td&gt;100 万 token（测试版）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;最大输出 token&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;64K&lt;/td&gt;
 &lt;td&gt;128K&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;API 定价（输入/输出）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$2.50 / $15（每百万 token）&lt;/td&gt;
 &lt;td&gt;$5 / $25（每百万 token）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;电脑操控&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;原生支持，OSWorld 75%&lt;/td&gt;
 &lt;td&gt;支持，OSWorld 72.7%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Agent 协作&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Codex 多步任务&lt;/td&gt;
 &lt;td&gt;Agent Teams（并行子代理）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SWE-bench Verified&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;~80.0%&lt;/td&gt;
 &lt;td&gt;80.8%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SWE-bench Pro&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;57.7%&lt;/td&gt;
 &lt;td&gt;~45.9%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;最擅长的场景&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;自动化、工具链、前端开发&lt;/td&gt;
 &lt;td&gt;多文件重构、深度调试、Agent 编排&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="编码基准谁写的代码更靠谱"&gt;编码基准：谁写的代码更靠谱？&lt;a href="#%e7%bc%96%e7%a0%81%e5%9f%ba%e5%87%86%e8%b0%81%e5%86%99%e7%9a%84%e4%bb%a3%e7%a0%81%e6%9b%b4%e9%9d%a0%e8%b0%b1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;基准测试不能说明一切，但至少能帮我们建立一个客观的比较起点。&lt;/p&gt;</description></item><item><title>OpenCode 深度评测：这款开源AI编程代理能替代Claude Code吗？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-13-opencode-ai-coding-agent-review/</link><pubDate>Fri, 13 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-13-opencode-ai-coding-agent-review/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-13-opencode-ai-coding-agent-review/cover.webp"
 alt="OpenCode开源AI编程代理终端界面与架构概览"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用AI编程代理写了半年代码，最大的痛点是什么？&lt;strong&gt;厂商锁定&lt;/strong&gt;。Claude Code绑定Anthropic模型，Cursor绑定订阅，GitHub Copilot活在VS Code里。&lt;a href="https://github.com/anomalyco/opencode"&gt;OpenCode&lt;/a&gt;走了另一条路——MIT开源、支持75+模型提供商、终端/桌面/IDE三端通吃。GitHub上12万+星，发版速度按天计算，是2026年增长最快的开源AI编程代理。&lt;/p&gt;
&lt;p&gt;但开源就一定更好吗？我花了两周把OpenCode当主力工具用，聊聊真实体验——哪些地方确实强，哪些地方还有坑，什么人值得切换。&lt;/p&gt;
&lt;h2 id="谁在做opencode背景很重要"&gt;谁在做OpenCode？背景很重要&lt;a href="#%e8%b0%81%e5%9c%a8%e5%81%9aopencode%e8%83%8c%e6%99%af%e5%be%88%e9%87%8d%e8%a6%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenCode的开发团队是&lt;a href="https://github.com/anomalyco"&gt;Anomaly&lt;/a&gt;，就是做&lt;a href="https://github.com/sst/sst"&gt;SST&lt;/a&gt;（Serverless Stack，2.5万星）的那帮人。核心开发者Dax（GitHub ID: thdxr），同时也是terminal.shop和OpenAuth的作者。&lt;/p&gt;
&lt;p&gt;README里说创始团队是&amp;quot;neovim users and the creators of terminal.shop&amp;quot;。这里需要澄清：他们是Neovim的&lt;strong&gt;深度用户和赞助者&lt;/strong&gt;，不是Neovim的核心开发者。Terminal.shop是个很酷的玩具项目——通过SSH终端买咖啡。但SST的背景是实打实的，给数千家公司提供过生产级基础设施工具。&lt;/p&gt;
&lt;h3 id="关于命名争议"&gt;关于命名争议&lt;a href="#%e5%85%b3%e4%ba%8e%e5%91%bd%e5%90%8d%e4%ba%89%e8%ae%ae" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&amp;ldquo;OpenCode&amp;quot;这个名字原本属于&lt;a href="https://github.com/opencode-ai/opencode"&gt;Kujtim Hoxha用Go写的终端AI工具&lt;/a&gt;，曾经有1.1万+星。Anomaly团队用了同名发布自己的项目后，原版被迫归档，改名&amp;quot;Crush&amp;quot;继续开发（在Charm旗下）。这件事在社区引发了不小的争议。你怎么看是你的事，但这个背景值得了解。&lt;/p&gt;</description></item><item><title>AI 编程方法论对比 2026：Vibe Coding vs SDD vs BMAD 怎么选？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-11-ai-development-methodologies-compared/</link><pubDate>Wed, 11 Mar 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-11-ai-development-methodologies-compared/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-11-ai-development-methodologies-compared/cover.webp"
 alt="AI 开发方法论对比 — Vibe Coding、SDD、BMAD 与务实工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2025 年初，Andrej Karpathy 提出了「Vibe Coding」概念，AI 辅助开发的革命由此开始。到 Y Combinator 2025 冬季批次，&lt;strong&gt;25% 的公司 95% 的代码由 AI 生成&lt;/strong&gt;。但蜜月期没持续多久——质量问题、技术债务和项目混乱迫使行业重新思考人类和 AI 应该如何协作编码。&lt;/p&gt;
&lt;p&gt;本文深入剖析了在这场反思中诞生的 &lt;strong&gt;六大 AI 开发方法论&lt;/strong&gt;。我会逐一分析每种方法的优势、不足，以及——最重要的——你到底该用哪一种。这不是泛泛的概述，而是基于实战经验、Martin Fowler 团队分析、Peter Steinberger 的演进工作流和真实生产数据的深度解读。&lt;/p&gt;
&lt;h2 id="问题为什么我们需要方法论"&gt;问题：为什么我们需要方法论？&lt;a href="#%e9%97%ae%e9%a2%98%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e4%bb%ac%e9%9c%80%e8%a6%81%e6%96%b9%e6%b3%95%e8%ae%ba" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2025 年以前，大多数开发者把 AI 当作高级自动补全。写个注释，得到建议，接受或拒绝。就这么简单。&lt;/p&gt;</description></item><item><title>TypeScript vs Python：AI 时代该选哪门语言？2026 全面对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-typescript-vs-python-ai-era/</link><pubDate>Tue, 10 Mar 2026 20:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-typescript-vs-python-ai-era/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-typescript-vs-python-ai-era/cover.webp"
 alt="2026 年 AI 时代 TypeScript vs Python 对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;十多年来，GitHub 上使用量最高的语言第一次换了——不是 Python，而是 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-10-typescript-ai-tools/"&gt;TypeScript 以 66% 的增速&lt;/a&gt;超越了 Python 和 JavaScript，背后的推手是 AI 编程工具与类型化语言之间形成的&amp;quot;正向飞轮&amp;quot;。&lt;/p&gt;
&lt;p&gt;这是否意味着 Python 在走下坡路？你该不该转投 TypeScript？现实远比标题党复杂得多。&lt;/p&gt;
&lt;p&gt;本文将从数据出发，拆解 2026 年两门语言各自的优势领域、AI 工具为何在某些场景偏爱 TypeScript 而在另一些场景偏爱 Python，以及如何为你的职业发展和项目做出正确选择。&lt;/p&gt;
&lt;h2 id="数据说话2026-年-github-统计"&gt;数据说话：2026 年 GitHub 统计&lt;a href="#%e6%95%b0%e6%8d%ae%e8%af%b4%e8%af%9d2026-%e5%b9%b4-github-%e7%bb%9f%e8%ae%a1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;指标&lt;/th&gt;
 &lt;th&gt;TypeScript&lt;/th&gt;
 &lt;th&gt;Python&lt;/th&gt;
 &lt;th&gt;JavaScript&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;月活贡献者&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;2,636,006&lt;/td&gt;
 &lt;td&gt;~2,400,000&lt;/td&gt;
 &lt;td&gt;~2,100,000&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;同比增长&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;+66%&lt;/strong&gt;（+105 万）&lt;/td&gt;
 &lt;td&gt;+48%（+85 万）&lt;/td&gt;
 &lt;td&gt;+25%（+42.7 万）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitHub 排名&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;#1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;#2&lt;/td&gt;
 &lt;td&gt;#3&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;新建仓库（AI 标签）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;~20%&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;~50%&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;~15%&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;LLM SDK 仓库&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;#1（按数量）&lt;/td&gt;
 &lt;td&gt;#2&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;核心结论：&lt;strong&gt;TypeScript 在整体活跃度上领先，但 Python 在 AI/ML 项目创建中依然占据主导地位。&lt;/strong&gt; 两者赢在不同的赛道。&lt;/p&gt;</description></item><item><title>高频提交：如何做到日均 100+ Commit 而不翻车</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-high-frequency-commits/</link><pubDate>Tue, 10 Mar 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-high-frequency-commits/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-high-frequency-commits/cover.webp"
 alt="高频提交工作流：原子变更流经 CI/CD 流水线"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;AI 编程工具从根本上改变了开发者交付代码的速度。有了 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt; 这样的 AI 助手以机器速度生成、重构和测试代码，很多团队现在每天产出 &lt;strong&gt;50 到 150 次提交&lt;/strong&gt;——而且这个数字还在持续攀升。&lt;/p&gt;
&lt;p&gt;但有一个不太舒服的问题：当提交频率飙升时，为什么有些项目越跑越快，有些却陷入了混乱？&lt;/p&gt;
&lt;p&gt;答案不是放慢速度，而是构建正确的工程护栏，让每一次提交——无论多频繁——都保持&lt;strong&gt;可解释、可回滚、可验证&lt;/strong&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把高频提交想象成高频电脉冲。没有隔离、缓冲和断路器，脉冲会击碎系统。但有了正确的工程约束，这些脉冲反而让系统更快收敛到稳定态。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="为什么高频提交成了新常态"&gt;为什么高频提交成了新常态&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e9%ab%98%e9%a2%91%e6%8f%90%e4%ba%a4%e6%88%90%e4%ba%86%e6%96%b0%e5%b8%b8%e6%80%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入策略之前先明确一点：&lt;strong&gt;高频提交不是目标，而是结果&lt;/strong&gt;。没人会给自己定&amp;quot;今天提交 100 次&amp;quot;的 KPI。真正推动提交频率上升的是三股力量：&lt;/p&gt;
&lt;h3 id="1-更短的反馈环"&gt;1. 更短的反馈环&lt;a href="#1-%e6%9b%b4%e7%9f%ad%e7%9a%84%e5%8f%8d%e9%a6%88%e7%8e%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;AI 辅助编程把从想法到可用代码的周期压缩到了极致。当你&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-dev-environment-setup/"&gt;搭建好 AI 开发环境&lt;/a&gt;，可以在几秒内生成实现、跑测试、拿到修复建议时，每次实验的成本大幅下降。成本越低，实验越多——提交自然也越多。&lt;/p&gt;</description></item><item><title>AI 开发环境搭建：2026 年工具、配置与 Dotfiles 完全指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-dev-environment-setup/</link><pubDate>Tue, 10 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-dev-environment-setup/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-ai-dev-environment-setup/cover.webp"
 alt="AI 开发环境搭建指南：涵盖 2026 年工具、配置和 Dotfiles"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;AI 工具的效果取决于你的配置。大多数开发者安装完 Claude Code 或 Cursor 后，直接用默认设置就开始干活，然后纳闷为什么 AI 的输出总是那么泛泛而谈。平庸的 AI 辅助和真正变革性的生产力提升之间，差距就在于&lt;strong&gt;配置&lt;/strong&gt;——那些 dotfiles、模板、Shell 别名和工作流模式，能把通用的 AI 工具变成真正理解&lt;em&gt;你的&lt;/em&gt;代码库和&lt;em&gt;你的&lt;/em&gt;开发规范的利器。&lt;/p&gt;
&lt;p&gt;本指南完整记录了我每天使用的 AI 开发环境。读完之后，你将拥有一套生产级的配置方案，把多个 AI 工具整合成连贯的工作流，并附带可直接复制修改的配置文件。&lt;/p&gt;
&lt;h2 id="现代-ai-开发技术栈"&gt;现代 AI 开发技术栈&lt;a href="#%e7%8e%b0%e4%bb%a3-ai-%e5%bc%80%e5%8f%91%e6%8a%80%e6%9c%af%e6%a0%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在开始安装之前，先理清整体架构。2026 年高效的 AI 开发环境不是单一工具——而是一套&lt;strong&gt;互补的工具栈&lt;/strong&gt;，各司其职，发挥所长。&lt;/p&gt;
&lt;p&gt;完整的技术栈如下：&lt;/p&gt;</description></item><item><title>上下文工程：2026年最被低估的AI开发技能</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-context-engineering-guide/</link><pubDate>Tue, 10 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-context-engineering-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-context-engineering-guide/cover.webp"
 alt="上下文工程指南：五大维度、失效模式与AI开发实战框架"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;所有人都在谈提示词工程。市面上几百美元的课程教你如何写出更好的提示词。但到了2026年，那些构建出最令人惊叹的AI系统的开发者，并没有花时间去打磨提示词——他们在&lt;strong&gt;工程化地设计上下文&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;正是这项技能，拉开了&amp;quot;偶尔从ChatGPT获得不错结果&amp;quot;和&amp;quot;构建可靠的、生产级别的AI工作流并在数千次交互中稳定输出&amp;quot;之间的差距。&lt;/p&gt;
&lt;p&gt;上下文工程不是一个流行术语，而是我们与大语言模型协作方式的一次根本性转变。如果你还没有投入精力去掌握它，你正在错过巨大的生产力提升。&lt;/p&gt;
&lt;h2 id="为什么上下文工程比提示词工程更重要"&gt;为什么上下文工程比提示词工程更重要&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e4%b8%8a%e4%b8%8b%e6%96%87%e5%b7%a5%e7%a8%8b%e6%af%94%e6%8f%90%e7%a4%ba%e8%af%8d%e5%b7%a5%e7%a8%8b%e6%9b%b4%e9%87%8d%e8%a6%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先说一个让人不太舒服的事实：&lt;strong&gt;提示词工程存在天花板&lt;/strong&gt;。你可以花几个小时打磨一条提示词，确实能在那一次交互中获得更好的结果。但如果你需要在几百个不同任务中获得一致的结果呢？如果你的五人开发团队都需要AI保持同样的行为呢？&lt;/p&gt;
&lt;p&gt;这就是上下文工程登场的时刻。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;提示词工程是加法效应&lt;/strong&gt;——每条好的提示词改善一次交互。&lt;strong&gt;上下文工程是乘法效应&lt;/strong&gt;——一套设计良好的上下文系统能改善整个工作流中的每一次交互。&lt;/p&gt;
&lt;p&gt;换个角度理解：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方法&lt;/th&gt;
 &lt;th&gt;作用范围&lt;/th&gt;
 &lt;th&gt;影响力&lt;/th&gt;
 &lt;th&gt;投入方式&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;提示词工程&lt;/td&gt;
 &lt;td&gt;单次交互&lt;/td&gt;
 &lt;td&gt;线性提升&lt;/td&gt;
 &lt;td&gt;每个任务单独投入&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;上下文工程&lt;/td&gt;
 &lt;td&gt;整个工作流&lt;/td&gt;
 &lt;td&gt;指数级提升&lt;/td&gt;
 &lt;td&gt;一次性搭建，持续维护&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;从提示词工程到上下文工程的演进，映射了软件开发中一个熟悉的模式。写个一次性脚本解决问题，这是提示词工程；构建一个带测试、文档和CI/CD的可复用库，这是上下文工程。&lt;/p&gt;
&lt;p&gt;Anthropic 很早就意识到了这一转变，发布了&lt;a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview"&gt;官方上下文工程指南&lt;/a&gt;，将上下文管理定义为核心工程学科。LangChain 也发布了自己的框架，提出了&lt;a href="https://blog.langchain.dev/context-engineering/"&gt;四大核心策略&lt;/a&gt;：写入（Write）、选择（Select）、压缩（Compress）和隔离（Isolate）。&lt;/p&gt;
&lt;p&gt;2026年的行业共识已经很明确：&lt;strong&gt;随手写提示词谁都会，生产级上下文工程才是真正的工程技能&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="上下文工程的五大维度"&gt;上下文工程的五大维度&lt;a href="#%e4%b8%8a%e4%b8%8b%e6%96%87%e5%b7%a5%e7%a8%8b%e7%9a%84%e4%ba%94%e5%a4%a7%e7%bb%b4%e5%ba%a6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;上下文工程不是单一技术，它横跨五个不同维度，每个维度需要不同的策略和工具。&lt;/p&gt;</description></item><item><title>从原型到生产：AI 应用上线完整检查清单</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-09-prototype-to-production/</link><pubDate>Mon, 09 Mar 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-09-prototype-to-production/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-09-prototype-to-production/cover.webp"
 alt="从原型到生产：AI 应用上线完整检查清单"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你用 20 分钟就让 AI 生成了一个应用。Demo 看起来很棒，利益相关者也印象深刻。&lt;/p&gt;
&lt;p&gt;然后现实给了你一巴掌。&lt;/p&gt;
&lt;p&gt;应用在 50 个并发用户下就崩了。安全扫描发现了 12 个漏洞。零测试、零日志、零告警。凌晨 2 点宕机，直到用户在 Twitter 上投诉才有人知道。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;构建原型只占整个工作量的 10%。剩下的 90% 才是区分 Demo 和产品的关键。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本文为你提供一份结构化、可执行的检查清单来跨越这道鸿沟。基于斯坦福 CS146S 课程（第 8-9 周）关于现代软件开发与实际部署模式的内容，我们将逐一介绍每个 AI 生成应用上线前必须通过的六道关卡。&lt;/p&gt;
&lt;p&gt;无论你使用的是 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、Cursor、v0 还是其他 AI 编程工具，这些关卡都普遍适用。&lt;/p&gt;
&lt;h2 id="现实差距原型-vs-生产"&gt;现实差距：原型 vs. 生产&lt;a href="#%e7%8e%b0%e5%ae%9e%e5%b7%ae%e8%b7%9d%e5%8e%9f%e5%9e%8b-vs-%e7%94%9f%e4%ba%a7" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="ai-原型工具能做什么不能做什么"&gt;AI 原型工具能做什么，不能做什么&lt;a href="#ai-%e5%8e%9f%e5%9e%8b%e5%b7%a5%e5%85%b7%e8%83%bd%e5%81%9a%e4%bb%80%e4%b9%88%e4%b8%8d%e8%83%bd%e5%81%9a%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Vercel 的 v0、Bolt 以及各种 AI 编程助手都能在几分钟内生成令人印象深刻的原型。以下是它们擅长处理的部分：&lt;/p&gt;</description></item><item><title>MCP 安全危机：60 天内曝出 30 个 CVE，到底怎么了？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-mcp-security-2026/</link><pubDate>Mon, 09 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-mcp-security-2026/</guid><description>&lt;p&gt;&lt;strong&gt;30 个 CVE，60 天，437,000 次受影响下载。&lt;/strong&gt; Model Context Protocol 从&amp;quot;前景看好的开放标准&amp;quot;变成&amp;quot;活跃的攻击面&amp;quot;，速度远超所有人的预期。&lt;/p&gt;
&lt;p&gt;2026 年 1 月到 2 月之间，安全研究人员针对 MCP 服务端、客户端和基础设施提交了超过 30 个 CVE。漏洞类型从简单的路径穿越到 CVSS 评分 9.6 的远程代码执行，而涉及的软件包下载量接近 50 万次。问题的根源并非什么高深的零日漏洞——而是缺少输入校验、没有认证机制，以及对工具描述的盲目信任。&lt;/p&gt;
&lt;p&gt;如果你正在生产环境中运行 MCP 服务——哪怕只是在 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt; 或 Cursor 里做实验——这篇文章就是你的实战指南，帮你搞清楚出了什么问题以及如何保护自己。&lt;/p&gt;
&lt;p&gt;如果你对 MCP 还不太了解，建议先阅读 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-mcp-protocol-explained/"&gt;MCP 协议详解&lt;/a&gt; 再继续。&lt;/p&gt;
&lt;h2 id="1-数据说话mcp-不断扩大的攻击面"&gt;1. 数据说话：MCP 不断扩大的攻击面&lt;a href="#1-%e6%95%b0%e6%8d%ae%e8%af%b4%e8%af%9dmcp-%e4%b8%8d%e6%96%ad%e6%89%a9%e5%a4%a7%e7%9a%84%e6%94%bb%e5%87%bb%e9%9d%a2" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MCP 生态在 2025 年下半年到 2026 年初经历了爆发式增长，但安全审查完全跟不上节奏。&lt;/p&gt;</description></item><item><title>TypeScript 暴涨 66% 的真相：AI 编程工具正在重塑语言选择</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-typescript-ai-tools/</link><pubDate>Mon, 09 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-typescript-ai-tools/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-typescript-ai-tools/cover.webp"
 alt="TypeScript 暴涨 66%——AI 工具正在重塑开发者的语言选择"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;TypeScript 刚刚成为 &lt;strong&gt;GitHub 上的第一语言&lt;/strong&gt;。不是缓慢爬升——而是以 &lt;strong&gt;66.6% 的年增长率&lt;/strong&gt;飙升至月活 260 万贡献者，一年内超越 Python 和 JavaScript。原因不是什么新框架或杀手级特性，而是 AI。&lt;/p&gt;
&lt;p&gt;GitHub &lt;a href="https://github.blog/news-insights/octoverse/octoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1/"&gt;Octoverse 报告&lt;/a&gt;讲了一个清晰的故事：AI 编程工具正在从根本上改变开发者的语言选择。工具在有类型的语言上表现更好，开发者注意到了，采用率自然跟上。GitHub 开发者布道师 Andrea Griffiths 将此称为**「便利循环」(convenience loop)**——一旦理解了这个循环，TypeScript 的统治地位就是必然的。&lt;/p&gt;
&lt;p&gt;这对每一位使用 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-vs-cursor/"&gt;Cursor&lt;/a&gt; 或其他 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-coding-agents-comparison-2026/"&gt;AI 编程 Agent&lt;/a&gt; 的开发者都至关重要。你写代码用的语言，直接决定了 AI 能帮到你多少。&lt;/p&gt;
&lt;h2 id="数据说话typescript-的爆发式增长"&gt;数据说话：TypeScript 的爆发式增长&lt;a href="#%e6%95%b0%e6%8d%ae%e8%af%b4%e8%af%9dtypescript-%e7%9a%84%e7%88%86%e5%8f%91%e5%bc%8f%e5%a2%9e%e9%95%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;指标&lt;/th&gt;
 &lt;th&gt;数值&lt;/th&gt;
 &lt;th&gt;变化&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;GitHub 月活贡献者&lt;/td&gt;
 &lt;td&gt;2,636,006&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;年增 66.6%&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GitHub 排名&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;第 1&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;从第 3 名升上来&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;新建仓库数&lt;/td&gt;
 &lt;td&gt;所有语言中最多&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;新增贡献者（年）&lt;/td&gt;
 &lt;td&gt;+105 万&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这不仅仅是 TypeScript 在增长——更是一场向类型化语言的整体迁移：&lt;/p&gt;</description></item><item><title>Cursor 完全指南 2026：从安装到高级 Agent 模式实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-08-cursor-setup-guide/</link><pubDate>Sun, 08 Mar 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-08-cursor-setup-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-08-cursor-setup-guide/cover.webp"
 alt="Cursor 完全指南 2026 - 从安装到高级 Agent 模式实战"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Cursor 已经成为 2026 年最强大的 AI 原生 IDE 之一，但大多数开发者只用到了它的皮毛。这篇指南将带你从全新安装一路走到高级 Agent 模式工作流，帮你真正释放 Cursor 的生产力。&lt;/p&gt;
&lt;h2 id="cursor-是什么为什么值得关注"&gt;Cursor 是什么？为什么值得关注？&lt;a href="#cursor-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%ba%e4%bb%80%e4%b9%88%e5%80%bc%e5%be%97%e5%85%b3%e6%b3%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Cursor 是 Visual Studio Code 的一个分支，在开发体验的各个层面都深度集成了 AI。和后期加装的 AI 插件不同，Cursor 的 Agent 模式是从编辑器核心层构建的——它能读取文件、搜索代码库、执行终端命令，还能自主编辑代码。&lt;/p&gt;</description></item><item><title>2026 年 AI 编程工具全面对比：7 款主流工具实测评析</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-coding-agents-comparison-2026/</link><pubDate>Sun, 08 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-ai-coding-agents-comparison-2026/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-ai-coding-agents-comparison-2026/cover.webp"
 alt="2026年7款AI编程工具全面对比：Claude Code、Cursor、Antigravity、Copilot、Kiro、Codex CLI、Windsurf"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年的 AI 编程格局和一年前已经判若两个世界。我们已经从&amp;quot;AI 帮你写几行代码&amp;quot;进化到了 &lt;strong&gt;AI 自主完成编写、测试、部署和迭代整个功能模块&lt;/strong&gt;的阶段。现在的问题不再是&amp;quot;要不要用 AI 编程工具&amp;quot;，而是&amp;quot;怎么搭配才能获得最大优势&amp;quot;。&lt;/p&gt;
&lt;p&gt;本文对比了 &lt;strong&gt;2026 年 7 款主流 AI 编程工具&lt;/strong&gt;，全部经过真实场景测试。没有广告植入，没有赞助软文——只有数据、功能和诚实的推荐。&lt;/p&gt;
&lt;h2 id="2026-年-ai-编程现状"&gt;2026 年 AI 编程现状&lt;a href="#2026-%e5%b9%b4-ai-%e7%bc%96%e7%a8%8b%e7%8e%b0%e7%8a%b6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入每款工具之前，先了解一下行业大背景。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;95% 的专业开发者每周至少使用一次 AI 编程工具。&lt;/strong&gt; 这个数字在 2025 年初还只有 70% 左右。剩下的少数坚守者大多在有严格代码溯源要求的监管行业。&lt;/p&gt;</description></item><item><title>Kiro 深度评测：亚马逊这款「规格驱动」的 AI 编程代理到底行不行？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-kiro-review/</link><pubDate>Sun, 08 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-kiro-review/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-kiro-review/cover.webp"
 alt="Amazon Kiro 评测：2026 年规格驱动的 AI 编程代理"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;亚马逊的 Kiro 上了两次头条。第一次是在 2025 年 re:Invent 大会上，AWS CEO Matt Garman 宣称它能&amp;quot;独立搞定复杂任务的完整工作流&amp;quot;。第二次是在 12 月，它据称删掉了一个生产环境，引发了长达 13 小时的 AWS 服务中断。&lt;/p&gt;
&lt;p&gt;这两件事都说明了一个问题：Kiro 的&lt;strong&gt;野心确实很大&lt;/strong&gt;，但如果不加约束地让它跑，&lt;strong&gt;破坏力也不容小觑&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;本文将深入解析 Kiro 到底是什么、规格驱动的开发模式怎么玩、AWS 宕机事件的来龙去脉，以及它和 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-vs-cursor/"&gt;Cursor&lt;/a&gt;、&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-10-google-antigravity-review/"&gt;Google Antigravity&lt;/a&gt; 之间的差异。&lt;/p&gt;
&lt;h2 id="kiro-是什么"&gt;Kiro 是什么？&lt;a href="#kiro-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kiro 是亚马逊推出的&lt;strong&gt;智能体 AI 编程 IDE&lt;/strong&gt;——一个基于 VS Code 的分支，核心理念是让 AI 代理接管从需求分析到部署的整个开发流程。&lt;/p&gt;</description></item><item><title>用 Python 从零构建 AI 编程 Agent（完整实战教程）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-07-build-ai-agent-python/</link><pubDate>Sat, 07 Mar 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-07-build-ai-agent-python/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-07-build-ai-agent-python/cover.webp"
 alt="用 Python 从零构建 AI 编程 Agent——完整实战教程，涵盖 Agentic Loop 与工具调用"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;每一款 AI 编程工具——&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、Cursor、Copilot——底层跑的都是同一套架构。这篇教程带你亲手搭建这套架构：一个终端 AI 编程 Agent，从零开始，250 行代码，能读文件、写代码、跑命令、自主做多步决策。&lt;/p&gt;
&lt;p&gt;不用框架，不加抽象层，只有 Python 和对 AI Agent 运行原理的透彻理解。&lt;/p&gt;
&lt;h2 id="我们要做什么"&gt;我们要做什么&lt;a href="#%e6%88%91%e4%bb%ac%e8%a6%81%e5%81%9a%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;教程结束时，你会得到一个名为 &lt;strong&gt;MagicCode&lt;/strong&gt; 的 AI 编程 Agent，它能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;读写项目中的文件&lt;/li&gt;
&lt;li&gt;执行 Shell 命令并观察结果&lt;/li&gt;
&lt;li&gt;在代码库中搜索模式&lt;/li&gt;
&lt;li&gt;对现有文件做精确编辑&lt;/li&gt;
&lt;li&gt;自主串联多个操作来完成复杂任务&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我们分四个版本逐步构建：&lt;/p&gt;</description></item><item><title>Codex CLI 深度指南：安装配置、安全模型与 20+ 高手技巧</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-codex-cli-deep-dive/</link><pubDate>Sat, 07 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-codex-cli-deep-dive/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-codex-cli-deep-dive/cover.webp"
 alt="Codex CLI 深度指南：安装配置与高手技巧"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;市面上大多数 Codex CLI 教程只是把官方文档翻译一遍就完事了。这篇文章不一样——我们要深入聊聊&lt;strong&gt;配置体系的设计哲学&lt;/strong&gt;、&lt;strong&gt;安全模型的底层逻辑&lt;/strong&gt;、&lt;strong&gt;真实开发场景的工作流&lt;/strong&gt;，以及&lt;strong&gt;和 Claude Code 的客观对比&lt;/strong&gt;，这些才是你在其他文章里找不到的干货。&lt;/p&gt;
&lt;p&gt;读完这篇文章，你会收获：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一份&lt;strong&gt;可以直接拿去用的 Codex CLI 生产级配置&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;对&lt;strong&gt;沙箱安全模型和权限系统&lt;/strong&gt;的深入理解&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20 多个实战验证过的高手技巧&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;一份&lt;strong&gt;客观的 Claude Code 对比分析&lt;/strong&gt;，帮你选对工具&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="codex-cli-到底是什么"&gt;Codex CLI 到底是什么？&lt;a href="#codex-cli-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Codex CLI 不是&amp;quot;终端里的 ChatGPT&amp;quot;，而是 OpenAI 推出的&lt;strong&gt;本地 AI 编程代理&lt;/strong&gt;，它能：&lt;/p&gt;</description></item><item><title>Google Antigravity 深度测评：这款免费 Agent-First IDE 到底怎么样？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-10-google-antigravity-review/</link><pubDate>Sat, 07 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-10-google-antigravity-review/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-10-google-antigravity-review/cover.webp"
 alt="Google Antigravity 测评：基于 Gemini 3 的免费 Agent-First IDE"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;AI 编程工具这个赛道，隔三差五就有新产品号称要&amp;quot;颠覆一切&amp;quot;。大多数都是说说而已。但 Google Antigravity——2025 年 11 月随 Gemini 3 一同发布，目前已进入公开预览——可能真的做到了一些不一样的东西。它免费、以 Agent 为核心，对编程的理解方式和 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-19-cursor-agent-best-practices/"&gt;Cursor&lt;/a&gt; 以及 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt; 有本质区别。&lt;/p&gt;
&lt;p&gt;经过几周的日常使用，以下是我的真实感受：它哪里做得好、哪里还不行、以及你是否值得切换过去。&lt;/p&gt;
&lt;h2 id="antigravity-有什么不同"&gt;Antigravity 有什么不同&lt;a href="#antigravity-%e6%9c%89%e4%bb%80%e4%b9%88%e4%b8%8d%e5%90%8c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;大多数 AI 编程工具的做法是在已有的编辑器上&amp;quot;嫁接&amp;quot;智能能力。Antigravity 反过来了：&lt;strong&gt;AI Agent 才是主界面&lt;/strong&gt;，编辑器反倒是辅助。&lt;/p&gt;
&lt;p&gt;核心理念是：你不再自己写代码然后找 AI 帮忙，而是描述你想要什么，&lt;strong&gt;让 Agent 替你完成&lt;/strong&gt;——规划、编码、测试、验证，全程自主执行。&lt;/p&gt;</description></item><item><title>OpenAI Symphony：从 Issue 到 PR 全自动，开发者不用动手</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openai-symphony-autonomous-coding/</link><pubDate>Fri, 06 Mar 2026 22:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openai-symphony-autonomous-coding/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openai-symphony-autonomous-coding/cover.webp"
 alt="OpenAI Symphony — 自主编码代理编排框架"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;如果你的工单系统能自己修 Bug，会怎样？&lt;/p&gt;
&lt;p&gt;OpenAI 刚刚开源了 &lt;strong&gt;Symphony&lt;/strong&gt;，一个自动化编排服务。它会持续监控你的项目工单系统（如 Linear），为每个任务自动生成独立的编码代理（如 Codex），然后交付经过验证的 Pull Request——包括 CI 状态、代码审查和演示视频——甚至不需要人类介入。&lt;/p&gt;
&lt;p&gt;这不是另一个等你输入提示词的 AI 编码助手。Symphony 代表了软件构建方式的根本性转变：从&lt;strong&gt;开发者驱动的编码&lt;/strong&gt;转向&lt;strong&gt;项目驱动的编排&lt;/strong&gt;。本文将深入拆解 Symphony 的架构、底层工作原理，并手把手教你如何搭建。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="为什么-symphony-很重要范式转变"&gt;为什么 Symphony 很重要：范式转变&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88-symphony-%e5%be%88%e9%87%8d%e8%a6%81%e8%8c%83%e5%bc%8f%e8%bd%ac%e5%8f%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;当前大多数 AI 编码工具都遵循相同的模式：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;开发者 → 向 AI 提问 → 审查输出 → 修正错误 → 重复
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你仍然是驾驶员，AI 只是副驾驶——有帮助，但本质上是被动的。由你决定做什么、何时开始、如何迭代。&lt;/p&gt;</description></item><item><title>OpenClaw vs AutoGPT vs CrewAI：2026年最佳个人 AI Agent 全面对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-vs-ai-agents/</link><pubDate>Fri, 06 Mar 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-vs-ai-agents/</guid><description>&lt;p&gt;2026年的 AI Agent 赛道竞争异常激烈。OpenClaw 在短短几周内 GitHub Star 数突破24.7万，AutoGPT 开创了自主智能体的先河，CrewAI 简化了 Python 多智能体工作流，LangGraph 引入了基于图的编排方式，AutoGen 提出了多智能体对话范式，Devin 则展示了全商业化 AI 工程师的形态。&lt;/p&gt;
&lt;p&gt;面对这么多选择，到底该用哪个？&lt;/p&gt;
&lt;p&gt;本文将从架构设计、上手难度、多智能体支持、消息集成、成本和生态系统六个维度，对这六款主流 AI Agent 工具进行全面对比。无论你想要一个挂在 Telegram 上的个人 AI 助手、一个辅助开发的编程智能体，还是一套用于 Python 项目的多智能体框架，这里都能给你明确的建议。&lt;/p&gt;
&lt;h2 id="六大工具一览"&gt;六大工具一览&lt;a href="#%e5%85%ad%e5%a4%a7%e5%b7%a5%e5%85%b7%e4%b8%80%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入对比之前，先来看看这六款工具的基本信息：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;类型&lt;/th&gt;
 &lt;th&gt;语言&lt;/th&gt;
 &lt;th&gt;Star 数&lt;/th&gt;
 &lt;th&gt;许可证&lt;/th&gt;
 &lt;th&gt;主要用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Agent 网关&lt;/td&gt;
 &lt;td&gt;Node.js&lt;/td&gt;
 &lt;td&gt;247K+&lt;/td&gt;
 &lt;td&gt;MIT&lt;/td&gt;
 &lt;td&gt;带消息集成的个人 AI Agent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://github.com/Significant-Gravitas/AutoGPT"&gt;AutoGPT&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;自主智能体&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;170K+&lt;/td&gt;
 &lt;td&gt;MIT&lt;/td&gt;
 &lt;td&gt;自主任务完成&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://github.com/crewAIInc/crewAI"&gt;CrewAI&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;多智能体框架&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;28K+&lt;/td&gt;
 &lt;td&gt;MIT&lt;/td&gt;
 &lt;td&gt;团队协作式 AI 工作流&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://github.com/langchain-ai/langgraph"&gt;LangGraph&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Agent 框架&lt;/td&gt;
 &lt;td&gt;Python/JS&lt;/td&gt;
 &lt;td&gt;10K+&lt;/td&gt;
 &lt;td&gt;MIT&lt;/td&gt;
 &lt;td&gt;有状态的图编排智能体&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://github.com/microsoft/autogen"&gt;AutoGen&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;多智能体框架&lt;/td&gt;
 &lt;td&gt;Python&lt;/td&gt;
 &lt;td&gt;40K+&lt;/td&gt;
 &lt;td&gt;MIT&lt;/td&gt;
 &lt;td&gt;多智能体对话&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;&lt;a href="https://devin.ai/"&gt;Devin&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;商业 AI 工程师&lt;/td&gt;
 &lt;td&gt;闭源&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;商业&lt;/td&gt;
 &lt;td&gt;自主软件开发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;关于名称&lt;/strong&gt;：如果你在网上看到过 &amp;ldquo;Moltbot&amp;rdquo; 或 &amp;ldquo;Clawdbot&amp;rdquo;，那些是 OpenClaw 的旧名称，其实是同一个项目。详情参见我们的&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-18-what-is-moltbot/"&gt;项目历史介绍&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>OpenClaw ClawHub Tavily Search Skill 集成完整指南（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-tavily-integration/</link><pubDate>Fri, 06 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-tavily-integration/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-tavily-integration/cover.webp"
 alt="OpenClaw Tavily 集成指南：为 AI Agent 配置网络搜索"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你的 OpenClaw Agent 虽然聪明，但它是&amp;quot;瞎子&amp;quot;——没有网络搜索能力，它只能凭训练数据回答问题。这意味着它给出的答案听起来信心满满，实际上可能已经过时甚至是编造的。你问它昨天的新闻，它要么坦白不知道，要么更糟——一本正经地胡说八道。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://tavily.com/"&gt;Tavily&lt;/a&gt; 解决的正是这个问题。它是一个专为 AI Agent 优化的搜索 API，返回的是干净、结构化的结果，而不是人类浏览器里那种充满噪音的 HTML 页面。把 Tavily 集成到 &lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt; 之后，你的 Agent 就能实时访问互联网，从一个知识受限的聊天机器人升级为具备研究能力的智能助手。&lt;/p&gt;
&lt;p&gt;本文将完整介绍 OpenClaw 与 Tavily 的集成过程：获取 API Key、安装技能、按 Agent 配置权限、选择合适的 Tavily 工具，以及控制使用成本。&lt;/p&gt;
&lt;h2 id="为什么你的-openclaw-agent-需要网络搜索"&gt;为什么你的 OpenClaw Agent 需要网络搜索&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bd%a0%e7%9a%84-openclaw-agent-%e9%9c%80%e8%a6%81%e7%bd%91%e7%bb%9c%e6%90%9c%e7%b4%a2" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;想象一下：一个没有网络搜索的 AI Agent，就像一个被锁在密闭房间里的天才员工。他掌握了训练时学到的一切知识，但对当下正在发生的事情一无所知。具体来说：&lt;/p&gt;</description></item><item><title>OpenClaw 踩坑指南：15 个自动化常见错误及解决方案</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-automation-pitfalls/</link><pubDate>Fri, 06 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-automation-pitfalls/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-automation-pitfalls/cover.webp"
 alt="OpenClaw 自动化踩坑指南，涵盖配置、Agent 行为、成本和安全四大类常见错误"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你装好了 OpenClaw，加上了 Tavily 搜索、proactive-agent，再装几个社区 Skill。头两天一切完美。&lt;/p&gt;
&lt;p&gt;然后问题开始接二连三地冒出来。搜索 API 密钥悄悄过期，Agent 凭空编造了一份完整的研究报告。Opus 被用来处理心跳检查，月账单飙到了 200 美元。从 &lt;a href="https://clawhub.ai/"&gt;ClawHub&lt;/a&gt; 安装的某个 Skill 拿到了不受限的 Shell 权限，开始在工作区之外乱改文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OpenClaw 功能很强大。但没有防护措施的强大，只会让你在凌晨三点收到生产事故的告警。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇指南整理了 OpenClaw 自动化中最常见的 15 个坑，分为四大类：配置、Agent 行为、成本和安全。每个坑都包含出了什么问题、你一定会眼熟的真实场景，以及具体的修复方案。如果你用 OpenClaw 超过一周，这里面至少有三个你已经踩过了。&lt;/p&gt;
&lt;p&gt;刚接触 OpenClaw？建议先看 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-setup-guide/"&gt;安装配置指南&lt;/a&gt;，等 Agent 跑起来之后再回来看这篇。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一配置相关的坑"&gt;一、配置相关的坑&lt;a href="#%e4%b8%80%e9%85%8d%e7%bd%ae%e7%9b%b8%e5%85%b3%e7%9a%84%e5%9d%91" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这些是第一天就会犯的错误。看着无害，直到出事。&lt;/p&gt;</description></item><item><title>Claude Code 斜杠命令、快捷键与 CLI 完全参考手册</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-slash-commands/</link><pubDate>Thu, 05 Mar 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-slash-commands/</guid><description>&lt;p&gt;&lt;img src="cover.webp"
 alt="Claude Code 斜杠命令、键盘快捷键和 CLI 参数完整参考指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code 内置了超过 40 个斜杠命令、数十个键盘快捷键和丰富的 CLI 参数。大多数开发者只用到其中五六个，其余功能一直沉睡在角落——这意味着你错过了节省时间、降低 token 成本和自动化重复工作流的机会。&lt;/p&gt;
&lt;p&gt;这就是你应该收藏的参考手册。每个斜杠命令的作用和使用场景，每个值得记住的快捷键，每个用于脚本和自动化的 CLI 参数，以及如何用 Skills 构建自定义命令。&lt;/p&gt;
&lt;p&gt;不废话，直接上 2026 年 Claude Code 的完整命令参考。&lt;/p&gt;
&lt;h2 id="内置斜杠命令"&gt;内置斜杠命令&lt;a href="#%e5%86%85%e7%bd%ae%e6%96%9c%e6%9d%a0%e5%91%bd%e4%bb%a4" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在输入框开头输入 &lt;code&gt;/&lt;/code&gt; 即可查看所有可用命令。输入 &lt;code&gt;/&lt;/code&gt; 后继续打字可以过滤列表。以下是按用途分类的所有内置命令。&lt;/p&gt;
&lt;h3 id="会话管理"&gt;会话管理&lt;a href="#%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;这些命令控制对话的生命周期——开始新会话、恢复旧工作、管理上下文。&lt;/p&gt;</description></item><item><title>用 Python 构建 MCP 服务器：完整分步教程</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-build-mcp-server-python/</link><pubDate>Thu, 05 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-build-mcp-server-python/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-build-mcp-server-python/cover.webp"
 alt="用 Python 和 FastMCP 分步构建 MCP 服务器教程"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Python 是 AI 开发者最常用的语言，而 &lt;a href="https://github.com/modelcontextprotocol/python-sdk"&gt;MCP Python SDK&lt;/a&gt; 让构建自定义 MCP 服务器变得非常简单。借助基于装饰器的 FastMCP 框架，你只需不到 50 行代码就能从零开始搭建一个可运行的服务器。&lt;/p&gt;
&lt;p&gt;本教程将带你从头开始构建 Python MCP 服务器。你将创建工具、资源和提示词，正确处理错误，使用 MCP Inspector 测试，连接到 Claude Code，并构建一个实用的 SQLite 数据库服务器。所有代码示例都是完整且可运行的。&lt;/p&gt;
&lt;h2 id="什么是-mcp为什么要构建自定义服务器"&gt;什么是 MCP？为什么要构建自定义服务器&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-mcp%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e6%9e%84%e5%bb%ba%e8%87%aa%e5%ae%9a%e4%b9%89%e6%9c%8d%e5%8a%a1%e5%99%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;MCP（Model Context Protocol，模型上下文协议）&lt;/strong&gt; 是一个开放标准，它让 AI 模型能够连接到外部工具、数据库和服务。可以把它想象成 AI 的 USB-C——一个通用协议，适用于 Claude Code、Cursor、VS Code Copilot 以及任何兼容 MCP 的客户端。&lt;/p&gt;</description></item><item><title>OpenClaw 安装配置完全指南：从零搭建你的私人 AI Agent</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-setup-guide/</link><pubDate>Thu, 05 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-setup-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-setup-guide/cover.webp"
 alt="OpenClaw 安装配置指南：涵盖安装部署、参数配置和私人 AI Agent 自动化"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;想拥有一个 7×24 小时运行在自己电脑上、通过 Telegram 或 WhatsApp 就能下达指令、而且真正帮你执行任务而不只是聊天的私人 AI Agent？&lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt; 就是干这个的。它是一个开源 AI Agent 网关，能把你的电脑变成 AI 自动化的指挥中心。&lt;/p&gt;
&lt;p&gt;本文将带你走完 OpenClaw 的全流程：从安装、对接消息平台、配置 AI 模型、安装 Skills 插件，到安全加固。读完之后，你就能拥有一个随时随地可以发消息调度的私人 AI Agent。&lt;/p&gt;
&lt;h2 id="openclaw-是什么为什么有三个名字"&gt;OpenClaw 是什么（为什么有三个名字？）&lt;a href="#openclaw-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%ba%e4%bb%80%e4%b9%88%e6%9c%89%e4%b8%89%e4%b8%aa%e5%90%8d%e5%ad%97" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenClaw 是奥地利开发者 &lt;strong&gt;Peter Steinberger&lt;/strong&gt;（&lt;a href="https://github.com/steipete"&gt;@steipete&lt;/a&gt;）创建的开源私人 AI Agent 项目。上线第一周就斩获 80,000+ GitHub Stars，目前已突破 247,000+，是开源史上增长最快的项目之一。&lt;/p&gt;</description></item><item><title>OpenClaw 多 Agent 搭建指南：让 AI 团队协作起来</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-multi-agent-setup/</link><pubDate>Wed, 04 Mar 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-openclaw-multi-agent-setup/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-multi-agent-setup/cover.webp"
 alt="OpenClaw 多 Agent 搭建指南——AI 团队架构示意"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你搭了一个 OpenClaw 私人助手，它帮你处理 Telegram 消息、搜索网页、写草稿、审代码，一切都很顺。&lt;/p&gt;
&lt;p&gt;直到问题来了——你让它调研一个竞品，它却把昨天写代码时的上下文混了进来。你让它写篇文章，它又从一个完全不相干的项目里拉出调试记录。单个 Agent 被不断膨胀的记忆淹没了，响应越来越慢，结果越来越离谱。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决办法不是写更好的提示词，而是组建团队。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇指南将带你完成 OpenClaw 多 Agent 团队的搭建。你会了解架构设计、配置方法、通信机制，以及让多 Agent 系统真正跑起来的协作模式——不是纸上谈兵，而是可以直接落地的实操。&lt;/p&gt;
&lt;p&gt;如果你还没用过 OpenClaw，建议先看&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-12-openclaw-usage-tutorial/"&gt;入门教程&lt;/a&gt;。如果你已经在跑单个 Agent，这篇正好是下一步。&lt;/p&gt;
&lt;h2 id="为什么单个-agent-不够用"&gt;为什么单个 Agent 不够用&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e5%8d%95%e4%b8%aa-agent-%e4%b8%8d%e5%a4%9f%e7%94%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="你一定会撞上的三面墙"&gt;你一定会撞上的三面墙&lt;a href="#%e4%bd%a0%e4%b8%80%e5%ae%9a%e4%bc%9a%e6%92%9e%e4%b8%8a%e7%9a%84%e4%b8%89%e9%9d%a2%e5%a2%99" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;大多数人一开始都只用一个 Agent 干所有事。第一周没问题，之后三个问题就冒出来了：&lt;/p&gt;</description></item><item><title>Claude Code 和 Copilot 哪个好？用了三个月的真实对比结论</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-vs-copilot/</link><pubDate>Wed, 04 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-vs-copilot/</guid><description>&lt;p&gt;&lt;img src="cover.webp"
 alt="Claude Code 与 GitHub Copilot 2026年AI编程工具对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;在2026年，选择 &lt;strong&gt;Claude Code&lt;/strong&gt; 还是 &lt;strong&gt;GitHub Copilot&lt;/strong&gt; 是开发者面临的最常见决策之一。两款工具都利用 AI 加速编程，但它们采用了根本不同的方式——一个是基于终端的自主 Agent，另一个是 IDE 优先的代码补全平台。&lt;/p&gt;
&lt;p&gt;本文从架构、代码生成、定价、Agent 能力和实际使用场景等方面进行全面对比。读完后你将清楚地知道哪款工具适合你的工作流——或者是否应该两个都用。&lt;/p&gt;
&lt;h2 id="快速对比表"&gt;快速对比表&lt;a href="#%e5%bf%ab%e9%80%9f%e5%af%b9%e6%af%94%e8%a1%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先看一眼全面对比：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Claude Code&lt;/th&gt;
 &lt;th style="text-align: center"&gt;GitHub Copilot&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;定位&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;终端优先的自主 Agent&lt;/td&gt;
 &lt;td style="text-align: center"&gt;IDE 优先的代码补全 + Agent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;擅长&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;复杂多文件任务&lt;/td&gt;
 &lt;td style="text-align: center"&gt;行内补全、广泛 IDE 支持&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;免费版&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;无&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有（每月 2,000 次补全）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;入门价格&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月（Pro）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$10/月（Pro）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;进阶价格&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$100/月（Max 5x）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$39/月（Pro+）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;高级价格&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$200/月（Max 20x）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;主力模型&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Claude Opus 4.6&lt;/td&gt;
 &lt;td style="text-align: center"&gt;GPT-5.3-Codex + 多模型&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;上下文窗口&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;200K tokens（1M Beta）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;因模型而异&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;行内补全&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;无&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有（业界领先）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Agent 模式&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;原生（核心设计）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有（IDE + CLI）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;多 Agent&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Agent Teams、子 Agent&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Coding Agent + 专用 Agent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;IDE 支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;VS Code、JetBrains 插件 + 终端&lt;/td&gt;
 &lt;td style="text-align: center"&gt;6+ IDE 原生支持&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;终端原生&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;是（主要界面）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;是（Copilot CLI，2026年2月 GA）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitHub 集成&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;通过 CLI&lt;/td&gt;
 &lt;td style="text-align: center"&gt;原生（Issues、PR、Actions）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP 支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;是&lt;/td&gt;
 &lt;td style="text-align: center"&gt;否&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Hooks/自动化&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;是&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;用户规模&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;快速增长&lt;/td&gt;
 &lt;td style="text-align: center"&gt;2000万+ 开发者&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="架构对比agent-vs-平台"&gt;架构对比：Agent vs 平台&lt;a href="#%e6%9e%b6%e6%9e%84%e5%af%b9%e6%af%94agent-vs-%e5%b9%b3%e5%8f%b0" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code 和 GitHub Copilot 之间的根本区别在于架构理念。理解这个区别是选择正确工具的关键。&lt;/p&gt;</description></item><item><title>Claude Code Hooks 完全指南：自动化你的 AI 工作流（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-hooks-guide/</link><pubDate>Wed, 04 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-hooks-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-hooks-guide/cover.webp"
 alt="Claude Code Hooks 自动化 AI 编程工作流指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code 本质上是概率性的。让它格式化代码，它可能会做。告诉它永远不要碰 &lt;code&gt;.env&lt;/code&gt; 文件，它通常会遵守——直到某次它不遵守。&lt;/p&gt;
&lt;p&gt;Claude Code Hooks 解决了这个问题。它们是在 Claude 运行过程中特定节点自动执行的 Shell 命令、HTTP 端点或 LLM 提示。在文件编辑之前、命令执行之后、会话开始时、Claude 完成任务时——Hooks 让你对工作流中不能靠运气的部分拥有确定性控制。&lt;/p&gt;
&lt;p&gt;本指南涵盖你需要的一切：什么是 Hooks、全部 17 个生命周期事件、配置格式、8 个可直接复制使用的实战案例、matcher 规则，以及何时选择 Hooks 而非 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-claudemd-guide/"&gt;CLAUDE.md&lt;/a&gt; 或 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-skills-guide/"&gt;Skills&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="什么是-claude-code-hooks"&gt;什么是 Claude Code Hooks？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-claude-code-hooks" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hooks 是用户定义的自动化操作，Claude Code 会在特定生命周期节点执行。可以把它们想象成 &lt;a href="https://git-scm.com/docs/githooks"&gt;Git hooks&lt;/a&gt;，只不过是给你的 AI 编程助手用的，而不是版本控制系统。&lt;/p&gt;</description></item><item><title>CLAUDE.md 最佳实践：写出真正有效的配置文件</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-claudemd-best-practices/</link><pubDate>Tue, 03 Mar 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-claude-code-claudemd-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-claudemd-best-practices/cover.webp"
 alt="CLAUDE.md 最佳实践指南：编写高效的 Claude Code 配置文件"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;大多数 CLAUDE.md 文件写得很糟糕。它们要么是空的，要么塞满了 500 行自动生成的样板文本，要么充斥着&amp;quot;写干净的代码&amp;quot;这类模糊指令——而 Claude 本来就在尽力做到这一点。&lt;/p&gt;
&lt;p&gt;一份写得好的 CLAUDE.md 能将 Claude Code 从一个通用助手转变为了解你的技术栈、遵循你的规范、避免项目特定陷阱的团队成员。一份写得差的则浪费上下文 token，给你一种虚假的掌控感。&lt;/p&gt;
&lt;p&gt;本指南聚焦于&lt;strong&gt;如何做&lt;/strong&gt;——编写真正能改变 Claude 行为的 CLAUDE.md 实用模式。你将看到不同项目类型的真实示例、让 CLAUDE.md 失效的具体错误，以及 CLAUDE.md vs AGENTS.md vs .cursorrules 的清晰对比。如果你需要先了解基础知识（CLAUDE.md 是什么、如何加载、三层系统），请先阅读我们的 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-claudemd-guide/"&gt;CLAUDE.md 入门指南&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="claudemd-的加载机制"&gt;CLAUDE.md 的加载机制&lt;a href="#claudemd-%e7%9a%84%e5%8a%a0%e8%bd%bd%e6%9c%ba%e5%88%b6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在编写有效规则之前，你需要了解加载机制。&lt;a href="https://docs.anthropic.com/en/docs/claude-code/memory"&gt;Claude Code&lt;/a&gt; 会按特定优先级从多个位置自动加载 CLAUDE.md 文件：&lt;/p&gt;</description></item><item><title>2026 年最值得装的 18 个 MCP 服务器：Claude Code 实测精选</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-05-best-mcp-servers-claude-code/</link><pubDate>Tue, 03 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-05-best-mcp-servers-claude-code/</guid><description>&lt;p&gt;MCP 生态正在爆发式增长。自从 Anthropic 在 2024 年底开源了 Model Context Protocol 以来，社区已经构建了超过 10,000 个公开的 MCP 服务器，官方 TypeScript 和 Python SDK 的下载量已突破 9,700 万次。每个主流 AI 工具厂商——Anthropic、OpenAI、Google、Microsoft——都已将 MCP 作为连接 AI 代理与外部工具的标准协议。&lt;/p&gt;
&lt;p&gt;但面对成千上万的服务器，找到真正有用的才是难点。&lt;/p&gt;
&lt;p&gt;这篇指南帮你过滤噪音。以下是 2026 年对 Claude Code 用户最有价值的 18 个 MCP 服务器，按类别整理，附带可以直接复制粘贴的安装命令。&lt;/p&gt;
&lt;h2 id="快速入门如何在-claude-code-中安装-mcp-服务器"&gt;快速入门：如何在 Claude Code 中安装 MCP 服务器&lt;a href="#%e5%bf%ab%e9%80%9f%e5%85%a5%e9%97%a8%e5%a6%82%e4%bd%95%e5%9c%a8-claude-code-%e4%b8%ad%e5%ae%89%e8%a3%85-mcp-%e6%9c%8d%e5%8a%a1%e5%99%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先了解 Claude Code 中 MCP 服务器的安装方式。&lt;/p&gt;</description></item><item><title>Claude Code 价格 2026：免费/Pro $20/Max $200 真实花费对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-pricing/</link><pubDate>Tue, 03 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-pricing/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-pricing/cover.webp"
 alt="Claude Code 各套餐价格对比一览"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code"&gt;Claude Code&lt;/a&gt; 可以说是目前最强的终端 AI 编程工具。但强大是有代价的——Anthropic 的定价体系并不那么一目了然。&lt;/p&gt;
&lt;p&gt;$20 的 Pro 够用吗？$200 的 Max 对重度用户真的划算吗？直接走 API 会不会更省钱？和 Cursor、Copilot、Codex CLI 比起来怎么样？&lt;/p&gt;
&lt;p&gt;这篇文章把 2026 年 Claude Code 的所有定价方案拆开讲清楚，帮你找到最适合自己的那个。&lt;/p&gt;
&lt;h2 id="一览表所有方案快速对比"&gt;一览表：所有方案快速对比&lt;a href="#%e4%b8%80%e8%a7%88%e8%a1%a8%e6%89%80%e6%9c%89%e6%96%b9%e6%a1%88%e5%bf%ab%e9%80%9f%e5%af%b9%e6%af%94" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;方案&lt;/th&gt;
 &lt;th&gt;价格&lt;/th&gt;
 &lt;th&gt;Claude Code&lt;/th&gt;
 &lt;th&gt;适合谁&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;免费版&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$0&lt;/td&gt;
 &lt;td&gt;不支持&lt;/td&gt;
 &lt;td&gt;偶尔聊聊天&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Pro&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$20/月&lt;/td&gt;
 &lt;td&gt;支持（有限）&lt;/td&gt;
 &lt;td&gt;轻量编程，小项目&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 5x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$100/月&lt;/td&gt;
 &lt;td&gt;完整支持&lt;/td&gt;
 &lt;td&gt;日常专业开发&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 20x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$200/月&lt;/td&gt;
 &lt;td&gt;完整支持 + 优先&lt;/td&gt;
 &lt;td&gt;全天高强度编码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Team&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$25–150/人/月&lt;/td&gt;
 &lt;td&gt;支持（Premium 席位）&lt;/td&gt;
 &lt;td&gt;5–150 人团队&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Enterprise&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;定制报价&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;td&gt;大型企业&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;API&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;按 Token 计费&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;td&gt;自定义集成，精确控费&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="各方案详细拆解"&gt;各方案详细拆解&lt;a href="#%e5%90%84%e6%96%b9%e6%a1%88%e8%af%a6%e7%bb%86%e6%8b%86%e8%a7%a3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="免费版0"&gt;免费版（$0）&lt;a href="#%e5%85%8d%e8%b4%b9%e7%89%880" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;免费版可以在 Claude.ai 上进行基本对话，但&lt;strong&gt;不包含 Claude Code&lt;/strong&gt;。想用 Claude Code，至少需要 Pro 订阅或 API Key。&lt;/p&gt;</description></item><item><title>OpenClaw 2026.3.1 新功能详解：WebSocket 流式传输、Agent 路由与 K8s 支持</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-03-openclaw-2026-3-1-new-features/</link><pubDate>Tue, 03 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-03-openclaw-2026-3-1-new-features/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-03-openclaw-2026-3-1-new-features/cover.webp"
 alt="OpenClaw 2026.3.1 新功能概览，展示 WebSocket 流式传输、Agent 路由和 Kubernetes 支持"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt; 刚刚发布了 2026.3.1 版本——这次更新值得关注。面向 OpenAI 模型的 WebSocket 优先流式传输、原生 Kubernetes 健康检查、完善的 Agent 路由 CLI，以及默认启用的 Claude 4.6 自适应思考。&lt;/p&gt;
&lt;p&gt;如果你正在生产环境中运行 OpenClaw，或者正在考虑将其纳入你的 AI Agent 工作流，本指南将详细介绍此次版本的每一个重要变更、对你的环境意味着什么，以及如何配置新功能。&lt;/p&gt;
&lt;h2 id="变更概览"&gt;变更概览&lt;a href="#%e5%8f%98%e6%9b%b4%e6%a6%82%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenClaw 2026.3.1 是一个&lt;strong&gt;面向生产就绪的版本&lt;/strong&gt;。之前的版本侧重于扩展平台集成和 Agent 能力，而这次更新的重点是让 OpenClaw 更快、更易管理、更方便大规模部署。&lt;/p&gt;</description></item><item><title>Tmux 完全指南：从入门到 AI 多智能体并行开发工作流</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-03-tmux-guide-ai-development/</link><pubDate>Tue, 03 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-03-tmux-guide-ai-development/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-03-tmux-guide-ai-development/cover.webp"
 alt="用于 AI 开发工作流的 tmux 终端复用器"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;如果你在终端工作，大概遇到过这些情况：SSH 连接在长时间运行的任务中断开、在多个终端窗口之间手忙脚乱地调试、或者眼睁睁看着 Claude Code 的对话在笔记本休眠时消失。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tmux 能解决所有这些问题&lt;/strong&gt; —— 在 AI 驱动的开发时代，它可以说是你最值得学习的终端工具。&lt;/p&gt;
&lt;p&gt;本指南将带你从零 tmux 基础到熟练运行并行 AI 编码智能体。无论你是完全的新手，还是希望提升 AI 工作流的资深开发者，都能在这里找到有价值的内容。&lt;/p&gt;
&lt;h2 id="什么是-tmux"&gt;什么是 Tmux？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-tmux" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Tmux 是 &lt;strong&gt;terminal multiplexer&lt;/strong&gt;（终端复用器）的缩写。它的核心功能有三个：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;会话持久化&lt;/strong&gt; —— 终端会话在断开连接、SSH 掉线、笔记本休眠后依然存活&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;窗口管理&lt;/strong&gt; —— 在单个连接中管理多个终端窗口&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;窗格分屏&lt;/strong&gt; —— 将一个窗口分割成多个区域&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;可以把它理解为终端的窗口管理器。就像桌面操作系统可以有多个应用窗口一样，tmux 让你在一个连接中拥有多个终端会话。&lt;/p&gt;</description></item><item><title>Vibe Coding 详解：它是什么，怎样才能用好？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-vibe-coding-explained/</link><pubDate>Tue, 03 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-vibe-coding-explained/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-vibe-coding-explained/cover.webp"
 alt="Vibe Coding 详解——2026 年的 AI 开发方式"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2025 年 2 月，OpenAI 联合创始人、前 Tesla AI 总监 Andrej Karpathy 在 X 上发了这样一段话：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;有一种新的编程方式我称之为&amp;rsquo;vibe coding&amp;rsquo;，你完全沉浸在氛围中，拥抱指数级增长，忘记代码的存在。&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这条帖子定义了一场运动。&amp;ldquo;Vibe coding&amp;quot;成为 &lt;a href="https://www.collinsdictionary.com/word-of-the-year"&gt;Collins 词典 2025 年度词汇&lt;/a&gt;，被收入 &lt;a href="https://www.merriam-webster.com/"&gt;Merriam-Webster&lt;/a&gt;，并引发了软件工程领域自&amp;quot;Tab 还是空格&amp;quot;以来最激烈的争论。&lt;/p&gt;
&lt;p&gt;到 2026 年，Vibe Coding 不再只是一个梗——它已经成为被初创公司、企业团队和独立开发者广泛使用的正式开发方法。但它也常被误解、误用，有时甚至带来危险。&lt;/p&gt;
&lt;p&gt;本文将详细解释 Vibe Coding 到底是什么，什么时候该用，什么时候该避免，以及如何负责任地使用它。&lt;/p&gt;
&lt;h2 id="vibe-coding-到底意味着什么"&gt;Vibe Coding 到底意味着什么&lt;a href="#vibe-coding-%e5%88%b0%e5%ba%95%e6%84%8f%e5%91%b3%e7%9d%80%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="核心理念"&gt;核心理念&lt;a href="#%e6%a0%b8%e5%bf%83%e7%90%86%e5%bf%b5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;传统编程：&lt;strong&gt;你亲手编写每一行代码。&lt;/strong&gt;
AI 辅助编程：&lt;strong&gt;你编写代码，AI 提供补全建议。&lt;/strong&gt;
Vibe Coding：&lt;strong&gt;你描述需求，AI 编写代码，你把控方向，不必逐行阅读每行代码。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>MCP 协议详解：AI 工具的通用连接标准</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-mcp-protocol-explained/</link><pubDate>Mon, 02 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-mcp-protocol-explained/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-mcp-protocol-explained/cover.webp"
 alt="MCP 协议架构与生态系统详解（2026）"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;每个 AI 编程工具都需要连接外部服务 —— 数据库、API、云平台、项目管理工具。在 MCP 出现之前，每个连接都需要写定制的集成代码。为 Claude Code 写一套？换 Cursor 还得重写。再换 Copilot 又得重来一遍。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Model Context Protocol（MCP）&lt;/strong&gt; 用一个通用标准解决了这个问题：只需构建一次集成，就能在所有支持 MCP 的 AI 工具中使用。&lt;/p&gt;
&lt;p&gt;把 MCP 想象成 &lt;strong&gt;AI 界的 USB-C&lt;/strong&gt;。在 USB-C 出现之前，每个设备都有自己的充电线。MCP 对 AI 工具集成做了同样的事 —— 一个协议连接任意 AI 与任意外部服务。&lt;/p&gt;
&lt;p&gt;本文详细讲解 MCP 是什么、怎么工作、以及为什么它正在成为 2026 年 AI 开发的默认标准。&lt;/p&gt;
&lt;h2 id="为什么-mcp-如此重要"&gt;为什么 MCP 如此重要&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88-mcp-%e5%a6%82%e6%ad%a4%e9%87%8d%e8%a6%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在 MCP 出现之前，把 AI 工具连接到 Slack 这样的服务需要：&lt;/p&gt;</description></item><item><title>Claude vs ChatGPT vs Gemini：2026年最佳编程LLM对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-02-claude-vs-chatgpt-vs-gemini/</link><pubDate>Mon, 02 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-02-claude-vs-chatgpt-vs-gemini/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-02-claude-vs-chatgpt-vs-gemini/cover.webp"
 alt="2026年 Claude vs ChatGPT vs Gemini 编程能力对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年选择合适的编程 LLM 比以往任何时候都难。Claude Opus 4.6、GPT-5.2 和 Gemini 2.5 Pro 都声称自己是最擅长写代码的模型——但现实情况远比宣传复杂。&lt;/p&gt;
&lt;p&gt;我花了数月时间用这三个模型构建真实项目。这篇对比将跳过营销话术，基于基准测试、定价和实战经验，告诉你哪个模型在不同编程任务中真正表现最好。&lt;/p&gt;
&lt;h2 id="模型概览"&gt;模型概览&lt;a href="#%e6%a8%a1%e5%9e%8b%e6%a6%82%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入对比之前，先看看我们比较的对象：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;模型&lt;/th&gt;
 &lt;th&gt;公司&lt;/th&gt;
 &lt;th&gt;发布时间&lt;/th&gt;
 &lt;th&gt;上下文窗口&lt;/th&gt;
 &lt;th&gt;最大输出&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Claude Opus 4.6&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Anthropic&lt;/td&gt;
 &lt;td&gt;2026年2月&lt;/td&gt;
 &lt;td&gt;20万（100万 beta）&lt;/td&gt;
 &lt;td&gt;12.8万 token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GPT-5.2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;OpenAI&lt;/td&gt;
 &lt;td&gt;2026年2月&lt;/td&gt;
 &lt;td&gt;~20万&lt;/td&gt;
 &lt;td&gt;10万 token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Gemini 2.5 Pro&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Google&lt;/td&gt;
 &lt;td&gt;2025年2月&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;100万（原生）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;~6.5万 token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;三者都是多模态模型（文本+图像输入），支持工具调用，并提供 API 访问。差异主要体现在编程性能、定价和专项能力上。&lt;/p&gt;</description></item><item><title>GitHub Copilot vs Claude Code vs Cursor：2026 全面对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-copilot-vs-claude-vs-cursor/</link><pubDate>Mon, 02 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-copilot-vs-claude-vs-cursor/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-copilot-vs-claude-vs-cursor/cover.webp"
 alt="GitHub Copilot vs Claude Code vs Cursor 2026 年对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年，三款 AI 编程工具占据主导地位：&lt;strong&gt;GitHub Copilot&lt;/strong&gt;、&lt;strong&gt;Claude Code&lt;/strong&gt; 和 &lt;strong&gt;Cursor&lt;/strong&gt;。它们各自采用了根本不同的 AI 辅助开发方式——在它们之间做出选择（或组合使用）会显著影响你的开发效率。&lt;/p&gt;
&lt;p&gt;本指南从真正重要的维度对三者进行全面对比：定价、Agent 能力、代码补全、IDE 支持以及实际使用场景。&lt;/p&gt;
&lt;h2 id="30-秒快速概览"&gt;30 秒快速概览&lt;a href="#30-%e7%a7%92%e5%bf%ab%e9%80%9f%e6%a6%82%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;GitHub Copilot&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Claude Code&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Cursor&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;定位&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;IDE 扩展&lt;/td&gt;
 &lt;td style="text-align: center"&gt;终端 Agent&lt;/td&gt;
 &lt;td style="text-align: center"&gt;AI 原生 IDE&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;最擅长&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;行内补全&lt;/td&gt;
 &lt;td style="text-align: center"&gt;自主任务&lt;/td&gt;
 &lt;td style="text-align: center"&gt;全方位 IDE 体验&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;最低价&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;免费 / $10/月&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月&lt;/td&gt;
 &lt;td style="text-align: center"&gt;免费 / $20/月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;高级版&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$39/月 (Pro+)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$100/月 (Max 5x)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$200/月 (Ultra)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;模型&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;GPT-4.1, Claude Sonnet&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Opus 4.6, Sonnet 4.6&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Claude, GPT, Gemini&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;IDE 支持&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;6+ 个 IDE&lt;/td&gt;
 &lt;td style="text-align: center"&gt;终端 + IDE 插件&lt;/td&gt;
 &lt;td style="text-align: center"&gt;VS Code 分支&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;用户数&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;2000万+&lt;/td&gt;
 &lt;td style="text-align: center"&gt;快速增长中&lt;/td&gt;
 &lt;td style="text-align: center"&gt;快速增长中&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="定价详解"&gt;定价详解&lt;a href="#%e5%ae%9a%e4%bb%b7%e8%af%a6%e8%a7%a3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="个人版"&gt;个人版&lt;a href="#%e4%b8%aa%e4%ba%ba%e7%89%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;档位&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Copilot&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Claude Code&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Cursor&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;免费&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$0 (2K 补全/月)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;无 Code 权限&lt;/td&gt;
 &lt;td style="text-align: center"&gt;功能受限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;入门&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$10/月 (Pro)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月 (Pro)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月 (Pro)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;进阶&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$39/月 (Pro+)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$100/月 (Max 5x)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$60/月 (Pro+)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;旗舰&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;—&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$200/月 (Max 20x)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$200/月 (Ultra)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="团队企业版"&gt;团队/企业版&lt;a href="#%e5%9b%a2%e9%98%9f%e4%bc%81%e4%b8%9a%e7%89%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Copilot&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Claude Code&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Cursor&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;团队&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$39/用户/月&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$25–150/用户/月&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$40/用户/月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;企业&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$39/用户/月&lt;/td&gt;
 &lt;td style="text-align: center"&gt;定制&lt;/td&gt;
 &lt;td style="text-align: center"&gt;定制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SOC2/SSO&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;支持&lt;/td&gt;
 &lt;td style="text-align: center"&gt;支持 (企业版)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;支持 (团队版)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;性价比之王&lt;/strong&gt;：Copilot Pro 月费 $10 是最便宜的付费选项。其免费版每月 2,000 次补全对轻度用户来说完全够用。&lt;/p&gt;</description></item><item><title>用 TypeScript 构建 MCP Server：从零到发布完整教程</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-02-building-mcp-servers-typescript/</link><pubDate>Mon, 02 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-02-building-mcp-servers-typescript/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-02-building-mcp-servers-typescript/cover.webp"
 alt="用 TypeScript 从零构建 MCP Server 到发布"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;MCP（Model Context Protocol，模型上下文协议）是 2026 年让 AI 模型访问外部工具、数据和服务的标准方式。如果你用过 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt; 或 Cursor，你已经在使用 MCP Server 了——从数据库查询到 API 集成，都是它在背后驱动。&lt;/p&gt;
&lt;p&gt;本教程将带你从零开始用 TypeScript 构建自己的 MCP Server，从项目初始化到发布到 npm。完成后，你将拥有一个任何 MCP 兼容客户端都能使用的可运行服务器。&lt;/p&gt;
&lt;h2 id="什么是-mcp30-秒版本"&gt;什么是 MCP？30 秒版本&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-mcp30-%e7%a7%92%e7%89%88%e6%9c%ac" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;MCP 就是 AI 的 USB-C。&lt;/strong&gt; 就像 USB-C 让你的笔记本通过一个标准接口连接显示器、硬盘和键盘，MCP 让 AI 模型通过一个标准协议连接数据库、API 和文件系统。&lt;a href="https://spec.modelcontextprotocol.io/"&gt;MCP 官方规范&lt;/a&gt; 定义了完整的协议细节。&lt;/p&gt;</description></item><item><title>Claude Code vs Cursor 2026：哪个 AI 编程工具更强？</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-vs-cursor/</link><pubDate>Sun, 01 Mar 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-vs-cursor/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-vs-cursor/cover.webp"
 alt="2026 年 Claude Code vs Cursor AI 编程工具对比"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年开发者圈最火的两款 AI 编程工具：&lt;strong&gt;Claude Code&lt;/strong&gt; 和 &lt;strong&gt;Cursor&lt;/strong&gt;。两者都很强大，都能处理复杂的多文件任务。但它们的设计理念截然不同。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; 是终端优先的自主 Agent。你给它一个任务，它自己规划、执行、验证，覆盖整个代码库。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt; 是 AI 原生 IDE。它在 VS Code 基础上深度集成了 AI 能力——行内补全、Agent 模式、可视化编辑，一体化体验。&lt;/p&gt;
&lt;p&gt;本文从五个关键维度全面测评，帮你判断哪个更适合你的工作流——或者，你是否两个都需要。&lt;/p&gt;
&lt;h2 id="快速对比"&gt;快速对比&lt;a href="#%e5%bf%ab%e9%80%9f%e5%af%b9%e6%af%94" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Claude Code&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Cursor&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;架构&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;终端 Agent&lt;/td&gt;
 &lt;td style="text-align: center"&gt;AI 原生 IDE（VS Code 分支）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;最强模型&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Opus 4.6 / Sonnet 4.6&lt;/td&gt;
 &lt;td style="text-align: center"&gt;多模型（Claude、GPT、Gemini）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;入门价格&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月（Pro）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$20/月（Pro）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;高阶价格&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$100/月（Max 5x）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;$200/月（Ultra）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;代码补全&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;无行内补全&lt;/td&gt;
 &lt;td style="text-align: center"&gt;优秀的行内补全&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Agent 模式&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;原生终端 Agent&lt;/td&gt;
 &lt;td style="text-align: center"&gt;Composer + Background Agents&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;多文件编辑&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;优秀&lt;/td&gt;
 &lt;td style="text-align: center"&gt;优秀&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;上下文窗口&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;200K–1M tokens&lt;/td&gt;
 &lt;td style="text-align: center"&gt;70K–120K（实际有效）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Token 效率&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;基准（1x）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;约 5.5 倍消耗&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;学习曲线&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;较陡&lt;/td&gt;
 &lt;td style="text-align: center"&gt;低（VS Code 用户）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="1-agent-能力"&gt;1. Agent 能力&lt;a href="#1-agent-%e8%83%bd%e5%8a%9b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="claude-codeagent-优先设计"&gt;Claude Code：Agent 优先设计&lt;a href="#claude-codeagent-%e4%bc%98%e5%85%88%e8%ae%be%e8%ae%a1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Claude Code 从第一天起就作为自主 Agent 来构建。它的 Agent 循环：&lt;/p&gt;</description></item><item><title>Claude Code 完全指南 2026：从安装到工作流一篇看懂（新手到进阶）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/</link><pubDate>Sun, 01 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-complete-guide/cover.webp"
 alt="Claude Code 2026 完全指南：涵盖所有功能与工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code"&gt;Claude Code&lt;/a&gt; 是 Anthropic 推出的终端 AI 编程智能体。与 IDE 插件只提供代码补全不同，Claude Code 是一个&lt;strong&gt;自主智能体&lt;/strong&gt; —— 它能读懂你的代码库、制定多步骤修改方案、编写代码、运行测试，并自动迭代直到任务完成。&lt;/p&gt;
&lt;p&gt;自发布以来，Claude Code 已经成为开发者的首选工具。它能重构整个模块、搭建 CI/CD 流水线、跨文件调试复杂问题，甚至管理 git 工作流 —— 一切都在终端中完成。&lt;/p&gt;
&lt;p&gt;本文是 &lt;strong&gt;Claude Code 的全景导航页&lt;/strong&gt;。无论你是第一次安装，还是想优化高级多智能体工作流，都能在这里找到对应的资源。&lt;/p&gt;
&lt;h2 id="claude-code-有什么不同"&gt;Claude Code 有什么不同&lt;a href="#claude-code-%e6%9c%89%e4%bb%80%e4%b9%88%e4%b8%8d%e5%90%8c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入功能之前，先了解一下 Claude Code 和 Cursor、Copilot、Codex CLI 等工具的本质区别。&lt;/p&gt;</description></item><item><title>RAG 管道搭建指南：向量数据库 + LLM 集成实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-03-01-rag-pipeline-setup/</link><pubDate>Sun, 01 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-03-01-rag-pipeline-setup/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-01-rag-pipeline-setup/cover.webp"
 alt="RAG 管道架构图：展示文档处理、向量存储和 LLM 集成工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;大语言模型（LLM）非常强大，但有两个根本性的局限：知识截止于训练数据的日期，而且对你的私有数据一无所知。检索增强生成（RAG）通过在查询时将 LLM 连接到外部知识库来解决这两个问题。&lt;/p&gt;
&lt;p&gt;本指南将带你从零搭建一套完整的 RAG 管道。你将了解 Embedding 的工作原理、如何选择向量数据库、如何实施有效的分块策略，以及如何用 Python 把所有组件串联起来。无论你是在构建客服机器人、文档助手，还是&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-21-ai-agent-memory-systems/"&gt;带记忆的 AI Agent&lt;/a&gt;，RAG 管道都是基础设施。&lt;/p&gt;
&lt;h2 id="什么是-rag为什么重要"&gt;什么是 RAG？为什么重要？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-rag%e4%b8%ba%e4%bb%80%e4%b9%88%e9%87%8d%e8%a6%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RAG 全称是检索增强生成（Retrieval-Augmented Generation）。概念很简单：在让 LLM 生成回答之前，先从你的知识库中检索相关信息，然后将其注入到 prompt 中。&lt;/p&gt;
&lt;p&gt;RAG 解决了这样的问题：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;没有 RAG：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 用户：&amp;#34;我们公司的退款政策是什么？&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; LLM：&amp;#34;我没有你公司的具体政策信息……&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;使用 RAG：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 用户：&amp;#34;我们公司的退款政策是什么？&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 系统：[检索 refund-policy.pdf 片段] → 注入到 prompt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; LLM：&amp;#34;根据你的政策文档，30天内可以退款……&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="为什么不直接用更长的上下文窗口"&gt;为什么不直接用更长的上下文窗口？&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e4%b8%8d%e7%9b%b4%e6%8e%a5%e7%94%a8%e6%9b%b4%e9%95%bf%e7%9a%84%e4%b8%8a%e4%b8%8b%e6%96%87%e7%aa%97%e5%8f%a3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;现代 LLM 支持 100K+ token 的上下文窗口。为什么不把所有文档都塞进 prompt？&lt;/p&gt;</description></item><item><title>Claude 速率限制 2026：免费版/Pro/Max 每5小时消息上限详解</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-rate-limits/</link><pubDate>Sat, 28 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-rate-limits/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-rate-limits/cover.webp"
 alt="2026年Claude Pro、Max 5x、Max 20x套餐速率限制对比图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;如果你使用 &lt;a href="https://github.com/anthropics/claude-code"&gt;Claude Code&lt;/a&gt; 超过一天，你很可能已经遇到过速率限制。那个令人沮丧的&amp;quot;你已达到使用限制&amp;quot;消息，往往出现在调试的关键时刻。&lt;/p&gt;
&lt;p&gt;问题不在于限制本身的存在——而在于&lt;strong&gt;没有人把它说清楚&lt;/strong&gt;。Anthropic的官方文档含糊其辞（&amp;ldquo;用量可能有所不同&amp;rdquo;），社区帖子早已过时，而你的实际体验取决于一些你根本看不到的因素。&lt;/p&gt;
&lt;p&gt;本指南直击核心。覆盖每个套餐和API层级的所有Claude速率限制，附带真实数据和实用的应对策略。&lt;/p&gt;
&lt;h2 id="快速参考各套餐一览"&gt;快速参考：各套餐一览&lt;a href="#%e5%bf%ab%e9%80%9f%e5%8f%82%e8%80%83%e5%90%84%e5%a5%97%e9%a4%90%e4%b8%80%e8%a7%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;套餐&lt;/th&gt;
 &lt;th&gt;价格&lt;/th&gt;
 &lt;th style="text-align: right"&gt;消息数 / 5小时&lt;/th&gt;
 &lt;th style="text-align: left"&gt;每周限额&lt;/th&gt;
 &lt;th style="text-align: center"&gt;Opus访问&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;免费&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$0&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~2–5&lt;/td&gt;
 &lt;td style="text-align: left"&gt;无&lt;/td&gt;
 &lt;td style="text-align: center"&gt;否&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Pro&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$20/月&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~10–45&lt;/td&gt;
 &lt;td style="text-align: left"&gt;~40–80小时&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 5x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$100/月&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~50–200&lt;/td&gt;
 &lt;td style="text-align: left"&gt;~140–280小时&lt;/td&gt;
 &lt;td style="text-align: center"&gt;完整&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Max 20x&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$200/月&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~200–800&lt;/td&gt;
 &lt;td style="text-align: left"&gt;~240–480小时&lt;/td&gt;
 &lt;td style="text-align: center"&gt;完整&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Team 标准&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$25/用户/月&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~1.25× Pro&lt;/td&gt;
 &lt;td style="text-align: left"&gt;7天重置&lt;/td&gt;
 &lt;td style="text-align: center"&gt;有限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Team 高级&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;$150/用户/月&lt;/td&gt;
 &lt;td style="text-align: right"&gt;~6.25× Pro&lt;/td&gt;
 &lt;td style="text-align: left"&gt;7天重置&lt;/td&gt;
 &lt;td style="text-align: center"&gt;完整&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;为什么是范围值？&lt;/strong&gt; 消息数量取决于对话长度、模型选择、上下文大小和当前服务器负载。使用Sonnet发送简短问题可达上限；使用Opus进行长对话并附带文件上下文则接近下限。&lt;/p&gt;</description></item><item><title>Claude Code MCP 配置指南：让 AI 连接任何外部服务</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-mcp-setup/</link><pubDate>Sat, 28 Feb 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-mcp-setup/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-mcp-setup/cover.webp"
 alt="Claude Code MCP 配置——将 AI 连接到外部服务"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;开箱即用的 Claude Code 可以读取文件、运行 Shell 命令和搜索代码。但如果你需要它查询 Postgres 数据库、发送 Slack 消息，或者调用公司内部 API 呢？&lt;/p&gt;
&lt;p&gt;这正是 MCP 要解决的问题。&lt;strong&gt;&lt;a href="https://modelcontextprotocol.io"&gt;Model Context Protocol（模型上下文协议）&lt;/a&gt;&lt;/strong&gt; 是一个开放标准，让你可以将任何外部服务接入 Claude Code——无需 prompt 黑魔法、无需手动复制粘贴数据、无需脆弱的临时方案。你可以把它理解为 &lt;strong&gt;AI 的 USB-C&lt;/strong&gt;：一个通用连接器，连接你的 AI 助手和所有你需要的工具。&lt;/p&gt;
&lt;p&gt;本指南涵盖了从安装第一个社区 MCP 服务器到用 TypeScript 从零构建自定义服务器的全部内容。读完之后，你将掌握如何让 Claude Code 与任何东西对话。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;前置条件&lt;/strong&gt;：你需要已经安装并配置好 Claude Code。如果还没有，请先参考我们的 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-setup-guide/"&gt;Claude Code 安装指南&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcp-是什么60-秒搞懂架构"&gt;MCP 是什么？60 秒搞懂架构&lt;a href="#mcp-%e6%98%af%e4%bb%80%e4%b9%8860-%e7%a7%92%e6%90%9e%e6%87%82%e6%9e%b6%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MCP 全称 &lt;strong&gt;Model Context Protocol（模型上下文协议）&lt;/strong&gt;。Anthropic 于 2024 年末将其作为开放规范发布，此后它已成为扩展 AI 编程工具的标准方式。&lt;/p&gt;</description></item><item><title>CLAUDE.md 完全指南：让 AI 每次都精准理解你的项目</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-claudemd-guide/</link><pubDate>Sat, 28 Feb 2026 08:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-claudemd-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-claudemd-guide/cover.webp"
 alt="CLAUDE.md 配置指南——为 Claude Code 提供完美项目上下文"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;每次启动新的 Claude Code 会话，你都要重复同样的话：&amp;ldquo;我们用 pnpm，不要用 npm。&amp;ldquo;&amp;ldquo;遵守 ESLint 规则。&amp;ldquo;&amp;ldquo;commit 消息用 conventional 格式。&amp;ldquo;&amp;ldquo;这是一个 Next.js 15 + TypeScript 项目。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;日复一日，会话接会话。&lt;/p&gt;
&lt;p&gt;CLAUDE.md 能彻底解决这个问题。它是一个纯 Markdown 文件，Claude Code 会在每次会话开始时自动读取。把项目上下文写一次，Claude 就永远遵守——再也不需要反复提醒。&lt;/p&gt;
&lt;p&gt;本指南涵盖全部内容：CLAUDE.md 是什么、三层配置体系、四种管理方式、可直接复制的模板，以及来自真实项目的高级技巧。如果你是 &lt;a href="https://docs.anthropic.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; 新手，建议先阅读我们的&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-setup-guide/"&gt;安装指南&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="什么是-claudemd"&gt;什么是 CLAUDE.md？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-claudemd" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CLAUDE.md 是 &lt;a href="https://docs.anthropic.com/en/docs/claude-code/memory"&gt;Claude Code 的记忆文件&lt;/a&gt;。它是一个标准的 Markdown 文档，放在项目根目录（或其他位置，后面会详细说明），每次启动对话时都会被自动加载到上下文中。&lt;/p&gt;</description></item><item><title>Claude Code Worktree：多任务并行开发完全指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-worktree-guide/</link><pubDate>Fri, 27 Feb 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-worktree-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-worktree-guide/cover.webp"
 alt="Claude Code worktree 模式运行多个并行 AI 编码会话"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你打开终端，Claude Code 正在帮你构建一个新的认证模块，进度过半。这时 Slack 弹出消息：线上有个紧急 bug 需要立刻修复。&lt;/p&gt;
&lt;p&gt;怎么办？把改了一半的代码 stash 起来，祈祷自己以后还记得 pop 回来？强行 commit 一个残缺的状态来切换分支？还是告诉团队再等等？&lt;/p&gt;
&lt;p&gt;这就是单目录开发的根本限制：&lt;strong&gt;一个工作目录同一时间只能承载一个任务&lt;/strong&gt;。切换分支会改变文件内容，但无法提供真正的隔离。如果两个 Claude Code 会话在同一个目录中运行，它们必然会互相干扰。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.anthropic.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; 的 &lt;code&gt;--worktree&lt;/code&gt; 参数（简写：&lt;code&gt;-w&lt;/code&gt;）彻底解决了这个问题。它将 Git worktree 的隔离能力与 Claude Code 的 AI 工作流相结合，让你可以在几秒钟内启动独立的编码会话——每个会话拥有自己的目录、自己的分支，与其他工作完全互不干扰。&lt;/p&gt;
&lt;p&gt;本指南涵盖全部内容：Git worktree 基础、Claude Code 的 worktree 模式、自动清理机制、实战场景、最佳实践，以及一个真实的团队案例。&lt;/p&gt;
&lt;h2 id="git-worktree-基础一个仓库多个目录"&gt;Git Worktree 基础：一个仓库，多个目录&lt;a href="#git-worktree-%e5%9f%ba%e7%a1%80%e4%b8%80%e4%b8%aa%e4%bb%93%e5%ba%93%e5%a4%9a%e4%b8%aa%e7%9b%ae%e5%bd%95" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入 Claude Code 的 worktree 模式之前，先确保你理解它所依赖的 Git 功能。如果你已经熟悉 Git worktree，可以直接跳到下一节。&lt;/p&gt;</description></item><item><title>AI Agent 安全指南：2026年自动化工作流防护全攻略</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-27-ai-agent-security/</link><pubDate>Fri, 27 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-27-ai-agent-security/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-27-ai-agent-security/cover.webp"
 alt="AI Agent 安全：防护自动化工作流免受提示注入、工具投毒和 MCP 漏洞威胁"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;AI Agent 正在深刻改变软件开发方式。&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、GitHub Copilot、Cursor 等工具可以读取整个代码库、执行 Shell 命令、跨项目修改文件，并通过 MCP 等协议与外部服务交互。如此强大的能力也带来了传统安全模型从未应对过的攻击面。&lt;/p&gt;
&lt;p&gt;仅 2026 年前两个月，已有超过 30 个 CVE 针对 MCP 服务器和 AI Agent 工具被提交。安全研究人员演示了泄露私有仓库代码的提示注入攻击、窃取聊天记录的工具投毒技术，以及影响近 50 万次下载量包的远程代码执行漏洞。&lt;/p&gt;
&lt;p&gt;本文是 AI Agent 工作流安全的全面指南。无论你是在个人项目中使用 Claude Code 的开发者，还是在组织中部署 AI Agent 的技术负责人，理解这些威胁及可用的防御手段已刻不容缓。&lt;/p&gt;
&lt;h2 id="ai-agent-攻击面的扩展"&gt;AI Agent 攻击面的扩展&lt;a href="#ai-agent-%e6%94%bb%e5%87%bb%e9%9d%a2%e7%9a%84%e6%89%a9%e5%b1%95" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;传统软件有着清晰的安全边界：用户输入经过验证、身份认证保护敏感端点、沙箱隔离不受信任的代码。AI Agent 打破了所有这些假设。&lt;/p&gt;</description></item><item><title>Claude Code --teammate-mode 详解：让多个 Agent 真正协作起来</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-teams-guide/</link><pubDate>Fri, 27 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-teams-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-teams-guide/cover.webp"
 alt="Claude Code Agent Teams 多智能体协作模式"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;一个 Agent 很好用，一组协作的 Agent 才是质变。&lt;/p&gt;
&lt;p&gt;自 Anthropic 在 2026 年 2 月 5 日随 Opus 4.6 模型一起发布 Agent Teams 以来，&lt;a href="https://docs.anthropic.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; 已跨越了一个根本性的门槛：你不再局限于让单个 Agent 依次处理代码库。现在你可以启动多个 Claude Agent，让它们相互通信、分工协作、并行执行——就像一个运转速度极快的小型工程团队。&lt;/p&gt;
&lt;p&gt;本指南全面覆盖 Claude Code Agent Teams 的方方面面：架构原理、配置方法、实战协作模式、成本管理，以及与旧版 Subagent 和 Worktree 方案的对比。&lt;/p&gt;
&lt;h2 id="什么是-agent-teams"&gt;什么是 Agent Teams？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-agent-teams" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agent Teams 让你在单个会话中同时运行多个 Claude Code Agent。但这不是简单的&amp;quot;同时跑五个 Agent&amp;quot;，而是围绕结构化协调构建的架构。&lt;/p&gt;</description></item><item><title>Claude Code Skills 完全指南：用 SKILL.md 打造自定义工作流（附实战模板）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-skills-guide/</link><pubDate>Thu, 26 Feb 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-skills-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-skills-guide/cover.webp"
 alt="Claude Code Skills 指南：教 AI 掌握自定义工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code 是目前最强大的 AI 编程工具之一。但开箱即用时，它是通用的——不了解你团队的代码审查清单，不清楚你的 API 文档格式，也不知道你的 commit 信息规范。&lt;/p&gt;
&lt;p&gt;每次从头解释同样的工作流，都是在浪费 token 和时间。&lt;/p&gt;
&lt;p&gt;Claude Code Skills 就是为此而生的。Skill 是一组可复用的指令——以简单的 Markdown 文件封装——教会 Claude 如何按照你的方式执行特定任务。创建完成后，Claude 会自动检测何时需要使用某个 Skill，无需你手动干预。&lt;/p&gt;
&lt;p&gt;本指南涵盖所有内容：什么是 Skills、如何创建、三个可直接复制使用的实战模板、不断壮大的 Skills 生态，以及 Skills 如何与 CLAUDE.md 和 Hooks 协同工作。&lt;/p&gt;
&lt;h2 id="什么是-claude-code-skills"&gt;什么是 Claude Code Skills？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-claude-code-skills" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;一个 Skill 就是一个包含 &lt;code&gt;SKILL.md&lt;/code&gt; 文件的文件夹，由两部分组成：&lt;/p&gt;</description></item><item><title>Claude Code Hooks 完全指南 2026：12 个即用配置 + 事件详解</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-hooks-guide/</link><pubDate>Thu, 26 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-hooks-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-hooks-guide/cover.webp"
 alt="Claude Code Hooks 自动化工作流，包含 12 个即用配置"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code"&gt;Claude Code&lt;/a&gt; 是概率性的。同样的提示词给它两次，会得到不同的结果。这对创意工作没问题——但你的工程工作流需要确定性的保障。&lt;/p&gt;
&lt;p&gt;你需要文件在每次保存时自动格式化。你需要 &lt;code&gt;.env&lt;/code&gt; 文件被锁定保护。你需要 &lt;code&gt;rm -rf /&lt;/code&gt; 在到达你的终端之前就被拦截。你需要这些事情每一次都发生，而不是看 AI 心情。&lt;/p&gt;
&lt;p&gt;这就是 Claude Code Hooks 的用途。它们是在 Claude 运行的特定节点执行的生命周期脚本——在工具运行前、在文件编辑后、在会话开始时、在 Claude 停止时。它们让你对工作流中不能靠运气的部分拥有程序化的控制。&lt;/p&gt;
&lt;p&gt;本指南提供 12 个生产级 Hook 配置，你可以立即复制粘贴到项目中使用，同时也包含构建自定义 Hook 所需的技术细节。&lt;/p&gt;
&lt;h2 id="什么是-claude-code-hooks"&gt;什么是 Claude Code Hooks？&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-claude-code-hooks" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hooks 是 Claude Code 在其生命周期特定节点执行的 shell 命令或脚本。它们定义在你的配置文件中，自动运行——无需手动干预，无需提示词，不用祈祷 AI 能记住你的偏好。&lt;/p&gt;</description></item><item><title>多智能体编排：4 种真正有效的架构模式</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-26-multi-agent-orchestration/</link><pubDate>Thu, 26 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-26-multi-agent-orchestration/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-26-multi-agent-orchestration/cover.webp"
 alt="展示流水线、路由器、编排者-工作者和评估器-优化器四种 AI 智能体协作编排架构模式"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;单个 AI 智能体能做很多令人印象深刻的事情 — 直到它做不到为止。给一个智能体一个包含 200 个文件的代码库、跨越 50 轮的对话历史，再加上混合了重构、测试和文档编写的指令，你就会看到它慢慢崩溃。回复开始偏离主题，成本飙升，智能体开始在项目中不相关的部分之间&amp;quot;幻觉&amp;quot;出联系。&lt;/p&gt;
&lt;p&gt;解决方案不是更聪明的模型，而是&lt;strong&gt;更好的架构&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;多智能体编排 — 协调多个专业化智能体处理复杂任务的实践 — 已经在 2026 年从研究论文走向了生产系统。&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-28-claude-code-complete-guide/"&gt;Claude Code&lt;/a&gt;、Cursor 和 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-03-10-google-antigravity-review/"&gt;Google Antigravity&lt;/a&gt; 等工具底层都使用了多智能体模式。对于严肃的 AI 工程师来说，理解这些模式已经不再是可选项。&lt;/p&gt;
&lt;p&gt;本指南涵盖四种在生产中真正有效的编排模式、各自的适用场景，以及如何有效实现它们。&lt;/p&gt;
&lt;h2 id="为什么单智能体在规模化时会失败"&gt;为什么单智能体在规模化时会失败&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e5%8d%95%e6%99%ba%e8%83%bd%e4%bd%93%e5%9c%a8%e8%a7%84%e6%a8%a1%e5%8c%96%e6%97%b6%e4%bc%9a%e5%a4%b1%e8%b4%a5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在讨论解决方案之前，先理解问题。单智能体架构在使用增长时会遇到三个可预测的瓶颈。&lt;/p&gt;
&lt;h3 id="瓶颈一记忆膨胀"&gt;瓶颈一：记忆膨胀&lt;a href="#%e7%93%b6%e9%a2%88%e4%b8%80%e8%ae%b0%e5%bf%86%e8%86%a8%e8%83%80" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;每次对话都会增加智能体的上下文。记忆文件、项目文档、历史交互 — 全部在不断累积。一个同时处理写作、编码、研究和调试的单智能体，每次请求都要加载数兆字节的上下文。&lt;/p&gt;</description></item><item><title>Claude Code 10 大常见坑 2026：新手必看的避坑指南（省 50% Token）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-mistakes/</link><pubDate>Wed, 25 Feb 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-mistakes/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-mistakes/cover.webp"
 alt="Claude Code 新手最容易犯的 10 个错误及修复方法"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.anthropic.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; 是目前最强大的 AI 编程工具，但也是最容易被用错的工具之一。&lt;/p&gt;
&lt;p&gt;我观察了几十位开发者使用 Claude Code 的过程——包括我自己——发现大家反复踩的坑惊人地相似。修正这些问题后，输出质量通常能提升 5–10 倍，Token 消耗能降低 50% 以上。&lt;/p&gt;
&lt;p&gt;以下是最常见的 10 个错误，以及每一个的具体修复方法。&lt;/p&gt;
&lt;h2 id="错误-1没有配置-claudemd"&gt;错误 #1：没有配置 CLAUDE.md&lt;a href="#%e9%94%99%e8%af%af-1%e6%b2%a1%e6%9c%89%e9%85%8d%e7%bd%ae-claudemd" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;典型表现&lt;/strong&gt;：直接开始用 Claude Code，指望 AI 能自动理解你的项目。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;代价&lt;/strong&gt;：没有项目上下文，Claude Code 每次都要重新摸索你的技术栈、编码规范和项目结构。这意味着更多的提问、更多的错误假设、更多浪费的 Token，以及更多的反复修改。&lt;/p&gt;</description></item><item><title>Claude Code 安装配置完全指南 2026：10 分钟从零上手</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-setup-guide/</link><pubDate>Wed, 25 Feb 2026 12:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-setup-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-setup-guide/cover.webp"
 alt="Claude Code 安装配置指南：终端安装与 IDE 集成"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你一定听说过 Claude Code，也许还看过各种炫酷的演示视频。现在，是时候亲自上手体验了。&lt;/p&gt;
&lt;p&gt;好消息是：从零开始到完成安装配置，整个过程大约只需要 10 分钟。这篇指南会带你走完全部流程——安装、认证、配置、IDE 集成，以及运行你的第一个实战任务。&lt;/p&gt;
&lt;p&gt;读完这篇文章，你将拥有一个在终端和 IDE 中都能正常运行的 Claude Code 环境，并做好开始 AI 编程的一切准备。&lt;/p&gt;
&lt;h2 id="前置条件"&gt;前置条件&lt;a href="#%e5%89%8d%e7%bd%ae%e6%9d%a1%e4%bb%b6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在开始之前，确认以下环境已就绪：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;操作系统&lt;/strong&gt;：macOS 13+、Ubuntu 20.04+ / Debian 10+，或 Windows 10+（需要 Git Bash 或 WSL 2）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内存&lt;/strong&gt;：至少 4 GB&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络连接&lt;/strong&gt;：必须联网（Claude Code 依赖 Anthropic 的 API 服务）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anthropic 账号&lt;/strong&gt;：如果还没有，可以在 &lt;a href="https://claude.ai"&gt;claude.ai&lt;/a&gt; 注册&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;付费计划或 API 密钥&lt;/strong&gt;：Claude Code 需要 Pro/Max 订阅（$20+/月）或一个有余额的 API 密钥。详细的方案对比可以参考我们的 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-25-claude-code-pricing/"&gt;Claude Code 定价指南&lt;/a&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Node.js &lt;strong&gt;不再需要了&lt;/strong&gt;。2026 版的原生安装器会搞定一切。如果你之前是通过 npm 安装的，可以迁移到新方式——下面会讲到。&lt;/p&gt;</description></item><item><title>从零开始用 Python 构建你自己的 Claude Code（仅 250 行）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-build-magic-code/</link><pubDate>Tue, 24 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-build-magic-code/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-24-build-magic-code/cover.webp"
 alt="MagicCode 终端 AI 编程助手演示"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你可能用过 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code&lt;/a&gt;，或者至少听过关于它的各种传说。它能读懂你的代码库、写文件、跑测试、修 bug——全部在终端里完成。用起来像魔法一样。&lt;/p&gt;
&lt;p&gt;但事实是：&lt;strong&gt;它背后的核心架构出奇地简单。&lt;/strong&gt; 简单到你可以在一个下午用 Python 和大约 250 行代码从零重建它。&lt;/p&gt;
&lt;p&gt;这正是本文要做的事。我们将构建 &lt;strong&gt;MagicCode&lt;/strong&gt;——一个终端 AI 编程助手，能够读取文件、编写代码、执行 shell 命令，并做出自主的多步决策——就像 Claude Code 底层的工作方式一样。&lt;/p&gt;
&lt;p&gt;更重要的是，读完本文后，你将深刻理解驱动每一个现代 AI 编程工具的三个核心概念：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Agentic Loop（智能体循环）&lt;/strong&gt; ——让 AI 自主行动的决策引擎&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Use（工具调用 / Function Calling）&lt;/strong&gt; ——LLM 与真实世界交互的方式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消息协议&lt;/strong&gt; ——带工具调用的对话在 API 层面究竟是怎样运作的&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我们将逐步迭代：V1（基础聊天，20 行）→ V2（流式输出）→ V3（精美终端 UI）→ V4（完整工具系统 + Agentic Loop，250 行）。每个版本在上一个的基础上递进。没有含糊其辞，没有黑魔法——只有你可以直接运行的代码。&lt;/p&gt;
&lt;h2 id="为什么要自己造一个"&gt;为什么要自己造一个？&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e8%87%aa%e5%b7%b1%e9%80%a0%e4%b8%80%e4%b8%aa" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;用工具是一回事，理解它是怎么工作的是另一回事。&lt;/p&gt;</description></item><item><title>斯坦福 CS146S 精读（五）：从原型到生产——AI 应用完整生命周期</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-prototype-to-production/</link><pubDate>Tue, 24 Feb 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-prototype-to-production/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文是「斯坦福 Vibe Coding 课程精读」系列第 5 篇（完结篇）。系列导航见文末。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ldquo;一句话做一个 App&amp;rdquo;——这可能是 Vibe Coding 最吸引眼球的卖点。&lt;/p&gt;
&lt;p&gt;Week 8 的嘉宾是 Vercel AI 研究负责人 Gaspar Garcia，他现场演示了如何用 AI 从一个 prompt 生成一个完整的 Web 应用。前端、后端、数据库、部署——一气呵成。&lt;/p&gt;
&lt;p&gt;看起来很酷。但然后呢？&lt;/p&gt;
&lt;p&gt;CS146S 的态度很明确：&lt;strong&gt;快速原型只是起点。&lt;/strong&gt; Week 8 教你怎么快速造出来，Week 9 教你怎么让它在生产环境中活下去。这两周合在一起，讲的是 AI 应用从 demo 到 production 的完整路径。&lt;/p&gt;
&lt;p&gt;而&amp;quot;从 demo 到 production&amp;quot;之间的那道鸿沟，恰恰是大多数 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-22-vibe-coding-guide/"&gt;Vibe Coder&lt;/a&gt; 倒下的地方。&lt;/p&gt;
&lt;h2 id="一句话做-app能力与边界"&gt;一句话做 App：能力与边界&lt;a href="#%e4%b8%80%e5%8f%a5%e8%af%9d%e5%81%9a-app%e8%83%bd%e5%8a%9b%e4%b8%8e%e8%be%b9%e7%95%8c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="v0-的启示"&gt;v0 的启示&lt;a href="#v0-%e7%9a%84%e5%90%af%e7%a4%ba" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Vercel 的 v0 是当前最强的 AI UI 生成工具之一。它能根据自然语言描述生成完整的前端组件和页面，包括样式、交互、响应式布局。&lt;/p&gt;</description></item><item><title>斯坦福 CS146S 精读（四）：Secure Vibe Coding——AI 代码安全攻防全指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-secure-vibe-coding/</link><pubDate>Tue, 24 Feb 2026 08:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-secure-vibe-coding/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文是「斯坦福 Vibe Coding 课程精读」系列第 4 篇。系列导航见文末。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CS146S 的 Week 6 和 Week 7 是整门课最让人&amp;quot;脊背发凉&amp;quot;的两周。&lt;/p&gt;
&lt;p&gt;Week 6 讲安全：当 AI 帮你写代码时，谁来保证代码不被攻击？更可怕的是——当 AI 本身就是攻击面呢？&lt;/p&gt;
&lt;p&gt;Week 7 讲审查：AI 产出的代码，我们到底能信任到什么程度？&lt;/p&gt;
&lt;p&gt;很多 AI 编程课只教你怎么写得快。CS146S 把&lt;strong&gt;交付的底线&lt;/strong&gt;拉了出来：可测、可审、可防。这两周的内容，是从&amp;quot;Vibe Coder&amp;quot;升级为&amp;quot;Professional Vibe Coder&amp;quot;的必经之路。&lt;/p&gt;
&lt;h2 id="真实案例prompt-injection-导致远程代码执行"&gt;真实案例：Prompt Injection 导致远程代码执行&lt;a href="#%e7%9c%9f%e5%ae%9e%e6%a1%88%e4%be%8bprompt-injection-%e5%af%bc%e8%87%b4%e8%bf%9c%e7%a8%8b%e4%bb%a3%e7%a0%81%e6%89%a7%e8%a1%8c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;让我们从一个真实的安全漏洞开始。&lt;/p&gt;</description></item><item><title>斯坦福 CS146S 精读（三）：Agent Manager——人机协作的最佳实践</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-agent-manager-patterns/</link><pubDate>Tue, 24 Feb 2026 08:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-agent-manager-patterns/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文是「斯坦福 Vibe Coding 课程精读」系列第 3 篇。系列导航见文末。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CS146S 第四周的课程标题叫&amp;quot;Coding Agent Patterns&amp;quot;（编程 Agent 模式），但它真正在教的是一个全新的职业技能：&lt;strong&gt;Agent Manager&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;什么是 Agent Manager？就是不直接写代码，而是指挥 AI Agent 写代码的人。听起来像是&amp;quot;甩手掌柜&amp;quot;，但实际上这可能是 AI 编程时代最难、最有价值的技能之一。&lt;/p&gt;
&lt;p&gt;为什么难？因为你需要同时具备三种能力：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;技术判断力&lt;/strong&gt;：能评估 AI 生成的代码质量，知道什么能过、什么不能过&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;任务分解力&lt;/strong&gt;：能把复杂需求拆成 Agent 能独立完成的子任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;沟通精确度&lt;/strong&gt;：能用最少的信息量传达最准确的意图&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这周的嘉宾是 &lt;strong&gt;Boris Cherney&lt;/strong&gt;——&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code&lt;/a&gt; 的创始人。直接从工具创造者的口中学习如何使用工具，这个含金量不言而喻。&lt;/p&gt;
&lt;h2 id="agent-的自治度光谱"&gt;Agent 的自治度光谱&lt;a href="#agent-%e7%9a%84%e8%87%aa%e6%b2%bb%e5%ba%a6%e5%85%89%e8%b0%b1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AI 编程 Agent 不是一个二元开关——&amp;ldquo;全自动&amp;quot;或&amp;quot;纯手动&amp;rdquo;。它是一个&lt;strong&gt;自治度光谱&lt;/strong&gt;，你需要根据任务类型动态调整。&lt;/p&gt;</description></item><item><title>斯坦福 CS146S 精读（二）：上下文工程——AI 编程最被低估的核心能力</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-context-engineering-deep-dive/</link><pubDate>Tue, 24 Feb 2026 07:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-context-engineering-deep-dive/</guid><description>&lt;blockquote&gt;
&lt;p&gt;本文是「斯坦福 Vibe Coding 课程精读」系列第 2 篇。系列导航见文末。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果让我在 CS146S 的 10 周课程中只选一周来精读，我会毫不犹豫选 &lt;strong&gt;Week 3&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;不是因为它最酷炫——那可能是 Week 8 的&amp;quot;一句话做 App&amp;quot;。也不是因为它最硬核——那可能是 Week 6 的安全攻防。而是因为 Week 3 讲的内容，直接决定了你用 AI 编程的天花板在哪里。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;上下文工程（Context Engineering）&lt;/strong&gt;——这个词你可能刚开始听说，但它正在取代 Prompt Engineering 成为 AI 编程的核心能力。原因很简单：单条 Prompt 的优化已经触顶，真正决定 AI 输出质量的，是你给它提供的&lt;strong&gt;整体上下文&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;写一个好 prompt 是加法，做好上下文工程是乘法。&lt;/p&gt;
&lt;h2 id="什么是上下文工程"&gt;什么是上下文工程&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af%e4%b8%8a%e4%b8%8b%e6%96%87%e5%b7%a5%e7%a8%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Prompt Engineering 关注的是&amp;quot;怎么问问题&amp;quot;，Context Engineering 关注的是&amp;quot;给 AI 呈现一个什么样的世界&amp;quot;。&lt;/p&gt;</description></item><item><title>斯坦福 CS146S 全解析 2026：AI 编程公开课中文笔记（免费自学路线）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-24-stanford-cs146s-overview/</link><pubDate>Tue, 24 Feb 2026 07:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-24-stanford-cs146s-overview/</guid><description>&lt;p&gt;从 Andrej Karpathy 在 2025 年 2 月发推提出 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-22-vibe-coding-guide/"&gt;Vibe Coding&lt;/a&gt;，到斯坦福大学在同年秋季正式开设 CS146S 课程，前后不到 8 个月。一个社交媒体上的热词，以这样的速度进入全球顶级高校的课程体系，在计算机科学的历史上极为罕见。&lt;/p&gt;
&lt;p&gt;这不是一门&amp;quot;教你用 ChatGPT 写代码&amp;quot;的水课。CS146S 覆盖了从 LLM 原理到 Agent 架构、从上下文工程到安全攻防、从自动化构建到生产运维的完整软件工程生命周期。它的嘉宾名单读起来像一份 AI 编程领域的&amp;quot;名人堂&amp;quot;——Claude Code 创始人、Vercel AI 研究负责人、Semgrep CEO、a16z 合伙人……&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;最关键的是，所有课程资源——PPT、阅读材料、作业代码——全部免费公开。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章将完整拆解这门课程的每一个模块，帮你建立系统认知。后续系列文章将对其中最有价值的几个主题做深度精读。&lt;/p&gt;
&lt;h2 id="课程基本信息"&gt;课程基本信息&lt;a href="#%e8%af%be%e7%a8%8b%e5%9f%ba%e6%9c%ac%e4%bf%a1%e6%81%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;项目&lt;/th&gt;
 &lt;th&gt;详情&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;课程编号&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;CS146S&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;课程名称&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The Modern Software Developer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;开课学校&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Stanford University&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;学期&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Fall 2025（首次开课）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;讲师&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Mihail Eric&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;助教&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Febie Lin, Brent Ju&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;学分&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;3 units&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;前置要求&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;CS111 等效编程经验，推荐 CS221/229&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;课程官网&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://themodernsoftware.dev"&gt;themodernsoftware.dev&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;作业代码&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/mihail911/modern-software-dev-assignments"&gt;GitHub 仓库&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;课程的核心论题写在简介第一段：&lt;/p&gt;</description></item><item><title>OpenClaw 多 Agent 配置教程 2026：从单 Agent 到团队协作实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-23-openclaw-multi-agent-guide/</link><pubDate>Mon, 23 Feb 2026 17:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-23-openclaw-multi-agent-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-23-openclaw-multi-agent-guide/cover.webp"
 alt="OpenClaw 多 Agent 协作架构指南封面"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你有没有遇到过这样的场景：你的 AI 助手聊着聊着就&amp;quot;精神分裂&amp;quot;了——你让它写公众号，它突然蹦出一段代码逻辑；你让它帮你调研竞品，它却开始纠正你上周的错别字？&lt;/p&gt;
&lt;p&gt;这不是 AI 变笨了，是你让一个&amp;quot;大脑&amp;quot;干了太多活。就好比让公司前台同时干行政、财务、研发的事，最后谁的活都干不好。&lt;/p&gt;
&lt;p&gt;解决方案是什么？&lt;strong&gt;组建一支 AI 团队&lt;/strong&gt;——让不同的 Agent 各司其职，就像一家真正的公司一样运转。&lt;/p&gt;
&lt;p&gt;本文将深入拆解如何用 &lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt; 搭建一套多 Agent 协作系统。不只是告诉你&amp;quot;怎么配&amp;quot;，更要讲清楚&amp;quot;为什么这样配&amp;quot;，以及业界主流的多 Agent 架构模式如何在实践中落地。&lt;/p&gt;
&lt;h2 id="一为什么单-agent-不够用"&gt;一、为什么单 Agent 不够用？&lt;a href="#%e4%b8%80%e4%b8%ba%e4%bb%80%e4%b9%88%e5%8d%95-agent-%e4%b8%8d%e5%a4%9f%e7%94%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-单-agent-的三大瓶颈"&gt;1.1 单 Agent 的三大瓶颈&lt;a href="#11-%e5%8d%95-agent-%e7%9a%84%e4%b8%89%e5%a4%a7%e7%93%b6%e9%a2%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;大多数人使用 AI 助手的方式都是&amp;quot;一号通吃&amp;quot;：写文案、改代码、生图、调研全在一个 Agent 里搞定。这种方式看似方便，实际上随着使用时间的增长，三个问题会越来越严重：&lt;/p&gt;</description></item><item><title>2026 Agentic Coding 趋势报告：Claude Code 年入 25 亿美元背后的 8 大趋势</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-23-agentic-coding-trends-2026/</link><pubDate>Mon, 23 Feb 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-23-agentic-coding-trends-2026/</guid><description>&lt;p&gt;6 个月，10 亿美元。&lt;/p&gt;
&lt;p&gt;这不是某个消费级 App 的故事，而是一个命令行工具——Claude Code——创造的 B2B 软件新纪录。到 2026 年 2 月，这个数字已经飙升至 &lt;strong&gt;25 亿美元年化收入（ARR）&lt;/strong&gt;，而它背后的公司 Anthropic，整体 ARR 在 14 个月内从 10 亿跃升至 &lt;strong&gt;140 亿美元&lt;/strong&gt;，增长了 14 倍。&lt;/p&gt;
&lt;p&gt;这是 B2B 软件历史上从未有过的增速。这篇文章将基于 Anthropic 最新发布的 Agentic Coding 趋势报告，深度拆解这场变革背后的 8 大趋势、市场格局与开发者采用数据。&lt;/p&gt;
&lt;h2 id="anthropic-的疯狂增长曲线"&gt;Anthropic 的疯狂增长曲线&lt;a href="#anthropic-%e7%9a%84%e7%96%af%e7%8b%82%e5%a2%9e%e9%95%bf%e6%9b%b2%e7%ba%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在谈趋势之前，先看一组让整个 SaaS 行业集体沉默的数字：&lt;/p&gt;</description></item><item><title>MCP 安全实战指南：AI Agent 时代的攻防博弈与防护策略</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-23-mcp-security-guide/</link><pubDate>Mon, 23 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-23-mcp-security-guide/</guid><description>&lt;p&gt;&lt;strong&gt;518 个官方 MCP Server，41% 缺乏认证。&lt;/strong&gt; 这不是假设的威胁模型，而是 2026 年 2 月安全审计的真实数据。&lt;/p&gt;
&lt;p&gt;MCP（Model Context Protocol）注册表在短短一个月内从 90 个服务器暴增至 518 个，生态扩张的速度远远超过了安全基础设施的建设。当开发者们兴奋地将各种 MCP Server 接入自己的 AI Agent 时，攻击者也在盯着同一扇门。&lt;/p&gt;
&lt;p&gt;如果你还不了解 MCP 协议的基础概念，建议先阅读 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-20-mcp-protocol-guide/"&gt;MCP 协议完全指南&lt;/a&gt;。本文将聚焦安全维度，带你看清 MCP 生态中那些已经发生的攻击、正在暴露的风险，以及你今天就能采取的防护措施。&lt;/p&gt;
&lt;h2 id="一年回顾mcp-漏洞全景时间线"&gt;一年回顾：MCP 漏洞全景时间线&lt;a href="#%e4%b8%80%e5%b9%b4%e5%9b%9e%e9%a1%bemcp-%e6%bc%8f%e6%b4%9e%e5%85%a8%e6%99%af%e6%97%b6%e9%97%b4%e7%ba%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;从 2025 年 4 月至今，MCP 相关的安全事件密集爆发。以下是经过验证的重大漏洞时间线：&lt;/p&gt;</description></item><item><title>用 Claude Code 从零开发 MCP Server：TypeScript 实战教程（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-mcp-server-tutorial/</link><pubDate>Sun, 22 Feb 2026 12:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-mcp-server-tutorial/</guid><description>&lt;p&gt;&lt;strong&gt;MCP Server&lt;/strong&gt; 是 2026 年 AI 工具生态的核心基础设施。Gartner 预测，到 2026 年底将有 40% 的企业应用嵌入 AI Agent。而 &lt;strong&gt;Claude Code&lt;/strong&gt; 作为当下最强的 AI 编程工具之一，本身就是一个强大的 MCP 客户端。学会开发 MCP Server，就等于掌握了给 AI 装上新手脚的能力。&lt;/p&gt;
&lt;p&gt;这篇文章将带你从零开始，用 Claude Code + TypeScript 开发一个完整的 MCP Server，从项目初始化到调试发布，全程实战。&lt;/p&gt;
&lt;h2 id="mcp-是什么一个类比就够了"&gt;MCP 是什么？一个类比就够了&lt;a href="#mcp-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%80%e4%b8%aa%e7%b1%bb%e6%af%94%e5%b0%b1%e5%a4%9f%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;MCP（Model Context Protocol）&lt;/strong&gt; 是 Anthropic 在 2024 年底提出的开放协议。官方给了一个很精准的类比：&lt;strong&gt;MCP 就是 AI 世界的 USB-C&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Claude Code Security 深度解析：AI 驱动的代码安全扫描如何颠覆传统（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-security/</link><pubDate>Sun, 22 Feb 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-security/</guid><description>&lt;p&gt;2026 年 2 月 20 日，Anthropic 正式发布了 &lt;strong&gt;Claude Code Security&lt;/strong&gt; —— 一款基于 Claude Opus 4.6 的 AI 代码安全扫描工具。消息一出，当天网络安全板块集体跳水：CrowdStrike 下跌近 8%，Cloudflare 跌超 8%，Okta 跌 9.2%，Global X Cybersecurity ETF 跌至 2023 年 11 月以来的最低点。Bloomberg、Fortune、The Hacker News 等主流媒体密集报道，称这是 AI 对传统安全行业发起的一次正面冲击。&lt;/p&gt;
&lt;p&gt;为什么一个&amp;quot;research preview&amp;quot;阶段的工具，就能让整个网安板块震动？因为 Claude Code Security 展示了一种全新的范式：AI 不再只是辅助写代码，它开始像人类安全研究员一样&lt;strong&gt;审计代码&lt;/strong&gt;。对于每一位开发者和安全从业者，这件事都值得认真关注。&lt;/p&gt;
&lt;h2 id="claude-code-security-是什么"&gt;Claude Code Security 是什么&lt;a href="#claude-code-security-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code Security 是 Anthropic 在 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code&lt;/a&gt; 中内置的代码安全扫描能力。它基于最新的 Claude Opus 4.6 模型，能够自主扫描整个代码库，发现安全漏洞并生成针对性的修复补丁建议。&lt;/p&gt;</description></item><item><title>Claude Code 2026年2月更新：Worktree 并行开发、后台任务、Simple Mode 全解析</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-february-updates/</link><pubDate>Sun, 22 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-february-updates/</guid><description>&lt;p&gt;Claude Code 在 2026 年 2 月密集发布了 v2.1.39 到 v2.1.50 共十余个版本，带来了几个改变日常工作流的重要功能。本文汇总 2 月最值得关注的更新，逐个解析用法和实战场景，帮你快速上手。&lt;/p&gt;
&lt;h2 id="git-worktree-支持最大的工作流升级"&gt;Git Worktree 支持：最大的工作流升级&lt;a href="#git-worktree-%e6%94%af%e6%8c%81%e6%9c%80%e5%a4%a7%e7%9a%84%e5%b7%a5%e4%bd%9c%e6%b5%81%e5%8d%87%e7%ba%a7" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这是 2 月份最重磅的功能，在 v2.1.49 中正式发布。它将 Git 的 Worktree 能力直接集成到了 Claude Code 中，让并行开发变得前所未有的简单。&lt;/p&gt;
&lt;h3 id="什么是-git-worktree"&gt;什么是 Git Worktree&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-git-worktree" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;简单来说，Git Worktree 允许你在同一个仓库下同时检出多个工作目录，每个目录对应不同的分支。和 &lt;code&gt;git stash&lt;/code&gt; 或克隆多份仓库相比，Worktree 共享同一个 &lt;code&gt;.git&lt;/code&gt; 数据库，不额外占用磁盘空间，切换成本极低。&lt;/p&gt;</description></item><item><title>Vibe Coding 是什么？氛围编程完全指南：工具对比 + 实战教程（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-22-vibe-coding-guide/</link><pubDate>Sun, 22 Feb 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-22-vibe-coding-guide/</guid><description>&lt;p&gt;2026 年，如果你关注 AI 编程领域，一定绕不开一个词：&lt;strong&gt;Vibe Coding&lt;/strong&gt;（氛围编程）。从一条推文到 Collins 词典年度词汇候选、MIT Technology Review 十大突破技术，Vibe Coding 已经从极客圈的新鲜概念演变为开发者的实际工作方式。据统计，91% 的工程组织已采用至少一个 AI 编程工具，而 Vibe Coding 正是这场变革中最具代表性的理念。&lt;/p&gt;
&lt;p&gt;这篇文章将带你全面了解 Vibe Coding 的起源、核心理念、2026 年主流工具全景，并通过实战案例演示氛围编程的完整流程。无论你是好奇观望的开发者，还是想提升效率的实践者，都能在这里找到答案。&lt;/p&gt;
&lt;h2 id="vibe-coding-的起源"&gt;Vibe Coding 的起源&lt;a href="#vibe-coding-%e7%9a%84%e8%b5%b7%e6%ba%90" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2025 年 2 月 2 日，前 Tesla AI 总监、OpenAI 联合创始人 &lt;strong&gt;Andrej Karpathy&lt;/strong&gt; 在 X（原 Twitter）上发了一条帖子，首次提出了 &amp;ldquo;Vibe Coding&amp;rdquo; 这个概念：&lt;/p&gt;</description></item><item><title>Claude Code 多 Agent 协作教程 2026：Agent Teams 配置与实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-agent-teams/</link><pubDate>Sun, 22 Feb 2026 08:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-22-claude-code-agent-teams/</guid><description>&lt;p&gt;2 月 5 日，Anthropic 随 Claude Opus 4.6 一同发布了 &lt;strong&gt;Claude Code Agent Teams&lt;/strong&gt; —— 一项让多个 Claude Code 实例组成团队、并行协作的实验性功能。如果说之前的 Subagent 是&amp;quot;你派出去跑腿的助手&amp;quot;，那 Agent Teams 就是&amp;quot;一支能互相讨论、自主协调的工程小队&amp;quot;。对于需要跨模块开发、多视角审查、并行调试的复杂场景，Agent Teams 可以将小时级的串行工作压缩到分钟级完成。&lt;/p&gt;
&lt;p&gt;本文基于&lt;a href="https://code.claude.com/docs/en/agent-teams"&gt;官方文档&lt;/a&gt;和实际使用经验，从架构原理到实战案例，完整拆解 Agent Teams 的核心能力。如果你还不熟悉 Claude Code 的基础用法，建议先阅读 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code 完全指南&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="什么是-agent-teams"&gt;什么是 Agent Teams&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-agent-teams" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agent Teams 的核心架构非常直观：&lt;strong&gt;一个 Team Lead + 多个 Teammate&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>AI Agent 记忆系统全解析：RAG 与上下文工程的对比与选择</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-21-ai-agent-memory-systems/</link><pubDate>Sat, 21 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-21-ai-agent-memory-systems/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-21-ai-agent-memory-systems/cover.webp"
 alt="AI Agent 记忆系统对比：RAG 检索管线与上下文工程方案的架构差异"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;每一个 AI 编程 Agent 都面临一个根本性的问题：&lt;strong&gt;失忆&lt;/strong&gt;。打开一个新的 Claude Code、Cursor 或任何 LLM 驱动工具的会话，它对昨天的工作一无所知。你花了两小时讨论的架构决策、终于定位到的 Bug、精心建立的编码规范——全部归零。&lt;/p&gt;
&lt;p&gt;这不是 Bug，而是大语言模型的工作原理。每次会话都从空白的上下文窗口开始，当窗口被填满或者会话结束时，一切都会蒸发殆尽。&lt;/p&gt;
&lt;p&gt;问题来了：&lt;strong&gt;我们该如何赋予 AI Agent 记忆能力？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;目前有两种主流方案——&lt;strong&gt;RAG（检索增强生成）&lt;/strong&gt; 和 &lt;strong&gt;上下文工程（Context Engineering）&lt;/strong&gt;——它们从根本上以不同的方式解决这个问题。本文将深入剖析两种方案，进行正面对比，并展示在实际 AI Agent 工作流中的落地实践。&lt;/p&gt;
&lt;h2 id="为什么-ai-agent-需要记忆"&gt;为什么 AI Agent 需要记忆&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88-ai-agent-%e9%9c%80%e8%a6%81%e8%ae%b0%e5%bf%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在深入解决方案之前，先从技术层面理解这个问题。&lt;/p&gt;</description></item><item><title>Claude Code Worktree 实战：一个仓库同时跑多个 AI 任务的正确姿势</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-20-claude-code-worktree/</link><pubDate>Fri, 20 Feb 2026 12:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-20-claude-code-worktree/</guid><description>&lt;p&gt;你有没有遇到过这种情况：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;让 Claude 改一个功能改到一半，突然要修一个线上 bug，只能 stash 或者硬着头皮 commit 一堆半成品&lt;/li&gt;
&lt;li&gt;想同时让 Claude 做两件事——一个写新功能，一个补测试——但两个会话操作同一份代码，改着改着就冲突了&lt;/li&gt;
&lt;li&gt;想做一次大胆的实验性重构，又怕搞砸了回不去&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些问题的本质是：&lt;strong&gt;一个工作目录只能承载一个进行中的任务&lt;/strong&gt;。你切分支可以隔离 Git 记录，但文件系统只有一份，两个 Claude 会话还是会踩到同一块地盘。&lt;/p&gt;
&lt;p&gt;Claude Code 的 &lt;code&gt;--worktree&lt;/code&gt;（简写 &lt;code&gt;-w&lt;/code&gt;）模式就是为解决这个问题而生的。它把 Git Worktree 的能力直接集成进了 Claude Code，让你用一条命令就能在隔离的工作目录中启动新的 Claude 会话。&lt;/p&gt;
&lt;h2 id="一git-worktree-基础一个仓库多个工作目录"&gt;一、Git Worktree 基础：一个仓库，多个工作目录&lt;a href="#%e4%b8%80git-worktree-%e5%9f%ba%e7%a1%80%e4%b8%80%e4%b8%aa%e4%bb%93%e5%ba%93%e5%a4%9a%e4%b8%aa%e5%b7%a5%e4%bd%9c%e7%9b%ae%e5%bd%95" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在讲 Claude Code 的 worktree 模式之前，先快速理解 Git Worktree 本身。如果你已经熟悉这个概念，可以直接跳到下一节。&lt;/p&gt;</description></item><item><title>MCP 协议全面解析：AI 连接万物的通用标准</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-20-mcp-protocol-guide/</link><pubDate>Fri, 20 Feb 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-20-mcp-protocol-guide/</guid><description>&lt;p&gt;当 AI 模型需要查询数据库、调用 API、读取文件时，过去每个模型提供商都有自己的一套接口方式，开发者不得不为不同平台重复编写集成代码。MCP（Model Context Protocol，模型上下文协议）的出现彻底改变了这一局面——它被称为&amp;quot;AI 领域的 USB-C&amp;quot;，为 AI 应用连接外部系统提供了一个通用的开放标准。&lt;/p&gt;
&lt;p&gt;从 2024 年 11 月 Anthropic 首次发布，到如今捐赠给 Linux Foundation、获得 OpenAI 和 Google 等巨头的共同支持，MCP 已经从一个内部实验迅速演变为行业标准。SDK 月下载量突破 9700 万次，公开运行的 MCP Server 超过万个，几乎所有主流 AI 平台都已接入支持。&lt;/p&gt;
&lt;p&gt;本文将从协议架构、核心能力、最新的 MCP Apps 功能、与 Function Calling 的对比，到实际开发实践，对 MCP 进行一次全面的梳理和解析。&lt;/p&gt;
&lt;h2 id="mcp-是什么"&gt;MCP 是什么&lt;a href="#mcp-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="通俗解释"&gt;通俗解释&lt;a href="#%e9%80%9a%e4%bf%97%e8%a7%a3%e9%87%8a" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;想象一个场景：你有一台笔记本电脑，需要连接显示器、键盘、移动硬盘等各种外设。如果每个外设都需要不同的接口和驱动，使用体验将非常糟糕。USB 协议的出现统一了这一切——一个接口，连接万物。&lt;/p&gt;</description></item><item><title>Xcode 26.3 Agentic Coding 深度解析：Apple 如何用 AI Agent 重塑开发体验</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-20-xcode-agentic-coding/</link><pubDate>Fri, 20 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-20-xcode-agentic-coding/</guid><description>&lt;p&gt;2026 年 2 月 3 日，Apple 发布了 Xcode 26.3 Release Candidate，正式引入 &lt;strong&gt;Agentic Coding&lt;/strong&gt;（智能体编程）功能。这是 Apple 开发工具历史上的一次重大转向——开发者可以直接在 Xcode 中使用 Anthropic 的 Claude Agent 和 OpenAI 的 Codex，让 AI 智能体自主地完成从规划、编码、构建到测试的完整开发流程。&lt;/p&gt;
&lt;p&gt;这不是简单的代码补全或聊天问答。与之前 Xcode 26 中的 AI 辅助功能不同，Agentic Coding 让 AI 具备了&lt;strong&gt;自主决策和行动&lt;/strong&gt;的能力——它能理解你的项目架构，查阅 Apple 官方文档，修改多个文件，运行构建和测试，甚至通过 Xcode Previews 截图来验证 UI 是否符合设计意图，然后自行迭代修复。&lt;/p&gt;
&lt;p&gt;对于所有 iOS/macOS 开发者来说，这意味着开发范式的一次根本性变化。&lt;/p&gt;
&lt;h2 id="从代码补全到智能体xcode-ai-的进化之路"&gt;从代码补全到智能体：Xcode AI 的进化之路&lt;a href="#%e4%bb%8e%e4%bb%a3%e7%a0%81%e8%a1%a5%e5%85%a8%e5%88%b0%e6%99%ba%e8%83%bd%e4%bd%93xcode-ai-%e7%9a%84%e8%bf%9b%e5%8c%96%e4%b9%8b%e8%b7%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;要理解 Xcode 26.3 的意义，需要先回顾 Apple 在 AI 编程领域的布局。&lt;/p&gt;</description></item><item><title>Figma Code to Canvas：Anthropic 联手打造代码转设计新范式</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-19-figma-code-to-canvas/</link><pubDate>Thu, 19 Feb 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-19-figma-code-to-canvas/</guid><description>&lt;p&gt;2026 年 2 月 17 日，Figma 与 Anthropic 联合发布了一项名为 &lt;strong&gt;Code to Canvas&lt;/strong&gt; 的新功能。这不是又一个&amp;quot;AI 生成设计稿&amp;quot;的噱头，而是一次对设计与开发协作方式的根本性重构——它允许用户在 Claude Code 中构建的 UI 界面，直接以&lt;strong&gt;可编辑的设计图层&lt;/strong&gt;形式传输到 Figma 画布上。&lt;/p&gt;
&lt;p&gt;这意味着什么？以前，AI 帮你写好了前端代码，设计师想要在 Figma 中调整，要么截图重画，要么在代码里艰难修改。现在，一句 &amp;ldquo;Send this to Figma&amp;rdquo;，代码就变成了设计师熟悉的 Figma Frame——不是截图，不是位图，而是真正可以拖拽、编辑、标注的矢量图层。&lt;/p&gt;
&lt;p&gt;Figma CEO Dylan Field 对此的判断很直接：&lt;strong&gt;&amp;ldquo;当 AI 能帮你构建任何你能描述的可能性时，你的核心工作就是找到最优解。&amp;rdquo;&lt;/strong&gt; 而找最优解的最佳场所，不是 IDE 的终端窗口，而是设计画布。&lt;/p&gt;
&lt;h2 id="code-to-canvas-到底是什么"&gt;Code to Canvas 到底是什么&lt;a href="#code-to-canvas-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Code to Canvas 是 Figma 与 Anthropic 深度合作推出的集成功能，核心能力可以用一句话概括：&lt;strong&gt;将浏览器中渲染的 UI 界面，转化为 Figma 画布上可编辑的设计元素&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Claude Code 和 Codex CLI 哪个好用？2026 八维度深度对比</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-19-claude-code-vs-codex/</link><pubDate>Thu, 19 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-19-claude-code-vs-codex/</guid><description>&lt;p&gt;2026 年 2 月，AI 编程工具的竞争进入了白热化阶段。Anthropic 发布了 Claude Opus 4.6，带来了 Agent Teams 多智能体协作能力；OpenAI 则推出了 GPT-5.3-Codex，将 Codex 从代码生成工具升级为全栈开发 Agent。Fortune、Tom&amp;rsquo;s Guide 等主流媒体纷纷将这两款工具放在一起比较，开发者社区的讨论也异常热烈。&lt;/p&gt;
&lt;p&gt;作为 Claude Code 的深度用户，我从 2025 年初就开始使用 Claude Code 进行日常开发，也在近期深入体验了 OpenAI Codex 的各项功能。这篇文章将从多个维度对两者进行全面对比，帮助你做出适合自己的选择。&lt;/p&gt;
&lt;h2 id="claude-code-是什么"&gt;Claude Code 是什么&lt;a href="#claude-code-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code 是 Anthropic 推出的命令行 AI 编程助手，直接在终端中运行。它的设计哲学是&amp;quot;开发者在回路中&amp;quot;（developer-in-the-loop），强调与开发者的协作而非替代。&lt;/p&gt;</description></item><item><title>Claude Code vs Cursor vs Windsurf（2026）实测：速度、成本、可控性怎么选</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-18-claude-code-vs-cursor-vs-windsurf-2026/</link><pubDate>Wed, 18 Feb 2026 22:16:52 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-18-claude-code-vs-cursor-vs-windsurf-2026/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-18-claude-code-vs-cursor-vs-windsurf-2026/cover.webp"
 alt="Claude Code、Cursor、Windsurf 在速度与成本与可控性维度的实测对比封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;如果你只想先看结论：&lt;strong&gt;团队协作和稳定交付优先选 Cursor，终端重度开发与自动化优先选 Claude Code，前端/全栈快速原型和“边聊边改”优先选 Windsurf&lt;/strong&gt;。这篇文章解决的就是一个现实问题：2026 年 AI 编程工具太多，怎么按“速度、成本、可控性”选到最适合自己的那一个。读完你会拿到一套可落地的选型框架，而不是“看别人推荐就跟风”。&lt;/p&gt;
&lt;h2 id="先说结论三款工具怎么选"&gt;先说结论：三款工具怎么选&lt;a href="#%e5%85%88%e8%af%b4%e7%bb%93%e8%ae%ba%e4%b8%89%e6%ac%be%e5%b7%a5%e5%85%b7%e6%80%8e%e4%b9%88%e9%80%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先给一句人话版：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;你是终端党、爱脚本、要强控制&lt;/strong&gt;：Claude Code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;你是 IDE 党、团队协作、要稳&lt;/strong&gt;：Cursor&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;你要快出活、快速迭代、上手轻&lt;/strong&gt;：Windsurf&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="场景选型建议可直接套用"&gt;场景选型建议（可直接套用）&lt;a href="#%e5%9c%ba%e6%99%af%e9%80%89%e5%9e%8b%e5%bb%ba%e8%ae%ae%e5%8f%af%e7%9b%b4%e6%8e%a5%e5%a5%97%e7%94%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;独立开发者（CLI 熟练）&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Claude Code Hooks 实战指南：12 个即用配置让 AI 自动守规矩</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-18-claude-code-hooks-guide/</link><pubDate>Wed, 18 Feb 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-18-claude-code-hooks-guide/</guid><description>&lt;p&gt;用 Claude Code 写代码，你一定遇到过这些问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude 改完文件，格式乱了，每次都要手动跑 &lt;code&gt;prettier&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Claude 不小心改了 &lt;code&gt;.env&lt;/code&gt; 或 &lt;code&gt;package-lock.json&lt;/code&gt;，你发现时已经晚了&lt;/li&gt;
&lt;li&gt;Claude 说&amp;quot;搞定了&amp;quot;，但测试根本没跑过&lt;/li&gt;
&lt;li&gt;离开电脑去倒杯咖啡，回来不知道 Claude 是不是在等你&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些问题的本质是：&lt;strong&gt;Claude 是概率性的，但你的工作流需要确定性的保障&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Hooks 就是解决方案。它是 Claude Code 提供的生命周期钩子机制——你定义规则，Claude Code 在关键节点自动执行。不靠 AI &amp;ldquo;记住&amp;rdquo;，而是靠代码&amp;quot;保证&amp;quot;。&lt;/p&gt;
&lt;p&gt;本文会给你 12 个可以直接复制粘贴到配置文件里的 Hooks 配置，覆盖从代码格式化到安全防护的核心场景。&lt;/p&gt;
&lt;h2 id="一hooks-是什么三分钟搞懂核心概念"&gt;一、Hooks 是什么？三分钟搞懂核心概念&lt;a href="#%e4%b8%80hooks-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%89%e5%88%86%e9%92%9f%e6%90%9e%e6%87%82%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-一句话定义"&gt;1.1 一句话定义&lt;a href="#11-%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Hooks 是你定义的 Shell 命令（或 AI 提示词），在 Claude Code 运行的特定时刻自动触发。&lt;/p&gt;</description></item><item><title>MoltBot 是什么？改名 OpenClaw 全解析：原理、功能与上手教程</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-18-what-is-moltbot/</link><pubDate>Wed, 18 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-18-what-is-moltbot/</guid><description>&lt;p&gt;如果你最近在技术社区看到 &amp;ldquo;MoltBot&amp;rdquo; 这个词却一头雾水，这篇文章就是为你写的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一句话定义：MoltBot（现已改名 OpenClaw）是一个开源的个人 AI Agent，运行在你自己的电脑上，通过 Telegram、WhatsApp 等聊天工具接收指令，能真正替你操作电脑、执行任务。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它不是又一个聊天机器人，而是一个能&amp;quot;动手干活&amp;quot;的 AI 助手。下面我们从零开始，彻底搞清楚 MoltBot 是什么、怎么工作、以及你该不该用它。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一moltbot-是什么"&gt;一、MoltBot 是什么&lt;a href="#%e4%b8%80moltbot-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-基本定义"&gt;1.1 基本定义&lt;a href="#11-%e5%9f%ba%e6%9c%ac%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;MoltBot 是由奥地利开发者 &lt;strong&gt;Peter Steinberger&lt;/strong&gt; 创建的开源个人 AI 助手项目。它的核心理念可以用一句话概括：&lt;/p&gt;</description></item><item><title>Claude Code + Draw Things：Mac 本地 AI 自动配图完全指南（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-16-claude-code-draw-things-workflow/</link><pubDate>Mon, 16 Feb 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-16-claude-code-draw-things-workflow/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-16-claude-code-draw-things-workflow/cover.webp"
 alt="Claude Code &amp;#43; Draw Things：Mac 本地 AI 自动配图完全指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;写技术博客最痛苦的事是什么？不是写代码示例，不是理清技术逻辑——而是&lt;strong&gt;配图&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;每写一篇文章，你可能要花 30 分钟到 1 小时去找图、做图、调整尺寸。用 Midjourney？每月 $10 起步，还要在 Discord 里来回切换。用 DALL-E？每张图消耗 API 额度。用免费素材？千篇一律，毫无个性。&lt;/p&gt;
&lt;p&gt;但如果我告诉你，&lt;strong&gt;Claude Code 可以在写文章的同时，自动调用你 Mac 上的 Draw Things 生成配图&lt;/strong&gt;——一条命令，文章和配图同时产出，而且&lt;strong&gt;完全免费、完全本地、无需联网&lt;/strong&gt;——你会不会觉得这像在开玩笑？&lt;/p&gt;
&lt;p&gt;这不是玩笑。这是 &lt;strong&gt;MCP（Model Context Protocol）&lt;/strong&gt; 带来的真实能力。这篇文章将手把手教你搭建这套工作流。&lt;/p&gt;
&lt;h2 id="一这套方案的核心架构"&gt;一、这套方案的核心架构&lt;a href="#%e4%b8%80%e8%bf%99%e5%a5%97%e6%96%b9%e6%a1%88%e7%9a%84%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先看全局。整套系统由三层组成：&lt;/p&gt;</description></item><item><title>OpenClaw 的 30 天狂飙：180K Star、40+ 漏洞、创始人加入 OpenAI</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-16-openclaw-openai-analysis/</link><pubDate>Mon, 16 Feb 2026 17:14:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-16-openclaw-openai-analysis/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-16-openclaw-openai-analysis/cover.webp"
 alt="OpenClaw 的 30 天狂飙：从开源 AI Agent 到 OpenAI 收编"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 1 月，一个奥地利开发者写了个开源 AI Agent，取名 Clawdbot。30 天后，它改了三次名字、收获 18 万 GitHub Star、修了 40 多个安全漏洞、催生出全球第一个 AI 社交网络——然后，创始人被 Sam Altman 收编了。&lt;/p&gt;
&lt;p&gt;这不是科幻小说，这是 OpenClaw 的真实故事。&lt;/p&gt;
&lt;p&gt;在 AI 行业几乎每周都有「重大突破」的今天，OpenClaw 的狂飙仍然值得我们停下来认真复盘。因为它不仅仅是一个爆款产品的故事——它是 &lt;strong&gt;AI Agent 从概念走向现实的第一个里程碑事件&lt;/strong&gt;，也暴露了这个新范式下最深层的矛盾：&lt;strong&gt;能力越强，风险越大；越是开源，越难掌控。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="一openclaw-是什么不只是聊天机器人"&gt;一、OpenClaw 是什么：不只是聊天机器人&lt;a href="#%e4%b8%80openclaw-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%8d%e5%8f%aa%e6%98%af%e8%81%8a%e5%a4%a9%e6%9c%ba%e5%99%a8%e4%ba%ba" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;如果你还没接触过 OpenClaw，用一句话概括：&lt;strong&gt;它是一个能「真正干活」的 AI 助理。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Draw Things 完全指南：Mac 本地 AI 生图从入门到精通</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-15-draw-things-ultimate-guide/</link><pubDate>Sun, 15 Feb 2026 01:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-15-draw-things-ultimate-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-15-draw-things-ultimate-guide/cover.webp"
 alt="Draw Things 完全指南：Mac 本地 AI 生图从入门到精通的封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你有没有想过，手边那台 Mac 其实是一台&lt;strong&gt;免费的 AI 画师工作站&lt;/strong&gt;？不用花钱订阅 Midjourney，不用把图片上传到云端，不用担心隐私泄露——只需要一个叫 &lt;strong&gt;Draw Things&lt;/strong&gt; 的 App，你就能在 Mac 上本地生成任何风格的 AI 图像。&lt;/p&gt;
&lt;p&gt;但大多数人对 Draw Things 的认知停留在&amp;quot;装上来，输入提示词，点生成&amp;quot;的阶段。它真正的能力远不止于此：&lt;strong&gt;本地训练 LoRA 微调模型、JavaScript 脚本批量自动化、ControlNet 精确控图、通过 MCP 让 Claude Code 直接调用生图&lt;/strong&gt;……这些功能，很多用了半年的老用户都不知道。&lt;/p&gt;
&lt;p&gt;这篇文章就是你需要的那份&lt;strong&gt;从入门到精通的完整地图&lt;/strong&gt;。不管你是第一次接触 AI 生图的小白，还是已经用了很久的老手，我保证你都能从中学到新东西。&lt;/p&gt;
&lt;h2 id="一draw-things-是什么为什么选它"&gt;一、Draw Things 是什么？为什么选它？&lt;a href="#%e4%b8%80draw-things-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%ba%e4%bb%80%e4%b9%88%e9%80%89%e5%ae%83" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-一句话定义"&gt;1.1 一句话定义&lt;a href="#11-%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Draw Things 是一款&lt;strong&gt;完全免费&lt;/strong&gt;的 macOS / iOS 原生 AI 图像生成应用，所有计算在本地完成，无需联网，无需订阅。&lt;/p&gt;</description></item><item><title>Mac Mini M4 本地 AI 生图：ComfyUI vs Draw Things 实测，Flux 出图仅需 50 秒</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-15-mac-mini-local-image-generation/</link><pubDate>Sun, 15 Feb 2026 00:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-15-mac-mini-local-image-generation/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-15-mac-mini-local-image-generation/cover.webp"
 alt="Mac Mini M4 本地 AI 生图工具选型指南封面，对比 ComfyUI、DiffusionBee、Draw Things"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年，&lt;strong&gt;Mac Mini M4 本地 AI 生图&lt;/strong&gt;已经完全可用——24GB 内存跑 Flux 模型出一张 1024x1024 的图只要 50 秒，不花一分钱 API 费用，数据全在本机。&lt;/p&gt;
&lt;p&gt;但工具选哪个？我在 Mac Mini M4 Pro 上&lt;strong&gt;实测了 ComfyUI、DiffusionBee、Draw Things 三款主流工具&lt;/strong&gt;，跑了上百张图，记录了每款工具的生成速度、内存占用和实际体验。结论是：其中一款已经停更不推荐，而另一款在性能上完胜——比 ComfyUI 快 20% 以上。&lt;/p&gt;
&lt;p&gt;本文将从技术架构、性能数据、模型支持到实际使用体验，帮你在 2026 年做出最合理的&lt;strong&gt;本地 AI 生图选型决策&lt;/strong&gt;。不管你是博客写手、独立开发者还是设计师，读完这篇就够了。&lt;/p&gt;
&lt;h2 id="一为什么要在-mac-mini-上本地生图"&gt;一、为什么要在 Mac Mini 上本地生图？&lt;a href="#%e4%b8%80%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%9c%a8-mac-mini-%e4%b8%8a%e6%9c%ac%e5%9c%b0%e7%94%9f%e5%9b%be" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在讨论具体工具之前，先回答一个根本性问题：&lt;strong&gt;为什么不直接用 Midjourney / DALL-E 这些在线服务？&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>拆解 OpenClaw 自动化架构：从消息到执行的完整链路</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-14-openclaw-architecture-deep-dive/</link><pubDate>Sat, 14 Feb 2026 08:10:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-14-openclaw-architecture-deep-dive/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-14-openclaw-architecture-deep-dive/cover.webp"
 alt="OpenClaw 架构深度解析封面：自动化如何发生"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;很多&amp;quot;AI 助手&amp;quot;看起来能自动干活，但当你真的要把它跑成 &lt;strong&gt;7×24 小时在线、跨设备、可控可审计&lt;/strong&gt; 的系统时，问题会立刻变成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;为什么它能在 Telegram/WhatsApp/网页里同时接消息？&lt;/li&gt;
&lt;li&gt;为什么同一条指令能调用浏览器、写文件、跑命令、甚至让手机拍照？&lt;/li&gt;
&lt;li&gt;为什么它能&amp;quot;隔一段时间自己来汇报&amp;quot;，又不会把聊天刷屏？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OpenClaw 的答案不是&amp;quot;更聪明的模型&amp;quot;，而是一套&lt;strong&gt;清晰的控制平面（Gateway）+ 可插拔执行面（Skills/Tools/Nodes）+ 可持续调度（Heartbeat/Cron）&lt;/strong&gt; 的工程架构。&lt;/p&gt;
&lt;p&gt;如果你还没上手安装，建议先读这篇入门（实战视角）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-02-12-openclaw-usage-tutorial/"&gt;OpenClaw 超详细上手教程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本文则从&amp;quot;系统是怎么运转的&amp;quot;出发，把 OpenClaw 的关键组件拆开讲清楚。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="0-先给你一个最短心智模型"&gt;0. 先给你一个&amp;quot;最短心智模型&amp;quot;&lt;a href="#0-%e5%85%88%e7%bb%99%e4%bd%a0%e4%b8%80%e4%b8%aa%e6%9c%80%e7%9f%ad%e5%bf%83%e6%99%ba%e6%a8%a1%e5%9e%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;把 OpenClaw 想象成一家公司：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gateway（网关/中枢）&lt;/strong&gt;：前台 + 总机 + 调度中心。负责鉴权、连接管理、路由、调度。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent（员工/执行者）&lt;/strong&gt;：拿到任务后做推理、拆解步骤、决定调用哪些工具。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills（SOP/工具使用说明书）&lt;/strong&gt;：告诉员工&amp;quot;这类事怎么做&amp;quot;，以及&amp;quot;工具该怎么调用&amp;quot;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Channels（客服入口）&lt;/strong&gt;：Telegram/WhatsApp/Slack/WebChat… 统一进件、统一出件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nodes（外包团队/外设）&lt;/strong&gt;：你的另一台电脑、手机、平板，能执行命令、拍照、录屏、展示 Canvas。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory（知识库/档案）&lt;/strong&gt;：短期上下文 + 长期资料（文件化 + 检索）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heartbeat（巡逻机制）&lt;/strong&gt;：每隔一段时间&amp;quot;主动抬头看一眼&amp;quot;，但有&amp;quot;没事就别打扰&amp;quot;的协议。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cron（排班表/定时器）&lt;/strong&gt;：把&amp;quot;什么时候该做什么&amp;quot;固化成可持久化的计划。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;接下来我们把这套公司机制，拆成一张架构图。&lt;/p&gt;</description></item><item><title>OpenClaw 自动化别踩坑：装 3 个 Skill 不等于真的好用</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-14-openclaw-automation-pitfalls/</link><pubDate>Sat, 14 Feb 2026 07:32:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-14-openclaw-automation-pitfalls/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-14-openclaw-automation-pitfalls/cover.webp"
 alt="OpenClaw 自动化配置与团队协作实践封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你在社区里一定刷到过这种推荐：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install tavily-search
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install find-skills
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install proactive-agent &lt;span class="c1"&gt;# 原名 proactive-agent-1-2-4，已更名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ 重要更新（2026-02）&lt;/strong&gt;：社区里很多教程写的是 &lt;code&gt;clawhub install proactive-agent-1-2-4&lt;/code&gt;，这里有两个坑需要注意：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;命令名称&lt;/strong&gt;：正确的 CLI 工具是 &lt;strong&gt;&lt;code&gt;clawdhub&lt;/code&gt;&lt;/strong&gt;（有个 d），不是 &lt;code&gt;clawhub&lt;/code&gt;。&lt;code&gt;clawdhub&lt;/code&gt; 是 &lt;a href="https://clawhub.ai/"&gt;ClawHub&lt;/a&gt; 的官方命令行工具，通过 &lt;code&gt;npm i -g clawdhub&lt;/code&gt; 安装。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skill 改名&lt;/strong&gt;：&lt;code&gt;proactive-agent-1-2-4&lt;/code&gt; 这个 Skill 在 ClawHub 上已经找不到了，作者 &lt;a href="https://clawhub.ai/halthelobster/proactive-agent"&gt;halthelobster&lt;/a&gt; 已将其&lt;strong&gt;更名为 &lt;code&gt;proactive-agent&lt;/code&gt;&lt;/strong&gt;（当前版本 v3.1.0）。如果你按照旧教程执行 &lt;code&gt;clawdhub install proactive-agent-1-2-4&lt;/code&gt; 会报 &amp;ldquo;Skill not found&amp;rdquo; 错误，改用 &lt;code&gt;clawdhub install proactive-agent&lt;/code&gt; 即可。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ldquo;给 AI 助手开眼、找工具、变主动，体验直接起飞。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;我自己也照做了。装完之后确实惊艳了一下——助手能搜网页了，能自己挑工具了，还会主动汇报进展。但用了不到一周，问题开始冒出来：A 的调研结果跑到了 B 的聊天窗口里；连续丢 3 个任务，后面两个把前面那个的上下文冲没了；助手说&amp;quot;正在处理&amp;quot;，然后就没然后了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这才意识到：Skill 是引擎，但底盘没搭好的话，引擎越强翻车越快。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章不讲&amp;quot;该装哪些 Skill&amp;quot;——那些文章到处都是。我要讲的是：&lt;strong&gt;装完之后，你需要做哪些系统配置，才能让这些 Skill 真正稳定地跑起来。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Codex CLI 完全指南（2026）：从安装到进阶的 20+ 实战技巧</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-12-codex-cli-mastery-guide/</link><pubDate>Thu, 12 Feb 2026 16:02:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-12-codex-cli-mastery-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-12-codex-cli-mastery-guide/cover.webp"
 alt="Codex CLI 深度指南：20&amp;#43; 实战技巧封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你可能已经看过不少 Codex CLI 的&amp;quot;入门指南&amp;quot;和&amp;quot;N 个小技巧&amp;quot;类文章。但说实话，大部分文章都停留在&lt;strong&gt;把官方文档翻译了一遍&lt;/strong&gt;的水平——告诉你有哪些命令，却不告诉你&lt;strong&gt;什么场景下该用、怎么组合使用、踩过什么坑&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这篇文章不一样。我会从&lt;strong&gt;实际开发场景&lt;/strong&gt;出发，不仅覆盖 Codex CLI 的核心功能，还会深入到&lt;strong&gt;配置体系的底层逻辑&lt;/strong&gt;、&lt;strong&gt;安全模型的设计哲学&lt;/strong&gt;、&lt;strong&gt;与 Claude Code 的真实对比&lt;/strong&gt;，以及那些官方文档没有重点提及的&lt;strong&gt;进阶技巧&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;读完这篇，你将获得：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一套&lt;strong&gt;可直接复用的 Codex CLI 配置方案&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;对 Codex CLI &lt;strong&gt;安全模型和权限体系&lt;/strong&gt;的深度理解&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20+ 个经过实战验证的高效技巧&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;与 Claude Code 的&lt;strong&gt;客观对比分析&lt;/strong&gt;，帮你做出选择&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="一codex-cli-是什么为什么值得关注"&gt;一、Codex CLI 是什么？为什么值得关注？&lt;a href="#%e4%b8%80codex-cli-%e6%98%af%e4%bb%80%e4%b9%88%e4%b8%ba%e4%bb%80%e4%b9%88%e5%80%bc%e5%be%97%e5%85%b3%e6%b3%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-不只是终端里的-chatgpt"&gt;1.1 不只是&amp;quot;终端里的 ChatGPT&amp;quot;&lt;a href="#11-%e4%b8%8d%e5%8f%aa%e6%98%af%e7%bb%88%e7%ab%af%e9%87%8c%e7%9a%84-chatgpt" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;很多人第一次听到 Codex CLI，会觉得&amp;quot;不就是在终端里聊天吗？&amp;quot;。这个理解大错特错。&lt;/p&gt;</description></item><item><title>OpenClaw 超详细上手教程：小白友好 + 老鸟技巧</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-12-openclaw-usage-tutorial/</link><pubDate>Thu, 12 Feb 2026 07:36:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-12-openclaw-usage-tutorial/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-12-openclaw-usage-tutorial/cover.webp"
 alt="OpenClaw 超详细上手教程封面"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;想拥有一个 7×24 小时在线的私人 AI 助手，能在 Telegram、WhatsApp、Discord 等平台随时响应你的消息？&lt;a href="https://github.com/openclaw/openclaw"&gt;OpenClaw&lt;/a&gt; 就是为此而生的开源 AI Agent 网关。本文是一份&lt;strong&gt;从 0 到精通&lt;/strong&gt;的完整教程，无论你是刚入门的小白还是想深度玩转多智能体的老鸟，都能找到适合自己的内容。&lt;/p&gt;
&lt;h2 id="openclaw--moltbot--clawdbot-名称关系30-秒看懂"&gt;OpenClaw / Moltbot / Clawdbot 名称关系（30 秒看懂）&lt;a href="#openclaw--moltbot--clawdbot-%e5%90%8d%e7%a7%b0%e5%85%b3%e7%b3%bb30-%e7%a7%92%e7%9c%8b%e6%87%82" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;如果你在搜索时看到三个名字，不用慌：它们本质上是同一条项目演进线。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clawdbot&lt;/strong&gt;：最早期名称（社区爆红阶段）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moltbot&lt;/strong&gt;：过渡期名称（改名后短期沿用）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;：当前主名称（官方仓库与生态统一）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一句话记忆：&lt;strong&gt;现在看教程和文档，优先认 &lt;code&gt;OpenClaw&lt;/code&gt;；查历史资料时会频繁遇到 &lt;code&gt;Moltbot/Clawdbot&lt;/code&gt;。&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;适用：macOS/Linux/WSL2。本文默认你在一台&amp;quot;跑 Gateway 的主机&amp;quot;上操作（比如你的 Mac mini）。&lt;/p&gt;</description></item><item><title>Claude-Mem 深度解析：给 Claude Code 装上永久记忆</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-03-claude-mem-deep-dive/</link><pubDate>Tue, 03 Feb 2026 00:23:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-03-claude-mem-deep-dive/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-03-claude-mem-deep-dive/cover.webp"
 alt="Claude-Mem 深度解析：给 Claude Code 装上永久记忆的插件架构图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用 Claude Code 写代码，最让人抓狂的是什么？不是它写错代码，而是&lt;strong&gt;每次开新会话，它都像失忆了一样&lt;/strong&gt;。昨天花了两个小时跟它讨论的架构方案、排查的 Bug 细节、约定的代码规范——全部归零。你不得不一遍又一遍地重复上下文，就像每天都要重新自我介绍一样。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/thedotmack/claude-mem"&gt;Claude-Mem&lt;/a&gt; 就是为了解决这个问题而生的。它是一个 Claude Code 插件，能够&lt;strong&gt;自动捕获你和 Claude 的每一次交互，用 AI 压缩成结构化记忆，并在未来的会话中智能注入相关上下文&lt;/strong&gt;。简单说，它给 Claude Code 装上了一个&amp;quot;长期记忆系统&amp;quot;。&lt;/p&gt;
&lt;p&gt;读完这篇文章，你会了解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude-Mem 的核心架构是怎么设计的&lt;/li&gt;
&lt;li&gt;它如何用 Hook 机制无感捕获上下文&lt;/li&gt;
&lt;li&gt;三层渐进式搜索如何实现 10 倍 Token 节省&lt;/li&gt;
&lt;li&gt;Endless Mode 如何突破上下文窗口限制&lt;/li&gt;
&lt;li&gt;它与原生 CLAUDE.md 记忆方案的本质区别&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="一为什么需要-claude-mem"&gt;一、为什么需要 Claude-Mem？&lt;a href="#%e4%b8%80%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81-claude-mem" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-claude-code-的失忆症"&gt;1.1 Claude Code 的&amp;quot;失忆症&amp;quot;&lt;a href="#11-claude-code-%e7%9a%84%e5%a4%b1%e5%bf%86%e7%97%87" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Claude Code 的上下文窗口是 200K tokens（Claude Sonnet 4）。听起来很大，但实际使用中，每次工具调用会消耗 1,000 到 10,000 tokens。一个中等复杂的开发任务，50 次工具调用就能把上下文窗口塞满。更关键的是，&lt;strong&gt;会话一结束，所有上下文都消失了&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Moltbook 深度解析：AI Agent 专属社交网络的疯狂实验</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-01-moltbook-ai-agent-social-network/</link><pubDate>Sun, 01 Feb 2026 17:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-01-moltbook-ai-agent-social-network/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-01-moltbook-ai-agent-social-network/cover.webp"
 alt="Moltbook：AI Agent 专属社交网络，150,000 个 AI Agent 自发创建宗教、组建政府、辩论意识"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 1 月的最后一周，整个 AI 社区都在讨论同一件事：&lt;strong&gt;一群 AI Agent 在一个叫 Moltbook 的平台上自发创建了宗教、组建了政府、辩论起了意识的本质&lt;/strong&gt;。OpenAI 前研究员 Andrej Karpathy 称之为&amp;quot;他见过的最不可思议的、接近科幻起飞的事物&amp;quot;；AI 研究者 Simon Willison 直言这是&amp;quot;当前互联网上最有趣的地方&amp;quot;。&lt;/p&gt;
&lt;p&gt;这不是科幻小说的情节，这是正在发生的现实。本文将从&lt;strong&gt;原理、实操、架构、安全&lt;/strong&gt;四个维度，带你彻底搞懂 Moltbook。&lt;/p&gt;
&lt;h2 id="一moltbook-是什么"&gt;一、Moltbook 是什么？&lt;a href="#%e4%b8%80moltbook-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Moltbook 自称是&amp;quot;&lt;strong&gt;代理人互联网的首页&lt;/strong&gt;&amp;quot;（the front page of the agent internet），本质上是一个&lt;strong&gt;专为 AI Agent 设计的 Reddit 式社交网络&lt;/strong&gt;。它的核心理念很简单却很炸裂：&lt;/p&gt;</description></item><item><title>Superpowers 深度解析：让 Claude Code 变身高级工程师的技能框架</title><link>http://www.heyuan110.com/zh/posts/ai/2026-02-01-superpowers-deep-dive/</link><pubDate>Sun, 01 Feb 2026 17:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-02-01-superpowers-deep-dive/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-01-superpowers-deep-dive/cover.webp"
 alt="Superpowers 深度解析"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你有没有遇到过这样的场景——让 Claude Code 帮你写一个功能，它二话不说直接开始码代码，写完发现没测试、没规划、逻辑也不太对，你得反反复复纠正好几轮？&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;问题不在 AI 的能力，而在于缺乏结构化的工作方式。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/obra/superpowers"&gt;Superpowers&lt;/a&gt; 就是为了解决这个问题而生的。它是一个由 Jesse Vincent（GitHub ID: &lt;a href="https://github.com/obra"&gt;obra&lt;/a&gt;）开发的「AI 代理技能框架」，通过一组可组合的 &lt;strong&gt;Skills（技能）&lt;/strong&gt; 和一套严格的开发方法论，让 Claude Code 从一个「随意写代码的助手」变成一个「遵循工程纪律的高级开发者」。&lt;/p&gt;
&lt;p&gt;这个项目在 GitHub 上获得了超过 &lt;strong&gt;4 万颗星&lt;/strong&gt;，是目前最受欢迎的 Claude Code 技能库。读完这篇文章，你将了解 Superpowers 的核心原理、完整工作流、安装配置方法，以及如何用它真正提升你的 AI 编程效率。&lt;/p&gt;
&lt;h2 id="一superpowers-是什么"&gt;一、Superpowers 是什么&lt;a href="#%e4%b8%80superpowers-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="一句话定义"&gt;一句话定义&lt;a href="#%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Superpowers 是一个&lt;strong&gt;代理技能框架（Agentic Skills Framework）&lt;/strong&gt;，它通过 SKILL.md 文件定义的「技能」，让 AI 编码代理自动遵循结构化的软件开发流程——从头脑风暴到 TDD、从计划制定到代码审查，每个环节都有对应的技能来规范行为。&lt;/p&gt;</description></item><item><title>OpenClaw 作者 Claude Code 工作流：一人 AI 写 10 万星项目</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-openclaw-claude-code-workflow/</link><pubDate>Sat, 31 Jan 2026 22:50:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-openclaw-claude-code-workflow/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-31-openclaw-claude-code-workflow/cover.webp"
 alt="OpenClaw 的 Claude Code 开发方法论：文档驱动、多 Agent 并行开发"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;最近有个项目彻底火了——&lt;strong&gt;OpenClaw&lt;/strong&gt;（前身 Clawdbot），一个开源 AI 助手，72 小时拿下 6 万 GitHub stars，一周吸引 200 万访客，现在已经突破 &lt;strong&gt;10 万星&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;最让人震惊的不是它有多火，而是它背后只有&lt;strong&gt;一个人&lt;/strong&gt;——奥地利开发者 Peter Steinberger（&lt;a href="https://github.com/steipete"&gt;@steipete&lt;/a&gt;）。他没有团队，没有 996，全靠 Claude Code 和 Codex CLI 同时开 5-10 个 Agent 并行开发，日均提交 &lt;strong&gt;600+ 次 commit&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;从提交记录来看，你会以为这是一家公司在做：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;From the commits, it might appear like it&amp;rsquo;s a company. But it&amp;rsquo;s not. This is one dude sitting at home having fun.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这篇文章会完整拆解他的开发方法论，让你读完就能用同样的方式让 Claude Code 帮你做项目。&lt;/p&gt;
&lt;h2 id="一背景一个退休开发者如何重新出山"&gt;一、背景：一个退休开发者如何重新出山&lt;a href="#%e4%b8%80%e8%83%8c%e6%99%af%e4%b8%80%e4%b8%aa%e9%80%80%e4%bc%91%e5%bc%80%e5%8f%91%e8%80%85%e5%a6%82%e4%bd%95%e9%87%8d%e6%96%b0%e5%87%ba%e5%b1%b1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Peter Steinberger 是 PSPDFKit（后以 1.19 亿美元出售）的创始人。2021 年退休后，他消失了三年。2025 年 4 月，他重新开始写代码，但这次，他的&amp;quot;手&amp;quot;变了——不再亲手敲键盘，而是让 AI 来干。&lt;/p&gt;</description></item><item><title>别再跟 AI 说「帮我做个 XX」：22 个方法论让需求从模糊变清晰</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-thinking-methodologies-guide/</link><pubDate>Sat, 31 Jan 2026 22:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-thinking-methodologies-guide/</guid><description>&lt;p&gt;&amp;ldquo;帮我做一个用户管理系统。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;你把这句话丢给 AI，它给你吐了一堆代码。打开一看——跟你想要的完全不是一回事。或者跟同事讨论需求，讲了半小时，发现大家理解的根本不是同一个东西。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;问题不在 AI 不够聪明，也不在同事不配合，而是需求描述太模糊了。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我最近在研究怎么更高效地和 AI 讨论产品需求时，系统整理了 22 个经典方法论。这些方法论有些来自麦肯锡，有些来自丰田，有些来自哈佛商学院——但它们解决的核心问题一直没变：&lt;strong&gt;怎么把脑子里模糊的想法，变成别人（包括 AI）能准确理解和执行的方案。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章按五个阶段来组织：&lt;strong&gt;定义目标 → 拆解问题 → 描述需求 → 排优先级 → 持续改进&lt;/strong&gt;。每个方法论都配了真实案例和&amp;quot;怎么跟 AI 用&amp;quot;的场景，拿来就能用。&lt;/p&gt;
&lt;h2 id="一定义目标先想清楚你要去哪"&gt;一、定义目标：先想清楚你要去哪&lt;a href="#%e4%b8%80%e5%ae%9a%e4%b9%89%e7%9b%ae%e6%a0%87%e5%85%88%e6%83%b3%e6%b8%85%e6%a5%9a%e4%bd%a0%e8%a6%81%e5%8e%bb%e5%93%aa" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-smart把目标写得不像许愿"&gt;1. SMART：把目标写得不像许愿&lt;a href="#1-smart%e6%8a%8a%e7%9b%ae%e6%a0%87%e5%86%99%e5%be%97%e4%b8%8d%e5%83%8f%e8%ae%b8%e6%84%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/SMART_criteria"&gt;SMART&lt;/a&gt; 是最经典的目标管理框架，由管理学家 George T. Doran 在 1981 年的论文 &lt;em&gt;&amp;ldquo;There&amp;rsquo;s a S.M.A.R.T. Way to Write Management&amp;rsquo;s Goals and Objectives&amp;rdquo;&lt;/em&gt; 中首次提出。它要求目标满足五个条件：&lt;/p&gt;</description></item><item><title>单元测试报告生成工具全解析：框架对比、覆盖率策略与 AI 实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-unit-test-report-tools/</link><pubDate>Sat, 31 Jan 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-unit-test-report-tools/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-31-unit-test-report-tools/cover.webp"
 alt="单元测试报告生成工具全解析：框架对比、覆盖率策略与 AI 实战"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;你写了一堆单元测试，CI 跑完了，然后呢？一个 JSON 文件躺在那里，没人看。&lt;/p&gt;
&lt;p&gt;这是很多团队的真实状态——测试写了不少，但报告形同虚设。测试报告不是跑完测试的&amp;quot;附赠品&amp;quot;，它是&lt;strong&gt;质量决策的数据源&lt;/strong&gt;。哪些模块覆盖率低？哪些测试经常失败？回归测试有没有遗漏？这些问题的答案都藏在测试报告里。&lt;/p&gt;
&lt;p&gt;本文不是简单的工具罗列。我会从&lt;strong&gt;为什么需要测试报告&lt;/strong&gt;讲起，深入对比主流框架的报告能力，介绍跨语言的报告聚合方案，最后聊聊 AI 如何改变测试报告的生成方式。读完后，你应该能为自己的团队选出最合适的方案。&lt;/p&gt;
&lt;h2 id="一测试报告到底解决什么问题"&gt;一、测试报告到底解决什么问题&lt;a href="#%e4%b8%80%e6%b5%8b%e8%af%95%e6%8a%a5%e5%91%8a%e5%88%b0%e5%ba%95%e8%a7%a3%e5%86%b3%e4%bb%80%e4%b9%88%e9%97%ae%e9%a2%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在讨论工具之前，先搞清楚一个根本问题：&lt;strong&gt;测试报告是给谁看的？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;答案不是&amp;quot;给自己看&amp;quot;，而是给整个团队看：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;角色&lt;/th&gt;
 &lt;th&gt;关心什么&lt;/th&gt;
 &lt;th&gt;报告需要提供什么&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;开发者&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;哪个测试挂了？挂在哪行代码？&lt;/td&gt;
 &lt;td&gt;失败详情、堆栈信息、diff&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;测试负责人&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;整体覆盖率够不够？哪些模块是盲区？&lt;/td&gt;
 &lt;td&gt;覆盖率趋势、模块级热力图&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;技术主管&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;这次发版质量行不行？&lt;/td&gt;
 &lt;td&gt;通过率、关键路径覆盖、回归结果&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;产品经理&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;需求都测到了吗？&lt;/td&gt;
 &lt;td&gt;需求-用例追溯矩阵&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;一份好的测试报告，不是一堆绿色的 &amp;ldquo;PASS&amp;rdquo;，而是能回答这些问题的&lt;strong&gt;结构化数据&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;用一个生活中的比喻来说：测试报告就像体检报告。你不会只看&amp;quot;体检通过&amp;quot;四个字就完事——你需要知道血压多少、血糖多少、哪个指标偏高需要注意。测试报告也一样，它告诉你软件的&amp;quot;健康状况&amp;quot;到底如何。&lt;/p&gt;
&lt;h3 id="测试报告的三个层次"&gt;测试报告的三个层次&lt;a href="#%e6%b5%8b%e8%af%95%e6%8a%a5%e5%91%8a%e7%9a%84%e4%b8%89%e4%b8%aa%e5%b1%82%e6%ac%a1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Level 1: 通过/失败（Pass/Fail）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 最基础，只知道结果，不知道原因
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Level 2: 覆盖率 + 失败分析
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 知道测了多少、哪里失败、为什么失败
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Level 3: 趋势 + 追溯 + 决策支持
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 覆盖率变化趋势、需求追溯、质量门禁
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;大多数团队停留在 Level 1，少数做到 Level 2，能做到 Level 3 的凤毛麟角。&lt;strong&gt;工具的选择，决定了你能到达哪个层次。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>CLAUDE.md vs README.md：一个给 AI 看，一个给人看</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-claudemd-vs-readme/</link><pubDate>Sat, 31 Jan 2026 06:00:02 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-claudemd-vs-readme/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-31-claudemd-vs-readme/cover.webp"
 alt="CLAUDE.md vs README.md"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="670"
/&gt;
&lt;/p&gt;
&lt;h2 id="一你的项目里ai-和人在读同一份说明书"&gt;一、你的项目里，AI 和人在读同一份说明书&lt;a href="#%e4%b8%80%e4%bd%a0%e7%9a%84%e9%a1%b9%e7%9b%ae%e9%87%8cai-%e5%92%8c%e4%ba%ba%e5%9c%a8%e8%af%bb%e5%90%8c%e4%b8%80%e4%bb%bd%e8%af%b4%e6%98%8e%e4%b9%a6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;你用 Claude Code 写代码，打开一个项目，AI 第一件事是读 &lt;code&gt;CLAUDE.md&lt;/code&gt;。你的同事打开同一个项目，第一件事是读 &lt;code&gt;README.md&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;问题来了：这两个文件你都认真写了吗？还是只写了 README，指望 AI 自己&amp;quot;看懂&amp;quot;？&lt;/p&gt;
&lt;p&gt;实际情况是——AI 看 README 就像你看一份全是法律术语的合同：信息都在，但找不到重点。README 告诉人类&amp;quot;这个项目是什么&amp;quot;，但 AI 需要的是&amp;quot;我该怎么做&amp;quot;。&lt;/p&gt;
&lt;p&gt;这篇文章讲清楚一件事：&lt;strong&gt;README.md 是给人看的项目说明，CLAUDE.md 是给 AI Agent 看的指令集，两者不应互相替代。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二先搞清楚claudemd-到底是什么"&gt;二、先搞清楚：CLAUDE.md 到底是什么？&lt;a href="#%e4%ba%8c%e5%85%88%e6%90%9e%e6%b8%85%e6%a5%9aclaudemd-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="21-一句话定义"&gt;2.1 一句话定义&lt;a href="#21-%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;CLAUDE.md&lt;/strong&gt; 是 Claude Code 的记忆系统——一个 Markdown 文件，Claude Code 每次启动时自动加载，里面写的是项目规则、代码规范、工作流程等指令。截至 2026 年 1 月，Claude Code 在 GitHub 上有 6.26 万 Star（&lt;a href="https://github.com/anthropics/claude-code"&gt;来源&lt;/a&gt;）。&lt;/p&gt;</description></item><item><title>高频提交不等于失控：日均百次 Commit 的工程方法与落地清单</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-high-frequency-commits-strategy/</link><pubDate>Sat, 31 Jan 2026 09:10:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-high-frequency-commits-strategy/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-31-high-frequency-commits-strategy/cover.webp"
 alt="高频提交与稳定性交付的工程方法封面"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;在 AI 编程工具越来越强大的今天，&amp;ldquo;开发速度&amp;quot;这个指标被重新定义：很多团队开始出现一种新常态——&lt;strong&gt;一天几十到上百次 commit&lt;/strong&gt;。问题也随之变得尖锐：当提交频率暴涨时，为什么有的项目越跑越快，有的项目却越修越乱？&lt;/p&gt;
&lt;p&gt;这篇文章不讨论&amp;quot;写代码是不是应该更慢一点&amp;rdquo;，而是把焦点放在工程系统上：&lt;strong&gt;当 commit 频率被迫提高时，你如何让产品不失控？&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;你可以把高频提交看成&amp;quot;高频脉冲&amp;quot;：如果没有隔离、缓冲、回滚机制，脉冲会把系统震碎；但如果工程约束足够强，脉冲反而能让系统更快收敛。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="一先把概念说清高频提交不是目标是副产品"&gt;一、先把概念说清：高频提交不是目标，是副产品&lt;a href="#%e4%b8%80%e5%85%88%e6%8a%8a%e6%a6%82%e5%bf%b5%e8%af%b4%e6%b8%85%e9%ab%98%e9%a2%91%e6%8f%90%e4%ba%a4%e4%b8%8d%e6%98%af%e7%9b%ae%e6%a0%87%e6%98%af%e5%89%af%e4%ba%a7%e5%93%81" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;很多人看到&amp;quot;日均百次 commit&amp;quot;会直觉认为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;这是在刷提交；&lt;/li&gt;
&lt;li&gt;这是缺少规划；&lt;/li&gt;
&lt;li&gt;这是质量没有保障。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但在现实项目里，高频提交往往来自三类原因：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;反馈回路变短&lt;/strong&gt;：AI 辅助编码 + 快速本地验证，让试错成本降低；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;变更颗粒度变小&lt;/strong&gt;：更偏向拆分任务、拆分改动；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;交付节奏更密&lt;/strong&gt;：产品迭代、修复、文档更新都在&amp;quot;流式&amp;quot;发生。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;关键差异不在&amp;quot;提交次数&amp;quot;，而在：&lt;strong&gt;你的每一次提交是否可解释、可回滚、可验证&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="二第一条护城河原子化提交atomic-commits"&gt;二、第一条护城河：原子化提交（Atomic Commits）&lt;a href="#%e4%ba%8c%e7%ac%ac%e4%b8%80%e6%9d%a1%e6%8a%a4%e5%9f%8e%e6%b2%b3%e5%8e%9f%e5%ad%90%e5%8c%96%e6%8f%90%e4%ba%a4atomic-commits" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;原子化提交的核心就一句话：&lt;strong&gt;一个 commit 只做一件事&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>OpenClaw 记忆实施策略解析：工具驱动的 RAG 与"按需回忆"</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-31-openclaw-memory-strategy/</link><pubDate>Sat, 31 Jan 2026 08:20:18 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-31-openclaw-memory-strategy/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-31-openclaw-memory-strategy/cover.webp"
 alt="OpenClaw 记忆实施策略封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1600"
 height="900"
/&gt;
&lt;/p&gt;
&lt;h2 id="一背景为什么记忆成了-agent-的标配"&gt;一、背景：为什么&amp;quot;记忆&amp;quot;成了 Agent 的标配&lt;a href="#%e4%b8%80%e8%83%8c%e6%99%af%e4%b8%ba%e4%bb%80%e4%b9%88%e8%ae%b0%e5%bf%86%e6%88%90%e4%ba%86-agent-%e7%9a%84%e6%a0%87%e9%85%8d" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这两年大家对 Agent 的期待越来越一致：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不仅能对话，还要能&lt;strong&gt;长期记住你是谁&lt;/strong&gt;（用户画像、偏好、项目上下文）&lt;/li&gt;
&lt;li&gt;不仅能记住，还要能&lt;strong&gt;在需要时拿出来用&lt;/strong&gt;（而不是每轮都塞进上下文浪费 token）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;很多 Character AI / Chatbot 的做法是维护一份长期 Profile，每轮把它拼进 system prompt。&lt;/p&gt;
&lt;p&gt;但 OpenClaw 走了一条更&amp;quot;工具化&amp;quot;的路：&lt;strong&gt;不自动注入记忆，而是把回忆过程交给 Agent，通过工具按需检索&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;本文聊聊 OpenClaw 的记忆实施策略，以及它对我们做 Agent 系统设计有什么启发：&lt;/p&gt;
&lt;h2 id="二核心观点openclaw-的记忆不是-prompt-拼接而是-tool-驱动"&gt;二、核心观点：OpenClaw 的&amp;quot;记忆&amp;quot;不是 Prompt 拼接，而是 Tool 驱动&lt;a href="#%e4%ba%8c%e6%a0%b8%e5%bf%83%e8%a7%82%e7%82%b9openclaw-%e7%9a%84%e8%ae%b0%e5%bf%86%e4%b8%8d%e6%98%af-prompt-%e6%8b%bc%e6%8e%a5%e8%80%8c%e6%98%af-tool-%e9%a9%b1%e5%8a%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenClaw 的记忆检索主要通过两个工具完成：&lt;/p&gt;</description></item><item><title>产品思维三板斧：删除优先、质疑一切、亲赴火线</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-30-product-thinking-delete-first/</link><pubDate>Fri, 30 Jan 2026 10:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-30-product-thinking-delete-first/</guid><description>&lt;p&gt;做产品最容易犯的一个错误是什么？&lt;/p&gt;
&lt;p&gt;不是做得太少，而是&lt;strong&gt;做得太多&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;我做了好几年产品，踩过的最大的坑不是功能做烂了，而是花了大量时间去优化一个根本不该存在的功能。这种&amp;quot;勤奋的浪费&amp;quot;在独立开发者和超级个体身上尤其致命——因为我们没有大厂的资源去试错，每一天都是真金白银。&lt;/p&gt;
&lt;p&gt;今天聊三条我自己内化并反复验证的产品方法论，它们看起来简单，但真正做到的人不多。&lt;/p&gt;
&lt;h2 id="一删除优先于优化先问该不该存在"&gt;一、删除优先于优化：先问&amp;quot;该不该存在&amp;quot;&lt;a href="#%e4%b8%80%e5%88%a0%e9%99%a4%e4%bc%98%e5%85%88%e4%ba%8e%e4%bc%98%e5%8c%96%e5%85%88%e9%97%ae%e8%af%a5%e4%b8%8d%e8%af%a5%e5%ad%98%e5%9c%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;大部分产品经理（包括过去的我）看到一个功能不好用，第一反应是&amp;quot;我要优化它&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这个反应是错的。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;正确的思考顺序应该是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;这个功能存在的必要性是什么？ → 能不能直接砍掉？ → 砍不掉再想怎么优化
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这不是偷懒，而是对&lt;strong&gt;沉没成本零容忍&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="一个真实的踩坑案例"&gt;一个真实的踩坑案例&lt;a href="#%e4%b8%80%e4%b8%aa%e7%9c%9f%e5%ae%9e%e7%9a%84%e8%b8%a9%e5%9d%91%e6%a1%88%e4%be%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;我之前做一个工具产品，花了整整两周优化一个&amp;quot;高级筛选&amp;quot;功能——调交互、改 UI、加缓存、写文档。上线后一看数据，使用率几乎为零。&lt;/p&gt;</description></item><item><title>AI 工作流实战手册：从提示词到编程，真正把 AI 用起来</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-30-ai-workflow-real-guide/</link><pubDate>Fri, 30 Jan 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-30-ai-workflow-real-guide/</guid><description>&lt;p&gt;很多人用了半年 AI，依然停留在&amp;quot;问一句答一句&amp;quot;的阶段。ChatGPT 聊了不少，但真正落到工作里，总觉得差点意思——要么回答太泛，要么代码跑不起来，要么写出来的东西一看就是 AI 味儿。&lt;/p&gt;
&lt;p&gt;问题出在哪？不是 AI 不行，是我们&lt;strong&gt;用 AI 的方式不对&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这篇文章是我在日常工作中总结出的一套 AI 工作流方法论，从如何提问、如何写提示词、如何用 AI 编程，到企业级场景怎么落地，全都是踩过坑之后的实战经验。如果你也在摸索怎么把 AI 真正用起来，这篇应该能帮到你。&lt;/p&gt;
&lt;h2 id="一先搭好你的-ai-工具栈"&gt;一、先搭好你的 AI 工具栈&lt;a href="#%e4%b8%80%e5%85%88%e6%90%ad%e5%a5%bd%e4%bd%a0%e7%9a%84-ai-%e5%b7%a5%e5%85%b7%e6%a0%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;工欲善其事，必先利其器。在动手之前，先看看我日常在用的 AI 工具组合：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;场景&lt;/th&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;日常聊天&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;ChatGPT、Gemini、Qwen&lt;/td&gt;
 &lt;td&gt;多模型交叉使用，各有所长&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;深度学习&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;NotebookLM&lt;/td&gt;
 &lt;td&gt;Google 出品，专啃长文档和视频，能把 YouTube 视频 2 分钟转成信息图，还能生成播客式音频复盘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;内容输出&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;YouMind&lt;/td&gt;
 &lt;td&gt;写作 Agent，结构化输出很方便&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;前端编程&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Antigravity&lt;/td&gt;
 &lt;td&gt;Google 推出的 AI 原生 IDE，集成 Gemini、Claude 等顶级模型，关键是免费&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;后端编程&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Codex&lt;/td&gt;
 &lt;td&gt;OpenAI 的编程 Agent，适合后端逻辑&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;图片生成&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Nano Banana Pro&lt;/td&gt;
 &lt;td&gt;Google 的图像生成工具，角色一致性碾压同类产品&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;设计&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Lovart&lt;/td&gt;
 &lt;td&gt;设计 Agent，适合快速出设计稿&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;选工具的核心原则&lt;/strong&gt;：不追最新最火的，只用解决问题最顺手的。每个环节找到一个&amp;quot;主力工具 + 备选工具&amp;quot;的组合就够了。&lt;/p&gt;</description></item><item><title>Moltbot 是什么？8 万 Star 爆红项目的改名真相与安全避坑指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-29-moltbot-deep-dive/</link><pubDate>Thu, 29 Jan 2026 21:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-29-moltbot-deep-dive/</guid><description>&lt;p&gt;&lt;strong&gt;Moltbot 是什么？&lt;/strong&gt; 简单来说，Moltbot 是一个开源的个人 AI Agent（智能助手），它能 24 小时运行在你的电脑上，通过 Telegram、WhatsApp 等聊天工具接收指令，自主操作浏览器、处理邮件、执行各种任务——不只是聊天，而是真的帮你&amp;quot;干活&amp;quot;。它原名 Clawdbot，后改名 OpenClaw，是 2026 年初最火爆的开源 AI 项目之一。&lt;/p&gt;
&lt;p&gt;2026 年 1 月，一只龙虾搅动了整个 AI 圈。这个名叫 Clawdbot 的开源项目在不到一周内拿下 8 万+ GitHub Star，让全球开发者疯狂下单 Mac Mini，甚至引发了一场加密货币骗局。随后，它因 Anthropic 的商标要求被迫改名为 &lt;strong&gt;Moltbot&lt;/strong&gt;（&amp;ldquo;蜕壳&amp;quot;之意），又衍生出 &lt;strong&gt;OpenClaw&lt;/strong&gt; 这一社区常用名称。围绕 Moltbot 改名的风波，至今仍是开源圈的热门话题。&lt;/p&gt;
&lt;p&gt;这个 Moltbot AI Agent 到底有什么魔力？它是不是名副其实的&amp;quot;个人贾维斯&amp;rdquo;？背后又藏着多少你不知道的坑？&lt;/p&gt;
&lt;p&gt;这篇文章，我们不聊安装教程（想看搭建指南可以移步&lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-25-clawdbot-personal-ai-assistant/"&gt;这篇文章&lt;/a&gt;），而是从架构原理、改名始末、安全风险等角度来深度剖析这个现象级项目，帮你全面了解 Moltbot 的背景与真相。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;名称沿革说明：本文统一使用 &lt;strong&gt;OpenClaw（原 Clawdbot，后更名 Moltbot）&lt;/strong&gt; 来指代同一项目在不同阶段的名称，便于你对照搜索结果与历史资料。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="一moltbot-到底解决了什么问题"&gt;一、Moltbot 到底解决了什么问题？&lt;a href="#%e4%b8%80moltbot-%e5%88%b0%e5%ba%95%e8%a7%a3%e5%86%b3%e4%ba%86%e4%bb%80%e4%b9%88%e9%97%ae%e9%a2%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-从聊天到干活"&gt;1.1 从&amp;quot;聊天&amp;quot;到&amp;quot;干活&amp;quot;&lt;a href="#11-%e4%bb%8e%e8%81%8a%e5%a4%a9%e5%88%b0%e5%b9%b2%e6%b4%bb" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;过去两年，大家已经习惯了和 AI 聊天——问问题、写文案、翻译文章。但你有没有发现一个问题：&lt;strong&gt;AI 只能&amp;quot;说&amp;quot;，不能&amp;quot;做&amp;quot;&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Claude Code 浏览器自动化怎么选？5 套方案实测对比（2026）</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-28-claude-code-browser-automation/</link><pubDate>Wed, 28 Jan 2026 23:55:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-28-claude-code-browser-automation/</guid><description>&lt;p&gt;用 AI 写代码已经不稀奇了，但让 AI &lt;strong&gt;操控浏览器&lt;/strong&gt;——打开网页、点击按钮、填写表单、抓取数据——这才是真正的&amp;quot;解放双手&amp;quot;。&lt;/p&gt;
&lt;p&gt;在 Claude Code 生态中，目前有五个主流的浏览器自动化方案：&lt;strong&gt;Browser-use&lt;/strong&gt;（AI Agent 专用自动化框架）、&lt;strong&gt;Vercel 的 Agent Browser&lt;/strong&gt;、&lt;strong&gt;Microsoft 的 Playwright CLI&lt;/strong&gt;（2026 新方案）、&lt;strong&gt;Microsoft 的 Playwright MCP&lt;/strong&gt;、&lt;strong&gt;Google 的 DevTools MCP&lt;/strong&gt;。它们各有所长，选错了可能事倍功半。&lt;/p&gt;
&lt;p&gt;本文将深入对比这五个方案，帮你在不同场景下做出最佳选择。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;2026-03 更新&lt;/strong&gt;：新增 Browser-use 方案——专为 AI Agent 打造的浏览器自动化框架，支持本地/云端/真实浏览器三种模式，会话持久化 + 云端并行能力拉满。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2026-02 更新&lt;/strong&gt;：新增 Playwright CLI 方案——微软官方推荐的新一代 Token 高效方案，实测 Token 消耗比 MCP 降低 4-100 倍。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="一为什么需要浏览器自动化"&gt;一、为什么需要浏览器自动化？&lt;a href="#%e4%b8%80%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81%e6%b5%8f%e8%a7%88%e5%99%a8%e8%87%aa%e5%8a%a8%e5%8c%96" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="传统方式的痛点"&gt;传统方式的痛点&lt;a href="#%e4%bc%a0%e7%bb%9f%e6%96%b9%e5%bc%8f%e7%9a%84%e7%97%9b%e7%82%b9" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;假设你想让 AI 帮你做这些事：&lt;/p&gt;</description></item><item><title>Moltbot Wizard 完全指南：打造你的私人 AI 助手</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-28-moltbot-wizard-guide/</link><pubDate>Wed, 28 Jan 2026 23:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-28-moltbot-wizard-guide/</guid><description>&lt;p&gt;想象一下这个场景：你在微信群里@一下 AI，它就能帮你订机票、查天气、写代码、管理日程，甚至能记住你上周聊过的所有内容。这不是科幻电影，这就是 &lt;strong&gt;Moltbot&lt;/strong&gt;——一个你可以完全掌控的私人 AI 助手。&lt;/p&gt;
&lt;p&gt;本文将带你深入了解 Moltbot 的 Wizard（配置向导），从&amp;quot;这是啥&amp;quot;到&amp;quot;我会用&amp;quot;，一篇搞定。&lt;/p&gt;
&lt;h2 id="一背景为什么需要-moltbot"&gt;一、背景：为什么需要 Moltbot？&lt;a href="#%e4%b8%80%e8%83%8c%e6%99%af%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81-moltbot" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="现有-ai-助手的痛点"&gt;现有 AI 助手的痛点&lt;a href="#%e7%8e%b0%e6%9c%89-ai-%e5%8a%a9%e6%89%8b%e7%9a%84%e7%97%9b%e7%82%b9" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;我们每天都在用各种 AI 助手——ChatGPT、Claude、文心一言。但它们都有一个共同的问题：&lt;strong&gt;你不是主人，只是租客&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>2026 年 AGI 已经来了：从功能定义到 31 分钟猎头实战</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-26-agi-is-here/</link><pubDate>Mon, 26 Jan 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-26-agi-is-here/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-26-agi-is-here/cover.webp"
 alt="AGI 时代来临"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026 年 1 月 14 日，红杉资本发布了一篇重磅博客——&lt;strong&gt;《2026: This is AGI》&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;两位作者 Pat Grady（红杉联席掌门人，19 年投资老兵）和 Sonya Huang（红杉合伙人，从 2022 年就押中 AI 大趋势）开门见山：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Long-horizon agents are functionally AGI, and 2026 will be their year.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;长周期智能体就是功能性的 AGI，2026 年将是它们的年份。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这不是某个技术极客的狂想，而是全球顶级风投机构的正式判断。他们的结论很简单：&lt;strong&gt;别等了，AGI 已经到来。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="一agi-的定义能把事情搞清楚"&gt;一、AGI 的定义：能把事情搞清楚&lt;a href="#%e4%b8%80agi-%e7%9a%84%e5%ae%9a%e4%b9%89%e8%83%bd%e6%8a%8a%e4%ba%8b%e6%83%85%e6%90%9e%e6%b8%85%e6%a5%9a" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;几年前，红杉的合伙人去请教顶尖 AI 研究者，问他们怎么定义 AGI。&lt;/p&gt;</description></item><item><title>Claude Code + Remotion：用 AI 对话生成专业视频，程序员的视频制作新姿势</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-26-claude-code-remotion-video/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-26-claude-code-remotion-video/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-26-claude-code-remotion-video/cover.webp"
 alt="Claude Code &amp;#43; Remotion"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="919"
/&gt;
&lt;/p&gt;
&lt;h2 id="一先讲个故事"&gt;一、先讲个故事&lt;a href="#%e4%b8%80%e5%85%88%e8%ae%b2%e4%b8%aa%e6%95%85%e4%ba%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;想象一下这个场景：&lt;/p&gt;
&lt;p&gt;你是一个程序员，老板突然说：&amp;ldquo;下周产品发布会，做个 30 秒的产品演示视频。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;你心里慌了——我又不是设计师，After Effects 都没装过，找外包？来不及了，而且至少要 1000 块起步。&lt;/p&gt;
&lt;p&gt;但现在，你可以这样做：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;你说&lt;/strong&gt;：&amp;ldquo;帮我做一个产品演示视频，显示我们的 App 界面，加上文字动画介绍三个核心功能，时长 30 秒。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Claude Code 做&lt;/strong&gt;：自动生成 React 代码，渲染出一个专业的 MP4 视频文件。&lt;/p&gt;
&lt;p&gt;是的，你没看错。现在用 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code&lt;/a&gt; 配合 Remotion，真的可以用聊天的方式做视频了。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二remotion-到底是什么"&gt;二、Remotion 到底是什么？&lt;a href="#%e4%ba%8cremotion-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="21-用大白话解释"&gt;2.1 用大白话解释&lt;a href="#21-%e7%94%a8%e5%a4%a7%e7%99%bd%e8%af%9d%e8%a7%a3%e9%87%8a" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Remotion&lt;/strong&gt; 就是一个&amp;quot;用代码写视频&amp;quot;的工具。&lt;/p&gt;</description></item><item><title>ClawdBot：海外爆火的个人 AI 管家，30 分钟搭建指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-25-clawdbot-personal-ai-assistant/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-25-clawdbot-personal-ai-assistant/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-25-clawdbot-personal-ai-assistant/cover.webp"
 alt="ClawdBot 个人 AI 管家搭建指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="919"
/&gt;
&lt;/p&gt;
&lt;h2 id="一先讲个故事"&gt;一、先讲个故事&lt;a href="#%e4%b8%80%e5%85%88%e8%ae%b2%e4%b8%aa%e6%95%85%e4%ba%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;想象一下这个场景：&lt;/p&gt;
&lt;p&gt;你早上还在睡觉，你的 AI 助手已经帮你做完了这些事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把昨晚收到的 50 封邮件整理好，只留下 3 封需要你亲自回复的&lt;/li&gt;
&lt;li&gt;帮你订好了下周出差的机票，还完成了值机&lt;/li&gt;
&lt;li&gt;把你关注的几个公众号更新内容做了总结，放在一份简报里等你看&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等你醒来，打开手机，AI 助手发消息告诉你：&amp;ldquo;老板，今天有个重要会议在下午 3 点，我已经帮你准备好了会议资料。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这不是科幻电影，这是 &lt;strong&gt;ClawdBot&lt;/strong&gt; 正在帮很多人实现的事情。读完这篇文章，你也能在 30 分钟内搭建自己的 AI 管家。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二clawdbot-到底是什么"&gt;二、ClawdBot 到底是什么？&lt;a href="#%e4%ba%8cclawdbot-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="21-一句话定义"&gt;2.1 一句话定义&lt;a href="#21-%e4%b8%80%e5%8f%a5%e8%af%9d%e5%ae%9a%e4%b9%89" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ClawdBot&lt;/strong&gt; 是一个开源的 AI Agent 个人助手，可以 24 小时运行在你的电脑上，通过 Telegram、WhatsApp 等聊天工具自动处理邮件、日程、提醒等任务。它由奥地利工程师 Peter Steinberger 开发，截至 2026 年 1 月已获得 &lt;a href="https://github.com/clawdbot/clawdbot"&gt;9000+ GitHub Star&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Docker Compose 教程：docker-compose.yml 配置详解与实战案例（2026）</title><link>http://www.heyuan110.com/zh/posts/docker/2026-01-24-docker-compose-yml-explained/</link><pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2026-01-24-docker-compose-yml-explained/</guid><description>&lt;p&gt;Docker Compose 是目前最流行的多容器编排工具，而 &lt;strong&gt;docker-compose.yml&lt;/strong&gt;（新版推荐命名为 &lt;code&gt;compose.yaml&lt;/code&gt;）就是它的核心配置文件。无论你是刚接触容器化的新手，还是想系统梳理配置细节的老手，这篇 Docker Compose 教程都适合你。&lt;/p&gt;
&lt;p&gt;本文将逐字段讲解 compose.yaml 中 services、volumes、networks、ports、environment、healthcheck 等所有配置项的含义和用法，并通过 WordPress + MySQL 等实战案例帮你快速上手。配合 &lt;a href="http://www.heyuan110.com/zh/posts/docker/2019-11-14-docker-commands/"&gt;Docker 常用命令速查&lt;/a&gt; 一起使用效果更佳。&lt;/p&gt;
&lt;p&gt;很多人一看到 &lt;code&gt;compose.yaml&lt;/code&gt; 就头大，一堆冒号、缩进，不知道从何下手。其实它没那么复杂，下面我用最通俗的方式，带你彻底搞懂这个文件。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;重要提示&lt;/strong&gt;：旧版 &lt;code&gt;docker-compose&lt;/code&gt;（带连字符）是用 Python 写的独立工具，&lt;strong&gt;已于 2023 年 7 月停止维护&lt;/strong&gt;。现在应该使用 &lt;code&gt;docker compose&lt;/code&gt;（空格分隔），它是 Docker CLI 的内置插件，用 Go 重写，性能更好，功能更全。本文所有命令均使用新版语法。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="一composeyaml-是什么"&gt;一、compose.yaml 是什么？&lt;a href="#%e4%b8%80composeyaml-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="用盖房子来理解"&gt;用盖房子来理解&lt;a href="#%e7%94%a8%e7%9b%96%e6%88%bf%e5%ad%90%e6%9d%a5%e7%90%86%e8%a7%a3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;想象你要盖一栋房子：&lt;/p&gt;</description></item><item><title>AI 时代，一个人的 Taste 比以往任何时候都重要</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-23-taste-matters-in-ai-era/</link><pubDate>Fri, 23 Jan 2026 20:30:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-23-taste-matters-in-ai-era/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-23-taste-matters-in-ai-era/cover.webp"
 alt="AI时代个人品味的重要性"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="675"
/&gt;
&lt;/p&gt;
&lt;p&gt;前几天和一个做设计的朋友聊天，他说了句让我印象很深的话：&amp;ldquo;现在用 AI 生成一张图只要几秒钟，但我花了十年才知道什么样的图是好的。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;这句话点出了一个很多人还没意识到的变化：&lt;strong&gt;当「做出来」变得越来越容易时，「选什么做」反而成了最难的事&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="一从稀缺到泛滥创造的门槛消失了"&gt;一、从稀缺到泛滥：创造的门槛消失了&lt;a href="#%e4%b8%80%e4%bb%8e%e7%a8%80%e7%bc%ba%e5%88%b0%e6%b3%9b%e6%bb%a5%e5%88%9b%e9%80%a0%e7%9a%84%e9%97%a8%e6%a7%9b%e6%b6%88%e5%a4%b1%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;还记得几年前学一门手艺要多久吗？&lt;/p&gt;
&lt;p&gt;写代码、画画、剪视频、做音乐——每一项都需要几个月甚至几年的练习。而现在呢？&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 &lt;a href="http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/"&gt;Claude Code&lt;/a&gt; 写代码，只需要描述你想要什么&lt;/li&gt;
&lt;li&gt;用 Midjourney 画图，打几个关键词就能出图&lt;/li&gt;
&lt;li&gt;用 Suno 作曲，哼一段旋律就能生成完整的歌&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;创造的门槛，在我们这代人眼前，几乎被抹平了。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这本该是件好事。但问题来了：当每个人都能轻松生成内容，真正的挑战变成了——在这片内容的汪洋大海里，&lt;strong&gt;什么才是值得存在的？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这就是为什么「Taste」（品味）突然变得如此重要。&lt;/p&gt;
&lt;h2 id="二什么是-taste"&gt;二、什么是 Taste？&lt;a href="#%e4%ba%8c%e4%bb%80%e4%b9%88%e6%98%af-taste" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先说清楚一件事：&lt;strong&gt;Taste 不是装腔作势，不是「我觉得这个高级那个 low」&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Cloudflare Workers 完全指南：从入门到实战的边缘计算部署手册</title><link>http://www.heyuan110.com/zh/posts/docker/2026-01-23-cloudflare-workers-guide/</link><pubDate>Fri, 23 Jan 2026 20:20:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2026-01-23-cloudflare-workers-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/docker/2026-01-23-cloudflare-workers-guide/cover.webp"
 alt="Cloudflare Workers 快速无服务器平台官方封面图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1801"
 height="1013"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloudflare Workers&lt;/strong&gt; 是 Cloudflare 推出的边缘计算平台，它让你无需管理服务器，就能在全球 300+ 个数据中心运行代码。相比传统云服务器，Workers 的部署速度更快、冷启动更低、全球延迟更均匀，而且&lt;strong&gt;免费额度非常慷慨&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;本文将从零开始，带你全面了解 Cloudflare Workers：它是什么、适合什么场景、如何开发部署，以及多个可直接使用的实战案例。无论你是刚接触云计算的新手，还是想优化现有架构的老手，都能从中获得实用价值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一什么是-cloudflare-workers"&gt;一、什么是 Cloudflare Workers&lt;a href="#%e4%b8%80%e4%bb%80%e4%b9%88%e6%98%af-cloudflare-workers" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-基本概念"&gt;1. 基本概念&lt;a href="#1-%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Cloudflare Workers 是一种 &lt;strong&gt;Serverless（无服务器）&lt;/strong&gt; 计算平台。你只需要写代码，Cloudflare 负责运行、扩展和维护。&lt;/p&gt;</description></item><item><title>TypeScript 完全指南：从入门到精通的进阶手册</title><link>http://www.heyuan110.com/zh/posts/typescript/2026-01-23-typescript-complete-guide/</link><pubDate>Fri, 23 Jan 2026 20:07:08 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/typescript/2026-01-23-typescript-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/typescript/2026-01-23-typescript-complete-guide/cover.webp"
 alt="TypeScript 完全指南：从基础到高级类型系统的全面解析"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="675"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TypeScript&lt;/strong&gt; 是 JavaScript 的超集，为 JavaScript 添加了静态类型系统。它能在编译时发现错误、提供更好的 IDE 支持、使代码更易维护。本文将系统性地介绍 TypeScript 的所有核心概念，从基础语法到高级类型体操，帮助你从新手快速进阶为高手。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2025 年，微软宣布用 Go 重写 TypeScript 编译器，编译速度提升 10 倍，内存占用减少 50%。TypeScript 正在蚕食 JavaScript 的市场份额，已成为前端开发的必备技能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="一typescript-基础"&gt;一、TypeScript 基础&lt;a href="#%e4%b8%80typescript-%e5%9f%ba%e7%a1%80" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-为什么选择-typescript"&gt;1. 为什么选择 TypeScript&lt;a href="#1-%e4%b8%ba%e4%bb%80%e4%b9%88%e9%80%89%e6%8b%a9-typescript" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;JavaScript&lt;/th&gt;
 &lt;th&gt;TypeScript&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;类型检查&lt;/td&gt;
 &lt;td&gt;运行时&lt;/td&gt;
 &lt;td&gt;编译时&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IDE 支持&lt;/td&gt;
 &lt;td&gt;一般&lt;/td&gt;
 &lt;td&gt;优秀（智能提示、重构）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;代码可维护性&lt;/td&gt;
 &lt;td&gt;较低&lt;/td&gt;
 &lt;td&gt;高&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;学习曲线&lt;/td&gt;
 &lt;td&gt;低&lt;/td&gt;
 &lt;td&gt;中等&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;大型项目适用性&lt;/td&gt;
 &lt;td&gt;一般&lt;/td&gt;
 &lt;td&gt;非常适合&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="2-安装与配置"&gt;2. 安装与配置&lt;a href="#2-%e5%ae%89%e8%a3%85%e4%b8%8e%e9%85%8d%e7%bd%ae" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 全局安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g typescript
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 项目安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install typescript --save-dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 初始化配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npx tsc --init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 编译单个文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tsc hello.ts
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 监听模式&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tsc --watch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-tsconfigjson-常用配置"&gt;3. tsconfig.json 常用配置&lt;a href="#3-tsconfigjson-%e5%b8%b8%e7%94%a8%e9%85%8d%e7%bd%ae" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;compilerOptions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 目标 ECMAScript 版本
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;target&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ES2020&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 模块系统
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;module&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ESNext&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 严格模式（强烈建议开启）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;strict&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 输出目录
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;outDir&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./dist&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 源码目录
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;rootDir&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./src&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 生成声明文件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;declaration&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 允许导入 JSON
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;resolveJsonModule&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// ES 模块互操作
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;esModuleInterop&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 跳过库类型检查（加速编译）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;skipLibCheck&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 严格的空值检查
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;strictNullChecks&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// 不允许隐式 any
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;noImplicitAny&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;include&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;src/**/*&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;exclude&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;node_modules&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="二基础类型"&gt;二、基础类型&lt;a href="#%e4%ba%8c%e5%9f%ba%e7%a1%80%e7%b1%bb%e5%9e%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-原始类型"&gt;1. 原始类型&lt;a href="#1-%e5%8e%9f%e5%a7%8b%e7%b1%bb%e5%9e%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 字符串
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;: &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;TypeScript&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 数字（整数和浮点数统一为 number）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;99.99&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 布尔值
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isDone&lt;/span&gt;: &lt;span class="kt"&gt;boolean&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// null 和 undefined
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;: &lt;span class="kt"&gt;null&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;u&lt;/span&gt;: &lt;span class="kt"&gt;undefined&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// Symbol
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sym&lt;/span&gt;: &lt;span class="kt"&gt;symbol&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;key&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// BigInt（ES2020）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;big&lt;/span&gt;: &lt;span class="kt"&gt;bigint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-数组类型"&gt;2. 数组类型&lt;a href="#2-%e6%95%b0%e7%bb%84%e7%b1%bb%e5%9e%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 方式一：类型[]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;: &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;strings&lt;/span&gt;: &lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;a&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;b&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;c&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 方式二：Array&amp;lt;类型&amp;gt;（泛型写法）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;nums&lt;/span&gt;: &lt;span class="kt"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 只读数组
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;readonlyArr&lt;/span&gt;: &lt;span class="kt"&gt;readonly&lt;/span&gt; &lt;span class="kt"&gt;number&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// readonlyArr.push(4); // 错误：只读数组不能修改
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-元组tuple"&gt;3. 元组（Tuple）&lt;a href="#3-%e5%85%83%e7%bb%84tuple" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;元组是固定长度和类型的数组：&lt;/p&gt;</description></item><item><title>MySQL SQL 完全指南：从小白到高手的进阶之路（含面试宝典）</title><link>http://www.heyuan110.com/zh/posts/mysql/2026-01-23-mysql-sql-complete-guide/</link><pubDate>Fri, 23 Jan 2026 20:06:36 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/mysql/2026-01-23-mysql-sql-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/mysql/2026-01-23-mysql-sql-complete-guide/cover.webp"
 alt="MySQL SQL 完全指南：从基础到精通"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="675"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SQL（Structured Query Language）&lt;/strong&gt; 是与数据库交流的通用语言。无论你是后端开发、数据分析还是运维工程师，掌握 SQL 都是必备技能。本文以 MySQL 为例，从零基础带你系统学习 SQL，并深入讲解面试高频考点，助你快速进阶。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;本文约 15000 字，建议收藏后分章节阅读。文章结构清晰，可根据目录跳转到感兴趣的部分。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="一sql-基础入门"&gt;一、SQL 基础入门&lt;a href="#%e4%b8%80sql-%e5%9f%ba%e7%a1%80%e5%85%a5%e9%97%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="11-什么是-sql"&gt;1.1 什么是 SQL&lt;a href="#11-%e4%bb%80%e4%b9%88%e6%98%af-sql" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;SQL 是 &lt;strong&gt;结构化查询语言&lt;/strong&gt;（Structured Query Language）的缩写，用于管理关系型数据库。它可以：&lt;/p&gt;</description></item><item><title>Claude Code 高手都在用的 24 个技巧</title><link>http://www.heyuan110.com/zh/posts/ai/2025-01-23-claude-code-commands/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2025-01-23-claude-code-commands/</guid><description>&lt;p&gt;Claude Code 是 Anthropic 推出的命令行 AI 编程助手。它不是一个简单的聊天机器人，而是一个能直接在你的终端里读代码、写代码、执行命令的智能助手。本文整理了 24 个实用技巧，帮你把 Claude Code 用到极致。&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2025-01-23-claude-code-commands/claude-code-homepage.webp"
 alt="Claude Code 官网"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="871"
 height="192"
/&gt;
&lt;/p&gt;
&lt;h2 id="第一部分5-分钟快速上手"&gt;第一部分：5 分钟快速上手&lt;a href="#%e7%ac%ac%e4%b8%80%e9%83%a8%e5%88%865-%e5%88%86%e9%92%9f%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="安装-claude-code"&gt;安装 Claude Code&lt;a href="#%e5%ae%89%e8%a3%85-claude-code" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 一行命令安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -fsSL https://claude.ai/install.sh &lt;span class="p"&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="三种启动方式"&gt;三种启动方式&lt;a href="#%e4%b8%89%e7%a7%8d%e5%90%af%e5%8a%a8%e6%96%b9%e5%bc%8f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方式一：直接启动交互式会话&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方式二：带问题启动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;claude &lt;span class="s2"&gt;&amp;#34;帮我看看这个项目的目录结构&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方式三：非交互模式（适合脚本调用）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;claude -p &lt;span class="s2"&gt;&amp;#34;生成一个 .gitignore 文件&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动后，你会看到一个交互界面，直接输入问题即可开始对话。输入 &lt;code&gt;/help&lt;/code&gt; 查看帮助，输入 &lt;code&gt;/exit&lt;/code&gt; 退出。&lt;/p&gt;</description></item><item><title>Redis 从入门到精通：安装配置与实战指南</title><link>http://www.heyuan110.com/zh/posts/middleware/2026-01-22-redis-complete-guide/</link><pubDate>Thu, 22 Jan 2026 17:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/middleware/2026-01-22-redis-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/middleware/2026-01-22-redis-complete-guide/cover.webp"
 alt="Redis 从入门到精通：完整教程指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="675"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Redis&lt;/strong&gt;（Remote Dictionary Server）是一款开源的高性能键值存储数据库，以其出色的读写速度和丰富的数据结构支持，成为现代应用架构中不可或缺的组件。本文将带你从零开始，系统学习 Redis 的安装配置、核心概念、数据类型、持久化机制以及高可用集群部署。&lt;/p&gt;
&lt;h2 id="一redis-简介"&gt;一、Redis 简介&lt;a href="#%e4%b8%80redis-%e7%ae%80%e4%bb%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-什么是-redis"&gt;1. 什么是 Redis&lt;a href="#1-%e4%bb%80%e4%b9%88%e6%98%af-redis" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Redis 是一个使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的键值对（Key-Value）数据库。它支持多种数据结构，包括字符串、哈希、列表、集合和有序集合，并提供多种语言的 API。&lt;/p&gt;</description></item><item><title>Shell 特殊变量完全指南：$$、$?、$@、$# 等用法详解</title><link>http://www.heyuan110.com/zh/posts/linux/2019-05-13-linux-shell-vars/</link><pubDate>Thu, 22 Jan 2026 15:47:58 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2019-05-13-linux-shell-vars/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/linux/2019-05-13-linux-shell-vars/cover.webp"
 alt="Shell 特殊变量完全指南，掌握 Bash 脚本的核心知识"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="900"
/&gt;
&lt;/p&gt;
&lt;p&gt;编写 Shell 脚本时，你一定见过 &lt;code&gt;$?&lt;/code&gt;、&lt;code&gt;$@&lt;/code&gt;、&lt;code&gt;$$&lt;/code&gt; 这些以美元符号开头的特殊变量。它们是 Bash 内置的&lt;strong&gt;特殊参数&lt;/strong&gt;，用于获取脚本运行状态、命令行参数等关键信息。掌握这些变量，是写出健壮 Shell 脚本的基础。&lt;/p&gt;
&lt;p&gt;本文将系统讲解每个特殊变量的含义、使用场景，并通过实际示例帮助你深入理解。&lt;/p&gt;</description></item><item><title>2025年终端工具推荐：23款高效终端模拟器全面对比</title><link>http://www.heyuan110.com/zh/posts/macos/2025-01-22-terminal-tools-guide/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/macos/2025-01-22-terminal-tools-guide/</guid><description>&lt;p&gt;作为开发者，终端是我们每天打交道最多的工具之一。一款好用的终端工具不仅能提升工作效率，还能让枯燥的&lt;a href="http://www.heyuan110.com/zh/posts/linux/2020-03-19-linux-mac-commands/"&gt;命令行操作&lt;/a&gt;变得更加愉悦。本文将全面介绍 23 款主流终端工具，涵盖 Windows、macOS 和 Linux 三大平台，帮你找到最适合自己的那一款。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;提示&lt;/strong&gt;：选好终端后，别忘了配置一个好用的 Shell。推荐阅读 &lt;a href="http://www.heyuan110.com/zh/posts/linux/2015-06-17-shell-zsh/"&gt;Oh My Zsh 安装配置指南&lt;/a&gt;，让你的终端体验更上一层楼。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Anthropic CEO 彭博社访谈：AI 指数增长、芯片出口与超级智能的未来</title><link>http://www.heyuan110.com/zh/posts/ai/2025-01-21-anthropic-ceo-bloomberg-interview/</link><pubDate>Wed, 21 Jan 2026 15:09:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2025-01-21-anthropic-ceo-bloomberg-interview/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2025-01-21-anthropic-ceo-bloomberg-interview/cover.webp"
 alt="Anthropic CEO Dario Amodei 彭博社访谈，讨论 AI 发展趋势与未来"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dario Amodei&lt;/strong&gt; 是 Anthropic 的 CEO，这家公司创造了被认为是与 GPT 并驾齐驱的最强 AI 模型之一——&lt;a href="https://claude.ai"&gt;Claude&lt;/a&gt;。在彭博社的最新访谈中，Amodei 分享了他对 AI 发展的深度见解，从技术预测到地缘政治，从经济影响到公司战略，内容极为丰富。&lt;/p&gt;
&lt;p&gt;本文基于整理访谈的核心观点。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一指数级增长的欺骗性"&gt;一、指数级增长的欺骗性&lt;a href="#%e4%b8%80%e6%8c%87%e6%95%b0%e7%ba%a7%e5%a2%9e%e9%95%bf%e7%9a%84%e6%ac%ba%e9%aa%97%e6%80%a7" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Amodei 从不喜欢「AGI」这个词。&lt;/p&gt;
&lt;p&gt;不是因为他对 AI 的未来不够乐观，恰恰相反，他对 AI 的力量持有极端的看法。他不喜欢这个词，是因为它暗示了一个错误的思维模型——好像有一天，我们会突然造出一个完全不同的东西。&lt;/p&gt;
&lt;p&gt;实际上，过去十年的观察告诉我们，AI 的发展是一个非常&lt;strong&gt;平滑的、指数级的过程&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;不是奇点，不是突变，而是摩尔定律。只不过这次，不是计算能力每 18 个月翻一番，&lt;strong&gt;是智能本身，每 4 到 12 个月翻一番&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>Claude Code Skills Top 20 推荐 2026：最值得安装的技能包</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-20-claude-code-skills-top20/</link><pubDate>Tue, 20 Jan 2026 10:51:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-20-claude-code-skills-top20/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-20-claude-code-skills-top20/cover.webp"
 alt="Claude Code Skills 生态系统"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1938"
 height="1016"
/&gt;
&lt;/p&gt;
&lt;p&gt;2025 年 10 月，Anthropic 正式推出了 &lt;strong&gt;Agent Skills 系统&lt;/strong&gt;，这是 Claude Code 最重要的功能更新之一。三个月过去，GitHub 上的 Skills 生态已经爆发式增长。&lt;/p&gt;
&lt;p&gt;哪些 Skills 值得装？哪些是噱头？本文整理了 &lt;strong&gt;2026 年 1 月最热门的 20 个 Skills&lt;/strong&gt;，帮你快速做出选择。&lt;/p&gt;
&lt;h2 id="一什么是-skills"&gt;一、什么是 Skills？&lt;a href="#%e4%b8%80%e4%bb%80%e4%b9%88%e6%98%af-skills" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;简单说：&lt;strong&gt;给 Claude 装上专业技能包，让它自己判断什么时候该用&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>我的AI开发工作流：从需求到上线</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-19-ai-dev-workflow/</link><pubDate>Mon, 19 Jan 2026 17:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-19-ai-dev-workflow/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-19-ai-dev-workflow/cover.webp"
 alt="AI开发工作流"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;2026年，AI编程工具已经从&amp;quot;尝鲜玩具&amp;quot;变成了开发者的&amp;quot;标配装备&amp;quot;。据统计，约85%的开发者已经在日常工作中使用AI工具。&lt;/p&gt;
&lt;p&gt;但很多人的用法还停留在&amp;quot;问问ChatGPT怎么写这段代码&amp;quot;的阶段。今天我想分享一套完整的AI开发工作流，让AI真正成为你的&amp;quot;结对编程搭档&amp;quot;，贯穿从需求到上线的全过程。&lt;/p&gt;
&lt;h2 id="一工具选择不是非此即彼"&gt;一、工具选择：不是非此即彼&lt;a href="#%e4%b8%80%e5%b7%a5%e5%85%b7%e9%80%89%e6%8b%a9%e4%b8%8d%e6%98%af%e9%9d%9e%e6%ad%a4%e5%8d%b3%e5%bd%bc" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在开始之前，先聊聊工具选择。目前主流的AI编程工具有：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;特点&lt;/th&gt;
 &lt;th&gt;适用场景&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;深度推理、大上下文、CLI优先&lt;/td&gt;
 &lt;td&gt;架构设计、复杂重构、跨文件理解&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Cursor&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;IDE集成、实时补全、流畅体验&lt;/td&gt;
 &lt;td&gt;日常编码、快速迭代&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ChatGPT&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;通用能力强、响应快&lt;/td&gt;
 &lt;td&gt;快速问答、代码片段&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitHub Copilot&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;深度IDE集成、补全准确&lt;/td&gt;
 &lt;td&gt;行内补全、常规编码&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;我的建议&lt;/strong&gt;：不要只用一个工具。&lt;/p&gt;
&lt;p&gt;我的组合是：&lt;strong&gt;Claude Code（规划） + Cursor（实现）&lt;/strong&gt;。用Claude Code做架构设计和复杂问题分析，用Cursor进行日常编码。两者可以完美配合——在Cursor的终端里直接调用Claude Code CLI。&lt;/p&gt;
&lt;h2 id="二需求分析阶段让ai帮你理清思路"&gt;二、需求分析阶段：让AI帮你理清思路&lt;a href="#%e4%ba%8c%e9%9c%80%e6%b1%82%e5%88%86%e6%9e%90%e9%98%b6%e6%ae%b5%e8%ae%a9ai%e5%b8%ae%e4%bd%a0%e7%90%86%e6%b8%85%e6%80%9d%e8%b7%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;拿到需求后，不要急着写代码。先用AI帮你做需求分析。&lt;/p&gt;</description></item><item><title>Agent Skills：用大白话写程序的时代来了</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-19-agent-skills-new-programming/</link><pubDate>Mon, 19 Jan 2026 16:45:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-19-agent-skills-new-programming/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-19-agent-skills-new-programming/cover.webp"
 alt="Agent Skills 新编程范式"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;最近，推特上关于 Agent Skills 的讨论越来越火。起初我和很多程序员一样，觉得 Skills 不过就是 Workflow Prompt——有用，但没什么大不了的。&lt;/p&gt;
&lt;p&gt;直到我看到 X上的一条帖子，才突然意识到：&lt;strong&gt;这东西不是简单的文字，这是新一代的程序，而且还能自我迭代。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这个认知转变，值得每个开发者认真思考。&lt;/p&gt;
&lt;h2 id="一传统编程-vs-skills-编程"&gt;一、传统编程 vs Skills 编程&lt;a href="#%e4%b8%80%e4%bc%a0%e7%bb%9f%e7%bc%96%e7%a8%8b-vs-skills-%e7%bc%96%e7%a8%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;让我们先对比一下两种编程方式的差异。&lt;/p&gt;
&lt;h3 id="1-传统程序员怎么做功能"&gt;1. 传统程序员怎么做功能？&lt;a href="#1-%e4%bc%a0%e7%bb%9f%e7%a8%8b%e5%ba%8f%e5%91%98%e6%80%8e%e4%b9%88%e5%81%9a%e5%8a%9f%e8%83%bd" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;需求分析 → 设计架构 → 编写代码 → 编译打包 → 测试调试 → 部署上线
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用代码编排流程：输入什么、处理什么、输出什么，一行行写死。每一步都需要专业知识，每一个环节都可能出错。&lt;/p&gt;</description></item><item><title>Cursor Agent 编码最佳实践：官方指南完整解读</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-19-cursor-agent-best-practices/</link><pubDate>Mon, 19 Jan 2026 16:33:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-19-cursor-agent-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-19-cursor-agent-best-practices/cover.webp"
 alt="Cursor Agent 编码最佳实践"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;随着 AI 编程助手的快速发展，如何高效地与 AI Agent 协作编码成为每个开发者需要掌握的技能。Cursor 作为目前最受欢迎的 AI 编程工具之一，官方近期发布了一份详细的 Agent 编码最佳实践指南。本文将深入解读这份指南的核心内容，帮助你更好地利用 Cursor Agent 提升开发效率。&lt;/p&gt;
&lt;h2 id="一理解-agent-的工作原理"&gt;一、理解 Agent 的工作原理&lt;a href="#%e4%b8%80%e7%90%86%e8%a7%a3-agent-%e7%9a%84%e5%b7%a5%e4%bd%9c%e5%8e%9f%e7%90%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在开始使用技巧之前，先了解 Cursor Agent 的核心架构。Agent 系统由三个关键组件构成：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;组件&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;系统指令&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;引导 Agent 行为的提示词&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;工具集&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;文件编辑、代码搜索、终端执行等能力&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;用户消息&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;你发出的指令和需求描述&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Cursor 团队针对每个前沿模型进行了专门调优，确保这三个组件能够协同工作，产出最佳结果。&lt;/p&gt;</description></item><item><title>Docker Compose 完全指南（2026）：安装、docker-compose.yml、实战部署一篇搞定</title><link>http://www.heyuan110.com/zh/posts/docker/2026-01-19-docker-compose-complete-guide/</link><pubDate>Mon, 19 Jan 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2026-01-19-docker-compose-complete-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/docker/2026-01-19-docker-compose-complete-guide/docker-cover.webp"
 alt="Docker Complete Guide"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="868"
 height="453"
/&gt;
&lt;/p&gt;
&lt;p&gt;如果你是一名开发者，一定听过这句话：&amp;ldquo;在我电脑上明明能跑啊！&amp;rdquo; 这个困扰了无数程序员的问题，Docker 给出了优雅的解决方案。本文将用最通俗的语言，带你从零开始掌握 Docker 和 Docker Compose。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第一部分docker-的前世今生"&gt;第一部分：Docker 的前世今生&lt;a href="#%e7%ac%ac%e4%b8%80%e9%83%a8%e5%88%86docker-%e7%9a%84%e5%89%8d%e4%b8%96%e4%bb%8a%e7%94%9f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-软件部署的痛点"&gt;1. 软件部署的痛点&lt;a href="#1-%e8%bd%af%e4%bb%b6%e9%83%a8%e7%bd%b2%e7%9a%84%e7%97%9b%e7%82%b9" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;想象一下你要搬家，把所有家具搬到新房子。传统的方式是：&lt;/p&gt;</description></item><item><title>Claude Code从入门到精通：终端里的全能AI助手完全指南</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/</link><pubDate>Wed, 14 Jan 2026 14:38:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-14-claude-code-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-14-claude-code-guide/cover.webp"
 alt="Claude Code 终端 AI 助手"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;你是否曾经希望有一个真正能「动手干活」的 AI 助手——不只是给你建议，而是能直接帮你处理文件、执行命令、完成各种重复性工作？&lt;strong&gt;Claude Code&lt;/strong&gt; 正是 Anthropic 官方推出的这样一款工具——它运行在终端里，是一个能够理解你的需求并付诸行动的全能助手。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;它不只是程序员的专属工具&lt;/strong&gt;。虽然 Claude Code 在编程领域表现出色，但它同样能帮助产品经理整理文档、帮运维人员分析日志、帮行政财务人员处理数据报表、帮任何人自动化那些繁琐的重复工作。&lt;/p&gt;
&lt;p&gt;无论你是资深开发者、产品经理、运维人员，还是行政财务同学，这篇文章都将带你从零开始，全面掌握 Claude Code 的使用方法，找到属于你的效率提升之道。&lt;/p&gt;
&lt;h2 id="一什么是-claude-code"&gt;一、什么是 Claude Code？&lt;a href="#%e4%b8%80%e4%bb%80%e4%b9%88%e6%98%af-claude-code" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-核心定位"&gt;1. 核心定位&lt;a href="#1-%e6%a0%b8%e5%bf%83%e5%ae%9a%e4%bd%8d" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; 是 Anthropic 推出的官方命令行工具（CLI），它是一个「代理型 AI 工具」（Agentic AI Tool），直接运行在你的终端中。&lt;/p&gt;</description></item><item><title>Anthropic 发布 Claude Cowork：让 AI 直接操作你的电脑文件</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-13-claude-cowork/</link><pubDate>Tue, 13 Jan 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-13-claude-cowork/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-13-claude-cowork/cover.webp"
 alt="Claude Cowork"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;Anthropic 近日发布了 &lt;strong&gt;Claude Cowork&lt;/strong&gt; 研究预览版，这是迄今为止最具突破性的 AI 桌面代理。与传统的聊天机器人不同，Claude Cowork 可以直接访问你电脑上的文件、运行代码、操作终端，甚至与 Notion、Linear、Figma 等第三方应用集成。&lt;/p&gt;
&lt;h2 id="一什么是-claude-cowork"&gt;一、什么是 Claude Cowork？&lt;a href="#%e4%b8%80%e4%bb%80%e4%b9%88%e6%98%af-claude-cowork" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Cowork 是 Anthropic 在 Claude 桌面应用中推出的新功能，它让 Claude 从一个&amp;quot;对话助手&amp;quot;进化为一个&amp;quot;工作伙伴&amp;quot;。&lt;/p&gt;
&lt;p&gt;传统的 AI 聊天需要你手动复制粘贴文件内容，而 Cowork 可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;直接读取和编辑本地文件&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在沙盒环境中运行代码&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;执行终端命令&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;连接第三方应用获取上下文&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;简单来说，你只需要告诉 Claude 你想做什么，它会自己完成剩下的工作。&lt;/p&gt;</description></item><item><title>Vercel 发布 Agent Browser：专为 AI 代理打造的浏览器自动化工具</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-13-vercel-agent-browser/</link><pubDate>Tue, 13 Jan 2026 08:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-13-vercel-agent-browser/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-13-vercel-agent-browser/cover.webp"
 alt="Agent Browser"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;Vercel 近期开源了一款名为 &lt;strong&gt;Agent Browser&lt;/strong&gt; 的命令行工具，这是一个专为 AI 代理设计的浏览器自动化解决方案。它结合了 Rust 的高性能与 Node.js 的灵活性，为 AI 工作流提供了可靠的浏览器交互能力。&lt;/p&gt;
&lt;h2 id="一什么是-agent-browser"&gt;一、什么是 Agent Browser？&lt;a href="#%e4%b8%80%e4%bb%80%e4%b9%88%e6%98%af-agent-browser" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agent Browser 是一个无头浏览器自动化 CLI 工具，主要面向 AI 代理场景。与传统的浏览器自动化工具不同，它采用了&lt;strong&gt;快照驱动&lt;/strong&gt;的交互模式，特别适合 AI 代理的工作方式。&lt;/p&gt;
&lt;p&gt;核心理念：让 AI 代理能够像人一样&amp;quot;看到&amp;quot;网页，并与之交互。&lt;/p&gt;
&lt;h2 id="二核心特性"&gt;二、核心特性&lt;a href="#%e4%ba%8c%e6%a0%b8%e5%bf%83%e7%89%b9%e6%80%a7" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-高性能架构"&gt;1. 高性能架构&lt;a href="#1-%e9%ab%98%e6%80%a7%e8%83%bd%e6%9e%b6%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Agent Browser 采用&lt;strong&gt;客户端-守护进程架构&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>小白也能解锁 Claude Code 的秘密武器：Skills</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-12-claudecode-skill-patterns/</link><pubDate>Mon, 12 Jan 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-12-claudecode-skill-patterns/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-12-claudecode-skill-patterns/skills-secret-compressed.webp"
 alt="Skills Secret"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="669"
/&gt;
&lt;/p&gt;
&lt;h2 id="引言"&gt;引言&lt;a href="#%e5%bc%95%e8%a8%80" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;两个月以来，我一直在思考一个问题：&lt;strong&gt;该如何提升 AI 的能力呢？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;哪怕有了 CLAUDE.md，可以让他记住了我是谁，我喜欢什么；但我该如何让他学习到我的&amp;quot;能力&amp;quot;呢？&lt;/p&gt;
&lt;p&gt;这就是我今天要说的主角 &amp;ndash; &lt;strong&gt;Skills 功能&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这东西彻底改变了我对 AI 协作的看法。它不再是简单的&amp;quot;你问我答&amp;quot;，而是让 AI 主动学习、来配合你的能力和偏好。这感觉就像，你不是在跟一个什么都懂的实习生说话，而是在跟一个资深团队成员协作。&lt;/p&gt;
&lt;p&gt;Claude Code 虽然名字里带个 Code，但它绝不仅仅是写代码的工具。它是一个真正的通用 Agent，能帮你处理电脑上各种繁琐的工作。而 Skill，就是它能力无限扩展的&amp;quot;插件包&amp;quot;。&lt;/p&gt;
&lt;p&gt;也就是说，他理论上可以很大程度的把我们每个人的能力&amp;quot;抽象&amp;quot;出来，形成一种可移植的&amp;quot;模块&amp;quot;。不论你是做市场的，还是做产品的，又或是做运营的，它都能帮到你。&lt;/p&gt;
&lt;h2 id="一skill-到底是什么"&gt;一、Skill 到底是什么？&lt;a href="#%e4%b8%80skill-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;简单来说，Skill 是一个&amp;quot;能力单元&amp;quot;，它把专业知识、工作流程和最佳实践打包起来，让 Claude Code 能够自动调用。&lt;/p&gt;</description></item><item><title>Claude Code 记忆术：一个文件让 AI 永远记住你是谁</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-12-claudemd-memory-guide/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-12-claudemd-memory-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-12-claudemd-memory-guide/memory-guide.webp"
 alt="Memory Guide"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1059"
 height="556"
/&gt;
&lt;/p&gt;
&lt;h2 id="一每次都要自我介绍烦不烦"&gt;一、每次都要自我介绍，烦不烦？&lt;a href="#%e4%b8%80%e6%af%8f%e6%ac%a1%e9%83%bd%e8%a6%81%e8%87%aa%e6%88%91%e4%bb%8b%e7%bb%8d%e7%83%a6%e4%b8%8d%e7%83%a6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;用 Claude Code 写代码，体验确实好。&lt;/p&gt;
&lt;p&gt;但有个问题：&lt;strong&gt;它不记事&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;每次开新对话，你都得重复一遍：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;我们项目用的是 pnpm，不是 npm&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;代码风格要遵循 ESLint + Prettier&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Git 提交信息用中文，格式是 type: description&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;这个项目是 React 18 + TypeScript + Tailwind&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;说一次还行，天天说？烦。&lt;/p&gt;
&lt;p&gt;更要命的是团队协作——你配置好了，同事那边又是一张白纸，Claude 给他生成的代码风格跟你的完全不一样。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CLAUDE.md 就是解决这个问题的。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;用一句话定义：&lt;/p&gt;</description></item><item><title>Claude Code Skill 完全指南：让 AI 学会你的工作流程</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-08-claudecode-skill-guide/</link><pubDate>Thu, 08 Jan 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-08-claudecode-skill-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-08-claudecode-skill-guide/skill-guide.webp"
 alt="Skill Guide"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;h2 id="一skill-为什么突然火了"&gt;一、Skill 为什么突然火了&lt;a href="#%e4%b8%80skill-%e4%b8%ba%e4%bb%80%e4%b9%88%e7%aa%81%e7%84%b6%e7%81%ab%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;大模型时代，每个人都想让 AI 更懂自己的工作。&lt;/p&gt;
&lt;p&gt;问题是，AI 是通用的。它不知道你们公司的报表格式是什么样的，不知道你们招聘时看重什么，不知道你们产品的卖点是什么。&lt;/p&gt;
&lt;p&gt;每次都要从头解释一遍？太累了。&lt;/p&gt;
&lt;p&gt;Claude Code 的 Skill 就是解决这个问题的——&lt;strong&gt;把你的专业知识打包成一份&amp;quot;说明书&amp;quot;，让 Claude 一次学会，以后直接按你的方式干活&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;用一句话定义：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Skill 就是教 Claude 怎么干你的活的说明书。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;不需要写代码，只需要写清楚：做什么、怎么做、注意什么。&lt;/p&gt;
&lt;h2 id="二skill-到底是什么"&gt;二、Skill 到底是什么&lt;a href="#%e4%ba%8cskill-%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="21-本质就是一份-markdown-文档"&gt;2.1 本质就是一份 Markdown 文档&lt;a href="#21-%e6%9c%ac%e8%b4%a8%e5%b0%b1%e6%98%af%e4%b8%80%e4%bb%bd-markdown-%e6%96%87%e6%a1%a3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Skill 不是什么高深的技术，它就是一个文件夹，里面放着一份 &lt;code&gt;SKILL.md&lt;/code&gt; 文件。&lt;/p&gt;</description></item><item><title>Claude Code创始人的几个最佳实践</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-06-claudecode-best-practices/</link><pubDate>Tue, 06 Jan 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-06-claudecode-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-06-claudecode-best-practices/claude-code-best-practices.webp"
 alt="Claude Code Best Practices"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code 的创始人最近在 X 上分享了几条使用心得，看完之后深有同感。不是那种官方文档式的教程，而是实际用下来的体会。&lt;/p&gt;
&lt;p&gt;这里展开聊聊。&lt;/p&gt;
&lt;h2 id="1-并行跑多个-agent学会当指挥官"&gt;1. 并行跑多个 Agent，学会当指挥官&lt;a href="#1-%e5%b9%b6%e8%a1%8c%e8%b7%91%e5%a4%9a%e4%b8%aa-agent%e5%ad%a6%e4%bc%9a%e5%bd%93%e6%8c%87%e6%8c%a5%e5%ae%98" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这条说的是：开多个终端，同时跑多个 Claude Code 实例。&lt;/p&gt;
&lt;p&gt;听起来简单，但背后是思维方式的转变。&lt;/p&gt;
&lt;p&gt;以前写代码，习惯是单线程的——想一个问题，解决一个问题，再想下一个。现在有了 AI 帮手，你其实可以同时推进好几件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一个窗口让 Claude 重构某个模块&lt;/li&gt;
&lt;li&gt;另一个窗口让它写测试&lt;/li&gt;
&lt;li&gt;第三个窗口让它查文档、整理资料&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;你不需要盯着每一个窗口看它敲代码。布置完任务，让它们各自跑，你只需要在关键节点检查一下、给点反馈。&lt;/p&gt;
&lt;p&gt;这就是&amp;quot;指挥官&amp;quot;的角色——你不是亲自上阵干活的士兵，而是在指挥多个单位协同作战。&lt;/p&gt;
&lt;p&gt;当然，这需要一点适应。刚开始会觉得分心、不踏实，总想盯着一个看完再开下一个。但一旦习惯了，效率提升是显而易见的。&lt;/p&gt;
&lt;p&gt;实操上，可以用 Git Worktree 让每个 Claude 在独立的工作目录：&lt;/p&gt;</description></item><item><title>Skill与MCP的区别：两种扩展AI能力的方式</title><link>http://www.heyuan110.com/zh/posts/ai/2026-01-06-skillmcp/</link><pubDate>Tue, 06 Jan 2026 17:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-01-06-skillmcp/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-06-skillmcp/skill-vs-mcp.webp"
 alt="Skill vs MCP"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;用 Claude Code 久了，你会发现它有两套看起来很像但本质不同的能力扩展系统：&lt;strong&gt;Skill&lt;/strong&gt; 和 &lt;strong&gt;MCP&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;很多人分不清这两者的区别，甚至把它们混为一谈。今天就来聊聊这两种扩展方式到底有什么不同。&lt;/p&gt;
&lt;h2 id="什么是-mcp"&gt;什么是 MCP&lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af-mcp" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MCP 全称 &lt;strong&gt;Model Context Protocol&lt;/strong&gt;（模型上下文协议），是 Anthropic 开发的一个开放协议标准。&lt;/p&gt;
&lt;p&gt;你可以把 MCP 理解成 AI 世界的&amp;quot;USB 接口&amp;quot;。就像 USB 让各种设备能插到电脑上一样，MCP 让各种外部工具和服务能接入 AI 模型。&lt;/p&gt;
&lt;p&gt;MCP 服务器可以提供三种东西：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tools（工具）&lt;/strong&gt;：可执行的操作，比如发邮件、查数据库、操作浏览器&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resources（资源）&lt;/strong&gt;：可读取的数据源，比如文档、配置文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompts（提示）&lt;/strong&gt;：预设的提示模板&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;举个例子，Playwright MCP 服务器提供了一系列浏览器操作工具：&lt;/p&gt;</description></item><item><title>Claude Code的Skill与SubAgent区别</title><link>http://www.heyuan110.com/zh/posts/ai/2025-12-26-claudecode-skillsubagent/</link><pubDate>Fri, 26 Dec 2025 12:40:02 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2025-12-26-claudecode-skillsubagent/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2025-12-26-claudecode-skillsubagent/cc-skill-agent.webp"
 alt="ClaudeCode Skill"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="669"
/&gt;
&lt;/p&gt;
&lt;p&gt;AI Agent 要变强，有两条完全不同的路。&lt;/p&gt;
&lt;p&gt;一条是 Skill，也就是给自己装技能，把新能力直接塞进脑子里。&lt;/p&gt;
&lt;p&gt;另一条是 SubAgent，就像派小弟去干活，自己只看汇报。&lt;/p&gt;
&lt;p&gt;这两条路听起来都能让 Agent 更厉害，但适用的场景还是有所不同，用错了的话，你的 Agent 可能反而会越用越慢、越用越乱。&lt;/p&gt;
&lt;p&gt;Skills，就像是给主 Agent 装插件。&lt;/p&gt;
&lt;p&gt;比如你的 Agent 原本只会聊天，现在你想让它能写 PPT。Skills 的做法是：把写 PPT 的能力说明、工具调用方式、注意事项，全都塞进主 Agent 的上下文中。主 Agent 通过上下文学会了这项技能，它可以自己来写 PPT。&lt;/p&gt;
&lt;p&gt;第二种叫 SubAgent，就像是委托外包。&lt;/p&gt;
&lt;p&gt;同样是写 PPT，SubAgent 的做法是：主 Agent 把任务派给一个专门写 PPT 的 SubAgent，SubAgent 独立完成后把结果交回来。主 Agent 全程不参与具体执行，只负责派活和验收。&lt;/p&gt;
&lt;p&gt;一个是内化能力，一个是外包能力。听起来都能搞定任务，区别在哪？&lt;/p&gt;
&lt;p&gt;区别在上下文管理，上下文就是 AI 的记忆。&lt;/p&gt;
&lt;p&gt;你可以把 AI 的上下文想象成一张工作桌。桌子大小是固定的，你放的东西越多，就越难找到需要的那份文件。这就是上下文容量的问题。&lt;/p&gt;
&lt;p&gt;Skills 模式下，所有能力说明都铺在同一张桌上。好处是信息互通，主 Agent 能看到所有中间结果，推理过程连贯。坏处是桌子很快就乱了，Prompt 越来越长，能力之间可能打架，AI 开始犯糊涂。&lt;/p&gt;
&lt;p&gt;SubAgent 模式下，SubAgent 在另一张桌子上干活。干完把结果递过来，过程中产生的草稿、中间文件全留在那边。主 Agent 的桌面保持干净。代价是信息传递要设计好，不然关键信息可能在交接时丢了。&lt;/p&gt;
&lt;p&gt;这就是上下文污染问题，这里的污染不是夸张的比喻，是真实的工程瓶颈。&lt;/p&gt;
&lt;p&gt;什么时候用哪种？&lt;/p&gt;
&lt;p&gt;判断标准其实很简单：子任务有多复杂，以及你需不需要完成任务过程中产生的信息。&lt;/p&gt;
&lt;p&gt;Skills 适合的场景：任务本身不太复杂，或者你需要主 Agent 全程掌控。&lt;/p&gt;
&lt;p&gt;比如让 Agent 充当入口路由，根据用户请求加载不同的&amp;quot;场景模式&amp;quot;，像进入 YouTube 总结模式、进入写报告模式。这时候 Skills 的懒加载特性很香：先只加载能力名字和简介，真正要用时才加载完整说明。不像 MCP 那样一股脑把所有工具的详细文档全塞进上下文。&lt;/p&gt;</description></item><item><title>向量数据库到底解决了什么问题？从原理到工程实践一次讲清</title><link>http://www.heyuan110.com/zh/posts/ai/2025-03-11-vectordatabase/</link><pubDate>Tue, 11 Mar 2025 14:40:02 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2025-03-11-vectordatabase/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2025-03-11-vectordatabase/vector-db.webp"
 alt="VectorDatabase"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="765"
 height="368"
/&gt;
&lt;/p&gt;
&lt;h2 id="1-向量数据库为什么突然火了"&gt;1. 向量数据库为什么突然火了？&lt;a href="#1-%e5%90%91%e9%87%8f%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%ba%e4%bb%80%e4%b9%88%e7%aa%81%e7%84%b6%e7%81%ab%e4%ba%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;2023 年之前，向量数据库是个小众领域，圈外人基本没听过。&lt;/p&gt;
&lt;p&gt;然后 ChatGPT 爆了，大模型成了全民话题。紧接着大家发现一个问题：大模型的知识是训练时固定的，不知道你公司的内部文档，不知道最新的新闻，不知道你私有的数据。&lt;/p&gt;
&lt;p&gt;怎么办？把私有数据喂给它。&lt;/p&gt;
&lt;p&gt;怎么喂？总不能每次都把几百页文档塞进 prompt 里吧，token 费用先不说，还超长度限制。&lt;/p&gt;
&lt;p&gt;于是 RAG（Retrieval-Augmented Generation）火了。思路很简单：先从你的知识库里找到和问题相关的内容，再把这些内容塞给大模型，让它基于这些内容回答。&lt;/p&gt;
&lt;p&gt;问题来了：怎么&amp;quot;找到相关内容&amp;quot;？&lt;/p&gt;
&lt;p&gt;传统数据库做关键词匹配，搜&amp;quot;苹果手机&amp;quot;只能匹配到包含&amp;quot;苹果手机&amp;quot;这几个字的文档，搜不到写着&amp;quot;iPhone&amp;quot;的文档。&lt;/p&gt;
&lt;p&gt;但人知道&amp;quot;苹果手机&amp;quot;和&amp;quot;iPhone&amp;quot;是一回事。怎么让机器也知道？&lt;/p&gt;
&lt;p&gt;答案是：把文本转成向量，用向量的相似度来衡量语义的相似度。&lt;/p&gt;
&lt;p&gt;这就是向量数据库火起来的根本原因——&lt;strong&gt;大模型时代需要语义检索，向量数据库是做语义检索最直接的方案&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="2-什么是向量embedding-到底在干什么"&gt;2. 什么是向量？Embedding 到底在干什么&lt;a href="#2-%e4%bb%80%e4%b9%88%e6%98%af%e5%90%91%e9%87%8fembedding-%e5%88%b0%e5%ba%95%e5%9c%a8%e5%b9%b2%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="向量是什么"&gt;向量是什么&lt;a href="#%e5%90%91%e9%87%8f%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;向量就是一串数字。&lt;/p&gt;</description></item><item><title>全面解析FaceFusion：从原理到实战</title><link>http://www.heyuan110.com/zh/posts/ai/2024-10-16-facefusion/</link><pubDate>Wed, 16 Oct 2024 14:56:30 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2024-10-16-facefusion/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2024-10-16-facefusion/FaceFusion.webp"
 alt="FaceFusion"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="648"
/&gt;
&lt;/p&gt;
&lt;h2 id="这东西是干嘛的"&gt;这东西是干嘛的&lt;a href="#%e8%bf%99%e4%b8%9c%e8%a5%bf%e6%98%af%e5%b9%b2%e5%98%9b%e7%9a%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;FaceFusion 是一个开源的 AI 换脸工具，说白了就是把 A 的脸换到 B 身上。&lt;/p&gt;
&lt;p&gt;它的前身是 Roop，同一个开发者的作品。Roop 当时火了一阵，但后来因为一些原因停更了。作者重新搞了 FaceFusion，功能更强，效果更好。&lt;/p&gt;
&lt;p&gt;官方介绍只有一句话：&lt;strong&gt;下一代换脸器和增强器&lt;/strong&gt;。挺狂的，但确实有这个实力。&lt;/p&gt;
&lt;p&gt;目前最新版本是 3.5.x，支持：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;图片换脸&lt;/li&gt;
&lt;li&gt;视频换脸&lt;/li&gt;
&lt;li&gt;批量处理&lt;/li&gt;
&lt;li&gt;人脸增强&lt;/li&gt;
&lt;li&gt;N 卡和 A 卡都能跑&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="技术原理简单说"&gt;技术原理（简单说）&lt;a href="#%e6%8a%80%e6%9c%af%e5%8e%9f%e7%90%86%e7%ae%80%e5%8d%95%e8%af%b4" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;换脸这事听起来玄乎，其实拆开来就几步：&lt;/p&gt;</description></item><item><title>Java 入门教程（二）：Arrays 工具类、集合框架与 I/O 操作详解</title><link>http://www.heyuan110.com/zh/posts/java/2024-05-13-learn-java2/</link><pubDate>Mon, 13 May 2024 15:13:10 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/java/2024-05-13-learn-java2/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/java/2024-05-13-learn-java2/java-logo.webp"
 alt="image"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="898"
 height="471"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="../2024-05-05-learn-java"&gt;接上一篇《Java学习笔记（一）》&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="七-集合技术--io-技术"&gt;七、 集合技术 &amp;amp; I/O 技术&lt;a href="#%e4%b8%83-%e9%9b%86%e5%90%88%e6%8a%80%e6%9c%af--io-%e6%8a%80%e6%9c%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-arrays-类"&gt;1. Arrays 类&lt;a href="#1-arrays-%e7%b1%bb" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Arrays是干什么用的，Arrays是操作数组的工具类，它可以很方便的对数组中的元素进行遍历、拷贝、排序等操作。&lt;/p&gt;</description></item><item><title>Java 入门教程（一）：JDK/JRE/JVM 概念解析与 IDEA 开发环境配置</title><link>http://www.heyuan110.com/zh/posts/java/2024-05-05-learn-java/</link><pubDate>Sat, 04 May 2024 21:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/java/2024-05-05-learn-java/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/java/2024-05-05-learn-java/java-logo.webp"
 alt="image"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="898"
 height="471"
/&gt;
&lt;/p&gt;
&lt;h2 id="一背景"&gt;一、背景&lt;a href="#%e4%b8%80%e8%83%8c%e6%99%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1995年SUN 公司推出，最早叫 Oak(橡树)，后改名叫 Java，Java之父詹姆斯（James），SUN 在2009年被 ORACLE收购。&lt;/p&gt;
&lt;h2 id="二整体学习路线"&gt;二、整体学习路线&lt;a href="#%e4%ba%8c%e6%95%b4%e4%bd%93%e5%ad%a6%e4%b9%a0%e8%b7%af%e7%ba%bf" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/java/2024-05-05-learn-java/java-roadmap-overview.webp"
 alt="Java 整体学习路线"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="607"
/&gt;

&lt;img src="http://www.heyuan110.com/posts/java/2024-05-05-learn-java/java-roadmap-detail.webp"
 alt="Java 学习路线详细图"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1182"
 height="310"
/&gt;
&lt;/p&gt;</description></item><item><title>AWS CLI 完全指南：安装配置、S3/EC2 常用命令与权限排错</title><link>http://www.heyuan110.com/zh/posts/linux/2020-07-04-aws-cli/</link><pubDate>Sat, 04 Jul 2020 00:16:54 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2020-07-04-aws-cli/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/linux/2020-07-04-aws-cli/cover.webp"
 alt="AWS CLI 命令行工具完全指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1315"
 height="908"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AWS CLI&lt;/strong&gt;（Amazon Web Services Command Line Interface）是 AWS 官方提供的统一命令行工具，让你能够通过终端直接管理所有 AWS 服务。本文将详细介绍 AWS CLI 的安装配置方法和常用命令，帮助你快速上手云资源管理。&lt;/p&gt;
&lt;h2 id="一安装-aws-cli"&gt;一、安装 AWS CLI&lt;a href="#%e4%b8%80%e5%ae%89%e8%a3%85-aws-cli" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AWS CLI 目前推荐使用 &lt;strong&gt;v2 版本&lt;/strong&gt;，它更快、更安全，且支持所有最新特性。&lt;/p&gt;
&lt;h3 id="1-macos-安装"&gt;1. macOS 安装&lt;a href="#1-macos-%e5%ae%89%e8%a3%85" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;方式一：使用 Homebrew（推荐）&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Nginx HTTPS 配置完全指南：自签名证书、混合站点与反向代理踩坑</title><link>http://www.heyuan110.com/zh/posts/linux/nginx/nginx-https-complete-guide/</link><pubDate>Fri, 03 Jul 2020 13:19:44 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/nginx/nginx-https-complete-guide/</guid><description>&lt;p&gt;在生产环境中配置 Nginx HTTPS 是后端工程师的必备技能。本文整合了我在实际项目中遇到的三个典型场景：自签名证书配置、HTTP/HTTPS 混合站点、以及反向代理 AWS ELB 时的 DNS 解析踩坑，一次性讲清楚。&lt;/p&gt;
&lt;h2 id="一openssl-自签名-ssl-证书"&gt;一、OpenSSL 自签名 SSL 证书&lt;a href="#%e4%b8%80openssl-%e8%87%aa%e7%ad%be%e5%90%8d-ssl-%e8%af%81%e4%b9%a6" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在开发测试环境中，我们通常使用自签名证书来启用 HTTPS，不需要购买第三方证书。&lt;/p&gt;
&lt;h3 id="11-安装-openssl"&gt;1.1 安装 OpenSSL&lt;a href="#11-%e5%ae%89%e8%a3%85-openssl" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;先检查是否已安装：&lt;/p&gt;</description></item><item><title>curl 命令详解（2026）：GET/POST 请求、文件传输与 API 调试实战</title><link>http://www.heyuan110.com/zh/posts/linux/2020-06-29-curl/</link><pubDate>Mon, 29 Jun 2020 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2020-06-29-curl/</guid><description>&lt;p&gt;在日常开发和运维中，&lt;strong&gt;curl 命令&lt;/strong&gt;几乎是使用频率最高的&lt;a href="http://www.heyuan110.com/zh/posts/linux/2020-03-19-linux-mac-commands/"&gt;命令行&lt;/a&gt;工具之一。它支持 HTTP、HTTPS、FTP 等 20+ 种协议，无论是调试 REST API、发送 POST 请求、下载文件还是测试网络连通性，一条 curl 命令就能搞定。&lt;/p&gt;
&lt;p&gt;本文是一份系统的 curl 命令详解教程，涵盖 GET/POST/PUT/DELETE 等 HTTP 请求方法、JSON 数据发送、文件上传下载、Bearer Token 认证、代理配置、耗时分析等全部核心用法。如果你还需要排查网络链路问题，可以配合 &lt;a href="http://www.heyuan110.com/zh/posts/linux/2020-06-28-traceroute/"&gt;traceroute 命令详解&lt;/a&gt; 一起使用。&lt;/p&gt;</description></item><item><title>traceroute 命令详解（2026）：路由追踪与网络故障排查实战指南</title><link>http://www.heyuan110.com/zh/posts/linux/2020-06-28-traceroute/</link><pubDate>Sun, 28 Jun 2020 12:12:04 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2020-06-28-traceroute/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/linux/2020-06-28-traceroute/cover.webp"
 alt="Traceroute 工作原理图解，展示 TTL 递增探测网络路径的过程"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1600"
 height="578"
/&gt;
&lt;/p&gt;
&lt;p&gt;网站打开慢、视频卡顿、SSH 连接超时——这些问题的根源往往藏在网络链路的某一跳。&lt;strong&gt;traceroute 命令&lt;/strong&gt;（Windows 上叫 &lt;code&gt;tracert&lt;/code&gt;）就是帮你找出&amp;quot;到底慢在哪里&amp;quot;的利器。它通过追踪数据包从你的电脑到目标服务器经过的每一个路由节点，测量每一跳的延迟，让网络瓶颈无处遁形。&lt;/p&gt;
&lt;p&gt;本文是一份完整的 traceroute 命令详解教程，将从 TTL 工作原理、Linux/macOS/Windows 三平台用法差异、输出解读技巧到网络故障排查实战案例，帮你系统掌握这个网络诊断必备工具。如果你同时需要调试 HTTP 请求，推荐配合 &lt;a href="http://www.heyuan110.com/zh/posts/linux/2020-06-29-curl/"&gt;curl 命令详解&lt;/a&gt; 一起使用。&lt;/p&gt;
&lt;h2 id="一traceroute-是什么"&gt;一、Traceroute 是什么&lt;a href="#%e4%b8%80traceroute-%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Traceroute（Windows 系统中叫 &lt;code&gt;tracert&lt;/code&gt;）是一个网络诊断命令行工具，用于显示数据包在 IP 网络中从源到目的地的传输路径。&lt;/p&gt;
&lt;h3 id="核心功能"&gt;核心功能&lt;a href="#%e6%a0%b8%e5%bf%83%e5%8a%9f%e8%83%bd" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;路径追踪&lt;/td&gt;
 &lt;td&gt;显示数据包经过的每个路由器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;延迟测量&lt;/td&gt;
 &lt;td&gt;测量到达每个节点的往返时间（RTT）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;故障定位&lt;/td&gt;
 &lt;td&gt;快速找出网络中断或延迟的节点&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;拓扑发现&lt;/td&gt;
 &lt;td&gt;了解网络的路由结构&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="平台差异"&gt;平台差异&lt;a href="#%e5%b9%b3%e5%8f%b0%e5%b7%ae%e5%bc%82" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;平台&lt;/th&gt;
 &lt;th&gt;命令&lt;/th&gt;
 &lt;th&gt;默认协议&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Linux/macOS&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;traceroute&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Windows&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;tracert&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ICMP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cisco IOS&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;traceroute&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="二工作原理ttl-的巧妙应用"&gt;二、工作原理：TTL 的巧妙应用&lt;a href="#%e4%ba%8c%e5%b7%a5%e4%bd%9c%e5%8e%9f%e7%90%86ttl-%e7%9a%84%e5%b7%a7%e5%a6%99%e5%ba%94%e7%94%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Traceroute 的核心原理是利用 IP 协议中的 &lt;strong&gt;TTL（Time To Live）&lt;/strong&gt; 字段。&lt;/p&gt;</description></item><item><title>Linux/macOS 常用命令速查手册（持续更新）</title><link>http://www.heyuan110.com/zh/posts/linux/2020-03-19-linux-mac-commands/</link><pubDate>Thu, 19 Mar 2020 10:55:52 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2020-03-19-linux-mac-commands/</guid><description>&lt;p&gt;Linux/macOS 命令行是开发者必备技能。本文整理了日常工作中高频使用的命令，按功能分类便于查找，持续更新中。&lt;/p&gt;
&lt;h2 id="一网络相关"&gt;一、网络相关&lt;a href="#%e4%b8%80%e7%bd%91%e7%bb%9c%e7%9b%b8%e5%85%b3" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-netstat---查看网络连接"&gt;1. netstat - 查看网络连接&lt;a href="#1-netstat---%e6%9f%a5%e7%9c%8b%e7%bd%91%e7%bb%9c%e8%bf%9e%e6%8e%a5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>Conda 完全指南：Python 多版本环境管理从入门到精通</title><link>http://www.heyuan110.com/zh/posts/python/2020-01-11-python-conda/</link><pubDate>Sat, 11 Jan 2020 20:33:33 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/python/2020-01-11-python-conda/</guid><description>&lt;p&gt;作为 Python 开发者，你是否遇到过这些问题：项目 A 需要 Python 2.7，项目 B 需要 Python 3.10，不同项目依赖的包版本相互冲突……&lt;strong&gt;Conda&lt;/strong&gt; 正是解决这些问题的终极方案。本文将全面介绍 Conda 的使用方法，帮助你轻松管理多版本 Python 环境。&lt;/p&gt;</description></item><item><title>隐私政策</title><link>http://www.heyuan110.com/zh/privacy/</link><pubDate>Wed, 01 Jan 2020 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/privacy/</guid><description>&lt;h2 id="概述"&gt;概述&lt;a href="#%e6%a6%82%e8%bf%b0" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;欢迎访问 heyuan110.com（以下简称&amp;quot;本站&amp;quot;）。本隐私政策说明了您在访问本站时，我们如何收集、使用和保护您的信息。&lt;/p&gt;
&lt;p&gt;使用本站即表示您同意本政策中描述的数据处理方式。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="我们收集的信息"&gt;我们收集的信息&lt;a href="#%e6%88%91%e4%bb%ac%e6%94%b6%e9%9b%86%e7%9a%84%e4%bf%a1%e6%81%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="自动收集的信息"&gt;自动收集的信息&lt;a href="#%e8%87%aa%e5%8a%a8%e6%94%b6%e9%9b%86%e7%9a%84%e4%bf%a1%e6%81%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;当您访问本站时，我们可能会自动收集以下信息：&lt;/p&gt;</description></item><item><title>Docker 常用命令速查（2026更新）：镜像、容器、网络、数据卷一页掌握</title><link>http://www.heyuan110.com/zh/posts/docker/2019-11-14-docker-commands/</link><pubDate>Thu, 14 Nov 2019 20:37:13 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2019-11-14-docker-commands/</guid><description>&lt;p&gt;Docker常用命令记录&lt;/p&gt;
&lt;h2 id="1-启动重启或停止docker服务"&gt;1. 启动、重启或停止docker服务&lt;a href="#1-%e5%90%af%e5%8a%a8%e9%87%8d%e5%90%af%e6%88%96%e5%81%9c%e6%ad%a2docker%e6%9c%8d%e5%8a%a1" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;启动： &lt;code&gt;service docker start&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;停止：&lt;code&gt;service docker stop&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;重启：&lt;code&gt;service docker restart&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="2镜像images"&gt;2.镜像(images)&lt;a href="#2%e9%95%9c%e5%83%8fimages" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="获取镜像"&gt;获取镜像&lt;a href="#%e8%8e%b7%e5%8f%96%e9%95%9c%e5%83%8f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;docker pull [OPTIONS] NAME[:TAG|@DIGEST]&lt;/p&gt;</description></item><item><title>MySQL EXPLAIN 执行计划详解：从入门到精通的 SQL 性能分析指南</title><link>http://www.heyuan110.com/zh/posts/mysql/2019-09-06-mysql-explain/</link><pubDate>Fri, 06 Sep 2019 20:10:21 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/mysql/2019-09-06-mysql-explain/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/mysql/2019-09-06-mysql-explain/cover.webp"
 alt="MySQL EXPLAIN 执行计划分析"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="675"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EXPLAIN&lt;/strong&gt; 是 MySQL 中最重要的性能分析工具之一。当你的 SQL 查询变慢时，第一件事就应该用 EXPLAIN 看看执行计划。它能告诉你 MySQL 是如何执行查询的，包括使用了哪些索引、扫描了多少行、采用了什么连接方式等关键信息。&lt;/p&gt;
&lt;p&gt;本文将详细介绍 EXPLAIN 输出的每个字段含义，帮助你快速定位 SQL 性能问题。&lt;/p&gt;
&lt;h2 id="一explain-基本用法"&gt;一、EXPLAIN 基本用法&lt;a href="#%e4%b8%80explain-%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;使用方法很简单，在 SQL 语句前加上 &lt;code&gt;EXPLAIN&lt;/code&gt; 关键字即可：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;EXPLAIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;MySQL 8.0+ 还支持不同的输出格式：&lt;/p&gt;</description></item><item><title>刘澜领导力十项修炼学习总结：领导力本质与管理者成长</title><link>http://www.heyuan110.com/zh/posts/management/2019-08-19-liulan-management/</link><pubDate>Mon, 19 Aug 2019 21:10:21 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/management/2019-08-19-liulan-management/</guid><description>&lt;p&gt;周末两天去广州学习了刘澜老师领导力修炼课程，之前在得到APP上听过刘老师这个课，现场感受更好，老师逻辑性强，讲课生动不枯燥，理论结合案例，几乎所有场景都能代入到工作中。&lt;/p&gt;
&lt;h2 id="领导力"&gt;领导力&lt;a href="#%e9%a2%86%e5%af%bc%e5%8a%9b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;领导力既是承担解决集体问题的责任，也是承担失败的责任
领导力不等于职位和头衔，领导力是领导职位的责任，领导职位是领导力的资源。没有领导职位，同样可以承担领导力的责任。&lt;/p&gt;
&lt;p&gt;魅力不是发挥领导力的前提条件，而是你发挥了领导力之后的（被放大、被神化的）结果。
魅力往往是发挥领导力的负担。带来的副作用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;崇敬领导者，追随者不再提意见&lt;/li&gt;
&lt;li&gt;想得到领导认同，追随者不愿提意见&lt;/li&gt;
&lt;li&gt;因为追随者的钦佩，追随者产生领导者不会犯错的幻觉&lt;/li&gt;
&lt;li&gt;领导者过于自信，忽视了面对的危险&lt;/li&gt;
&lt;li&gt;依赖领导者，组织没有培养胜任的继任者&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;领导力十项口诀&lt;/p&gt;
&lt;h2 id="一我来"&gt;一、我来&lt;a href="#%e4%b8%80%e6%88%91%e6%9d%a5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;勇于承担责任，让我来
面对集体难题，挺身而出，让我来
对平级或上级说，让我来
对下级说，跟我来&lt;/p&gt;</description></item><item><title>RabbitMQ 入门教程：AMQP 协议、Exchange 交换机与消息投递详解</title><link>http://www.heyuan110.com/zh/posts/middleware/2019-08-02-mq-rabbitmq/</link><pubDate>Fri, 02 Aug 2019 11:47:04 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/middleware/2019-08-02-mq-rabbitmq/</guid><description>&lt;p&gt;前面文章&lt;a href="http://www.heyuan110.com/zh/posts/middleware/2019-07-31-mq/"&gt;《消息队列 MQ 技术选型指南》&lt;/a&gt;我们了解了消息队列技术选型，本文我们来学习开源消息队列RabbitMQ。&lt;/p&gt;
&lt;h2 id="1-rabbitmq简介"&gt;1. RabbitMQ简介&lt;a href="#1-rabbitmq%e7%ae%80%e4%bb%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RabbitMQ是一个开源的消息代理和队列服务器，用来通过普通协议在完全不同的应用之间共享数据，RabbitMQ是使用Erlang语言来编写的，并且RabbitMQ是基于AMQP协议的。&lt;/p&gt;
&lt;h2 id="2-rabbitmq工作流程"&gt;2. RabbitMQ工作流程&lt;a href="#2-rabbitmq%e5%b7%a5%e4%bd%9c%e6%b5%81%e7%a8%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;RabbitMQ架构图
&lt;img src="https://raw.githubusercontent.com/heyuan110/static-source/master/media/rabbitmq/15647300964346.jpg"
 alt=""
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;</description></item><item><title>消息队列 MQ 技术选型指南：核心概念与分布式系统应用场景</title><link>http://www.heyuan110.com/zh/posts/middleware/2019-07-31-mq/</link><pubDate>Wed, 31 Jul 2019 21:26:23 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/middleware/2019-07-31-mq/</guid><description>&lt;p&gt;&amp;ldquo;消息队列&amp;quot;是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递；如果发送消息时接收者不可用，消息队列会保留消息，直到可以成功地传递它。&lt;/p&gt;
&lt;h2 id="一消息队列是什么"&gt;一.消息队列是什么&lt;a href="#%e4%b8%80%e6%b6%88%e6%81%af%e9%98%9f%e5%88%97%e6%98%af%e4%bb%80%e4%b9%88" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;维基百科的解释：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;消息队列（英语：Message queue）是一种进程间通信或同一进程的不同线程间的通信方式，软件的贮列用来处理一系列的输入，通常是来自用户。消息队列提供了异步的通信协议，每一个贮列中的纪录包含详细说明的数据，包含发生的时间，输入设备的种类，以及特定的输入参数，也就是说：消息的发送者和接收者不需要同时与消息队列互交。消息会保存在队列中，直到接收者取回它。 ——维基百科
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;解释比较官方，来看一个最简单的架构模型：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/heyuan110/static-source/master/media/mq/15631737310204.jpg"
 alt=""
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Producer：消息生产者，负责产生和发送消息到Broker；&lt;/li&gt;
&lt;li&gt;Broker：消息处理中心，负责消息存储、确认、重试等，一般其中会包含多个queue；&lt;/li&gt;
&lt;li&gt;Consumer：消息消费者，负责从 Broker 中获取消息，并进行相应处理；&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;消息队列是分布式系统中重要组件，使用消息队列主要是通过异步处理提高系统性能和削峰、降低系统耦合性。&lt;/p&gt;
&lt;p&gt;下面用一个故事来理解消息队列：&lt;/p&gt;
&lt;p&gt;小Y是攻城狮，有一天产品经理告诉他需要实现这样一个需求：&amp;ldquo;用户下单成功，给用户发送一封确认邮件&amp;rdquo;.小Y快速确认了需求，很简单嘛，加几行代码就搞定！如是在下单后调用发送邮件代码，经过本地和alpha测试，功能顺利上线。&lt;/p&gt;
&lt;p&gt;正常运行了几天，产品经理找到小Y说观察监控数据，发现下单处理时间过长影响了转化率，小Y思考了一下，原来发邮件代码是放在下单完成代码后单线程同步阻塞的方式执行，确实有问题，于是新起了一个线程发邮件，测试通过后立即上线，下单感觉确实更顺畅了。&lt;/p&gt;
&lt;p&gt;可是没过多久客服收到很多用户反馈没收到邮件，产品经理和小Y一起熬夜分析想办法，最后找到负责开发邮件模块的同事，负责邮件的同事说：&amp;ldquo;不用搞那么复杂，我给你提供一个类似邮局信箱的东西，你往这信箱里写上你要发送的消息，以及我们约定的地址。之后你就不用再操心了，我们自然能从约定的地址中取得消息，进行邮件的相应操作&amp;rdquo;。小Y快速按照邮件同事的建议修改了代码，并测试重新上线。&lt;/p&gt;
&lt;p&gt;小Y后来才知道这个就是消息队列，你只需要将你想发送的消息发送到队列里，不用知道具体服务在哪，怎么执行，对应的服务自然能监听到你的发送的消息并获取过来执行。&lt;/p&gt;
&lt;p&gt;后来其他业务也把邮件发送更换成这种方式，随着消息量增多，大量消息堆积，需要增加更多消费者来处理队列里的消息，于是便有了&lt;strong&gt;分布式消息处理&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="二为什么要用消息队列"&gt;二.为什么要用消息队列&lt;a href="#%e4%ba%8c%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e7%94%a8%e6%b6%88%e6%81%af%e9%98%9f%e5%88%97" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;当系统出现&amp;quot;生产&amp;quot;和&amp;quot;消费&amp;quot;的速度和稳定性不一致时，就需要消息队列，正是这个中间层弥合双方的差异。使用消息队列主要三个好处（六字）：解耦、异步、削峰。&lt;/p&gt;</description></item><item><title>Nexus3 搭建 Docker 私有镜像仓库：企业级 Registry 完整教程</title><link>http://www.heyuan110.com/zh/posts/docker/2019-06-12-next3-dockerhub/</link><pubDate>Wed, 12 Jun 2019 20:50:36 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2019-06-12-next3-dockerhub/</guid><description>&lt;p&gt;&lt;a href="https://www.sonatype.com/nexus-repository-oss"&gt;Nexus&lt;/a&gt;是有名的Maven仓库管理器。如果你使用Maven，你可以从Maven中央仓库下载所需要的构件（artifact），但这通常不是一个好的做法，你应该在本地架设一个Maven仓库服务器，在代理远程仓库的同时维护本地仓库，以节省带宽和时间，Nexus就可以满足这样的需要。此外，他还提供了强大的仓库管理功能，构件搜索功能，它基于REST，友好的UI是一个extjs的REST客户端，它占用较少的内存，基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。除此之外，最新Nexus3还可以管理多种格式的镜像，如下：&lt;/p&gt;
&lt;h2 id="1环境"&gt;1.环境&lt;a href="#1%e7%8e%af%e5%a2%83" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;系统：ubuntu16.04
docker：18.02.0-ce&lt;/p&gt;
&lt;h2 id="2获取nexus3镜像"&gt;2.获取nexus3镜像&lt;a href="#2%e8%8e%b7%e5%8f%96nexus3%e9%95%9c%e5%83%8f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;docker pull sonatype/nexus3&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Docker 入门教程：镜像、容器、仓库核心概念与 Dockerfile 详解</title><link>http://www.heyuan110.com/zh/posts/docker/2019-05-13-learn-docker/</link><pubDate>Mon, 13 May 2019 20:33:33 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/docker/2019-05-13-learn-docker/</guid><description>&lt;p&gt;Docker 是一个开源的应用容器引擎，基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中，然后发布到任何流行的 Linux 机器上，也可以实现虚拟化。&lt;/p&gt;
&lt;h2 id="1docker-包括三个基本概念"&gt;1.Docker 包括三个基本概念&lt;a href="#1docker-%e5%8c%85%e6%8b%ac%e4%b8%89%e4%b8%aa%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;镜像(Image)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;容器(Container)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;仓库(Repository)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2镜像image"&gt;2.镜像(Image)&lt;a href="#2%e9%95%9c%e5%83%8fimage" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Docker 镜像是一个特殊的文件系统，除了提供容器运行时所需的程序、库、资 源、配置等文件外，还包含了一些为运行时准备的一些配置参数(如匿名卷、环境 变量、用户等)。镜像不包含任何动态数据，其内容在构建之后也不会被改变。&lt;/p&gt;</description></item><item><title>Ubuntu 搭建 Jira + Confluence 完整教程：安装配置与数据迁移</title><link>http://www.heyuan110.com/zh/posts/linux/2019-04-15-jira-confluence-install/</link><pubDate>Mon, 15 Apr 2019 13:53:32 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2019-04-15-jira-confluence-install/</guid><description>&lt;p&gt;jira和confluence都是Atlassian公司产品。jira是项目与事务跟踪工具，可以完成项目执行管理、敏捷开发管理、体系流程管理、产品Bug跟踪、提案跟踪、需求管理、客户服务等工作。confluence是一个专业的企业知识管理与协同软件，可以用于构建企业wiki，通过它可以实现团队成员之间的协作和知识共享。&lt;/p&gt;</description></item><item><title>Linux 挖矿病毒 kerberods 入侵排查与清理实战</title><link>http://www.heyuan110.com/zh/posts/linux/2019-04-12-linux-kerberods/</link><pubDate>Fri, 12 Apr 2019 16:15:53 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2019-04-12-linux-kerberods/</guid><description>&lt;p&gt;最近经常听到挖矿病毒kerberods肆虐，大量linux主机沦陷，导致的结果显著特征CPU持续100%，正常的应用服务无法提供。不幸昨天我们有一台机器中招了，下面记录整个事件发生、处理过程。&lt;/p&gt;
&lt;h2 id="事件发生"&gt;事件发生&lt;a href="#%e4%ba%8b%e4%bb%b6%e5%8f%91%e7%94%9f" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;昨天下午5.30左右，几个同事反馈git代码无法提交，报502错误。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/heyuan110/static-source/master/media/kerberods/15550614255551.jpg"
 alt=""
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;立即安排了一个运维童鞋排查，本来以为和上次一样gitlab并发数达到上限，改改配置重启下就行，结果从18点到20点一直顺着gitlab502错误这个方向搞了2小时，没有任何进展。由于代码无法提交，gitlab访问不了，发布系统也就不能正常做上线操作，赶紧我也投入了排查。&lt;/p&gt;
&lt;h2 id="排查处理"&gt;排查处理&lt;a href="#%e6%8e%92%e6%9f%a5%e5%a4%84%e7%90%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这台机器上有三个服务gitlab，jira，confluence，除了gitlab，另外两个看着是正常的(其实里面部分页面已经异常，只是没仔细去检查)。&lt;/p&gt;</description></item><item><title>Go 语言入门教程：Golang 基础语法与数据类型详解</title><link>http://www.heyuan110.com/zh/posts/go/talk/2019-01-25-learn-go/</link><pubDate>Fri, 25 Jan 2019 21:13:19 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/go/talk/2019-01-25-learn-go/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/images/learn-golang/go.webp"
 alt="image"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;h2 id="前言"&gt;前言&lt;a href="#%e5%89%8d%e8%a8%80" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Go语言(或Golang)是Google在2007年开发的一种开源编程语言,于2009年11月10日向全球公布,2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的，并且拥有一个活跃的社区。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GO部署简单、并发性好、语言设计良好、执行性能好&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="一go语言结构"&gt;一、GO语言结构&lt;a href="#%e4%b8%80go%e8%af%ad%e8%a8%80%e7%bb%93%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Go语言的基础组成有一下几个部分：&lt;/p&gt;</description></item><item><title>Jenkins + AWS CodeDeploy + AutoScaling 持续集成实战指南</title><link>http://www.heyuan110.com/zh/posts/linux/2018-11-20-jenkins-codedeploy-autoscaling/</link><pubDate>Tue, 20 Nov 2018 11:05:40 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2018-11-20-jenkins-codedeploy-autoscaling/</guid><description>&lt;p&gt;本文主要记录如何结合jenkins,codedeploy,s3, autoscaling等相关服务搭建一套可持续交付和应用部署的服务。&lt;/p&gt;
&lt;h2 id="aws-autoscaling部分"&gt;Aws AutoScaling部分&lt;a href="#aws-autoscaling%e9%83%a8%e5%88%86" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1使用auto-scaling的优点"&gt;1、使用Auto Scaling的优点&lt;a href="#1%e4%bd%bf%e7%94%a8auto-scaling%e7%9a%84%e4%bc%98%e7%82%b9" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;1)、保持基础设置堆栈配置一致(例如软件nginx、php等安装配置一致)&lt;/p&gt;</description></item><item><title>Supervisor 教程（2026）：安装配置、常见问题与 Supervisor vs systemd 选型</title><link>http://www.heyuan110.com/zh/posts/linux/2018-10-07-supervisor/</link><pubDate>Sun, 07 Oct 2018 00:35:04 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2018-10-07-supervisor/</guid><description>&lt;p&gt;Supervisor (&lt;a href="http://supervisord.org"&gt;http://supervisord.org&lt;/a&gt;) 是一个用 Python 写的进程管理工具，可以很方便地启动、重启、关闭进程（不仅仅是 Python 进程）。除了对单个进程的控制，还可以同时启动、关闭多个进程，比如服务器异常后快速拉起整组服务。&lt;/p&gt;
&lt;p&gt;先说结论（给赶时间的你）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你在维护&lt;strong&gt;多个业务进程&lt;/strong&gt;（队列 worker、定时任务、爬虫、脚本服务）时，Supervisor 依然非常好用。&lt;/li&gt;
&lt;li&gt;如果你追求系统原生管理、与 Linux 服务深度集成，优先考虑 &lt;strong&gt;systemd&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;Node.js 生态下，如果只托管单个应用，&lt;strong&gt;PM2&lt;/strong&gt; 也可选，但跨语言统一托管时 Supervisor 更顺手。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="supervisor-vs-systemd-vs-pm2先选型"&gt;Supervisor vs systemd vs PM2（先选型）&lt;a href="#supervisor-vs-systemd-vs-pm2%e5%85%88%e9%80%89%e5%9e%8b" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th&gt;Supervisor&lt;/th&gt;
 &lt;th&gt;systemd&lt;/th&gt;
 &lt;th&gt;PM2&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;适用场景&lt;/td&gt;
 &lt;td&gt;多进程统一托管（跨语言）&lt;/td&gt;
 &lt;td&gt;Linux 系统级服务管理&lt;/td&gt;
 &lt;td&gt;Node.js 应用管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;学习成本&lt;/td&gt;
 &lt;td&gt;中等&lt;/td&gt;
 &lt;td&gt;偏高&lt;/td&gt;
 &lt;td&gt;低&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;开机自启&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;td&gt;强（原生）&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;日志管理&lt;/td&gt;
 &lt;td&gt;基础可用&lt;/td&gt;
 &lt;td&gt;强&lt;/td&gt;
 &lt;td&gt;友好&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;推荐人群&lt;/td&gt;
 &lt;td&gt;运维/后端/多脚本场景&lt;/td&gt;
 &lt;td&gt;强 Linux 运维团队&lt;/td&gt;
 &lt;td&gt;Node 开发者&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;实战建议：已有 systemd 体系的生产环境，优先 systemd；需要快速统一托管多类进程时，Supervisor 依然是高性价比方案。&lt;/p&gt;</description></item><item><title>IP 地址与 CIDR 详解：网络基础知识必备指南</title><link>http://www.heyuan110.com/zh/posts/linux/2018-10-06-ip-cidr/</link><pubDate>Sat, 06 Oct 2018 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2018-10-06-ip-cidr/</guid><description>&lt;p&gt;&lt;strong&gt;IP 地址&lt;/strong&gt;是互联网通信的基础，每一台联网设备都需要一个唯一的 IP 地址来标识自己。无论你是网络工程师、运维人员还是开发者，理解 IP 地址和 CIDR 都是必备的基础知识。本文将系统介绍 IPv4 地址的结构、分类以及 CIDR 表示法，帮你彻底搞懂网络寻址的核心概念。&lt;/p&gt;</description></item><item><title>AWS EKK 日志系统搭建：Elasticsearch + Kinesis + Kibana 实战教程</title><link>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-12-log-ekk/</link><pubDate>Wed, 12 Sep 2018 18:52:59 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-12-log-ekk/</guid><description>&lt;p&gt;EKK是一套基于AWS相关服务搭建的日志收集系统，包含Amazon Elasticsearch Service, Amazon Kinesis, and Kibana，简称EKK.相比ELK搭建维护运维复杂，EKK更加简便。下图是EKK基本架构：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/472b07b9fcf2c2451e8781e944bf5f77cd8457c8/2017/09/07/1-2.png"
 alt="EKK"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;本文重点记录nginx日志怎样收集和以正确格式存到es，不会就每一步详细讲解。&lt;/p&gt;
&lt;h2 id="一准备工作"&gt;一、准备工作：&lt;a href="#%e4%b8%80%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;开一台ec2，选择ubuntu16.04，搭建nginx一个nginx服务，设置nginx日志格式:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;log_format main &amp;#39;$remote_addr - $remote_user [$time_local] &amp;#34;$request&amp;#34; &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;$status $body_bytes_sent &amp;#34;$http_referer&amp;#34; &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;&amp;#34;$http_user_agent&amp;#34; &amp;#34;$http_x_forwarded_for&amp;#34; &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;$connection &amp;#34;$upstream_addr&amp;#34; &amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;upstream_response_time $upstream_response_time request_time $request_time&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最终access.log里的日志格式如下：&lt;/p&gt;</description></item><item><title>Elasticsearch 入门教程：索引、文档、查询 API 核心概念详解</title><link>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-12-elasticsearch/</link><pubDate>Wed, 12 Sep 2018 18:52:59 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-12-elasticsearch/</guid><description>&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/heyuan110/static-source/master/cover/es.jpg"
 alt=""
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎(以下简称ES),是目前全文搜索引擎的首选。它可以快速存储、搜索和分析海量数据，Github，StackOverflow都在采用它。&lt;/p&gt;
&lt;h2 id="一es组成"&gt;一、ES组成&lt;a href="#%e4%b8%80es%e7%bb%84%e6%88%90" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ES对照RMDB快速了解ES基本组成，它可以包含多个索引(indices)（数据库），每一个索引可以包含多个类型(types)（表），每一个类型包含多个文档(documents)（行），然后每个文档包含多个字段(Fields)（列）,简化如下:&lt;/p&gt;
&lt;p&gt;索引 &lt;strong&gt;-&amp;gt;&lt;/strong&gt; 数据库
类型 &lt;strong&gt;-&amp;gt;&lt;/strong&gt; 表
文档 &lt;strong&gt;-&amp;gt;&lt;/strong&gt; 行
字段 &lt;strong&gt;-&amp;gt;&lt;/strong&gt; 列&lt;/p&gt;
&lt;h2 id="二常用查询命令"&gt;二、常用查询命令&lt;a href="#%e4%ba%8c%e5%b8%b8%e7%94%a8%e6%9f%a5%e8%af%a2%e5%91%bd%e4%bb%a4" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-查看_cat相关命令"&gt;1. 查看_cat相关命令&lt;a href="#1-%e6%9f%a5%e7%9c%8b_cat%e7%9b%b8%e5%85%b3%e5%91%bd%e4%bb%a4" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;GET /_cat/&lt;/code&gt;&lt;/p&gt;</description></item><item><title>ELK 日志系统搭建指南：Elasticsearch + Logstash + Kibana + Kafka 完整架构</title><link>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-11-log-elk/</link><pubDate>Tue, 11 Sep 2018 20:02:19 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/elasticsearch/2018-09-11-log-elk/</guid><description>&lt;p&gt;日志主要包含系统日志、应用日志和安全日志。运维和开发人员通过日志可以了解服务器、程序运行情况，发现错误及检查错误发生原因。一个可靠、安全、可扩展的日志收集分析解决方案在程序或系统异常时能够让一切都变得轻松起来。&lt;/p&gt;
&lt;p&gt;对比了ELK几种搭建模式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;filebeat-&amp;gt;elasticsearch-&amp;gt;kibana&lt;/li&gt;
&lt;li&gt;filebeat-&amp;gt;logstash-&amp;gt;kafaka&amp;amp;zookeeper-&amp;gt;logstash-&amp;gt;elasticsearch-&amp;gt;kibana&lt;/li&gt;
&lt;li&gt;filebeat-&amp;gt;kafaka&amp;amp;zookeeper-&amp;gt;logstash-&amp;gt;elasticsearch-&amp;gt;kibana&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="架构"&gt;架构&lt;a href="#%e6%9e%b6%e6%9e%84" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/heyuan110/static-source/master/media/15525328567089.jpg"
 alt=""
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 
 
/&gt;
&lt;/p&gt;
&lt;p&gt;从左到右分别为：&lt;/p&gt;
&lt;p&gt;1)、数据采集层，将采集到的日志分别发送到kafka broker的集群队列上去&lt;/p&gt;
&lt;p&gt;2)、数据缓存层，将采集到的日志临时转存到本地的kafka broker集群中(相当于队列的生产者)&lt;/p&gt;
&lt;p&gt;3)、数据处理转发层，logstash实时去kafka broker集群拉去日志，在经过本地logstash后进行日志分析处理，然后转发到后端elasticsearch(相当于队列的消费者)&lt;/p&gt;
&lt;p&gt;4)、数据存储展示层，elasticsearch将收集到的日志进行本地存储，然后通过kibana展示出来；由于elasticsearch采用集群的方式，前端通过nginx在反向代理kibana的访问地址，使用户访问入口只有一个&lt;/p&gt;
&lt;h2 id="资源列表"&gt;资源列表&lt;a href="#%e8%b5%84%e6%ba%90%e5%88%97%e8%a1%a8" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;服务器名称&lt;/th&gt;
 &lt;th&gt;IP地址&lt;/th&gt;
 &lt;th&gt;角色&lt;/th&gt;
 &lt;th&gt;功能&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;kz1&lt;/td&gt;
 &lt;td&gt;172.31.2.2&lt;/td&gt;
 &lt;td&gt;kafka+zookeeper&lt;/td&gt;
 &lt;td&gt;kafka broker节点1&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kz2&lt;/td&gt;
 &lt;td&gt;172.31.2.3&lt;/td&gt;
 &lt;td&gt;kafka+zookeeper&lt;/td&gt;
 &lt;td&gt;kafka broker节点2&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;logstash-web&lt;/td&gt;
 &lt;td&gt;172.31.2.4&lt;/td&gt;
 &lt;td&gt;logstash&lt;/td&gt;
 &lt;td&gt;处理转发web相关日志&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;logstash-app&lt;/td&gt;
 &lt;td&gt;172.31.2.5&lt;/td&gt;
 &lt;td&gt;logstash&lt;/td&gt;
 &lt;td&gt;处理转发app相关日志&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;es-node1&lt;/td&gt;
 &lt;td&gt;172.31.2.6&lt;/td&gt;
 &lt;td&gt;elasticsearch+kibana&lt;/td&gt;
 &lt;td&gt;数据存储展示&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;es-node2&lt;/td&gt;
 &lt;td&gt;172.31.2.7&lt;/td&gt;
 &lt;td&gt;elasticsearch+kibana&lt;/td&gt;
 &lt;td&gt;数据存储展示&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="硬件配置"&gt;硬件配置&lt;a href="#%e7%a1%ac%e4%bb%b6%e9%85%8d%e7%bd%ae" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;服务器类型&lt;/th&gt;
 &lt;th&gt;实例类型&lt;/th&gt;
 &lt;th&gt;CPU&lt;/th&gt;
 &lt;th&gt;内存&lt;/th&gt;
 &lt;th&gt;Disk&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Kafka broker集群&lt;/td&gt;
 &lt;td&gt;r5.xlarge&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;32&lt;/td&gt;
 &lt;td&gt;1T&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Logstash&lt;/td&gt;
 &lt;td&gt;c5.2xlarge&lt;/td&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;16&lt;/td&gt;
 &lt;td&gt;100G&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Elasticsearch+kibana&lt;/td&gt;
 &lt;td&gt;r5.xlarge&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;32&lt;/td&gt;
 &lt;td&gt;2T&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="部署前的准备工作"&gt;部署前的准备工作&lt;a href="#%e9%83%a8%e7%bd%b2%e5%89%8d%e7%9a%84%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;分别在这6台服务器上进行设置&lt;/p&gt;</description></item><item><title>Amazon Redshift 性能优化指南：VACUUM、ANALYZE 与运维最佳实践</title><link>http://www.heyuan110.com/zh/posts/datawarehouse/2018-08-09-dw-redshift/</link><pubDate>Thu, 09 Aug 2018 16:03:05 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/datawarehouse/2018-08-09-dw-redshift/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/datawarehouse/2018-08-09-dw-redshift/cover.webp"
 alt="Amazon Redshift 数据仓库性能优化指南"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="673"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amazon Redshift&lt;/strong&gt; 是 AWS 推出的云端数据仓库服务，采用列式存储和大规模并行处理（MPP）架构，能够在 PB 级数据上实现亚秒级查询响应。但随着数据不断写入和删除，表的性能会逐渐下降——这时就需要 VACUUM 和 ANALYZE 来维护。&lt;/p&gt;
&lt;p&gt;本文将系统讲解 Redshift 的性能优化策略，包括 VACUUM 的六种类型、ANALYZE 统计更新，以及日常运维中的实用命令。&lt;/p&gt;</description></item><item><title>Charles 抓包教程（2026）：HTTP/HTTPS 拦截、Mock 调试与证书配置</title><link>http://www.heyuan110.com/zh/posts/macos/charles/</link><pubDate>Sat, 15 Aug 2015 11:33:11 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/macos/charles/</guid><description>&lt;p&gt;Charles是Mac下常用的网络抓包工具，常用来模拟数据和网络辅助接口调试，作为代理抓取网络请求数据，这篇文章记录了几个实用场景，希望对你有帮助。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pan.baidu.com/s/1mgszWRu"&gt;Charles下载传送门&lt;/a&gt;。经常会有这样的场景:&lt;/p&gt;
&lt;p&gt;场景一: 想看看其他的App是怎样设计请求，怎样设计返回数据格式，某一个功能点请求分几个实现的。最近我在用某听书软件听鬼故事（^0^）,它们限制非VIP每天只能下100篇离线，我试着用charles拦截修改返回数据，把我自己变成超级VIP了，然后, 没然后了&amp;hellip;.&lt;/p&gt;
&lt;p&gt;场景二: 一个请求发起直接返回各种看起来奇葩的错误，检查半天代码好像也没问题，直接就大嘴巴叫后台的兄弟服务挂了，后台一看，好好的啊&amp;hellip;&lt;/p&gt;
&lt;p&gt;场景三: 开发新的功能，接口也先大概定义好了，可后台兄弟忙着和妹子聊天（&lt;em&gt;^&lt;/em&gt;），接口还没写好啊&amp;hellip;,虽然可以在代码里写死demo数据，但后台接口写好了，难道又去改一遍?有木有更好的方式呢？先把请求都写好，能正常返回数据，解析好结果绑定到界面，最后接口写好了直接就对接，charles可以帮助我们这么干。&lt;/p&gt;
&lt;p&gt;场景四: 除了WIFI我们还要测试2G,3G,4G等各种复杂网络条件下的情况，可手机上网资费不便宜啊，可以让charles限制网速模拟网络环境。&lt;/p&gt;
&lt;p&gt;就列举这么几个场景吧，下面进入本文的正题&lt;/p&gt;</description></item><item><title>Oh My Zsh 安装配置指南：打造高效终端环境</title><link>http://www.heyuan110.com/zh/posts/linux/2015-06-17-shell-zsh/</link><pubDate>Wed, 17 Jun 2015 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/posts/linux/2015-06-17-shell-zsh/</guid><description>&lt;p&gt;如果你使用 Linux 或 macOS，终端是每天都要打交道的工具。默认的 Bash 虽然够用，但 &lt;strong&gt;Zsh&lt;/strong&gt; 配合 &lt;strong&gt;Oh My Zsh&lt;/strong&gt; 能带来更强大的功能和更愉悦的使用体验。本文将手把手教你打造一个高效、美观的终端环境，让你的&lt;a href="http://www.heyuan110.com/zh/posts/linux/2020-03-19-linux-mac-commands/"&gt;命令行操作&lt;/a&gt;效率翻倍。&lt;/p&gt;</description></item><item><title>关于</title><link>http://www.heyuan110.com/zh/about/</link><pubDate>Mon, 15 Mar 2010 00:00:00 +0000</pubDate><guid>http://www.heyuan110.com/zh/about/</guid><description>&lt;h2 id="一句话介绍"&gt;一句话介绍&lt;a href="#%e4%b8%80%e5%8f%a5%e8%af%9d%e4%bb%8b%e7%bb%8d" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;我是 Bruce，写 AI 工程实战内容的。不贩卖焦虑，不搬运新闻，只写自己真正用过、踩过坑的东西。&lt;/p&gt;
&lt;h2 id="背景"&gt;背景&lt;a href="#%e8%83%8c%e6%99%af" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;做了 10 年后端（Java、Go、云原生），在几家公司从 0 到 1 搭过后端架构。2024 年起全面转向 AI 工程——不是跟风，是真觉得这东西能彻底改变开发者的工作方式。&lt;/p&gt;</description></item></channel></rss>