<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://firefly.cuteleaf.cn/</id>
  <title type="text">Firefly</title>
  <subtitle type="text">Demo site</subtitle>
  <updated>2026-09-15T00:00:00.000Z</updated>
  <author><name>XiaYe</name></author>
  <link rel="alternate" href="https://firefly.cuteleaf.cn/"/>
  <link rel="self" href="https://firefly.cuteleaf.cn/atom.xml"/>
  <generator uri="https://github.com/CuteLeaf/Firefly">Firefly v6.16.8</generator>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-00-guide/</id>
      <title type="text">导读：这份指南怎么读</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-00-guide/"/>
      <summary type="text">从「API 是什么」一路走到「一个人怎么把它变成收入」：全书 8 个部分、24 节的导读，含三种读法与编排口径说明。</summary>
      <content type="html"><![CDATA[<p>从「API 是什么」一路走到「一个人怎么把它变成收入」。全书拆成 <strong>8 个部分、24 节</strong>，按顺序读是一本完整的书，按需跳读是一份决策手册。</p>
<section><h2>这份指南怎么读<a href="#这份指南怎么读"><span>#</span></a></h2><p>它回答同一个问题的七个切面：<strong>我有一台 Mac，想用 AI 把重复劳动压掉，甚至变成一门生意。</strong> 七个部分按依赖顺序排列——前面没搞定的，后面会卡住。下面先选一条读法，再看全书目录。</p><section><h4>① 完整通读（推荐）<a href="#-完整通读推荐"><span>#</span></a></h4><p>按 8 个部分从头读到尾。</p><p>顺序即下方「全书目录」的七行。</p></section><section><h4>② 只做选型<a href="#-只做选型"><span>#</span></a></h4><p>已经有明确任务，只想决定「用哪家、怎么配」。</p><ol>
<li><a href="/posts/mac-api-02-models/">8 维度动态对比图</a>：一屏看完价格 / 能力 / 速度</li>
<li><a href="/posts/mac-api-02-models/">按需求找平台</a>：8 类需求各有首选与备选</li>
<li><a href="/posts/mac-api-02-models/">订阅还是 API</a>：逐平台算清楚</li>
<li><a href="/posts/mac-api-04-setup/">动手配置</a>：两条路径二选一</li>
<li><a href="/posts/mac-api-04-setup/">常见问题速查</a>：报错与排障</li>
</ol></section><section><h4>③ 直奔变现<a href="#-直奔变现"><span>#</span></a></h4><p>工具已经有基础，目标是搭出一条能跑通的钱路。</p><ol>
<li><a href="/posts/mac-api-09-oneperson/">一人公司的五种盈利模式</a></li>
<li><a href="/posts/mac-api-04-setup/">Mac 生产力环境搭建</a></li>
<li><a href="/posts/mac-api-09-oneperson/">自动化全链路工具栈</a></li>
<li><a href="/posts/mac-api-09-oneperson/">分模式盈利测算</a>（按模式切换）</li>
<li><a href="/posts/mac-api-09-oneperson/">落地步骤与风险规避</a></li>
<li><a href="/posts/mac-api-06-skills/">开源 Skill 库</a>：补齐缺失的能力模块</li>
</ol></section><section><h3>编排方式与数据口径<a href="#编排方式与数据口径"><span>#</span></a></h3><section><h4>为什么拆成多页<a href="#为什么拆成多页"><span>#</span></a></h4><p>原来的单页版把 19 节堆在同一屏里，目录长、滚动深、横向对比表散落各处。现在每个部分独立成页，页内把所有具备对比关系的内容（图表、表格、清单）统一改成<strong>维度切换</strong>：一次只呈现一个维度，切换即换内容，不再需要横向滚动或来回翻找。</p></section><section><h4>页与页之间怎么衔接<a href="#页与页之间怎么衔接"><span>#</span></a></h4><p>页尾有「接下来」与上一页 / 下一页的导航按钮。任何一页都可以单独打开，不会因为跳读而失去上下文。</p></section><section><h4>数据口径<a href="#数据口径"><span>#</span></a></h4><p>所有平台的对比都统一到「该平台当前最新的旗舰模型」，核对日 2026-09-14。跨数量级的指标用对数刻度、其余用从 0 起的线性刻度，刻度口径直接标在图上；某个维度缺同口径数据的平台会被排除，并在图注里写明。</p></section></section></section>
<section><h2>全书目录<a href="#全书目录"><span>#</span></a></h2><p>点任意一条直接进入对应章节。</p><section><h3>打地基<a href="#打地基"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-01-basics/">核心概念：API、Token、Skill、Agent</a></li>
<li><a href="/posts/mac-api-01-basics/">自动化能力全景：六类任务与推荐工具</a></li>
</ul></section><section><h3>选模型<a href="#选模型"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-02-models/">主流 API 全维度对比：10 家平台最新旗舰</a></li>
<li><a href="/posts/mac-api-02-models/">各平台适合谁、擅长什么</a></li>
<li><a href="/posts/mac-api-02-models/">订阅还是 API：分平台选购指南</a></li>
<li><a href="/posts/mac-api-02-models/">Claude Code 专项说明</a></li>
</ul></section><section><h3>本地部署<a href="#本地部署"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-03-local/">本地大模型工具对比</a></li>
<li><a href="/posts/mac-api-03-local/">Mac 硬件配置全解：Air 全系 + Pro 五系列</a></li>
<li><a href="/posts/mac-api-03-local/">参数档位与开源模型清单</a></li>
</ul></section><section><h3>动手配置<a href="#动手配置"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-04-setup/">Mac 上配置 API 的两条路径</a></li>
<li><a href="/posts/mac-api-04-setup/">Mac 生产力环境搭建</a></li>
<li><a href="/posts/mac-api-04-setup/">常见问题速查</a></li>
</ul></section><section><h3>智能体产品<a href="#智能体产品"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-05-agents/">桌面智能体产品对比：8 款主流产品</a></li>
</ul></section><section><h3>开源能力库<a href="#开源能力库"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-06-skills/">总览与入口</a></li>
<li><a href="/posts/mac-api-06-skills/">Skill 技能库</a></li>
<li><a href="/posts/mac-api-06-skills/">Agent 智能体库</a></li>
</ul></section><section><h3>学习与教学<a href="#学习与教学"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-07-learning/">学习资源与社区</a></li>
<li><a href="/posts/mac-api-08-tutorial/">创建自己的 Skill</a></li>
<li><a href="/posts/mac-api-08-tutorial/">创建自己的 Agent</a></li>
<li><a href="/posts/mac-api-08-tutorial/">Skill 与 Agent 的使用方法</a></li>
<li><a href="/posts/mac-api-08-tutorial/">在主流工具中导入：OpenClaw、QClaw、WorkBuddy</a></li>
</ul></section><section><h3>一人公司<a href="#一人公司"><span>#</span></a></h3><ul>
<li><a href="/posts/mac-api-09-oneperson/">一人公司：定义与五大盈利模式</a></li>
<li><a href="/posts/mac-api-09-oneperson/">自动化全链路工具栈</a></li>
<li><a href="/posts/mac-api-09-oneperson/">分模式盈利测算模型</a></li>
<li><a href="/posts/mac-api-09-oneperson/">落地步骤与风险规避</a></li>
<li><a href="/posts/mac-api-09-oneperson/">跨境电商自动化选型</a></li>
</ul></section></section>
<section><h2>数据口径与免责说明<a href="#数据口径与免责说明"><span>#</span></a></h2><div><div><div></div><div>数据来源与核验</div></div><div><p>一是<strong>开源项目</strong>：存在性、星标数与仓库迁移情况已于 2026-09-14 通过 GitHub API 逐条核验，核验不通过或疑似虚构的仓库<strong>不予收录</strong>。二是<strong>API 价格与模型基准</strong>：来自各平台官方页面与第三方公开评测，核对日 2026-09-14；价格与档位会随时调整，请以厂商官网为准。三是<strong>硬件参数</strong>：来自 Apple 官方规格页，涵盖 M1–M5 全系已发布机型。</p></div></div><div><div><div></div><div>免责说明</div></div><div><p>第 7 部分「一人公司实战」中的成本与利润测算为<strong>行业参考区间</strong>，基于公开资料与合理假设推演，<strong>不构成任何收益承诺</strong>，也不构成投资、税务或法律建议。任何自动化链路都请遵守目标平台的用户协议与当地法规；支付、提现、店铺主账号等敏感凭证不要交给任何脚本或 Agent。</p></div></div><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-01-basics/</id>
      <title type="text">打地基：API、Token、Skill、Agent 与自动化全景</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-01-basics/"/>
      <summary type="text">四个核心概念（API、Token、Skill、Agent）的定义、生活化类比与关系图；六类自动化任务与对应推荐工具。</summary>
      <content type="html"><![CDATA[<section><h2>打地基：先搞懂这四个词，再看它能干什么<a href="#打地基先搞懂这四个词再看它能干什么"><span>#</span></a></h2><p>四个概念（API、Token、Skill、Agent）决定电脑为什么能自动干活，六类任务决定这些能力能用在哪儿。本页不涉及任何配置，只把后续讨论统一到同一套术语。</p></section>
<section><h2>核心概念：API、Token、Skill、Agent<a href="#核心概念apitokenskillagent"><span>#</span></a></h2><p>这四个词决定了「电脑为什么能自动干活」。先看定义，再看生活化类比，最后看它们之间的关系。</p><section><h3>API：服务商开给程序的「服务窗口」<a href="#api服务商开给程序的服务窗口"><span>#</span></a></h3><div><div><div></div><div>专业定义</div></div><div><p>API（Application Programming Interface，应用程序编程接口）是一套软件之间通信的标准规则。它是服务商对外开的「服务窗口」，程序可以通过它自动调用能力，无需人工操作网页。</p></div></div><div><div><div></div><div>🍔 生活化理解：API = 麦当劳的点餐柜台</div></div><div><ul>
<li>后厨（服务器 / 大模型）不直接对你开放，你不能自己进去做汉堡</li>
<li>柜台（API）有固定菜单和规则，你按菜单报菜名（发请求）</li>
<li>后厨做好后通过柜台把汉堡递给你（返回结果）</li>
<li>你不用关心后厨怎么做、用什么原料，按规则点餐就能拿到东西</li>
</ul></div></div><p><strong>核心意义：</strong> 有了 API，程序就能自动调用大模型，不必再人工复制粘贴提问。</p></section><section><h3>Token：身份凭证与计费单位<a href="#token身份凭证与计费单位"><span>#</span></a></h3><div><div><div></div><div>专业定义</div></div><div><p>Token 是一串随机字符，既是调用 API 时的身份凭证，也是计费单位。每次发请求都要带上它，服务商据此识别「是谁在调用」并扣除对应费用。</p></div></div><div><div><div></div><div>🎢 生活化理解：Token = 游乐场手环</div></div><div><ul>
<li>进门时检票员看手环（验证身份），证明你买过票</li>
<li>每个项目刷一次手环，扣对应次数（按调用量扣费）</li>
<li>手环丢了被别人捡到也能刷（Token 泄露 = 别人花你的钱）</li>
<li>可以随时去售票处注销旧手环、换新的（密钥轮换）</li>
</ul></div></div><p><strong>补充：</strong> 大语言模型里的「Token」也是计费单位，<strong>100 万 Token ≈ 70 万汉字</strong>。</p><section><h4>⚠️ 注意保密<a href="#️-注意保密"><span>#</span></a></h4><p>Token 等同于密码，绝不能公开泄露，不要提交到代码仓库。</p></section><section><h4>✅ 最佳实践<a href="#-最佳实践"><span>#</span></a></h4><p>使用客户端软件存储 Token，不要硬编码写在代码里。</p></section><section><h4>🔄 定期轮换<a href="#-定期轮换"><span>#</span></a></h4><p>定期更换 Token；一旦泄露，立即吊销并重新生成。</p></section></section><section><h3>Skill 与 Agent：真正让电脑干活的两个角色<a href="#skill-与-agent真正让电脑干活的两个角色"><span>#</span></a></h3><p>API 只是接口。真正让电脑自动干活的，是基于 API 构建的 <strong>Skill（技能）</strong> 和 <strong>Agent（智能体）</strong>。</p><section><h4>Skill（技能）：单一功能模块<a href="#skill技能单一功能模块"><span>#</span></a></h4><div><div><div></div><div>专业定义</div></div><div><p>Skill 是封装好的、可被调用的单一功能模块，具备明确的输入输出和执行逻辑，专门用于完成某一类特定子任务。常见的 Skill 包括：文件读写、网页搜索、代码执行、数据计算、邮件发送等。</p></div></div><div><div><div></div><div>🏠 生活化理解：Skill = 家里的单件电器</div></div><div><ul>
<li>洗衣机只会洗衣服，不会做饭</li>
<li>微波炉只会加热，不会扫地</li>
<li>每个电器只干一件事，需要人去按开关</li>
<li>对应到 AI：搜索 Skill 只会查资料，代码 Skill 只会跑程序</li>
</ul></div></div></section><section><h4>Agent（智能体）：自主决策的总指挥<a href="#agent智能体自主决策的总指挥"><span>#</span></a></h4><div><div><div></div><div>专业定义</div></div><div><p>Agent 是能够自主理解目标、拆解任务、规划步骤、主动调用各种 Skill / API / 工具，并根据执行结果反馈迭代调整，最终独立完成复杂目标的程序。核心是「<strong>自主决策</strong>」。</p></div></div><div><div><div></div><div>👔 生活化理解：Agent = 你的全职助理</div></div><div><ul>
<li>你只说目标：「帮我办好出差手续」</li>
<li>它自己拆步骤：查机票 → 订酒店 → 填审批单 → 发邮件</li>
<li>自己挑工具：用订票 App、用邮箱、用 OA 系统</li>
<li>遇到问题自己调整，不需要你一步步指挥</li>
</ul></div></div></section></section><section><h3>三者的关系：API → Skill → Agent<a href="#三者的关系api--skill--agent"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>层级</th><th>角色</th><th>说明</th></tr></thead><tbody><tr><td>API</td><td>底层能力</td><td>大模型把自己的能力做成接口，对外提供</td></tr><tr><td>Skill</td><td>单个工具</td><td>基于 API 封装出一个个具体能用的功能</td></tr><tr><td>Agent</td><td>总指挥</td><td>拿着目标，自己调度各种 Skill 和 API，自动把事办完</td></tr></tbody></table><div><div><div></div><div>这就是「配好 API 后电脑能自动工作」的原因</div></div><div><p>Agent 在后台运行，持续调用 API 和 Skill；只要电脑不关机，任务就不会停。</p></div></div></section></section>
<section><h2>自动化能力全景：六类任务与推荐工具<a href="#自动化能力全景六类任务与推荐工具"><span>#</span></a></h2><p>先明确「你想让电脑做什么」，再回头看需要配哪个 API、装哪个工具。</p><p>六类能力既可以单独使用，也可以叠加成一条流水线。下面用一张表横向对比每一类「能完成什么、适合什么场景、推荐哪些工具」：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>类型</th><th>能完成什么</th><th>适合场景</th><th>推荐工具</th></tr></thead><tbody><tr><td>文件自动化</td><td>批量重命名、格式转换、整理分类、内容提取、数据汇总</td><td>科研文献整理、报表汇总、素材归档</td><td><a href="https://claude.com/product/claude-code" target="_blank">Claude Code</a>、<a href="https://openai.com/codex/" target="_blank">Codex</a>、<a href="https://github.com/lsdefine/GenericAgent" target="_blank">GenericAgent</a></td></tr><tr><td>浏览器操控</td><td>自动查资料、填表单、发邮件、下载文献、抓取数据</td><td>文献检索、数据采集、信息监控</td><td><a href="https://github.com/FoundationAgents/OpenManus" target="_blank">OpenManus</a>、<a href="https://github.com/browser-use/browser-use" target="_blank">Browser Use</a>、<a href="https://openai.com/codex/" target="_blank">Codex</a></td></tr><tr><td>代码开发</td><td>生成代码、调试修复、重构优化、写测试、跑命令</td><td>全栈开发、脚本编写、项目工程化</td><td><a href="https://claude.com/product/claude-code" target="_blank">Claude Code</a>、<a href="https://cursor.com" target="_blank">Cursor</a>、<a href="https://windsurf.com" target="_blank">Windsurf</a></td></tr><tr><td>系统级操作</td><td>安装软件、修改配置、定时任务、备份同步、终端命令</td><td>环境搭建、运维自动化、批量处理</td><td><a href="https://claude.com/product/claude-code" target="_blank">Claude Code</a>、<a href="https://github.com/FoundationAgents/OpenManus" target="_blank">OpenManus</a>、<a href="https://github.com/langgenius/dify" target="_blank">Dify</a></td></tr><tr><td>办公自动化</td><td>写报告、做 PPT、处理 Excel、生成会议纪要、排日程</td><td>行政办公、数据分析、学术写作</td><td><a href="https://www.doubao.com" target="_blank">豆包专家模式</a>、<a href="https://www.microsoft.com/microsoft-365/copilot" target="_blank">Microsoft 365 Copilot</a></td></tr><tr><td>手机远程操控</td><td>手机发指令 → 电脑执行 → 结果回传，支持微信 / 网页 / App 触发</td><td>外出时下发任务、远程监控进度</td><td><a href="https://openai.com/codex/" target="_blank">Codex</a> + 手机端、<a href="https://github.com/langgenius/dify" target="_blank">Dify</a> 工作流</td></tr></tbody></table><blockquote><p><strong>接下来</strong>：第一个真正要做的决定是<strong>用谁家的模型</strong>。第 2 部分把 10 家平台放到同一张图上，用 8 个可切换的维度逐个比——价格、容量、能力、速度、总成本。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/firefly/</id>
      <title type="text">Firefly 一款清新美观的 Astro 博客主题模板</title>
      <published>1970-01-02T00:00:00.000Z</published>
      <updated>1970-01-02T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/firefly/"/>
      <summary type="text">Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。</summary>
      <content type="html"><![CDATA[<section><h2>🌟 项目概述<a href="#-项目概述"><span>#</span></a></h2><p><strong>Firefly</strong> 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。</p><p><strong>🖥️在线预览： <a href="https://firefly.cuteleaf.cn/">Firefly - Demo site</a></strong></p><p><strong>📝Firefly使用文档： <a href="https://docs-firefly.cuteleaf.cn/" target="_blank">https://docs-firefly.cuteleaf.cn</a></strong></p><p><strong>⭐Firefly开源地址：<a href="https://github.com/CuteLeaf/Firefly" target="_blank">https://github.com/CuteLeaf/Firefly</a></strong></p><p><strong>⭐Fuwari开源地址：<a href="https://github.com/saicaca/fuwari" target="_blank">https://github.com/saicaca/fuwari</a></strong></p><a href="https://github.com/CuteLeaf/Firefly" target="_blank"><div><div><div><div></div><div>CuteLeaf</div></div><div>/</div><div>Firefly</div></div><div></div></div><div>🍀Firefly, fresh and aesthetic Astro blog theme template. </div><div><div>—</div><div>—</div><div>MIT</div><span>Astro</span></div></a><a href="https://github.com/saicaca/fuwari" target="_blank"><div><div><div><div></div><div>saicaca</div></div><div>/</div><div>fuwari</div></div><div></div></div><div>✨A static blog template built with Astro. </div><div><div>—</div><div>—</div><div>MIT</div><span>Astro</span></div></a><p></p><figure><img alt="Firefly" loading="lazy" width="2192" height="1233" src="/_astro/1.yYF8THE5_ZFnaOq.webp" /><figcaption>Firefly</figcaption></figure><p></p></section>
<section><h2>🚀 技术架构<a href="#-技术架构"><span>#</span></a></h2><ul>
<li><strong>静态站点生成</strong>: 基于 Astro ，提供极快的加载速度和优秀的 SEO 优化</li>
<li><strong>TypeScript 支持</strong>: 完整的类型安全，提升开发体验和代码质量</li>
<li><strong>响应式设计</strong>: 使用 Tailwind CSS 构建，完美适配桌面端和移动端</li>
<li><strong>组件化开发</strong>: 支持 Astro、Svelte 组件，灵活可扩展</li>
</ul></section>
<section><h2>📖 配置说明<a href="#-配置说明"><span>#</span></a></h2><blockquote><p>📚 <strong>详细配置文档</strong>: 查看 <a href="https://docs-firefly.cuteleaf.cn/" target="_blank">Firefly 使用文档</a> 获取完整的配置指南</p></blockquote></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/guide/</id>
      <title type="text">Firefly 简单使用指南</title>
      <published>1970-01-02T00:00:00.000Z</published>
      <updated>1970-01-02T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/guide/"/>
      <summary type="text">如何使用 Firefly 博客模板。</summary>
      <content type="html"><![CDATA[<p>这个博客模板是基于 <a href="https://astro.build/" target="_blank">Astro</a> 构建的。对于本指南中未提及的内容，您可以在 <a href="https://docs.astro.build/" target="_blank">Astro 文档</a> 中找到答案。</p>
<section><h2>文章的 Front-matter<a href="#文章的-front-matter"><span>#</span></a></h2><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>我的第一篇博客文章</span></div></div><div><div><div>3</div></div><div><span>published</span><span>: </span><span>2023-09-09</span></div></div><div><div><div>4</div></div><div><span>description</span><span>: </span><span>这是我新 Astro 博客的第一篇文章。</span></div></div><div><div><div>5</div></div><div><span>image</span><span>: </span><span>./cover.jpg</span></div></div><div><div><div>6</div></div><div><span>tags</span><span>: [</span><span>前端</span><span>, </span><span>开发</span><span>]</span></div></div><div><div><div>7</div></div><div><span>category</span><span>: </span><span>前端开发</span></div></div><div><div><div>8</div></div><div><span>draft</span><span>: </span><span>false</span></div></div><div><div><div>9</div></div><div><span>---</span></div></div></code></pre><div><div></div><div></div></div></figure></div>

<table><thead><tr><th>属性</th><th>描述</th></tr></thead><tbody><tr><td><code>title</code></td><td>文章标题。</td></tr><tr><td><code>published</code></td><td>文章发布日期。</td></tr><tr><td><code>updated</code></td><td>文章更新日期。如果未设置，将默认使用发布日期。</td></tr><tr><td><code>pinned</code></td><td>是否将此文章置顶在文章列表顶部。</td></tr><tr><td><code>description</code></td><td>文章的简短描述。显示在首页上。</td></tr><tr><td><code>image</code></td><td>文章封面图片路径。<br />1. 以 <code>http://</code> 或 <code>https://</code> 开头：使用网络图片<br />2. 以 <code>/</code> 开头：<code>public</code> 目录中的图片<br />3. 不带任何前缀：相对于 markdown 文件的路径</td></tr><tr><td><code>tags</code></td><td>文章标签。</td></tr><tr><td><code>category</code></td><td>文章分类。</td></tr><tr><td><code>lang</code></td><td>文章语言代码（如 <code>zh-CN</code>）。仅当文章语言与站点默认语言不同时设置。</td></tr><tr><td><code>licenseName</code></td><td>文章内容的许可证名称。</td></tr><tr><td><code>licenseUrl</code></td><td>文章内容的许可证链接。</td></tr><tr><td><code>author</code></td><td>文章作者。</td></tr><tr><td><code>sourceLink</code></td><td>文章内容的来源链接或参考。</td></tr><tr><td><code>draft</code></td><td>如果这篇文章仍是草稿，则不会显示。</td></tr><tr><td><code>comment</code></td><td>是否启用此文章的评论功能。默认为 <code>true</code>。</td></tr><tr><td><code>slug</code></td><td>自定义文章 URL 路径。如果不设置，将使用文件名作为 URL。</td></tr><tr><td><code>password</code></td><td>文章密码。设置后文章内容将被 AES-256-GCM 加密，访客需输入密码才能查看。</td></tr><tr><td><code>passwordHint</code></td><td>密码提示。显示在密码输入框上方，帮助访客回忆密码，也可以不加。</td></tr></tbody></table></section>
<section><h2>文章文件的放置位置<a href="#文章文件的放置位置"><span>#</span></a></h2><p>您的文章文件应放置在 <code>src/content/posts/</code> 目录中。您也可以创建子目录来更好地组织您的文章和资源。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>src/content/posts/</span></div></div><div><div><div>2</div></div><div><span>├── post-1.md</span></div></div><div><div><div>3</div></div><div><span>└── post-2/</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>├── cover.png</span></div></div><div><div><div>5</div></div><div><span><span>    </span></span><span>└── index.md</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section>
<section><h2>自定义文章 URL (Slug)<a href="#自定义文章-url-slug"><span>#</span></a></h2><section><h3>什么是 Slug？<a href="#什么是-slug"><span>#</span></a></h3><p>Slug 是文章 URL 路径的自定义部分。如果不设置 slug，系统将使用文件名作为 URL。</p></section><section><h3>Slug 使用示例<a href="#slug-使用示例"><span>#</span></a></h3><section><h4>示例 1：使用文件名作为 URL<a href="#示例-1使用文件名作为-url"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>我的第一篇博客文章</span></div></div><div><div><div>3</div></div><div><span>published</span><span>: </span><span>2023-09-09</span></div></div><div><div><div>4</div></div><div><span>---</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>文件：<code>src/content/posts/my-first-blog-post.md</code></p><p>URL：<code>/posts/my-first-blog-post</code></p></section><section><h4>示例 2：自定义 Slug<a href="#示例-2自定义-slug"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>我的第一篇博客文章</span></div></div><div><div><div>3</div></div><div><span>published</span><span>: </span><span>2023-09-09</span></div></div><div><div><div>4</div></div><div><span>slug</span><span>: </span><span>hello-world</span></div></div><div><div><div>5</div></div><div><span>---</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>文件：<code>src/content/posts/my-first-blog-post.md</code></p><p>URL：<code>/posts/hello-world</code></p></section><section><h4>示例 3：其他语言文件名使用Slug<a href="#示例-3其他语言文件名使用slug"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>如何使用 Firefly 博客主题</span></div></div><div><div><div>3</div></div><div><span>published</span><span>: </span><span>2023-09-09</span></div></div><div><div><div>4</div></div><div><span>slug</span><span>: </span><span>how-to-use-firefly-blog-theme</span></div></div><div><div><div>5</div></div><div><span>---</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>文件：<code>src/content/posts/如何使用Firefly博客主题.md</code></p><p>URL：<code>/posts/how-to-use-firefly-blog-theme</code></p></section></section><section><h3>Slug 使用建议<a href="#slug-使用建议"><span>#</span></a></h3><ol>
<li><strong>使用英文和连字符</strong>：<code>my-awesome-post</code> 而不是 <code>my awesome post</code></li>
<li><strong>保持简洁</strong>：避免过长的 slug</li>
<li><strong>具有描述性</strong>：让 URL 能够反映文章内容</li>
<li><strong>避免特殊字符</strong>：只使用字母、数字和连字符</li>
<li><strong>保持一致性</strong>：在整个博客中使用相似的命名模式</li>
</ol></section><section><h3>注意事项<a href="#注意事项"><span>#</span></a></h3><ul>
<li>Slug 一旦设置并发布，建议不要随意更改，以免影响 SEO 和已存在的链接</li>
<li>如果多个文章使用相同的 slug，后面的文章会覆盖前面的</li>
<li>Slug 会自动转换为小写</li>
</ul></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-02-models/</id>
      <title type="text">选模型：10 家平台全维度对比与选购指南</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-02-models/"/>
      <summary type="text">10 家主流平台的八维度对比（价格 / 容量 / 能力 / 速度 / 总成本）、按需求找平台、逐平台算清订阅与 API 哪个划算。</summary>
      <content type="html"><![CDATA[<section><h2>选模型：10 家平台，一张图比到底<a href="#选模型10-家平台一张图比到底"><span>#</span></a></h2><p>本页回答「用谁家的模型」：先做 8 个维度的横向对比，再按需求与预算落到具体一家，最后算清订阅与 API 哪种更划算。</p></section>
<section><h2>主流 API 全维度对比：10 家平台最新旗舰<a href="#主流-api-全维度对比10-家平台最新旗舰"><span>#</span></a></h2><p>对比口径统一为「各平台当前最新的旗舰模型」，逐个指标给出图表。价格为每百万 Token，美元按约 1 : 7.2 折算为人民币；核对日 2026-09-14。</p><section><h3>十家平台最新旗舰一览<a href="#十家平台最新旗舰一览"><span>#</span></a></h3><blockquote><p>来源：价格：各平台官网公开价 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>最新旗舰模型</th><th>输入 / 百万 Token</th><th>输出 / 百万 Token</th><th>上下文</th><th>最强项</th><th>订阅版月费</th></tr></thead><tbody><tr><td><a href="https://platform.openai.com" target="_blank">ChatGPT（OpenAI）</a></td><td>GPT-5.6 Sol</td><td>$4 / ¥28.8 缓存命中 $0.40</td><td>$20 / ¥144</td><td>1.05M</td><td>综合推理、生态最全</td><td>$20（约 ¥145）</td></tr><tr><td><a href="https://console.anthropic.com" target="_blank">Claude（Anthropic）</a></td><td>Claude Opus 5</td><td>$5 / ¥36 缓存命中 $0.50</td><td>$25 / ¥180</td><td>1M</td><td>长文本、代码工程</td><td>$20（约 ¥145）</td></tr><tr><td><a href="https://aistudio.google.com" target="_blank">Gemini（Google）</a></td><td>Gemini 3.1 Pro</td><td>$2 / ¥14.4 缓存命中 $0.20</td><td>$12 / ¥86.4</td><td>1M</td><td>多模态、谷歌生态</td><td>$19.99（约 ¥145）</td></tr><tr><td><a href="https://platform.deepseek.com" target="_blank">DeepSeek</a></td><td><a href="https://api-docs.deepseek.com" target="_blank">V4.1 Flash</a> 2026-09-10 发布</td><td>$0.15 / ¥1.08 缓存命中 ¥0.02</td><td>$0.60 / ¥4.32</td><td>1M</td><td>超长上下文 + 超低缓存成本，跑 Agent 最划算</td><td>约 ¥49 起</td></tr><tr><td><a href="https://platform.moonshot.cn" target="_blank">Kimi（月之暗面）</a></td><td>Kimi K3</td><td>$3 / ¥21.6 缓存命中 $0.30</td><td>$15 / ¥108</td><td>1M</td><td>超长文档、图表识别</td><td>约 ¥699</td></tr><tr><td><a href="https://console.volcengine.com/ark" target="_blank">豆包（字节跳动）</a></td><td>Doubao-Seed-2.1-Pro</td><td>$0.83 / ¥6 缓存命中 约 ¥1.2</td><td>$4.17 / ¥30</td><td>256K</td><td>中文、多模态、国内速度</td><td>¥68 / ¥200 / ¥500</td></tr><tr><td><a href="https://dashscope.console.aliyun.com" target="_blank">通义千问（阿里云）</a></td><td>Qwen3.8-Max</td><td>$2 / ¥14.4 缓存命中 $0.29</td><td>$6 / ¥43.2</td><td>1M</td><td>综合均衡、企业级稳定</td><td>¥19 / ¥49 / ¥128</td></tr><tr><td><a href="https://open.bigmodel.cn" target="_blank">智谱（GLM）</a></td><td>GLM-5.3</td><td>$1.40 / ¥10.1 缓存命中 $0.18</td><td>$4.40 / ¥31.7</td><td>1M</td><td>开源生态、数学推理</td><td>¥49 / ¥149 / ¥469</td></tr><tr><td><a href="https://x.ai" target="_blank">Grok（xAI）</a></td><td>Grok 4.6</td><td>$2 / ¥14.4 缓存命中 $0.30</td><td>$6 / ¥43.2</td><td>500K</td><td>实时信息、社交场景</td><td>$30（约 ¥216）</td></tr><tr><td><a href="https://platform.minimaxi.com" target="_blank">MiniMax</a></td><td>MiniMax M3</td><td>$0.30 / ¥2.16</td><td>$1.20 / ¥8.64</td><td>1M</td><td>极低价格、中文长文本</td><td>—</td></tr></tbody></table><div><div><div></div><div>读表提示</div></div><div><p>一、价格只反映「单位成本」，实际账单还要看缓存命中率与输出长度；二、Gemini 与 OpenAI 对超长输入有加价档（Gemini 超过 20 万 Token 输入价升至 $4 / 输出 $18；OpenAI 超过 27.2 万 Token 输入翻倍）；三、API 费用随用量线性增长，订阅费是固定支出——取舍见<a href="#s5">本部分第 3 节</a>；四、价格与档位会随时调整，请以厂商官网为准。</p></div></div></section><section><h3>八维度动态对比图<a href="#八维度动态对比图"><span>#</span></a></h3><p>下面把「价格 → 容量 → 能力 → 速度 → 总成本」拆成 <strong>8 个可切换的维度</strong>，外加一张按月用量估算的成本曲线。切换维度时图表会实时重绘，<strong>绿色永远是当前维度的最优值</strong>。</p><div><div><div></div><div>两张图怎么读</div></div><div><p>一、<strong>刻度口径写在每张图的左上角</strong>：跨数量级的指标（价格、首 Token 延迟）用对数刻度，其余用从 0 起的线性刻度——线性刻度下的柱子长度可以直接按比例心算，不要横向比较两张不同刻度的图。二、<strong>参与排名的平台数在维度之间并不相同</strong>：某些维度只有部分平台公开了同口径数据（例如缓存命中价、编程基准），缺数据的平台会被排除在该维度之外，并在图注里写明，避免拿不同口径的数字硬凑。</p></div></div><section><h4>输入价格（单位：$ / 百万 Token）<a href="#输入价格单位--百万-token"><span>#</span></a></h4><p>未命中缓存时的标准输入价。最便宜与最贵相差约 33 倍，但实际账单还要看缓存命中率与输出长度。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>$0.15</td></tr><tr><td>MiniMax M3</td><td>$0.30</td></tr><tr><td>豆包 Seed-2.1-Pro</td><td>$0.83</td></tr><tr><td>GLM-5.3</td><td>$1.40</td></tr><tr><td>Gemini 3.1 Pro</td><td>$2.00</td></tr><tr><td>Qwen3.8-Max</td><td>$2.00</td></tr><tr><td>Grok 4.6</td><td>$2.00</td></tr><tr><td>Kimi K3</td><td>$3.00</td></tr><tr><td>GPT-5.6 Sol</td><td>$4.00</td></tr><tr><td>Claude Opus 5</td><td>$5.00</td></tr></tbody></table><blockquote><p>来源：取各平台官网公开价，核对日 2026-09-14；人民币按 1 : 7.2 折算为美元口径。</p></blockquote></section><section><h4>输出价格（单位：$ / 百万 Token）<a href="#输出价格单位--百万-token"><span>#</span></a></h4><p>输出价决定「长回答」的账单。写代码、写长文这类输出密集型任务，输出价的权重远高于输入价。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>$0.60</td></tr><tr><td>MiniMax M3</td><td>$1.20</td></tr><tr><td>豆包 Seed-2.1-Pro</td><td>$4.17</td></tr><tr><td>GLM-5.3</td><td>$4.40</td></tr><tr><td>Qwen3.8-Max</td><td>$6.00</td></tr><tr><td>Grok 4.6</td><td>$6.00</td></tr><tr><td>Gemini 3.1 Pro</td><td>$12.00</td></tr><tr><td>Kimi K3</td><td>$15.00</td></tr><tr><td>GPT-5.6 Sol</td><td>$20.00</td></tr><tr><td>Claude Opus 5</td><td>$25.00</td></tr></tbody></table><blockquote><p>来源：同输入价格表，核对日 2026-09-14。</p></blockquote></section><section><h4>缓存命中价（单位：$ / 百万 Token（输入侧））<a href="#缓存命中价单位--百万-token输入侧"><span>#</span></a></h4><p>这是跑 Agent 时最该看的数字：系统提示词、工具定义、代码库片段会被反复读取，命中的部分按此价计费。DeepSeek 与 Claude 在这一项相差约 167 倍。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>$0.003</td></tr><tr><td>豆包 Seed-2.1-Pro</td><td>$0.17</td></tr><tr><td>GLM-5.3</td><td>$0.18</td></tr><tr><td>Gemini 3.1 Pro</td><td>$0.20</td></tr><tr><td>Qwen3.8-Max</td><td>$0.29</td></tr><tr><td>Grok 4.6</td><td>$0.30</td></tr><tr><td>Kimi K3</td><td>$0.30</td></tr><tr><td>GPT-5.6 Sol</td><td>$0.40</td></tr><tr><td>Claude Opus 5</td><td>$0.50</td></tr></tbody></table><blockquote><p>来源：MiniMax M3 未公开缓存命中价，故不参与本项排名。其余为官网公开价，核对日 2026-09-14。</p></blockquote></section><section><h4>上下文窗口（单位：千 Token（K））<a href="#上下文窗口单位千-tokenk"><span>#</span></a></h4><p>一次能「装进去」的信息量。八家已进入百万 Token 量级；可容纳不等于能用好，超长上下文末端的召回质量仍要单独实测。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>GPT-5.6 Sol</td><td>1050</td></tr><tr><td>Claude Opus 5</td><td>1000</td></tr><tr><td>Gemini 3.1 Pro</td><td>1000</td></tr><tr><td>DeepSeek V4.1 Flash</td><td>1000</td></tr><tr><td>Kimi K3</td><td>1000</td></tr><tr><td>Qwen3.8-Max</td><td>1000</td></tr><tr><td>GLM-5.3</td><td>1000</td></tr><tr><td>MiniMax M3</td><td>1000</td></tr><tr><td>Grok 4.6</td><td>500</td></tr><tr><td>豆包 Seed-2.1-Pro</td><td>256</td></tr></tbody></table><blockquote><p>来源：各平台官网规格，核对日 2026-09-14。</p></blockquote></section><section><h4>综合智能指数（单位：分（同口径快照））<a href="#综合智能指数单位分同口径快照"><span>#</span></a></h4><p>第三方模型库在同一口径下的质量分快照，用于快速判断「谁更聪明」。分差在 1 分以内基本可视为持平。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>Claude Opus 5</td><td>50.7</td></tr><tr><td>GPT-5.6 Sol</td><td>47.1</td></tr><tr><td>Grok 4.6</td><td>44.4</td></tr><tr><td>Kimi K3</td><td>43.8</td></tr><tr><td>Qwen3.8-Max</td><td>40.3</td></tr><tr><td>DeepSeek V4.1 Flash</td><td>39.5</td></tr><tr><td>Gemini 3.1 Pro</td><td>30.4</td></tr><tr><td>MiniMax M3</td><td>29.6</td></tr></tbody></table><blockquote><p>来源：第三方模型库 2026-09-12 快照。豆包 Seed-2.1-Pro 与 GLM-5.3 未纳入该口径，故不在此项；Gemini 3.1 Pro 发布于 2026 年初，落后其余旗舰约半年，分数偏低不代表其多模态能力弱。</p></blockquote></section><section><h4>编程 Agent 能力（单位：DeepSWE v1.1 得分（%））<a href="#编程-agent-能力单位deepswe-v11-得分"><span>#</span></a></h4><p>面向真实仓库级编程任务的基准。三家头部的分差在 1.5 分以内，属误差范围；真正的差距出现在更难的 Terminal-Bench 4.0 与 HLE 上。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>74.2%</td></tr><tr><td>Claude Opus 5</td><td>73.7%</td></tr><tr><td>GPT-5.6 Sol</td><td>72.7%</td></tr><tr><td>Kimi K3</td><td>68.5%</td></tr><tr><td>Grok 4.6</td><td>67.5%</td></tr><tr><td>GLM-5.3</td><td>66.9%</td></tr><tr><td>Qwen3.8-Max</td><td>57.5%</td></tr></tbody></table><blockquote><p>来源：综合自公开技术报告与榜单，口径日 2026-09-11。豆包、Gemini、MiniMax 未列入同一榜单，故不在此项。</p></blockquote></section><section><h4>输出速度（单位：Token / 秒）<a href="#输出速度单位token--秒"><span>#</span></a></h4><p>取低推理档位的稳态输出速度。高频批量生成（文案、翻译、结构化抽取）时，这一项直接决定单位时间的产出量。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>261</td></tr><tr><td>Gemini 3.1 Pro</td><td>125</td></tr><tr><td>MiniMax M3</td><td>106</td></tr><tr><td>Grok 4.6</td><td>71</td></tr><tr><td>GPT-5.6 Sol</td><td>69</td></tr><tr><td>Claude Opus 5</td><td>61</td></tr><tr><td>Qwen3.8-Max</td><td>41</td></tr><tr><td>Kimi K3</td><td>37</td></tr></tbody></table><blockquote><p>来源：第三方实测，核对日 2026-09-14；速度为近似值，会随服务端负载波动。</p></blockquote></section><section><h4>首 Token 延迟（单位：秒（越低越好））<a href="#首-token-延迟单位秒越低越好"><span>#</span></a></h4><p>从发出请求到看见第一个字的时间。该项取「最高推理档位」，即先想再答的思考时间都被计入；交互式场景请务必切到低推理档位，数字会下降一个数量级。</p>

<table><thead><tr><th>平台</th><th>数值</th></tr></thead><tbody><tr><td>MiniMax M3</td><td>0.83</td></tr><tr><td>DeepSeek V4.1 Flash</td><td>0.92</td></tr><tr><td>Qwen3.8-Max</td><td>1.80</td></tr><tr><td>Kimi K3</td><td>2.99</td></tr><tr><td>Gemini 3.1 Pro</td><td>24.48</td></tr><tr><td>Claude Opus 5</td><td>36.03</td></tr><tr><td>Grok 4.6</td><td>38.01</td></tr><tr><td>GPT-5.6 Sol</td><td>124.83</td></tr></tbody></table><blockquote><p>来源：第三方实测，核对日 2026-09-14。</p></blockquote></section><section><h4>成本曲线 月成本曲线（按 4 : 1 的输入 / 输出比例估算）<a href="#成本曲线-月成本曲线按-4--1-的输入--输出比例估算"><span>#</span></a></h4><p>用量越大，价差被放大的倍数越惊人：月用量 <strong>1000 万 Token</strong> 时，Claude Opus 5 约 <strong>$90</strong>、DeepSeek V4.1 Flash 约 <strong>$2.4</strong>；月用量涨到 <strong>10 亿 Token</strong>（规模化挂机跑 Agent 的量级），差距拉大到 <strong>$9000 对 $240</strong>。而<strong>缓存命中折扣会把这条绿线再压低一个数量级</strong>——这也是「跑 Agent 该选谁」的关键论据。</p><p><strong>展开精确数值表（6 家 × 5 档用量，单位：美元 / 月）</strong></p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>月用量</th><th>DeepSeek V4.1 Flash</th><th>GLM-5.3</th><th>Qwen3.8-Max</th><th>Gemini 3.1 Pro</th><th>GPT-5.6 Sol</th><th>Claude Opus 5</th></tr></thead><tbody><tr><td>10 百万</td><td>$2.4</td><td>$20.0</td><td>$28.0</td><td>$40.0</td><td>$72.0</td><td>$90.0</td></tr><tr><td>50 百万</td><td>$12.0</td><td>$100</td><td>$140</td><td>$200</td><td>$360</td><td>$450</td></tr><tr><td>100 百万</td><td>$24.0</td><td>$200</td><td>$280</td><td>$400</td><td>$720</td><td>$900</td></tr><tr><td>500 百万</td><td>$120</td><td>$1,000</td><td>$1,400</td><td>$2,000</td><td>$3,600</td><td>$4,500</td></tr><tr><td>1000 百万</td><td>$240</td><td>$2,000</td><td>$2,800</td><td>$4,000</td><td>$7,200</td><td>$9,000</td></tr></tbody></table><blockquote><p>图注：估算口径：输入占 80%、输出占 20%，<strong>未计入</strong>缓存命中折扣与批量折扣，故实际账单通常低于表中数值。x 轴与 y 轴均为对数刻度，刻度线与数据点使用同一套映射，两端各留出余量以便看清最低与最高两条线。</p></blockquote></section></section><section><h3>DeepSeek V4.1 Flash 专项对比<a href="#deepseek-v41-flash-专项对比"><span>#</span></a></h3><p>它是 DeepSeek 的 Flash 系列新作，也是第一个采用<strong>因果编解码器（CED）架构</strong>的模型：把 40 层 Transformer 拆成 20 层编码器 + 20 层解码器，输入阶段激活 8B 参数、输出阶段激活 16B 参数，配合压缩稀疏注意力与 FP4 KV 缓存，把全局 KV 缓存压到每 Token 约 890 字节——约为上一代 V4-Flash 的四分之一。官方称其在性能、成本、速度与总耗时上全面超越 V4 Pro，并已开始有序下线 V4 Pro。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>规格项</th><th>参数</th><th>说明</th></tr></thead><tbody><tr><td>总参数量</td><td>552B（MoE）</td><td>预填充阶段激活 8B、解码生成阶段激活 16B；另含约 196B 的稀疏条件记忆模块</td></tr><tr><td>架构</td><td>CED 因果编解码器</td><td>20 层编码 + 20 层解码；压缩稀疏注意力 2 + 分层稀疏索引 + FP4 KV 缓存</td></tr><tr><td>上下文</td><td>1,048,576 Token</td><td>约 78.6 万汉字；单次最大输出 384K Token</td></tr><tr><td>多模态</td><td>支持图像输入</td><td>同时支持思考 / 非思考模式、JSON 输出、工具调用、前缀续写与 FIM 补全</td></tr><tr><td>开放程度</td><td>MIT 许可、权重已开放</td><td>权重已在 Hugging Face 发布；但 552B 规模远超消费级 Mac 内存，本地跑不动，走 API 才是正确用法</td></tr><tr><td>API 模型名</td><td><code>deepseek-flash</code></td><td>旧名 <code>deepseek-v4-flash</code> 仍可用，请求会被路由到本模型并按 Flash 价格计费</td></tr><tr><td>V4 Pro 去向</td><td>2026-09-14 12&lt;00&gt; 起路由</td><td>北京时间 9 月 14 日中午起，<code>deepseek-v4-pro</code> 的请求全部转发到 V4.1 Flash，直至未来发布 V4.1 Pro</td></tr></tbody></table><section><h4>价格对比：与当前主流旗舰同一口径（每百万 Token，美元）<a href="#价格对比与当前主流旗舰同一口径每百万-token美元"><span>#</span></a></h4><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>模型</th><th>输入</th><th>输出</th><th>缓存命中读取</th><th>定位</th></tr></thead><tbody><tr><td>DeepSeek V4.1 Flash</td><td>$0.15</td><td>$0.60</td><td><strong>$0.003</strong></td><td>超长上下文 + 极低缓存成本，Agent 友好</td></tr><tr><td>GPT-5.6 Sol</td><td>$4</td><td>$20</td><td>$0.40</td><td>通用旗舰，生态最全</td></tr><tr><td>Claude Opus 5</td><td>$5</td><td>$25</td><td>$0.50</td><td>长文本与代码工程旗舰</td></tr><tr><td>Kimi K3</td><td>$3</td><td>$15</td><td>$0.30</td><td>超长文档与图表识别</td></tr></tbody></table><div><div><div></div><div>为什么「缓存命中价」才是关键</div></div><div><p>跑 Agent 时，系统提示词、工具定义、代码库片段与会话历史会被反复读取。按官方举例：一个 50 万 Token 的可复用前缀被 100 次请求复用，即 5000 万缓存输入 Token——在 V4.1 Flash 上约 <strong>$0.15</strong>，而同等用量在 Kimi K3 约 $15、GPT-5.6 Sol 约 $20、Claude Opus 5 约 $25。<strong>差距接近两个数量级</strong>，这也是它适合长时间挂着跑 Agent 的原因。</p></div></div></section><section><h4>基准成绩（官方公布）<a href="#基准成绩官方公布"><span>#</span></a></h4><blockquote><p>来源：基准测试：公开技术报告与第三方榜单 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>基准</th><th>V4.1 Flash</th><th>对照</th></tr></thead><tbody><tr><td>GPQA Diamond</td><td>90.9</td><td>研究生级科学问答，最高推理档位</td></tr><tr><td>Humanity’s Last Exam</td><td>36.8（纯文本） 63.9（可调用工具）</td><td>通用难题集，带工具后提升明显</td></tr><tr><td>DeepSWE v1.1</td><td>74.2</td><td>略高于 Claude Opus 5（74.0）与 GPT-5.6 Sol（73.0）</td></tr></tbody></table><div><div><div></div><div>两点务必留意</div></div><div><p><strong>一、高峰时段价格翻倍。</strong> 闲时价（上表）适用于非高峰时段；高峰时段为周一至周五 01&lt;00&gt;–04&lt;00&gt; 与 06&lt;00&gt;–10&lt;00&gt; UTC，对应<strong>北京时间 09&lt;00&gt;–12&lt;00&gt; 与 14&lt;00&gt;–18&lt;00&gt;</strong>——正好是国内工作时段，所以整段工作的成本要按 2 倍估算，而缓存命中价（高峰 $0.006）仍然是省钱的核心手段。<strong>二、新架构存在已知边界。</strong> 官方说明稀疏选择误差与近似状态重建可能在极端情况下影响能力，尤其在超长上下文的稀疏检索与缓存续传边界上，仍在补充压力测试。</p></div></div><div><div><div></div><div>读表提示</div></div><div><p>API 费用随用量线性增长，订阅费为固定支出——两者的取舍见<a href="#s5">本部分第 3 节</a>。表中除 DeepSeek V4.1 Flash 为新近公开资料外，其余价格与档位沿用原文数据；全部条目以 2026-09-14 为准，会随时调整，请以厂商官网为准。</p></div></div></section></section></section>
<section><h2>各平台适合谁、擅长什么<a href="#各平台适合谁擅长什么"><span>#</span></a></h2><p>按「谁适合用」与「最擅长什么」两条线，快速定位该选哪家。卡片中的模型名与<a href="#s3">本部分第 1 节</a>保持同一口径（核对日 2026-09-14）。</p><section><h3>按需求找平台<a href="#按需求找平台"><span>#</span></a></h3><p>先说你最常干的事，再落到具体平台。每个需求给出<strong>首选与备选</strong>，并同时写明「要留意」的部分——没有一家是全能选手。</p><section><h4>读长文档 / 写论文<a href="#读长文档--写论文"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：价格：各平台官网公开价 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 Kimi K3</td><td>超长文档阅读与总结，整本书、几十篇论文可一次丢入；PDF 图表与公式识别准。</td><td>1M 上下文，但输出价 $15 / 百万，长回答成本偏高</td></tr><tr><td>备选 Claude Opus 5</td><td>长文本严谨推理，合同、财报、法律文书分析稳。</td><td>单价最高，适合项目制而非日常刷量</td></tr><tr><td>备选 DeepSeek V4.1 Flash</td><td>1M 上下文 + 缓存命中价 $0.003，批量读同一批资料时最省。</td><td>极端长文末端的召回质量仍需自己实测</td></tr></tbody></table></section><section><h4>编程与代码工程<a href="#编程与代码工程"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：基准测试：公开技术报告与第三方榜单 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 Claude Opus 5</td><td>代码工程能力极强，配合 Claude Code 可端到端交付。</td><td>Claude Code 是独立产品，需单独装</td></tr><tr><td>备选 DeepSeek V4.1 Flash</td><td>DeepSWE v1.1 得分 74.2，当前公开榜单第一，且单价最低。</td><td>复杂重构仍建议人工复核</td></tr><tr><td>备选 GPT-5.6 Sol</td><td>生态最全，插件与 Agent 工具链最完善。</td><td>首 Token 延迟最高（124.83s，最高推理档）</td></tr></tbody></table></section><section><h4>中文写作与日常办公<a href="#中文写作与日常办公"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：价格：各平台官网公开价 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 豆包 Seed-2.1-Pro</td><td>中文理解与国内生活场景适配最好，国内访问速度快。</td><td>上下文 256K，是十家里最小的</td></tr><tr><td>备选 Qwen3.8-Max</td><td>综合均衡、企业级稳定，阿里云生态集成顺。</td><td>输出价 $6 / 百万，中档偏上</td></tr><tr><td>备选 DeepSeek V4.1 Flash</td><td>中文论文润色、数学推理强，成本极低。</td><td>高峰时段价格翻倍，注意错峰</td></tr></tbody></table></section><section><h4>多模态（图 / 视频 / 语音）<a href="#多模态图--视频--语音"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 Gemini 3.1 Pro</td><td>原生多模态架构，视频理解领先，Workspace 深度集成。</td><td>发布较早，纯文本推理分数偏低</td></tr><tr><td>备选 豆包 Seed-2.1-Pro</td><td>图片、视频、语音能力全面，国内速度好。</td><td>部分能力需走火山方舟特定接口</td></tr><tr><td>备选 MiniMax M3</td><td>同价位里语音与视频生成能力突出，单价极低。</td><td>文本推理不是它的强项</td></tr></tbody></table></section><section><h4>极致省成本<a href="#极致省成本"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 DeepSeek V4.1 Flash</td><td>输入 $0.15 / 输出 $0.60，缓存命中 $0.003，Agent 场景无人能敌。</td><td>高峰时段（北京时间 09–12、14–18）翻倍</td></tr><tr><td>备选 MiniMax M3</td><td>输入 $0.30 / 输出 $1.20，是主流旗舰的十分之一量级。</td><td>未公开缓存命中价</td></tr><tr><td>备选 GLM-5.3</td><td>开源生态完善，可本地部署进一步压掉边际成本。</td><td>自建要算电费与运维</td></tr></tbody></table></section><section><h4>实时信息与舆情<a href="#实时信息与舆情"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 Grok 4.6</td><td>实时检索与热点追踪，与 X 平台生态深度联动。</td><td>上下文 500K，弱于头部</td></tr><tr><td>备选 GPT-5.6 Sol</td><td>综合推理最强兜底，可自行组合联网工具。</td><td>自带实时性弱于 Grok</td></tr></tbody></table></section><section><h4>私有化 / 本地部署<a href="#私有化--本地部署"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 GLM-5.3</td><td>开源可微调，支持私有化部署，数据安全可控。</td><td>需要自己承担运维</td></tr><tr><td>备选 Qwen3.8-Max</td><td>开源模型生态完善，本地与云上可同一套代码。</td><td>本地小尺寸版本能力会下降</td></tr></tbody></table></section><section><h4>企业级稳定与生态<a href="#企业级稳定与生态"><span>#</span></a></h4><p>这一需求下值得先试的平台，按推荐顺序排列：</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>平台</th><th>为什么选它</th><th>要留意</th></tr></thead><tbody><tr><td>首选 Qwen3.8-Max</td><td>企业级 SLA 与阿里云服务深度集成，稳定性优先。</td><td>创新速度不如海外旗舰</td></tr><tr><td>备选 GPT-5.6 Sol</td><td>插件与 Agent 生态最丰富，工具链最完善。</td><td>国内直连需自备通道</td></tr><tr><td>备选 Claude Opus 5</td><td>长文本 + 代码工程双强，适合交付型团队。</td><td>价格最高一档</td></tr></tbody></table></section></section><section><h3>平台档案<a href="#平台档案"><span>#</span></a></h3><p>下面按平台逐一给出完整画像：适合谁、最擅长什么、控制台入口。</p><section><h4>🌙 <a href="https://www.kimi.com" target="_blank">Kimi K3</a><a href="#-kimi-k3"><span>#</span></a></h4><blockquote><p>月之暗面 · <a href="https://platform.moonshot.cn" target="_blank">API 控制台</a></p></blockquote><p><strong>适合：</strong> 科研人员、研究生、文献工作者，以及需要批量处理长文档的人。</p><p><strong>最擅长：</strong></p><ul>
<li>超长文档阅读与总结，整本书 / 几十篇论文可直接丢入</li>
<li>PDF 图表、公式、数据精准识别与提取</li>
<li>文献综述、对比分析、研究方法梳理</li>
</ul></section><section><h4>🔮 <a href="https://www.deepseek.com" target="_blank">DeepSeek V4.1 Flash</a><a href="#-deepseek-v41-flash"><span>#</span></a></h4><blockquote><p>深度求索 · 2026-09-10 发布 · <a href="https://platform.deepseek.com" target="_blank">API 控制台</a> ｜ <a href="https://api-docs.deepseek.com" target="_blank">API 文档</a></p></blockquote><p><strong>适合：</strong> 学生、中文写作者、程序员、预算敏感的科研用户，以及需要超长上下文又在意成本的团队。</p><p><strong>最擅长：</strong></p><ul>
<li>超长上下文：100 万 Token（约 78.6 万汉字），整本书或整套文档可一次丢入</li>
<li>成本极低：闲时输入 ¥1.08 / 百万 Token，缓存命中读取仅 ¥0.02 / 百万</li>
<li>中文论文润色、数学推理、代码生成，理工科友好，DeepSWE v1.1 得分 74.2</li>
<li>原生支持图像输入与工具调用，适合长时间跑 Agent 流水线</li>
</ul></section><section><h4>🤖 <a href="https://openai.com" target="_blank">OpenAI / ChatGPT</a><a href="#-openai--chatgpt"><span>#</span></a></h4><blockquote><p>GPT-5.6 Sol · <a href="https://platform.openai.com" target="_blank">API 控制台</a></p></blockquote><p><strong>适合：</strong> 开发者、重度通用用户、需要插件生态、追求稳定性的人。</p><p><strong>最擅长：</strong></p><ul>
<li>通用推理、多模态处理、复杂综合任务兜底</li>
<li>插件与 Agent 生态最丰富，工具链最完善</li>
<li>多语言、跨领域知识覆盖面最广</li>
</ul></section><section><h4>🧠 <a href="https://claude.com" target="_blank">Anthropic Claude</a><a href="#-anthropic-claude"><span>#</span></a></h4><blockquote><p>Claude Opus 5 / Claude Code · <a href="https://console.anthropic.com" target="_blank">API 控制台</a></p></blockquote><p><strong>适合：</strong> 程序员、法律与金融从业者、长文本处理专业人士。</p><p><strong>最擅长：</strong></p><ul>
<li>超长上下文严谨推理，代码工程能力极强</li>
<li>Claude Code 终端自主开发，端到端交付任务</li>
<li>合同、财报、法律文书等专业长文档分析</li>
</ul></section><section><h4>💎 <a href="https://gemini.google.com" target="_blank">Google Gemini</a><a href="#-google-gemini"><span>#</span></a></h4><blockquote><p>Gemini 3.1 Pro · <a href="https://aistudio.google.com" target="_blank">AI Studio</a></p></blockquote><p><strong>适合：</strong> 谷歌生态用户、有多模态需求者、科研工作者。</p><p><strong>最擅长：</strong></p><ul>
<li>原生多模态架构，视频理解领先</li>
<li>Google Workspace 深度集成，办公协同顺畅</li>
<li>百万级超长上下文，适合大项目分析</li>
</ul></section><section><h4>🫘 <a href="https://www.doubao.com" target="_blank">字节跳动 豆包</a><a href="#-字节跳动-豆包"><span>#</span></a></h4><blockquote><p>Doubao-Seed-2.1-Pro · <a href="https://console.volcengine.com/ark" target="_blank">火山方舟控制台</a></p></blockquote><p><strong>适合：</strong> 国内普通用户、内容创作者、中文办公人群。</p><p><strong>最擅长：</strong></p><ul>
<li>中文理解与生成，国内生活场景适配最好</li>
<li>多模态生成，图片、视频、语音能力全面</li>
<li>国内访问速度快，稳定不卡顿</li>
</ul></section><section><h4>🐑 <a href="https://www.tongyi.com" target="_blank">阿里云 通义千问</a><a href="#-阿里云-通义千问"><span>#</span></a></h4><blockquote><p>Qwen3.8-Max · <a href="https://dashscope.console.aliyun.com" target="_blank">百炼控制台</a></p></blockquote><p><strong>适合：</strong> 企业用户、开发者、阿里云生态用户。</p><p><strong>最擅长：</strong></p><ul>
<li>综合能力均衡，企业级稳定可靠</li>
<li>开源模型生态完善，可本地部署</li>
<li>阿里云服务深度集成</li>
</ul></section><section><h4>🌟 <a href="https://bigmodel.cn" target="_blank">智谱 AI GLM</a><a href="#-智谱-ai-glm"><span>#</span></a></h4><blockquote><p>GLM-5.3 · <a href="https://open.bigmodel.cn" target="_blank">开放平台</a></p></blockquote><p><strong>适合：</strong> 开源开发者，以及有本地化部署需求的企业 / 个人。</p><p><strong>最擅长：</strong></p><ul>
<li>开源模型生态完善，可本地部署、微调</li>
<li>数学推理能力突出，理工科友好</li>
<li>支持私有化部署，数据安全可控</li>
</ul></section><section><h4>🚀 <a href="https://grok.com" target="_blank">Grok（xAI）</a><a href="#-grokxai"><span>#</span></a></h4><blockquote><p>Grok 4.6 · <a href="https://x.ai" target="_blank">xAI 平台</a></p></blockquote><p><strong>适合：</strong> 需要实时信息、社交舆情与口语化表达的人。</p><p><strong>最擅长：</strong></p><ul>
<li>实时信息检索与热点追踪，时效性突出</li>
<li>社交场景与短文本创作，语气自然</li>
<li>与 X 平台生态深度联动</li>
</ul></section><section><h4>🧩 <a href="https://www.minimaxi.com" target="_blank">MiniMax</a><a href="#-minimax"><span>#</span></a></h4><blockquote><p>MiniMax M3 · <a href="https://platform.minimaxi.com" target="_blank">开放平台</a></p></blockquote><p><strong>适合：</strong> 预算极紧、又需要长上下文与多模态输出的个人与小团队。</p><p><strong>最擅长：</strong></p><ul>
<li>单价极低，输入价约为主流旗舰的 1/10</li>
<li>中文长文本处理，百万级上下文</li>
<li>语音与视频生成能力在同价位中突出</li>
</ul></section></section><section><h3>自己跑一遍再选型：A/B 测评模板<a href="#自己跑一遍再选型ab-测评模板"><span>#</span></a></h3><p>前面所有维度都是<strong>别人测出来的</strong>。真正决定选谁，要用你自己的任务跑一遍——同一批输入、同一份 prompt，只换模型。下面是一份能直接改的最小模板。</p>

<table><thead><tr><th>要记录的字段</th><th>怎么取</th><th>为什么值得记</th></tr></thead><tbody><tr><td>是否通过</td><td>用规则或人工给每条输出打 0 / 1（能自动校验的用断言，不能的抽样人工看）</td><td>这是唯一真正重要的指标：<strong>通过率决定这套流程能不能上线</strong></td></tr><tr><td>首 Token 延迟</td><td>发起请求到收到第一个字的时间</td><td>交互式场景的体感上限；批量场景可以忽略</td></tr><tr><td>总耗时</td><td>从发起到收完</td><td>换算成「每小时能处理多少条」</td></tr><tr><td>输入 / 输出 token</td><td>响应里的 usage 字段</td><td>乘上单价就是单条成本，能直接对上<a href="/posts/mac-api-02-models/">成本曲线</a></td></tr><tr><td>失败与重试次数</td><td>记录错误码与重试轮数</td><td>稳定性差一个数量级，运维成本差一个数量级</td></tr><tr><td>人工接管次数</td><td>统计「你必须动手改才可用」的比例</td><td>这是隐形成本的大头，也是便宜模型最容易踩的坑</td></tr></tbody></table><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># ab_test.py：同一批任务打 3 家，输出一张可对比的 CSV</span></div></div><div><div><div>2</div></div><div><span>import csv, os, time</span></div></div><div><div><div>3</div></div><div><span>from providers import build_client          # 自己封一层，屏蔽各家 SDK 差异</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>CASES = [line.strip() for line in open("cases.txt", encoding="utf-8") if line.strip()]</span></div></div><div><div><div>6</div></div><div><span>MODELS = ["deepseek-v4.1-flash", "gpt-5.6-sol", "claude-opus-5"]</span></div></div><div><div><div>7</div></div><div><span>ROWS = []</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span>for name in MODELS:</span></div></div><div><div><div>10</div></div><div><span><span>    </span></span><span>client = build_client(name)</span></div></div><div><div><div>11</div></div><div><span><span>    </span></span><span>for i, case in enumerate(CASES, 1):</span></div></div><div><div><div>12</div></div><div><span><span>        </span></span><span>t0 = time.time(); first = None; usage = {}</span></div></div><div><div><div>13</div></div><div><span><span>        </span></span><span>try:</span></div></div><div><div><div>14</div></div><div><span><span>            </span></span><span>for chunk in client.stream(case):</span></div></div><div><div><div>15</div></div><div><span><span>                </span></span><span>if first is None:</span></div></div><div><div><div>16</div></div><div><span><span>                    </span></span><span>first = time.time() - t0</span></div></div><div><div><div>17</div></div><div><span><span>                </span></span><span>usage = chunk.usage or usage</span></div></div><div><div><div>18</div></div><div><span><span>            </span></span><span>ok = verify(case, chunk.text)          # 自动校验，返回 0/1</span></div></div><div><div><div>19</div></div><div><span><span>        </span></span><span>except Exception as e:</span></div></div><div><div><div>20</div></div><div><span><span>            </span></span><span>ok, first = 0, None</span></div></div><div><div><div>21</div></div><div><span><span>        </span></span><span>ROWS.append({"model": name, "case": i, "pass": ok,</span></div></div><div><div><div>22</div></div><div><span><span>                     </span></span><span>"ttft": first, "total": time.time() - t0,</span></div></div><div><div><div>23</div></div><div><span><span>                     </span></span><span>"in": usage.get("in"), "out": usage.get("out")})</span></div></div><div><div><div>24</div></div><div>
</div></div><div><div><div>25</div></div><div><span>with open("result.csv", "w", newline="", encoding="utf-8") as f:</span></div></div><div><div><div>26</div></div><div><span><span>    </span></span><span>w = csv.DictWriter(f, fieldnames=ROWS[0].keys()); w.writeheader(); w.writerows(ROWS)</span></div></div><div><div><div>27</div></div><div>
</div></div><div><div><div>28</div></div><div><span># 汇总：通过率 / 平均耗时 / 单条成本</span></div></div><div><div><div>29</div></div><div><span>for name in MODELS:</span></div></div><div><div><div>30</div></div><div><span><span>    </span></span><span>r = [x for x in ROWS if x["model"] == name]</span></div></div><div><div><div>31</div></div><div><span><span>    </span></span><span>pass_rate = sum(x["pass"] for x in r) / len(r)</span></div></div><div><div><div>32</div></div><div><span><span>    </span></span><span>print(f"{name}: 通过率 {pass_rate:.0%}"</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p><strong>口径</strong>：样本量建议<strong>至少 30 条</strong>真实任务，且要覆盖你日常的难点（不是挑最简单的例子）；低于 20 条时通过率的置信区间会宽到没有区分度。多跑一轮换一批输入的结论，比在同一批上反复调 prompt 更可靠。<strong>「最强」「最擅长」「最适合」这类判断都只是在这套测评下的相对结论，不构成对任何平台的绝对评价。</strong></p><p><strong>本节口径</strong>：一、「按需求找平台」里的<strong>首选 / 备选</strong>是依据本页 1.2 的八个维度与本页表格中的能力描述综合排序的结果，<strong>不是评测结论</strong>，同档位平台互换通常也不会出错。二、「平台档案」里的<strong>一句话定位 / 最强项 / 最适合 / 要留意</strong>是编辑归纳，来源为各平台官方文档与公开评测，核对日 2026-09-14；这类判断带主观成分，<strong>请以你自己的任务实测为准</strong>（可用 2.3 的 A/B 模板）。</p></section></section>
<section><h2>订阅还是 API：分平台选购指南<a href="#订阅还是-api分平台选购指南"><span>#</span></a></h2><p>判断标准只有两条：<strong>用量是否稳定</strong>、<strong>是给自己用还是给程序用</strong>。</p><div><div><div></div><div>一句话通用规则</div></div><div><p><strong>选订阅：</strong> 每天都用、用量稳定且偏大，主要是手动聊天 / 写代码 / 日常答疑。<strong>选 API：</strong> 用量波动大、需要批量处理文档数据、跑 Agent 自动化、接入自己的程序。</p></div></div><section><h3>分平台对照<a href="#分平台对照"><span>#</span></a></h3><p>判断标准只有两条：<strong>用量是否稳定</strong>、<strong>是给自己用还是给程序用</strong>。下面按平台逐个对照。</p><section><h4>DeepSeek V4.1 Flash<a href="#deepseek-v41-flash"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅"><span>#</span></a></h4><p>每天都用、月用量稳定在 300 万 Token 以上；主要手动聊天、写代码、日常答疑。注意高峰期（北京时间 09&lt;00&gt;–12&lt;00&gt;、14&lt;00&gt;–18&lt;00&gt;）API 价格翻倍，重度白天使用者可考虑订阅</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api"><span>#</span></a></h4><p>用量波动大、批量处理文档 / 数据、跑 Agent 自动化、接入自己的程序；<strong>月用量低于 200 万 Token 时 API 便宜很多</strong>，且系统提示词与工具定义被反复读取时缓存命中价仅 ¥0.02 / 百万，跑 Agent 的成本优势最大</p></section><section><h4>ChatGPT（OpenAI）<a href="#chatgptopenai"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-1"><span>#</span></a></h4><p>日常高频通用场景，需要插件、GPTs、高级语音视频功能；重度每日使用者</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-1"><span>#</span></a></h4><p>开发应用、自动化工作流、批量处理、需要高并发调用；用量少的时候更划算</p></section><section><h4>Claude（Anthropic）<a href="#claudeanthropic"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-2"><span>#</span></a></h4><p>天天读长文档、写代码、用 Claude Code；每月稳定高用量</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-2"><span>#</span></a></h4><p>批量长文档处理、项目制工作流、接入第三方客户端；用量波动大</p></section><section><h4>Google Gemini<a href="#google-gemini"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-3"><span>#</span></a></h4><p>谷歌全家桶用户、日常多模态需求、需要 Gemini Advanced 完整功能</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-3"><span>#</span></a></h4><p>批量多模态处理、视频理解、谷歌云工作流；用量灵活</p></section><section><h4>Kimi（月之暗面）<a href="#kimi月之暗面"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-4"><span>#</span></a></h4><p>科研人员每天读论文、重度长文档用户；持续高频使用</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-4"><span>#</span></a></h4><p>阶段性批量处理文献、做文献综述、自动化解析 PDF；<strong>不用时零成本</strong></p></section><section><h4>字节豆包<a href="#字节豆包"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-5"><span>#</span></a></h4><p>国内日常办公、内容创作、经常用专家模式；固定月费省心</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-5"><span>#</span></a></h4><p>批量内容生产、电商客服、自动化运营；接入自己的业务系统</p></section><section><h4>通义千问（阿里云）<a href="#通义千问阿里云"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-6"><span>#</span></a></h4><p>阿里云用户、企业日常办公、用量稳定</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-6"><span>#</span></a></h4><p>企业级集成、工作流自动化、结合云服务部署；按量计费更灵活</p></section><section><h4>智谱 GLM<a href="#智谱-glm"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-7"><span>#</span></a></h4><p>日常高频使用、数学推理、需要完整模型权限</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-7"><span>#</span></a></h4><p>开发者、本地部署 + 云端混合、定制化业务集成；开源生态适配</p></section><section><h4>Grok（xAI）<a href="#grokxai"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-8"><span>#</span></a></h4><p>需要实时信息与社交舆情、且习惯 X 平台生态的重度用户</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-8"><span>#</span></a></h4><p>把实时检索接进自动化流程、做舆情监控与热点选题；用量弹性大</p></section><section><h4>MiniMax<a href="#minimax"><span>#</span></a></h4><p>同一家平台，「订订阅」与「走 API」分别适合什么人：</p></section><section><h4>✅ 适合选订阅<a href="#-适合选订阅-9"><span>#</span></a></h4><p>预算有限、以中文长文本与音视频生成为主的个人用户</p></section><section><h4>⚡ 适合选 API<a href="#-适合选-api-9"><span>#</span></a></h4><p>大批量低价推理、长文档处理、语音与视频生成流水线</p></section></section></section>
<section><h2>Claude Code 专项说明<a href="#claude-code-专项说明"><span>#</span></a></h2><p>它不是独立 API，而是 Anthropic 官方推出的终端 AI 编程助手，一个基于 Claude API 的客户端 Agent 工具。官网 <a href="https://claude.com/product/claude-code" target="_blank">claude.com/product/claude-code</a> · 文档 <a href="https://docs.claude.com/en/docs/claude-code/overview" target="_blank">docs.claude.com/claude-code</a></p><section><h4>核心能力<a href="#核心能力"><span>#</span></a></h4><ul>
<li>直接读取整个代码库，理解项目架构</li>
<li>自主执行多步开发任务，端到端交付</li>
<li>原生支持终端命令、Git 操作、运行测试</li>
<li>200K 上下文，可覆盖中型完整项目</li>
</ul></section><section><h4>价格与横向对比<a href="#价格与横向对比"><span>#</span></a></h4><ul>
<li>Max 订阅 $20 / 月，含额度，超量部分走 API 计费</li>
<li>也可以绑定自己的 API Key，按量付费</li>
<li>对比 Cursor：更擅长自主任务，定位偏「工程助理」</li>
<li>对比 Codex：纯终端形态，更极客，支持多模型</li>
</ul><blockquote><p><strong>接下来</strong>：模型选完，还有一条完全不同的路线：<strong>把模型搬到本机跑</strong>。它换来的不是更强的能力，而是「数据不出门」与「零边际成本」——代价是硬件投入与运维时间。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-03-local/</id>
      <title type="text">本地部署：Ollama 与 Mac 硬件配置全解</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-03-local/"/>
      <summary type="text">什么时候值得本地跑模型、什么时候别折腾；Ollama 跑通第一个本地模型；MacBook Air 全系与 Pro 五系列选型与内存带宽排行。</summary>
      <content type="html"><![CDATA[<section><h2>本地部署：什么时候值得，什么时候别折腾<a href="#本地部署什么时候值得什么时候别折腾"><span>#</span></a></h2><p>如果不想把数据发出去，或者想彻底免掉边际成本，Mac 上该怎么跑本地模型？本页给出三件事的判断依据：工具怎么选、硬件门槛在哪、参数档位怎么对。</p></section>
<section><h2>本地大模型工具对比<a href="#本地大模型工具对比"><span>#</span></a></h2><p>Mac 上最常用的 5 个本地模型运行工具，从零基础到极客向全覆盖。<strong>提示：本地部署不消耗 Token，但出字速度取决于电脑的内存带宽与内存容量；绝大多数人直接用 API 性价比更高。</strong></p><section><h3>一句话选型与工具规格<a href="#一句话选型与工具规格"><span>#</span></a></h3><div><div><div></div><div>先记住一件事：本地部署不消耗 Token</div></div><div><p>本地模型跑在你自己这台机器上，请求不经过厂商的 API，因此<strong>不产生任何 Token 计费</strong>——成本只剩已经买下的硬件与电费， 用量再大也不会多花一分钱。代价从「单价」转移到「速度」：出字快不快取决于<strong>内存带宽</strong>（每秒能把模型权重搬进计算单元的次数，也就是 token/s 的上限）， 能跑多大的模型取决于<strong>内存容量</strong>；模型常驻内存之后，其余软件可用的内存也会相应减少。所以判断要不要本地部署，看的不是价钱表，而是<strong>这两项硬件指标与你的用量是否匹配</strong>——具体对照见下一节的硬件表格。</p></div></div><p>下面先给「一句话选型」，再按工具逐个看规格：星标反映关注度，真正该看的是「Mac 原生优化、是否需要图形界面、能不能对接 VS Code」这三项。</p><section><h4>🏆 新手首选 <a href="https://lmstudio.ai" target="_blank">LM Studio</a><a href="#-新手首选-lm-studio"><span>#</span></a></h4><p>零门槛图形化</p></section><section><h4>🏆 开发者首选 <a href="https://ollama.com" target="_blank">Ollama</a><a href="#-开发者首选-ollama"><span>#</span></a></h4><p>生态好、对接方便</p></section><section><h4>🏆 极致性能 <a href="https://github.com/ggml-org/llama.cpp" target="_blank">llama.cpp</a><a href="#-极致性能-llamacpp"><span>#</span></a></h4><p>榨干全部性能</p></section><section><h4>🏆 批量推理 <a href="https://github.com/vllm-project/vllm" target="_blank">vLLM</a><a href="#-批量推理-vllm"><span>#</span></a></h4><p>需要 N 卡服务器</p></section><section><h4>🏆 综合体验 <a href="https://jan.ai" target="_blank">Jan</a><a href="#-综合体验-jan"><span>#</span></a></h4><p>界面最好用</p></section><section><h4>Ollama<a href="#ollama"><span>#</span></a></h4><p>开箱即用，模型库最全；自动优化，生态最完善</p><blockquote><p>来源：星标与仓库状态：GitHub API 实测 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>GitHub 星标</th><th>★ 180.8k</th></tr></thead><tbody><tr><td>Mac 原生优化</td><td>✅ 全系列 Metal 优化</td></tr><tr><td>图形界面</td><td>❌ 主命令行</td></tr><tr><td>命令行</td><td>✅</td></tr><tr><td>一键部署</td><td>✅ 一行命令启动</td></tr><tr><td>VS Code 对接</td><td>✅ 插件丰富</td></tr><tr><td>适合人群</td><td>开发者、日常使用</td></tr></tbody></table></section><section><h4>LM Studio<a href="#lm-studio"><span>#</span></a></h4><p>纯图形化操作；搜索下载模型一键运行</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>GitHub 星标</th><th>闭源软件</th></tr></thead><tbody><tr><td>Mac 原生优化</td><td>✅ Apple Silicon 专属</td></tr><tr><td>图形界面</td><td>✅ 非常直观</td></tr><tr><td>命令行</td><td>✅ 可选</td></tr><tr><td>一键部署</td><td>✅ 点点就用</td></tr><tr><td>VS Code 对接</td><td>✅ 内置对接</td></tr><tr><td>适合人群</td><td>普通用户、不想敲命令</td></tr></tbody></table></section><section><h4>llama.cpp<a href="#llamacpp"><span>#</span></a></h4><p>性能天花板，所有参数可调；是绝大多数工具的底层引擎</p><blockquote><p>来源：星标与仓库状态：GitHub API 实测 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>GitHub 星标</th><th>★ 128.1k</th></tr></thead><tbody><tr><td>Mac 原生优化</td><td>✅ 底层 Metal 优化</td></tr><tr><td>图形界面</td><td>❌ 纯命令行</td></tr><tr><td>命令行</td><td>✅</td></tr><tr><td>一键部署</td><td>❌ 全手动配置</td></tr><tr><td>VS Code 对接</td><td>✅ 自行对接</td></tr><tr><td>适合人群</td><td>极客、底层调参</td></tr></tbody></table></section><section><h4>vLLM<a href="#vllm"><span>#</span></a></h4><p>高吞吐批量推理；主要面向 NVIDIA GPU，Mac 不推荐</p><blockquote><p>来源：星标与仓库状态：GitHub API 实测 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>GitHub 星标</th><th>★ 91.7k</th></tr></thead><tbody><tr><td>Mac 原生优化</td><td>❌ Mac 支持差</td></tr><tr><td>图形界面</td><td>❌ 命令行</td></tr><tr><td>命令行</td><td>✅</td></tr><tr><td>一键部署</td><td>❌ 部署复杂</td></tr><tr><td>VS Code 对接</td><td>✅ 开发对接</td></tr><tr><td>适合人群</td><td>科研、批量推理</td></tr></tbody></table></section><section><h4>Jan<a href="#jan"><span>#</span></a></h4><p>本地 + 云端统一管理；插件生态好，界面最佳</p><blockquote><p>来源：星标与仓库状态：GitHub API 实测 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>GitHub 星标</th><th>★ 44.5k</th></tr></thead><tbody><tr><td>Mac 原生优化</td><td>✅ 全平台适配</td></tr><tr><td>图形界面</td><td>✅ 美观现代</td></tr><tr><td>命令行</td><td>✅</td></tr><tr><td>一键部署</td><td>✅ 一键安装</td></tr><tr><td>VS Code 对接</td><td>✅ 支持扩展</td></tr><tr><td>适合人群</td><td>追求体验的用户</td></tr></tbody></table></section></section><section><h3>实操：用 Ollama 跑通第一个本地模型<a href="#实操用-ollama-跑通第一个本地模型"><span>#</span></a></h3><p>如果你确实想体验本地部署（离线可用、零边际成本、数据不出本机），<strong>Ollama</strong> 是 Mac 上最省事的路径：一行命令装好、一行命令拉模型，并在本地提供<strong>兼容 OpenAI 格式</strong>的接口，脚本几乎不用改代码就能在「本地免费」与「云端更强」之间切换。</p></section><section><h3>第 1 步 · 安装<a href="#第-1-步--安装"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 方式一：Homebrew（推荐，便于后续升级）</span></div></div><div><div><div>2</div></div><div><span>brew install ollama</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span># 方式二：官网下载安装包后拖进「应用程序」</span></div></div><div><div><div>5</div></div><div><span># https://ollama.com</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h3>第 2 步 · 拉取并运行模型<a href="#第-2-步--拉取并运行模型"><span>#</span></a></h3><p>8B 级别的指令模型（Hermes 3 8B、Qwen3-8B、Llama 3.1 8B 等）是 16GB 内存 Mac 的舒适区：量化后约 5GB，对话流畅，512GB 硬盘完全放得下。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>ollama pull hermes3     # 拉取模型，首次约 5GB</span></div></div><div><div><div>2</div></div><div><span>ollama list             # 查看本机已有模型</span></div></div><div><div><div>3</div></div><div><span>ollama run hermes3      # 进入命令行对话，输入 /bye 退出</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div><div></div><div>省内存要点</div></div><div><p>Apple Silicon 是统一内存架构，模型权重与系统共用同一块内存。16GB 机器建议同时只加载一个 7B–8B 模型；若同时开着 Docker 与几十个浏览器标签页，实际可用于模型的显存会被压缩到总内存的 70% 左右。</p></div></div></section><section><h3>第 3 步 · 用 Python 调用（自动化脚本的核心）<a href="#第-3-步--用-python-调用自动化脚本的核心"><span>#</span></a></h3><p>Ollama 在本地 <code>11434</code> 端口提供 HTTP 接口，格式与 OpenAI 兼容，因此只要替换 <code>base_url</code> 就能复用同一套脚本。</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 依赖：uv pip install requests</span></div></div><div><div><div>2</div></div><div><span>import requests</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>def ask_local(prompt: str, model: str = "hermes3") -&gt; str:</span></div></div><div><div><div>5</div></div><div><span><span>    </span></span><span># 调用本地 Ollama 模型，返回纯文本结果</span></div></div><div><div><div>6</div></div><div><span><span>    </span></span><span>r = requests.post(</span></div></div><div><div><div>7</div></div><div><span><span>        </span></span><span>"http://localhost:11434/api/generate",</span></div></div><div><div><div>8</div></div><div><span><span>        </span></span><span>json={"model": model, "prompt": prompt, "stream": False},</span></div></div><div><div><div>9</div></div><div><span><span>        </span></span><span>timeout=300,</span></div></div><div><div><div>10</div></div><div><span><span>    </span></span><span>)</span></div></div><div><div><div>11</div></div><div><span><span>    </span></span><span>r.raise_for_status()</span></div></div><div><div><div>12</div></div><div><span><span>    </span></span><span>return r.json()["response"]</span></div></div><div><div><div>13</div></div><div>
</div></div><div><div><div>14</div></div><div><span>if __name__ == "__main__":</span></div></div><div><div><div>15</div></div><div><span><span>    </span></span><span>print(ask_local("用一句话解释什么是统一内存架构。"))</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section><section><h3>第 4 步 · 函数调用：让模型自己决定动手<a href="#第-4-步--函数调用让模型自己决定动手"><span>#</span></a></h3><p>Hermes 系列以指令跟随与函数调用见长，适合做「模型判断该调哪个工具」的流程：把工具清单以 JSON Schema 形式交给模型，由它决定是否需要抓网页、查表或执行脚本，再由你的代码真正执行。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 把工具描述成 JSON Schema，交给模型判断何时调用</span></div></div><div><div><div>2</div></div><div><span>tools = [{</span></div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>"type": "function",</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>"function": {</span></div></div><div><div><div>5</div></div><div><span><span>        </span></span><span>"name": "fetch_webpage",</span></div></div><div><div><div>6</div></div><div><span><span>        </span></span><span>"description": "抓取指定 URL 的网页正文",</span></div></div><div><div><div>7</div></div><div><span><span>        </span></span><span>"parameters": {</span></div></div><div><div><div>8</div></div><div><span><span>            </span></span><span>"type": "object",</span></div></div><div><div><div>9</div></div><div><span><span>            </span></span><span>"properties": {"url": {"type": "string", "description": "网页地址"}},</span></div></div><div><div><div>10</div></div><div><span><span>            </span></span><span>"required": ["url"],</span></div></div><div><div><div>11</div></div><div><span><span>        </span></span><span>},</span></div></div><div><div><div>12</div></div><div><span><span>    </span></span><span>},</span></div></div><div><div><div>13</div></div><div><span>}]</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h3>第 5 步 · 本地还是云端？按场景二选一<a href="#第-5-步--本地还是云端按场景二选一"><span>#</span></a></h3><p>同一台 Mac，不同场景的答案并不一样。点开你的场景看结论：</p><section><h4>批量洗稿、分类、打标签<a href="#批量洗稿分类打标签"><span>#</span></a></h4><div><div><div></div><div>建议：本地模型</div></div><div><p>量大、质量要求中等，本地零边际成本</p></div></div></section><section><h4>敏感数据（合同、病历、客户资料）<a href="#敏感数据合同病历客户资料"><span>#</span></a></h4><div><div><div></div><div>建议：本地模型</div></div><div><p>数据不出本机，合规压力最小</p></div></div></section><section><h4>离线 / 断网环境<a href="#离线--断网环境"><span>#</span></a></h4><div><div><div></div><div>建议：本地模型</div></div><div><p>不依赖网络可用性</p></div></div></section><section><h4>高质量长文、复杂推理、写代码<a href="#高质量长文复杂推理写代码"><span>#</span></a></h4><div><div><div></div><div>建议：云端 API</div></div><div><p>同价位下云端旗舰的质量仍明显更高</p></div></div></section><section><h4>跑 Agent 长任务、要百万级上下文<a href="#跑-agent-长任务要百万级上下文"><span>#</span></a></h4><div><div><div></div><div>建议：云端 API</div></div><div><p>本地内存装不下，且云端上下文与缓存成本更低</p></div></div><div><div><div></div><div>一个常被忽略的成本</div></div><div><p>本地部署省的是「API 费用」，花的是「电费 + 硬盘 + 你的调试与运维时间」。除非有隐私或离线硬需求，否则对绝大多数人，云端 API 的总成本更低、效果更好。想搭多 Agent 协作流程，可直接从<a href="/posts/mac-api-06-skills/">第六部分「开源能力库」</a>的 Agent 框架切入（<a href="https://github.com/langchain-ai/langchain" target="_blank">LangChain</a>、<a href="https://github.com/langgenius/dify" target="_blank">Dify</a>、<a href="https://github.com/crewAIInc/crewAI" target="_blank">CrewAI</a> 都已收录）。</p></div></div></section></section></section>
<section><h2>Mac 硬件配置全解：Air 全系 + Pro 五系列<a href="#mac-硬件配置全解air-全系--pro-五系列"><span>#</span></a></h2><div><div><div></div><div>核心原理</div></div><div><p>Apple Silicon 采用<strong>统一内存架构（UMA）</strong>，内存与显存共享，不需要把模型从系统内存拷进显存。跑大模型的性能由两个指标决定：<strong>统一内存大小</strong>决定「能装下多大的模型」，<strong>内存带宽</strong>决定「生成有多快（token/s）」。同样 16GB 内存，Pro 芯片的生成速度可以是 Air 的 1.5~2 倍，差别就来自带宽。从 M5 起，Apple 在每个 GPU 核心内都集成了神经加速器（Neural Accelerator），提示词处理与端侧 AI 任务的速度提升明显；但<strong>它加速的是算力，不改变带宽决定生成速度这条规律</strong>。</p></div></div><section><h3>MacBook Air 系列<a href="#macbook-air-系列"><span>#</span></a></h3><p>Air 全系无风扇，长时间满载会降频，更适合间歇使用。当前在售仅有 M5 一代，13 英寸 ¥9,999 起、15 英寸 ¥11,999 起。</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心（可选）</th><th>可选内存</th><th>内存带宽</th><th>可跑模型档位</th><th>实际表现</th></tr></thead><tbody><tr><td>M1</td><td>8 核（4P+4E）</td><td>7 核 / 8 核</td><td>8GB / 16GB</td><td>68.2 GB/s</td><td>7B / 14B（低量化）</td><td>8GB 仅能跑 7B Q4，速度偏慢；16GB 可流畅跑 7B，14B 勉强能用</td></tr><tr><td>M2</td><td>8 核（4P+4E）</td><td>8 核 / 10 核</td><td>8GB / 16GB / 24GB</td><td>100 GB/s</td><td>7B / 14B / 32B（低量化）</td><td>8GB 入门体验；16GB 跑 14B 流畅；24GB 可跑 32B Q4，日常可用</td></tr><tr><td>M3</td><td>8 核（4P+4E）</td><td>8 核 / 10 核</td><td>8GB / 16GB / 24GB</td><td>100 GB/s</td><td>7B / 14B / 32B（低量化）</td><td>带宽与 M2 相同，靠架构改进让同内存下快 20% 左右；24GB 跑 32B 可满足轻度使用</td></tr><tr><td>M4</td><td>10 核（4P+6E）</td><td>8 核 / 10 核</td><td>16GB / 24GB / 32GB</td><td>120 GB/s</td><td>14B / 32B</td><td>10 核 CPU 首次下放 Air；16GB 跑 14B 满血，24GB 跑 32B Q6 流畅</td></tr><tr><td>M5 在售</td><td>10 核（4超级+6能效）</td><td>8 核 / 10 核</td><td>16GB / 24GB / 32GB</td><td>153 GB/s</td><td>14B / 32B</td><td>带宽较 M4 提升 28%，每个 GPU 核心内置神经加速器；32GB 跑 32B Q6 流畅，续航更长</td></tr></tbody></table><p>注：Air 的 M1~M4 机型均已停产，列在此处仅供二手选购参考。</p></section><section><h3>MacBook Pro 系列<a href="#macbook-pro-系列"><span>#</span></a></h3><p>本地跑的模型不按 Token 计费，所以这里比的只有两件事：<strong>内存带宽</strong>决定生成速度，<strong>内存容量</strong>决定能跑多大的模型。下面按 <strong>M5 / M4 / M3 / M2 / M1 五个芯片系列</strong>分组，同一系列的标准版、Pro、Max 放在一张表里对照，而不是按代次把同档位拆散罗列。<strong>记法：</strong> P = 性能核心，E = 能效核心，超级 = 超级核心（M5 起新增）；如「8 核（4P+4E）」即 4 个性能核心加 4 个能效核心。换算口径：Q4 量化、约 8K 上下文；带宽条采用全表统一刻度（以 614 GB/s 为满格），可跨系列直接比较长短。</p><p><strong>按芯片代际查看：</strong><a href="#tab-mbp-m5">M5</a><a href="#tab-mbp-m4">M4</a><a href="#tab-mbp-m3">M3</a><a href="#tab-mbp-m2">M2</a><a href="#tab-mbp-m1">M1</a></p><p>同一代芯片内部又分标准 / Pro / Max 三档，<strong>档位差异（带宽）往往比代际差异更影响跑模型的速度</strong>——所以先选档位，再挑代际。</p><section><h4>M5 系列<a href="#m5-系列"><span>#</span></a></h4></section><section><h4>M5 系列<a href="#m5-系列-1"><span>#</span></a></h4><blockquote><p>现役在售 2026 年 3 月发布 · 14 英寸（M5 / Pro / Max）· 16 英寸（Pro / Max）</p></blockquote><p>M5 系列</p><p>现役在售 2026 年 3 月发布 · 14 英寸（M5 / Pro / Max）· 16 英寸（Pro / Max）</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心</th><th>统一内存</th><th>内存带宽</th><th>可跑模型档位</th><th>定位与实测表现</th></tr></thead><tbody><tr><td>M5标准版14″</td><td>10 核（4超级+6能效）</td><td>10 核</td><td>16 / 24 / 32GB</td><td>153 GB/s</td><td>14B 满血 · 32B Q4</td><td>该系列入门款。带宽较 M4 提升约 28%，且每个 GPU 核心内置神经加速器，提示词处理与本地推理明显加快。</td></tr><tr><td>M5 ProPro14″ / 16″</td><td>15 核（5超级+10 性能） 18 核（6超级+12 性能）</td><td>16 / 20 核</td><td>24 / 48 / 64GB</td><td>307 GB/s</td><td>32B 满血 · 70B Q4</td><td>两档核心数均配 307GB/s。24GB 起步即可跑 32B 满血；升到 48GB 才能舒服地跑 70B Q4。</td></tr><tr><td>M5 MaxMax14″ / 16″</td><td>18 核（6超级+12 性能）</td><td>32 / 40 核</td><td>36 / 48 / 64 / 128GB</td><td>460 GB/s614 GB/s</td><td>70B 满血 · 120B Q4</td><td>32 核 GPU 版 460GB/s、40 核 GPU 版 614GB/s。注意：只有 36GB 机型配 32 核 GPU，选 48GB 以上会强制升到 40 核。</td></tr></tbody></table><p>参考价：14 英寸 ¥15,999 起（M5），16 英寸 ¥24,999 起（M5 Pro）。M5 Pro / M5 Max 机型配<strong>三个雷雳 5</strong>、N1 无线芯片（Wi-Fi 7 + 蓝牙 6）；M5 机型为三个雷雳 4、Wi-Fi 6E + 蓝牙 5.3。</p></section><section><h4>M4 系列<a href="#m4-系列"><span>#</span></a></h4></section><section><h4>M4 系列<a href="#m4-系列-1"><span>#</span></a></h4><blockquote><p>已停产 2024 年 10 月发布 · 14 英寸（M4 / Pro / Max）· 16 英寸（Pro / Max）</p></blockquote><p>M4 系列</p><p>已停产 2024 年 10 月发布 · 14 英寸（M4 / Pro / Max）· 16 英寸（Pro / Max）</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心</th><th>统一内存</th><th>内存带宽</th><th>可跑模型档位</th><th>定位与实测表现</th></tr></thead><tbody><tr><td>M4标准版14″</td><td>10 核（4P+6E）</td><td>10 核</td><td>16 / 24 / 32GB</td><td>120 GB/s</td><td>14B 满血 · 32B Q4</td><td>首次把 10 核 CPU 下放到 Pro 的入门款，带宽比 M3 提升 20%。</td></tr><tr><td>M4 ProPro14″ / 16″</td><td>12 核（8P+4E） 14 核（10P+4E）</td><td>16 / 20 核</td><td>24 / 48GB</td><td>273 GB/s</td><td>32B 满血 · 70B Q4</td><td>本代最值得关注的一档：带宽从 M3 Pro 的 150GB/s 直接拉到 273GB/s，涨了近一倍，是跑大模型性价比的转折点。</td></tr><tr><td>M4 MaxMax14″ / 16″</td><td>14 核（10P+4E） 16 核（12P+4E）</td><td>32 / 40 核</td><td>36 / 48 / 64 / 128GB</td><td>410 GB/s546 GB/s</td><td>70B 满血 · 120B Q4</td><td>32 核 GPU 版 410GB/s、40 核 GPU 版 546GB/s。硬件规格上仍是可买到的第二强。</td></tr></tbody></table><p>与 M5 系列同机身模具，接口同为三个雷雳 5。现已停产，主要在二手与渠道库存中流通；纸面带宽与 M5 系列差距不大，二手价差明显时可作为替代。</p></section><section><h4>M3 系列<a href="#m3-系列"><span>#</span></a></h4></section><section><h4>M3 系列<a href="#m3-系列-1"><span>#</span></a></h4><blockquote><p>已停产 2023 年 10 月发布 · 14 英寸（M3 / Pro / Max）· 16 英寸（Pro / Max）</p></blockquote><p>M3 系列</p><p>已停产 2023 年 10 月发布 · 14 英寸（M3 / Pro / Max）· 16 英寸（Pro / Max）</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心</th><th>统一内存</th><th>内存带宽</th><th>可跑模型档位</th><th>定位与实测表现</th></tr></thead><tbody><tr><td>M3标准版14″</td><td>8 核（4P+4E）</td><td>10 核</td><td>8 / 16 / 24GB</td><td>100 GB/s</td><td>7B 满血 · 14B Q4</td><td>首个 3 nm 世代。14 英寸机身首次提供基础款芯片，但带宽与 M2 持平、内存起步仍为 8GB，跑模型空间很紧。</td></tr><tr><td>M3 ProPro14″ / 16″</td><td>11 核（5P+6E） 12 核（6P+6E）</td><td>14 / 18 核</td><td>18 / 36GB</td><td>150 GB/s</td><td>32B Q4 · 70B 低量化</td><td><strong>⚠ 这一档是全线唯一的“倒车”</strong>：带宽 150GB/s 反而低于上一代 M2 Pro 的 200GB/s，内存上限 36GB 也只比 M2 Pro 的 32GB 多 4GB。目的跑本地大模型，M3 Pro 不如 M2 Pro，甚至不如 M1 Pro（同为 200GB/s）。</td></tr><tr><td>M3 MaxMax14″ / 16″</td><td>14 核（10P+4E） 16 核（12P+4E）</td><td>30 / 40 核</td><td>36 / 48 / 64 / 96 / 128GB</td><td>300 GB/s400 GB/s</td><td>70B 满血 · 120B Q4</td><td>30 核 GPU 版 300GB/s、40 核 GPU 版 400GB/s。96GB 仅 14 核 CPU 版可选，128GB 仅 16 核 CPU 版可选，两者不能同时要。</td></tr></tbody></table><p>同为三雷雳 4 接口。这一代全系带宽相对 M2 系列没有提升，选购二手时务必先看带宽而不是代次。</p></section><section><h4>M2 系列<a href="#m2-系列"><span>#</span></a></h4></section><section><h4>M2 系列<a href="#m2-系列-1"><span>#</span></a></h4><blockquote><p>已停产 14″/16″：2023 年 1 月 · 13″ 标准版：2022 年 6 月 · 14 英寸 / 16 英寸 · 标准版为 13.3 英寸</p></blockquote><p>M2 系列</p><p>已停产 14″/16″：2023 年 1 月 · 13″ 标准版：2022 年 6 月 · 14 英寸 / 16 英寸 · 标准版为 13.3 英寸</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心</th><th>统一内存</th><th>内存带宽</th><th>可跑模型档位</th><th>定位与实测表现</th></tr></thead><tbody><tr><td>M2标准版13.3″</td><td>8 核（4P+4E）</td><td>10 核</td><td>8 / 16 / 24GB</td><td>100 GB/s</td><td>7B 满血 · 14B Q4</td><td>13 英寸机型，2023 年 10 月停产。带宽 100GB/s 是 M1 的 1.47 倍，但内存仍从 8GB 起，实际跑模型体验与 M3 标准版接近。</td></tr><tr><td>M2 ProPro14″ / 16″</td><td>10 核（6P+4E） 12 核（8P+4E）</td><td>16 / 19 核</td><td>16 / 32GB</td><td>200 GB/s</td><td>32B Q4 · 14B 满血</td><td>带宽 200GB/s，与 M1 Pro 持平、高于次代 M3 Pro。二手市场里跑本地模型的“隐形性价比”选项。</td></tr><tr><td>M2 MaxMax14″ / 16″</td><td>12 核（8P+4E）</td><td>30 / 38 核</td><td>32 / 64 / 96GB</td><td>400 GB/s</td><td>70B Q4 · 32B 满血</td><td>两档 GPU 均为 400GB/s。96GB 内存仅 38 核 GPU 版可选，是当时笔记本内存的天花板。</td></tr></tbody></table><p>首发价：14 英寸（M2 Pro）¥15,999 起、16 英寸（M2 Pro）¥19,999 起。接口为三个雷雳 4，HDMI 首次支持 8K 外接显示器。</p></section><section><h4>M1 系列<a href="#m1-系列"><span>#</span></a></h4></section><section><h4>M1 系列<a href="#m1-系列-1"><span>#</span></a></h4><blockquote><p>已停产 14″/16″：2021 年 10 月 · 13″ 标准版：2020 年 11 月 · 14 英寸 / 16 英寸 · 标准版为 13.3 英寸</p></blockquote><p>M1 系列</p><p>已停产 14″/16″：2021 年 10 月 · 13″ 标准版：2020 年 11 月 · 14 英寸 / 16 英寸 · 标准版为 13.3 英寸</p><blockquote><p>来源：硬件规格：Apple 官方规格页 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>芯片</th><th>CPU 核心</th><th>GPU 核心</th><th>统一内存</th><th>内存带宽</th><th>可跑模型档位</th><th>定位与实测表现</th></tr></thead><tbody><tr><td>M1标准版13.3″</td><td>8 核（4P+4E）</td><td>8 核</td><td>8 / 16GB</td><td>68.25 GB/s</td><td>7B Q4（勉强）</td><td>13 英寸机型，2020 年 11 月发布、2022 年 6 月停产。机身有风扇，可长时间满载不降频；但 68.25GB/s 是全线最低带宽，现在只适合跑 7B 级模型。</td></tr><tr><td>M1 ProPro14″ / 16″</td><td>8 核（6P+2E） 10 核（8P+2E）</td><td>14 / 16 核</td><td>16 / 32GB</td><td>200 GB/s</td><td>32B Q4 · 14B 满血</td><td>2021 年发布时就是 200GB/s，四年后仍高于 M3 Pro。32GB 版本跑 32B Q4 依然可用。</td></tr><tr><td>M1 MaxMax14″ / 16″</td><td>10 核（8P+2E）</td><td>24 / 32 核</td><td>32 / 64GB</td><td>400 GB/s</td><td>70B Q4 · 32B 满血</td><td>400GB/s 与 M2 Max、M3 Max 的 40 核版同档。二手价低时，是跑 70B Q4 的最低门槛方案。</td></tr></tbody></table><p>接口为三个雷雳 4。这一代的带宽水平（Pro 200 / Max 400）在四年间被 M3 Pro 反超又落后、被 M4 Pro 拉开，是判断“代次不等于性能”的最佳例子。</p><div><div><div></div><div>两个容易踩的坑</div></div><div><p><strong>① 标准版的 8GB 内存不要买来跑模型。</strong> M1 / M2 / M3 标准版起步都是 8GB，装完系统后剩不下多少，7B 模型也只能勉强塞进 Q4。<strong>② 内存是焊死的，买时定终身。</strong> 统一内存不可后期升级，选配置时必须一次到位——想跑 70B 就至少 48GB，想跑 120B 就至少 64GB。<strong>③ Ultra 系列不在 MacBook Pro 上。</strong> M1 Ultra / M2 Ultra / M3 Ultra 只用于 Mac Studio 与 Mac Pro，笔记本产品线从未搭载，选购时不要被混淆。</p></div></div></section></section><section><h3>同档位跨代速查<a href="#同档位跨代速查"><span>#</span></a></h3><p>把三档芯片按代次拉通，纵向比同一档位四年的变化。带宽单位 GB/s，「上限」指该档位可选的最大统一内存。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>档位</th><th>M1 系列</th><th>M2 系列</th><th>M3 系列</th><th>M4 系列</th><th>M5 系列</th></tr></thead><tbody><tr><td>标准版</td><td>68.25上限 16GB</td><td>100上限 24GB</td><td>100上限 24GB</td><td>120上限 32GB</td><td>153上限 32GB</td></tr><tr><td>Pro</td><td>200上限 32GB</td><td>200上限 32GB</td><td>150上限 36GB</td><td>273上限 48GB</td><td>307上限 64GB</td></tr><tr><td>Max</td><td>400上限 64GB</td><td>400上限 96GB</td><td>300 – 400上限 128GB</td><td>410 – 546上限 128GB</td><td>460 – 614上限 128GB</td></tr></tbody></table><div><div><div></div><div>这张表最该记住的两件事</div></div><div><p><strong>① 代次新 ≠ 带宽高。</strong> M3 Pro 的 150GB/s 低于 M2 Pro 与 M1 Pro 的 200GB/s——整个 M3 世代在统一内存带宽上没有进步。买二手 Mac 跑本地模型，先看带宽数字，再看是第几代。<strong>② 档位跨度远大于代次跨度。</strong> 同为 M5 系列，Max 的 614GB/s 是标准版 153GB/s 的 4 倍；而标准版从 M1 到 M5 四年只涨了 2.2 倍。<strong>预算有限时，升档位比等新一代更划算。</strong></p></div></div></section><section><h3>内存带宽排行<a href="#内存带宽排行"><span>#</span></a></h3><p>带宽直接决定生成速度（token/s），是跑本地大模型最硬的指标。下图把全部 18 种配置按带宽从高到低排列，颜色区分档位。</p><p>标准版 Pro Max 单位：GB/s</p>

<table><thead><tr><th>配置</th><th>带宽（GB/s）</th></tr></thead><tbody><tr><td>M5 Max · 40 核 GPU</td><td>614</td></tr><tr><td>M4 Max · 40 核 GPU</td><td>546</td></tr><tr><td>M5 Max · 32 核 GPU</td><td>460</td></tr><tr><td>M4 Max · 32 核 GPU</td><td>410</td></tr><tr><td>M1 Max</td><td>400</td></tr><tr><td>M2 Max</td><td>400</td></tr><tr><td>M3 Max · 40 核 GPU</td><td>400</td></tr><tr><td>M5 Pro</td><td>307</td></tr><tr><td>M3 Max · 30 核 GPU</td><td>300</td></tr><tr><td>M4 Pro</td><td>273</td></tr><tr><td>M1 Pro</td><td>200</td></tr><tr><td>M2 Pro</td><td>200</td></tr><tr><td>M5</td><td>153</td></tr><tr><td>M3 Pro</td><td>150</td></tr><tr><td>M4</td><td>120</td></tr><tr><td>M2</td><td>100</td></tr><tr><td>M3</td><td>100</td></tr><tr><td>M1</td><td>68.25</td></tr></tbody></table><div><div><div></div><div>怎么用这张图</div></div><div><p>先找到你的预算能碰到的档位，再看落点。<strong>32GB 内存 + 200GB/s 是“能舒服跑 32B”的起点</strong>（M1 Pro / M2 Pro 即可满足）；<strong>要到 400GB/s 才能跑 70B Q4</strong>（M1 Max 起）；<strong>想跑 120B 级则需要 460GB/s 以上加 64GB 内存</strong>，目前只有 M5 Max 能同时给到。</p></div></div></section><section><h3>标注约定与选购建议<a href="#标注约定与选购建议"><span>#</span></a></h3><ul>
<li><strong>核心标注：</strong> P = 性能核心，E = 能效核心，<strong>超级核心</strong>为 M5 起新增（性能最强的核心类型）。同一芯片提供多档核心数时，对应不同售价档位，核心数越高内存上限也越高。</li>
<li><strong>可选范围：</strong> MacBook Air 全系 CPU 固定，仅 GPU 核心可选（如 8 核 → 10 核）；MacBook Pro 的 Pro / Max 芯片，CPU 与 GPU 均有多档核心数可选。</li>
<li><strong>带宽联动：</strong> 带宽随 GPU 核心数变化。例如 M5 Max 的 32 核 GPU 版为 460GB/s、40 核 GPU 版为 614GB/s；选大内存往往会被绑定到高配 GPU。</li>
<li><strong>跑大模型看什么：</strong> 先看<strong>内存容量</strong>（决定能装多大），再看<strong>内存带宽</strong>（决定多快）。CPU / GPU 核心数主要影响多任务、渲染、编译等通用负载，对纯文本生成的影响远小于带宽。</li>
<li><strong>预算有限时的顺序：</strong> 内存容量 &gt; 内存带宽（即档位）&gt; 代次。宁可买上一代的 Max，也不要买当代的标准版——前者 400GB/s 对后者 153GB/s，跑模型的差距远大于两代之间的架构改进。</li>
<li><strong>数据口径：</strong> 本节全部参数取自 Apple 官方技术规格页（M5 系列为 2026 年现行页面；M1~M4 系列为 Apple 支持文档与新闻稿中的历史规格），核对日期 2026-09-14。<strong>不含任何推测值</strong>；已停产机型的价格随行情波动，未在此列。</li>
</ul></section></section>
<section><h2>参数档位与开源模型清单<a href="#参数档位与开源模型清单"><span>#</span></a></h2><p>知道自己机器的「可跑档位」后，用这张表反查该下载哪些模型——档位由<strong>内存容量</strong>决定，实际出字速度由<strong>内存带宽</strong>决定，两者缺一不可。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>参数档位</th><th>级别</th><th>对应开源模型</th><th>能做什么</th><th>适合人群</th></tr></thead><tbody><tr><td>7B ~ 9B</td><td>入门级</td><td>Qwen3-8B、GLM-4.5-9B、Gemma 3-12B、Llama 3.1-8B</td><td>日常问答、邮件摘要、文档总结；简单脚本生成、代码补全、轻量 RAG</td><td>学生、普通办公、轻度 AI 使用者</td></tr><tr><td>14B ~ 16B</td><td>进阶级</td><td>Qwen3-14B、GLM-4.5-Air（激活 12B）、MiniMax M2.5、DeepSeek-R1-Distill-14B</td><td>中等复杂度代码编写与审查；本地知识库问答、数据处理、数学推理</td><td>开发者、科研人员、中度 AI 使用者</td></tr><tr><td>32B ~ 34B</td><td>专业级</td><td>Qwen3-32B、Qwen3-30B-A3B、DeepSeek-R1-Distill-32B、GLM-4.7-Thinking（355B / 激活 32B）</td><td>复杂代码重构、架构设计；深度科研推理、专业领域分析、高质量长文本</td><td>专业开发者、研究员、重度 AI 使用者</td></tr><tr><td>70B+</td><td>旗舰级</td><td>Qwen3-235B-A22B、DeepSeek-V4（671B / 激活 28B）、GLM-5（744B / 激活 40B）、Llama 4 Maverick（400B / 激活 17B）、Kimi K2.5（200B / 激活 20B）</td><td>接近云端 API 的推理质量；企业级私有化部署、超复杂多步推理</td><td>企业、团队、极致隐私需求用户</td></tr></tbody></table><div><div><div></div><div>重要说明</div></div><div><ul>
<li>以上为 <strong>Q4 量化版本</strong>的参考需求；量化越低速度越快，质量略有下降。</li>
<li>统一内存需预留系统占用，<strong>实际可用显存约为总内存的 70%~80%</strong>。</li>
<li><strong>绝大多数普通用户不需要本地部署</strong>，直接用 API 性价比最高、效果最好。</li>
<li>闭源模型（GPT、Claude、Gemini、Kimi）不公开完整参数，表中为激活参数估算值。</li>
<li><strong>DeepSeek V4.1 Flash 例外</strong>：它是开放权重的（552B MoE、MIT 许可），但规模远超消费级 Mac 的内存上限，<strong>本地跑不动</strong>——这类新模型的正确用法是走 API，而不是下载到本地。</li>
</ul></div></div><blockquote><p><strong>接下来</strong>：路线判断完，接下来是纯操作：<strong>把密钥配好、把第一行代码跑通、把账单看住</strong>。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-04-setup/</id>
      <title type="text">动手配置：从注册到首次调用 API</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-04-setup/"/>
      <summary type="text">Mac 上配置 API 的两条路径（图形化客户端 / 终端环境变量）、以 DeepSeek 为例跑通首次调用、用量核对、密钥安全与预算熔断。</summary>
      <content type="html"><![CDATA[<section><h2>动手配置：两条路径，从注册到第一次调用<a href="#动手配置两条路径从注册到第一次调用"><span>#</span></a></h2><p>本页只有步骤，没有选型。路径一把各家 API 直接接进脚本，路径二用统一网关把多家模型收口到一个地址；配完再解决「怎么知道钱花在哪」。</p></section>
<section><h2>Mac 上配置 API 的两条路径<a href="#mac-上配置-api-的两条路径"><span>#</span></a></h2><p>两条路径二选一：普通用户优先用图形化客户端，直观、不易出错；开发者或需要写脚本，再用终端环境变量方式。</p><section><h3>方式一：图形化客户端<a href="#方式一图形化客户端"><span>#</span></a></h3><p>Mac 上主流的 AI 客户端：<strong><a href="https://openai.com/codex/" target="_blank">Codex</a></strong>（App Store）、<strong><a href="https://cherry-ai.com" target="_blank">Cherry Studio</a></strong>、<strong><a href="https://chatboxai.app" target="_blank">ChatBox</a></strong>、<strong><a href="https://github.com/farion1231/cc-switch" target="_blank">CC-Switch</a></strong>（菜单栏工具）。</p><ol>
<li>从 App Store 或官网下载安装客户端（比如 Codex、Cherry Studio）。</li>
<li>打开软件，进入「设置」→「模型管理」。</li>
<li>选择你要用的 API 服务商（OpenAI / DeepSeek / Kimi 等）。</li>
<li>把申请到的 API Key 粘贴到对应输入框，保存。</li>
<li>选择默认模型，回到聊天界面即可直接使用。</li>
</ol><div><div><div></div><div>💡 优点</div></div><div><p>不用敲命令，界面直观，支持多模型切换，还能管理历史对话。</p></div></div></section><section><h3>方式二：终端环境变量<a href="#方式二终端环境变量"><span>#</span></a></h3><p>如果你要自己写代码、跑 Agent 脚本，才需要配置环境变量。</p><ol>
<li>
<p><strong>打开终端，确认 Shell 类型：</strong> 新 Mac 一般是 <code>zsh</code>，旧版是 <code>bash</code>。
echo $SHELL</p>
</li>
<li>
<p><strong>编辑配置文件：</strong></p>
<section><h1>zsh 用户<a href="#zsh-用户"><span>#</span></a></h1><p>nano ~/.zshrc</p></section>
<section><h1>bash 用户<a href="#bash-用户"><span>#</span></a></h1><p>nano ~/.bash_profile</p></section>
</li>
<li>
<p><strong>在文件末尾添加环境变量：</strong>
export DEEPSEEK_API_KEY=“sk-xxxxxx”
export KIMI_API_KEY=“sk-xxxxxx”</p>
</li>
<li>
<p><strong>保存并生效：</strong></p>
<section><h1>Ctrl+O 保存，Ctrl+X 退出<a href="#ctrlo-保存ctrlx-退出"><span>#</span></a></h1><p>source ~/.zshrc</p></section>
</li>
</ol></section><section><h3>实操：以 DeepSeek 为例跑通首次调用<a href="#实操以-deepseek-为例跑通首次调用"><span>#</span></a></h3><p>把上面两条路径落到一次真实操作上。DeepSeek 是门槛最低的入口之一：注册不需绑定信用卡、新用户有免费额度、接口与 OpenAI 格式完全兼容。</p><section><h4>先看清价格：分时段计费（2026-09-10 12&lt;00&gt; 起生效）<a href="#先看清价格分时段计费2026-09-10-12-起生效"><span>#</span></a></h4><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>计费项</th><th>空闲时段</th><th>高峰时段</th><th>说明</th></tr></thead><tbody><tr><td>输入（缓存命中）</td><td>¥0.02 / 百万</td><td>¥0.04 / 百万</td><td>系统提示词、工具定义、上下文前缀被复用时按此价，最省的一档</td></tr><tr><td>输入（缓存未命中）</td><td>¥1 / 百万</td><td>¥2 / 百万</td><td>首次出现的全新内容按此价</td></tr><tr><td>输出</td><td>¥4 / 百万</td><td>¥8 / 百万</td><td>模型生成的回复内容</td></tr></tbody></table><div><div><div></div><div>高峰时段正好压在国内上班时间</div></div><div><p>高峰定义为周一至周五 <strong>09&lt;00&gt;–12&lt;00&gt; 与 14&lt;00&gt;–18&lt;00&gt;</strong>（北京时间），价格为空闲时段的两倍。<strong>把批量任务排到夜间执行，成本直接减半</strong> —— 这是最容易拿到的一笔折扣。</p></div></div></section></section><section><h3>第 1 步 · 注册并取得 API Key<a href="#第-1-步--注册并取得-api-key"><span>#</span></a></h3><ol>
<li>打开开放平台 <a href="https://platform.deepseek.com" target="_blank">platform.deepseek.com</a>，手机号注册并完成实名认证。</li>
<li>左侧菜单进入「API Keys」→「创建 API Key」。</li>
<li>复制生成的密钥（以 <code>sk-</code> 开头）。<strong>它只会完整显示一次</strong>，请立即存入密码管理器。</li>
<li>进入「财务中心」按需充值（支持支付宝 / 微信），并顺手把<strong>单日消费上限</strong>设好。</li>
</ol></section><section><h3>第 2 步 · 写入环境变量<a href="#第-2-步--写入环境变量"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 打开 zsh 配置（新 Mac 默认 zsh）</span></div></div><div><div><div>2</div></div><div><span>nano ~/.zshrc</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span># 在文件末尾追加（切勿把密钥提交进 Git）</span></div></div><div><div><div>5</div></div><div><span>export DEEPSEEK_API_KEY="sk-你的密钥"</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span># Ctrl+O 保存、Ctrl+X 退出，然后让它生效</span></div></div><div><div><div>8</div></div><div><span>source ~/.zshrc</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h3>第 3 步 · 跑通第一次调用<a href="#第-3-步--跑通第一次调用"><span>#</span></a></h3><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 依赖：uv pip install openai python-dotenv</span></div></div><div><div><div>2</div></div><div><span>import os</span></div></div><div><div><div>3</div></div><div><span>from openai import OpenAI</span></div></div><div><div><div>4</div></div><div><span>from dotenv import load_dotenv</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span>load_dotenv()  # 从 .env 读密钥，避免写死在代码里</span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span>client = OpenAI(</span></div></div><div><div><div>9</div></div><div><span><span>    </span></span><span>api_key=os.getenv("DEEPSEEK_API_KEY"),</span></div></div><div><div><div>10</div></div><div><span><span>    </span></span><span>base_url="https://api.deepseek.com",   # 兼容 OpenAI 格式，只差这一行</span></div></div><div><div><div>11</div></div><div><span>)</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>def ask(prompt: str, system: str = "你是专业的中文内容助手") -&gt; str:</span></div></div><div><div><div>14</div></div><div><span><span>    </span></span><span>resp = client.chat.completions.create(</span></div></div><div><div><div>15</div></div><div><span><span>        </span></span><span>model="deepseek-flash",            # 旧名 deepseek-v4-flash 仍可路由</span></div></div><div><div><div>16</div></div><div><span><span>        </span></span><span>messages=[</span></div></div><div><div><div>17</div></div><div><span><span>            </span></span><span>{"role": "system", "content": system},</span></div></div><div><div><div>18</div></div><div><span><span>            </span></span><span>{"role": "user", "content": prompt},</span></div></div><div><div><div>19</div></div><div><span><span>        </span></span><span>],</span></div></div><div><div><div>20</div></div><div><span><span>        </span></span><span>temperature=0.7,</span></div></div><div><div><div>21</div></div><div><span><span>        </span></span><span>stream=False,</span></div></div><div><div><div>22</div></div><div><span><span>    </span></span><span>)</span></div></div><div><div><div>23</div></div><div><span><span>    </span></span><span>u = resp.usage</span></div></div><div><div><div>24</div></div><div><span><span>    </span></span><span>print(f"本次用量 - 输入 {u.prompt_tokens} / 输出 {u.completion_tokens}")</span></div></div><div><div><div>25</div></div><div><span><span>    </span></span><span>return resp.choices[0].message.content</span></div></div><div><div><div>26</div></div><div>
</div></div><div><div><div>27</div></div><div><span>if __name__ == "__main__":</span></div></div><div><div><div>28</div></div><div><span><span>    </span></span><span>print(ask("用三句话说明什么是 API。"))</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><div><div><div></div><div>就这么简单</div></div><div><p>换掉 <code>base_url</code> 与 <code>model</code>，同一段代码就能切到 OpenAI、Kimi、通义千问等任何兼容 OpenAI 格式的服务上 —— 这就是「兼容 OpenAI 格式」的实际价值。</p></div></div></section><section><h3>用量核对与成本监控<a href="#用量核对与成本监控"><span>#</span></a></h3><p>跑自动化最容易出的事故不是报错，而是<strong>账单暴涨</strong>：一个写错的循环、一次失败重试风暴，半夜就能烧掉几百元。上线前先把「看得见用量」这件事做掉。</p><blockquote><p>来源：星标与仓库状态：GitHub API 实测 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>方式</th><th>怎么做</th><th>适合</th></tr></thead><tbody><tr><td>① 官方控制台「用量统计」</td><td>登录开放平台 → 用量统计，可按天 / 按模型 / 按 Key 查看消费明细与趋势（数据有数分钟延迟）</td><td>日常人工巡查</td></tr><tr><td>② 响应体 <code>usage</code> 字段</td><td>每次调用的返回都带 <code>prompt_tokens</code> / <code>completion_tokens</code>，落库即可按任务精确对账</td><td>自己写脚本记账</td></tr><tr><td>③ 平台的额度告警</td><td>在财务中心设置单日 / 单月消费上限与预警，超限直接停服</td><td>所有跑自动化的人（必做）</td></tr><tr><td>④ 开源自建看板</td><td><a href="https://github.com/OpenX123/newapi-monitor" target="_blank">NewAPI Monitor</a>（★8 · Docker 部署）可实时记录调用、费用趋势并推送超限告警，适合多 Key / 多项目中转统一治理</td><td>用量大、多 Key 场景</td></tr></tbody></table><div><div><div></div><div>安全与成本红线</div></div><div><p>一、密钥<strong>绝不硬编码进代码再提交到公开仓库</strong>，被爬虫扫到会立刻盗刷；二、脚本要同时加<strong>最大重试次数</strong>与<strong>单日消费上限</strong>双保险；三、定期轮换密钥，怀疑泄露立刻吊销重建；四、授权 Agent 时不要给资金、账号密码、批量删除这类高权限操作。</p></div></div><div><div><div></div><div>关于第三方「省 Token」工具</div></div><div><p>网络上流传的 LLMeter、TokenGuard、codeburn 等自动省 Token / 代理优化工具，本次核验未能在公开代码托管平台找到对应项目，故不收录。需特别提醒：来路不明的代理型工具会把你的提示词、乃至密钥一并转发出去，收益远小于风险。</p></div></div></section><section><h3>密钥与账号安全<a href="#密钥与账号安全"><span>#</span></a></h3><p>这一节是整份文档里<strong>唯一不能走捷径</strong>的部分：模型选错可以换，链路搭错可以重做，密钥泄露无法撤回。</p>

<table><thead><tr><th>凭证类型</th><th>正确做法</th><th>绝对不要</th></tr></thead><tbody><tr><td>API Key</td><td>只放在本机环境变量或 <code>.env</code>（且 <code>.env</code> 写进 <code>.gitignore</code>）；给每个用途单独建一把 Key 并命名，便于按用途吊销。</td><td>写进代码、交给前端、贴进聊天记录或截图、提交到 Git（含私有仓库）。</td></tr><tr><td>账号密码 / 二次验证</td><td>用密码管理器生成并保存；二次验证码单独存放。</td><td>与 API Key 放在同一个纯文本文件里；用同一个密码注册「平台账号」与「支付账号」。</td></tr><tr><td>支付 / 提现凭证</td><td>只保留在人工操作环节，脚本只读订单状态，不持有扣款能力。</td><td>把银行卡、支付密码、验证码交给任何脚本或 Agent。</td></tr><tr><td>店铺 / 平台主账号</td><td>自动化一律使用子账号或只读 Token，权限最小化。</td><td>让 Agent 用主账号直接登录或改价、上下架。</td></tr></tbody></table><p>落地到 Mac 上，最小可用做法是三步：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 1. 只在本机保存，不进版本库</span></div></div><div><div><div>2</div></div><div><span>echo ".env" &gt;&gt; .gitignore</span></div></div><div><div><div>3</div></div><div><span>printf 'DEEPSEEK_API_KEY=sk-你的key\n' &gt; .env</span></div></div><div><div><div>4</div></div><div><span>chmod 600 .env          # 仅本人可读</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span># 2. 脚本里只读环境变量，不硬编码</span></div></div><div><div><div>7</div></div><div><span>import os</span></div></div><div><div><div>8</div></div><div><span>KEY = os.environ.get("DEEPSEEK_API_KEY")</span></div></div><div><div><div>9</div></div><div><span>assert KEY, "未设置 DEEPSEEK_API_KEY"</span></div></div><div><div><div>10</div></div><div>
</div></div><div><div><div>11</div></div><div><span># 3. 提交前自查（有输出就说明泄露了）</span></div></div><div><div><div>12</div></div><div><span>git grep -nE 'sk-[A-Za-z0-9]{16,}' || echo "未发现明文密钥"</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div><div></div><div>泄露后的处置顺序</div></div><div><p>一、<strong>立刻在控制台吊销</strong>该 Key（不是改密码，改密码不失效已有 Key）；二、查用量与账单，确认异常消费区间；三、<strong>重建</strong>一把新 Key 并同步到本机环境变量；四、检查 <code>.env</code> 是否曾被提交过——<strong>只要进过 Git 历史，即使后来删除也要视为已泄露</strong>，因为历史提交可被克隆。</p></div></div><p><strong>口径</strong>：以上为通用工程实践，不是任何平台的特有要求。各平台的 Key 管理入口与控制台位置见<a href="#s10-4">1.4 用量核对与成本监控</a>；轮换周期建议 90 天一次，或团队人员变动时立即轮换。</p></section><section><h3>预算熔断：把支出上限写进配置<a href="#预算熔断把支出上限写进配置"><span>#</span></a></h3><p>自动化最典型的翻车方式不是「模型太贵」，而是<strong>一个死循环把额度跑满</strong>——脚本重试、Agent 反复读同一批文件、定时任务叠加运行，都能在一夜之间把预算烧掉。熔断要在三个层次各做一道。</p>

<table><thead><tr><th>层次</th><th>在哪设</th><th>设什么</th><th>触发后的行为</th></tr></thead><tbody><tr><td>平台侧</td><td>各平台控制台的「用量 / 计费 / 限额」页</td><td>月度消费上限、单日上限；部分平台支持按 Key 设限额</td><td>到达上限后<strong>拒绝新请求</strong>（返回 429 / 403），不会产生超额账单</td></tr><tr><td>调用侧</td><td>你自己的脚本里</td><td>单次任务 token 上限、最大重试次数、单日调用次数</td><td>抛异常并退出，写一条日志</td></tr><tr><td>任务侧</td><td>launchd / cron 配置</td><td>任务并发数 = 1（禁止叠加）；超时强杀</td><td>避免上一轮没跑完下一轮又启动，形成叠加消耗</td></tr></tbody></table><p>平台侧是最后一道防线。<strong>上线任何自动化之前，先把这一步做完</strong>——它比事后看账单有效得多：</p><div><div><div></div><div>各平台的设置入口怎么找</div></div><div><ul>
<li>一、先找「用量 / Usage / 计费 / Billing」，再看有没有「限额 / Limit / Budget / Quota」子项；</li>
<li>二、<strong>国内平台</strong>（DeepSeek、豆包、通义等）多为「账户余额 + 单日限额」模式，注意余额耗尽即停；</li>
<li>三、<strong>海外平台</strong>（OpenAI、Anthropic、Google）多为「预付额度 + 用量上限」模式，可分别对项目和 Key 设限；</li>
<li>四、找不到限额入口的平台，就用第二、三层兜住。
入口页面与字段名会随改版变化，因此这里不给具体的按钮路径——请在控制台用上述关键词检索，不要照着半年前的截图操作。</li>
</ul></div></div><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 调用侧：一份可直接粘贴的熔断装饰器</span></div></div><div><div><div>2</div></div><div><span>import json, time, pathlib</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>BUDGET = {"max_calls_per_day": 200, "max_retries": 3, "max_tokens": 8192}</span></div></div><div><div><div>5</div></div><div><span>LEDGER = pathlib.Path.home() / ".guide" / "usage.json"</span></div></div><div><div><div>6</div></div><div><span>LEDGER.parent.mkdir(exist_ok=True)</span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span>def _load():</span></div></div><div><div><div>9</div></div><div><span><span>    </span></span><span>if LEDGER.exists():</span></div></div><div><div><div>10</div></div><div><span><span>        </span></span><span>return json.loads(LEDGER.read_text())</span></div></div><div><div><div>11</div></div><div><span><span>    </span></span><span>return {"date": time.strftime("%Y-%m-%d"), "calls": 0}</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>def guard(fn):</span></div></div><div><div><div>14</div></div><div><span><span>    </span></span><span>def wrap(*a, **kw):</span></div></div><div><div><div>15</div></div><div><span><span>        </span></span><span>led = _load()</span></div></div><div><div><div>16</div></div><div><span><span>        </span></span><span>today = time.strftime("%Y-%m-%d")</span></div></div><div><div><div>17</div></div><div><span><span>        </span></span><span>if led.get("date") != today:                 # 跨天归零</span></div></div><div><div><div>18</div></div><div><span><span>            </span></span><span>led = {"date": today, "calls": 0}</span></div></div><div><div><div>19</div></div><div><span><span>        </span></span><span>if led["calls"] &gt;= BUDGET["max_calls_per_day"]:</span></div></div><div><div><div>20</div></div><div><span><span>            </span></span><span>raise RuntimeError("已达当日调用上限，熔断退出")   # 不再重试</span></div></div><div><div><div>21</div></div><div><span><span>        </span></span><span>led["calls"] += 1</span></div></div><div><div><div>22</div></div><div><span><span>        </span></span><span>LEDGER.write_text(json.dumps(led))</span></div></div><div><div><div>23</div></div><div><span><span>        </span></span><span>return fn(*a, **kw)</span></div></div><div><div><div>24</div></div><div><span><span>    </span></span><span>return wrap</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p><strong>口径</strong>：上限数值（200 次／天、8192 token）是示例，不是推荐值——请按<a href="#s10-4">1.4</a> 里实测的单次成本 × 可接受月支出倒推。举例：若单次调用平均花费 $0.01、可接受月支出 $30，则单日上限约 100 次。</p></section><section><h3>429、超时与降级：把失败写成流程<a href="#429超时与降级把失败写成流程"><span>#</span></a></h3><p>批量跑任务时，<strong>失败是常态而不是异常</strong>。写死一次调用的脚本，跑 1000 条会因为其中 3 条报错而整体中断；写好重试与降级的脚本，同样的错误只会让这 3 条走备用路径。</p>

<table><thead><tr><th>现象</th><th>通常原因</th><th>处置方式</th><th>要不要重试</th></tr></thead><tbody><tr><td>429 Too Many Requests</td><td>并发过高，或触及平台的速率/额度限制</td><td>指数退避重试（1s → 2s → 4s，带随机抖动），同时降低并发</td><td><strong>要</strong>，但要限制次数</td></tr><tr><td>408 / 504 超时</td><td>服务端排队，或单次请求体过大</td><td>缩短 prompt、拆分请求，再退避重试</td><td><strong>要</strong></td></tr><tr><td>500 / 502 / 503</td><td>服务端临时故障</td><td>退避重试；连续失败则切到降级链</td><td><strong>要</strong>，但超过阈值就降级</td></tr><tr><td>400 参数错误</td><td>参数、模型名或格式写错</td><td>修正代码，不要重试</td><td><strong>不要</strong>（重试 100 次也一样失败）</td></tr><tr><td>401 / 403</td><td>Key 失效、余额耗尽、无权限</td><td>停止任务并告警（这类错误重试只会浪费额度）</td><td><strong>不要</strong></td></tr><tr><td>200 但内容为空 / 被截断</td><td>触达输出上限，或被安全策略拦截</td><td>按降级链重试，并记录原始返回以便复盘</td><td>视情况</td></tr></tbody></table><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 退避重试 + 降级链：主模型失败就退到便宜模型，再失败就落盘人工处理</span></div></div><div><div><div>2</div></div><div><span>import random, time</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>CHAIN = ["claude-opus-5", "deepseek-v4.1-flash"]   # 主 → 备；按你的成本梯度排</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span>RETRYABLE = (429, 408, 500, 502, 503)</span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span>def call_with_fallback(prompt, client):</span></div></div><div><div><div>9</div></div><div><span><span>    </span></span><span>for model in CHAIN:</span></div></div><div><div><div>10</div></div><div><span><span>        </span></span><span>for attempt in range(4):</span></div></div><div><div><div>11</div></div><div><span><span>            </span></span><span>try:</span></div></div><div><div><div>12</div></div><div><span><span>                </span></span><span>return client.chat(model=model, prompt=prompt, max_tokens=4096)</span></div></div><div><div><div>13</div></div><div><span><span>            </span></span><span>except ApiError as e:</span></div></div><div><div><div>14</div></div><div><span><span>                </span></span><span>if e.status not in RETRYABLE:</span></div></div><div><div><div>15</div></div><div><span><span>                    </span></span><span>break                    # 不可重试：直接换下一个模型</span></div></div><div><div><div>16</div></div><div><span><span>                </span></span><span>time.sleep((2 ** attempt) + random.random())   # 抖动，避免同时重试</span></div></div><div><div><div>17</div></div><div><span><span>    </span></span><span>raise RuntimeError("降级链全部失败，转人工处理")</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><div><div><div></div><div>两条容易忽略的规则</div></div><div><p>一、<strong>重试必须幂等</strong>：若一次调用可能有副作用（下订单、发消息、写文件），重试前先用请求 ID 查一次是否已成功，否则会出现「发了两次」。二、<strong>把失败落盘</strong>：失败的输入、错误码、原始返回都写到一个 <code>failed.jsonl</code>。批量任务里最贵的不是失败本身，而是失败后不知道失败在哪一条。</p></div></div><p><strong>口径</strong>：错误码语义各家略有差异（例如有的平台用 402 表示余额不足），上表按通用约定整理；接入新平台时请以其官方错误码文档为准。</p></section></section>
<section><h2>Mac 生产力环境搭建<a href="#mac-生产力环境搭建"><span>#</span></a></h2><p>自动化任务通常要求「电脑长期不关、脚本按点自己跑」。本节把系统设置、包管理器、Python 与 Node 环境、效率软件、开机自启一次配好。适用机型：Mac Mini M4（16G + 512G 最合适，功耗低、可 7×24 挂机）与 M 系列的 MacBook Air / Pro。</p><section><h3>系统基础设置<a href="#系统基础设置"><span>#</span></a></h3><ol>
<li><strong>允许安装第三方应用</strong>（部分自动化工具未上架 App Store）： 随后在「系统设置 → 隐私与安全性」中确认已允许「任何来源」。
<section><h1>终端内执行，输入开机密码后回车<a href="#终端内执行输入开机密码后回车"><span>#</span></a></h1><p>sudo spctl —master-disable</p></section>
</li>
<li><strong>关闭自动睡眠，保持挂机</strong>：系统设置 → 电池 → 选项，开启「防止自动睡眠」，并开启「唤醒以供网络访问」。</li>
<li><strong>安装 Rosetta 2</strong>（个别旧工具只提供 Intel 版本）：
softwareupdate —install-rosetta —agree-to-license</li>
</ol></section><section><h3>安装 Homebrew（Mac 的包管理器）<a href="#安装-homebrewmac-的包管理器"><span>#</span></a></h3><p>后面几乎所有工具都通过 Homebrew 安装，所以它是第一件要装的东西。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 官方安装脚本</span></div></div><div><div><div>2</div></div><div><span>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span># Apple Silicon 机器：安装后把 brew 加进 PATH</span></div></div><div><div><div>5</div></div><div><span>echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' &gt;&gt; ~/.zprofile</span></div></div><div><div><div>6</div></div><div><span>eval "$(/opt/homebrew/bin/brew shellenv)"</span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span># 验证</span></div></div><div><div><div>9</div></div><div><span>brew --version</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div><div></div><div>国内网络提示</div></div><div><p><code>raw.githubusercontent.com</code> 在国内常被阻断，导致安装脚本拉不下来。两个可行做法：<strong>一、</strong> 先配置终端代理，再执行上面的脚本；<strong>二、</strong> 改用国内镜像源，并写入环境变量加速后续下载：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 中科大镜像（写入 ~/.zshrc 后对新终端生效）</span></div></div><div><div><div>2</div></div><div><span>export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"</span></div></div><div><div><div>3</div></div><div><span>export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div></div></section><section><h3>Python 环境（自动化脚本的主力语言）<a href="#python-环境自动化脚本的主力语言"><span>#</span></a></h3><p>推荐用 <code>uv</code> 管理环境：比 conda 更快更轻，对 Apple Silicon 支持好。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 安装 uv</span></div></div><div><div><div>2</div></div><div><span>brew install uv</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span># 给一人公司项目单独建工作区与虚拟环境</span></div></div><div><div><div>5</div></div><div><span>mkdir -p ~/opc &amp;&amp; cd ~/opc</span></div></div><div><div><div>6</div></div><div><span>uv venv</span></div></div><div><div><div>7</div></div><div><span>source .venv/bin/activate</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span># 装上常用的基础库</span></div></div><div><div><div>10</div></div><div><span>uv pip install requests openai python-dotenv pandas schedule</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div><div></div><div>为什么一定要用虚拟环境</div></div><div><p>每个项目一个 <code>.venv</code>，依赖互不污染；换机器时用 <code>uv pip freeze &gt; requirements.txt</code> 就能复现环境。<strong>不要把包装进系统 Python</strong> —— 后期版本冲突时很难收拾。</p></div></div></section><section><h3>Node.js 环境（前端工具与自动化插件）<a href="#nodejs-环境前端工具与自动化插件"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>brew install node</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span># 验证</span></div></div><div><div><div>4</div></div><div><span>node -v</span></div></div><div><div><div>5</div></div><div><span>npm -v</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h3>常用效率软件<a href="#常用效率软件"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>brew install --cask google-chrome      # 浏览器：自动化脚本最主要的操作对象</span></div></div><div><div><div>2</div></div><div><span>brew install --cask iterm2             # 终端增强</span></div></div><div><div><div>3</div></div><div><span>brew install --cask rectangle          # 窗口管理，多窗口看数据必备</span></div></div><div><div><div>4</div></div><div><span>brew install --cask keka               # 压缩解压</span></div></div><div><div><div>5</div></div><div><span>brew install --cask maccy              # 剪贴板历史（开源，可替代付费的 Paste）</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>做视频自动化还需要 <a href="https://ffmpeg.org" target="_blank">FFmpeg</a>（<code>brew install ffmpeg</code>）；跑本地大模型按<a href="/posts/mac-api-03-local/">第三部分「本地部署」</a>装 Ollama 或 LM Studio。</p></section><section><h3>让脚本按时自己跑<a href="#让脚本按时自己跑"><span>#</span></a></h3><p>Mac 上最稳的定时方案是系统自带的 <code>launchd</code>，不需要额外软件。</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># 1. 新建 LaunchAgent 配置（一个任务一个文件）</span></div></div><div><div><div>2</div></div><div><span>nano ~/Library/LaunchAgents/com.opc.daily.plist</span></div></div><div><div><div>3</div></div><div><span># 关键字段：</span></div></div><div><div><div>4</div></div><div><span>#   Label                 唯一标识，如 com.opc.daily</span></div></div><div><div><div>5</div></div><div><span>#   ProgramArguments      要执行的命令，路径必须写绝对路径</span></div></div><div><div><div>6</div></div><div><span>#   StartCalendarInterval  定时规则（Hour / Minute）</span></div></div><div><div><div>7</div></div><div><span>#   StandardOutPath / StandardErrorPath   日志文件，出问题先看这里</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span># 2. 加载并立即生效</span></div></div><div><div><div>10</div></div><div><span>launchctl load ~/Library/LaunchAgents/com.opc.daily.plist</span></div></div><div><div><div>11</div></div><div>
</div></div><div><div><div>12</div></div><div><span># 3. 确认已注册</span></div></div><div><div><div>13</div></div><div><span>launchctl list | grep opc</span></div></div><div><div><div>14</div></div><div>
</div></div><div><div><div>15</div></div><div><span># 4. 改了配置后重新加载</span></div></div><div><div><div>16</div></div><div><span>launchctl unload ~/Library/LaunchAgents/com.opc.daily.plist</span></div></div><div><div><div>17</div></div><div><span>launchctl load ~/Library/LaunchAgents/com.opc.daily.plist</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><div><div><div></div><div>挂机三条底线</div></div><div><p>一、日志一定要落到文件（<code>StandardErrorPath</code>），否则早上只会看到「昨晚没跑」却不知为何；二、脚本要能防重入 —— 上一次没跑完时这一次不要叠加启动；三、涉及自动发布、自动下单这类外部动作时，<strong>先设成只生成不发送的草稿模式</strong>，跑一周确认稳定再放开。</p></div></div></section></section>
<section><h2>常见问题速查<a href="#常见问题速查"><span>#</span></a></h2><p>把配置与使用中最常见的疑问集中在这里：前两条对应配置环节，后四条涉及选型与日常使用。</p><section><h3>可用性与合规前提<a href="#可用性与合规前提"><span>#</span></a></h3><p>动手之前有三件事要先确认，它们决定「这套方案在你这里能不能用」，与技术选型无关。</p>

<table><thead><tr><th>场景</th><th>通常可行的做法</th><th>要注意的地方</th></tr></thead><tbody><tr><td>国内直接访问</td><td>优先选国内平台（DeepSeek、豆包、通义、智谱、Kimi、MiniMax 等）的官方 API，网络与支付链路最短。</td><td>部分海外平台的 API 在境内无法直连，需要自行解决网络问题；<strong>能否连通请先用自己的网络实测一次</strong>，不要照抄别人的结论。</td></tr><tr><td>代理与网络工具</td><td>企业用途走公司统一的网络出口与合规审批流程。</td><td>代理的使用方式需符合当地法规与所在单位的网络管理规定；<strong>不要为绕过限制而使用来源不明的工具</strong>。</td></tr><tr><td>数据出境</td><td>涉及个人信息、客户资料、合同文本时，先用国内平台处理，或做脱敏（去标识化）后再调用。</td><td>把真实客户名单、身份证号、银行信息提交给境外服务，可能触及数据出境的合规要求；<strong>做法是脱敏而不是「应该没事」</strong>。</td></tr><tr><td>内容与平台规则</td><td>搬运、抓取、批量发布前先读目标平台的用户协议与 robots 规则。</td><td>高频抓取、自动关注、批量私信等行为通常被明令禁止，账号可能被限流或封禁；<strong>被封的是你的主账号</strong>，代价远大于省下的时间。</td></tr><tr><td>商用与版权</td><td>确认模型输出、训练数据来源与素材授权，尤其是要对外销售的内容。</td><td>不同平台对「输出物能否商用」的条款不同，请以官方条款为准。</td></tr></tbody></table><div><div><div></div><div>本节不是法律意见</div></div><div><p>以上是工程侧的检查清单，帮助你在动手前意识到风险点；<strong>涉及具体业务的合规判断，请咨询专业人士</strong>。这条与<a href="/posts/mac-api-00-guide/">总目录的「数据口径与免责说明」</a>是一致的。</p></div></div><p><strong>口径</strong>：本表按「大多数个人开发者与小微企业会遇到的情形」归纳，不覆盖行业特殊监管要求（金融、医疗、教育等regulated行业另有规定）。</p><p><strong>配置后不生效怎么办？</strong></p><p>客户端内：检查 API Key 是否粘贴正确、模型名称是否选对。终端内：执行 <code>source</code> 命令，或直接重启终端。</p><p><strong>API 和网页版会员有什么区别？</strong></p><p>网页版是给人手动用的，API 是给程序自动调用的；API 按量付费——用量少时更便宜，用量大时订阅更划算。</p><p><strong>Agent 需要自己写代码吗？</strong></p><p>不用。现在有很多现成的 Agent 软件（如 OpenManus、Dify），配置好 API 就能直接用，也支持手机远程触发。</p><p><strong>省 Token 工具会影响回答质量吗？</strong></p><p>正规优化工具只去掉冗余和废话，核心信息保留。主流测试中准确率下降在 5% 以内，日常使用几乎感知不到。</p><p><strong>本地部署和 API 哪个好？</strong></p><p>99% 的人选 API：效果更好、速度更快、不用折腾硬件。只有极致隐私需求、离线使用或特殊定制，才需要本地部署。</p><p><strong>Skill 怎么安装到客户端里？</strong></p><p>Claude Code、Codex 等支持 MCP 协议的客户端，直接在设置里添加 Skill 仓库地址或本地路径即可启用。</p><blockquote><p><strong>接下来</strong>：能力已经可调用，但「谁去调用它」还没解决。第 5 部分先挑一个<strong>桌面智能体当主力</strong>，再到第 6 部分的开源库里给它装具体能力。</p></blockquote><p>================= 12 桌面智能体产品对比 =================</p><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-05-agents/</id>
      <title type="text">智能体产品：8 款主流桌面 Agent 对比</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-05-agents/"/>
      <summary type="text">WorkBuddy / 豆包工作 / 千问办公 / QClaw / OpenClaw / 智谱清言 / Kimi Work / MiniMax Agent 八款桌面智能体的速览、差异与选型。</summary>
      <content type="html"><![CDATA[<section><h2>智能体产品：先选一个主力，再谈能力<a href="#智能体产品先选一个主力再谈能力"><span>#</span></a></h2><p>API 是水电，智能体产品是电器。本页横向对比 8 款主流桌面智能体，回答一个问题：日常工作该交给谁。</p><p>前面的部分讲的是「配哪家的 API」。如果你想要的是<strong>打开就能干活</strong>——直接操作本机文件、浏览器与 Office，还能用手机远程下指令——那要选的是<strong>桌面智能体产品</strong>：它们把模型、技能与执行环境打包好了。本节把国内主流产品与开源方案放在一起对比：<strong>WorkBuddy</strong>（含同门的编程工具 <strong>CodeBuddy</strong>）、<strong>豆包工作</strong>、<strong>千问办公</strong>、<strong>QClaw</strong>、<strong>OpenClaw</strong>，以及智谱、Kimi、MiniMax 三家的桌面 Agent。</p><section><h3>一句话速览与核心差异<a href="#一句话速览与核心差异"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>产品</th><th>厂商</th><th>一句话定位</th><th>最大差异点</th><th>最适合谁</th></tr></thead><tbody><tr><td><a href="https://www.workbuddy.cn" target="_blank">WorkBuddy</a></td><td>腾讯</td><td>全场景职场 AI 智能体工作台</td><td>跨应用自动化最成熟（Excel → PPT 一条龙），微信远程控制是独门</td><td>企业微信用户、需要跨软件批量处理办公文件的人</td></tr><tr><td><a href="https://www.doubao.com/work" target="_blank">豆包工作</a></td><td>字节跳动</td><td>长在飞书里的企业级 Agent</td><td>本地 + 云电脑双轨执行，关机也能在云端跑长任务</td><td>飞书重度用户、需要定时跑任务的团队</td></tr><tr><td><a href="https://www.qianwen.com" target="_blank">千问办公</a></td><td>阿里</td><td>本地文件直读 + 钉钉生态的办公 Agent</td><td>不用上传，直接读本机磁盘文件并写回原路径</td><td>钉钉用户、做表与读写 PDF 多的人</td></tr><tr><td><a href="https://qclaw.qq.com/" target="_blank">QClaw</a></td><td>腾讯电脑管家</td><td>微信直连的本地 Agent，基于 OpenClaw 打造</td><td>零配置一键装、微信扫码即用，5000+ 技能市场</td><td>不想折腾配置、只想微信发指令就能干活的人</td></tr><tr><td><a href="https://openclaw.ai/" target="_blank">OpenClaw</a></td><td>开源社区</td><td>本地优先的开源个人 Agent 框架</td><td>完全开源、任意聊天软件当入口，可接本地模型做到全离线</td><td>重视数据主权、愿意自己配置的开发者与极客</td></tr><tr><td><a href="https://chatglm.cn" target="_blank">智谱清言 / AutoClaw</a></td><td>智谱 AI</td><td>免费额度最大的通用助手 + 视觉操作电脑的 AutoClaw</td><td>每日免费 Token 额度最高，可零代码定制专属 Agent</td><td>学生、预算有限的个人用户</td></tr><tr><td><a href="https://www.kimi.com" target="_blank">Kimi Work</a></td><td>月之暗面</td><td>子 Agent 并行能力最激进的一款</td><td>最多 300 个子 Agent 并行 + 最高 100 万 Token 上下文</td><td>处理超大型项目、超长文档与深度研究的人</td></tr><tr><td><a href="https://agent.minimax.io" target="_blank">MiniMax Agent</a></td><td>MiniMax</td><td>Agent 团队协作 + 多模态生成</td><td>视频、语音生成是传统强项，办公文档处理较弱</td><td>内容创作者、自媒体、多模态工作者</td></tr></tbody></table></section><section><h3>逐款详解<a href="#逐款详解"><span>#</span></a></h3><p>8 款产品的完整档案：能力边界、价格、平台支持与适用场景。</p><section><h4><a href="https://www.workbuddy.cn" target="_blank">WorkBuddy（腾讯）</a><a href="#workbuddy腾讯"><span>#</span></a></h4><blockquote><p>桌面智能体工作台 · 2026-03-09 公测 · Mac / Windows</p></blockquote><p><strong>核心能力：</strong> 提供 <strong>Craft（直接执行）/ Plan（先出方案再执行）/ Ask（只问答不操作）</strong> 三种模式，把执行权限交到你手里；跨应用自动化是八款里最成熟的，能模拟人工在多个办公软件间切换，也能批量读写、合并、转换 Word / Excel / PPT / PDF。微信远程下发指令是它的独门功能——人在外面用手机说一句，家里或公司电脑就开始干活。</p><p><strong>生态与规模：</strong> 兼容 OpenClaw 技能体系与 MCP 协议，与企业微信、腾讯文档、腾讯会议原生联动；据易观分析，2026 年 6 月以 2097 万次桌面端月访问量居国内同类产品首位，2026 年 9 月开放平台上线、首批引入超百家生态伙伴。</p><p><strong>同门产品：</strong> 与腾讯云 <strong>CodeBuddy</strong>（AI 编程工具，含 IDE / 插件 / CLI 三种形态与 Agent SDK）<strong>同源共底座</strong>——两者是并行的「办公线」与「编程线」，不是迭代关系：写代码用 CodeBuddy，办公自动化用 WorkBuddy，共享同一套模型与技能生态。</p><p><strong>价格：</strong> 体验版免费（500 积分 / 月）、标准版 70 元 / 月、高级版 140 元 / 月、旗舰版 700 元 / 月。<strong>官网与文档：</strong><a href="https://www.workbuddy.cn" target="_blank">workbuddy.cn</a> ｜ <a href="https://www.workbuddy.cn/docs/workbuddy/Overview" target="_blank">使用文档</a></p></section><section><h4><a href="https://www.doubao.com/work" target="_blank">豆包工作（字节跳动）</a><a href="#豆包工作字节跳动"><span>#</span></a></h4><blockquote><p>企业级 Agent 生产力平台 · 2026-08-25 发布 · 电脑版</p></blockquote><p><strong>核心能力：</strong> 主打「指令进、成果出」的完整闭环。执行上采用<strong>本地 + 云电脑双轨</strong>——本地任务直接操作你的电脑，长周期任务（定时采集、竞品监控）交给云端挂机跑，<strong>关掉电脑也不影响</strong>。交付上支持全栈多模态：除文档表格外，能直接生成图片、视频、网页与轻应用；还支持框选文档 / PPT / 表格任意区域做定点修改，不必整篇重写。</p><p><strong>生态与规模：</strong> 与飞书深度打通，用飞书账号登录即可在权限内继承企业知识、文档、会议纪要、日程与聊天记录，产出也会沉淀回飞书形成可复用资产；内置 200+ 官方技能、10+ 主流平台连接器与多 Agent「工作伙伴」。</p><p><strong>价格：</strong> 个人版三级阶梯（标准 68 元 / 月、加强 200 元 / 月、高级 500 元 / 月），企业版按席位起售；新用户可领 30 天专业版试用。<strong>官网：</strong><a href="https://www.doubao.com/work" target="_blank">doubao.com/work</a></p></section><section><h4><a href="https://www.qianwen.com" target="_blank">千问办公（阿里）</a><a href="#千问办公阿里"><span>#</span></a></h4><blockquote><p>桌面 Agent + 云端 Agent + 企业协同 · 2026-08-03 公测</p></blockquote><p><strong>核心能力：</strong> 业内首款同时支持桌面端、云端与企业协同三种形态的产品。最实用的差异点是<strong>本地磁盘文件直读</strong>：不用上传、不用下载，AI 直接读你磁盘里的文档、表格、图片，处理完存回原路径，体验最接近本地软件。Excel Agent、Word / PDF Agent 是它的专业强项，做表、读 PDF、润色文档都很扎实。</p><p><strong>生态与规模：</strong> 由 QoderWork、MuleRun、悟空三款产品整合而来，深度融入钉钉生态，可把常用流程保存为「组织级 Skill」供团队复用。</p><p><strong>价格：</strong> 免费版可用，标准版 78 元 / 月（连续包月）、高级版 158 元 / 月；公测期注册送 2000 积分、每日登录再送。<strong>官网：</strong><a href="https://www.qianwen.com" target="_blank">qianwen.com</a></p></section><section><h4><a href="https://qclaw.qq.com/" target="_blank">QClaw（腾讯电脑管家）</a><a href="#qclaw腾讯电脑管家"><span>#</span></a></h4><blockquote><p>基于 OpenClaw 的本地 Agent · Mac / Windows</p></blockquote><p><strong>核心能力：</strong> 把开源框架 OpenClaw 做成了「打开即用」的消费级产品：一键安装、无需配置环境，微信扫码绑定后，直接用微信发消息就能远程操控电脑——整理文件、改文档、查数据、设提醒。全程本地运行，任务执行与数据存储不出设备，带原生安全沙箱。</p><p><strong>生态：</strong> 内置 Kimi、MiniMax、GLM、DeepSeek 等多款国产大模型并可自由切换；接入 ClawHub、GitHub 等 Skills 市场（官方称 5000+ 技能）；还支持一键关联你已安装的 OpenClaw。相比原版 OpenClaw，它把「配环境」这一步彻底省掉了。</p><p><strong>价格：</strong> 免费为主，以官网公示为准。<strong>官网与文档：</strong><a href="https://qclaw.qq.com/" target="_blank">qclaw.qq.com</a> ｜ <a href="https://qclaw.qq.com/docs/" target="_blank">产品文档</a></p></section><section><h4><a href="https://openclaw.ai/" target="_blank">OpenClaw（开源）</a><a href="#openclaw开源"><span>#</span></a></h4><blockquote><p>本地优先的开源个人 Agent 框架 · macOS / Windows / Linux</p></blockquote><p><strong>核心能力：</strong> 它把「聊天软件」变成指挥台：WhatsApp、Telegram、Discord、Slack、Teams、iMessage 里都能对话，然后用 Browser、Exec、Web 等工具把「说」变成「做」——清空收件箱、发邮件、更新日历、跑脚本。内置 Gateway 安全边界，配合审批与隔离策略控制风险；支持 Cron、Hooks、Webhooks 等触发方式，可以把重复流程做成定时任务。</p><p><strong>生态与规模：</strong> 2026 年增长最快的开源项目之一，GitHub 星标已超 <strong>38.9 万</strong>（本指南收录项目中最高）。技能、插件、记忆体系开放，本指南<a href="/posts/mac-api-06-skills/">第六部分「开源能力库」</a>里多个技能都基于它开发（小红书运营、多智能体编排等都直接标明支持 OpenClaw）。</p><p><strong>价格：</strong> 开源免费，模型可接云端 API Key，也可接本地 Ollama 做到完全离线。<strong>官网与仓库：</strong><a href="https://openclaw.ai/" target="_blank">openclaw.ai</a> ｜ <a href="https://github.com/openclaw/openclaw" target="_blank">github.com/openclaw/openclaw</a></p></section><section><h4><a href="https://chatglm.cn" target="_blank">智谱清言 / AutoClaw（智谱 AI）</a><a href="#智谱清言--autoclaw智谱-ai"><span>#</span></a></h4><blockquote><p>通用助手 + 视觉操作电脑 · 全平台</p></blockquote><p><strong>核心能力：</strong> 免费额度是同类里最大方的：每日 200 万 Token 对话额度，写论文、读文献、学知识基本够用。支持零代码创建个性化 Agent——上传行业资料就能训练专属助手（HR 面试官、跨境客服等）；长文档分析支持 20 万字。AutoClaw 走的是另一条路线：基于 GLM-PC 视觉模型直接「看屏幕操作电脑」，技术路线先进但场景覆盖仍在完善中。</p><p><strong>生态与合规：</strong> 国内首批通过备案，数据安全合规，支持私有化部署；但不绑定任何办公生态，协同能力相对弱。</p><p><strong>价格：</strong> 通用对话免费，专业版 39 元 / 月起。<strong>官网：</strong><a href="https://chatglm.cn" target="_blank">chatglm.cn</a> ｜ AutoClaw：<a href="https://autoclaw.z.ai" target="_blank">autoclaw.z.ai</a></p></section><section><h4><a href="https://www.kimi.com" target="_blank">Kimi Work（月之暗面）</a><a href="#kimi-work月之暗面"><span>#</span></a></h4><blockquote><p>多 Agent 并行 + 超长上下文 · 桌面端</p></blockquote><p><strong>核心能力：</strong> 多 Agent 并行能力最激进：支持最多 <strong>300 个子 Agent</strong> 同时工作，你给一个大目标，它自动拆成大量子任务分派给不同角色并行推进。超长上下文是传统强项，最高档支持 100 万 Token，整本代码库或整套文档可以一次性喂进去。通过 WebBridge 控制你的真实浏览器，网页抓取、填表、发帖都能做；Widgets 与 Dashboard 能把对话结果沉淀成可交互的持久视图。</p><p><strong>适合与局限：</strong> 适合超大型复杂项目与深度研究；但本地文件操作与跨应用能力不如办公型产品，也没有原生办公套件集成。</p><p><strong>价格：</strong> 免费版每月约 6 次 Agent 任务；49 / 99 / 199 / 699 元 / 月四档。<strong>官网：</strong><a href="https://www.kimi.com" target="_blank">kimi.com</a></p></section><section><h4><a href="https://agent.minimax.io" target="_blank">MiniMax Agent</a><a href="#minimax-agent"><span>#</span></a></h4><blockquote><p>Agent 团队协作 + 多模态生成 · 桌面端</p></blockquote><p><strong>核心能力：</strong> 特色是 <strong>Agent Teams</strong>：可以创建不同角色的 Agent 组成团队，分工完成又长又复杂的任务。具备 Computer Use 能力，能像人一样识别屏幕上的软件界面并操作；Pocket 功能打通了飞书与微信，可跨应用操作。视频生成与语音生成是它的传统强项，做自媒体内容的人会明显受益；MCP 生态开放，插件可定制性强。</p><p><strong>适合与局限：</strong> 适合内容创作者与多模态工作者；办公文档处理（Excel / PPT）的专业度不如千问办公与 WorkBuddy，也没有绑定办公生态。</p><p><strong>价格：</strong> Plus 49 元 / 月、Max 119 元 / 月、Ultra 469 元 / 月；视频生成需另购 Media Plan。<strong>官网：</strong><a href="https://agent.minimax.io" target="_blank">agent.minimax.io</a></p></section></section><section><h3>怎么选：先看公司用什么办公软件<a href="#怎么选先看公司用什么办公软件"><span>#</span></a></h3><div><div><div></div><div>一句话结论</div></div><div><p><strong>飞书选豆包工作，钉钉选千问办公，企业微信选 WorkBuddy，想微信一句话就干活选 QClaw，重视数据主权选 OpenClaw，预算有限选智谱清言，做视频选 MiniMax，处理超长文档选 Kimi Work。</strong></p></div></div><ul>
<li><strong>生态绑定比模型能力更重要。</strong> 实际使用中，能不能无缝打通你每天都在用的办公软件，比底层模型多几千亿参数影响大得多——因为你省下的不是「推理时间」，而是「复制粘贴与来回切换的时间」。</li>
<li><strong>桌面 Agent 与开源 Agent 不是二选一。</strong> 常见组合是：一个开箱即用的产品处理日常办公，再装 OpenClaw 之类把特殊流程自动化，两者可以共存（QClaw 甚至支持一键关联已装的 OpenClaw）。</li>
<li><strong>权限只给最小范围。</strong> 所有这类产品都需要授权本地文件访问，建议只授权指定工作文件夹，不要一上来就给整个磁盘。</li>
<li><strong>现在还不适合买年付。</strong> 这 8 款产品大多在 2026 年才发布或重大更新，迭代速度极快，今天的短板可能下个月就补上了。先用免费额度或月付观察两三个月再决定长期方案。</li>
</ul><div><div><div></div><div>数据说明</div></div><div><p>本节的价格、用户规模与功能描述来自各厂商公开资料与 2026 年公开报道（其中 WorkBuddy 月访问量引自易观分析），可能随时调整；功能细节请以各产品官网与客户端内的实际说明为准。</p></div></div><blockquote><p><strong>接下来</strong>：主力定下来，接下来给它装能力。<strong>开源能力库</strong>收录 172 个已核验的 Skill 与 Agent 项目、25 个分类，每个分类都能一键切换查看。</p></blockquote><p><strong>本节口径</strong>：一、8 款产品的「一句话定位」「最强项」「最适合」「要留意」为编辑归纳，依据各产品官方文档与公开评测，核对日 2026-09-14，<strong>属主观判断</strong>，不构成对各产品的绝对评价。二、产品迭代很快，功能与定价请以官网为准。三、「怎么选」一节给的是<strong>决策顺序</strong>，不是结论——先看公司办公软件、再看任务类型、最后比价格。</p><p>================= 13 开源能力库 =================</p><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-06-skills/</id>
      <title type="text">开源能力库：Skill 技能库与 Agent 智能体库</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-06-skills/"/>
      <summary type="text">按用途划分的 13 类 Skill 技能库与 12 类 Agent 智能体库，共 170+ 开源项目清单、分类与获取渠道。</summary>
      <content type="html"><![CDATA[<section><h2>开源能力库：给手里的 Agent 装能力<a href="#开源能力库给手里的-agent-装能力"><span>#</span></a></h2></section>
<section><h2>开源能力库：总览与入口<a href="#开源能力库总览与入口"><span>#</span></a></h2><p>手里这个 Agent 能装哪些能力、又能换成哪些更专门的 Agent？全库按 Skill 与 Agent 两大部分组织。</p></section>
<section><h2>Skill 技能库<a href="#skill-技能库"><span>#</span></a></h2><p>给手里的 Agent 装上单点能力——读文件、抓网页、写文档、出图表；你点名，它执行。</p><p><a href="/posts/mac-api-06-skills/">进入 Skill 技能库 →</a></p></section>
<section><h2>Agent 智能体库<a href="#agent-智能体库"><span>#</span></a></h2><p>换一个能自己推进任务的执行者——理解目标、拆解步骤、调用工具、交付结果；你给目标，它推进。</p><p><a href="/posts/mac-api-06-skills/">进入 Agent 智能体库 →</a></p><blockquote><p><strong>接下来</strong>：两部分各有侧重：<strong>Skill 补单点能力，Agent 换执行者</strong>。先逛哪个都行——下一页先看 Skill 技能库。</p></blockquote></section>
<section><h2>Skill 技能库：给 Agent 装上具体能力<a href="#skill-技能库给-agent-装上具体能力"><span>#</span></a></h2><p><a href="/posts/mac-api-06-skills/">← 返回开源能力库</a></p><section><h3>S1 · 省 Token 与上下文工程<a href="#s1--省-token-与上下文工程"><span>#</span></a></h3><p>决定 API 账单高低的一层。原理分三类：<strong>输入侧压缩</strong>（把工具输出、日志、文件内容瘦身后再发给模型）、<strong>输出侧精简</strong>（让模型少说废话）、<strong>上下文工程</strong>（该记的记住、该忘的忘掉）。选择标准：改动越靠近提示词层，兼容性越好、上手越快；带监控面板的项目适合「先量化，再优化」。</p><section><h4><a href="https://github.com/headroomlabs-ai/headroom" target="_blank">Headroom</a><a href="#headroom"><span>#</span></a></h4><blockquote><p>headroomlabs-ai/headroom · Python★ 71.8k</p></blockquote><p>在内容进入模型之前先做压缩的中间件：工具输出、日志文件、代码 diff、RAG 片段都会在这一层被瘦身，不活跃的上下文下沉到分层记忆里。官方给出的数据是编码类 Agent 可减少约 20% 的 Token 消耗，并附带消耗监控与开销报表。适合上下文里长期堆着大量命令回显、编译日志的场景；如果你只是偶尔聊天，收益不明显。</p></section><section><h4><a href="https://github.com/JuliusBrussee/caveman" target="_blank">Caveman</a><a href="#caveman"><span>#</span></a></h4><blockquote><p>JuliusBrussee/caveman · Go★ 105.3k</p></blockquote><p>一个把「省字」做到极致的 Claude Code 技能：让模型用原始人式的短句回答，砍掉客套话、重复确认和解释性铺垫，官方称可削减约 65% 的输出 Token。适合你已经完全看懂答案、只想要结论的场景（批量改写、脚本生成、数据清洗）；需要详细讲解的教学任务不适合用。</p></section><section><h4><a href="https://github.com/wilpel/caveman-compression" target="_blank">Caveman Compression</a><a href="#caveman-compression"><span>#</span></a></h4><blockquote><p>wilpel/caveman-compression · Python★ 1.1k</p></blockquote><p>把「原始人语」背后的思路提炼成通用方法：删掉可预测的语法成分，只保留信息密度高的部分。它是一个语义压缩方案与工程实现，不是即插即用的技能包，适合想自己改造提示词、把压缩逻辑嵌进自己系统的开发者。</p></section><section><h4><a href="https://github.com/DietrichGebert/ponytail" target="_blank">Ponytail</a><a href="#ponytail"><span>#</span></a></h4><blockquote><p>DietrichGebert/ponytail · JavaScript★ 136.8k</p></blockquote><p>让 AI 像「办公室里最懒的资深工程师」那样写代码：能复用标准库就绝不自造，能不写代码就不写。官方称平均减少约 54% 的代码行数。适合反感 AI 过度工程化、每次生成都甩出几百行冗余代码的人；对需要完整脚手架的新项目帮助有限。</p></section><section><h4><a href="https://github.com/ooples/token-optimizer-mcp" target="_blank">token-optimizer-mcp</a><a href="#token-optimizer-mcp"><span>#</span></a></h4><blockquote><p>ooples/token-optimizer-mcp · JavaScript★ 522</p></blockquote><p>以 MCP 形式接入的度量工具：能统计每个编码 Agent 到底省下多少 Token、优化了多少上下文，并在 16 个以上 Agent 之间共享一个本地知识图谱。适合已经装了多个 Agent、想把「省了多少」这件事量化出来再做取舍的人。</p></section><section><h4><a href="https://github.com/Context-Engine-AI/Context-Engine" target="_blank">Context-Engine</a><a href="#context-engine"><span>#</span></a></h4><blockquote><p>Context-Engine-AI/Context-Engine · Python★ 400</p></blockquote><p>走 MCP 协议的上下文压缩套件，把压缩、检索与记忆合并成一整套服务，由 Agent 自主调用。适合想把上下文管理做成团队基础设施、而不是零散提示词技巧的工程团队。</p></section><section><h4><a href="https://github.com/sci-m-wang/OpenCE" target="_blank">OpenCE</a><a href="#opence"><span>#</span></a></h4><blockquote><p>sci-m-wang/OpenCE · Python★ 331</p></blockquote><p>Open Context Engineering 社区工具箱：提供上下文策略的实现、评估与组合对比框架。偏研究取向，适合想系统比较不同压缩与记忆策略效果、而不是直接拿来用的开发者或研究者。</p></section></section><section><h3>S2 · 技能合集与配置框架<a href="#s2--技能合集与配置框架"><span>#</span></a></h3><p>解决「装什么、怎么配」的问题。<strong>合集类</strong>项目可以一次性补齐几十到上千个技能；<strong>框架类</strong>项目统一你的工作流与行为准则；<strong>管理类</strong>项目帮你同时驾驭多个 Agent。选择标准：刚上手从「单文件配置」开始，成本最低；已经上手再考虑大合集，按需挑选而不是全量安装。这些技能大多源自 Claude Code 生态，但遵循统一的 Agent Skills 规范，Claude Code、Codex、Cursor 等支持该规范的客户端都能加载。</p><section><h4><a href="https://github.com/obra/superpowers" target="_blank">Superpowers</a><a href="#superpowers"><span>#</span></a></h4><blockquote><p>obra/superpowers · Shell★ 285.9k</p></blockquote><p>目前最完整的 Agent 技能框架之一，把软件开发的整套方法论固化成技能：需求对齐 → 测试驱动开发 → 代码审查 → 架构优化。装进 Claude Code 后，Agent 会按既定工程流程推进，而不是随手开始写代码。适合想要「工程纪律」的个人与团队，也是理解 Skill 体系怎么设计的最佳样本。</p></section><section><h4><a href="https://github.com/affaan-m/ECC" target="_blank">ECC 性能优化全家桶</a><a href="#ecc-性能优化全家桶"><span>#</span></a></h4><blockquote><p>affaan-m/ECC · JavaScript★ 257.3k</p></blockquote><p>体量最大的技能合集之一，包含数十个 Agent 与上百个 Skill，覆盖前端、后端、测试、运维、安全与研究。适合一次性补齐能力版图的开发者；因为体量大，建议先看目录再按需安装，避免把上下文挤满。</p></section><section><h4><a href="https://github.com/multica-ai/andrej-karpathy-skills" target="_blank">andrej-karpathy-skills</a><a href="#andrej-karpathy-skills"><span>#</span></a></h4><blockquote><p>multica-ai/andrej-karpathy-skills★ 212.7k</p></blockquote><p>只有一份 CLAUDE.md 配置文件，内容基于 Andrej Karpathy 对大模型编程行为的观察整理，专门用来纠正 Claude Code 常见的坏习惯（过度抽象、乱改无关代码、不做验证就宣布完成）。是所有项目里上手成本最低的一个——不改代码、不装依赖，覆盖文件即可生效。</p></section><section><h4><a href="https://github.com/anthropics/skills" target="_blank">Anthropic Official Skills</a><a href="#anthropic-official-skills"><span>#</span></a></h4><blockquote><p>anthropics/skills · Python★ 176.0k</p></blockquote><p>Anthropic 官方发布的 Agent Skills 仓库，定义了技能的标准结构、写法与官方示例。它是判断第三方技能是否规范的参照物；想自己写 Skill 的话，从这里开始最不容易走弯路。</p></section><section><h4><a href="https://github.com/ComposioHQ/awesome-claude-skills" target="_blank">awesome-claude-skills</a><a href="#awesome-claude-skills"><span>#</span></a></h4><blockquote><p>ComposioHQ/awesome-claude-skills · Python★ 74.9k</p></blockquote><p>社区精选的 Claude 技能、资源与工具清单，带分类与一句话说明。适合先整体逛一圈、建立「有哪些能力可用」的认知，再决定装哪一个。</p></section><section><h4><a href="https://github.com/hesreallyhim/awesome-claude-code" target="_blank">awesome-claude-code</a><a href="#awesome-claude-code"><span>#</span></a></h4><blockquote><p>hesreallyhim/awesome-claude-code · Python★ 54.0k</p></blockquote><p>手工筛选的 Claude Code 资源合集，偏工具、工作流与实战技巧，比纯清单多了使用场景说明。适合已经用了一段时间、想找进阶玩法的人。</p></section><section><h4><a href="https://github.com/VoltAgent/awesome-agent-skills" target="_blank">awesome-agent-skills</a><a href="#awesome-agent-skills"><span>#</span></a></h4><blockquote><p>VoltAgent/awesome-agent-skills★ 34.2k</p></blockquote><p>1000+ 技能索引，来源既有官方团队也有社区贡献，兼容 Claude Code 生态。覆盖面最广，适合按关键词检索特定能力的技能。</p></section><section><h4><a href="https://github.com/VoltAgent/awesome-claude-code-subagents" target="_blank">awesome-claude-code-subagents</a><a href="#awesome-claude-code-subagents"><span>#</span></a></h4><blockquote><p>VoltAgent/awesome-claude-code-subagents · Shell★ 25.0k</p></blockquote><p>100+ 个专用子代理，按角色划分：前端、后端、测试、安全、文档等。可以直接把「团队分工」搬进 Claude Code，让不同角色各管一摊。</p></section><section><h4><a href="https://github.com/oxygen-fragment/claude-modular" target="_blank">claude-modular</a><a href="#claude-modular"><span>#</span></a></h4><blockquote><p>oxygen-fragment/claude-modular★ 283</p></blockquote><p>模块化的 Claude Code 框架，提供 30+ 命令并自带 Token 优化与 MCP 服务器集成。适合想把 Claude Code 配置成一套标准化工作环境（而不是东一个技能西一个插件）的人。</p></section><section><h4><a href="https://github.com/farion1231/cc-switch" target="_blank">CC-Switch</a><a href="#cc-switch"><span>#</span></a></h4><blockquote><p>farion1231/cc-switch · Rust★ 132.6k</p></blockquote><p>跨平台桌面客户端，统一管理 Claude Code、Codex、OpenCode、OpenClaw、Grok Build、Hermes 等多个工具与模型切换。适合同时使用多个 Agent、不想反复手改配置文件的人。</p></section><section><h4><a href="https://github.com/automazeio/ccpm" target="_blank">CCPM 项目管理</a><a href="#ccpm-项目管理"><span>#</span></a></h4><blockquote><p>automazeio/ccpm · Shell★ 8.4k</p></blockquote><p>基于 GitHub Issues 与 Git Worktree 的项目管理技能系统，让多个 Agent 并行开工而互不抢占同一份代码。适合用 GitHub 做研发管理、想让 Agent 真正参与协作流程而非单打独斗的团队。</p></section></section><section><h3>S3 · 浏览器与联网操控技能<a href="#s3--浏览器与联网操控技能"><span>#</span></a></h3><p>让 Agent 能「看见并操作」网页。这一类要区分两件事：<strong>联网取信息</strong>（读取、抓取、检索）与<strong>浏览器操控</strong>（点击、输入、提交流程）。选择标准：只需要读内容选联网型；要跑完整网页流程选操控型；被反爬拦截时优先选能复用你已登录浏览器状态的那种。</p><section><h4><a href="https://github.com/eze-is/web-access" target="_blank">Web Access</a><a href="#web-access"><span>#</span></a></h4><blockquote><p>eze-is/web-access · JavaScript★ 8.9k</p></blockquote><p>给 Claude Code 补上完整联网能力的技能：三层通道调度（接口 / 渲染 / 兜底）+ 浏览器 CDP + 并行分治，既能读网页也能并发抓多源数据。适合需要 Agent 自己上网查资料、监控信息、批量收集素材的场景。</p></section><section><h4><a href="https://github.com/SawyerHood/dev-browser" target="_blank">Dev Browser</a><a href="#dev-browser"><span>#</span></a></h4><blockquote><p>SawyerHood/dev-browser · TypeScript★ 6.6k</p></blockquote><p>Claude 技能形态的浏览器控制，偏前端调试方向：查看页面元素、分析网络请求、复现页面问题。适合前端工程师让 Agent 自己开浏览器排查而不是靠人肉描述。</p></section><section><h4><a href="https://github.com/vercel-labs/agent-browser" target="_blank">agent-browser</a><a href="#agent-browser"><span>#</span></a></h4><blockquote><p>vercel-labs/agent-browser · Rust★ 42.5k</p></blockquote><p>Vercel 出品的浏览器自动化命令行工具，用 Rust 编写，为 Agent 提供统一的 CLI 接口。适合把浏览器操作接进已有脚本、CI 流水线或自定义 Agent 项目中。</p></section><section><h4><a href="https://github.com/hangwin/mcp-chrome" target="_blank">mcp-chrome</a><a href="#mcp-chrome"><span>#</span></a></h4><blockquote><p>hangwin/mcp-chrome · TypeScript★ 12.4k</p></blockquote><p>以 Chrome 扩展形式实现的 MCP Server，直接把你自己已登录的浏览器暴露给 Agent 使用。相比新开一个没有登录态的浏览器，它的优势是能直接复用你的账号、Cookie 与浏览状态，省掉反复登录与验证码。</p></section></section><section><h3>S4 · 办公文档与文件解析<a href="#s4--办公文档与文件解析"><span>#</span></a></h3><p>出报告、做汇报、把文件变成数据。要分清两个方向：<strong>生成</strong>（写 Word、做 PPT、套模板）与<strong>解析</strong>（把 PDF、扫描件读成结构化数据），两者通常不通用。选择标准：对格式要求严格选模板引擎；要 AI 直接产出选办公套件；要做知识库入库选解析器；版式复杂、扫描件优先选视觉大模型方案。</p><section><h4><a href="https://github.com/iOfficeAI/OfficeCLI" target="_blank">OfficeCLI</a><a href="#officecli"><span>#</span></a></h4><blockquote><p>iOfficeAI/OfficeCLI · C#★ 30.5k</p></blockquote><p>专为 AI Agent 打造的 Office 套件，用命令行读写 Word、Excel、PowerPoint。适合批量生成与批量改写文档，或把 Office 文件处理接进自动化流水线——它面向的是「程序调用」而不是「人点界面」。</p></section><section><h4><a href="https://github.com/The-Vibe-Company/megaparse" target="_blank">megaparse</a><a href="#megaparse"><span>#</span></a></h4><blockquote><p>The-Vibe-Company/megaparse · Python★ 7.4k</p></blockquote><p>面向 LLM 的无损文件解析器，把 PDF、Docx、PPTx 一次性转成适合模型消化的结构化格式，尽量不丢表格与层级。适合做知识库入库、批量文献处理这类「先解析再喂模型」的流水线。</p></section><section><h4><a href="https://github.com/genspark-ai/genoffice" target="_blank">GenOffice</a><a href="#genoffice"><span>#</span></a></h4><blockquote><p>genspark-ai/genoffice · TypeScript★ 6.6k</p></blockquote><p>开源 AI 办公套件：Docs、Sheets、Slides、PDF、Markdown、HTML 编辑器一站齐全，内置 AI Agent。适合想自建一套办公工具、让文档数据完全留在自己环境里的人。</p></section><section><h4><a href="https://github.com/open-xml-templating/docxtemplater" target="_blank">docxtemplater</a><a href="#docxtemplater"><span>#</span></a></h4><blockquote><p>open-xml-templating/docxtemplater · JavaScript★ 3.6k</p></blockquote><p>老牌模板引擎，用「文档模板 + JSON 数据」批量生成 docx、pptx、xlsx。需要严格格式的合同、报表、投标文件时，它比让 AI 从零写文档稳定得多，也是把 AI 输出落进固定版式的常见做法。</p></section><section><h4><a href="https://github.com/CatchTheTornado/text-extract-api" target="_blank">text-extract-api</a><a href="#text-extract-api"><span>#</span></a></h4><blockquote><p>CatchTheTornado/text-extract-api · Python★ 3.2k</p></blockquote><p>文档解析 API 服务，支持 PDF、Word、PPTX，结合现代 OCR 与本地 Ollama 模型，可完全私有化部署。适合要自建文档入库服务、又不想把资料传到第三方的团队。</p></section><section><h4><a href="https://github.com/iamarunbrahma/vision-parse" target="_blank">vision-parse</a><a href="#vision-parse"><span>#</span></a></h4><blockquote><p>iamarunbrahma/vision-parse · Python★ 482</p></blockquote><p>用视觉大模型把 PDF 解析成 Markdown，对多栏排版、扫描件、图表混排的文档效果明显好于规则解析。适合处理论文、扫描合同、旧版报告这类「版式不听话」的文件。</p></section><section><h4><a href="https://github.com/promptadvisers/claude-code-polished-documents-skills" target="_blank">claude-code-polished-documents-skills</a><a href="#claude-code-polished-documents-skills"><span>#</span></a></h4><blockquote><p>promptadvisers/claude-code-polished-documents-skills · Python★ 15</p></blockquote><p>Claude Code 的文档生成与排版技能合集，把「文档写成什么样才算好看」固化成可复用技能。项目偏小众、星标不多，但方向明确，适合对文档观感有要求的人自行取用。</p></section></section><section><h3>S5 · 内容创作与新媒体运营<a href="#s5--内容创作与新媒体运营"><span>#</span></a></h3><p>国内外平台差异很大：国内以小红书、公众号为主，海外以亚马逊、独立站为主。<strong>内容侧</strong>管选题到发布，<strong>视觉侧</strong>管图与版式，<strong>增长侧</strong>管 SEO 与流量。选择标准：做号选内容运营类；做店选店铺与选品类；要做站外流量选增长类。多数项目依赖账号权限，使用前先确认平台规则。</p><section><h4><a href="https://github.com/op7418/guizang-social-card-skill" target="_blank">guizang-social-card-skill</a><a href="#guizang-social-card-skill"><span>#</span></a></h4><blockquote><p>op7418/guizang-social-card-skill · HTML★ 7.0k</p></blockquote><p>生成小红书图集与公众号头图配对的技能，支持 21&lt;9&gt; 封面 + 1&lt;1&gt; 方图成套输出，内置编辑风、瑞士风等多套版式。适合需要稳定视觉风格、又不想每次都手动排版的日更账号。</p></section><section><h4><a href="https://github.com/white0dew/XiaohongshuSkills" target="_blank">XiaohongshuSkills</a><a href="#xiaohongshuskills"><span>#</span></a></h4><blockquote><p>white0dew/XiaohongshuSkills · Python★ 3.4k</p></blockquote><p>支持小红书自动发布、自动评论与自动检索的 Skill，兼容 OpenClaw、Codex、Claude Code 等客户端。适合把账号日常维护（发帖、互动、找选题）交给 Agent 的人。</p></section><section><h4><a href="https://github.com/Xiangyu-CAS/xiaohongshu-ops-skill" target="_blank">xiaohongshu-ops-skill</a><a href="#xiaohongshu-ops-skill"><span>#</span></a></h4><blockquote><p>Xiangyu-CAS/xiaohongshu-ops-skill★ 2.3k</p></blockquote><p>把 OpenClaw 变成小红书运营助手：覆盖账号分析、选题、内容创作、数据复盘、爆款复刻，甚至支持全托管运营。适合想把整个账号运营流程交给 Agent 的重度用户。</p></section><section><h4><a href="https://github.com/autoclaw-cc/xiaohongshu-skills" target="_blank">xiaohongshu-skills</a><a href="#xiaohongshu-skills"><span>#</span></a></h4><blockquote><p>autoclaw-cc/xiaohongshu-skills · Python★ 1.9k</p></blockquote><p>小红书技能集合，轻量脚本向，功能比上面两个更基础，胜在简单直接。适合只想补一两个具体动作（比如批量下载、批量检索）的人。</p></section><section><h4><a href="https://github.com/feichanggege/ecommerce-visual-copywriting-skill" target="_blank">电商视觉文案 Skill</a><a href="#电商视觉文案-skill"><span>#</span></a></h4><blockquote><p>feichanggege/ecommerce-visual-copywriting-skill · Python★ 748</p></blockquote><p>把资深电商设计师的商品图方法论固化成 SOP 技能，让新手也能一键产出有设计感的商品主图与卖点文案。兼容 Claude、Codex、Cursor、WorkBuddy 等 SKILL.md 规范客户端。</p></section><section><h4><a href="https://github.com/aiworkskills/wechat-article-skills" target="_blank">wechat-article-skills</a><a href="#wechat-article-skills"><span>#</span></a></h4><blockquote><p>aiworkskills/wechat-article-skills · Python★ 597</p></blockquote><p>微信公众号 AI 运营助手的全流程技能：选题、写稿、审稿、排版、配图、发布一条链走完。支持 OpenClaw、Claude Code、Cursor、Codex 等客户端，适合公众号日更或周更的运营者。</p></section><section><h4><a href="https://github.com/nexscope-ai/eCommerce-Skills" target="_blank">eCommerce-Skills</a><a href="#ecommerce-skills"><span>#</span></a></h4><blockquote><p>nexscope-ai/eCommerce-Skills · Python★ 919</p></blockquote><p>电商通用技能包，覆盖选品调研、营销自动化、供应链优化与客服支持。适合做独立站或跨境业务的运营者，先搭起整套流程再按需细化。</p></section><section><h4><a href="https://github.com/nexscope-ai/Amazon-Skills" target="_blank">Amazon-Skills</a><a href="#amazon-skills"><span>#</span></a></h4><blockquote><p>nexscope-ai/Amazon-Skills · Python★ 664</p></blockquote><p>亚马逊卖家专用技能：关键词研究、竞品分析、Listing 体检等。免费开源、即装即用，适合刚做亚马逊、需要快速补齐基础运营动作的卖家。</p></section><section><h4><a href="https://github.com/AgriciDaniel/claude-seo" target="_blank">claude-seo</a><a href="#claude-seo"><span>#</span></a></h4><blockquote><p>AgriciDaniel/claude-seo · Python★ 16.8k</p></blockquote><p>通用 SEO 技能，包含 25 个子技能与 18 个子代理，覆盖技术 SEO、E-E-A-T、结构化数据、内链优化等。适合做站点流量、需要系统化审计而不是零散建议的人。</p></section><section><h4><a href="https://github.com/joeseesun/qiaomu-anything-to-notebooklm" target="_blank">qiaomu-anything-to-notebooklm</a><a href="#qiaomu-anything-to-notebooklm"><span>#</span></a></h4><blockquote><p>joeseesun/qiaomu-anything-to-notebooklm · Python★ 6.0k</p></blockquote><p>Claude 技能：把微信公众号文章、网页、YouTube 视频、PDF 等多源内容统一转成 NotebookLM 可用素材。适合做研究工作流、需要把散落资料汇总成一份可问答知识库的人。</p></section><section><h4><a href="https://github.com/Hommy-master/capcut-mate" target="_blank">CapCut Mate（剪映助手）</a><a href="#capcut-mate剪映助手"><span>#</span></a></h4><blockquote><p>Hommy-master/capcut-mate · Python★ 1.8k</p></blockquote><p>开源剪映助手，通过剪映 API 生成并下载草稿文件，可配合扣子（Coze）插件使用。适合用固定模板批量出片的团队——先做好模板，再让程序批量填内容。</p></section><section><h4><a href="https://github.com/Agents365-ai/video-podcast-maker" target="_blank">video-podcast-maker</a><a href="#video-podcast-maker"><span>#</span></a></h4><blockquote><p>Agents365-ai/video-podcast-maker · Python★ 1.6k</p></blockquote><p>给编码 Agent 用的视频技能：给一个主题直接产出 4K 配音视频，配音可走本地 edge-tts（免费）或 Azure 语音，也支持清单化批量制作。适合做口播视频、播客视频化的创作者。</p></section></section><section><h3>S6 · 科研与学术写作<a href="#s6--科研与学术写作"><span>#</span></a></h3><p>覆盖「读文献 → 想选题 → 写论文 → 出图表 → 投稿」的链路上游环节。文献检索与管理是刚需，成稿润色是提效，配图与传播是加分项。选择标准：先解决「AI 能不能读到真论文」，再解决「写得像不像人」。</p><section><h4><a href="https://github.com/blazickjp/arxiv-mcp-server" target="_blank">arxiv-mcp-server</a><a href="#arxiv-mcp-server"><span>#</span></a></h4><blockquote><p>blazickjp/arxiv-mcp-server · Python★ 3.1k</p></blockquote><p>本地 MCP 服务器，面向文献工作：可以直接读 arXiv 论文的原始 LaTeX 分节内容（而不是读二手摘要），并从元数据生成 BibTeX。装好之后 Agent 才算真正「读过论文」，这是科研场景最值得先配的一环。</p></section><section><h4><a href="https://github.com/aipoch/medical-research-skills" target="_blank">medical-research-skills</a><a href="#medical-research-skills"><span>#</span></a></h4><blockquote><p>aipoch/medical-research-skills · Python★ 1.9k</p></blockquote><p>数百个医学研究技能，覆盖试验方案设计、数据分析、证据综述等。医学方向专用，非医学场景不必安装，否则只会占用上下文。</p></section><section><h4><a href="https://github.com/LeonChaoX/qinyan-academic-skills" target="_blank">qinyan-academic-skills</a><a href="#qinyan-academic-skills"><span>#</span></a></h4><blockquote><p>LeonChaoX/qinyan-academic-skills · Python★ 886</p></blockquote><p>包含 182 个可安装学术技能的多语言技能库，覆盖文献检索到成稿写作的全链路。适合希望一次性把科研工作流搭起来的硕博研究者。</p></section><section><h4><a href="https://github.com/Nanako0129/sepia" target="_blank">sepia</a><a href="#sepia"><span>#</span></a></h4><blockquote><p>Nanako0129/sepia · Python★ 2.6k</p></blockquote><p>「去 AI 味」写作技能：让 AI 写出的文字不再有明显机器痕迹，适用于任何兼容 Agent Skills 规范的客户端。写论文、投稿、正式文稿时特别有用，审稿人对 AI 腔调很敏感。</p></section><section><h4><a href="https://github.com/QuZhan51496/paper2anything" target="_blank">paper2anything</a><a href="#paper2anything"><span>#</span></a></h4><blockquote><p>QuZhan51496/paper2anything · Python★ 428</p></blockquote><p>把论文 PDF 一键转成幻灯片、海报、网页或小红书图文。适合论文发表之后的传播环节——同一份内容，快速适配不同平台的分发格式。</p></section></section><section><h3>S7 · 安全与测试<a href="#s7--安全与测试"><span>#</span></a></h3><p>上线前的自查与他查。<strong>防御向</strong>是审计自己的代码、扫描漏洞；<strong>攻防向</strong>是模拟渗透以验证防护；<strong>合规向</strong>是把技能映射到安全框架。请在获得授权的前提下使用攻防类工具。</p><section><h4><a href="https://github.com/zhaoxuya520/reverse-skill" target="_blank">reverse-skill</a><a href="#reverse-skill"><span>#</span></a></h4><blockquote><p>zhaoxuya520/reverse-skill · PowerShell★ 35.7k</p></blockquote><p>逆向工程、授权渗透测试与安全研究的技能路由包，会用 AI 自动把任务分派到对应的专项技能上。威力较大，务必只在自有系统或已获书面授权的范围内使用。</p></section><section><h4><a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills" target="_blank">Anthropic Cybersecurity Skills</a><a href="#anthropic-cybersecurity-skills"><span>#</span></a></h4><blockquote><p>mukul975/Anthropic-Cybersecurity-Skills · Python★ 32.7k</p></blockquote><p>817 个结构化网络安全技能，映射到 MITRE ATT&amp;CK、NIST CSF 2.0 等 6 大安全框架。适合企业安全团队做体系化自查，也方便把技术动作对应到合规条款上。</p></section><section><h4><a href="https://github.com/0xSteph/pentest-ai-agents" target="_blank">pentest-ai-agents</a><a href="#pentest-ai-agents"><span>#</span></a></h4><blockquote><p>0xSteph/pentest-ai-agents · Shell★ 2.2k</p></blockquote><p>把 Claude Code 改造成攻防研究助手，附带多个专职子代理（侦察、利用、报告等）。适合授权范围内的渗透测试与研究性工作。</p></section><section><h4><a href="https://github.com/google/mantis" target="_blank">Mantis</a><a href="#mantis"><span>#</span></a></h4><blockquote><p>google/mantis · Python★ 1.5k</p></blockquote><p>谷歌开源的模块化安全审查技能包，与技术栈无关，让编码 Agent 能自主发现并修复漏洞。适合接进日常开发流程做「写完就查」的一道关。</p></section><section><h4><a href="https://github.com/PyCQA/bandit" target="_blank">Bandit</a><a href="#bandit"><span>#</span></a></h4><blockquote><p>PyCQA/bandit · Python★ 8.3k</p></blockquote><p>Python 代码静态安全扫描工具，老牌、稳定、误报可控。它本身不是 AI 技能，但非常适合接进 CI 作为基础检查层，与 AI 审查互补。</p></section></section><section><h3>S8 · 设计与图表<a href="#s8--设计与图表"><span>#</span></a></h3><p>把想法变成可视化产物。<strong>图表</strong>是架构图、流程图；<strong>UI</strong> 是界面稿；<strong>规范</strong>是让所有产出风格统一的视觉体系。选择标准：技术文档配图选「图表即代码」；要做产品界面选 UI 生成；要品牌一致选规范类；团队协作选能和现有编辑器共存的。</p><section><h4><a href="https://github.com/yizhiyanhua-ai/fireworks-tech-graph" target="_blank">Fireworks Tech Graph</a><a href="#fireworks-tech-graph"><span>#</span></a></h4><blockquote><p>yizhiyanhua-ai/fireworks-tech-graph · Python★ 11.4k</p></blockquote><p>Claude Code 技能：从自然语言生成生产级 SVG + PNG 技术图表，支持 7 种风格与 UML，输出可直接进文档或论文。适合需要频繁画架构图、流程图的工程师与技术写作者。</p></section><section><h4><a href="https://github.com/google-labs-code/stitch-skills" target="_blank">Stitch Skills</a><a href="#stitch-skills"><span>#</span></a></h4><blockquote><p>google-labs-code/stitch-skills · TypeScript★ 8.3k</p></blockquote><p>配合 Stitch MCP 服务器使用的 UI 生成技能库，每个技能都遵循 Agent Skills 规范。适合从文字描述生成界面稿、再快速迭代产品的场景。</p></section><section><h4><a href="https://github.com/google-labs-code/design.md" target="_blank">DESIGN.md</a><a href="#designmd"><span>#</span></a></h4><blockquote><p>google-labs-code/design.md · TypeScript★ 27.9k</p></blockquote><p>一种描述视觉识别体系的格式规范：把品牌色、字体、间距、组件规则写进 DESIGN.md，让编码 Agent 始终按同一套视觉语言产出页面。适合需要多个页面风格统一的产品团队。</p></section><section><h4><a href="https://github.com/awslabs/diagram-as-code" target="_blank">diagram-as-code</a><a href="#diagram-as-code"><span>#</span></a></h4><blockquote><p>awslabs/diagram-as-code · Go★ 1.6k</p></blockquote><p>AWS 官方维护的架构图即代码工具，用代码描述 AWS 架构并生成图。适合已经在写基础设施即代码的人顺手出架构图，图与配置不会脱节。</p></section><section><h4><a href="https://github.com/nexu-io/html-anything" target="_blank">html-anything</a><a href="#html-anything"><span>#</span></a></h4><blockquote><p>nexu-io/html-anything · HTML★ 8.8k</p></blockquote><p>Agentic HTML 编辑器：75 个技能 × 9 种输出形态（杂志、落地页、海报等），让本地 Agent 直接写 HTML 并交付成品页面。适合需要快速产出网页物料、又不想每次手写样式的人。</p></section><section><h4><a href="https://github.com/RohanAdwankar/oxdraw" target="_blank">oxdraw</a><a href="#oxdraw"><span>#</span></a></h4><blockquote><p>RohanAdwankar/oxdraw · Rust★ 2.3k</p></blockquote><p>Rust 编写的「图即代码」工具，特色是支持拖拽编辑——代码生成与手动微调可以共存，改完还能回到代码。适合既要版本管理又要精细调整的绘图需求。</p></section><section><h4><a href="https://github.com/mingrammer/diagrams" target="_blank">Diagrams</a><a href="#diagrams"><span>#</span></a></h4><blockquote><p>mingrammer/diagrams · Python★ 42.6k</p></blockquote><p>用 Python 代码画云架构图的开创性项目，覆盖主流云厂商图标库。适合把架构图纳入版本管理、跟着代码一起演进的技术团队。</p></section><section><h4><a href="https://github.com/hediet/vscode-drawio" target="_blank">vscode-drawio</a><a href="#vscode-drawio"><span>#</span></a></h4><blockquote><p>hediet/vscode-drawio · TypeScript★ 9.5k</p></blockquote><p>把 draw.io 集成进 VS Code 的扩展，人和 Agent 可以修改同一份图文件。适合习惯在编辑器里完成一切、不想来回切工具的开发者。</p></section></section><section><h3>S9 · 金融分析<a href="#s9--金融分析"><span>#</span></a></h3><p>让 AI 帮忙读财报、做投研。这一类的核心价值是<strong>把分析流程结构化</strong>，而不是预测涨跌——请把输出当作研究辅助而非投资建议。选择标准：个人投研选分析技能；要建策略体系先看资源清单建立认知，再挑框架。</p><section><h4><a href="https://github.com/yennanliu/InvestSkill" target="_blank">InvestSkill</a><a href="#investskill"><span>#</span></a></h4><blockquote><p>yennanliu/InvestSkill · JavaScript★ 209</p></blockquote><p>面向美股的分析技能，适配 Claude Code、Gemini 等客户端，把基本面梳理、财报解读等动作固化成可复用技能。适合个人投资者让 AI 先做一轮资料整理与要点提炼。</p></section><section><h4><a href="https://github.com/leoncuhk/awesome-quant-ai" target="_blank">awesome-quant-ai</a><a href="#awesome-quant-ai"><span>#</span></a></h4><blockquote><p>leoncuhk/awesome-quant-ai · Jupyter Notebook★ 604</p></blockquote><p>量化投资与交易策略的精选资源清单，按主题归类。适合在选工具之前先建立整体认知——先看全景，再决定投入哪个方向。</p></section></section><section><h3>S10 · MCP 与自动化集成<a href="#s10--mcp-与自动化集成"><span>#</span></a></h3><p>这一层决定「AI 能碰什么」。<strong>MCP</strong> 是给 Agent 装手的标准协议；<strong>工作流平台</strong>是把 AI 接进已有业务系统；<strong>IM 接入</strong>是让它在微信、群里出现。选择标准：要给 Agent 加工具能力看官方 MCP 目录；要打通业务系统看 n8n 系；要做远程指挥看 IM 接入类。</p><section><h4><a href="https://github.com/modelcontextprotocol/servers" target="_blank">MCP Servers</a><a href="#mcp-servers"><span>#</span></a></h4><blockquote><p>modelcontextprotocol/servers · TypeScript★ 90.3k</p></blockquote><p>官方 MCP 服务器合集，包含文件系统、数据库、搜索等基础能力，是给 Agent 装「手」的起点。想扩展 Agent 能触碰的范围，一般从这里开始找官方实现。</p></section><section><h4><a href="https://github.com/czlonkowski/n8n-mcp" target="_blank">n8n-mcp</a><a href="#n8n-mcp"><span>#</span></a></h4><blockquote><p>czlonkowski/n8n-mcp · TypeScript★ 22.9k</p></blockquote><p>让 Claude Desktop、Claude Code、Cursor、Windsurf 直接构建 n8n 工作流的 MCP 服务。适合已经用 n8n 做自动化、想让 AI 帮忙搭流程而不是自己拖拽的人。</p></section><section><h4><a href="https://github.com/getsentry/XcodeBuildMCP" target="_blank">XcodeBuildMCP</a><a href="#xcodebuildmcp"><span>#</span></a></h4><blockquote><p>getsentry/XcodeBuildMCP · TypeScript★ 6.4k</p></blockquote><p>为 Agent 提供 Xcode 构建工具的 MCP 服务器与 CLI，让 Agent 能编译、跑测试、读日志，常用于 iOS 与 macOS 开发。</p></section><section><h4><a href="https://github.com/mobile-next/mobile-mcp" target="_blank">mobile-mcp</a><a href="#mobile-mcp"><span>#</span></a></h4><blockquote><p>mobile-next/mobile-mcp · TypeScript★ 6.7k</p></blockquote><p>面向移动端自动化与抓取的 MCP 服务器，支持 iOS、Android、模拟器与真机。适合做移动端测试自动化，或把手机操作接进编码 Agent 与 CI。</p></section><section><h4><a href="https://github.com/Wechat-ggGitHub/wechat-claude-code" target="_blank">wechat-claude-code</a><a href="#wechat-claude-code"><span>#</span></a></h4><blockquote><p>Wechat-ggGitHub/wechat-claude-code · TypeScript★ 682</p></blockquote><p>一个让 Claude Code 能在微信里对话的技能，相当于把微信变成远程指挥台。适合人不在电脑前、但想随时下发任务的场景。</p></section><section><h4><a href="https://github.com/Zie619/n8n-workflows" target="_blank">n8n-workflows</a><a href="#n8n-workflows"><span>#</span></a></h4><blockquote><p>Zie619/n8n-workflows · Python★ 56.6k</p></blockquote><p>目前能收集到的 n8n 工作流大合集（含官方站点上的公开流程）。适合需要现成流程直接改造、不想从头拖拽的人。</p></section><section><h4><a href="https://github.com/enescingoz/awesome-n8n-templates" target="_blank">awesome-n8n-templates</a><a href="#awesome-n8n-templates"><span>#</span></a></h4><blockquote><p>enescingoz/awesome-n8n-templates★ 25.3k</p></blockquote><p>280+ 免费 n8n 模板，覆盖 Gmail、Telegram、Slack、Discord、WhatsApp、Google 全家桶等。适合按场景搜模板，改一改就能用。</p></section><section><h4><a href="https://github.com/n8n-io/self-hosted-ai-starter-kit" target="_blank">self-hosted-ai-starter-kit</a><a href="#self-hosted-ai-starter-kit"><span>#</span></a></h4><blockquote><p>n8n-io/self-hosted-ai-starter-kit★ 15.2k</p></blockquote><p>n8n 官方的一键自托管 AI 环境模板（n8n + Ollama + Qdrant），几条命令就能把本地 AI 工作流跑起来。适合想完全掌控数据、不愿依赖云端服务的人。</p></section></section><section><h3>S11 · 短视频生产与多平台分发<a href="#s11--短视频生产与多平台分发"><span>#</span></a></h3><p>这一类的目标只有一个：<strong>把「做内容」的重复劳动压到接近零</strong>。选型看两点——<strong>生产端</strong>是「从主题到成片」还是「已有素材只做混剪」；<strong>分发端</strong>是否需要多平台矩阵与定时排期。提醒：批量发布最容易踩平台风控，务必先小规模验证频率与账号隔离策略。</p><section><h4><a href="https://github.com/ATH-MaaS/Pixelle-Video" target="_blank">Pixelle-Video</a><a href="#pixelle-video"><span>#</span></a></h4><blockquote><p>ATH-MaaS/Pixelle-Video · Python★ 28.1k</p></blockquote><p>AI 全自动短视频引擎：输入一个主题，自动完成文案、配音、配图、剪辑与字幕并直接输出成片。适合知识科普、口播矩阵号，把「做一条视频」压缩成一次调用。</p></section><section><h4><a href="https://github.com/ddean2009/MoneyPrinterPlus" target="_blank">MoneyPrinterPlus</a><a href="#moneyprinterplus"><span>#</span></a></h4><blockquote><p>ddean2009/MoneyPrinterPlus · Python★ 7.1k</p></blockquote><p>一键批量生成 + 自动混剪短视频，并可直接发布到抖音、快手、小红书、视频号；支持接入本地语音模型做配音。适合已有稳定选题、要冲量的账号矩阵。</p></section><section><h4><a href="https://github.com/dreammis/social-auto-upload" target="_blank">social-auto-upload</a><a href="#social-auto-upload"><span>#</span></a></h4><blockquote><p>dreammis/social-auto-upload · Python★ 14.9k</p></blockquote><p>用 Playwright 模拟真人操作浏览器上传，把成片自动分发到抖音、小红书、视频号、B 站、TikTok、YouTube。适合「只差发布这一步」的团队。</p></section><section><h4><a href="https://github.com/whut09/MultiPublish" target="_blank">MultiPublish</a><a href="#multipublish"><span>#</span></a></h4><blockquote><p>whut09/MultiPublish · JavaScript★ 9</p></blockquote><p>一次上传、多平台同步的桌面客户端，支持定时发布与矩阵账号统一管理。思路对标商业工具（易媒助手 / 蚁小二），适合想自建发布链路的人。</p></section><section><h4><a href="https://github.com/jefftko/PostFlow" target="_blank">PostFlow</a><a href="#postflow"><span>#</span></a></h4><blockquote><p>jefftko/PostFlow · Python★ 3</p></blockquote><p>多账号排期发布工具：内容排好队到点自动发，并把播放与互动数据回流成表，用来复盘选题方向。</p></section><section><h4><a href="https://github.com/zuowangyan/xhs-matrix" target="_blank">xhs-matrix</a><a href="#xhs-matrix"><span>#</span></a></h4><blockquote><p>zuowangyan/xhs-matrix · TypeScript★ 4</p></blockquote><p>小红书 AI 矩阵运营系统：采集选题 → 按人设与知识库生成原创图文 → 多账号拟人化自动发布。桌面端运行，支持局域网共享。</p></section></section><section><h3>S12 · 跨境电商与选品运营<a href="#s12--跨境电商与选品运营"><span>#</span></a></h3><p>跨境场景的自动化集中在四件事：<strong>选品</strong>（找需求）、<strong>上架</strong>（写文案做图）、<strong>流量</strong>（达人分销与素材）、<strong>情报</strong>（盯竞品与政策）。选型看你的平台：亚马逊系优先看前两条；TikTok Shop 看达人邀约与商品视频两条；多平台铺货看全流程平台型工具。注意星标极少的项目属于尝鲜性质，请先小规模验证。</p><section><h4><a href="https://github.com/hikari0511/awesome-amazon-ec-skills" target="_blank">Awesome Amazon EC Skills</a><a href="#awesome-amazon-ec-skills"><span>#</span></a></h4><blockquote><p>hikari0511/awesome-amazon-ec-skills · Shell★ 160</p></blockquote><p>亚马逊运营技能全集：覆盖选品、Listing 优化、视觉素材、广告投放、评论处理与售后客服的全流程技能包，可直接接入支持 Skill 机制的 Agent 客户端。</p></section><section><h4><a href="https://github.com/hhdhh/atlas-mercator" target="_blank">Atlas Mercator</a><a href="#atlas-mercator"><span>#</span></a></h4><blockquote><p>hhdhh/atlas-mercator · Python★ 4</p></blockquote><p>跨境全流程 Agent：Listing 本地化改写、基于知识库的 RAG 智能客服、营销文案生成与竞品情报挖掘，面向亚马逊 / eBay / 独立站。</p></section><section><h4><a href="https://github.com/hooper-lee/crosspulse" target="_blank">CrossPulse 跨境脉搏</a><a href="#crosspulse-跨境脉搏"><span>#</span></a></h4><blockquote><p>hooper-lee/crosspulse · Python★ 16</p></blockquote><p>每日自动抓取亚马逊、TikTok Shop、Temu 等平台的市场情报，做结构化日报推送到飞书或微信，用来捕捉爆款趋势、政策变化与竞品动态。</p></section><section><h4><a href="https://github.com/yoligehude14753/ecom-agent" target="_blank">EcomAgent 选品分析</a><a href="#ecomagent-选品分析"><span>#</span></a></h4><blockquote><p>yoligehude14753/ecom-agent · Python★ 12</p></blockquote><p>抓取各站点畅销榜做三维评分（竞争度 / 利润 / 趋势），并从评论中批量提取痛点，输出可执行的选品建议。纯 Python，可对接本地模型。</p></section><section><h4><a href="https://github.com/lien0219/trademind-ai" target="_blank">TradeMind 贸灵</a><a href="#trademind-贸灵"><span>#</span></a></h4><blockquote><p>lien0219/trademind-ai · Python★ 26</p></blockquote><p>从商品采集、文案优化、图片处理到多平台刊登与订单库存协同的全流程工具，支持私有化部署，数据留在本机。</p></section><section><h4><a href="https://github.com/scszcoder/eCan.ai" target="_blank">eCan.ai</a><a href="#ecanai"><span>#</span></a></h4><blockquote><p>scszcoder/eCan.ai · TypeScript★ 20</p></blockquote><p>基于 LangGraph 的电商多 Agent 系统，覆盖采购选品、营销内容生成与智能客服三大板块，工作流可自定义，适合二次开发。</p></section><section><h4><a href="https://github.com/XManner/Miaoshou-Auto-Tool" target="_blank">妙手自动化工作台</a><a href="#妙手自动化工作台"><span>#</span></a></h4><blockquote><p>XManner/Miaoshou-Auto-Tool · JavaScript★ 22</p></blockquote><p>TikTok Shop 东南亚场景的自动化工作台：1688 / Shopee 采集选品、商品信息批量优化、自动发布与秒杀价格同步。</p></section><section><h4><a href="https://github.com/younkiflattxzt31/tiktok-shop-bot" target="_blank">TikTok Shop 联盟邀约 Bot</a><a href="#tiktok-shop-联盟邀约-bot"><span>#</span></a></h4><blockquote><p>younkiflattxzt31/tiktok-shop-bot · Python★ 0</p></blockquote><p>批量导入达人名单 → 生成个性化邀约话术 → 自动私信 → CRM 式跟踪回复状态，用于卖家联盟分销扩量。<strong>星标极少，属尝鲜项目，请先小规模验证。</strong></p></section><section><h4><a href="https://github.com/haykguy/tiktok-automation" target="_blank">TikTok 商品视频自动化</a><a href="#tiktok-商品视频自动化"><span>#</span></a></h4><blockquote><p>haykguy/tiktok-automation · Python★ 0</p></blockquote><p>商品视频流水线：抓取商品信息 → 生成商品图 → 转成短视频 → 加字幕配音 → 批量导出待发布。<strong>星标极少，同属尝鲜项目。</strong></p></section><section><h4><a href="https://github.com/feifei9126/tradepilot" target="_blank">TradePilot 外贸工作台</a><a href="#tradepilot-外贸工作台"><span>#</span></a></h4><blockquote><p>feifei9126/tradepilot · TypeScript★ 44</p></blockquote><p>开源的外贸 CRM 与订单履约工作台：客户、询盘、报价、出货全流程管理，支持 Firecrawl 采集与 Ollama 多模型接入，Docker 一键部署。</p></section></section><section><h3>S13 · 内容创作技能集<a href="#s13--内容创作技能集"><span>#</span></a></h3><p>与 S5 的单点技能不同，这一类的价值在于 <strong>「成套的技能包」</strong>：一次装好一整套写作流程，而不是自己一个个拼装。适合把长文写作、公众号运营做成固定产线的人。</p><section><h4><a href="https://github.com/anbeime/skill" target="_blank">Skill 技能合集</a><a href="#skill-技能合集"><span>#</span></a></h4><blockquote><p>anbeime/skill · Python★ 6.6k</p></blockquote><p>通用技能合集：内容创作、视频制作、文案生成、资料整理等垂直场景的技能大全，可作为搭建自建技能库的素材来源。</p></section><section><h4><a href="https://github.com/gogoingai/wenqu-skills" target="_blank">文曲内容创作技能集</a><a href="#文曲内容创作技能集"><span>#</span></a></h4><blockquote><p>gogoingai/wenqu-skills · Markdown★ 6</p></blockquote><p>面向「写文章」这一件事的技能集：覆盖资料积累、结构设计、文章撰写、审查优化到发布的全流程。星标不多，但流程拆得细，值得写作场景参考。</p><blockquote><p><strong>接下来</strong>：Skill 是「你点名它才动」；要能<strong>自己推进任务</strong>的执行者，翻到下一页的 Agent 智能体库。</p></blockquote></section></section></section>
<section><h2>Agent 智能体库：能自己推进任务的执行者<a href="#agent-智能体库能自己推进任务的执行者"><span>#</span></a></h2><p><a href="/posts/mac-api-06-skills/">← 返回开源能力库</a></p><section><h3>A1 · 编程开发 Agent<a href="#a1--编程开发-agent"><span>#</span></a></h3><p>替代或增强 IDE 的编码主力。<strong>终端型</strong>适合自主跑任务、批量改代码；<strong>IDE 型</strong>适合边写边看、逐行确认；<strong>舰队型</strong>适合同时推进多个任务。选择标准：要「端到端交付」选终端型；要「可控、逐步确认」选 IDE 型；已有多套订阅想并行跑选舰队型。</p><section><h4><a href="https://github.com/anthropics/claude-code" target="_blank">Claude Code</a><a href="#claude-code"><span>#</span></a></h4><blockquote><p>anthropics/claude-code · Python★ 144.9k</p></blockquote><p>Anthropic 官方终端编码 Agent：能读整个代码库、理解项目结构、执行多步开发任务、跑命令与测试，端到端交付。它是目前自主性最强、生态最全的编码 Agent，也是 Skill / Subagent 体系的事实标准。适合愿意把完整工程流程交给 AI 的人。</p></section><section><h4><a href="https://github.com/openai/codex" target="_blank">OpenAI Codex</a><a href="#openai-codex"><span>#</span></a></h4><blockquote><p>openai/codex · Rust★ 123.7k</p></blockquote><p>OpenAI 的轻量终端编码 Agent，Rust 编写，启动快、资源占用低，与 ChatGPT 生态打通。适合已经有 ChatGPT 订阅、想直接在终端里干活的用户。</p></section><section><h4><a href="https://github.com/anomalyco/opencode" target="_blank">OpenCode</a><a href="#opencode"><span>#</span></a></h4><blockquote><p>anomalyco/opencode · Go★ 207.0k已迁移</p></blockquote><p>开源终端编码 Agent，支持多会话并行与沙盒终端，常被称作「开源版 Claude Code」。<strong>注意仓库迁移</strong>：原 opencode-ai/opencode 已归档（最后一个提交停在 2025 年 9 月），项目现由 anomalyco/opencode 维护，官网 opencode.ai。</p></section><section><h4><a href="https://github.com/deepseek-ai/deepseek-harness" target="_blank">DeepSeek Harness</a><a href="#deepseek-harness"><span>#</span></a></h4><blockquote><p>deepseek-ai/deepseek-harness · TypeScript★ 221.9k</p></blockquote><p>DeepSeek 官方的 Agent 框架，设计理念是「一切皆插件」，对自家模型做了深度适配，成本极低。适合想用 DeepSeek 模型跑 Agent 工作流、又要高度可定制的开发者。</p></section><section><h4><a href="https://github.com/stablyai/orca" target="_blank">Orca</a><a href="#orca"><span>#</span></a></h4><blockquote><p>stablyai/orca · TypeScript★ 67.4k</p></blockquote><p>面向「一支 Agent 舰队」的 ADE（Agent 开发环境）：可以并行运行多个编码 Agent，各自使用自己的订阅额度。适合同时推进多个任务、或需要多模型交叉验证的开发者。</p></section><section><h4><a href="https://github.com/Hmbown/Codewhale" target="_blank">Codewhale</a><a href="#codewhale"><span>#</span></a></h4><blockquote><p>Hmbown/Codewhale · Rust★ 41.0k</p></blockquote><p>Rust 编写的开源终端编码 Agent，轻量单二进制，社区持续改进中。适合追求启动速度与低资源占用、不想要重型运行时的用户。</p></section><section><h4><a href="https://github.com/herdrdev/herdr" target="_blank">herdr</a><a href="#herdr"><span>#</span></a></h4><blockquote><p>herdrdev/herdr · Rust★ 38.1k</p></blockquote><p>为编码 Agent 提供运行时底座，负责进程、终端与会话管理。它本身不写代码，而是让别的 Agent 跑得更稳，属于基础设施层。适合自建 Agent 平台的团队参考。</p></section><section><h4><a href="https://github.com/esengine/DeepSeek-Reasonix" target="_blank">DeepSeek-Reasonix</a><a href="#deepseek-reasonix"><span>#</span></a></h4><blockquote><p>esengine/DeepSeek-Reasonix · Go★ 35.5k</p></blockquote><p>DeepSeek 原生的终端编码 Agent，围绕前缀缓存的稳定性做优化，适合长时间挂着跑、反复读取同一代码库的场景——缓存命中率高，成本与延迟都会明显下降。</p></section><section><h4><a href="https://github.com/can1357/oh-my-pi" target="_blank">oh-my-pi</a><a href="#oh-my-pi"><span>#</span></a></h4><blockquote><p>can1357/oh-my-pi · TypeScript★ 30.9k</p></blockquote><p>把 IDE 直接接进 Agent 的编码工具，让你既能享受 IDE 的浏览与补全，又能让 Agent 自主执行任务。适合习惯 IDE 工作流、又不想完全切到终端的开发者。</p></section><section><h4><a href="https://github.com/HKUDS/DeepCode" target="_blank">DeepCode</a><a href="#deepcode"><span>#</span></a></h4><blockquote><p>HKUDS/DeepCode · Python★ 16.5k</p></blockquote><p>香港大学数据智能实验室出品，研究 Agent Harness、循环工程与多智能体编排。偏研究向，适合想理解 Agent 系统怎么设计、而不是只想要个能用的工具的人。</p></section></section><section><h3>A2 · 多智能体编排与团队协同<a href="#a2--多智能体编排与团队协同"><span>#</span></a></h3><p>把一个大任务拆给多个角色并行做，常见分工是「规划 - 执行 - 复核」。<strong>要开箱角色</strong>选专家目录类；<strong>要自己定义流程</strong>选编排框架类；<strong>要跑在 Claude Code / OpenClaw 里</strong>选工程化编排类。注意：多智能体不是越多越好，协作开销与调试难度会同步上升。</p><section><h4><a href="https://github.com/NousResearch/hermes-agent" target="_blank">Hermes Agent</a><a href="#hermes-agent"><span>#</span></a></h4><blockquote><p>NousResearch/hermes-agent · Python★ 245.0k</p></blockquote><p>Nous Research 出品的 Agent，主打「随你成长」：通过持续学习与记忆积累越来越贴合你的习惯。适合愿意长期培养一个固定 Agent、而不是每次重新开始的人。</p></section><section><h4><a href="https://github.com/ruvnet/ruflo" target="_blank">ruflo</a><a href="#ruflo"><span>#</span></a></h4><blockquote><p>ruvnet/ruflo · TypeScript★ 72.3k</p></blockquote><p>号称「原始 Agent Harness」，可以部署多智能体集群（swarm）、协调自主工作流，并为每个 Agent 提供独立运行环境。适合需要大规模并行 Agent 的工程场景。</p></section><section><h4><a href="https://github.com/FoundationAgents/MetaGPT" target="_blank">MetaGPT</a><a href="#metagpt"><span>#</span></a></h4><blockquote><p>FoundationAgents/MetaGPT · Python★ 70.3k</p></blockquote><p>模拟一家软件公司的多智能体框架：产品经理、架构师、项目经理、开发、测试各司其职，把一句话需求逐步变成设计文档与可运行代码。适合想体验「全流程 AI 团队」的人，也是多智能体协作的经典参考实现。</p></section><section><h4><a href="https://github.com/Significant-Gravitas/AutoGPT" target="_blank">AutoGPT</a><a href="#autogpt"><span>#</span></a></h4><blockquote><p>Significant-Gravitas/AutoGPT · Python★ 187.3k</p></blockquote><p>自主 Agent 的开创性项目：让模型自己拆解目标、调用工具、循环推进直到完成。今天的很多 Agent 设计思路都能追溯到它，适合作为理解自主循环的样本。</p></section><section><h4><a href="https://github.com/langchain-ai/langgraph" target="_blank">LangGraph</a><a href="#langgraph"><span>#</span></a></h4><blockquote><p>langchain-ai/langgraph · Python★ 41.5k</p></blockquote><p>LangChain 出品的图式编排框架，用「节点 + 边 + 状态」描述流程，天然支持循环、分支、重试与人工介入。适合需要精细控制、流程会反复迭代的项目。</p></section><section><h4><a href="https://github.com/Yeachan-Heo/oh-my-claudecode" target="_blank">oh-my-claudecode</a><a href="#oh-my-claudecode"><span>#</span></a></h4><blockquote><p>Yeachan-Heo/oh-my-claudecode · TypeScript★ 39.1k</p></blockquote><p>面向 Claude Code 的「团队优先」多智能体编排，把角色分工与协作流程直接做进 Claude Code 工作流。适合已经在用 Claude Code、想升级成多人协作模式的人。</p></section><section><h4><a href="https://github.com/openai/openai-agents-python" target="_blank">OpenAI Agents SDK</a><a href="#openai-agents-sdk"><span>#</span></a></h4><blockquote><p>openai/openai-agents-python · Python★ 29.4k</p></blockquote><p>OpenAI 官方的轻量多智能体框架，支持任务交接（handoff）、工具调用与执行追踪。适合想用官方标准搭建 Agent 流水线、又不想引入重型依赖的开发者。</p></section><section><h4><a href="https://github.com/openai/swarm" target="_blank">Swarm</a><a href="#swarm"><span>#</span></a></h4><blockquote><p>openai/swarm · Python★ 22.0k</p></blockquote><p>OpenAI 早期的教学向轻量编排框架，用来理解 handoff 机制与多智能体协作的基本模型。官方明确定位为教育用途，不建议用于生产。</p></section><section><h4><a href="https://github.com/jnMetaCode/agency-agents-zh" target="_blank">agency-agents-zh</a><a href="#agency-agents-zh"><span>#</span></a></h4><blockquote><p>jnMetaCode/agency-agents-zh · Shell★ 20.6k</p></blockquote><p>277 个即插即用的中文 AI 专家角色，覆盖工程、设计、营销、金融等 20 个部门，含 64 个中国市场原创角色（小红书、抖音、微信生态等）。支持 Claude Code、Cursor、Copilot 等 20 种工具。</p></section><section><h4><a href="https://github.com/cft0808/edict" target="_blank">edict（三省六部制）</a><a href="#edict三省六部制"><span>#</span></a></h4><blockquote><p>cft0808/edict · Python★ 16.9k</p></blockquote><p>基于 OpenClaw 的中文多智能体编排系统，用「三省六部制」组织 9 个专职 Agent，配实时看板展示任务流转。适合喜欢结构化角色分工、希望流程一目了然的团队。</p></section><section><h4><a href="https://github.com/microsoft/agent-framework" target="_blank">Microsoft Agent Framework</a><a href="#microsoft-agent-framework"><span>#</span></a></h4><blockquote><p>microsoft/agent-framework · Python★ 13.5k</p></blockquote><p>微软官方框架，用于构建、编排与部署 Agent 及多智能体工作流，支持 Python 与 .NET。适合已有 .NET 技术栈、需要企业级支持与长期维护承诺的团队。</p></section></section><section><h3>A3 · Agent 框架与可视化平台<a href="#a3--agent-框架与可视化平台"><span>#</span></a></h3><p>自己搭 Agent 或自动化流程。<strong>代码框架</strong>灵活但要写代码；<strong>可视化平台</strong>拖拽即可，适合交给非技术同事。选择标准：要接进自己的业务系统选代码框架；要做内部工具、审批流选可视化平台；要群机器人选 IM 接入型；要桌上助理选桌面级。</p><section><h4><a href="https://github.com/langchain-ai/langchain" target="_blank">LangChain</a><a href="#langchain"><span>#</span></a></h4><blockquote><p>langchain-ai/langchain · Python★ 146.2k</p></blockquote><p>LLM 应用开发的事实标准：链式调用、工具绑定、记忆管理、检索集成一应俱全，生态与文档最完善。要把 AI 能力接进自己的业务系统，通常从它开始。</p></section><section><h4><a href="https://github.com/langgenius/dify" target="_blank">Dify</a><a href="#dify"><span>#</span></a></h4><blockquote><p>langgenius/dify · TypeScript★ 155.6k</p></blockquote><p>可视化 Agentic 工作流 + RAG 流水线平台，拖拽即可搭建，支持多模型与工具，提供企业版部署方案。适合不想写代码就把流程跑起来、或者要交给同事维护的场景。</p></section><section><h4><a href="https://github.com/n8n-io/n8n" target="_blank">n8n</a><a href="#n8n"><span>#</span></a></h4><blockquote><p>n8n-io/n8n · TypeScript★ 204.1k</p></blockquote><p>开源工作流自动化平台，400+ 集成加上原生 AI 节点，把 AI 接进已有业务系统（CRM、工单、邮件、表格）的首选。可视化的同时仍可写自定义代码。</p></section><section><h4><a href="https://github.com/HKUDS/nanobot" target="_blank">nanobot</a><a href="#nanobot"><span>#</span></a></h4><blockquote><p>HKUDS/nanobot · Python★ 48.1k</p></blockquote><p>超轻量自托管个人 Agent 框架，自带 WebUI、工具系统、记忆与 MCP 支持，纯 Python 实现、代码量小。适合看得懂代码、想自己改造的学习者与开发者。</p></section><section><h4><a href="https://github.com/AstrBotDevs/AstrBot" target="_blank">AstrBot</a><a href="#astrbot"><span>#</span></a></h4><blockquote><p>AstrBotDevs/AstrBot · Python★ 40.4k</p></blockquote><p>支持多 IM 平台接入的 Agent 框架，插件生态丰富，适合做群机器人（QQ、微信等）与社区运营助手。</p></section><section><h4><a href="https://github.com/zhayujie/CowAgent" target="_blank">CowAgent</a><a href="#cowagent"><span>#</span></a></h4><blockquote><p>zhayujie/CowAgent · Python★ 46.9k</p></blockquote><p>开源超级 AI 助手与 Agent Harness：能规划任务、调用工具与技能、靠记忆自我进化，并含微信生态接入。适合想自建一个「什么都能干一点」的私人助手的人。</p></section><section><h4><a href="https://github.com/deepset-ai/haystack" target="_blank">Haystack</a><a href="#haystack"><span>#</span></a></h4><blockquote><p>deepset-ai/haystack · Python★ 26.5k</p></blockquote><p>面向生产环境的 AI 编排框架，强项在检索与管道化设计，组件可替换、可测试。适合做企业级文档问答与知识系统。</p></section><section><h4><a href="https://github.com/simstudioai/sim" target="_blank">Sim</a><a href="#sim"><span>#</span></a></h4><blockquote><p>simstudioai/sim · TypeScript★ 29.6k</p></blockquote><p>团队协作式的 Agent 构建、部署与监控工作台：流程可视化，多人可共同维护，带运行监控。适合业务团队自己维护自动化流程。</p></section><section><h4><a href="https://github.com/netease-youdao/LobsterAI" target="_blank">LobsterAI</a><a href="#lobsterai"><span>#</span></a></h4><blockquote><p>netease-youdao/LobsterAI · TypeScript★ 6.0k</p></blockquote><p>网易有道开源的桌面级 Agent，主打真实工作任务：数据分析、幻灯片、文档、视频与网络调研。适合想要一个开箱即用的桌面助理、又希望数据可自控的用户。</p></section><section><h4><a href="https://github.com/lsdefine/GenericAgent" target="_blank">GenericAgent</a><a href="#genericagent"><span>#</span></a></h4><blockquote><p>lsdefine/GenericAgent · Python★ 14.2k</p></blockquote><p>自进化 Agent：从一个几千行的种子实现出发，靠任务沉淀不断长出技能树，官方称用约 1/6 的 Token 实现完整系统控制。适合对「Agent 如何自我进化」这一方向感兴趣的开发者。</p></section><section><h4><a href="https://github.com/Sylinko/Everywhere" target="_blank">Everywhere</a><a href="#everywhere"><span>#</span></a></h4><blockquote><p>Sylinko/Everywhere · C#★ 6.3k</p></blockquote><p>桌面感知型 AI 助手：能读取你当前正在用的应用与屏幕内容，配合多个模型与 MCP 工具就地帮你处理问题，不用复制粘贴。适合需要「看懂我在干什么」的即时辅助场景。</p></section><section><h4><a href="https://github.com/medusajs/medusa" target="_blank">Medusa</a><a href="#medusa"><span>#</span></a></h4><blockquote><p>medusajs/medusa · TypeScript★ 36.3k</p></blockquote><p>面向 Agent 与开发者的开源电商中台，模块化程度高，可自建商城并把 AI 能力接进商品、订单、营销流程。适合做电商自建站的技术团队。</p></section></section><section><h3>A4 · 浏览器与电脑操控 Agent<a href="#a4--浏览器与电脑操控-agent"><span>#</span></a></h3><p>让 AI 像人一样点网页、开软件。核心差异在两个维度：<strong>反检测能力</strong>与<strong>操控层级</strong>（只操作浏览器，还是操作整个桌面）。选择标准：普通采集选基础型；被反爬拦截选隐身型或复用已登录状态的；要动本地软件、文件、终端选桌面操控型。注意这类工具权限很高，建议只在虚拟机或受控环境中运行未知代码。</p><section><h4><a href="https://github.com/openclaw/openclaw" target="_blank">OpenClaw</a><a href="#openclaw"><span>#</span></a></h4><blockquote><p>openclaw/openclaw · TypeScript★ 389.5k</p></blockquote><p>目前星标最高的开源个人 Agent 框架，本地运行、跨平台，通过 WhatsApp、Telegram、Discord、Slack、Teams、iMessage 等聊天入口指挥它干活，自带 Gateway 安全边界、技能与插件体系、Cron 与 Webhook 触发。适合想让 AI 真正接管日常事务（整理收件箱、发邮件、管日历）的人。它也衍生出了大量生态项目，本清单中多个技能都基于它开发。</p></section><section><h4><a href="https://github.com/browser-use/browser-use" target="_blank">Browser Use</a><a href="#browser-use"><span>#</span></a></h4><blockquote><p>browser-use/browser-use · Python★ 114.4k</p></blockquote><p>目前最主流的浏览器 Agent 库，基于 Playwright，能点击、输入、滚动、截图，用自然语言完成任务。适合做数据采集、表单填写、流程验证，以及作为自建浏览器 Agent 的基础库。</p></section><section><h4><a href="https://github.com/FoundationAgents/OpenManus" target="_blank">OpenManus</a><a href="#openmanus"><span>#</span></a></h4><blockquote><p>FoundationAgents/OpenManus · Python★ 58.3k</p></blockquote><p>操控整台电脑的开放 Agent：浏览器、文件、终端、办公软件都能动，支持手机远程下发任务。适合需要跨应用自动化、又不满足于只操作网页的场景。</p></section><section><h4><a href="https://github.com/feder-cr/AIHawk" target="_blank">AIHawk</a><a href="#aihawk"><span>#</span></a></h4><blockquote><p>feder-cr/AIHawk · Python★ 30.4k</p></blockquote><p>自带反检测能力的浏览器 Agent，能绕过常见反爬与自动化识别系统。适合普通采集工具频繁被拦截的场景（请遵守目标网站的服务条款）。</p></section><section><h4><a href="https://github.com/trycua/cua" target="_blank">cua</a><a href="#cua"><span>#</span></a></h4><blockquote><p>trycua/cua · HTML★ 22.6k</p></blockquote><p>Computer-Use 驱动与跨系统机群方案，附带训练、评估与基准测试工具。适合要搭建多台机器统一操控、或做 Computer-Use 方向研究评估的团队。</p></section><section><h4><a href="https://github.com/citrolabs/ego-lite" target="_blank">ego-lite</a><a href="#ego-lite"><span>#</span></a></h4><blockquote><p>citrolabs/ego-lite · JavaScript★ 15.8k</p></blockquote><p>主打速度与「共享会话」的 Agent 专用浏览器：直接使用你已经登录的浏览器状态，省去反复登录与验证码，启动与响应都更快。适合高频次、需要登录态的网页自动化。</p></section><section><h4><a href="https://github.com/nanobrowser/nanobrowser" target="_blank">Nanobrowser</a><a href="#nanobrowser"><span>#</span></a></h4><blockquote><p>nanobrowser/nanobrowser · TypeScript★ 13.8k</p></blockquote><p>Chrome 扩展形态的浏览器 Agent，可以在浏览器里跑多智能体工作流，使用你自己的 API Key。适合不想装本地运行环境、又想在浏览器里做自动化的用户。</p></section><section><h4><a href="https://github.com/simular-ai/Agent-S" target="_blank">Agent-S</a><a href="#agent-s"><span>#</span></a></h4><blockquote><p>simular-ai/Agent-S · Python★ 12.3k</p></blockquote><p>学术背景较强的开源 Agent 框架，目标是让模型像人一样使用电脑：理解屏幕、规划动作、执行点击与输入。适合关注 Computer-Use 前沿实现的研究者与开发者。</p></section><section><h4><a href="https://github.com/microsoft/fara" target="_blank">Fara</a><a href="#fara"><span>#</span></a></h4><blockquote><p>microsoft/fara · Python★ 6.2k</p></blockquote><p>微软的 Computer-Use 模型家族，属于模型层而非工具。适合想自己搭建控制层、需要可直接调用的屏幕理解与操作能力的团队。</p></section></section><section><h3>A5 · 数据分析与 BI<a href="#a5--数据分析与-bi"><span>#</span></a></h3><p>从「看数据」到「问数据」。分两路：<strong>Text-to-SQL</strong>（自然语言直接查数据库）与<strong>对话式分析</strong>（自动出图、出结论）。选择标准：有数据库、要求 SQL 准确可查可选前者；只想要业务结论选后者；中文字段与业务术语多的话，优先考虑对中文优化的项目。</p><section><h4><a href="https://github.com/Canner/WrenAI" target="_blank">WrenAI</a><a href="#wrenai"><span>#</span></a></h4><blockquote><p>Canner/WrenAI · Python★ 17.6k</p></blockquote><p>面向 Agent 的 GenBI 平台，提供带治理能力的 Text-to-SQL：用开放语义层统一指标口径，再让 AI 生成可审计的 SQL。适合企业里既要自然语言问数、又要控制权限与口径一致性的场景。</p></section><section><h4><a href="https://github.com/vanna-ai/vanna" target="_blank">Vanna</a><a href="#vanna"><span>#</span></a></h4><blockquote><p>vanna-ai/vanna · Python★ 23.8k已归档</p></blockquote><p>用 RAG 提升准确率的 Text-to-SQL 框架，可以用你自己的 SQL 与文档训练，越用越准。不过要留意：<strong>该仓库目前已归档</strong>，代码仍可使用与阅读，但更新停滞；需要活跃维护的同类可看 WrenAI 或 SQLBot。</p></section><section><h4><a href="https://github.com/dataease/SQLBot" target="_blank">SQLBot</a><a href="#sqlbot"><span>#</span></a></h4><blockquote><p>dataease/SQLBot · JavaScript★ 6.8k</p></blockquote><p>基于大模型 + RAG 的智能问数系统，中文场景友好，可搭配数据看板使用。适合国内团队直接用自然语言查业务数据、并把结果沉淀成报表。</p></section><section><h4><a href="https://github.com/Zafer-Liu/Data-Analysis-Agent" target="_blank">Data-Analysis-Agent</a><a href="#data-analysis-agent"><span>#</span></a></h4><blockquote><p>Zafer-Liu/Data-Analysis-Agent · JavaScript★ 2.5k</p></blockquote><p>对话式数据分析助手：上传数据后直接提问，自动生成可视化图表与商业洞察。适合不懂 SQL、只想要结论的业务人员。</p></section><section><h4><a href="https://github.com/eosphoros-ai/DB-GPT-Hub" target="_blank">DB-GPT-Hub</a><a href="#db-gpt-hub"><span>#</span></a></h4><blockquote><p>eosphoros-ai/DB-GPT-Hub · Python★ 2.0k</p></blockquote><p>Text-to-SQL 方向的模型、数据集与微调方案集合。偏研究，适合要自己训练或微调专用模型的团队。</p></section><section><h4><a href="https://github.com/antgroup/Agentar-Scale-SQL" target="_blank">Agentar-Scale-SQL</a><a href="#agentar-scale-sql"><span>#</span></a></h4><blockquote><p>antgroup/Agentar-Scale-SQL · Python★ 473</p></blockquote><p>蚂蚁集团开源，通过可扩展计算（多路生成 + 验证筛选）显著提升 SQL 生成的准确率。学术向，适合研究准确率提升方案的工程师。</p></section></section><section><h3>A6 · 知识库、RAG 与记忆<a href="#a6--知识库rag-与记忆"><span>#</span></a></h3><p>让 AI 用你的私有资料回答问题。<strong>RAG</strong> 解决「检索外部知识」，<strong>记忆层</strong>解决「跨会话记住上下文」，<strong>上下文压缩</strong>解决「塞得下多少」。选择标准：开箱即用的知识库选引擎类；需要关系推理选图结构类；要当服务部署选工程化程度高的；做研究看压缩与量化方向。</p><section><h4><a href="https://github.com/infiniflow/ragflow" target="_blank">RAGFlow</a><a href="#ragflow"><span>#</span></a></h4><blockquote><p>infiniflow/ragflow · Go★ 90.6k</p></blockquote><p>深度文档理解的 RAG 引擎，对中文与复杂版式（表格、扫描件、多栏）表现好，带可视化切片与引用溯源。适合把一堆合同、论文、扫描件变成可问答的知识库。</p></section><section><h4><a href="https://github.com/HKUDS/LightRAG" target="_blank">LightRAG</a><a href="#lightrag"><span>#</span></a></h4><blockquote><p>HKUDS/LightRAG · Python★ 39.6k</p></blockquote><p>轻量快速的图增强 RAG：在普通检索的基础上叠加实体与关系，实现简单、启动成本低。适合想尝试图增强检索、但不想背 LangChain 全套依赖的项目。</p></section><section><h4><a href="https://github.com/microsoft/graphrag" target="_blank">GraphRAG</a><a href="#graphrag"><span>#</span></a></h4><blockquote><p>microsoft/graphrag · Python★ 36.0k</p></blockquote><p>微软的图结构 RAG 系统，先用模型抽取实体与关系构建知识图谱，再基于图做问答。适合需要跨文档关系推理的场景——「谁和谁有关」「这件事牵连了哪些主体」。</p></section><section><h4><a href="https://github.com/SciPhi-AI/R2R" target="_blank">R2R</a><a href="#r2r"><span>#</span></a></h4><blockquote><p>SciPhi-AI/R2R · Python★ 8.0k</p></blockquote><p>生产就绪的检索系统，支持 Agentic RAG 与 RESTful API，可直接当服务部署。适合要快速上线一个检索问答服务、而不是自己拼装组件的团队。</p></section><section><h4><a href="https://github.com/Marker-Inc-Korea/AutoRAG" target="_blank">AutoRAG</a><a href="#autorag"><span>#</span></a></h4><blockquote><p>Marker-Inc-Korea/AutoRAG · TypeScript★ 5.1k</p></blockquote><p>自动为你的数据寻找最优 RAG 组合（切片方式、嵌入模型、重排策略自动试），还能检索你本机的文件，用得越勤越准。适合不想手工调参、只要效果的实用派。</p></section><section><h4><a href="https://github.com/weaviate/Verba" target="_blank">Verba</a><a href="#verba"><span>#</span></a></h4><blockquote><p>weaviate/Verba · Python★ 7.7k已归档</p></blockquote><p>基于 Weaviate 的 RAG 问答机器人，开箱即用、界面完整。需要注意：<strong>该项目目前已归档</strong>，可继续作为参考实现或自建起点，但不再跟进新版本。</p></section><section><h4><a href="https://github.com/SqueezeAILab/KVQuant" target="_blank">KVQuant</a><a href="#kvquant"><span>#</span></a></h4><blockquote><p>SqueezeAILab/KVQuant · Python★ 434</p></blockquote><p>NeurIPS 2024 论文的实现：通过 KV 缓存量化把上下文推进到千万级长度。学术研究向，适合关注长上下文推理与显存优化的研究者。</p></section></section><section><h3>A7 · 内容创作与音视频<a href="#a7--内容创作与音视频"><span>#</span></a></h3><p>从素材到成片。三条线分开看：<strong>生成</strong>（文生图 / 文生视频）、<strong>剪辑</strong>（自动剪、加字幕、提高光）、<strong>配音</strong>（TTS 语音合成）。选择标准：批量出片选自动化工作流；要精修选剪辑型；只要声音选 TTS；做口播视频优先看支持本地 TTS 的方案。</p><section><h4><a href="https://github.com/harry0703/MoneyPrinterTurbo" target="_blank">MoneyPrinterTurbo</a><a href="#moneyprinterturbo"><span>#</span></a></h4><blockquote><p>harry0703/MoneyPrinterTurbo · Python★ 123.0k</p></blockquote><p>输入主题或关键词，自动产出高清短视频：文案、素材、配音、字幕全流程自动化。国内用户量最大的短视频批量生成项目之一，适合做矩阵号、批量产出内容。</p></section><section><h4><a href="https://github.com/calesthio/OpenMontage" target="_blank">OpenMontage</a><a href="#openmontage"><span>#</span></a></h4><blockquote><p>calesthio/OpenMontage · Python★ 58.0k</p></blockquote><p>开源的 Agentic 视频制作系统，内置 12 条制作流水线、100+ 工具、700+ Agent 技能，从脚本到成片全链路覆盖。适合把视频生产做成标准产线的团队。</p></section><section><h4><a href="https://github.com/browser-use/video-use" target="_blank">Video Use</a><a href="#video-use"><span>#</span></a></h4><blockquote><p>browser-use/video-use · Python★ 24.8k</p></blockquote><p>用对话方式剪视频：把素材丢进文件夹，用自然语言告诉 AI 剪成什么样，Agent 自己完成裁剪、拼接与导出。适合不想学剪辑软件、只想说清楚要什么的人。</p></section><section><h4><a href="https://github.com/krillinai/OpenCreator" target="_blank">OpenCreator</a><a href="#opencreator"><span>#</span></a></h4><blockquote><p>krillinai/OpenCreator · TypeScript★ 11.4k</p></blockquote><p>面向创作者的 AI 工作台（前身 KrillinAI），基于 Codex，覆盖视频、图像、语音、虚拟形象等，含视频翻译与配音流程。适合做多语种内容分发的创作者。</p></section><section><h4><a href="https://github.com/zhouxiaoka/autoclip" target="_blank">AutoClip</a><a href="#autoclip"><span>#</span></a></h4><blockquote><p>zhouxiaoka/autoclip · Python★ 7.3k</p></blockquote><p>长视频自动提取高光片段的二创工具：自动识别精彩段落、切成短视频并生成封面。适合做直播切片、长内容二次分发。</p></section><section><h4><a href="https://github.com/FireRedTeam/FireRed-OpenStoryline" target="_blank">FireRed-OpenStoryline</a><a href="#firered-openstoryline"><span>#</span></a></h4><blockquote><p>FireRedTeam/FireRed-OpenStoryline · Python★ 3.4k</p></blockquote><p>把手工剪辑流程变成「意图驱动」的 AI 剪辑 Agent：你描述想要的效果，它来完成剪辑决策。小红书团队开源，适合研究 AI 剪辑范式的团队。</p></section><section><h4><a href="https://github.com/coqui-ai/TTS" target="_blank">TTS（Coqui）</a><a href="#ttscoqui"><span>#</span></a></h4><blockquote><p>coqui-ai/TTS · Python★ 46.0k</p></blockquote><p>经典深度学习语音合成工具包，研究与生产都在用，模型种类丰富、支持声音克隆。适合需要本地部署、对合成质量有要求的开发者。</p></section><section><h4><a href="https://github.com/index-tts/index-tts" target="_blank">index-tts</a><a href="#index-tts"><span>#</span></a></h4><blockquote><p>index-tts/index-tts · Python★ 23.9k</p></blockquote><p>工业级零样本语音合成系统：给一段参考音频即可复刻音色，中文表现好、可控性强。适合要做固定音色口播内容的创作者。</p></section><section><h4><a href="https://github.com/rany2/edge-tts" target="_blank">edge-tts</a><a href="#edge-tts"><span>#</span></a></h4><blockquote><p>rany2/edge-tts · Python★ 11.9k</p></blockquote><p>调用微软 Edge 的在线语音合成服务，免费、无需 API Key、支持大量中文音色。适合快速给视频配音，也是各类自动化视频项目默认的配音方案。</p></section><section><h4><a href="https://github.com/OHF-Voice/piper1-gpl" target="_blank">Piper</a><a href="#piper"><span>#</span></a></h4><blockquote><p>OHF-Voice/piper1-gpl · C++★ 5.6k已迁移</p></blockquote><p>快速本地神经语音合成引擎，完全离线、资源占用低，适合嵌入到本地应用或自动化流程中。<strong>注意仓库迁移</strong>：原 rhasspy/piper 已归档，维护版本迁至 OHF-Voice/piper1-gpl。</p></section><section><h4><a href="https://github.com/zai-org/CogVideo" target="_blank">CogVideo</a><a href="#cogvideo"><span>#</span></a></h4><blockquote><p>zai-org/CogVideo · Python★ 13.0k</p></blockquote><p>智谱开源的文生视频与图生视频模型（CogVideoX 系列），可本地部署。适合想自建视频生成能力、而不是调用第三方接口的团队。</p></section><section><h4><a href="https://github.com/huggingface/diffusers" target="_blank">Diffusers</a><a href="#diffusers"><span>#</span></a></h4><blockquote><p>huggingface/diffusers · Python★ 34.5k</p></blockquote><p>图像、视频、音频扩散模型的标准库，几乎所有开源生成模型的官方实现都在这里。适合作为本地生成能力的地基，也方便横向比较不同模型。</p></section></section><section><h3>A8 · 科研与学术 Agent<a href="#a8--科研与学术-agent"><span>#</span></a></h3><p>从读文献到成稿的「会自己推进」的那一类。和技能类的区别是：它们会自主拆解研究任务、规划步骤、循环迭代。选择标准：要写长篇成稿选多 Agent 写作型；要做实验与工程规划选研究助手型；要看前沿方向选研究内核型。</p><section><h4><a href="https://github.com/MLSysOps/MLE-agent" target="_blank">MLE-Agent</a><a href="#mle-agent"><span>#</span></a></h4><blockquote><p>MLSysOps/MLE-agent · Python★ 1.6k</p></blockquote><p>面向 AI 工程与科研的智能助手：能做实验规划、接入 arXiv 与论文库、辅助代码实现。适合做机器学习研究、需要有人帮忙梳理实验路线的同学。</p></section><section><h4><a href="https://github.com/federicodeponte/opendraft" target="_blank">opendraft</a><a href="#opendraft"><span>#</span></a></h4><blockquote><p>federicodeponte/opendraft · Python★ 413</p></blockquote><p>免费开源的论文写作 Agent：19 个 Agent 分工协作，约 10 分钟起草两万字学术论文并带引用整理。适合需要快速产出初稿、后续再精修的写作者。</p></section><section><h4><a href="https://github.com/Tencent/CognitiveKernel-Pro" target="_blank">CognitiveKernel-Pro</a><a href="#cognitivekernel-pro"><span>#</span></a></h4><blockquote><p>Tencent/CognitiveKernel-Pro · Python★ 530</p></blockquote><p>腾讯 AI Lab 开源的深度研究 Agent 内核，配套论文说明方法设计。适合研究长程研究任务如何规划与执行的技术团队。</p></section><section><h4><a href="https://github.com/PaperDebugger/paperdebugger" target="_blank">PaperDebugger</a><a href="#paperdebugger"><span>#</span></a></h4><blockquote><p>PaperDebugger/paperdebugger · TypeScript★ 1.5k</p></blockquote><p>插件式的多 Agent 学术写作、评审与修订系统，直接工作在编辑器内。适合边写边改、希望 AI 充当审稿人角色的研究者。</p></section></section><section><h3>A9 · 金融与量化<a href="#a9--金融与量化"><span>#</span></a></h3><p>投研分析与策略回测。<strong>分析类</strong>做多角色研报与行情解读；<strong>框架类</strong>做回测与交易执行。选择标准：只想让 AI 帮忙读财报、理逻辑选分析类；要跑策略回测、接实盘选框架类。所有输出都应视为研究辅助，不构成投资建议。</p><section><h4><a href="https://github.com/TauricResearch/TradingAgents" target="_blank">TradingAgents</a><a href="#tradingagents"><span>#</span></a></h4><blockquote><p>TauricResearch/TradingAgents · Python★ 104.9k</p></blockquote><p>多智能体金融交易框架：模拟一个投研团队，分析师、研究员、交易员、风控各司其职并互相辩论后给出决策。适合研究「多角色协作如何提升金融分析质量」的人。</p></section><section><h4><a href="https://github.com/AI4Finance-Foundation/FinRL-Trading" target="_blank">FinRL-Trading</a><a href="#finrl-trading"><span>#</span></a></h4><blockquote><p>AI4Finance-Foundation/FinRL-Trading · Python★ 3.7k</p></blockquote><p>AI 原生的模块化量化交易基础设施（FinRL-X），覆盖数据处理、策略训练到回测执行。适合有一定编程能力、想搭建完整量化链路的开发者。</p></section><section><h4><a href="https://github.com/0xemmkty/QuantMuse" target="_blank">QuantMuse</a><a href="#quantmuse"><span>#</span></a></h4><blockquote><p>0xemmkty/QuantMuse · Python★ 2.9k</p></blockquote><p>完整量化系统实现，含 AI 分析、实时数据处理与交易执行。适合想参考端到端量化系统架构的开发者。</p></section><section><h4><a href="https://github.com/imanoop7/Financial-Analysis--Multi-Agent-Open-Source-LLM" target="_blank">Financial-Analysis Multi-Agent</a><a href="#financial-analysis-multi-agent"><span>#</span></a></h4><blockquote><p>imanoop7/Financial-Analysis—Multi-Agent-Open-Source-LLM · Python★ 147</p></blockquote><p>开源的多智能体财报分析项目：多个 Agent 分工读取财报不同部分并汇总结论。适合想低成本试跑「AI 读财报」流程的人。</p></section><section><h4><a href="https://github.com/Agentic-Analyst/stock-analyst" target="_blank">stock-analyst</a><a href="#stock-analyst"><span>#</span></a></h4><blockquote><p>Agentic-Analyst/stock-analyst · Python★ 125</p></blockquote><p>独立的金融分析 Agent 执行系统，可编排多个基于 LLM 的分析步骤形成流水线。适合把它作为自建金融分析系统的骨架。</p></section></section><section><h3>A10 · 安全渗透 Agent<a href="#a10--安全渗透-agent"><span>#</span></a></h3><p>会自主规划路径的攻防 Agent，比技能类威力更大、也需要更严格的使用边界。<strong>请在自有系统或已获书面授权的前提下使用</strong>，并优先在隔离环境中运行。</p><section><h4><a href="https://github.com/usestrix/strix" target="_blank">Strix</a><a href="#strix"><span>#</span></a></h4><blockquote><p>usestrix/strix · Python★ 62.1k</p></blockquote><p>开源 AI 渗透测试工具：自动扫描、发现并尝试修复应用漏洞，面向开发团队做上线前自查。适合有授权、想在 CI 前加一道自动化安全检查的场景。</p></section><section><h4><a href="https://github.com/vxcontrol/pentagi" target="_blank">PentAGI</a><a href="#pentagi"><span>#</span></a></h4><blockquote><p>vxcontrol/pentagi · Go★ 23.6k</p></blockquote><p>全自主多 Agent 渗透测试系统：多个 Agent 分工完成侦察、利用与报告，可容器化部署。适合专业红队与安全研究团队。</p></section><section><h4><a href="https://github.com/GreyDGL/PentestGPT" target="_blank">PentestGPT</a><a href="#pentestgpt"><span>#</span></a></h4><blockquote><p>GreyDGL/PentestGPT · Python★ 15.4k</p></blockquote><p>首个由 LLM 驱动的自动化渗透测试框架，学术引用量大。适合研究自动化渗透方法论的人。</p></section></section><section><h3>A11 · 移动端与远程操控<a href="#a11--移动端与远程操控"><span>#</span></a></h3><p>把手机也变成被 Agent 驱动的设备。<strong>MCP 型</strong>给编码 Agent 提供手机工具接口，可接进 CI；<strong>独立型</strong>是手机上的 Agent 应用，自己规划执行。选择标准：做移动端测试自动化选 MCP 型；想让手机自己跑任务选独立型；注意 Android 端多数依赖无障碍服务，权限较高。</p><section><h4><a href="https://github.com/yashab-cyber/opendroid" target="_blank">opendroid</a><a href="#opendroid"><span>#</span></a></h4><blockquote><p>yashab-cyber/opendroid · Kotlin★ 1.0k</p></blockquote><p>自主 Android Agent：能自我规划并执行手机任务，支持本地模型或远程 LLM，生产可用。适合做手机端自动化与个人助理场景。</p></section><section><h4><a href="https://github.com/ghost-in-the-droid/android-agent" target="_blank">android-agent</a><a href="#android-agent"><span>#</span></a></h4><blockquote><p>ghost-in-the-droid/android-agent · Python★ 350</p></blockquote><p>通过 ADB 用 AI 驱动真机的开源框架，提供 60+ 工具；iPhone 侧走 WebDriverAgent。适合需要跨 iOS / Android 统一操控的开发与测试团队。</p></section><section><h4><a href="https://github.com/niki914/zafiro" target="_blank">Zafiro</a><a href="#zafiro"><span>#</span></a></h4><blockquote><p>niki914/zafiro · Kotlin★ 163</p></blockquote><p>开源安卓 BYOK Agent：自带你自己的模型 Key，支持 MCP 与 Skills，通过原生 Shell、Python 3 与无障碍服务实现完整手机控制。适合愿意折腾的 Android 高级用户。</p></section><section><h4><a href="https://github.com/skalesapp/skales" target="_blank">skales</a><a href="#skales"><span>#</span></a></h4><blockquote><p>skalesapp/skales · TypeScript★ 1.9k</p></blockquote><p>全平台个人桌面 + 移动 Agent：设定一个目标，它自己推进；支持团队（帕累托）协作模式。适合想让手机和电脑都被同一个 Agent 调度的人。</p></section></section><section><h3>A12 · 多智能体框架与自托管平台<a href="#a12--多智能体框架与自托管平台"><span>#</span></a></h3><p>前者解决 <strong>「怎么让多个角色协作干活」</strong>，后者解决 <strong>「怎么把知识库与客服能力搬回自己机器上」</strong>。这两件事是「一人公司」与中小企业自建 AI 能力时最常缺的两块拼图。</p><section><h4><a href="https://github.com/crewAIInc/crewAI" target="_blank">CrewAI</a><a href="#crewai"><span>#</span></a></h4><blockquote><p>crewAIInc/crewAI · Python★ 58.5k</p></blockquote><p>多智能体协作框架：把「选题、撰稿、审校、发布」定义成不同角色的 Agent，自动分工协作跑完一条完整工作流。是「一个人模拟一个团队」最直接的工具，也支持接入 DeepSeek 等国产模型。</p></section><section><h4><a href="https://github.com/labring/FastGPT" target="_blank">FastGPT</a><a href="#fastgpt"><span>#</span></a></h4><blockquote><p>labring/FastGPT · TypeScript★ 29.6k</p></blockquote><p>可自托管的知识库问答与 Agent 平台：导入文档即建知识库，支持多轮对话、意图识别与复杂问题转人工，常用来做电商客服或企业内部问答。Docker 部署，数据不出内网。</p><div><div><div></div><div>选用提醒</div></div><div><p>同类项目不必都装：<strong>一个分类通常只需要 1~2 个</strong>，先装一个用一周，发现缺什么再补第二个。星标高不等于适合你——描述里出现「研究、基准、论文、实验」的项目装起来成本高、收益周期长，非开发者可直接跳过。另外，凡是能操作电脑、文件或浏览器的 Agent，请只授权指定工作目录，不要一上来就给整个磁盘权限。</p></div></div><blockquote><p><strong>接下来</strong>：能力与执行者都备齐了，还差<strong>教程和同伴</strong>——下一页进入学习资源与社区。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-07-learning/</id>
      <title type="text">学习资源与社区：课程、清单、官方文档</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-07-learning/"/>
      <summary type="text">系统课程（视频）、社区与交流渠道、值得收藏的清单类仓库、各平台官方文档入口；遇到问题先去哪里查。</summary>
      <content type="html"><![CDATA[<section><h2>学习资源与社区<a href="#学习资源与社区"><span>#</span></a></h2><p>课程、官方频道、社区与清单仓库四类入口，全部可公开访问；收录标准与开源库一致——核验通过才收录。</p><p>资源库给了「工具」，这一章给「怎么学会」。视频课打底、官方文档兜底、社区答疑、清单仓库定期扫新。</p><p>资源库看完了，真正上手还差「教程」和「同伴」。下面按系统课程 → 社区渠道 → 清单仓库三层给出入口，全部为可公开访问的地址。</p><section><h3>系统课程（视频）<a href="#系统课程视频"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>课程 / 频道</th><th>讲什么</th><th>适合</th><th>入口</th></tr></thead><tbody><tr><td>吴恩达《用 CrewAI 开发 Agent》</td><td>多智能体设计、开发与部署全流程，配中英字幕与代码</td><td>想系统学 Agent 协作</td><td><a href="https://www.bilibili.com/video/BV1s7NE6GEv9/" target="_blank">B 站</a></td></tr><tr><td>CrewAI 一站式速通</td><td>从零搭多 Agent 工作流，含股票分析、行程规划等实战示例</td><td>想快速跑通第一个案例</td><td><a href="https://www.bilibili.com/video/BV1vSaXzrEBd/" target="_blank">B 站</a></td></tr><tr><td>LangChain 入门到精通</td><td>RAG、Tool、Agent、Memory 全模块，附完整代码库</td><td>开发者打地基</td><td><a href="https://www.bilibili.com/video/BV1NSLg6yEG4/" target="_blank">B 站</a></td></tr><tr><td>LangChain 课程配套笔记</td><td>体系化课件与笔记，查漏补缺比看视频快</td><td>边看边查</td><td><a href="https://xbsheng.github.io/atguigu-note/langchain/" target="_blank">在线笔记</a></td></tr><tr><td>AI 跨境自动化实战</td><td>选品全流程、多语言主图与详情页自动生成</td><td>做跨境电商的运营</td><td><a href="https://www.bilibili.com/video/BV1D2DXBbE3y/" target="_blank">B 站</a></td></tr><tr><td>DeepLearning.AI 官方频道</td><td>吴恩达团队的 Agent、CrewAI、LangChain 系列短课</td><td>看框架底层原理</td><td><a href="https://www.youtube.com/@deeplearningai" target="_blank">YouTube</a></td></tr><tr><td>CrewAI / LangChain 官方频道</td><td>版本更新、功能演示与最佳实践</td><td>跟进新版本</td><td><a href="https://www.youtube.com/@CrewAI" target="_blank">CrewAI</a> ｜ <a href="https://www.youtube.com/@LangChain" target="_blank">LangChain</a></td></tr><tr><td>Anthropic 官方频道与 Academy</td><td>Claude / Agent Skills / MCP 的第一手教程与官方课程</td><td>用 Claude 系工具的人</td><td><a href="https://www.youtube.com/@anthropic-ai" target="_blank">YouTube</a> ｜ <a href="https://www.anthropic.com/learn" target="_blank">Academy</a></td></tr><tr><td>OpenAI 官方频道与 Academy</td><td>Codex、GPT 系模型与 Agent SDK 的官方演示课</td><td>用 OpenAI 系工具的人</td><td><a href="https://www.youtube.com/@OpenAI" target="_blank">YouTube</a> ｜ <a href="https://academy.openai.com" target="_blank">Academy</a></td></tr><tr><td>Hugging Face Learn</td><td>从 Transformers 到 Agents 的免费短课，配练习</td><td>想补底层原理</td><td><a href="https://huggingface.co/learn" target="_blank">huggingface.co/learn</a></td></tr><tr><td>B 站官方机构号</td><td>在 B 站搜「Agent 实战」「LangChain 教程」，按播放量与更新时间筛</td><td>中文入门</td><td><a href="https://search.bilibili.com/all?keyword=Agent%20%E5%AE%9E%E6%88%98" target="_blank">搜索直达</a></td></tr><tr><td>Greg Isenberg</td><td>一人公司、数字创业与 AI 工具变现的真实案例</td><td>找商业模式灵感</td><td><a href="https://www.youtube.com/@GregIsenberg" target="_blank">YouTube</a></td></tr></tbody></table></section><section><h3>社区与交流渠道<a href="#社区与交流渠道"><span>#</span></a></h3><ul>
<li><strong>框架官方社区</strong>：<a href="https://discord.gg/crewai" target="_blank">CrewAI Discord</a>——开发者交流、插件分享与问题排查。</li>
<li><strong>桌面 Agent 社区</strong>：<a href="https://github.com/openclaw/openclaw" target="_blank">openclaw/openclaw</a>（★389.6k）与 <a href="https://github.com/NousResearch/hermes-agent" target="_blank">NousResearch/hermes-agent</a>（★245.2k）的仓库 Issue 与 Discussions，是当前最活跃的自进化 Agent 讨论区。</li>
<li><strong>国内技术社区</strong>：<a href="https://segmentfault.com" target="_blank">思否 SegmentFault</a>（大量 Agent 落地实战与踩坑记录）、<a href="https://developer.volcengine.com" target="_blank">火山引擎开发者社区</a>（豆包 API 官方教程与企业级案例）。</li>
<li><strong>发现新项目</strong>：<a href="https://github.com/trending?spoken_language_code=zh" target="_blank">GitHub Trending 中文榜</a>，每日更新国内热门开源项目。</li>
<li><strong>平台侧开源</strong>：<a href="https://github.com/coze-dev/coze-loop" target="_blank">扣子 Coze 开源项目</a>（★5.7k），字节跳动的 Agent 运维平台，配有官方交流群。</li>
</ul></section><section><h3>值得收藏的清单类仓库<a href="#值得收藏的清单类仓库"><span>#</span></a></h3><ul>
<li><a href="https://github.com/lzy83925/LangchainV1-in-action" target="_blank">LangchainV1-in-action</a>（★72）：从 0 到 1 的实战案例集，含智能翻译、文本分类、多功能助手等项目。</li>
<li><a href="https://github.com/e2b-dev/awesome-ai-agents" target="_blank">awesome-ai-agents</a>（★30.0k）：精选的 Agent 框架、工具、论文与教程大全，适合定期扫一遍找新东西。</li>
</ul></section><section><h3>官方文档入口（遇到问题先查这里）<a href="#官方文档入口遇到问题先查这里"><span>#</span></a></h3><ul>
<li><strong>Anthropic Docs</strong>：<a href="https://docs.claude.com" target="_blank">docs.claude.com</a>——Claude API、Agent Skills 规范与 Claude Code 的权威文档。</li>
<li><strong>OpenAI Docs</strong>：<a href="https://platform.openai.com/docs" target="_blank">platform.openai.com/docs</a>——API 参考、Cookbook 与 Agents 指引。</li>
<li><strong>Model Context Protocol</strong>：<a href="https://modelcontextprotocol.io" target="_blank">modelcontextprotocol.io</a>——MCP 协议规范，接工具前先读。</li>
</ul><div><div><div></div><div>关于社区地址的核验说明</div></div><div><p>来源材料中提到的部分社区站点（如 Hermes Agent 中文站、OpenClaw 中文 Discord 等）本次核验无法确认其可访问性与归属，<strong>为避免指向仿冒站点，未予收录</strong>；请优先使用上表中项目<strong>官方仓库</strong>内的链接。</p></div></div><blockquote><p><strong>接下来</strong>：看完别人的教程，接下来<strong>动手做自己的</strong>：下一页是创建 Skill / Agent 的分步教学。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-08-tutorial/</id>
      <title type="text">动手教学：创建并使用 Skill 与 Agent</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-08-tutorial/"/>
      <summary type="text">一步步创建自己的 Skill、创建自己的 Agent、掌握使用方法，以及在 OpenClaw / QClaw / WorkBuddy 等主流工具中导入。</summary>
      <content type="html"><![CDATA[<section><h2>动手教学：创建并使用 Skill 与 Agent<a href="#动手教学创建并使用-skill-与-agent"><span>#</span></a></h2><p>四节实操：创建自己的 Skill、创建自己的 Agent、两者的使用方法，以及在 OpenClaw、QClaw、WorkBuddy 等客户端中导入。</p></section>
<section><h2>创建自己的 Skill<a href="#创建自己的-skill"><span>#</span></a></h2><p>Skill 的本体只是一个<strong>文件夹</strong>：一份 <code>SKILL.md</code> 说明文件，加上可选的脚本与模板。规范来自 <a href="https://github.com/anthropics/skills" target="_blank">anthropics/skills</a>，所有支持 Agent Skills 规范的客户端都认这个结构。</p><ol>
<li><strong>建文件夹</strong>：名字用小写连字符（如 <code>weekly-report</code>），一个技能一个文件夹。</li>
<li><strong>写 SKILL.md</strong>：顶部 YAML 写 <code>name</code> 与 <code>description</code>——description 决定客户端「什么时候想起用它」，要写成触发条件（做什么、何时用），而不是功能介绍。</li>
<li><strong>正文写做法</strong>：步骤、输入输出、注意事项；可附脚本（如 <code>build.py</code>）并在正文里说明何时执行。</li>
<li><strong>放进技能目录</strong>：各客户端的技能目录或「导入本地文件夹 / 仓库地址」入口（见本章第 4 节）。</li>
<li><strong>验证</strong>：重开会话后说一句触发语（如「帮我出周报」），确认客户端命中并按步骤执行。</li>
</ol><div><div><div></div><div>两个常见坑</div></div><div><p>description 写成广告词导致不触发；一个技能塞多个职责导致匹配混乱——一个技能只解决一类事。</p></div></div></section>
<section><h2>创建自己的 Agent<a href="#创建自己的-agent"><span>#</span></a></h2><p>Agent = <strong>系统提示 + 工具权限 + 触发场景</strong>。两种主流做法：客户端内置的 Subagent 机制（Markdown 定义，零代码），或框架编排（CrewAI / LangChain，Python 代码）。</p><ol>
<li><strong>Subagent 方式</strong>：在客户端的 agents 目录建一个 <code>.md</code>，frontmatter 写 <code>name</code>、<code>description</code>（何时委派给它）与允许的工具白名单；正文就是它的系统提示——职责、边界、输出格式。</li>
<li><strong>框架方式</strong>：用 CrewAI 定义角色（role / goal / backstory）与工具集，跑通单 Agent 再加协作。</li>
<li><strong>权限最小化</strong>：先只给只读工具（读文件、搜索），验证稳定后再放开写入与执行。</li>
<li><strong>验证</strong>：给它三类任务——典型、边界（该拒绝的）、超范围（确认它不越权）。</li>
</ol><div><div><div></div><div>Skill 与 Agent 怎么选</div></div><div><p>固定流程交给 <strong>Skill</strong>（你来指挥）；需要自主决策多步推进的，才做成 <strong>Agent</strong>——能力越大，越要管好权限。</p></div></div></section>
<section><h2>Skill 与 Agent 的使用方法<a href="#skill-与-agent-的使用方法"><span>#</span></a></h2><p>装好之后，日常就是三件事：<strong>触发、组合、验收</strong>。</p><ol>
<li><strong>触发</strong>：描述任务而不是报指令名——「把这篇 PDF 的要点整理成中文摘要」会自动命中解析类 Skill；也可以显式点名「用 weekly-report 出周报」。</li>
<li><strong>组合</strong>：常见流水线 = 抓取类 Skill → 处理类 Skill → 输出类 Skill；需要自动串起来时交给 Agent 排程（如 cron + 桌面 Agent）。</li>
<li><strong>验收</strong>：要求 Agent 给出「做了什么、改了哪些文件、结果在哪」，关键产出人工抽查——自动化跑得越顺，越要保留抽检习惯。</li>
<li><strong>迭代</strong>：Skill 不命中就改 description 的触发词；Agent 输出不稳就收紧系统提示与工具白名单。</li>
</ol></section>
<section><h2>在主流工具中导入：OpenClaw、QClaw、WorkBuddy<a href="#在主流工具中导入openclawqclawworkbuddy"><span>#</span></a></h2><p>支持 Agent Skills 规范的客户端，导入方式基本是两条路：<strong>本地文件夹</strong>或<strong>仓库地址</strong>。各客户端的入口名称可能不同，以各自官方文档为准。</p><ol>
<li><strong>OpenClaw</strong>（<a href="https://github.com/openclaw/openclaw" target="_blank">openclaw/openclaw</a>）：把技能文件夹放进其 skills 目录，或在配置中登记 Skill 仓库地址；重载后即可被调用。</li>
<li><strong>QClaw</strong>：在客户端的技能 / 插件管理中选择「导入本地技能文件夹」，或粘贴仓库地址；导入后用一条触发语验证是否生效。</li>
<li><strong>WorkBuddy</strong>（<a href="https://www.workbuddy.cn" target="_blank">workbuddy.cn</a>）：通过技能中心安装在线技能，或导入本地技能文件夹；企业内可统一维护一份技能仓库再分发给团队。</li>
<li><strong>通用排查</strong>：导入后不触发，先查三处——文件夹名与 SKILL.md 的 name 是否一致、description 是否写了触发条件、客户端是否需要重开会话。</li>
</ol><div><div><div></div><div>建议</div></div><div><p>先在一台客户端跑通最小技能（如 weekly-report），再把同一文件夹复制到其他客户端——规范一致，基本零改动。</p></div></div><blockquote><p><strong>接下来</strong>：能力会装、Agent 会建、流程会跑——最后一步：<strong>把它们变成收入</strong>。进入下一页的一人公司实战。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mac-api-09-oneperson/</id>
      <title type="text">一人公司：把能力接进商业链路</title>
      <published>2026-09-15T00:00:00.000Z</published>
      <updated>2026-09-15T00:00:00.000Z</updated>
      <author><name>AWF</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mac-api-09-oneperson/"/>
      <summary type="text">一人公司的定义与五大盈利模式、自动化全链路工具栈、分模式盈利测算、落地四阶段与七类风险对策、跨境电商自动化选型。</summary>
      <content type="html"><![CDATA[<section><h2>一人公司：把能力接进商业链路<a href="#一人公司把能力接进商业链路"><span>#</span></a></h2><p>前六个部分讲怎么把工具装好，这一部分开始算钱：选模式、搭流程、估利润、控风险。全部测算为行业参考区间，不构成任何收益承诺。</p></section>
<section><h2>一人公司：定义与五大盈利模式<a href="#一人公司定义与五大盈利模式"><span>#</span></a></h2><p>前六个部分解决的是「工具怎么配」，从本部分起解决「配好之后干什么」。一人公司是最适合个人用 AI 放大产能的商业形态，也是把前面所有能力变现的最短路径。</p><section><h3>什么才是真正的「一人公司」<a href="#什么才是真正的一人公司"><span>#</span></a></h3><div><div><div></div><div>定义</div></div><div><p>网上说的「一人公司」（One Person Company, OPC），<strong>不是法律意义上的一人有限责任公司</strong>，而是一种单人数字创业模式：一个人独立跑通「<strong>流量获取 → 转化成交 → 产品交付</strong>」的完整商业闭环，不雇全职员工、不租实体办公室，靠 AI 与自动化工具放大个人产能，收入全部归自己，边际成本极低。</p></div></div><section><h4>三条本质<a href="#三条本质"><span>#</span></a></h4><ul>
<li><strong>用互联网放大个人技能或信息差</strong>，打破「收入与时间成线性关系」的天花板。</li>
<li><strong>用工具替代重复劳动</strong>，人只做决策、创意和优化 —— 这三件事恰恰是 AI 最不擅长的。</li>
<li><strong>法律载体可以后置</strong>：起步用个人账号即可，跑通并有稳定收入后再注册个体工商户或个人独资企业。</li>
</ul><div><div><div></div><div>两个最常见的误区</div></div><div><p><strong>一、它不是「躺赚」。</strong> 自动化只替代重复劳动；选品、选题、方向调整仍然需要人来决策，前期搭建流程非常耗时，只有跑通闭环之后才会逐步省心。<strong>二、工具不是核心竞争力。</strong> 同一套工具，有人赚大钱有人亏时间，差别在流量、转化与行业的认知。工具只是放大器 —— 没有赚钱逻辑，再强的工具也放大不出收入。</p></div></div></section></section><section><h3>五大盈利模式总览<a href="#五大盈利模式总览"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>模式</th><th>赚钱逻辑</th><th>自动化程度</th><th>起步门槛</th><th>利润特征</th><th>适合人群</th></tr></thead><tbody><tr><td>虚拟产品 / 知识付费</td><td>一次制作、无限复制，边际成本趋近于零</td><td>极高</td><td>中（需专业积累）</td><td>高毛利、可规模化</td><td>有领域积累、擅长总结</td></tr><tr><td>短视频带货 / CPS</td><td>挂链接赚佣金，不囤货不售后</td><td>高</td><td>低</td><td>低毛利、靠量级</td><td>时间充裕、无专业技能</td></tr><tr><td>平台广告分成</td><td>内容播放量换平台补贴</td><td>高</td><td>低</td><td>单价低、极稳定</td><td>执行力强、能持续产出</td></tr><tr><td>无货源 / 跨境电商</td><td>跨平台信息差赚差价</td><td>中高</td><td>中高（要懂规则）</td><td>爆发力强、波动大</td><td>数据敏感、愿研究规则</td></tr><tr><td>垂直企业服务</td><td>为企业提供标准化服务</td><td>中</td><td>高（需行业资源）</td><td>高客单、可复购</td><td>有行业经验、擅沟通</td></tr></tbody></table></section><section><h3>逐个拆解与细分方向<a href="#逐个拆解与细分方向"><span>#</span></a></h3><p>每种模式的赚钱逻辑、完整链路、自动化核心与细分方向差别很大，逐个切换查看：</p><section><h4>模式 1 · 虚拟产品 / 知识付费<a href="#模式-1--虚拟产品--知识付费"><span>#</span></a></h4><p><strong>赚钱逻辑：</strong> 一次制作、无限复制，边际成本趋近于零 ｜ <strong>自动化程度：</strong> 极高 ｜ <strong>起步门槛：</strong> 中（需专业积累） ｜ <strong>利润特征：</strong> 高毛利、可规模化</p><p><strong>赚钱逻辑：</strong> 一次制作、无限次复制售卖，边际成本趋近于零。<strong>完整链路：</strong> 选极小垂直赛道 → AI 生成或整理产品 → 短视频 / 小红书引流 → 私域或小程序成交 → 自动发货。<strong>自动化核心：</strong> 产品可无限复制、自动发卡发货、关键词自动回复、被动成交。<strong>适合人群：</strong> 在某个领域有专业积累、擅长总结提炼的人。</p></section><section><h4>① 行业资料包类<a href="#-行业资料包类"><span>#</span></a></h4><p>考研考证资料、职场模板、行业研究报告、政策汇总、爆款拆解合集。生产门槛最低、标准化程度最高，最适合新手切入。</p></section><section><h4>② 技能教程类<a href="#-技能教程类"><span>#</span></a></h4><p>软件操作教程、副业方法论、考证通关课、职场技能课。客单价更高，需要一定专业积累，复购率强。</p></section><section><h4>③ 工具模板类<a href="#-工具模板类"><span>#</span></a></h4><p>Excel 高级模板、PPT 模板、剪辑预设、Prompt 合集、自动化脚本、设计素材。可持续更新，用户粘性高。</p></section><section><h4>④ 垂直社群类<a href="#-垂直社群类"><span>#</span></a></h4><p>打卡社群、资源交流群、行业人脉群、答疑社群。按年或按月收费，有持续现金流，但需要一定运营能力。</p></section><section><h4>模式 2 · 短视频带货 / CPS 佣金<a href="#模式-2--短视频带货--cps-佣金"><span>#</span></a></h4><p><strong>赚钱逻辑：</strong> 挂链接赚佣金，不囤货不售后 ｜ <strong>自动化程度：</strong> 高 ｜ <strong>起步门槛：</strong> 低 ｜ <strong>利润特征：</strong> 低毛利、靠量级</p><p><strong>赚钱逻辑：</strong> 短视频挂小黄车或团购链接，用户下单后赚取商品佣金，不囤货、不发货、不做售后，平台自动结算。<strong>完整链路：</strong> 选高佣金标品 → AI 批量生成脚本 → 批量剪辑 → 矩阵账号定时分发 → 平台自动结算。<strong>自动化核心：</strong> AI 批量生产内容、多账号自动发布、订单自动结算。<strong>适合人群：</strong> 时间充裕、愿意批量做内容、无特殊专业技能的人。</p></section><section><h4>① 居家好物带货<a href="#-居家好物带货"><span>#</span></a></h4><p>日用品、家居收纳、小家电。高复购、高转化，佣金比例 20%~30%，最适合矩阵批量操作。</p></section><section><h4>② 图书文教带货<a href="#-图书文教带货"><span>#</span></a></h4><p>书籍、文具、课程。用户决策成本低、转化率高，佣金 15%~25%，内容容易量产。</p></section><section><h4>③ 本地生活团购<a href="#-本地生活团购"><span>#</span></a></h4><p>餐饮、休闲、丽人。到店核销、无需物流，佣金 10%~20%，本地流量精准。</p></section><section><h4>④ 影视剪辑带货<a href="#-影视剪辑带货"><span>#</span></a></h4><p>影视解说、综艺切片挂商品链接。流量大、起号快，单条佣金低但靠量级取胜。</p></section><section><h4>模式 3 · 平台广告分成 / 流量补贴<a href="#模式-3--平台广告分成--流量补贴"><span>#</span></a></h4><p><strong>赚钱逻辑：</strong> 内容播放量换平台补贴 ｜ <strong>自动化程度：</strong> 高 ｜ <strong>起步门槛：</strong> 低 ｜ <strong>利润特征：</strong> 单价低、极稳定</p><p><strong>赚钱逻辑：</strong> 靠内容播放量或阅读量赚平台补贴，无需对接商家、无需售后。<strong>完整链路：</strong> 锁定垂直领域 → 运营多个账号 → AI 批量生产内容 → 一键分发多平台 → 自动结算收益。<strong>自动化核心：</strong> 内容批量生成、多账号统一管理、收益自动到账。<strong>适合人群：</strong> 执行力强、能持续产内容、追求稳定低风险的人。</p></section><section><h4>① 图文号广告分成<a href="#-图文号广告分成"><span>#</span></a></h4><p>头条号、百家号、企鹅号。单价最低、量产最容易，适合「搬运 + 二次创作」的矩阵打法。</p></section><section><h4>② 短视频中视频计划<a href="#-短视频中视频计划"><span>#</span></a></h4><p>抖音中视频、快手光合计划。万次播放收益约 10~30 元，横屏视频为主，量产难度中等。</p></section><section><h4>③ 长视频创作激励<a href="#-长视频创作激励"><span>#</span></a></h4><p>B 站创作激励、西瓜视频。万次播放收益约 30~80 元，单价最高，制作成本也更高。</p></section><section><h4>模式 4 · 无货源 / 跨境电商<a href="#模式-4--无货源--跨境电商"><span>#</span></a></h4><p><strong>赚钱逻辑：</strong> 跨平台信息差赚差价 ｜ <strong>自动化程度：</strong> 中高 ｜ <strong>起步门槛：</strong> 中高（要懂规则） ｜ <strong>利润特征：</strong> 爆发力强、波动大</p><p><strong>赚钱逻辑：</strong> 利用跨平台信息差赚差价，不囤货、一件代发。<strong>完整链路：</strong> AI 选品 → AI 生成多语言文案与主图 → 自动上架 → 用户下单后自动同步供货商发货 → AI 客服。<strong>自动化核心：</strong> AI 翻译与选品、商品自动上架、订单自动同步、智能客服。<strong>适合人群：</strong> 对数据敏感、愿意花时间研究平台规则的人。</p></section><section><h4>① 国内无货源店群<a href="#-国内无货源店群"><span>#</span></a></h4><p>抖店、拼多多、淘宝。利用平台信息差一件代发，上手快，但竞争激烈。</p></section><section><h4>② 跨境 TikTok Shop<a href="#-跨境-tiktok-shop"><span>#</span></a></h4><p>东南亚与欧美市场。差价大、增长快，适合轻小件商品。</p></section><section><h4>③ 亚马逊 FBM 无货源<a href="#-亚马逊-fbm-无货源"><span>#</span></a></h4><p>客单价高、利润空间大，但规则严格、封号风险高，适合有经验者。</p></section><section><h4>模式 5 · 垂直企业服务<a href="#模式-5--垂直企业服务"><span>#</span></a></h4><p><strong>赚钱逻辑：</strong> 为企业提供标准化服务 ｜ <strong>自动化程度：</strong> 中 ｜ <strong>起步门槛：</strong> 高（需行业资源） ｜ <strong>利润特征：</strong> 高客单、可复购</p><p><strong>赚钱逻辑：</strong> 为中小企业提供标准化服务，靠专业能力变现，交付物可模板化。<strong>完整链路：</strong> 短视频发布行业干货 → 吸引精准企业客户 → 标准化模板 + AI 交付 → 自动跟进复购。<strong>自动化核心：</strong> 获客内容标准化、交付模板化、客户跟进自动化。<strong>适合人群：</strong> 有行业经验、擅长沟通对接的人。</p></section><section><h4>① 短视频 / 账号代运营<a href="#-短视频--账号代运营"><span>#</span></a></h4><p>按月收费、标准化交付，客单价约 1000~5000 元 / 月，可同时服务多家。</p></section><section><h4>② AI 智能体搭建<a href="#-ai-智能体搭建"><span>#</span></a></h4><p>企业客服机器人、内部知识库、自动化工作流。客单价高，一次开发可持续收费。</p></section><section><h4>③ 财税 / 资质咨询<a href="#-财税--资质咨询"><span>#</span></a></h4><p>注册、记账、资质办理。高客单价、轻交付，需要一定行业资源。</p></section><section><h4>④ 数字化工具部署<a href="#-数字化工具部署"><span>#</span></a></h4><p>OA、CRM、自动化流程搭建。按项目收费，交付物可标准化复制。</p><div><div><div></div><div>怎么选：三个提问</div></div><div><p><strong>① 你手里已有的资源是什么？</strong> 有专业积累选模式 1 或 5；只有时间选模式 2 或 3；对数据敏感选模式 4。<strong>② 你能接受多久没有收入？</strong> 模式 3 起量最慢但最稳，模式 2 与 4 反馈最快但波动大。<strong>③ 哪一环能被自动化替代？</strong> 如果一条链路里全是「必须人做的判断」，那它就不适合做一人公司 —— 先改造链路，再动手。</p></div></div></section></section></section>
<section><h2>自动化全链路工具栈<a href="#自动化全链路工具栈"><span>#</span></a></h2><p>按「内容生产 → 流量分发 → 转化交付 → 数据复盘」四段拆开，每段说明该用什么，以及该把哪一档模型放在这一段。</p><section><h3>内容生产<a href="#内容生产"><span>#</span></a></h3><section><h4>大模型的分工：本地管量，云端管质<a href="#大模型的分工本地管量云端管质"><span>#</span></a></h4><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>任务类型</th><th>推荐档位</th><th>理由</th></tr></thead><tbody><tr><td>批量洗稿、分类、打标签、简单抽取</td><td>本地 8B 模型</td><td>量大、质量要求中等，本地零边际成本</td></tr><tr><td>文案初稿、脚本批量生成、多语言翻译</td><td>云端低价档（如 DeepSeek V4.1 Flash）</td><td>质量足够且单价低，适合每天上千次调用</td></tr><tr><td>关键页文案、长文、复杂推理、写代码</td><td>云端旗舰档</td><td>直接决定转化率或交付质量，这一档不能省</td></tr><tr><td>夜间批量任务</td><td>任意档位 + 排到空闲时段</td><td>DeepSeek 类平台分时段计价，夜间执行成本减半</td></tr><tr><td>敏感数据处理</td><td>本地模型</td><td>数据不出本机，合规压力最小</td></tr></tbody></table></section><section><h4>视频批量生产<a href="#视频批量生产"><span>#</span></a></h4><ul>
<li><strong>剪映专业版（Mac 版）</strong>：批量导入素材、自动字幕、AI 配音、模板批量导出，对 Apple Silicon 有原生优化。</li>
<li><strong>FFmpeg</strong>（<code>brew install ffmpeg</code>）：命令行批量转码、拼接、压字幕，是几乎所有自动化剪辑工具的地基。</li>
<li><strong>开源一体化方案</strong>：见<a href="/posts/mac-api-06-skills/">Skill 技能库</a> S11 的 Pixelle-Video（主题 → 成片）、MoneyPrinterPlus（批量混剪）、autoclip（长视频切高光）。</li>
</ul></section><section><h4>设计素材<a href="#设计素材"><span>#</span></a></h4><ul>
<li><strong>Canva 可画</strong>：网页端、模板多，适合批量做封面与主图。</li>
<li><strong>图像生成 API</strong>：按张计费，适合产品图与插画批量出图。</li>
<li><strong>本地 Stable Diffusion</strong>：M 系列芯片可本地运行，无次数限制，适合需要极大量出图的场景。</li>
</ul></section></section><section><h3>流量分发<a href="#流量分发"><span>#</span></a></h3><ul>
<li><strong>商业工具</strong>：易媒助手、蚁小二一类，一次上传同步到抖音、快手、视频号、小红书等十几个平台，支持定时发布与矩阵账号管理。省事但要付月费。</li>
<li><strong>开源替代</strong>：<a href="/posts/mac-api-06-skills/">Skill 技能库</a> S11 的 social-auto-upload（模拟真人浏览器上传）、PostFlow（排期 + 数据回流）、xhs-matrix（小红书矩阵）。</li>
<li><strong>平台自带定时</strong>：公众号、小红书等自带定时发布，提前排好内容即可，零成本。</li>
</ul><div><div><div></div><div>矩阵运营的风控红线</div></div><div><p>同一设备登录过多账号、同一时间批量发布相似内容、素材完全重复，都是最常见的触发风控原因。做法：<strong>账号隔离（独立环境与独立 IP）、发布错峰、内容做二次创作</strong>。宁可慢一点，也不要一次封掉整批号。</p></div></div></section><section><h3>转化与交付<a href="#转化与交付"><span>#</span></a></h3><ul>
<li><strong>自动发卡</strong>：虚拟产品上传至发卡类平台，用户付款后自动发放网盘链接或提取码，实现无人值守成交。</li>
<li><strong>AI 客服</strong>：企业微信设关键词自动回复可解决大部分常见问题；需要基于知识库的问答时，用<a href="/posts/mac-api-06-skills/">Agent 智能体库</a> A12 的 FastGPT 自建，可对接公众号与企业微信。</li>
<li><strong>课程与社群交付</strong>：交付物尽量做成「自动化可发」的形态（网盘、兑换码、自动入群），避免人工逐个私聊。</li>
</ul></section><section><h3>数据与复盘<a href="#数据与复盘"><span>#</span></a></h3><ul>
<li><strong>Python + Pandas</strong>：抓取各平台数据并汇总成日报，成本最低的方案（配合 <a href="/posts/mac-api-04-setup/">第四部分「动手配置」2.6 让脚本按时自己跑</a> 的 launchd 定时执行）。</li>
<li><strong>飞书多维表格 / Notion</strong>：脚本写入后自动生成看板，手机也能随时看。</li>
<li><strong>API 用量对账</strong>：见 <a href="/posts/mac-api-04-setup/">第四部分「动手配置」1.4 用量核对与成本监控</a> —— 成本失控往往比收入不足更致命。</li>
</ul></section><section><h3>分层调用策略<a href="#分层调用策略"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>段落</th><th>本地模型负责</th><th>云端 API 负责</th></tr></thead><tbody><tr><td>内容生产</td><td>批量初稿、洗稿、分类、打标签</td><td>关键文案、长文、脚本终稿</td></tr><tr><td>分发</td><td>—（不涉及模型）</td><td>标题与话题标签的批量生成</td></tr><tr><td>交付</td><td>常见问题的一级过滤</td><td>复杂咨询与售后话术</td></tr><tr><td>复盘</td><td>原始数据清洗与归类</td><td>周报结论与选题建议</td></tr></tbody></table></section></section>
<section><h2>分模式盈利测算模型<a href="#分模式盈利测算模型"><span>#</span></a></h2><p>以低价云端模型（如 DeepSeek 空闲时段价格）配合 Mac 挂机的产能为基准，给出各模式的投入产出参考。<strong>不含硬件折旧与个人时间成本</strong>，也不是收益承诺。</p><section><h3>成本基准<a href="#成本基准"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>成本项</th><th>月投入</th><th>说明</th></tr></thead><tbody><tr><td>AI API 费用</td><td>50 ~ 200 元</td><td>批量生成内容，约每月 1000 万 ~ 5000 万 Token 量级；排到空闲时段可显著降低</td></tr><tr><td>工具会员</td><td>100 ~ 300 元</td><td>剪辑、分发、发卡等商业工具</td></tr><tr><td>其他杂费</td><td>50 ~ 100 元</td><td>域名、网盘、短信等</td></tr><tr><td><strong>月度固定总成本</strong></td><td><strong>200 ~ 600 元</strong></td><td>不含人力与硬件成本；若全部改用开源方案，可压到 200 元以内</td></tr></tbody></table></section><section><h3>五种模式的测算<a href="#五种模式的测算"><span>#</span></a></h3><p>五种模式的成本结构、收入曲线与风险点完全不同。上面是共同的成本基准，下面逐个切换看每一种的测算过程。</p><section><h4>模式 A · 虚拟产品 / 知识付费<a href="#模式-a--虚拟产品--知识付费"><span>#</span></a></h4><p>一次性生产、可反复售卖的数字商品：资料包、教程、模板、社群。边际成本趋近于零，是自动化程度最高、也最适合先跑通的一条路——<strong>下表按细分方向给出定价与三级月利润区间</strong>。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>细分方向</th><th>典型定价</th><th>入门级月利润</th><th>稳定级月利润</th><th>成熟级月利润</th></tr></thead><tbody><tr><td>行业资料包</td><td>19.9 ~ 49.9 元</td><td>400 ~ 1000 元</td><td>3000 ~ 6000 元</td><td>2 万 ~ 5 万元</td></tr><tr><td>技能教程</td><td>69 ~ 199 元</td><td>600 ~ 1500 元</td><td>6000 ~ 12000 元</td><td>4 万 ~ 10 万元</td></tr><tr><td>工具模板</td><td>29.9 ~ 99 元</td><td>500 ~ 1200 元</td><td>4000 ~ 8000 元</td><td>3 万 ~ 8 万元</td></tr><tr><td>垂直社群</td><td>99 ~ 299 元 / 年</td><td>300 ~ 800 元</td><td>5000 ~ 10000 元</td><td>5 万 ~ 15 万元</td></tr></tbody></table><div><div><div></div><div>为什么这是首选</div></div><div><p>边际成本几乎为零，销量越高利润率越高；自动化程度最高，跑顺之后每天只需处理少量客服与售后。</p></div></div></section><section><h4>模式 B · 短视频带货 / CPS 佣金<a href="#模式-b--短视频带货--cps-佣金"><span>#</span></a></h4><p>用批量账号矩阵做带货分佣：不囤货、不售后、不碰供应链，收益取决于<strong>账号数量 × 选品命中率</strong>。启动最快，但平台规则变化会直接影响存活率。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>细分方向</th><th>平均佣金率</th><th>5 账号矩阵</th><th>15 账号矩阵</th><th>30 账号矩阵</th></tr></thead><tbody><tr><td>居家好物</td><td>20% ~ 30%</td><td>300 ~ 1000 元</td><td>2000 ~ 6000 元</td><td>1 万 ~ 3 万元</td></tr><tr><td>图书文教</td><td>15% ~ 25%</td><td>200 ~ 800 元</td><td>1500 ~ 5000 元</td><td>8000 ~ 2.5 万元</td></tr><tr><td>本地生活</td><td>10% ~ 20%</td><td>400 ~ 1200 元</td><td>2500 ~ 7000 元</td><td>1.2 万 ~ 3.5 万元</td></tr><tr><td>影视剪辑</td><td>10% ~ 20%</td><td>100 ~ 600 元</td><td>1000 ~ 4000 元</td><td>5000 ~ 2 万元</td></tr></tbody></table></section><section><h4>模式 C · 平台广告分成<a href="#模式-c--平台广告分成"><span>#</span></a></h4><p>靠内容播放量拿平台分成。单价最低，但完全被动——内容发出去就持续结算，适合当作其他模式的<strong>流量副产品</strong>，不建议单独作为主力。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>细分方向</th><th>万次播放收益</th><th>入门级月利润</th><th>稳定级月利润</th><th>成熟级月利润</th></tr></thead><tbody><tr><td>图文号分成</td><td>3 ~ 8 元</td><td>200 ~ 500 元</td><td>1000 ~ 3000 元</td><td>5000 ~ 1.5 万元</td></tr><tr><td>中视频计划</td><td>10 ~ 30 元</td><td>300 ~ 800 元</td><td>2000 ~ 5000 元</td><td>1 万 ~ 3 万元</td></tr><tr><td>长视频激励</td><td>30 ~ 80 元</td><td>500 ~ 1500 元</td><td>3000 ~ 8000 元</td><td>1.5 万 ~ 4 万元</td></tr></tbody></table></section><section><h4>模式 D · 无货源 / 跨境电商<a href="#模式-d--无货源--跨境电商"><span>#</span></a></h4><p>不自建库存，靠信息差与选品能力赚差价。利润率受平台规则、物流时效与汇率影响，<strong>爆发力强但波动最大</strong>，必须先小规模验证再放大。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>细分方向</th><th>平均利润率</th><th>入门级月利润</th><th>稳定级月利润</th><th>成熟级月利润</th></tr></thead><tbody><tr><td>国内无货源店群</td><td>20% ~ 30%</td><td>500 ~ 1500 元</td><td>3000 ~ 8000 元</td><td>1.5 万 ~ 4 万元</td></tr><tr><td>TikTok Shop</td><td>30% ~ 50%</td><td>1000 ~ 2500 元</td><td>6000 ~ 15000 元</td><td>3 万 ~ 8 万元</td></tr><tr><td>亚马逊 FBM</td><td>40% ~ 60%</td><td>2000 ~ 4000 元</td><td>1 万 ~ 2 万元</td><td>5 万 ~ 12 万元</td></tr></tbody></table></section><section><h4>模式 E · 垂直企业服务<a href="#模式-e--垂直企业服务"><span>#</span></a></h4><p>把自动化能力打包成对企业的服务：代运营、内容外包、AI 应用交付。<strong>客单价最高、交付最重</strong>，需要用前面几部分的工具链把交付成本压下来才成立。</p><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>细分方向</th><th>典型客单价</th><th>入门级月利润</th><th>稳定级月利润</th><th>成熟级月利润</th></tr></thead><tbody><tr><td>短视频 / 账号代运营</td><td>1500 ~ 4000 元 / 月</td><td>1000 ~ 2500 元</td><td>6000 ~ 12000 元</td><td>2 万 ~ 5 万元</td></tr><tr><td>AI 智能体搭建</td><td>3000 ~ 10000 元 / 单</td><td>2000 ~ 5000 元</td><td>1 万 ~ 2 万元</td><td>4 万 ~ 10 万元</td></tr><tr><td>财税 / 资质咨询</td><td>2000 ~ 8000 元 / 单</td><td>1500 ~ 4000 元</td><td>8000 ~ 15000 元</td><td>3 万 ~ 8 万元</td></tr><tr><td>数字化工具部署</td><td>5000 ~ 20000 元 / 单</td><td>3000 ~ 6000 元</td><td>1.2 万 ~ 2.5 万元</td><td>5 万 ~ 15 万元</td></tr></tbody></table><div><div><div></div><div>测算说明（务必读完再看数字）</div></div><div><p>一、上表是行业普遍水平的<strong>参考区间</strong>，实际结果取决于赛道选择、执行能力与运营水平，<strong>不构成任何收益承诺</strong>；二、「入门级 / 稳定级 / 成熟级」不是时间刻度，而是运营水平刻度 —— 有人半年做到稳定级，也有人两年停在入门级；三、<strong>建议先以副业形式试水</strong>，验证模式跑通、收入连续三个月为正之后，再逐步放大投入；四、真实成本还应加上你投入的时间 —— 如果按市场价给自己的工作时间定价，前三个月的「时薪」大概率低于打工，这属于正常的学习成本。</p></div></div></section></section></section>
<section><h2>落地步骤与风险规避<a href="#落地步骤与风险规避"><span>#</span></a></h2><p>把前面所有工具串成一条时间线：什么阶段做什么、到哪个阶段才该上自动化。核心原则是<strong>先手动跑通，再自动化替代</strong>。</p><section><h3>四个阶段<a href="#四个阶段"><span>#</span></a></h3></section><section><h3>阶段 1 · 准备期（第 1 周）<a href="#阶段-1--准备期第-1-周"><span>#</span></a></h3><ol>
<li><strong>选赛道</strong>：从自己熟悉的领域切入，越小越垂直越好。</li>
<li><strong>竞品调研</strong>：找出 10 个同赛道账号，分析他们的产品、定价与引流方式。</li>
<li><strong>环境搭建</strong>：按<a href="/posts/mac-api-04-setup/">第四部分「动手配置」第 2 节</a>把 Mac 环境配好；需要本地模型时按<a href="/posts/mac-api-03-local/">第三部分「本地部署」</a>装好 Ollama。</li>
<li><strong>注册账号</strong>：主力平台各注册 2~3 个账号，先养号一周。</li>
<li><strong>API 准备</strong>：按<a href="/posts/mac-api-04-setup/">第四部分「动手配置」</a>注册并取得密钥，先跑通一次调用。</li>
</ol></section><section><h3>阶段 2 · 最小闭环期（第 2~3 周）<a href="#阶段-2--最小闭环期第-23-周"><span>#</span></a></h3><ol>
<li><strong>做出第一个产品</strong>：用 AI 辅助整理出第一份虚拟产品，或第一个视频系列。</li>
<li><strong>跑通成交链路</strong>：用户怎么看到你、怎么付款、怎么收货，完整走一遍 —— 这一步不能省。</li>
<li><strong>手动发布内容</strong>：每天发 2~3 条，测试哪种内容数据更好。</li>
<li><strong>收到第一笔钱</strong>：先验证模式成立，再谈放大。</li>
</ol></section><section><h3>阶段 3 · 自动化放大期（第 4 周起）<a href="#阶段-3--自动化放大期第-4-周起"><span>#</span></a></h3><ol>
<li><strong>内容生产自动化</strong>：脚本批量生成文案，剪辑工具批量出片（<a href="#s16-1">2.1 内容生产</a>）。</li>
<li><strong>分发自动化</strong>：接入分发工具，定时多平台发布（<a href="#s16-2">2.2 流量分发</a>）。</li>
<li><strong>交付自动化</strong>：自动发卡 + 关键词回复，实现无人值守成交（<a href="#s16-3">2.3 转化与交付</a>）。</li>
<li><strong>数据自动化</strong>：每日自动统计数据，用数据反推选题方向（<a href="#s16-4">2.4 数据与复盘</a>）。</li>
<li><strong>成本监控</strong>：部署用量监控与消费上限（<a href="/posts/mac-api-04-setup/">第四部分「动手配置」1.4 用量核对与成本监控</a>）。</li>
</ol></section><section><h3>阶段 4 · Agent 智能化期（第 8 周起）<a href="#阶段-4--agent-智能化期第-8-周起"><span>#</span></a></h3><ol>
<li>用 CrewAI / Dify / LangChain 搭一条专属业务工作流（<a href="/posts/mac-api-06-skills/">Agent 智能体库</a> Part B）。</li>
<li>把重复决策交给 Agent，人只负责战略与异常处理。</li>
<li>增加账号数量，复制已验证的内容模板。</li>
<li>拓展产品线，提升客单价。</li>
<li>优化流程，把每日必需工作时间压缩到 1 小时以内。</li>
</ol></section><section><h3>七类风险与对策<a href="#七类风险与对策"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>风险</th><th>具体表现</th><th>对策</th></tr></thead><tbody><tr><td>合规风险</td><td>内容搬运侵权、虚假宣传、无资质经营，轻则封号重则罚款</td><td>虚拟产品注意版权，不搬运他人课程；广告文案不做绝对化承诺</td></tr><tr><td>被割韭菜</td><td>大量「躺赚教程」本质是卖课卖工具，案例过度包装</td><td>先看对方是否公开真实的收益路径；要求先交大额费用的项目直接跳过</td></tr><tr><td>平台规则风险</td><td>矩阵运营与批量内容容易触发风控</td><td>账号隔离、发布错峰、内容二次创作；单账号单设备，避免同 IP 批量操作</td></tr><tr><td>API 成本风险</td><td>脚本循环调用或异常重试导致账单飙升</td><td>设单日消费上限 + 最大重试次数；部署用量监控；跑批排到夜间空闲时段</td></tr><tr><td>Agent 失控风险</td><td>自动化 Agent 获得过高权限后误操作</td><td>只授权指定工作目录；资金、账号密码、批量删除类操作必须人工确认</td></tr><tr><td>跨境专属风险</td><td>侵权、违规上架、虚假宣传导致封店冻结资金</td><td>先从小平台、低客单价品类试水，熟悉规则后再放大</td></tr><tr><td>时间与精力透支</td><td>同时铺太多模式，每条链路都半途而废</td><td>一次只跑一个模式，跑通再复制；每周固定时间复盘而不是随缘更新</td></tr></tbody></table><div><div><div></div><div>心态建议</div></div><div><p>先从副业起步、不要贸然裸辞；先跑通最小闭环，再谈放大与自动化；先手动跑通全流程，再用工具替代其中的重复劳动。<strong>顺序颠倒，是绝大多数「自动化项目」失败的根本原因。</strong></p></div></div></section></section>
<section><h2>跨境电商自动化选型<a href="#跨境电商自动化选型"><span>#</span></a></h2><p>跨境是模式 4 的落地场景，链路最长、环节最多，也最需要用工具把重复劳动压掉。本节只讲「怎么组队」，<strong>各项目的详细说明与仓库地址见 <a href="/posts/mac-api-06-skills/">Skill 技能库</a> 的 S12 分类</strong>，此处不重复收录。</p><section><h3>按环节选工具<a href="#按环节选工具"><span>#</span></a></h3><blockquote><p>来源：见本页文末「数据来源」说明 · 核对日 2026-09-14</p></blockquote>

<table><thead><tr><th>环节</th><th>要解决的事</th><th>推荐项目（详见<a href="/posts/mac-api-06-skills/">Skill 技能库</a> S12）</th></tr></thead><tbody><tr><td>选品</td><td>找需求：从榜单与评论里发现机会</td><td>EcomAgent（三维评分 + 痛点提取）、Awesome Amazon EC Skills</td></tr><tr><td>上架</td><td>写文案、做图、多平台刊登</td><td>TradeMind（全流程）、eCan.ai（多 Agent 工作流）</td></tr><tr><td>流量</td><td>达人分销、商品视频、素材量产</td><td>TikTok Shop 联盟邀约 Bot、TikTok 商品视频自动化</td></tr><tr><td>情报</td><td>盯竞品、盯政策、盯趋势</td><td>CrossPulse 跨境脉搏（日报推送）、Atlas Mercator</td></tr><tr><td>履约与客户</td><td>订单协同、询盘报价、智能客服</td><td>TradePilot 外贸工作台、FastGPT（知识库客服，见 A12）</td></tr></tbody></table></section><section><h3>两套起步组合<a href="#两套起步组合"><span>#</span></a></h3><div><div><div></div><div>入门组合（低成本、部署简单）</div></div><div><p><strong>妙手自动化工作台 + DeepSeek V4.1 Flash + CrossPulse</strong>覆盖 TikTok Shop 的选品、上架与市场监控全流程，部署难度低，每月 API 成本可控制在 50 元以内，适合从东南亚市场切入的新手。数据获取用云端 API 即可，不需要本地算力。</p></div></div><div><div><div></div><div>进阶组合（全流程、数据自主）</div></div><div><p><strong>TradeMind + 本地模型（Ollama）+ EcomAgent 选品分析</strong>选品与选品分析本地跑（零边际成本），文案与客服用云端低价档；核心数据不出本机、不依赖第三方 SaaS，长期成本极低，适合已跑通单店、要复制放大的店群。</p></div></div></section><section><h3>跨境场景的三条硬约束<a href="#跨境场景的三条硬约束"><span>#</span></a></h3><ul>
<li><strong>多语言不是「翻译一遍」</strong>：商品文案要按目标市场的搜索习惯重写，而不是直译。建议先用云端旗舰档跑一批，把优质结果沉淀成提示词模板，再交给低价档批量套用。</li>
<li><strong>合规优先于效率</strong>：图片水印、品牌词、认证标识是最常见的侵权来源，自动化上架前一定要过一遍黑名单过滤 —— 宁可少上架，也不要被封店。</li>
<li><strong>资金与账号信息不进自动化链路</strong>：支付、提现、店铺主账号密码不交给任何脚本或 Agent；自动化只做「读数据、生成内容、写草稿」三件事。</li>
</ul><div><div><div></div><div>关于本条链路的链接收录说明</div></div><div><p>来源材料中列出的跨境类项目，凡本次在公开代码托管平台<strong>核验通过</strong>的已全部收录进<a href="/posts/mac-api-06-skills/">Skill 技能库</a> S12；未能核验到对应仓库的条目（如 DropForge、Wimoor ERP 及部分自称「AI 跨境平台」的项目）<strong>未予收录</strong>，以免指向无效或仿冒地址。其中星标极少的项目已在 S12 中单独标注为尝鲜性质，请先小规模验证。</p></div></div><blockquote><p><strong>接下来</strong>：全书画上句号：回到目录挑一节重读，或直接把第八部分的第一条落地步骤跑起来。</p></blockquote><div><div><div></div><div>版权与免责声明</div></div><div><p>本文档仅供个人学习与研究使用， 不得用于商业用途 ，亦不构成任何收益承诺。</p></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/code-examples/</id>
      <title type="text">Firefly 代码块示例</title>
      <published>1970-01-03T00:00:00.000Z</published>
      <updated>1970-01-03T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/code-examples/"/>
      <summary type="text">在Firefly中使用表达性代码的代码块在 Markdown 中的外观。</summary>
      <content type="html"><![CDATA[<p>在这里，我们将探索如何使用 <a href="https://expressive-code.com/" target="_blank">Expressive Code</a> 展示代码块。提供的示例基于官方文档，您可以参考以获取更多详细信息。</p>
<section><h2>表达性代码<a href="#表达性代码"><span>#</span></a></h2><section><h3>语法高亮<a href="#语法高亮"><span>#</span></a></h3><p><a href="https://expressive-code.com/key-features/syntax-highlighting/" target="_blank">语法高亮</a></p><section><h4>常规语法高亮<a href="#常规语法高亮"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'此代码有语法高亮!'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>渲染 ANSI 转义序列<a href="#渲染-ansi-转义序列"><span>#</span></a></h4><div><div><div><figure><figcaption><span></span><span>Terminal window</span><span>展开</span><span>收起</span></figcaption><pre><code><div><div><div>1</div></div><div><span>Standard ANSI colors:</span></div></div><div><div><div>2</div></div><div><span>- Dimmed:     </span><span> Black </span><span> Red </span><span> Green </span><span> Yellow </span><span> Blue </span><span> Magenta </span><span> Cyan </span><span> White </span></div></div><div><div><div>3</div></div><div><span>- Foreground: </span><span> Black </span><span> Red </span><span> Green </span><span> Yellow </span><span> Blue </span><span> Magenta </span><span> Cyan </span><span> White </span></div></div><div><div><div>4</div></div><div><span>- Background: </span><span> Black </span><span> Red </span><span> Green </span><span> Yellow </span><span> Blue </span><span> Magenta </span><span> Cyan </span><span> White </span></div></div><div><div><div>5</div></div><div><span>- Reversed:   </span><span> Black </span><span> Red </span><span> Green </span><span> Yellow </span><span> Blue </span><span> Magenta </span><span> Cyan </span><span> White </span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>8-bit colors (showing colors 160-171 as an example):</span></div></div><div><div><div>8</div></div><div><span>- Dimmed:     </span><span> 160 </span><span> 161 </span><span> 162 </span><span> 163 </span><span> 164 </span><span> 165 </span><span> 166 </span><span> 167 </span><span> 168 </span><span> 169 </span><span> 170 </span><span> 171 </span></div></div><div><div><div>9</div></div><div><span>- Foreground: </span><span> 160 </span><span> 161 </span><span> 162 </span><span> 163 </span><span> 164 </span><span> 165 </span><span> 166 </span><span> 167 </span><span> 168 </span><span> 169 </span><span> 170 </span><span> 171 </span></div></div><div><div><div>10</div></div><div><span>- Background: </span><span> 160 </span><span> 161 </span><span> 162 </span><span> 163 </span><span> 164 </span><span> 165 </span><span> 166 </span><span> 167 </span><span> 168 </span><span> 169 </span><span> 170 </span><span> 171 </span></div></div><div><div><div>11</div></div><div><span>- Reversed:   </span><span> 160 </span><span> 161 </span><span> 162 </span><span> 163 </span><span> 164 </span><span> 165 </span><span> 166 </span><span> 167 </span><span> 168 </span><span> 169 </span><span> 170 </span><span> 171 </span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>24-bit colors (full RGB):</span></div></div><div><div><div>14</div></div><div><span>- Dimmed:     </span><span> ForestGreen - RGB(34,139,34) </span><span> RebeccaPurple - RGB(102,51,153) </span></div></div><div><div><div>15</div></div><div><span>- Foreground: </span><span> ForestGreen - RGB(34,139,34) </span><span> RebeccaPurple - RGB(102,51,153) </span></div></div><div><div><div>16</div></div><div><span>- Background: </span><span> ForestGreen - RGB(34,139,34) </span><span> RebeccaPurple - RGB(102,51,153) </span></div></div><div><div><div>17</div></div><div><span>- Reversed:   </span><span> ForestGreen - RGB(34,139,34) </span><span> RebeccaPurple - RGB(102,51,153) </span></div></div><div><div><div>18</div></div><div>
</div></div><div><div><div>19</div></div><div><span>Font styles:</span></div></div><div><div><div>20</div></div><div><span>- Default</span></div></div><div><div><div>21</div></div><div><span>- </span><span>Bold</span></div></div><div><div><div>22</div></div><div><span>- </span><span>Dimmed</span></div></div><div><div><div>23</div></div><div><span>- </span><span>Italic</span></div></div><div><div><div>24</div></div><div><span>- </span><span>Underline</span></div></div><div><div><div>25</div></div><div><span>- </span><span>Reversed</span></div></div><div><div><div>26</div></div><div><span>- </span><span>Strikethrough</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section></section><section><h3>编辑器和终端框架<a href="#编辑器和终端框架"><span>#</span></a></h3><p><a href="https://expressive-code.com/key-features/frames/" target="_blank">编辑器和终端框架</a></p><section><h4>代码编辑器框架<a href="#代码编辑器框架"><span>#</span></a></h4><div><figure><figcaption><span>my-test-file.js</span></figcaption><pre><code><div><div><div>1</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'标题属性示例'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption><span>src/content/index.html</span></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>div</span><span>&gt;文件名注释示例&lt;/</span><span>div</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>终端框架<a href="#终端框架"><span>#</span></a></h4><div><figure><figcaption><span></span><span>Terminal window</span></figcaption><pre><code><div><div><div>1</div></div><div><span>echo</span><span> </span><span>"此终端框架没有标题"</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption><span>PowerShell 终端示例</span></figcaption><pre><code><div><div><div>1</div></div><div><span>Write-Output</span><span> </span><span>"这个有标题!"</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>覆盖框架类型<a href="#覆盖框架类型"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>echo</span><span> </span><span>"看，没有框架!"</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption><span>PowerShell Profile.ps1</span></figcaption><pre><code><div><div><div>1</div></div><div><span># 如果不覆盖，这将是一个终端框架</span></div></div><div><div><div>2</div></div><div><span>function</span><span> </span><span>Watch-Tail</span><span> { </span><span>Get-Content</span><span><span> </span><span>-</span><span>Tail </span></span><span>20</span><span><span> </span><span>-</span><span>Wait $args }</span></span></div></div><div><div><div>3</div></div><div><span>New-Alias</span><span> tail </span><span>Watch-Tail</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section></section><section><h3>文本和行标记<a href="#文本和行标记"><span>#</span></a></h3><p><a href="https://expressive-code.com/key-features/text-markers/" target="_blank">文本和行标记</a></p><section><h4>标记整行和行范围<a href="#标记整行和行范围"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// 第1行 - 通过行号定位</span></div></div><div><div><div>2</div></div><div><span>// 第2行</span></div></div><div><div><div>3</div></div><div><span>// 第3行</span></div></div><div><div><div>4</div></div><div><span>// 第4行 - 通过行号定位</span></div></div><div><div><div>5</div></div><div><span>// 第5行</span></div></div><div><div><div>6</div></div><div><span>// 第6行</span></div></div><div><div><div>7</div></div><div><span>// 第7行 - 通过范围 "7-8" 定位</span></div></div><div><div><div>8</div></div><div><span>// 第8行 - 通过范围 "7-8" 定位</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>选择行标记类型 (mark, ins, del)<a href="#选择行标记类型-mark-ins-del"><span>#</span></a></h4><div><figure><figcaption><span>line-markers.js</span></figcaption><pre><code><div><div><div>1</div></div><div><span>function</span><span> </span><span>demo</span><span>() {</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'此行标记为已删除'</span><span>)</span></div></div><div><div><div>3</div></div><div><span>  </span><span>// 此行和下一行标记为已插入</span></div></div><div><div><div>4</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'这是第二个插入行'</span><span>)</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span>  </span><span>return</span><span> </span><span>'此行使用中性默认标记类型'</span></div></div><div><div><div>7</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>为行标记添加标签<a href="#为行标记添加标签"><span>#</span></a></h4><div><figure><figcaption><span>labeled-line-markers.jsx</span></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>button</span></div></div><div><div><div>2</div></div><div><span>  </span><span>role</span><span>=</span><span>"button"</span></div></div><div><div><div>3</div></div><div><span><span>  </span></span><span>{</span><span>...</span><span>props</span><span>}</span></div></div><div><div><div>4</div></div><div><span>  </span><span>value</span><span>=</span><span>{</span><span>value</span><span>}</span></div></div><div><div><div>5</div></div><div><span>  </span><span>className</span><span><span>=</span><span>{</span><span>buttonClassName</span><span>}</span></span></div></div><div><div><div>6</div></div><div><span>  </span><span>disabled</span><span>=</span><span>{</span><span>disabled</span><span>}</span></div></div><div><div><div>7</div></div><div><span>  </span><span>active</span><span>=</span><span>{</span><span>active</span><span>}</span></div></div><div><div><div>8</div></div><div><span>&gt;</span></div></div><div><div><div>9</div></div><div><span><span>  </span></span><span>{</span><span>children</span><span> </span><span>&amp;&amp;</span></div></div><div><div><div>10</div></div><div><span><span>    </span></span><span>!</span><span>active</span><span> </span><span>&amp;&amp;</span></div></div><div><div><div>11</div></div><div><span><span><span>    </span></span><span>(</span></span><span>typeof</span><span> </span><span>children</span><span> </span><span>===</span><span> </span><span>'string'</span><span> </span><span>?</span><span> &lt;</span><span>span</span><span>&gt;</span><span>{</span><span>children</span><span>}</span><span>&lt;/</span><span>span</span><span>&gt; </span><span>:</span><span> </span><span>children</span><span>)</span><span>}</span></div></div><div><div><div>12</div></div><div><span>&lt;/</span><span>button</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>在单独行上添加长标签<a href="#在单独行上添加长标签"><span>#</span></a></h4><div><div><div><figure><figcaption><span>labeled-line-markers.jsx</span><span>展开</span><span>收起</span></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>button</span></div></div><div><div><div>2</div></div><div><span>  </span><span>role</span><span>=</span><span>"button"</span></div></div><div><div><div>3</div></div><div><span><span>  </span></span><span>{</span><span>...</span><span>props</span><span>}</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>  </span><span>value</span><span>=</span><span>{</span><span>value</span><span>}</span></div></div><div><div><div>6</div></div><div><span>  </span><span>className</span><span><span>=</span><span>{</span><span>buttonClassName</span><span>}</span></span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span>  </span><span>disabled</span><span>=</span><span>{</span><span>disabled</span><span>}</span></div></div><div><div><div>9</div></div><div><span>  </span><span>active</span><span>=</span><span>{</span><span>active</span><span>}</span></div></div><div><div><div>10</div></div><div><span>&gt;</span></div></div><div><div><div>11</div></div><div>
</div></div><div><div><div>12</div></div><div><span><span>  </span></span><span>{</span><span>children</span><span> </span><span>&amp;&amp;</span></div></div><div><div><div>13</div></div><div><span><span>    </span></span><span>!</span><span>active</span><span> </span><span>&amp;&amp;</span></div></div><div><div><div>14</div></div><div><span><span><span>    </span></span><span>(</span></span><span>typeof</span><span> </span><span>children</span><span> </span><span>===</span><span> </span><span>'string'</span><span> </span><span>?</span><span> &lt;</span><span>span</span><span>&gt;</span><span>{</span><span>children</span><span>}</span><span>&lt;/</span><span>span</span><span>&gt; </span><span>:</span><span> </span><span>children</span><span>)</span><span>}</span></div></div><div><div><div>15</div></div><div><span>&lt;/</span><span>button</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section><section><h4>使用类似 diff 的语法<a href="#使用类似-diff-的语法"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>此行将标记为已插入</span></div></div><div><div><div>2</div></div><div><span>此行将标记为已删除</span></div></div><div><div><div>3</div></div><div><span>这是常规行</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>--- a/README.md</span></div></div><div><div><div>2</div></div><div><span>+++ b/README.md</span></div></div><div><div><div>3</div></div><div><span>@@ -1,3 +1,4 @@</span></div></div><div><div><div>4</div></div><div><span>+this is an actual diff file</span></div></div><div><div><div>5</div></div><div><span>-all contents will remain unmodified</span></div></div><div><div><div>6</div></div><div><span><span> </span></span><span>no whitespace will be removed either</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>结合语法高亮和类似 diff 的语法<a href="#结合语法高亮和类似-diff-的语法"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>function</span><span> </span><span>thisIsJavaScript</span><span>() {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>// 整个块都会以 JavaScript 高亮显示，</span></div></div><div><div><div>3</div></div><div><span>  </span><span>// 并且我们仍然可以为其添加 diff 标记！</span></div></div><div><div><div>4</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'要删除的旧代码'</span><span>)</span></div></div><div><div><div>5</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'新的闪亮代码！'</span><span>)</span></div></div><div><div><div>6</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>标记行内的单独文本<a href="#标记行内的单独文本"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>function</span><span> </span><span>demo</span><span>() {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>// 标记行内的任何给定文本</span></div></div><div><div><div>3</div></div><div><span>  </span><span>return</span><span> </span><span>'支持给定文本的多个匹配项'</span><span>;</span></div></div><div><div><div>4</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>正则表达式<a href="#正则表达式"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'单词 </span><mark><span>yes</span></mark><span> 和 </span><mark><span>yep</span></mark><span> 将被标记。'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>转义正斜杠<a href="#转义正斜杠"><span>#</span></a></h4><div><figure><figcaption><span></span><span>Terminal window</span></figcaption><pre><code><div><div><div>1</div></div><div><span>echo</span><span> </span><span>"Test"</span><span> &gt; </span><mark><span>/home/</span></mark><span>test.txt</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>选择内联标记类型 (mark, ins, del)<a href="#选择内联标记类型-mark-ins-del"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>function</span><span> </span><span>demo</span><span>() {</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'这些是插入和删除的标记类型'</span><span>);</span></div></div><div><div><div>3</div></div><div><span>  </span><span>// return 语句使用默认标记类型</span></div></div><div><div><div>4</div></div><div><span>  </span><mark><span>return</span><span> </span><span>true</span><span>;</span></mark></div></div><div><div><div>5</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section></section><section><h3>自动换行<a href="#自动换行"><span>#</span></a></h3><p><a href="https://expressive-code.com/key-features/word-wrap/" target="_blank">自动换行</a></p><section><h4>为每个块配置自动换行<a href="#为每个块配置自动换行"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// 启用换行的示例</span></div></div><div><div><div>2</div></div><div><span>function</span><span> </span><span>getLongString</span><span>() {</span></div></div><div><div><div>3</div></div><div><span>  </span><span>return</span><span> </span><span>'这是一个非常长的字符串，除非容器极宽，否则很可能无法适应可用空间'</span></div></div><div><div><div>4</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// wrap=false 的示例</span></div></div><div><div><div>2</div></div><div><span>function</span><span> </span><span>getLongString</span><span>() {</span></div></div><div><div><div>3</div></div><div><span>  </span><span>return</span><span> </span><span>'这是一个非常长的字符串，除非容器极宽，否则很可能无法适应可用空间'</span></div></div><div><div><div>4</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>配置换行的缩进<a href="#配置换行的缩进"><span>#</span></a></h4><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// preserveIndent 示例（默认启用）</span></div></div><div><div><div>2</div></div><div><span>function</span><span> </span><span>getLongString</span><span>() {</span></div></div><div><div><div>3</div></div><div><span>  </span><span>return</span><span> </span><span>'这是一个非常长的字符串，除非容器极宽，否则很可能无法适应可用空间'</span></div></div><div><div><div>4</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// preserveIndent=false 的示例</span></div></div><div><div><div>2</div></div><div><span>function</span><span> </span><span>getLongString</span><span>() {</span></div></div><div><div><div>3</div></div><div><span>  </span><span>return</span><span> </span><span>'这是一个非常长的字符串，除非容器极宽，否则很可能无法适应可用空间'</span></div></div><div><div><div>4</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section></section></section>
<section><h2>可折叠部分<a href="#可折叠部分"><span>#</span></a></h2><p><a href="https://expressive-code.com/plugins/collapsible-sections/" target="_blank">可折叠部分</a></p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div></div></div><div><span></span><span></span><span>5 collapsed lines</span></div></div><div><div><div>1</div></div><div><span>// 所有这些样板设置代码将被折叠</span></div></div><div><div><div>2</div></div><div><span>import</span><span> { </span><span>someBoilerplateEngine</span><span> } </span><span>from</span><span> </span><span>'@example/some-boilerplate'</span></div></div><div><div><div>3</div></div><div><span>import</span><span> { </span><span>evenMoreBoilerplate</span><span> } </span><span>from</span><span> </span><span>'@example/even-more-boilerplate'</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>const</span><span> </span><span>engine</span><span> </span><span>=</span><span> </span><span>someBoilerplateEngine</span><span>(</span><span>evenMoreBoilerplate</span><span>())</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>// 这部分代码默认可见</span></div></div><div><div><div>8</div></div><div><span><span>engine</span><span>.</span></span><span>doSomething</span><span>(</span><span>1</span><span>, </span><span>2</span><span>, </span><span>3</span><span><span>, </span><span>calcFn</span><span>)</span></span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div><span>function</span><span> </span><span>calcFn</span><span>() {</span></div></div><div><div><div>11</div></div><div><span>  </span><span>// 您可以有多个折叠部分</span></div></div><div><div><div></div></div><div><span></span><span></span><span>3 collapsed lines</span></div></div><div><div><div>12</div></div><div><span>  </span><span>const</span><span> </span><span>a</span><span> </span><span>=</span><span> </span><span>1</span></div></div><div><div><div>13</div></div><div><span>  </span><span>const</span><span> </span><span>b</span><span> </span><span>=</span><span> </span><span>2</span></div></div><div><div><div>14</div></div><div><span>  </span><span>const</span><span> </span><span>c</span><span> </span><span>=</span><span><span> </span><span>a</span><span> </span></span><span>+</span><span><span> </span><span>b</span></span></div></div><div><div><div>15</div></div><div>
</div></div><div><div><div>16</div></div><div><span>  </span><span>// 这将保持可见</span></div></div><div><div><div>17</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>`计算结果: </span><span>${</span><span>a</span><span>}</span><span> + </span><span>${</span><span>b</span><span>}</span><span> = </span><span>${</span><span>c</span><span>}</span><span>`</span><span>)</span></div></div><div><div><div>18</div></div><div><span>  </span><span>return</span><span><span> </span><span>c</span></span></div></div><div><div><div>19</div></div><div><span>}</span></div></div><div><div><div>20</div></div><div>
</div></div><div><div><div></div></div><div><span></span><span></span><span>4 collapsed lines</span></div></div><div><div><div>21</div></div><div><span>// 直到块末尾的所有代码将再次被折叠</span></div></div><div><div><div>22</div></div><div><span><span>engine</span><span>.</span></span><span>closeConnection</span><span>()</span></div></div><div><div><div>23</div></div><div><span><span>engine</span><span>.</span></span><span>freeMemory</span><span>()</span></div></div><div><div><div>24</div></div><div><span><span>engine</span><span>.</span></span><span>shutdown</span><span>({ </span><span>reason</span><span>:</span><span> </span><span>'示例样板代码结束'</span><span> })</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section>
<section><h2>行号<a href="#行号"><span>#</span></a></h2><p><a href="https://expressive-code.com/plugins/line-numbers/" target="_blank">行号</a></p><section><h3>为每个块显示行号<a href="#为每个块显示行号"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>// 此代码块将显示行号</span></div></div><div><div><div>2</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'来自第2行的问候!'</span><span>)</span></div></div><div><div><div>3</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'我在第3行'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><div><figure><figcaption></figcaption><pre><code><div><div><span>// 此块禁用行号</span></div></div><div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'你好?'</span><span>)</span></div></div><div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'抱歉，你知道我在第几行吗?'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h3>更改起始行号<a href="#更改起始行号"><span>#</span></a></h3><div><figure><figcaption></figcaption><pre><code><div><div><div>5</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'来自第5行的问候!'</span><span>)</span></div></div><div><div><div>6</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>'我在第6行'</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section></section>
<section><h2>Tab 代码块<a href="#tab-代码块"><span>#</span></a></h2><p>由 <a href="https://github.com/ITZSHOAIB/rehype-code-group" target="_blank">rehype-code-group</a> 提供，语法与 <a href="https://vitepress.dev/guide/markdown#code-groups" target="_blank">VitePress 代码组</a> 一致：用 <code>::: code-group labels=[...]</code> 包裹多个代码块，即可合并成一组标签页。</p><div><div><div></div><div>Note</div></div><div><p><code>labels=[...]</code> 中的标签按顺序对应组内的代码块，用英文逗号分隔；<code>:::</code> 与 <code>code-group</code> 之间的空格不能省略。</p></div></div><section><h3>基本用法<a href="#基本用法"><span>#</span></a></h3><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>::: code-group labels=[code.js, code.py, code.html]</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>```js</span></div></div><div><div><div>4</div></div><div><span>export</span><span> </span><span>function</span><span> </span><span>greet</span><span><span>(</span><span>name</span><span>) {</span></span></div></div><div><div><div>5</div></div><div><span>  </span><span>return</span><span> </span><span>`Hello, </span><span>${</span><span>name</span><span>}</span><span>!`</span><span>;</span></div></div><div><div><div>6</div></div><div><span>}</span></div></div><div><div><div>7</div></div><div><span>```</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span>```py</span></div></div><div><div><div>10</div></div><div><span>def</span><span> </span><span>greet</span><span><span>(</span><span>name</span><span>):</span></span></div></div><div><div><div>11</div></div><div><span>    </span><span>return</span><span> </span><span>f</span><span>"Hello, </span><span>{</span><span>name</span><span>}</span><span>!"</span></div></div><div><div><div>12</div></div><div><span>```</span></div></div><div><div><div>13</div></div><div>
</div></div><div><div><div>14</div></div><div><span>```html</span></div></div><div><div><div>15</div></div><div><span>&lt;</span><span>p</span><span>&gt;Hello, world!&lt;/</span><span>p</span><span>&gt;</span></div></div><div><div><div>16</div></div><div><span>```</span></div></div><div><div><div>17</div></div><div>
</div></div><div><div><div>18</div></div><div><span>:::</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p>渲染效果：</p><div><div>code.jscode.pycode.html</div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>function</span><span> </span><span>greet</span><span><span>(</span><span>name</span><span>) {</span></span></div></div><div><div><div>2</div></div><div><span>  </span><span>return</span><span> </span><span>`Hello, </span><span>${</span><span>name</span><span>}</span><span>!`</span><span>;</span></div></div><div><div><div>3</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>def</span><span> </span><span>greet</span><span>(</span><span>name</span><span>):</span></div></div><div><div><div>2</div></div><div><span>    </span><span>return</span><span> </span><span>f</span><span>"Hello, </span><span>{</span><span>name</span><span>}</span><span>!"</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>p</span><span>&gt;Hello, world!&lt;/</span><span>p</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div></div></section><section><h3>标签中使用 Emoji<a href="#标签中使用-emoji"><span>#</span></a></h3><p>标签支持 <a href="https://github.com/omnidan/node-emoji#readme" target="_blank">emoji 短代码</a>，构建时会自动转换成 emoji：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>::: code-group labels=[:package: npm, :package: pnpm, :yarn: yarn]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div>📦 npm📦 pnpm🧶 yarn</div><div><div><figure><figcaption><span></span><span>Terminal window</span></figcaption><pre><code><div><div><div>1</div></div><div><span>npm</span><span> </span><span>create</span><span> </span><span>astro@latest</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption><span></span><span>Terminal window</span></figcaption><pre><code><div><div><div>1</div></div><div><span>pnpm</span><span> </span><span>create</span><span> </span><span>astro@latest</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption><span></span><span>Terminal window</span></figcaption><pre><code><div><div><div>1</div></div><div><span>yarn</span><span> </span><span>create</span><span> </span><span>astro</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div></div></section><section><h3>与其他代码块特性组合<a href="#与其他代码块特性组合"><span>#</span></a></h3><p>组内仍是普通的 Expressive Code 代码块，标题、行号、行标记、折叠、终端框架等特性都可以照常使用。</p><div><div>配置文件终端折叠</div><div><div><figure><figcaption><span>astro.config.mjs</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>default</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>theme</span><span>:</span><span> </span><span>"firefly"</span><span>,</span></div></div><div><div><div>3</div></div><div><span>  </span><span>codeGroup</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>4</div></div><div><span>};</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption><span>部署</span></figcaption><pre><code><div><div><div>1</div></div><div><span>pnpm</span><span> </span><span>build</span><span> &amp;&amp; </span><span>pnpm</span><span> </span><span>preview</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div><div><div><figure><figcaption></figcaption><pre><code><div><div><div></div></div><div><span></span><span></span><span>3 collapsed lines</span></div></div><div><div><div>1</div></div><div><span>// 这三行默认折叠</span></div></div><div><div><div>2</div></div><div><span>import</span><span> { </span><span>a</span><span> } </span><span>from</span><span> </span><span>"a"</span><span>;</span></div></div><div><div><div>3</div></div><div><span>import</span><span> { </span><span>b</span><span> } </span><span>from</span><span> </span><span>"b"</span><span>;</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span><span>(</span><span>a</span><span>, </span><span>b</span><span>);</span></span></div></div></code></pre><div><div></div><div></div></div></figure></div></div></div></section><section><h3>不止是代码块<a href="#不止是代码块"><span>#</span></a></h3><p>标签页内可以放任意内容，例如文字、列表或图片：</p><div><div>说明列表</div><div><p>这是一段普通的段落内容。</p></div><div><ul>
<li>列表项一</li>
<li>列表项二</li>
</ul></div></div><div><div><div></div><div>Tip</div></div><div><p>标签栏在构建期生成，默认展开第一项；支持鼠标点击与键盘 <kbd>←</kbd> / <kbd>→</kbd> / <kbd>Home</kbd> / <kbd>End</kbd> 切换。</p></div></div></section><section><h3>在提醒框内使用（MDX 组件）<a href="#在提醒框内使用mdx-组件"><span>#</span></a></h3><p><code>::: code-group</code> 和 <code>::: tip</code> 等 Docusaurus 风格提醒框都使用 <code>:::</code> 容器语法，而 micromark-directive 规定父子容器的冒号数必须不同，因此 <code>::: code-group</code> <strong>无法嵌套在 <code>::: tip</code> 等提醒框内</strong>（整块会失效）。</p><p>这种情况改用 MDX 组件 <a href="@/components/common/TabGroup.svelte"><code>TabGroup</code></a>：MDX 组件不经过 <code>:::</code> 指令解析，在提醒框内外都能正常使用，也方便日后扩展更多 UI 组件。把文章后缀改为 <code>.mdx</code>，从统一入口 <a href="@/components/firefly-mdx.ts"><code>@/components/firefly-mdx</code></a> 引入（可一次引入多个组件）：</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>import</span><span> { </span><span>TabGroup</span><span> } </span><span>from</span><span> </span><span>"@/components/firefly-mdx"</span><span>;</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>:::tip</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>&lt;</span><span>TabGroup</span><span> </span><span>labels</span><span>=</span><span>{</span><span>[</span><span>"test.js"</span><span>, </span><span>"test.py"</span><span>]</span><span>}</span><span> </span><span>client</span><span>:</span><span>load</span><span>&gt;</span></div></div><div><div><div>6</div></div><div><span>  </span><span>```</span><span>js</span></div></div><div><div><div>7</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>1</span><span>)</span></div></div><div><div><div>8</div></div><div><span>  </span><span>```</span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div><span>  </span><span>```</span><span>py</span></div></div><div><div><div>11</div></div><div><span>  </span><span>print</span><span>(</span><span>"hello world"</span><span>)</span></div></div><div><div><div>12</div></div><div><span>  </span><span>```</span></div></div><div><div><div>13</div></div><div><span>&lt;/</span><span>TabGroup</span><span>&gt;</span></div></div><div><div><div>14</div></div><div>
</div></div><div><div><div>15</div></div><div><span>:::</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><div><div><div></div><div>Tip</div></div><div><ul>
<li><code>labels</code> 数组给每个代码块声明标签，顺序一一对应</li>
<li>组件用 <code>client:load</code> 激活标签切换</li>
</ul></div></div></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/guide/firefly-layout-system/</id>
      <title type="text">Firefly 布局系统详解</title>
      <published>1970-01-03T00:00:00.000Z</published>
      <updated>1970-01-03T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/guide/firefly-layout-system/"/>
      <summary type="text">深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。</summary>
      <content type="html"><![CDATA[<section><h2>📖 概述<a href="#-概述"><span>#</span></a></h2><p>Firefly 提供了灵活的布局系统，允许您根据内容需求和个人喜好自定义博客的视觉呈现方式。布局系统主要包括<strong>侧边栏布局</strong>和<strong>文章列表布局</strong>两个维度，它们相互配合，共同决定了页面的整体结构。</p><p>本文将详细介绍 Firefly 的各种布局模式、它们的特点、使用场景，以及不同布局组合的效果。</p><hr /><div><figure><img alt="左侧边栏+列表布局" loading="lazy" width="2192" height="1233" src="/_astro/left-list.C0_tc_R__ZH3I9d.webp" /><figcaption>左侧边栏+列表布局</figcaption></figure><figure><img alt="右侧边栏+网格布局" loading="lazy" width="2192" height="1233" src="/_astro/right-grid2.mTWm7w3f_ZzEYvw.webp" /><figcaption>右侧边栏+网格布局</figcaption></figure><figure><img alt="左侧边栏+三列网格布局" loading="lazy" width="2192" height="1233" src="/_astro/left-grid3.CdUk9hkl_Z10bpJj.webp" /><figcaption>左侧边栏+三列网格布局</figcaption></figure></div><div><figure><img alt="双侧边栏+列表布局" loading="lazy" width="2192" height="1233" src="/_astro/both-list.ZsyitVoi_5pPep.webp" /><figcaption>双侧边栏+列表布局</figcaption></figure><figure><img alt="双侧边栏+网格布局" loading="lazy" width="2192" height="1233" src="/_astro/both-grid.CJDNezg__2kf9zs.webp" /><figcaption>双侧边栏+网格布局</figcaption></figure><figure><img alt="双侧边栏+网格瀑布流布局" loading="lazy" width="2192" height="1233" src="/_astro/masonry.AR3Zc0tk_EGrUz.webp" /><figcaption>双侧边栏+网格瀑布流布局</figcaption></figure></div></section>
<section><h2>一、侧边栏布局系统<a href="#一侧边栏布局系统"><span>#</span></a></h2><p>侧边栏是博客页面的重要组成部分，用于展示导航、分类、标签、统计信息等辅助内容。Firefly 支持两种侧边栏布局模式。</p><section><h3>1.1 单侧边栏模式<a href="#11-单侧边栏模式"><span>#</span></a></h3><section><h4>左侧边栏 (position: “left”)<a href="#左侧边栏-position-left"><span>#</span></a></h4><p></p><figure><img alt="左侧边栏布局" loading="lazy" width="2192" height="1233" src="/_astro/left-list.C0_tc_R__ZH3I9d.webp" /><figcaption>左侧边栏布局</figcaption></figure><p></p></section><section><h4>右侧边栏 (position: “right”)<a href="#右侧边栏-position-right"><span>#</span></a></h4><p></p><figure><img alt="右侧边栏布局" loading="lazy" width="2192" height="1233" src="/_astro/right-grid2.mTWm7w3f_ZzEYvw.webp" /><figcaption>右侧边栏布局</figcaption></figure><p></p></section><section><h4>特点<a href="#特点"><span>#</span></a></h4><ul>
<li>侧边栏固定在页面其中一侧</li>
<li>文章阅读区域体验更佳，更宽敞</li>
<li>更加简约，没有那么紧凑</li>
</ul></section><section><h4>适用场景<a href="#适用场景"><span>#</span></a></h4><ul>
<li>传统博客风格</li>
<li>强调导航和分类的博客</li>
<li>需要突出用户资料的个人博客</li>
<li>内容为主，辅助信息次之的场景</li>
</ul><div><div><div></div><div>Tip</div></div><div><p>文章详情页显示哪几侧，由**各组件的 <code>showOnPostPage</code>（以及 <code>hideOnNonPostPage</code>）**决定：某一侧在当前页型下没有任何可见组件时，该列会自动收起，把空间让给内容栏。</p><p>如果想在文章页同时显示双侧边栏，把 <code>position</code> 设为 <code>"both"</code>，并给两侧组件配好 <code>showOnPostPage</code> 即可。</p></div></div></section><section><h4>配置示例<a href="#配置示例"><span>#</span></a></h4><div><figure><figcaption><span>src/config/sidebarConfig.ts</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>const</span><span> </span><span>sidebarLayoutConfig</span><span>:</span><span> </span><span>SidebarLayoutConfig</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>enable</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>3</div></div><div><span>  </span><span>position</span><span>:</span><span> </span><span>"left"</span><span>, </span><span>// 左侧边栏</span></div></div><div><div><div>4</div></div><div><span>};</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section></section><section><h3>1.2 双侧边栏模式 (position: “both”)<a href="#12-双侧边栏模式-position-both"><span>#</span></a></h3><section><h4>特点<a href="#特点-1"><span>#</span></a></h4><ul>
<li>左右两侧同时存在侧边栏</li>
<li>主内容区域位于中间</li>
<li>最大化利用屏幕空间</li>
<li>可以展示更多辅助信息</li>
<li>适合宽屏显示器</li>
</ul></section><section><h4>布局结构<a href="#布局结构"><span>#</span></a></h4><p></p><figure><img alt="双侧边栏+列表布局" loading="lazy" width="2192" height="1233" src="/_astro/both-list.ZsyitVoi_5pPep.webp" /><figcaption>双侧边栏+列表布局</figcaption></figure><p></p><p></p><figure><img alt="双侧边栏+网格布局" loading="lazy" width="2192" height="1233" src="/_astro/both-grid.CJDNezg__2kf9zs.webp" /><figcaption>双侧边栏+网格布局</figcaption></figure><p></p></section><section><h4>适用场景<a href="#适用场景-1"><span>#</span></a></h4><ul>
<li>宽屏桌面端浏览</li>
<li>信息密集型博客</li>
<li>需要展示大量辅助内容</li>
<li>专业性强的技术博客</li>
</ul></section><section><h4>配置示例<a href="#配置示例-1"><span>#</span></a></h4><div><figure><figcaption><span>src/config/sidebarConfig.ts</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>const</span><span> </span><span>sidebarLayoutConfig</span><span>:</span><span> </span><span>SidebarLayoutConfig</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>enable</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>3</div></div><div><span>  </span><span>position</span><span>:</span><span> </span><span>"both"</span><span>, </span><span>// 双侧边栏</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section></section></section>
<section><h2>二、文章列表布局系统<a href="#二文章列表布局系统"><span>#</span></a></h2><p>文章列表是博客首页和归档页的核心内容，Firefly 提供两种展示方式，并支持多种网格配置。</p><section><h3>2.1 列表模式 (defaultMode: “list”)<a href="#21-列表模式-defaultmode-list"><span>#</span></a></h3><section><h4>特点<a href="#特点-2"><span>#</span></a></h4><ul>
<li>单列纵向排列</li>
<li>显示文章封面图，可配置在左侧或右侧</li>
<li>展示更多文章摘要</li>
<li>适合深度阅读</li>
</ul></section><section><h4>列表布局结构<a href="#列表布局结构"><span>#</span></a></h4><p></p><figure><img alt="列表模式布局" loading="lazy" width="2192" height="1233" src="/_astro/left-list.C0_tc_R__ZH3I9d.webp" /><figcaption>列表模式布局</figcaption></figure><p></p></section><section><h4>封面位置<a href="#封面位置"><span>#</span></a></h4><p>列表模式的封面图默认在卡片右侧，可以通过 <code>coverPosition</code> 改到左侧。改到左侧后，标题前的主题色竖线会自动隐藏（它是贴着卡片左边缘的设计），腾出的间距留给正文。</p><p>网格模式的封面固定在卡片顶部，不受这项配置影响。</p></section><section><h4>优点<a href="#优点"><span>#</span></a></h4><ul>
<li>✅ 视觉冲击力强，封面图吸引眼球</li>
<li>✅ 可以展示更多文章信息（摘要、标签等）</li>
<li>✅ 适合图片内容丰富的博客</li>
<li>✅ 移动端友好，单列更易阅读</li>
<li>✅ 兼容所有侧边栏配置（单侧、双侧）</li>
</ul></section><section><h4>配置示例<a href="#配置示例-2"><span>#</span></a></h4><div><figure><figcaption><span>src/config/siteConfig.ts</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>const</span><span> </span><span>siteConfig</span><span>:</span><span> </span><span>SiteConfig</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>postListLayout</span><span>:</span><span> {</span></div></div><div><div><div>3</div></div><div><span>    </span><span>defaultMode</span><span>:</span><span> </span><span>"list"</span><span>,    </span><span>// 列表模式</span></div></div><div><div><div>4</div></div><div><span>    </span><span>coverPosition</span><span>:</span><span> </span><span>"right"</span><span>, </span><span>// 封面图位置："right" 右侧，"left" 左侧</span></div></div><div><div><div>5</div></div><div><span><span>  </span></span><span>},</span></div></div><div><div><div>6</div></div><div><span>};</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section></section><section><h3>2.2 网格模式 (defaultMode: “grid”)<a href="#22-网格模式-defaultmode-grid"><span>#</span></a></h3><section><h4>特点<a href="#特点-3"><span>#</span></a></h4><ul>
<li>自适应列数，根据浏览器宽度自动调整</li>
<li>紧凑布局，信息密度高</li>
<li>适合快速浏览</li>
</ul></section><section><h4>自适应网格<a href="#自适应网格"><span>#</span></a></h4><p>网格模式通过 <code>columnWidth</code> 配置卡片的最小宽度（单位 px），浏览器会根据容器可用宽度自动计算能容纳多少列。</p><p></p><figure><img alt="网格布局" loading="lazy" width="2192" height="1233" src="/_astro/left-grid3.CdUk9hkl_Z10bpJj.webp" /><figcaption>网格布局</figcaption></figure><p></p></section><section><h4>配置示例<a href="#配置示例-3"><span>#</span></a></h4><div><figure><figcaption><span>src/config/siteConfig.ts</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>const</span><span> </span><span>siteConfig</span><span>:</span><span> </span><span>SiteConfig</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>postListLayout</span><span>:</span><span> {</span></div></div><div><div><div>3</div></div><div><span>    </span><span>defaultMode</span><span>:</span><span> </span><span>"grid"</span><span>,</span></div></div><div><div><div>4</div></div><div><span>    </span><span>grid</span><span>:</span><span> {</span></div></div><div><div><div>5</div></div><div><span>      </span><span>masonry</span><span>:</span><span> </span><span>true</span><span>,      </span><span>// 开启瀑布流</span></div></div><div><div><div>6</div></div><div><span>      </span><span>columnWidth</span><span>:</span><span> </span><span>320</span><span>,   </span><span>// 卡片最小宽度(px)，浏览器自动计算列数</span></div></div><div><div><div>7</div></div><div><span><span>    </span></span><span>},</span></div></div><div><div><div>8</div></div><div><span><span>  </span></span><span>},</span></div></div><div><div><div>9</div></div><div><span>};</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section></section><section><h3>2.3 瀑布流布局 (Masonry)<a href="#23-瀑布流布局-masonry"><span>#</span></a></h3><p>Firefly 的网格模式内置了智能瀑布流布局支持，解决了网格布局中因图文混合文章导致的卡片高度不一致导致的空白问题。</p><p></p><figure><img alt="瀑布流布局" loading="lazy" width="2192" height="1233" src="/_astro/masonry.AR3Zc0tk_EGrUz.webp" /><figcaption>瀑布流布局</figcaption></figure><p></p><ul>
<li><strong>智能排版</strong>：自动将卡片放置到最短的列，最大化利用垂直空间。</li>
<li><strong>消除空白</strong>：通过绝对定位精确计算每个卡片的位置，让卡片紧贴上方卡片，消除垂直方向的空白间隙。</li>
<li><strong>自适应列数</strong>：瀑布流同样根据 <code>columnWidth</code> 和容器宽度动态计算列数，无需固定配置。</li>
<li><strong>配置灵活</strong>：您可以在 <code>siteConfig.ts</code> 中通过 <code>postListLayout.grid.masonry</code> 选项自由开启或关闭此功能。</li>
</ul><hr /></section></section>
<section><h2>三、布局组合指南<a href="#三布局组合指南"><span>#</span></a></h2><p>Firefly 允许您自由组合侧边栏和文章列表布局。以下是各种组合的效果说明。</p>

<table><thead><tr><th>侧边栏模式</th><th>文章列表模式</th><th>推荐度</th><th>适用场景</th></tr></thead><tbody><tr><td>单侧边栏</td><td>列表模式</td><td>⭐⭐⭐⭐⭐</td><td>摄影、设计、生活类博客，强调图片和沉浸感</td></tr><tr><td>单侧边栏</td><td>网格模式</td><td>⭐⭐⭐⭐⭐</td><td>技术、笔记类博客，平衡阅读与检索效率</td></tr><tr><td>双侧边栏</td><td>列表模式</td><td>⭐⭐⭐⭐⭐</td><td>需要展示大量侧边栏信息的站点</td></tr><tr><td>双侧边栏</td><td>网格模式</td><td>⭐⭐⭐⭐⭐</td><td>极客风格，追求最高信息密度</td></tr></tbody></table><hr /></section>
<section><h2>四、响应式布局行为<a href="#四响应式布局行为"><span>#</span></a></h2><p>Firefly 的布局系统具有智能的响应式设计，会根据屏幕尺寸自动调整。</p><p>为了保证最佳阅读体验，系统会在屏幕变窄时自动调整布局：</p><ol>
<li><strong>网格列数自动减少</strong>：网格模式的列数由 <code>columnWidth</code> 和容器宽度自动决定，屏幕越窄列数越少。</li>
<li><strong>列表模式 -&gt; 网格模式</strong>：当屏幕宽度小于 380px（超小屏设备）时，列表模式会自动切换为网格模式，以保证卡片内容的可读性。</li>
<li><strong>双侧边栏 -&gt; 单侧边栏</strong>：当屏幕宽度小于 1280px 时，会根据<code>tabletSidebar</code>配置显示单侧边栏，隐藏其中一个侧边栏，文章目录导航会切换成浮动目录导航。</li>
</ol><hr /></section>
<section><h2>五、常见问题<a href="#五常见问题"><span>#</span></a></h2><section><h3>Q1: 如何调整网格列数？<a href="#q1-如何调整网格列数"><span>#</span></a></h3><p><strong>A</strong>: 通过 <code>columnWidth</code> 配置卡片最小宽度即可。值越小，同等宽度下列数越多；值越大，列数越少。浏览器会自动根据可用宽度计算最佳列数。</p><hr /></section></section>
<section><h2>六、总结<a href="#六总结"><span>#</span></a></h2><p>Firefly 的布局系统给予了您更大的自由度，您都可以通过简单的配置实现。</p><p>我们建议您根据自己的内容类型和目标读者的设备偏好，尝试不同的组合，找到最适合您的博客形态。</p><hr /></section>
<section><h2>相关链接<a href="#相关链接"><span>#</span></a></h2><ul>
<li>📚 <a href="https://docs-firefly.cuteleaf.cn/config/sidebarConfig-usage/" target="_blank">侧边栏配置文档</a></li>
<li>📚 <a href="https://docs-firefly.cuteleaf.cn/config/siteConfig-usage/" target="_blank">站点配置文档</a></li>
<li>🏠 <a href="https://docs-firefly.cuteleaf.cn/" target="_blank">Firefly 官方文档</a></li>
<li>⭐ <a href="https://github.com/CuteLeaf/Firefly" target="_blank">Firefly GitHub</a></li>
</ul></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/guide/firefly-wiki-link/</id>
      <title type="text">Firefly Wiki Link 内部链接示例</title>
      <published>1970-01-03T00:00:00.000Z</published>
      <updated>1970-01-03T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/guide/firefly-wiki-link/"/>
      <summary type="text">在 Firefly 文章中使用 Obsidian 风格的 Wiki Link 内部链接，并自动生成文章链接卡片。</summary>
      <content type="html"><![CDATA[<p>Firefly 支持在 Markdown、MDX 文章中使用 Obsidian 风格的 Wiki Link 内部链接。链接目标填写文章的 slug 或文件路径，都不需要包含扩展名，具体匹配规则见下文「链接目标的三种写法」。</p>
<section><h2>文章链接卡片<a href="#文章链接卡片"><span>#</span></a></h2><p><code>[[slug]]</code> 单独成段时，会自动读取目标文章的标题、描述、发布时间、分类、标签和封面，渲染为链接卡片：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>[</span><span>firefly</span><span>]</span><span>]</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>[</span><span>[</span><span>guide/index</span><span>]</span><span>]</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>[</span><span>[</span><span>markdown-extended</span><span>]</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><a href="/posts/firefly/"><div><div>Firefly 一款清新美观的 Astro 博客主题模板</div><div>Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。</div><div><span>1970-01-02</span><span>文章示例</span><span><span>#Markdown</span><span>#Firefly</span><span>#博客</span><span>#主题</span><span>#模板</span></span></div></div><div><img alt="" loading="lazy" width="480" height="290" src="/_astro/firefly2.SKSJeX39_Zprvmq.webp" /></div></a><a href="/posts/guide/"><div><div>Firefly 简单使用指南</div><div>如何使用 Firefly 博客模板。</div><div><span>1970-01-02</span><span>博客指南</span><span><span>#Firefly</span><span>#博客</span><span>#Markdown</span><span>#指南</span></span></div></div><div><img alt="" loading="lazy" width="480" height="290" src="/_astro/cover.YQEuo877_Z14KR2E.webp" /></div></a><a href="/posts/markdown-extended/"><div><div>Markdown 扩展功能</div><div>了解 Firefly 中的 Markdown 功能</div><div><span>1970-01-01</span><span>文章示例</span><span><span>#演示</span><span>#示例</span><span>#Markdown</span><span>#Firefly</span></span></div></div></a></section>
<section><h2>行内链接<a href="#行内链接"><span>#</span></a></h2><p><code>[[slug]]</code> 出现在正文中间时，渲染为普通链接，链接文字自动使用目标文章的标题</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>请参阅 [</span><span>[</span><span>firefly</span><span>]</span><span>] 了解主题特性。</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>请参阅 <a href="/posts/firefly/">Firefly 一款清新美观的 Astro 博客主题模板</a> 了解主题特性。</p></section>
<section><h2>自定义显示标题<a href="#自定义显示标题"><span>#</span></a></h2><p>在 <code>|</code> 后填写链接的显示文字。行内链接会用它替换文章标题；单独成段时依然渲染为卡片，卡片标题使用自定义文字，描述、时间、分类、标签和封面仍然读取目标文章：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>请参阅 [</span><span>[</span><span>firefly|主题介绍</span><span>]</span><span>] 了解主题特性。</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>[[firefly|Firefly 主题介绍]]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>请参阅 <a href="/posts/firefly/">主题介绍</a> 了解主题特性。</p><a href="/posts/firefly/"><div><div>Firefly 主题介绍</div><div>Firefly 是一款基于 Astro 框架和 Fuwari 模板开发的清新美观且现代化个人博客主题模板，专为技术爱好者和内容创作者设计。该主题融合了现代 Web 技术栈，提供了丰富的功能模块和高度可定制的界面，让您能够轻松打造出专业且美观的个人博客网站。</div><div><span>1970-01-02</span><span>文章示例</span><span><span>#Markdown</span><span>#Firefly</span><span>#博客</span><span>#主题</span><span>#模板</span></span></div></div><div><img alt="" loading="lazy" width="480" height="290" src="/_astro/firefly2.SKSJeX39_Zprvmq.webp" /></div></a><p>一个例外：如果 <code>|</code> 后的文字只是把链接目标又抄了一遍（<code>[[guide/index|index]]</code>），会被当作无效别名忽略，仍然显示文章标题。Obsidian 在插入的链接时会自动补上这样的别名，避免笔记里显示一长串路径，这个例外就是为它准备的。</p></section>
<section><h2>链接目标的三种写法<a href="#链接目标的三种写法"><span>#</span></a></h2><p>用 Obsidian 管理文章时，把 <code>src/content/posts</code> 目录本身作为 Obsidian 仓库（vault）打开。下文提到的「仓库根目录」都指这个目录，它正好也是 Firefly 解析链接路径的起点。</p><p>链接目标按以下顺序匹配：</p>

<table><thead><tr><th>写法</th><th>示例</th><th>在 Obsidian 中</th></tr></thead><tbody><tr><td>frontmatter 的 <code>slug</code></td><td><code>[[firefly-wiki-link]]</code></td><td>✗ 不支持</td></tr><tr><td>文件路径（相对仓库根目录）</td><td><code>[[guide/firefly-layout-system]]</code></td><td>✓ 需改设置（推荐）</td></tr><tr><td>裸文件名（仓库内唯一时）</td><td><code>[[firefly-layout-system]]</code></td><td>✓ 默认即是</td></tr></tbody></table><section><h3>第一种：slug<a href="#第一种slug"><span>#</span></a></h3><p><code>slug</code> 写法在 Obsidian 中不支持，<code>slug</code> 是 Firefly 自己的概念，Obsidian 不读取 frontmatter 里的 <code>slug</code>，所以按 slug 写的链接在 Obsidian 里既不会自动补全，也点不动，只有构建出的站点上能正常跳转。如果你主要在 Obsidian 里写作，用下面两种写法。</p></section><section><h3>第二种：文件路径（推荐）<a href="#第二种文件路径推荐"><span>#</span></a></h3><p>文件路径写法需要改 Obsidian 设置，在 <code>设置 → 文件与链接 → 链接 → 内部链接类型</code> 中选择<strong>基于仓库根目录的绝对路径</strong>，Obsidian 插入的链接才会带上目录：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>[</span><span>guide/firefly-layout-system|firefly-layout-system</span><span>]</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><a href="/posts/guide/firefly-layout-system/"><div><div>Firefly 布局系统详解</div><div>深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。</div><div><span>1970-01-03</span><span>博客指南</span><span><span>#Firefly</span><span>#布局</span><span>#博客</span><span>#指南</span></span></div></div><div><img alt="" loading="lazy" width="480" height="290" src="/_astro/firefly1.CxwocGDT_Z2vzXFF.webp" /></div></a><p>因为仓库根目录就是 <code>src/content/posts</code>，Obsidian 写出的这个路径和 Firefly 需要的路径完全一致，不需要任何额外转换。</p><p>上面这行末尾的 <code>|firefly-layout-system</code> 是 Obsidian 自动补的别名，Firefly 会忽略它，卡片标题仍然取文章的 title，除非你把它修改和文件名不一致，才会变成你修改后的别名。</p><p>内部链接类型下拉框里的<strong>基于当前笔记的相对路径</strong>只在同目录内可用：它给同目录文章生成的是裸文件名，能正常匹配；但跨目录时会生成 <code>../</code> 前缀，Firefly 无法解析，链接会按原文显示。</p></section><section><h3>第三种：裸文件名<a href="#第三种裸文件名"><span>#</span></a></h3><p>「内部链接类型」的默认值就是<strong>尽可能简短的形式</strong>：只要文件名在整个仓库里唯一，Obsidian 插入的链接就只有文件名，不带目录。这种写法不需要改任何设置，效果和写完整路径完全一致：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>[</span><span>firefly-layout-system</span><span>]</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><a href="/posts/guide/firefly-layout-system/"><div><div>Firefly 布局系统详解</div><div>深入了解 Firefly 的布局系统，包括侧边栏布局（左侧/双侧）和文章列表布局（列表/网格），以及自适应网格列数。</div><div><span>1970-01-03</span><span>博客指南</span><span><span>#Firefly</span><span>#布局</span><span>#博客</span><span>#指南</span></span></div></div><div><img alt="" loading="lazy" width="480" height="290" src="/_astro/firefly1.CxwocGDT_Z2vzXFF.webp" /></div></a><p>文件名重名时这种写法会失效，构建日志里会给出提示，改用完整文件路径即可，所以推荐直接修改 Obsidian 内部链接类型设置为<strong>基于仓库根目录的绝对路径</strong>，使用第二种文件路径写法，一劳永逸</p></section></section>
<section><h2>链接到其他文章的标题<a href="#链接到其他文章的标题"><span>#</span></a></h2><p>在文章 slug 后添加 <code>#标题</code>。带标题锚点的链接始终渲染为普通链接：</p><p><a href="/posts/code-examples/#%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE">查看代码块语法高亮</a></p><p><a href="/posts/guide/firefly-layout-system/#%E7%9B%B8%E5%85%B3%E9%93%BE%E6%8E%A5">Firefly 布局系统详解#相关链接</a></p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>[</span><span>code-examples#语法高亮|查看代码块语法高亮</span><span>]</span><span>]</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>[</span><span>[</span><span>guide/firefly-layout-system#相关链接|firefly-layout-system</span><span>]</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>标题锚点使用与页面标题相同的 slug 规则，因此中文、空格和大小写都会按页面实际生成的 ID 处理。</p></section>
<section><h2>链接到本页标题<a href="#链接到本页标题"><span>#</span></a></h2><p>省略文章 slug，只填写标题即可链接到当前文章：</p><p><a href="#%E6%9C%AC%E9%A1%B5%E7%9B%AE%E6%A0%87">跳转到本页目标</a></p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>[</span><span>#本页目标|跳转到本页目标</span><span>]</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section>
<section><h2>本页目标<a href="#本页目标"><span>#</span></a></h2><p>这是本页 Wiki Link 指向的标题。</p></section>
<section><h2>不支持附件嵌入<a href="#不支持附件嵌入"><span>#</span></a></h2><p>附件嵌入语法目前不会被转换，会按原文显示：</p><p>![[image.png]]</p><p>行内代码和代码块中的 <code>[[firefly]]</code> 也不会被转换。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/encrypted-demo/</id>
      <title type="text">Firefly 文章加密</title>
      <published>1970-01-02T00:00:00.000Z</published>
      <updated>1970-01-02T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/encrypted-demo/"/>
      <summary type="text">这是一篇密码保护的示例文章，用于演示文章加密功能。</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/katex-math-example/</id>
      <title type="text">KaTeX 数学公式示例</title>
      <published>1970-01-02T00:00:00.000Z</published>
      <updated>1970-01-02T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/katex-math-example/"/>
      <summary type="text">展示 Firefly 主题对 KaTeX 数学公式的支持，包括行内公式、块级公式和复杂数学符号。</summary>
      <content type="html"><![CDATA[<p>本文展示了 <a href="https://github.com/CuteLeaf/Firefly" target="_blank">Firefly</a> 主题对 KaTeX 数学公式的渲染支持。</p>
<section><h2>行内公式 (Inline)<a href="#行内公式-inline"><span>#</span></a></h2><p>行内公式使用单个 <code>$</code> 符号包裹。</p><p>例如：欧拉公式 <span><span>eiπ+1=0e^{i\pi} + 1 = 0</span><span><span><span></span><span><span>e</span><span><span><span><span><span><span></span><span><span><span>iπ</span></span></span></span></span></span></span></span></span><span></span><span>+</span><span></span></span><span><span></span><span>1</span><span></span><span>=</span><span></span></span><span><span></span><span>0</span></span></span></span> 是数学中最优美的公式之一。</p><p>质能方程 <span><span>E=mc2E = mc^2</span><span><span><span></span><span>E</span><span></span><span>=</span><span></span></span><span><span></span><span>m</span><span><span>c</span><span><span><span><span><span><span></span><span><span>2</span></span></span></span></span></span></span></span></span></span></span> 也是家喻户晓。</p></section>
<section><h2>块级公式 (Block)<a href="#块级公式-block"><span>#</span></a></h2><p>块级公式使用两个 <code>$$</code> 符号包裹，会居中显示。</p><span><span><span>∫−∞∞e−x2dx=π\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}</span><span><span><span></span><span><span>∫</span><span><span><span><span><span><span></span><span><span><span>−</span><span>∞</span></span></span></span><span><span></span><span><span><span>∞</span></span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span><span></span><span><span>e</span><span><span><span><span><span><span></span><span><span><span>−</span><span><span>x</span><span><span><span><span><span><span></span><span><span>2</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span>d</span><span>x</span><span></span><span>=</span><span></span></span><span><span></span><span><span><span><span><span><span></span><span><span>π</span></span></span><span><span></span><span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span></span></span><span><span><span>x=−b±b2−4ac2ax = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}</span><span><span><span></span><span>x</span><span></span><span>=</span><span></span></span><span><span></span><span><span></span><span><span><span><span><span><span></span><span><span>2</span><span>a</span></span></span><span><span></span><span></span></span><span><span></span><span><span>−</span><span>b</span><span></span><span>±</span><span></span><span><span><span><span><span><span></span><span><span><span>b</span><span><span><span><span><span><span></span><span><span>2</span></span></span></span></span></span></span></span><span></span><span>−</span><span></span><span>4</span><span>a</span><span>c</span></span></span><span><span></span><span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span></span></span></span></span></section>
<section><h2>复杂示例<a href="#复杂示例"><span>#</span></a></h2><section><h3>矩阵 (Matrices)<a href="#矩阵-matrices"><span>#</span></a></h3><span><span><span>(abcd)(αβγδ)=(aα+bγaβ+bδcα+dγcβ+dδ)\begin{pmatrix}
a &amp; b \\
c &amp; d
\end{pmatrix}
\begin{pmatrix}
\alpha &amp; \beta \\
\gamma &amp; \delta
\end{pmatrix} =
\begin{pmatrix}
a\alpha + b\gamma &amp; a\beta + b\delta \\
c\alpha + d\gamma &amp; c\beta + d\delta
\end{pmatrix}</span><span><span><span></span><span><span><span>(</span></span><span><span><span><span><span><span><span><span></span><span><span>a</span></span></span><span><span></span><span><span>c</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span><span></span><span><span><span><span><span><span></span><span><span>b</span></span></span><span><span></span><span><span>d</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span><span><span>)</span></span></span><span></span><span><span><span>(</span></span><span><span><span><span><span><span><span><span></span><span><span>α</span></span></span><span><span></span><span><span>γ</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span><span></span><span><span><span><span><span><span></span><span><span>β</span></span></span><span><span></span><span><span>δ</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span><span><span>)</span></span></span><span></span><span>=</span><span></span></span><span><span></span><span><span><span>(</span></span><span><span><span><span><span><span><span><span></span><span><span>a</span><span>α</span><span></span><span>+</span><span></span><span>bγ</span></span></span><span><span></span><span><span>c</span><span>α</span><span></span><span>+</span><span></span><span>d</span><span>γ</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span><span></span><span><span><span><span><span><span></span><span><span>a</span><span>β</span><span></span><span>+</span><span></span><span>b</span><span>δ</span></span></span><span><span></span><span><span>c</span><span>β</span><span></span><span>+</span><span></span><span>d</span><span>δ</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span><span><span>)</span></span></span></span></span></span></span></section><section><h3>极限与求和 (Limits and Sums)<a href="#极限与求和-limits-and-sums"><span>#</span></a></h3><span><span><span>∑n=1∞1n2=π26\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}</span><span><span><span></span><span><span><span><span><span><span></span><span><span><span>n</span><span>=</span><span>1</span></span></span></span><span><span></span><span><span>∑</span></span></span><span><span></span><span><span><span>∞</span></span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span><span><span></span><span><span><span><span><span><span></span><span><span><span>n</span><span><span><span><span><span><span></span><span><span>2</span></span></span></span></span></span></span></span></span></span><span><span></span><span></span></span><span><span></span><span><span>1</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span><span></span><span>=</span><span></span></span><span><span></span><span><span></span><span><span><span><span><span><span></span><span><span>6</span></span></span><span><span></span><span></span></span><span><span></span><span><span><span>π</span><span><span><span><span><span><span></span><span><span>2</span></span></span></span></span></span></span></span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span></span></span></span></span><span><span><span>lim⁡x→0sin⁡xx=1\lim_{x \to 0} \frac{\sin x}{x} = 1</span><span><span><span></span><span><span><span><span><span><span></span><span><span><span>x</span><span>→</span><span>0</span></span></span></span><span><span></span><span><span>lim</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span><span><span></span><span><span><span><span><span><span></span><span><span>x</span></span></span><span><span></span><span></span></span><span><span></span><span><span>sin</span><span></span><span>x</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span><span></span><span>=</span><span></span></span><span><span></span><span>1</span></span></span></span></span></section><section><h3>麦克斯韦方程组 (Maxwell’s Equations)<a href="#麦克斯韦方程组-maxwells-equations"><span>#</span></a></h3><span><span><span>∇⋅E=ρε0∇⋅B=0∇×E=−∂B∂t∇×B=μ0J+μ0ε0∂E∂t\begin{aligned}
\nabla \cdot \mathbf{E} &amp;= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &amp;= 0 \\
\nabla \times \mathbf{E} &amp;= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &amp;= \mu_0\mathbf{J} + \mu_0\varepsilon_0\frac{\partial \mathbf{E}}{\partial t}
\end{aligned}</span><span><span><span></span><span><span><span><span><span><span><span><span></span><span><span>∇</span><span></span><span>⋅</span><span></span><span>E</span></span></span><span><span></span><span><span>∇</span><span></span><span>⋅</span><span></span><span>B</span></span></span><span><span></span><span><span>∇</span><span></span><span>×</span><span></span><span>E</span></span></span><span><span></span><span><span>∇</span><span></span><span>×</span><span></span><span>B</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span><span><span><span><span><span></span><span><span></span><span></span><span>=</span><span></span><span><span></span><span><span><span><span><span><span></span><span><span><span>ε</span><span><span><span><span><span><span></span><span><span>0</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span></span><span><span></span><span></span></span><span><span></span><span><span>ρ</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span></span></span><span><span></span><span><span></span><span></span><span>=</span><span></span><span>0</span></span></span><span><span></span><span><span></span><span></span><span>=</span><span></span><span>−</span><span><span></span><span><span><span><span><span><span></span><span><span>∂</span><span>t</span></span></span><span><span></span><span></span></span><span><span></span><span><span>∂</span><span>B</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span></span></span><span><span></span><span><span></span><span></span><span>=</span><span></span><span><span>μ</span><span><span><span><span><span><span></span><span><span>0</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span><span>J</span><span></span><span>+</span><span></span><span><span>μ</span><span><span><span><span><span><span></span><span><span>0</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span><span><span>ε</span><span><span><span><span><span><span></span><span><span>0</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span><span><span></span><span><span><span><span><span><span></span><span><span>∂</span><span>t</span></span></span><span><span></span><span></span></span><span><span></span><span><span>∂</span><span>E</span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span><span></span></span></span></span></span><span>​</span></span><span><span><span></span></span></span></span></span></span></span></span></span></span></span></section><section><h3>化学方程式 (Chemical Equations)<a href="#化学方程式-chemical-equations"><span>#</span></a></h3><span><span><span>\ceCH4+2O2−&gt;CO2+2H2O\ce{CH4 + 2O2 -&gt; CO2 + 2H2O}</span><span><span><span></span><span><span>\ce</span></span><span><span>C</span><span>H</span><span>4</span><span></span><span>+</span><span></span><span>2</span><span>O</span><span>2</span><span>−</span><span></span><span>&gt;</span><span></span><span>C</span><span>O</span><span>2</span><span></span><span>+</span><span></span><span>2</span><span>H</span><span>2</span><span>O</span></span></span></span></span></span></section></section>
<section><h2>更多符号<a href="#更多符号"><span>#</span></a></h2>

<table><thead><tr><th>符号</th><th>代码</th><th>渲染结果</th></tr></thead><tbody><tr><td>Alpha</td><td><code>\alpha</code></td><td><span><span>α\alpha</span><span><span><span></span><span>α</span></span></span></span></td></tr><tr><td>Beta</td><td><code>\beta</code></td><td><span><span>β\beta</span><span><span><span></span><span>β</span></span></span></span></td></tr><tr><td>Gamma</td><td><code>\Gamma</code></td><td><span><span>Γ\Gamma</span><span><span><span></span><span>Γ</span></span></span></span></td></tr><tr><td>Pi</td><td><code>\pi</code></td><td><span><span>π\pi</span><span><span><span></span><span>π</span></span></span></span></td></tr><tr><td>Infinity</td><td><code>\infty</code></td><td><span><span>∞\infty</span><span><span><span></span><span>∞</span></span></span></span></td></tr><tr><td>Right Arrow</td><td><code>\rightarrow</code></td><td><span><span>→\rightarrow</span><span><span><span></span><span>→</span></span></span></span></td></tr><tr><td>Partial</td><td><code>\partial</code></td><td><span><span>∂\partial</span><span><span><span></span><span>∂</span></span></span></span></td></tr></tbody></table><p>更多 KaTeX 语法请参考 <a href="https://katex.org/docs/supported.html" target="_blank">KaTeX Supported Functions</a>。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/mdx-example/</id>
      <title type="text">MDX 格式文章示例</title>
      <published>1970-01-02T00:00:00.000Z</published>
      <updated>1970-01-02T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/mdx-example/"/>
      <summary type="text">这是一个 MDX 格式的示例文章，展示了如何在 Markdown 中使用 JSX。</summary>
      <content type="html"><![CDATA[<div><div><div></div><div>Tip</div></div><div><p><a href="https://github.com/CuteLeaf/Firefly" target="_blank">Firefly</a> 支持 <code>MDX</code> 和 <code>Markdown</code> 两种类型的文章，你可以在文章中混合使用两种格式，如果没有特别复杂内容和需求，推荐使用 Markdown 格式就够了。</p></div></div>
<section><h2>Markdown 和 MDX 的区别<a href="#markdown-和-mdx-的区别"><span>#</span></a></h2><ul>
<li>Markdown (MD) 是一种轻量级标记语言，允许用户使用纯文本格式编写文档，然后将其转换为格式化的HTML。它因其简洁易用的语法而广受欢迎，特别适合编写文档和博客文章。</li>
<li>MDX 是一种扩展了 Markdown 语法的格式，允许在 Markdown 文档中无缝地插入 JSX 代码。通过 MDX，用户可以在文档中嵌入 React 组件，从而实现更丰富的交互性和动态性。</li>
</ul>

<table><thead><tr><th>特性</th><th>Markdown</th><th>MDX</th></tr></thead><tbody><tr><td>基础语法</td><td>支持 (CommonMark)</td><td>支持 (CommonMark)</td></tr><tr><td>HTML 标签</td><td>支持</td><td>支持 (作为 JSX)</td></tr><tr><td>组件导入</td><td>不支持</td><td>支持 (import)</td></tr><tr><td>动态数据</td><td>不支持</td><td>支持 (JS 表达式)</td></tr><tr><td>样式定制</td><td>有限 (class/style)</td><td>灵活 (className/CSS-in-JS)</td></tr></tbody></table><hr /></section>
<section><h2>Firefly 内置的专属 MDX UI 组件<a href="#firefly-内置的专属-mdx-ui-组件"><span>#</span></a></h2><p>这里列出 Firefly 内置的 MDX UI 组件，方便在 MDX 文章中直接使用。</p><section><h3>Tab分组：<code>TabGroup</code><a href="#tab分组tabgroup"><span>#</span></a></h3><p>用于创建可切换的标签页，方便在文章中展示不同语言或不同版本的代码等等。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>TabGroup</span><span> </span><span>labels</span><span>=</span><span>{</span><span>[</span><span>"test.js"</span><span>, </span><span>"test.py"</span><span>]</span><span>}</span><span> </span><span>client</span><span>:</span><span>load</span><span>&gt;</span></div></div><div><div><div>2</div></div><div><span>  </span><span>```</span><span>js</span></div></div><div><div><div>3</div></div><div><span><span>  </span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>1</span><span>)</span></div></div><div><div><div>4</div></div><div><span>  </span><span>```</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span>  </span><span>```</span><span>py</span></div></div><div><div><div>7</div></div><div><span>  </span><span>print</span><span>(</span><span>"hello world"</span><span>)</span></div></div><div><div><div>8</div></div><div><span>  </span><span>```</span></div></div><div><div><div>9</div></div><div><span>&lt;/</span><span>TabGroup</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><div>test.jstest.py</div> <div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>console</span><span>.</span></span><span>log</span><span>(</span><span>1</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>print</span><span>(</span><span>"hello world"</span><span>)</span></div></div></code></pre><div><div></div><div></div></div></figure></div></div></div><hr /></section><section><h3>时间线：<code>Timeline</code> / <code>TimelineItem</code><a href="#时间线timeline--timelineitem"><span>#</span></a></h3>

<table><thead><tr><th>属性</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td><code>date</code></td><td>否</td><td>时间标签，如 “2024-03-10”</td></tr><tr><td><code>title</code></td><td>否</td><td>条目标题</td></tr><tr><td><code>type</code></td><td>否</td><td>节点颜色，default 为主题色，其余对应提示框色板（tip / note / important / warning / caution）</td></tr><tr><td><code>icon</code></td><td>否</td><td>内置图标名，显示在圆点内：star / rocket / git / flag / book / heart / zap / bug / tag / calendar / code / edit</td></tr><tr><td>正文</td><td>否</td><td><code>&lt;TimelineItem&gt;</code> 标签内的内容，支持 Markdown</td></tr></tbody></table><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>Timeline</span><span>&gt;</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>&lt;</span><span>TimelineItem</span><span> </span><span>date</span><span>=</span><span>"2026-08-16"</span><span> </span><span>title</span><span>=</span><span>"新版本发布"</span><span> </span><span>icon</span><span>=</span><span>"rocket"</span><span>&gt;</span></div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>发布了全新版本，带来以下更新：</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span><span>    </span></span><span>- 新增时间线组件</span></div></div><div><div><div>6</div></div><div><span><span>    </span></span><span>- 改进暗色主题</span></div></div><div><div><div>7</div></div><div>
</div></div><div><div><div>8</div></div><div><span><span>    </span></span><span>正文里支持 </span><span>**</span><span>Markdown</span><span>**</span><span> 内容。</span></div></div><div><div><div>9</div></div><div><span><span>  </span></span><span>&lt;/</span><span>TimelineItem</span><span>&gt;</span></div></div><div><div><div>10</div></div><div><span><span>  </span></span><span>&lt;</span><span>TimelineItem</span><span> </span><span>date</span><span>=</span><span>"2025-11-02"</span><span> </span><span>title</span><span>=</span><span>"站点上线"</span><span> </span><span>type</span><span>=</span><span>"tip"</span><span> </span><span>icon</span><span>=</span><span>"flag"</span><span>&gt;</span></div></div><div><div><div>11</div></div><div><span><span>    </span></span><span>欢迎来到我的博客。</span></div></div><div><div><div>12</div></div><div><span><span>  </span></span><span>&lt;/</span><span>TimelineItem</span><span>&gt;</span></div></div><div><div><div>13</div></div><div><span><span>  </span></span><span>&lt;</span><span>TimelineItem</span><span> </span><span>date</span><span>=</span><span>"2025-06-15"</span><span> </span><span>title</span><span>=</span><span>"项目立项"</span><span> </span><span>type</span><span>=</span><span>"note"</span><span>&gt;</span></div></div><div><div><div>14</div></div><div><span><span>    </span></span><span>开始规划 Firefly 主题。</span></div></div><div><div><div>15</div></div><div><span><span>  </span></span><span>&lt;/</span><span>TimelineItem</span><span>&gt;</span></div></div><div><div><div>16</div></div><div><span>&lt;/</span><span>Timeline</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><ol><li><div><span></span></div><div><div>2026-08-16</div><div>新版本发布</div><div><p>发布了全新版本，带来以下更新：</p><ul>
<li>新增时间线组件</li>
<li>改进暗色主题</li>
</ul><p>正文里支持 <strong>Markdown</strong> 内容。</p></div></div></li><li><div><span></span></div><div><div>2025-11-02</div><div>站点上线</div><div><p>欢迎来到我的博客。</p></div></div></li><li><div></div><div><div>2025-06-15</div><div>项目立项</div><div><p>开始规划 Firefly 主题。</p></div></div></li></ol><hr /></section><section><h3>步骤条：<code>Steps</code> / <code>StepItem</code><a href="#步骤条steps--stepitem"><span>#</span></a></h3><p>编号步骤条，适合教程、部署流程。编号自动生成，无需手动传序号。</p>

<table><thead><tr><th>属性</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td><code>title</code></td><td>否</td><td>步骤标题</td></tr><tr><td><code>type</code></td><td>否</td><td>编号圆颜色，default 为主题色，其余对应提示框色板（tip / note / important / warning / caution）</td></tr><tr><td><code>icon</code></td><td>否</td><td>内置图标名，有图标时显示图标而非数字（star / rocket / git / flag / book / heart / zap / bug / tag / calendar / code / edit）</td></tr><tr><td>正文</td><td>否</td><td><code>&lt;StepItem&gt;</code> 标签内的内容，支持 Markdown</td></tr></tbody></table><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>Steps</span><span>&gt;</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>&lt;</span><span>StepItem</span><span> </span><span>title</span><span>=</span><span>"安装依赖"</span><span>&gt;</span></div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>运行 </span><span>`</span><span>pnpm install</span><span>`</span><span>。</span></div></div><div><div><div>4</div></div><div><span><span>  </span></span><span>&lt;/</span><span>StepItem</span><span>&gt;</span></div></div><div><div><div>5</div></div><div><span><span>  </span></span><span>&lt;</span><span>StepItem</span><span> </span><span>title</span><span>=</span><span>"启动开发服务器"</span><span> </span><span>type</span><span>=</span><span>"tip"</span><span> </span><span>icon</span><span>=</span><span>"rocket"</span><span>&gt;</span></div></div><div><div><div>6</div></div><div><span><span>    </span></span><span>运行 </span><span>`</span><span>pnpm dev</span><span>`</span><span>，打开 </span><span>`</span><span>localhost:4321</span><span>`</span><span>。</span></div></div><div><div><div>7</div></div><div><span><span>  </span></span><span>&lt;/</span><span>StepItem</span><span>&gt;</span></div></div><div><div><div>8</div></div><div><span><span>  </span></span><span>&lt;</span><span>StepItem</span><span> </span><span>title</span><span>=</span><span>"编写文章"</span><span>&gt;</span></div></div><div><div><div>9</div></div><div><span><span>    </span></span><span>在 </span><span>`</span><span>src/content/posts/</span><span>`</span><span> 新建 </span><span>`</span><span>.mdx</span><span>`</span><span> 文章。</span></div></div><div><div><div>10</div></div><div><span><span>  </span></span><span>&lt;/</span><span>StepItem</span><span>&gt;</span></div></div><div><div><div>11</div></div><div><span>&lt;/</span><span>Steps</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><ol><li><span></span><div><div>安装依赖</div><div><p>运行 <code>pnpm install</code>。</p></div></div></li><li><span><span></span></span><div><div>启动开发服务器</div><div><p>运行 <code>pnpm dev</code>，打开 <code>localhost:4321</code>。</p></div></div></li><li><span></span><div><div>编写文章</div><div><p>在 <code>src/content/posts/</code> 新建 <code>.mdx</code> 文章。</p></div></div></li></ol><hr /></section><section><h3>徽章：<code>Badge</code><a href="#徽章badge"><span>#</span></a></h3><p>内联彩色小徽章，可嵌在段落或标题里。</p>

<table><thead><tr><th>属性</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td><code>type</code></td><td>否</td><td>default 为主题色，其余对应提示框色板（tip / note / important / warning / caution）</td></tr></tbody></table><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;</span><span>Badge</span><span> </span><span>type</span><span>=</span><span>"tip"</span><span>&gt;提示&lt;/</span><span>Badge</span><span>&gt; &lt;</span><span>Badge</span><span> </span><span>type</span><span>=</span><span>"warning"</span><span>&gt;注意&lt;/</span><span>Badge</span><span>&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><span>新功能</span><span>提示</span><span>笔记</span><span>重要</span><span>注意</span><span>危险</span><hr /><p>更多信息，请查看 <a href="https://mdxjs.com/" target="_blank">MDX 文档</a></p></section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/markdown-extended/</id>
      <title type="text">Markdown 扩展功能</title>
      <published>1970-01-01T00:00:00.000Z</published>
      <updated>1970-01-01T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/markdown-extended/"/>
      <summary type="text">了解 Firefly 中的 Markdown 功能</summary>
      <content type="html"><![CDATA[<section><h2>GitHub 仓库卡片<a href="#github-仓库卡片"><span>#</span></a></h2><p>您可以添加链接到 GitHub 仓库的动态卡片，在页面加载时，仓库信息会从 GitHub API 获取。</p><a href="https://github.com/CuteLeaf/Firefly" target="_blank"><div><div><div><div></div><div>CuteLeaf</div></div><div>/</div><div>Firefly</div></div><div></div></div><div>🍀Firefly, fresh and aesthetic Astro blog theme template. </div><div><div>—</div><div>—</div><div>MIT</div><span>Astro</span></div></a><p>使用代码 <code>::github{repo="CuteLeaf/Firefly"}</code> 创建 GitHub 仓库卡片。</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>::github{repo="CuteLeaf/Firefly"}</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section>
<section><h2>提醒框(Admonitions)配置<a href="#提醒框admonitions配置"><span>#</span></a></h2><p>Firefly 采用了 <a href="https://github.com/lin-stephanie/rehype-callouts" target="_blank">rehype-callouts</a> 插件，支持了四种风格的提醒框主题：<code>GitHub</code>、<code>Obsidian</code>、<code>VitePress</code> 和 <code>Docusaurus</code>。您可以在 <code>src/config/siteConfig.ts</code> 中进行配置：</p><div><figure><figcaption><span>src/config/siteConfig.ts</span></figcaption><pre><code><div><div><div>1</div></div><div><span>export</span><span> </span><span>const</span><span> </span><span>siteConfig</span><span>:</span><span> </span><span>SiteConfig</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>2</div></div><div><span>  </span><span>// ...</span></div></div><div><div><div>3</div></div><div><span>  </span><span>rehypeCallouts</span><span>:</span><span> {</span></div></div><div><div><div>4</div></div><div><span>    </span><span>// 选项: "github" | "obsidian" | "vitepress" | "docusaurus"</span></div></div><div><div><div>5</div></div><div><span>    </span><span>theme</span><span>:</span><span> </span><span>"github"</span><span>,</span></div></div><div><div><div>6</div></div><div><span><span>  </span></span><span>},</span></div></div><div><div><div>7</div></div><div><span>  </span><span>// ...</span></div></div><div><div><div>8</div></div><div><span>};</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>注意：<strong>更改配置后需要重启开发服务器才能生效。</strong></p><p>以下是各个主题支持的类型列表，每个主题风格和语法不同，可根据喜好选择。</p><section><h3>1. GitHub 主题风格<a href="#1-github-主题风格"><span>#</span></a></h3><p>这是 GitHub 官方支持的 5 种基本类型。</p><p></p><figure><img alt="GitHub" loading="lazy" width="2144" height="1086" src="/_astro/github.urcbElKG_Z1bC9wS.webp" /><figcaption>GitHub</figcaption></figure><p></p><p><strong>基本语法</strong></p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; </span><span>[</span><span>!NOTE</span><span>]</span><span> NOTE</span></div></div><div><div><div>2</div></div><div><span>&gt; 突出显示用户应该考虑的信息。</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>&gt; </span><span>[</span><span>!TIP</span><span>]</span><span> TIP</span></div></div><div><div><div>5</div></div><div><span>&gt; 可选信息，帮助用户更成功。</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>&gt; </span><span>[</span><span>!IMPORTANT</span><span>]</span><span> IMPORTANT</span></div></div><div><div><div>8</div></div><div><span>&gt; 用户成功所必需的关键信息。</span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div><span>&gt; </span><span>[</span><span>!WARNING</span><span>]</span><span> WARNING</span></div></div><div><div><div>11</div></div><div><span>&gt; 关键内容，需要立即注意。</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>&gt; </span><span>[</span><span>!CAUTION</span><span>]</span><span> CAUTION</span></div></div><div><div><div>14</div></div><div><span>&gt; 行动的负面潜在后果。</span></div></div><div><div><div>15</div></div><div>
</div></div><div><div><div>16</div></div><div><span>&gt; </span><span>[</span><span>!NOTE</span><span>]</span><span> 自定义标题</span></div></div><div><div><div>17</div></div><div><span>&gt; 这是一个带有自定义标题的示例。</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><hr /></section><section><h3>2. Obsidian 主题风格<a href="#2-obsidian-主题风格"><span>#</span></a></h3><p><a href="https://obsidian.md/" target="_blank">Obsidian</a> 风格支持非常丰富的类型和别名。</p>
点击展开 Obsidian 语法列表<div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; </span><span>[</span><span>!NOTE</span><span>]</span><span> NOTE</span></div></div><div><div><div>2</div></div><div><span>&gt; 通用的笔记块。</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>&gt; </span><span>[</span><span>!ABSTRACT</span><span>]</span><span> ABSTRACT</span></div></div><div><div><div>5</div></div><div><span>&gt; 文章的摘要。</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>&gt; </span><span>[</span><span>!SUMMARY</span><span>]</span><span> SUMMARY</span></div></div><div><div><div>8</div></div><div><span>&gt; 文章的总结（同 Abstract）。</span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div><span>&gt; </span><span>[</span><span>!TLDR</span><span>]</span><span> TLDR</span></div></div><div><div><div>11</div></div><div><span>&gt; 太长不看（同 Abstract）。</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>&gt; </span><span>[</span><span>!INFO</span><span>]</span><span> INFO</span></div></div><div><div><div>14</div></div><div><span>&gt; 提供额外信息。</span></div></div><div><div><div>15</div></div><div>
</div></div><div><div><div>16</div></div><div><span>&gt; </span><span>[</span><span>!TODO</span><span>]</span><span> TODO</span></div></div><div><div><div>17</div></div><div><span>&gt; 需要完成的事项。</span></div></div><div><div><div>18</div></div><div>
</div></div><div><div><div>19</div></div><div><span>&gt; </span><span>[</span><span>!TIP</span><span>]</span><span> TIP</span></div></div><div><div><div>20</div></div><div><span>&gt; 实用技巧或提示。</span></div></div><div><div><div>21</div></div><div>
</div></div><div><div><div>22</div></div><div><span>&gt; </span><span>[</span><span>!HINT</span><span>]</span><span> HINT</span></div></div><div><div><div>23</div></div><div><span>&gt; 暗示（同 Tip）。</span></div></div><div><div><div>24</div></div><div>
</div></div><div><div><div>25</div></div><div><span>&gt; </span><span>[</span><span>!IMPORTANT</span><span>]</span><span> IMPORTANT</span></div></div><div><div><div>26</div></div><div><span>&gt; 重要信息（Obsidian 风格通常使用类似的图标）。</span></div></div><div><div><div>27</div></div><div>
</div></div><div><div><div>28</div></div><div><span>&gt; </span><span>[</span><span>!SUCCESS</span><span>]</span><span> SUCCESS</span></div></div><div><div><div>29</div></div><div><span>&gt; 操作成功。</span></div></div><div><div><div>30</div></div><div>
</div></div><div><div><div>31</div></div><div><span>&gt; </span><span>[</span><span>!CHECK</span><span>]</span><span> CHECK</span></div></div><div><div><div>32</div></div><div><span>&gt; 检查通过（同 Success）。</span></div></div><div><div><div>33</div></div><div>
</div></div><div><div><div>34</div></div><div><span>&gt; </span><span>[</span><span>!DONE</span><span>]</span><span> DONE</span></div></div><div><div><div>35</div></div><div><span>&gt; 已完成（同 Success）。</span></div></div><div><div><div>36</div></div><div>
</div></div><div><div><div>37</div></div><div><span>&gt; </span><span>[</span><span>!QUESTION</span><span>]</span><span> QUESTION</span></div></div><div><div><div>38</div></div><div><span>&gt; 提出问题。</span></div></div><div><div><div>39</div></div><div>
</div></div><div><div><div>40</div></div><div><span>&gt; </span><span>[</span><span>!HELP</span><span>]</span><span> HELP</span></div></div><div><div><div>41</div></div><div><span>&gt; 寻求帮助（同 Question）。</span></div></div><div><div><div>42</div></div><div>
</div></div><div><div><div>43</div></div><div><span>&gt; </span><span>[</span><span>!FAQ</span><span>]</span><span> FAQ</span></div></div><div><div><div>44</div></div><div><span>&gt; 常见问题（同 Question）。</span></div></div><div><div><div>45</div></div><div>
</div></div><div><div><div>46</div></div><div><span>&gt; </span><span>[</span><span>!WARNING</span><span>]</span><span> WARNING</span></div></div><div><div><div>47</div></div><div><span>&gt; 警告信息。</span></div></div><div><div><div>48</div></div><div>
</div></div><div><div><div>49</div></div><div><span>&gt; </span><span>[</span><span>!CAUTION</span><span>]</span><span> CAUTION</span></div></div><div><div><div>50</div></div><div><span>&gt; 注意事项（同 Warning）。</span></div></div><div><div><div>51</div></div><div>
</div></div><div><div><div>52</div></div><div><span>&gt; </span><span>[</span><span>!ATTENTION</span><span>]</span><span> ATTENTION</span></div></div><div><div><div>53</div></div><div><span>&gt; 引起注意（同 Warning）。</span></div></div><div><div><div>54</div></div><div>
</div></div><div><div><div>55</div></div><div><span>&gt; </span><span>[</span><span>!FAILURE</span><span>]</span><span> FAILURE</span></div></div><div><div><div>56</div></div><div><span>&gt; 操作失败。</span></div></div><div><div><div>57</div></div><div>
</div></div><div><div><div>58</div></div><div><span>&gt; </span><span>[</span><span>!FAIL</span><span>]</span><span> FAIL</span></div></div><div><div><div>59</div></div><div><span>&gt; 失败（同 Failure）。</span></div></div><div><div><div>60</div></div><div>
</div></div><div><div><div>61</div></div><div><span>&gt; </span><span>[</span><span>!MISSING</span><span>]</span><span> MISSING</span></div></div><div><div><div>62</div></div><div><span>&gt; 缺失内容（同 Failure）。</span></div></div><div><div><div>63</div></div><div>
</div></div><div><div><div>64</div></div><div><span>&gt; </span><span>[</span><span>!DANGER</span><span>]</span><span> DANGER</span></div></div><div><div><div>65</div></div><div><span>&gt; 危险操作警告。</span></div></div><div><div><div>66</div></div><div>
</div></div><div><div><div>67</div></div><div><span>&gt; </span><span>[</span><span>!ERROR</span><span>]</span><span> ERROR</span></div></div><div><div><div>68</div></div><div><span>&gt; 错误信息（同 Danger）。</span></div></div><div><div><div>69</div></div><div>
</div></div><div><div><div>70</div></div><div><span>&gt; </span><span>[</span><span>!BUG</span><span>]</span><span> BUG</span></div></div><div><div><div>71</div></div><div><span>&gt; 报告软件缺陷。</span></div></div><div><div><div>72</div></div><div>
</div></div><div><div><div>73</div></div><div><span>&gt; </span><span>[</span><span>!EXAMPLE</span><span>]</span><span> EXAMPLE</span></div></div><div><div><div>74</div></div><div><span>&gt; 展示一个例子。</span></div></div><div><div><div>75</div></div><div>
</div></div><div><div><div>76</div></div><div><span>&gt; </span><span>[</span><span>!QUOTE</span><span>]</span><span> QUOTE</span></div></div><div><div><div>77</div></div><div><span>&gt; 引用一段话。</span></div></div><div><div><div>78</div></div><div>
</div></div><div><div><div>79</div></div><div><span>&gt; </span><span>[</span><span>!CITE</span><span>]</span><span> CITE</span></div></div><div><div><div>80</div></div><div><span>&gt; 引证（同 Quote）。</span></div></div><div><div><div>81</div></div><div>
</div></div><div><div><div>82</div></div><div><span>&gt; </span><span>[</span><span>!NOTE</span><span>]</span><span> 自定义标题</span></div></div><div><div><div>83</div></div><div><span>&gt; 这是一个带有自定义标题的示例。</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p></p><figure><img alt="Obsidian" loading="lazy" width="2144" height="1320" src="/_astro/obsidian.Cwb2iYzd_1I7Wom.webp" /><figcaption>Obsidian</figcaption></figure><p></p><hr /></section><section><h3>3. VitePress 主题风格<a href="#3-vitepress-主题风格"><span>#</span></a></h3><p><a href="https://vitepress.dev/" target="_blank">VitePress</a> 风格提供了一套现代化的、扁平的默认样式。目前仅包含与 GitHub 一致的 <strong>5 种</strong> 基础类型。</p>
点击展开 VitePress 语法列表<div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; </span><span>[</span><span>!NOTE</span><span>]</span><span> NOTE</span></div></div><div><div><div>2</div></div><div><span>&gt; 对应 GitHub 的 Note。</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>&gt; </span><span>[</span><span>!TIP</span><span>]</span><span> TIP</span></div></div><div><div><div>5</div></div><div><span>&gt; 对应 GitHub 的 Tip。</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>&gt; </span><span>[</span><span>!IMPORTANT</span><span>]</span><span> IMPORTANT</span></div></div><div><div><div>8</div></div><div><span>&gt; 对应 GitHub 的 Important。</span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div><span>&gt; </span><span>[</span><span>!WARNING</span><span>]</span><span> WARNING</span></div></div><div><div><div>11</div></div><div><span>&gt; 对应 GitHub 的 Warning。</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>&gt; </span><span>[</span><span>!CAUTION</span><span>]</span><span> CAUTION</span></div></div><div><div><div>14</div></div><div><span>&gt; 对应 GitHub 的 Caution。</span></div></div><div><div><div>15</div></div><div>
</div></div><div><div><div>16</div></div><div><span>&gt; </span><span>[</span><span>!TIP</span><span>]</span><span> 自定义标题</span></div></div><div><div><div>17</div></div><div><span>&gt; VitePress 风格同样支持自定义标题。</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p></p><figure><img alt="VitePress" loading="lazy" width="2144" height="1318" src="/_astro/vitepress.D2YnjBWE_Z1rUl1H.webp" /><figcaption>VitePress</figcaption></figure><p></p><hr /></section><section><h3>4. Docusaurus 主题风格<a href="#4-docusaurus-主题风格"><span>#</span></a></h3><p><a href="https://docusaurus.io/docs/markdown-features/admonitions" target="_blank">Docusaurus</a> 风格提供了一套现代化的提醒框样式，支持 5 种类型。</p>
点击展开 Docusaurus 语法列表 <p>支持以下类型的提醒框：<code>note</code> <code>tip</code> <code>info</code> <code>warning</code> <code>danger</code></p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>:::note</span></div></div><div><div><div>2</div></div><div><span>突出显示用户应该考虑的信息，即使在快速浏览时也是如此。</span></div></div><div><div><div>3</div></div><div><span>:::</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>:::tip</span></div></div><div><div><div>6</div></div><div><span>可选信息，帮助用户更成功。</span></div></div><div><div><div>7</div></div><div><span>:::</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span>:::info</span></div></div><div><div><div>10</div></div><div><span>一般信息。</span></div></div><div><div><div>11</div></div><div><span>:::</span></div></div><div><div><div>12</div></div><div>
</div></div><div><div><div>13</div></div><div><span>:::warning</span></div></div><div><div><div>14</div></div><div><span>由于潜在风险需要用户立即注意的关键内容。</span></div></div><div><div><div>15</div></div><div><span>:::</span></div></div><div><div><div>16</div></div><div>
</div></div><div><div><div>17</div></div><div><span>:::danger</span></div></div><div><div><div>18</div></div><div><span>行动的负面潜在后果。</span></div></div><div><div><div>19</div></div><div><span>:::</span></div></div><div><div><div>20</div></div><div>
</div></div><div><div><div>21</div></div><div><span>:::tip</span><span>[</span><span>自定义标题</span><span>]</span></div></div><div><div><div>22</div></div><div><span>可选信息，帮助用户更成功。</span></div></div><div><div><div>23</div></div><div><span>:::</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div><p></p><figure><img alt="Docusaurus" loading="lazy" width="2158" height="1394" src="/_astro/docusaurus.Cu-On_k2_Zy4rHX.webp" /><figcaption>Docusaurus</figcaption></figure><p></p><hr /></section></section>
<section><h2>剧透<a href="#剧透"><span>#</span></a></h2><p>您可以为文本添加剧透。文本也支持 <strong>Markdown</strong> 语法。</p><p>内容 被隐藏了 <strong>哈哈</strong>！</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>内容 :spoiler[被隐藏了 </span><span>**哈哈**</span><span>]！</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section>
<section><h2>图片画廊网格 (Image Grid)<a href="#图片画廊网格-image-grid"><span>#</span></a></h2><p>您可以使用 <code>[grid]</code> 和 <code>[/grid]</code> 标签将多张图片纵向并排展示。这对于展示照片画廊或对比图非常有用。系统会自动根据包裹在其中的图片数量（最多支持并排展示4张）以响应式网格进行布局。</p><p><strong>自动补齐图片高度：</strong> 同一排中如果有高度、大小或者比例不一的图片，会像「九宫格画廊相册」一样自动撑满。较短或不协调的图片会自动使用 object-cover 进行完美中心裁剪补充视野。图片边框水平彻底对齐无缝隙，但被裁剪后，只有点击图片通过灯箱才能查看完整图片，所以建议尽量避免使用长宽比例不一致的图片在同一排中。</p><p><strong>图注恒定底端对齐：</strong> 不论上面的图片长宽如何变化，在同一行的所有图像解释文字（图注）都会对标到一条完美的水平基线上了。</p><div><figure><img alt="示例图片一" loading="lazy" width="2400" height="1452" src="/_astro/firefly1.CxwocGDT_Z1QhnNg.webp" /><figcaption>示例图片一</figcaption></figure><figure><img alt="示例图片二" loading="lazy" width="2400" height="1452" src="/_astro/firefly2.SKSJeX39_2eCg99.webp" /><figcaption>示例图片二</figcaption></figure><figure><img alt="示例图片二" loading="lazy" width="2400" height="1452" src="/_astro/firefly3.CSmWPS4E_1fc5Jr.webp" /><figcaption>示例图片二</figcaption></figure></div><p><strong>基本语法</strong></p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[</span><span>grid</span><span>]</span></div></div><div><div><div>2</div></div><div><span>![</span><span>示例图片一</span><span>]</span><span><span>(</span><span>./images/firefly1.avif</span><span>)</span></span></div></div><div><div><div>3</div></div><div><span>![</span><span>示例图片二</span><span>]</span><span><span>(</span><span>./images/firefly2.avif</span><span>)</span></span></div></div><div><div><div>4</div></div><div><span>![</span><span>示例图片二</span><span>]</span><span><span>(</span><span>./images/firefly3.avif</span><span>)</span></span></div></div><div><div><div>5</div></div><div><span>[</span><span>/grid</span><span>]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/markdown-mermaid/</id>
      <title type="text">Markdown Mermaid 图表</title>
      <published>1970-01-01T00:00:00.000Z</published>
      <updated>1970-01-01T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/markdown-mermaid/"/>
      <summary type="text">一个包含 Mermaid 的 Markdown 博客文章简单示例。</summary>
      <content type="html"><![CDATA[<section><h2>Markdown 中 Mermaid 图表完整指南<a href="#markdown-中-mermaid-图表完整指南"><span>#</span></a></h2><p>本文演示如何在 Markdown 文档中使用 Mermaid 创建各种复杂图表，包括流程图、时序图、ER 图、类图、状态图、XY 图、甘特图、思维导图等。</p><blockquote><p>Mermaid 图表由 <a href="https://github.com/Latias94/merman" target="_blank">Merman</a> 实现。Firefly 在 Astro 构建阶段生成亮色和深色两套静态 SVG，无需在浏览器中加载 Mermaid 渲染运行时。可以前往 <a href="http://frankorz.com/merman/" target="_blank">Merman Playground</a> 实时编辑语法并预览渲染结果。</p></blockquote></section>
<section><h2>流程图示例<a href="#流程图示例"><span>#</span></a></h2><p>流程图非常适合表示流程或算法步骤。</p><div><div><div><div><span></span></div><div><span><p>是</p></span></div><div><span><p>否</p></span></div><div><span><p>选项 1</p></span></div><div><span><p>选项 2</p></span></div><div><span><p>选项 3</p></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span><p>子过程详情</p></span></div><div><span></span></div><div><span></span></div><div><span><p>子步骤 1</p></span></div><div><span><p>子步骤 2</p></span></div><div><span><p>子步骤 3</p></span></div><div><span><p>开始</p></span></div><div><span><p>条件检查</p></span></div><div><span><p>处理步骤 1</p></span></div><div><span><p>处理步骤 2</p></span></div><div><span><p>另一个决策</p></span></div><div><span><p>结果 1</p></span></div><div><span><p>结果 2</p></span></div><div><span><p>结果 3</p></span></div><div><span><p>结束</p></span></div>
</div><div><div><span></span></div><div><span><p>是</p></span></div><div><span><p>否</p></span></div><div><span><p>选项 1</p></span></div><div><span><p>选项 2</p></span></div><div><span><p>选项 3</p></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span><p>子过程详情</p></span></div><div><span></span></div><div><span></span></div><div><span><p>子步骤 1</p></span></div><div><span><p>子步骤 2</p></span></div><div><span><p>子步骤 3</p></span></div><div><span><p>开始</p></span></div><div><span><p>条件检查</p></span></div><div><span><p>处理步骤 1</p></span></div><div><span><p>处理步骤 2</p></span></div><div><span><p>另一个决策</p></span></div><div><span><p>结果 1</p></span></div><div><span><p>结果 2</p></span></div><div><span><p>结果 3</p></span></div><div><span><p>结束</p></span></div>
</div></div></div></section>
<section><h2>时序图示例<a href="#时序图示例"><span>#</span></a></h2><p>时序图显示对象之间随时间的交互。</p><div><div><div>数据库服务器网页应用用户数据库服务器网页应用用户alt[认证成功][认证失败]提交登录请求发送认证请求查询用户凭据返回用户数据返回认证结果显示欢迎页面请求用户数据获取用户偏好返回偏好设置返回用户数据加载个性化界面显示错误消息提示重新输入
</div><div>数据库服务器网页应用用户数据库服务器网页应用用户alt[认证成功][认证失败]提交登录请求发送认证请求查询用户凭据返回用户数据返回认证结果显示欢迎页面请求用户数据获取用户偏好返回偏好设置返回用户数据加载个性化界面显示错误消息提示重新输入
</div></div></div></section>
<section><h2>ER 图示例<a href="#er-图示例"><span>#</span></a></h2><p>ER 图（实体关系图）非常适合表示数据库结构。</p><div><div><div>

<div><span><p>writes</p></span></div><div><span><p>posts</p></span></div><div><span><p>has</p></span></div><div><span><p>belongs to</p></span></div>
<div><span><p>USER</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>username</p></span></div><div><span></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>email</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>created_at</p></span></div><div><span></span></div><div><span></span></div><div><span><p>ARTICLE</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>title</p></span></div><div><span></span></div><div><span></span></div><div><span><p>text</p></span></div><div><span><p>content</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>published</p></span></div><div><span></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>author_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>COMMENT</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>text</p></span></div><div><span><p>content</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>created_at</p></span></div><div><span></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>user_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>article_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>CATEGORY</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>name</p></span></div><div><span></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>description</p></span></div><div><span></span></div><div><span></span></div>

</div><div>

<div><span><p>writes</p></span></div><div><span><p>posts</p></span></div><div><span><p>has</p></span></div><div><span><p>belongs to</p></span></div>
<div><span><p>USER</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>username</p></span></div><div><span></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>email</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>created_at</p></span></div><div><span></span></div><div><span></span></div><div><span><p>ARTICLE</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>title</p></span></div><div><span></span></div><div><span></span></div><div><span><p>text</p></span></div><div><span><p>content</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>published</p></span></div><div><span></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>author_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>COMMENT</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>text</p></span></div><div><span><p>content</p></span></div><div><span></span></div><div><span></span></div><div><span><p>datetime</p></span></div><div><span><p>created_at</p></span></div><div><span></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>user_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>int</p></span></div><div><span><p>article_id</p></span></div><div><span><p>FK</p></span></div><div><span></span></div><div><span><p>CATEGORY</p></span></div><div><span><p>int</p></span></div><div><span><p>id</p></span></div><div><span><p>PK</p></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>name</p></span></div><div><span></span></div><div><span></span></div><div><span><p>string</p></span></div><div><span><p>description</p></span></div><div><span></span></div><div><span></span></div>

</div></div></div></section>
<section><h2>类图示例<a href="#类图示例"><span>#</span></a></h2><p>类图显示系统的静态结构，包括类、属性、方法及其关系。</p><div><div><div><div><span><p>写作</p></span></div><div><span><p>发表</p></span></div><div><span><p>拥有</p></span></div><div><span><p>属于</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>User</p></span></div><div><span><p>+String username</p></span></div><div><span><p>+String password</p></span></div><div><span><p>+String email</p></span></div><div><span><p>+Boolean active</p></span></div><div><span><p>+login()</p></span></div><div><span><p>+logout()</p></span></div><div><span><p>+updateProfile()</p></span></div><div><span><p>Article</p></span></div><div><span><p>+String title</p></span></div><div><span><p>+String content</p></span></div><div><span><p>+Date publishDate</p></span></div><div><span><p>+Boolean published</p></span></div><div><span><p>+publish()</p></span></div><div><span><p>+edit()</p></span></div><div><span><p>+delete()</p></span></div><div><span><p>Comment</p></span></div><div><span><p>+String content</p></span></div><div><span><p>+Date commentDate</p></span></div><div><span><p>+addComment()</p></span></div><div><span><p>+deleteComment()</p></span></div><div><span><p>Category</p></span></div><div><span><p>+String name</p></span></div><div><span><p>+String description</p></span></div><div><span><p>+addArticle()</p></span></div><div><span><p>+removeArticle()</p></span></div></div><div><div><span><p>写作</p></span></div><div><span><p>发表</p></span></div><div><span><p>拥有</p></span></div><div><span><p>属于</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>1</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>*</p></span></div><div><span><p>User</p></span></div><div><span><p>+String username</p></span></div><div><span><p>+String password</p></span></div><div><span><p>+String email</p></span></div><div><span><p>+Boolean active</p></span></div><div><span><p>+login()</p></span></div><div><span><p>+logout()</p></span></div><div><span><p>+updateProfile()</p></span></div><div><span><p>Article</p></span></div><div><span><p>+String title</p></span></div><div><span><p>+String content</p></span></div><div><span><p>+Date publishDate</p></span></div><div><span><p>+Boolean published</p></span></div><div><span><p>+publish()</p></span></div><div><span><p>+edit()</p></span></div><div><span><p>+delete()</p></span></div><div><span><p>Comment</p></span></div><div><span><p>+String content</p></span></div><div><span><p>+Date commentDate</p></span></div><div><span><p>+addComment()</p></span></div><div><span><p>+deleteComment()</p></span></div><div><span><p>Category</p></span></div><div><span><p>+String name</p></span></div><div><span><p>+String description</p></span></div><div><span><p>+addArticle()</p></span></div><div><span><p>+removeArticle()</p></span></div></div></div></div></section>
<section><h2>状态图示例<a href="#状态图示例"><span>#</span></a></h2><p>状态图显示对象在其生命周期中经历的状态序列。</p><div><div><div><div><span></span></div><div><span><p>提交</p></span></div><div><span><p>拒绝</p></span></div><div><span><p>批准</p></span></div><div><span><p>发布</p></span></div><div><span><p>归档</p></span></div><div><span><p>撤回</p></span></div><div><span></span></div><div><span><p>草稿</p></span></div><div><span><p>审核中</p></span></div><div><span><p>已批准</p></span></div><div><span><p>已归档</p></span></div><div><span>已发布</span></div><div><span></span></div><div><span><p>临时隐藏</p></span></div><div><span><p>恢复</p></span></div><div><span></span></div><div><span></span></div><div><span><p>活跃</p></span></div><div><span><p>隐藏</p></span></div>
</div><div><div><span></span></div><div><span><p>提交</p></span></div><div><span><p>拒绝</p></span></div><div><span><p>批准</p></span></div><div><span><p>发布</p></span></div><div><span><p>归档</p></span></div><div><span><p>撤回</p></span></div><div><span></span></div><div><span><p>草稿</p></span></div><div><span><p>审核中</p></span></div><div><span><p>已批准</p></span></div><div><span><p>已归档</p></span></div><div><span>已发布</span></div><div><span></span></div><div><span><p>临时隐藏</p></span></div><div><span><p>恢复</p></span></div><div><span></span></div><div><span></span></div><div><span><p>活跃</p></span></div><div><span><p>隐藏</p></span></div>
</div></div></div></section>
<section><h2>XY 图示例<a href="#xy-图示例"><span>#</span></a></h2><p>XY 图表非常适合展示趋势和对比数据。</p><div><div><div>月度访问量趋势1月2月3月4月5月6月5000450040003500300025002000150010005000访问量
</div><div>月度访问量趋势1月2月3月4月5月6月5000450040003500300025002000150010005000访问量
</div></div></div></section>
<section><h2>饼图示例<a href="#饼图示例"><span>#</span></a></h2><p>饼图适合直观展示各部分在整体中的占比。</p><div><div><div>45%30%15%10%内容类型占比技术文章 [45]项目记录 [30]生活随笔 [15]其他 [10]
</div><div>45%30%15%10%内容类型占比技术文章 [45]项目记录 [30]生活随笔 [15]其他 [10]
</div></div></div></section>
<section><h2>甘特图示例<a href="#甘特图示例"><span>#</span></a></h2><p>甘特图可以按时间轴展示项目阶段、任务依赖和当前进度。</p><div><div><div>07/0107/0307/0507/0707/0907/1107/1307/1507/17需求整理 视觉设计 功能实现 内容迁移 构建检查 正式上线 准备开发发布博客版本发布计划
</div><div>07/0107/0307/0507/0707/0907/1107/1307/1507/17需求整理 视觉设计 功能实现 内容迁移 构建检查 正式上线 准备开发发布博客版本发布计划
</div></div></div></section>
<section><h2>思维导图示例<a href="#思维导图示例"><span>#</span></a></h2><p>思维导图适合梳理主题层级和知识结构。</p><div><div><div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span><p>Firefly</p></span></div><div><span><p>内容</p></span></div><div><span><p>技术文章</p></span></div><div><span><p>生活记录</p></span></div><div><span><p>体验</p></span></div><div><span><p>搜索</p></span></div><div><span><p>深色模式</p></span></div><div><span><p>图表</p></span></div><div><span><p>工程</p></span></div><div><span><p>Astro</p></span></div><div><span><p>Svelte</p></span></div><div><span><p>Merman</p></span></div>
</div><div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span></span></div><div><span><p>Firefly</p></span></div><div><span><p>内容</p></span></div><div><span><p>技术文章</p></span></div><div><span><p>生活记录</p></span></div><div><span><p>体验</p></span></div><div><span><p>搜索</p></span></div><div><span><p>深色模式</p></span></div><div><span><p>图表</p></span></div><div><span><p>工程</p></span></div><div><span><p>Astro</p></span></div><div><span><p>Svelte</p></span></div><div><span><p>Merman</p></span></div>
</div></div></div></section>
<section><h2>时间线示例<a href="#时间线示例"><span>#</span></a></h2><p>时间线用于按年份或阶段呈现项目的重要事件。</p><div><div><div>2024建立博客完成基础主题2025加入搜索与图库完善内容系统2026升级   Astro   7使用   Merman   渲染图表Firefly 演进时间线
</div><div>2024建立博客完成基础主题2025加入搜索与图库完善内容系统2026升级   Astro   7使用   Merman   渲染图表Firefly 演进时间线
</div></div></div></section>
<section><h2>用户旅程图示例<a href="#用户旅程图示例"><span>#</span></a></h2><p>用户旅程图能够描述用户在不同阶段的行为和体验评分。</p><div><div><div>读者<div><div>发现内容</div></div>发现内容读者<div><div>      打开首页</div></div>      打开首页读者<div><div>      搜索主题</div></div>      搜索主题<div><div>阅读文章</div></div>阅读文章读者<div><div>      浏览正文</div></div>      浏览正文读者<div><div>      查看图表</div></div>      查看图表<div><div>继续探索</div></div>继续探索读者<div><div>      查看相关文章</div></div>      查看相关文章读者<div><div>      分享文章</div></div>      分享文章读者浏览文章的旅程
</div><div>读者<div><div>发现内容</div></div>发现内容读者<div><div>      打开首页</div></div>      打开首页读者<div><div>      搜索主题</div></div>      搜索主题<div><div>阅读文章</div></div>阅读文章读者<div><div>      浏览正文</div></div>      浏览正文读者<div><div>      查看图表</div></div>      查看图表<div><div>继续探索</div></div>继续探索读者<div><div>      查看相关文章</div></div>      查看相关文章读者<div><div>      分享文章</div></div>      分享文章读者浏览文章的旅程
</div></div></div></section>
<section><h2>Git 图示例<a href="#git-图示例"><span>#</span></a></h2><p>Git 图可以清晰展示分支、提交和合并历史。</p><div><div><div>mainfeatureinitadd-diagramspolish-themesmerge-featurerelease
</div><div>mainfeatureinitadd-diagramspolish-themesmerge-featurerelease
</div></div></div></section>
<section><h2>看板示例<a href="#看板示例"><span>#</span></a></h2><p>看板适合展示任务在不同工作阶段之间的分布。</p><div><div><div><div><span><p>待办</p></span></div><div><span><p>进行中</p></span></div><div><span><p>已完成</p></span></div><div><span><p>整理需求</p></span></div><div><span></span></div><div><span></span></div><div><span><p>准备示例</p></span></div><div><span></span></div><div><span></span></div><div><span><p>接入 Merman</p></span></div><div><span></span></div><div><span></span></div><div><span><p>服务端渲染</p></span></div><div><span></span></div><div><span></span></div><div><span><p>亮暗主题</p></span></div><div><span></span></div><div><span></span></div>
</div><div><div><span><p>待办</p></span></div><div><span><p>进行中</p></span></div><div><span><p>已完成</p></span></div><div><span><p>整理需求</p></span></div><div><span></span></div><div><span></span></div><div><span><p>准备示例</p></span></div><div><span></span></div><div><span></span></div><div><span><p>接入 Merman</p></span></div><div><span></span></div><div><span></span></div><div><span><p>服务端渲染</p></span></div><div><span></span></div><div><span></span></div><div><span><p>亮暗主题</p></span></div><div><span></span></div><div><span></span></div>
</div></div></div></section>
<section><h2>Sankey 图示例<a href="#sankey-图示例"><span>#</span></a></h2><p>Sankey 图通过连线宽度展示流量在不同节点之间的流向。</p><div><div><div>Home
1650Post list
1200Search
450Post detail
1220Related posts
260External shares
180</div><div>Home
1650Post list
1200Search
450Post detail
1220Related posts
260External shares
180</div></div></div></section>
<section><h2>总结<a href="#总结"><span>#</span></a></h2><p>Mermaid 是在 Markdown 文档中创建各种类型图表的强大工具。本文演示了流程图、时序图、ER 图、类图、状态图、XY 图、饼图、甘特图、思维导图、时间线、用户旅程图、Git 图、看板和 Sankey 图。这些图表可以帮助您更清晰地表达复杂的概念、流程和数据结构。</p><p>要使用 Mermaid，只需在代码块中指定 mermaid 语言，并使用简洁的文本语法描述图表。图表会在构建时自动渲染为 SVG，无需客户端 JavaScript 加载。</p><p>可以前往 <a href="http://frankorz.com/merman/" target="_blank">Merman Playground</a> 尝试更多语法，再将图表代码粘贴到文章中。</p></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/markdown-plantuml/</id>
      <title type="text">Markdown PlantUML 图表</title>
      <published>1970-01-01T00:00:00.000Z</published>
      <updated>1970-01-01T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/markdown-plantuml/"/>
      <summary type="text">用于验证 Firefly 中 PlantUML 插件渲染、主题切换与交互能力的示例文章。</summary>
      <content type="html"><![CDATA[<section><h2>Markdown 中 PlantUML 图表指南<a href="#markdown-中-plantuml-图表指南"><span>#</span></a></h2><p>PlantUML 是一种使用纯文本描述图表的工具。你只需要写一段结构化语法，就可以生成时序图、类图、用例图、活动图等常见工程图。</p><p>它特别适合写在技术博客和项目文档里：</p><ul>
<li>图表和正文一起版本管理，便于协作与审阅</li>
<li>修改图只需要改文本，适合频繁迭代</li>
<li>能和 Markdown 无缝结合，保持文档统一</li>
</ul><p>在 Firefly 中，<code>plantuml</code> 代码块会在构建阶段编码并生成服务器 SVG 地址，页面端再根据亮暗主题自动切换图源，并支持缩放、拖拽和全屏交互。</p><p>如果你想快速上手，可以记住这个最小模板：</p><div><div><img alt="@startuml
Alice -&gt; Bob: Hello
Bob --&gt; Alice: Hi
@enduml" src="https://www.plantuml.com/plantuml/svg/SoWkIImgAStDuNBCoKnELT2rKt3AJx9Iy4ZDoSddSifFKj3LjLC0orafU6HoEQJcfPJcvW00" loading="lazy" /></div></div></section>
<section><h2>活动图示例<a href="#活动图示例"><span>#</span></a></h2><div><div><img alt="@startuml
start
:用户提交订单;
if (库存充足?) then (是)
	:冻结库存;
	:创建支付单;
	if (支付成功?) then (是)
		:生成发货单;
		:通知仓库拣货;
	else (否)
		:取消订单;
		:释放库存;
	endif
else (否)
	:提示缺货;
endif
stop
@enduml" src="https://www.plantuml.com/plantuml/svg/NOuz2i9048NhtLEaZ5VO57eLmHM56CN4taODYYHYbA15mFz6BHI5ZNYQp6oyXMI38dRpcFTzl9BjbDjEfs5ITL0cWmEwT_JyH6pIqmh6CuFMgveEOWh747gzz7Of5ZIdnYrDn_1Se8H1FvRnD6yOMNQN40iCpaaSAW7937b6ruTXz6SWJ0PHzl4cwNMV8uIzkWiPRHDbnj4wlUuDIhXfSqq7VwSmyEPuSpyxCsOmnE3vdSAjIhrAVnc6dYytGZw4ykK5sscsQ8bRbKx3V0C0" loading="lazy" /></div></div></section>
<section><h2>状态图示例<a href="#状态图示例"><span>#</span></a></h2><div><div><img alt="@startuml
[*] --&gt; 草稿

草稿 --&gt; 待审核 : 提交
待审核 --&gt; 草稿 : 驳回
待审核 --&gt; 已发布 : 审核通过
已发布 --&gt; 已归档 : 到期归档
已发布 --&gt; 草稿 : 撤回修改

state 已发布 {
	[*] --&gt; 可见
	可见 --&gt; 隐藏 : 手动隐藏
	隐藏 --&gt; 可见 : 恢复展示
}

已归档 --&gt; [*]
@enduml" src="https://www.plantuml.com/plantuml/svg/SoWkIImgAStDuOhMYbNGrRLJUD7R-Np5VYuk20qMUhglzUcwXSyMx52mKdZMF-79hYLS22647WKhXPShDp-TFGzDzkdsJK_x9pxTqQnWfG0HVjamwyN-TYw414pPtadF5Yu6AUlOy6pEV0WNJHdShcUJbZoTFU_9_dNFfkpauYekIIn9HRAgceiJvgEd_UjVB6_aueJGOA6NioQycDuFCgIp-sdN2WYNYnCgZD04Kj6uwEcItgSRfpvViekhbeiBuKoGicYjM2w7rBoKqjmS0000" loading="lazy" /></div></div></section>
<section><h2>用例图示例<a href="#用例图示例"><span>#</span></a></h2><div><div><img alt="@startuml
left to right direction
actor 游客
actor 用户
actor 管理员

rectangle 博客系统 {
	usecase &quot;浏览文章&quot; as UC1
	usecase &quot;搜索内容&quot; as UC2
	usecase &quot;发表评论&quot; as UC3
	usecase &quot;点赞收藏&quot; as UC4
	usecase &quot;审核评论&quot; as UC5
	usec" src="https://www.plantuml.com/plantuml/svg/PP3BJi9058RNdASuOSz2Raj3uZFm09CoOfFI9krqPTm88XjJI8WQGv1s8ud9i02qoFFCvJ6CCf8EBh_pvJyvvsz5Z8GixddWqKk6BC3GxLunxBWXTPWR-40S5eGeyrpmp82QBkNeymzugiP3CNa6-8aGl-jH50ylWcTglLVxLxo6KXnHXqGKotARwBUHVBnNxuioaWZR5sT5FPwfJIQ6TuBlZAuMj4WcEbtgrK3pBwDh1QrkTtexbzCF_PGONI-cUIeNkPLksCj5thTEQy8DmE5rh5JEVu-ri0g7BexMmXDRix4En-hCfF5lqeGMzJjnp_i6" loading="lazy" /></div></div></section>
<section><h2>组件图示例<a href="#组件图示例"><span>#</span></a></h2><div><div><img alt="@startuml
package &quot;Firefly Site&quot; {
	[Astro App] as App
	[Markdown Parser] as Parser
	[PlantUML Encoder] as Encoder
	[Theme Switcher] as Theme
	[Search Indexer] as Search
}

cloud &quot;PlantUML Server&quot; as " src="https://www.plantuml.com/plantuml/svg/JL51QiCm43nxNp7u7dht8IIK5WeD15oVJ0-oj8sDPKcLvAIbzEz5YX9wqZ2pxCoiTY4A7zT5anDo5YT6_Jnv_j3VQAV8DNwewlSXUekzS-yG8RrKzGVXPsKl1aVX0_kiN25L_L4B4xl3AvwCjAge1LFLlusyCDhB5ELOn4nHrRSil1pnOXH_5UbAqI-Hr7PLgE_RM_PdzdMsxaY9A0OH6FMZDP5DH1kjvomNXcZl73QRROcA1Yu1BAKD5JwDbBnem1d19TzrqHYqbNEWsq3Urw61vy-LGqGud-v6rwuDGcuB9VpyeAVJ616yl4-LsWs6TT8ABdt4b6xmFz2jLZ8I2iw666Z7HgsB_WC0" loading="lazy" /></div></div></section>
<section><h2>部署图示例<a href="#部署图示例"><span>#</span></a></h2><div><div><img alt="@startuml
node &quot;User Device&quot; {
	artifact &quot;Browser&quot;
}

node &quot;CDN / Edge&quot; {
	artifact &quot;Static Assets&quot;
}

node &quot;Cloudflare Worker&quot; {
	artifact &quot;SSR Handler&quot;
}

node &quot;PlantUML Service&quot; {
	artifact &quot;SVG Re" src="https://www.plantuml.com/plantuml/svg/ROz1Jy9044RFxg_uqZlfdOD1WS11r53Hyz2TraAxYpDJE1Z_kqb3J6azxtkpxvkfaLZRr2v4pqXsoe85dwkS4toxEnAh2ieDoQF4Yx8axiTTsVdY6IcMlXoYcP5LEHvKsRGlrB7rHKt2-8XoP1bwsHPh2hw--UQrfc2xpHCobd-wilSLjXmyozNoPBGdPIGl-mFdXioYq2XoGtBqyH8mZy4uMEV-hSHaSZySWYbMopSSDCrLqwefHtYl7rC8VxMiXXELx6uVEtnKq3daSOfgezlzcPYYOCi_uIigXHhekNGp3hvjwby0" loading="lazy" /></div></div></section>
<section><h2>ER 图示例<a href="#er-图示例"><span>#</span></a></h2><div><div><img alt="@startuml
entity User {
	*id : uuid &lt;&lt;PK&gt;&gt;
	--
	username : varchar
	email : varchar
	created_at : datetime
}

entity Post {
	*id : uuid &lt;&lt;PK&gt;&gt;
	--
	author_id : uuid &lt;&lt;FK&gt;&gt;
	title : varchar
	content : " src="https://www.plantuml.com/plantuml/svg/VP2x2W9134NhoLUa5lO71X51iB6niPRiJc07vY6JZ0_KVvTTKHGVRKwIavkvA1MjCG0dzNh2ZN31CvY9TsYnLkzmEbslPZCmJGEc2fT4aT7YdahNKm73aNnuBNI5ITbjIT6Y8sNraU4A3ySwY_vnKDK-b-qhN8vGlOOtSvUJSXeioaS5iwjjyDB_KIzoZCF4R_ikYtvn3y6_bDliJa_zpzpZKo-NfiddUtYBX-ALvOqyRhDuNoGmzdxGdWJcd5oDuGO0" loading="lazy" /></div></div></section>
<section><h2>时序图示例（登录与刷新令牌）<a href="#时序图示例登录与刷新令牌"><span>#</span></a></h2><div><div><img alt="@startuml
autonumber
actor User as 用户
participant Web as 前端页面
participant API as 网关接口
participant Auth as 认证服务
database Redis as 会话缓存

用户 -&gt; 前端页面 : 输入账号密码并提交
前端页面 -&gt; 网关接口 : POST /login
网关接口 -&gt; 认证服务 : " src="https://www.plantuml.com/plantuml/svg/bP3BJi9068NtynJ_thGIbrqqk7GbyHANPYYZ4A4bxVG1M70D5GrAn42u2CPee2HUY0BwCioql8L1t0ma1jVVEJFVVu8MnIQr4t64RMheTY9CJ8GrQfXmQ14Ji0NUrGFF3L4IcpIcnP9Oft14mdF2yextvCvQhxDwM-3RePsVvkIIfP_vUPULxaHkq-WyuFSxlflYDOSLMYY2AGvZYy0UYSIiEPwERtstxetBh7U3qC8395Nu5nJmFyiitVLVxbbfoDoCrqonzpTUkfX-T90GbLH12HG8xUuVm6RSE8tfI42IAiY10hpPcZqMMRR7dJuIcAGAfg00orHPkWicEJ695JscnXdHbpghBbZJY6Kjmh2nL1RbLZVO2WJ0guxOv9hdBbYXWP0io-AJ_bUMrneWop9QRvPVW_M6-VFObO7yIPyxxNyEn2i3uQArHk6LmNJKyV9552Hwn4x4lm40" loading="lazy" /></div></div></section>
<section><h2>C4 风格容器图示例<a href="#c4-风格容器图示例"><span>#</span></a></h2><div><div><img alt="@startuml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml

Person(user, &quot;博客访客&quot;, &quot;阅读文章与搜索内容&quot;)

System_Boundary(system, &quot;Firefly Blog&quot;) {
	Container(we" src="https://www.plantuml.com/plantuml/svg/PL7BJjj055tNNp7robP3l67L5I7b9GKHnQ6egyYE9udBn8x6Oq9KLQeeeLMbGDHIYWfL6fTAIAXs7w2cGOAVoTZENrHZfsaYTZFtddlkkUVCMKJ1nAuYxhvk596jGHiZK26aPZsK9ApKasMTL6pLjY0kcWQ11aaMpQfKGuh1ncOieY5TbTApCrbMMb_DI5N58X1BwTb2sZI8eXiG9sji1PU5s38DWP4b04zR7wdhXEujTHq-0VZXSJFqhlsZLy75vq5lts-V1fSEtMjIzmylSfpSi0Yi5kPDsz0Kt12iw9y0_AAEOGarm3mooxm8dd7tndk5EbGJWD-0AaZLQcn9oYBO10-0l0KHWQpYztxwdNV3xjNmapFexG_wPuF-MrwSOZ7nPYHPbdDW8_gmoJGoRQs450n7HOjLwTbkqDxpJrlqJJUuy6BwqFlj_zYPOdsa2YD76LNy0Z8nSQHgLS6RcbatW0JMrAUm6BUKSjIatuxfpldOgV1gr--tQVEb__wxttAdjLjGmSKAqnuzm8gXmMr6abNAiAGRMkJ1GNjmSqARZDF_yYAuT7YHUpxsV66R2FyIPvEZf84CyLPiHN3OyL-tWVnu2T2Jcx1xpXBBGJJAEeuXT6-77rm6Nyxdip8lHeYeDtOuDWeme-D8xi17oF_UXTurFJYAtPZa75_kTxw6daERluQ7RkYr9Z4JLyMRO_Ni47P19lLaRJrVo2mivWkvbQNbl21oSz3Gx2hw2m00" loading="lazy" /></div></div></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/markdown-tutorial/</id>
      <title type="text">Markdown 教程</title>
      <published>1970-01-01T00:00:00.000Z</published>
      <updated>1970-01-01T00:00:00.000Z</updated>
      <author><name>emn178</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/markdown-tutorial/"/>
      <summary type="text">一个简明的 Markdown 博客示例。</summary>
      <content type="html"><![CDATA[<p>这是一个展示如何编写 Markdown 文件的示例。本文档汇总了核心语法与常见扩展（GFM）。</p>
<ul>
<li><a href="#block-elements">块级元素</a>
<ul>
<li><a href="#paragraphs-and-line-breaks">段落与换行</a></li>
<li><a href="#headers">标题</a></li>
<li><a href="#blockquotes">引用</a></li>
<li><a href="#lists">列表</a></li>
<li><a href="#code-blocks">代码块</a></li>
<li><a href="#horizontal-rules">分割线</a></li>
<li><a href="#table">表格</a></li>
</ul>
</li>
<li><a href="#span-elements">内联元素</a>
<ul>
<li><a href="#links">链接</a></li>
<li><a href="#emphasis">强调</a></li>
<li><a href="#code">行内代码</a></li>
<li><a href="#images">图片</a></li>
<li><a href="#strikethrough">删除线</a></li>
</ul>
</li>
<li><a href="#miscellaneous">杂项</a>
<ul>
<li><a href="#automatic-links">自动链接</a></li>
<li><a href="#backslash-escapes">反斜杠转义</a></li>
</ul>
</li>
<li><a href="#inline-html">内联 HTML</a></li>
</ul>
<p><a></a></p>
<section><h2>块级元素<a href="#块级元素"><span>#</span></a></h2><p><a></a></p><section><h3>段落与换行<a href="#段落与换行"><span>#</span></a></h3><section><h4>段落<a href="#段落"><span>#</span></a></h4><p>HTML 标签：<code>&lt;p&gt;</code></p><p>使用一个或多个空行分隔段落。（仅包含<strong>空格</strong>或<strong>制表符</strong>的行也视为空行。）</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This will be</span></div></div><div><div><div>2</div></div><div><span>inline.</span></div></div><div><div><div>3</div></div><div>
</div></div><div><div><div>4</div></div><div><span>This is second paragraph.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This will be
inline.</p><p>This is second paragraph.</p><hr /></section><section><h4>换行<a href="#换行"><span>#</span></a></h4><p>HTML 标签：<code>&lt;br /&gt;</code></p><p>在行末添加<strong>两个或更多空格</strong>来产生换行。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This will be not</span></div></div><div><div><div>2</div></div><div><span>inline.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This will be not<br />
inline.</p><hr /><p><a></a></p></section></section><section><h3>标题<a href="#标题"><span>#</span></a></h3><p>Markdown 支持两种标题样式：Setext 与 atx。</p><section><h4>Setext<a href="#setext"><span>#</span></a></h4><p>HTML 标签：<code>&lt;h1&gt;</code>，<code>&lt;h2&gt;</code></p><p>使用<strong>等号 (=)</strong> 表示 <code>&lt;h1&gt;</code>、使用<strong>短横线 (-)</strong> 表示 <code>&lt;h2&gt;</code>，数量不限，作为“下划线”。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This is an H1</span></div></div><div><div><div>2</div></div><div><span>=============</span></div></div><div><div><div>3</div></div><div><span>This is an H2</span></div></div><div><div><div>4</div></div><div><span>-------------</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /></section></section></section>
<section><h1>This is an H1<a href="#this-is-an-h1"><span>#</span></a></h1><section><h2>This is an H2<a href="#this-is-an-h2"><span>#</span></a></h2><hr /><section><h4>atx<a href="#atx"><span>#</span></a></h4><p>HTML 标签：<code>&lt;h1&gt;</code>，<code>&lt;h2&gt;</code>，<code>&lt;h3&gt;</code>，<code>&lt;h4&gt;</code>，<code>&lt;h5&gt;</code>，<code>&lt;h6&gt;</code></p><p>在行首使用 1-6 个<strong>井号 (#)</strong>，对应 <code>&lt;h1&gt;</code> 至 <code>&lt;h6&gt;</code>。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># This is an H1</span></div></div><div><div><div>2</div></div><div><span>## This is an H2</span></div></div><div><div><div>3</div></div><div><span>###### This is an H6</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /></section></section></section>
<section><h1>This is an H1<a href="#this-is-an-h1-1"><span>#</span></a></h1><section><h2>This is an H2<a href="#this-is-an-h2-1"><span>#</span></a></h2><section><h6>This is an H6<a href="#this-is-an-h6"><span>#</span></a></h6><hr /><p>可选：你可以在行尾“闭合” atx 标题。末尾的井号数量<strong>不必与</strong>开头一致。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># This is an H1 #</span></div></div><div><div><div>2</div></div><div><span>## This is an H2 ##</span></div></div><div><div><div>3</div></div><div><span>### This is an H3 ######</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /></section></section></section>
<section><h1>This is an H1<a href="#this-is-an-h1-2"><span>#</span></a></h1><section><h2>This is an H2<a href="#this-is-an-h2-2"><span>#</span></a></h2><section><h3>This is an H3<a href="#this-is-an-h3"><span>#</span></a></h3><hr /><p><a></a></p></section><section><h3>引用<a href="#引用"><span>#</span></a></h3><p>HTML 标签：<code>&lt;blockquote&gt;</code></p><p>Markdown 使用邮件风格的 <strong>&gt;</strong> 作为引用符号。若手动换行并在每行前加 &gt;，显示效果最佳。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,</span></div></div><div><div><div>2</div></div><div><span>&gt; consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.</span></div></div><div><div><div>3</div></div><div><span>&gt; Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</span></div></div><div><div><div>4</div></div><div><span>&gt;</span></div></div><div><div><div>5</div></div><div><span>&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse</span></div></div><div><div><div>6</div></div><div><span>&gt; id sem consectetuer libero luctus adipiscing.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><blockquote><p>This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</p><p>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.</p></blockquote><hr /><p>Markdown 允许“偷懒”：在一个硬换行段落中，只在第一行前加 &gt; 即可。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,</span></div></div><div><div><div>2</div></div><div><span>consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.</span></div></div><div><div><div>3</div></div><div><span>Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>&gt; Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse</span></div></div><div><div><div>6</div></div><div><span>id sem consectetuer libero luctus adipiscing.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><blockquote><p>This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</p></blockquote><blockquote><p>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.</p></blockquote><hr /><p>引用可以嵌套（引用中的引用），通过增加 &gt; 层级实现。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; This is the first level of quoting.</span></div></div><div><div><div>2</div></div><div><span>&gt;</span></div></div><div><div><div>3</div></div><div><span>&gt; &gt; This is nested blockquote.</span></div></div><div><div><div>4</div></div><div><span>&gt;</span></div></div><div><div><div>5</div></div><div><span>&gt; Back to the first level.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><blockquote><p>This is the first level of quoting.</p><blockquote><p>This is nested blockquote.</p></blockquote><p>Back to the first level.</p></blockquote><hr /><p>引用内可包含其他 Markdown 元素，包括标题、列表与代码块。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&gt; ## This is a header.</span></div></div><div><div><div>2</div></div><div><span>&gt;</span></div></div><div><div><div>3</div></div><div><span>&gt; 1.   This is the first list item.</span></div></div><div><div><div>4</div></div><div><span>&gt; 2.   This is the second list item.</span></div></div><div><div><div>5</div></div><div><span>&gt;</span></div></div><div><div><div>6</div></div><div><span>&gt; Here's some example code:</span></div></div><div><div><div>7</div></div><div><span>&gt;</span></div></div><div><div><div>8</div></div><div><span>&gt;     return shell_exec("echo $input | $markdown_script");</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><blockquote><h2>This is a header.<a href="#this-is-a-header"><span>#</span></a></h2><ol>
<li>This is the first list item.</li>
<li>This is the second list item.</li>
</ol><p>Here’s some example code:</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>return shell_exec("echo $input | $markdown_script");</span></div></div></code></pre><div><div></div><div></div></div></figure></div></blockquote><hr /><p><a></a></p></section><section><h3>列表<a href="#列表"><span>#</span></a></h3><p>Markdown 支持有序（数字）与无序（圆点）列表。</p><section><h4>无序列表<a href="#无序列表"><span>#</span></a></h4><p>HTML 标签：<code>&lt;ul&gt;</code></p><p>无序列表可使用 <strong>星号 (*)</strong>、<strong>加号 (+)</strong> 或 <strong>短横线 (-)</strong>。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>*   Red</span></div></div><div><div><div>2</div></div><div><span>*   Green</span></div></div><div><div><div>3</div></div><div><span>*   Blue</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ul>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
</ul><hr /><p>等价于：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>+   Red</span></div></div><div><div><div>2</div></div><div><span>+   Green</span></div></div><div><div><div>3</div></div><div><span>+   Blue</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>或者：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>-   Red</span></div></div><div><div><div>2</div></div><div><span>-   Green</span></div></div><div><div><div>3</div></div><div><span>-   Blue</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h4>有序列表<a href="#有序列表"><span>#</span></a></h4><p>HTML 标签：<code>&lt;ol&gt;</code></p><p>有序列表使用数字加英文句点：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>1.  Bird</span></div></div><div><div><div>2</div></div><div><span>2.  McHale</span></div></div><div><div><div>3</div></div><div><span>3.  Parish</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ol>
<li>Bird</li>
<li>McHale</li>
<li>Parish</li>
</ol><hr /><p>注意：像下面这样可能会“意外触发”有序列表：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>1986. What a great season.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ol>
<li>What a great season.</li>
</ol><hr /><p>你可以用<strong>反斜杠转义 (\)</strong> 句点：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>1986\. What a great season.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>1986. What a great season.</p><hr /></section><section><h4>列表中的缩进内容<a href="#列表中的缩进内容"><span>#</span></a></h4><section><h5>列表项里的引用<a href="#列表项里的引用"><span>#</span></a></h5><p>在列表项内放置引用，需要将 &gt; 符号整体缩进：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>*   A list item with a blockquote:</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>&gt; This is a blockquote</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>&gt; inside a list item.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ul>
<li>
<p>A list item with a blockquote:</p>
<blockquote><p>This is a blockquote
inside a list item.</p></blockquote>
</li>
</ul><hr /></section><section><h5>列表项里的代码块<a href="#列表项里的代码块"><span>#</span></a></h5><p>在列表项内放置代码块，需要缩进两层——<strong>8 个空格</strong>或<strong>两个 Tab</strong>：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>*   A list item with a code block:</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span><span>        </span></span><span>&lt;code goes here&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ul>
<li>
<p>A list item with a code block:</p>
<div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;code goes here&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div>
</li>
</ul><hr /></section><section><h5>嵌套列表<a href="#嵌套列表"><span>#</span></a></h5><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>* A</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>* A1</span></div></div><div><div><div>3</div></div><div><span><span>  </span></span><span>* A2</span></div></div><div><div><div>4</div></div><div><span>* B</span></div></div><div><div><div>5</div></div><div><span>* C</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><ul>
<li>A
<ul>
<li>A1</li>
<li>A2</li>
</ul>
</li>
<li>B</li>
<li>C</li>
</ul><hr /><p><a></a></p></section></section></section><section><h3>代码块<a href="#代码块"><span>#</span></a></h3><p>HTML 标签：<code>&lt;pre&gt;</code></p><p>将代码块中的每行缩进至少<strong>4 个空格</strong>或<strong>1 个制表符</strong>。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This is a normal paragraph:</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>This is a code block.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This is a normal paragraph:</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This is a code block.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><p>代码块会一直持续，直到遇到未缩进的行（或文末）。</p><p>在代码块内，<strong>与号 (&amp;)</strong> 和尖括号 <strong>(&lt; &gt;)</strong> 会自动转为 HTML 实体。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>    </span></span><span>&lt;div class="footer"&gt;</span></div></div><div><div><div>2</div></div><div><span><span>        </span></span><span>&amp;copy; 2004 Foo Corporation</span></div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>&lt;/div&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;div class="footer"&gt;</span></div></div><div><div><div>2</div></div><div><span><span>    </span></span><span>&amp;copy; 2004 Foo Corporation</span></div></div><div><div><div>3</div></div><div><span>&lt;/div&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><p>下文的“围栏代码块”和“语法高亮”属于扩展语法，你也可以用它们来书写代码块。</p><section><h4>围栏代码块<a href="#围栏代码块"><span>#</span></a></h4><p>使用成对的反引号围起来（如下所示），就不需要四空格缩进了。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>Here's an example:</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>```</span></div></div><div><div><div>4</div></div><div><span>function test() {</span></div></div><div><div><div>5</div></div><div><span><span>  </span></span><span>console.log("notice the blank line before this function?");</span></div></div><div><div><div>6</div></div><div><span>}</span></div></div><div><div><div>7</div></div><div><span>```</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>Here’s an example:</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>function test() {</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>console.log("notice the blank line before this function?");</span></div></div><div><div><div>3</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /></section><section><h4>语法高亮<a href="#语法高亮"><span>#</span></a></h4><p>在围栏代码块后添加可选的语言标识，即可启用语法高亮（参见支持语言列表）。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>```ruby</span></div></div><div><div><div>2</div></div><div><span>require 'redcarpet'</span></div></div><div><div><div>3</div></div><div><span>markdown = Redcarpet.new("Hello World!")</span></div></div><div><div><div>4</div></div><div><span>puts markdown.to_html</span></div></div><div><div><div>5</div></div><div><span>```</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>require </span><span>'redcarpet'</span></div></div><div><div><div>2</div></div><div><span>markdown</span><span><span> </span><span>=</span><span> </span></span><span>Redcarpet</span><span>.</span><span>new</span><span>(</span><span>"Hello World!"</span><span>)</span></div></div><div><div><div>3</div></div><div><span>puts</span><span> markdown.</span><span>to_html</span></div></div></code></pre><div><div></div><div></div></div></figure></div><hr /><p><a></a></p></section></section><section><h3>分割线（水平线）<a href="#分割线水平线"><span>#</span></a></h3><p>HTML 标签：<code>&lt;hr /&gt;</code>
一行中放置<strong>三个或以上的短横线 (-)、星号 (*) 或下划线 (_)</strong>。符号之间允许有空格。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>* * *</span></div></div><div><div><div>2</div></div><div><span>***</span></div></div><div><div><div>3</div></div><div><span>*****</span></div></div><div><div><div>4</div></div><div><span>- - -</span></div></div><div><div><div>5</div></div><div><span>---------------------------------------</span></div></div><div><div><div>6</div></div><div><span>___</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><hr /><hr /><hr /><hr /><hr /><hr /><hr /><p><a></a></p></section><section><h3>表格<a href="#表格"><span>#</span></a></h3><p>HTML 标签：<code>&lt;table&gt;</code></p><p>这是扩展语法。</p><p>用<strong>竖线 (|)</strong> 分隔列，用<strong>短横线 (-)</strong> 分隔表头，使用<strong>冒号 (:)</strong> 指定对齐方式。</p><p>两侧的<strong>竖线 (|)</strong> 与对齐可选。用于表头分隔时，每列至少需要 <strong>3 个短横线</strong>。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>| Left | Center | Right |</span></div></div><div><div><div>2</div></div><div><span>|:-----|:------:|------:|</span></div></div><div><div><div>3</div></div><div><span>|aaa   |bbb     |ccc    |</span></div></div><div><div><div>4</div></div><div><span>|ddd   |eee     |fff    |</span></div></div><div><div><div>5</div></div><div>
</div></div><div><div><div>6</div></div><div><span><span> </span></span><span>A | B</span></div></div><div><div><div>7</div></div><div><span>---|---</span></div></div><div><div><div>8</div></div><div><span>123|456</span></div></div><div><div><div>9</div></div><div>
</div></div><div><div><div>10</div></div><div>
</div></div><div><div><div>11</div></div><div><span>A |B</span></div></div><div><div><div>12</div></div><div><span>--|--</span></div></div><div><div><div>13</div></div><div><span>12|45</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr />

<table><thead><tr><th>Left</th><th>Center</th><th>Right</th></tr></thead><tbody><tr><td>aaa</td><td>bbb</td><td>ccc</td></tr><tr><td>ddd</td><td>eee</td><td>fff</td></tr></tbody></table>

<table><thead><tr><th>A</th><th>B</th></tr></thead><tbody><tr><td>123</td><td>456</td></tr></tbody></table>

<table><thead><tr><th>A</th><th>B</th></tr></thead><tbody><tr><td>12</td><td>45</td></tr></tbody></table><hr /><p><a></a></p></section></section><section><h2>内联元素<a href="#内联元素"><span>#</span></a></h2><p><a></a></p><section><h3>链接<a href="#链接"><span>#</span></a></h3><p>HTML 标签：<code>&lt;a&gt;</code></p><p>Markdown 支持两种链接样式：行内链接与引用式链接。</p><section><h4>行内链接<a href="#行内链接"><span>#</span></a></h4><p>行内链接格式：<code>[文本](URL "标题")</code></p><p>标题可选。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This is [an example](http://example.com/ "Title") inline link.</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>[This link](http://example.net/) has no title attribute.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This is <a href="http://example.com/" target="_blank">an example</a> inline link.</p><p><a href="http://example.net/" target="_blank">This link</a> has no title attribute.</p><hr /><p>如果引用同一站点的本地资源，可以使用相对路径：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>See my [About](/about/) page for details.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>See my <a href="/about/">About</a> page for details.</p><hr /></section><section><h4>引用式链接<a href="#引用式链接"><span>#</span></a></h4><p>可以预定义链接引用。定义格式：<code>[id]: URL "标题"</code></p><p>标题同样可选。引用时使用：<code>[文本][id]</code></p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[id]: http://example.com/  "Optional Title Here"</span></div></div><div><div><div>2</div></div><div><span>This is [an example][id] reference-style link.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This is <a href="http://example.com/" target="_blank">an example</a> reference-style link.</p><hr /><p>说明：</p><ul>
<li>方括号中包含链接标识（<strong>不区分大小写</strong>，可在左侧缩进最多三格空格）；</li>
<li>随后是冒号；</li>
<li>再跟一个或多个空格（或 tab）；</li>
<li>然后是链接 URL；</li>
<li>URL 可选地用尖括号包裹；</li>
<li>可选地跟随标题属性，用引号或圆括号包裹。</li>
</ul><p>以下三种定义等价：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[foo]: http://example.com/  "Optional Title Here"</span></div></div><div><div><div>2</div></div><div><span>[foo]: http://example.com/  'Optional Title Here'</span></div></div><div><div><div>3</div></div><div><span>[foo]: http://example.com/  (Optional Title Here)</span></div></div><div><div><div>4</div></div><div><span>[foo]: &lt;http://example.com/&gt;  "Optional Title Here"</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>如果使用空的方括号，则链接文本本身会作为名称。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[Google]: http://google.com/</span></div></div><div><div><div>2</div></div><div><span>[Google][]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><a href="http://google.com/" target="_blank">Google</a></p><hr /><p><a></a></p></section></section><section><h3>强调<a href="#强调"><span>#</span></a></h3><p>HTML 标签：<code>&lt;em&gt;</code>，<code>&lt;strong&gt;</code></p><p>Markdown 使用 <strong>星号 (*)</strong> 或 <strong>下划线 (_)</strong> 表示强调。<strong>一个分隔符</strong>对应 <code>&lt;em&gt;</code>；<strong>两个分隔符</strong>对应 <code>&lt;strong&gt;</code>。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>*single asterisks*</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>_single underscores_</span></div></div><div><div><div>4</div></div><div>
</div></div><div><div><div>5</div></div><div><span>**double asterisks**</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>__double underscores__</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><em>single asterisks</em></p><p><em>single underscores</em></p><p><strong>double asterisks</strong></p><p><strong>double underscores</strong></p><hr /><p>但如果两侧有空格，则会被视作普通字符而非强调语法。</p><p>你可以使用反斜杠进行转义：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>\*this text is surrounded by literal asterisks\*</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>*this text is surrounded by literal asterisks*</p><hr /><p><a></a></p></section><section><h3>行内代码<a href="#行内代码"><span>#</span></a></h3><p>HTML 标签：<code>&lt;code&gt;</code></p><p>用<strong>反引号 (`)</strong> 包裹。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>Use the `printf()` function.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>Use the <code>printf()</code> function.</p><hr /><p>若行内代码中需要包含反引号字符，可使用<strong>多重反引号</strong>作为定界符：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>``There is a literal backtick (`) here.``</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><code>There is a literal backtick (`) here.</code></p><hr /><p>行内代码两侧的定界符允许包含空格（开头一个、结尾一个），方便在代码起始或结尾放置反引号字符：</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>A single backtick in a code span: `` ` ``</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>A backtick-delimited string in a code span: `` `foo` ``</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>A single backtick in a code span: <code>`</code></p><p>A backtick-delimited string in a code span: <code>`foo`</code></p><hr /><p><a></a></p></section><section><h3>图片<a href="#图片"><span>#</span></a></h3><p>HTML 标签：<code>&lt;img /&gt;</code></p><p>Markdown 的图片语法与链接类似，支持行内与引用两种方式。</p><section><h4>行内图片<a href="#行内图片"><span>#</span></a></h4><p>行内图片语法：<code>![替代文本](URL "标题")</code></p><p>标题可选。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>![Alt text](/path/to/img.jpg)</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>![Alt text](/path/to/img.jpg "Optional title")</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p></p><figure><img src="https://s2.loli.net/2024/08/20/5fszgXeOxmL3Wdv.webp" alt="Alt text" /><figcaption>Alt text</figcaption></figure><p></p><p></p><figure><img src="https://s2.loli.net/2024/08/20/5fszgXeOxmL3Wdv.webp" alt="Alt text" title="Optional title" /><figcaption>Alt text</figcaption></figure><p></p><hr /><p>说明：</p><ul>
<li>一个感叹号 !；</li>
<li>后接方括号，放置图片的替代文本；</li>
<li>再接圆括号，内含图片 URL/路径，及可选的标题（引号包裹）。</li>
</ul></section><section><h4>引用式图片<a href="#引用式图片"><span>#</span></a></h4><p>引用式图片语法：<code>![替代文本][id]</code></p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>[img id]: https://s2.loli.net/2024/08/20/5fszgXeOxmL3Wdv.webp  "Optional title attribute"</span></div></div><div><div><div>2</div></div><div><span>![Alt text][img id]</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p></p><figure><img src="https://s2.loli.net/2024/08/20/5fszgXeOxmL3Wdv.webp" alt="Alt text" title="Optional title attribute" /><figcaption>Alt text</figcaption></figure><p></p><hr /><p><a></a></p></section></section><section><h3>删除线<a href="#删除线"><span>#</span></a></h3><p>HTML 标签：<code>&lt;del&gt;</code></p><p>这是扩展语法。</p><p>GFM 增加了删除线语法。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>~~Mistaken text.~~</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>Mistaken text.</p><hr /><p><a></a></p></section></section><section><h2>杂项<a href="#杂项"><span>#</span></a></h2><p><a></a></p><section><h3>自动链接<a href="#自动链接"><span>#</span></a></h3><p>Markdown 支持一种便捷写法来创建“自动链接”（URL 与邮箱地址）：只需用尖括号将其包住即可。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;http://example.com/&gt;</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>&lt;address@example.com&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><a href="http://example.com/" target="_blank">http://example.com/</a></p><p><a href="#">address@example.com</a></p><hr /><p>GFM 会自动识别标准 URL 并转换为链接。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>https://github.com/emn178/markdown</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><a href="https://github.com/emn178/markdown" target="_blank">https://github.com/emn178/markdown</a></p><hr /><p><a></a></p></section><section><h3>反斜杠转义<a href="#反斜杠转义"><span>#</span></a></h3><p>Markdown 允许使用反斜杠来转义那些本用于 Markdown 语法的特殊字符，使其按字面显示。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>\*literal asterisks\*</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>*literal asterisks*</p><hr /><p>以下字符可通过反斜杠转义以按字面量输出：</p><p>Code:</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>\   backslash</span></div></div><div><div><div>2</div></div><div><span>`   backtick</span></div></div><div><div><div>3</div></div><div><span>*   asterisk</span></div></div><div><div><div>4</div></div><div><span>_   underscore</span></div></div><div><div><div>5</div></div><div><span>{}  curly braces</span></div></div><div><div><div>6</div></div><div><span>[]  square brackets</span></div></div><div><div><div>7</div></div><div><span>()  parentheses</span></div></div><div><div><div>8</div></div><div><span>#   hash mark</span></div></div><div><div><div>9</div></div><div><span>+   plus sign</span></div></div><div><div><div>10</div></div><div><span>-   minus sign (hyphen)</span></div></div><div><div><div>11</div></div><div><span>.   dot</span></div></div><div><div><div>12</div></div><div><span>!   exclamation mark</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p><a></a></p></section></section><section><h2>内联 HTML<a href="#内联-html"><span>#</span></a></h2><p>对于 Markdown 语法未覆盖的标记，直接使用原生 HTML 即可。无需特别声明从 Markdown 切换到 HTML，直接写标签就行。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>This is a regular paragraph.</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>&lt;table&gt;</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>&lt;tr&gt;</span></div></div><div><div><div>5</div></div><div><span><span>        </span></span><span>&lt;td&gt;Foo&lt;/td&gt;</span></div></div><div><div><div>6</div></div><div><span><span>    </span></span><span>&lt;/tr&gt;</span></div></div><div><div><div>7</div></div><div><span>&lt;/table&gt;</span></div></div><div><div><div>8</div></div><div>
</div></div><div><div><div>9</div></div><div><span>This is another regular paragraph.</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p>This is a regular paragraph.</p><table>
    <tbody><tr>
        <td>Foo</td>
    </tr>
</tbody></table><p>This is another regular paragraph.</p><hr /><p>请注意：在<strong>块级 HTML 标签</strong>内不会处理 Markdown 语法。</p><p>与块级标签不同，在<strong>行内级标签</strong>内会处理 Markdown 语法。</p><p>代码：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>&lt;span&gt;**Work**&lt;/span&gt;</span></div></div><div><div><div>2</div></div><div>
</div></div><div><div><div>3</div></div><div><span>&lt;div&gt;</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>**No Work**</span></div></div><div><div><div>5</div></div><div><span>&lt;/div&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>预览：</p><hr /><p><span><strong>Work</strong></span></p><div>
  **No Work**
</div>
***</section></section>]]></content>
    </entry>
    <entry>
      <id>https://firefly.cuteleaf.cn/posts/video/</id>
      <title type="text">在文章中嵌入视频</title>
      <published>1970-01-01T00:00:00.000Z</published>
      <updated>1970-01-01T00:00:00.000Z</updated>
      <author><name>XiaYe</name></author>
      <link rel="alternate" href="https://firefly.cuteleaf.cn/posts/video/"/>
      <summary type="text">这篇文章演示如何在博客文章中嵌入视频。</summary>
      <content type="html"><![CDATA[<p>只需从 YouTube 或其他平台复制嵌入代码，然后将其粘贴到 markdown 文件中。</p>
<div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>在文章中嵌入视频</span></div></div><div><div><div>3</div></div><div><span>published</span><span>: </span><span>2023-10-19</span></div></div><div><div><div>4</div></div><div><span>// ...</span></div></div><div><div><div>5</div></div><div><span>---</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span>&lt;iframe width="100%" height="468" src="https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_" title="YouTube video player" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</span></div></div></code></pre><div><div></div><div></div></div></figure></div>
<section><h2>YouTube<a href="#youtube"><span>#</span></a></h2></section>
<section><h2>Bilibili<a href="#bilibili"><span>#</span></a></h2> </section>]]></content>
    </entry>
</feed>
