<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>未闻Code</title>
    <link>https://wechat2rss.xlab.app/feed/a148ed0a542de4be305ffa1b93e8663ad252e22c.xml</link>
    <description>博主喜欢Python和爬虫，已经出了两本书。这里是他灵感的发源地。关注这个公众号，你的生产效率在三天内就会得到提高。P.S.: 这个公众号日更。&#xA;(wechat feed made by @ttttmr https://wechat2rss.xlab.app)</description>
    <managingEditor> (未闻Code)</managingEditor>
    <image>
      <url>https://wx.qlogo.cn/mmhead/Q3auHgzwzM7bcA8m5sIVcHIwe8obc3XP53EJKzriajJ9Miasf4icQsTcg/0</url>
      <title>未闻Code</title>
      <link>https://wechat2rss.xlab.app/feed/a148ed0a542de4be305ffa1b93e8663ad252e22c.xml</link>
    </image>
    <item>
      <title>你存进去的知识，为什么一条都没用上？Obsidian + Claude 这样让知识库自己变聪明</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991584&amp;idx=1&amp;sn=db3007c37dff5c74d1e7c32b191ffcb0</link>
      <description>agent时代，个人知识库的系统设计方案。</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-05-13 18:01</span> <span style="display: inline-block;">新加坡</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=28087523&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FTkWsojtosvSpSHcrIQjJUfAoPkaSkibyotrEzsQg8lTyqHbibln8kjH8JUuUlzrW6WQq7r4K1RQPjZeibKykvj4iapeZt2nu6ziaOQgKpg0cAulI%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>agent时代，个人知识库的系统设计方案。</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> 你有没有试过把文章、播客、想法全部存进笔记软件，然后再也没打开过？</span><span leaf=""><br/></span><span leaf="">这不是懒，是系统设计的问题。把东西存进去却没有反馈机制，知识库只会变成一个漂亮的垃圾桶。</span><span leaf=""><br/></span><span leaf="">这篇文章讲的是一个不同的思路：让 Obsidian 结合 Claude，建一个每天自动变聪明的知识系统——你只管输入，连接这件事交给 AI 来做。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">大多数知识管理系统为什么都失败了</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">先说失败模式，因为很多人都踩过坑。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第一个问题：</span><strong style="font-weight: bold;color: #333;"><span leaf="">捕获太费劲</span></strong><span leaf="">。每次保存一篇文章，还要手动打标签、分类、写摘要。这在认知负担高的时候根本坚持不下去，两周之后习惯就断了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第二个问题：</span><strong style="font-weight: bold;color: #333;"><span leaf="">没有连接层</span></strong><span leaf="">。笔记之间是孤立的。三月份存的一篇文章和今天碰到的问题可能直接相关，但没有任何机制帮你发现这个关联。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第三个问题：</span><strong style="font-weight: bold;color: #333;"><span leaf="">没有理由回来看</span></strong><span leaf="">。如果知识库不主动推送东西给你，你就得记得去拉。没人记得住，库就成了「偶尔搜一下」的工具，而不是思考伙伴。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">用 @cyrilXBT 的话说：</span><strong style="font-weight: bold;color: #333;"><span leaf="">一个从不回话的第二大脑，不是第二大脑，只是一种有条理的忘记方式。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这套系统针对这三个问题逐一解决。</span></p><span leaf=""><img alt="知识系统三大失败原因" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=c93dd488&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQe4aBndhibnMuPAUo7QrInrOw44FHwULwUXknzic6RwbbVSsick1HV5toUocJI8iabRa0wcV4BxoicwCMF1iaTpaEfruRSDdEpnBlUE%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">四层架构：每一层只做一件事</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">整个系统分四层，逻辑清晰：</span></p><span leaf=""><img alt="四层架构流程图" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=6a84fb0e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvRVo7YGhyNufumibicCysaOud0wfB9l5ibdf69DH16iaYDyFMBMbLCLOibfmtR92FCjnHyhpiaFFx8KtjJxibQZVW1SrVcyOPD9vY1zuo%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第一层：捕获层</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">负责把信息自动拉进系统，你不用手动做任何事。</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Readwise：文章高亮自动同步，连 Kindle、Twitter 书签、Pocket 都覆盖</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Airr：播客片段，手机一摇就剪</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Whisper：语音备忘，录音丢进去自动转文字</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Telegram Bot：在路上冒出的想法，发给 Bot 直接进库</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这一层配好之后就不用再碰。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第二层：管道层（N8N 自动化）</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">N8N 监听每个捕获源，有新内容自动格式化成 Markdown 文件，存进 Obsidian 对应目录。不用手动归档，不用复制粘贴。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第三层：Obsidian 本地存储</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">就是本地一堆 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">.md</span></code><span leaf=""> 文件。这层是系统的「地基」，所有东西永久存在这里，不删。完全在本地，不依赖任何云服务，数据主权在你手里。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第四层：Claude 智能层</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">读你的库，找连接，写每日简报，回答关于你自己思维的问题。这是把存档变成思考伙伴的那一层。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">五个文件夹，足够了</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">文件夹结构故意设计得很简单：</span></p><table style="width: 100%;font-size: 13px;text-align: center;border-collapse: collapse;margin-bottom: 20px;border: 1px solid #e5e7eb;"><thead><tr><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">目录</span></p></th><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">用途</span></p></th></tr></thead><tbody><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/inbox</span></code></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">所有内容先落这里，未处理的原始素材</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/notes</span></code></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">处理过的文章高亮、播客片段，一个来源一个文件</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/ideas</span></code></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">你自己的想法、观察、语音转文字</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/projects</span></code></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">进行中的项目，一个项目一个子目录</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">CLAUDE.md</span></code></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">告诉 Claude 你是谁、在做什么</span></p></td></tr></tbody></table><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">保持简单是有意为之。文件夹越复杂，存东西的时候就越容易卡在「这个到底放哪」，慢慢就不用了。</span></p><span leaf=""><img data-aistatus="1" alt="Obsidian 五目录结构" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=13bce7e1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvTdmtibraFXoicx54CW3UDMwPRcjDia4LoN0U9bGxqygxKruZ7gBMehaBPmCZWBv0TvOdOwniayiatRib8Ye2wbfQia4S79toRDEAicfIc%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">CLAUDE.md：整个系统最重要的文件</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">没有这个文件，Claude 每次启动都是一张白纸，不知道你是谁、在做什么、想要什么。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">有了它，Claude 等于有个背景板——读过你几个月的笔记，知道你现在在搞什么项目，知道你的思维习惯。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">直接抄这个模板开始用：</span></p><div style="display: flex;place-items: flex-start;background-color: rgb(236,226,254);margin: 15px 0;padding: 12px 16px;border: 1px solid rgb(173,130,247);border-radius: 8px;text-align: left;"><div style="width: 100%;"><p style="font-size: 12px;color: rgb(130,90,200);margin: 0 0 6px 0;font-weight: bold;letter-spacing: 1px;"><span leaf="">💡 PROMPT</span></p><p style="font-size: 15px;color: #1B1B1B;line-height: 1.8;margin: 0;word-break: break-all;"><span leaf="">提示词参考：</span><span leaf=""><br/></span><span leaf=""># Who I Am</span><span leaf=""><br/></span><span leaf="">Name: [你的名字]</span><span leaf=""><br/></span><span leaf="">Work: [你在做什么——越具体越好]</span><span leaf=""><br/></span><span leaf="">Focus: [你现在重点搞的一件事]</span><span leaf=""><br/></span><span leaf="">Goals 2026: [3 个具体目标]</span><span leaf=""><br/></span><span leaf=""># Current Projects</span><span leaf=""><br/></span><span leaf="">Active: [现在在建或在做的事]</span><span leaf=""><br/></span><span leaf="">Stuck on: [最需要想清楚的地方]</span><span leaf=""><br/></span><span leaf="">Next milestone: [这个阶段&#34;做完了&#34;是什么样子]</span><span leaf=""><br/></span><span leaf=""># How This Vault Works</span><span leaf=""><br/></span><span leaf="">Inbox: /inbox — 未处理捕获，先放这里</span><span leaf=""><br/></span><span leaf="">Notes: /notes — 处理过的文章、高亮、研究</span><span leaf=""><br/></span><span leaf="">Ideas: /ideas — 我自己的想法和观察</span><span leaf=""><br/></span><span leaf="">Projects: /projects — 活跃项目文件夹</span><span leaf=""><br/></span><span leaf=""># What I Want From You</span><span leaf=""><br/></span><span leaf="">- 发现我没看到的连接</span><span leaf=""><br/></span><span leaf="">- 在同意我之前先挑战我的假设</span><span leaf=""><br/></span><span leaf="">- 问我&#34;该聚焦什么&#34;时，从库里的内容回答，不要泛泛而谈</span><span leaf=""><br/></span><span leaf="">- 如果我现在相信的东西和我之前存的东西矛盾，告诉我</span><span leaf=""><br/></span><span leaf=""># What I&#39;m Reading and Thinking About</span><span leaf=""><br/></span><span leaf="">[每周更新——最近在关注什么、在想什么问题]</span></p></div></div><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">Current Projects</span></code><span leaf=""> 和 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">What I&#39;m Reading</span></code><span leaf=""> 这两块每周一更新，五分钟。这个习惯决定了 Claude 的回答是不是还在点子上。</span></p><span leaf=""><img data-aistatus="1" alt="CLAUDE.md 的作用对比" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f4ddd821&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvTgJWb6YiaCxbI8F3F4l7Qfwd4GrAcH8mN70QiadicwvwqMF08kNRK4IGzynyV4xFocU22EMPmAKoqicBw0SPDB3SEptWLlR1wsVO4%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">每天早上的自动简报</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">每天你坐下来开工之前，系统已经把简报准备好了。不用你去问，N8N 在早上 6 点自动跑，结果存进 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/inbox/brief-日期.md</span></code><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">把这个 prompt 放进你的 N8N Claude 节点：</span></p><div style="display: flex;place-items: flex-start;background-color: rgb(236,226,254);margin: 15px 0;padding: 12px 16px;border: 1px solid rgb(173,130,247);border-radius: 8px;text-align: left;"><div style="width: 100%;"><p style="font-size: 12px;color: rgb(130,90,200);margin: 0 0 6px 0;font-weight: bold;letter-spacing: 1px;"><span leaf="">💡 PROMPT</span></p><p style="font-size: 15px;color: #1B1B1B;line-height: 1.8;margin: 0;word-break: break-all;"><span leaf="">提示词参考：</span><span leaf=""><br/></span><span leaf="">You are reading my Obsidian knowledge vault. Read everything in /inbox from the last 24 hours and everything in /notes from the last 7 days.</span><span leaf=""><br/></span><span leaf="">Then do three things:</span><span leaf=""><br/></span><span leaf="">1. CONNECTIONS — Find the 3 most interesting connections between recent captures and older notes I probably have not noticed. Be specific. Quote the relevant passages.</span><span leaf=""><br/></span><span leaf="">2. PATTERN — Identify one pattern across everything I have been reading this week. What is my brain clearly working on even if I have not said it explicitly?</span><span leaf=""><br/></span><span leaf="">3. QUESTION — Give me one question worth sitting with today based on the pattern you identified. Not a task. A question.</span><span leaf=""><br/></span><span leaf="">Write this as a clean markdown file formatted for Obsidian. Save it to /inbox/brief-{{date}}.md</span></p></div></div><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">三个部分设计得有意思：</span><strong style="font-weight: bold;color: #333;"><span leaf="">连接</span></strong><span leaf="">是把你没注意到的东西挖出来，</span><strong style="font-weight: bold;color: #333;"><span leaf="">模式</span></strong><span leaf="">是帮你看清楚自己最近在想什么（往往你自己说不清），</span><strong style="font-weight: bold;color: #333;"><span leaf="">问题</span></strong><span leaf="">比任务更有价值——一个好问题比十个待办事项更能推进思考。</span></p><span leaf=""><img data-aistatus="1" alt="每日自动简报三件事" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=ae58e14c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvT0HlONNdZg1KZbkJSopE7b1U4P7yVMLRX11icQr9bIEFow0P4aVLDrsfHPRjyFicg15yDRSgfEiaTQEwlEVhJ2lYfIGvyHibia8vGc%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">每周深度合成</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">每天简报是「发现连接」，每周合成是「建立观点」。建议固定在周一花 15 分钟跑一次。</span></p><div style="display: flex;place-items: flex-start;background-color: rgb(236,226,254);margin: 15px 0;padding: 12px 16px;border: 1px solid rgb(173,130,247);border-radius: 8px;text-align: left;"><div style="width: 100%;"><p style="font-size: 12px;color: rgb(130,90,200);margin: 0 0 6px 0;font-weight: bold;letter-spacing: 1px;"><span leaf="">💡 PROMPT</span></p><p style="font-size: 15px;color: #1B1B1B;line-height: 1.8;margin: 0;word-break: break-all;"><span leaf="">提示词参考：</span><span leaf=""><br/></span><span leaf="">Read my entire Obsidian vault. Focus on everything added in the last 7 days.</span><span leaf=""><br/></span><span leaf="">I want four things:</span><span leaf=""><br/></span><span leaf="">1. EMERGING THESIS — What idea am I building toward without having stated it explicitly yet? What position is forming in my thinking?</span><span leaf=""><br/></span><span leaf="">2. CONTRADICTIONS — What have I saved recently that contradicts something I believed before? Show me both sides from my own notes.</span><span leaf=""><br/></span><span leaf="">3. KNOWLEDGE GAPS — Based on what I am reading and thinking about, what am I clearly not reading that I should be? What perspective is missing?</span><span leaf=""><br/></span><span leaf="">4. ONE ACTION — Given everything in this vault, what is the single highest-leverage thing I could do or think about this week?</span><span leaf=""><br/></span><span leaf="">Be direct. Challenge me. Do not summarize what I already know.</span></p></div></div><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第二点「矛盾」最有价值——Claude 会从你自己的笔记里找出你现在相信的和你之前存的东西之间的矛盾，等于强迫你直面自己想法的漏洞。</span></p><span leaf=""><img data-aistatus="1" alt="每周深度合成四维度" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=4768e103&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvSRwgmkL84955A47T00GkiczF0vouV0PmQOrbRoZEuX37tMR5ot7ZtMw07PTTXTkk8yyM4FUay0eKDYTHzyl6sC46wFnRu5668I%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">六步搭建清单</span></h2><span leaf=""><img data-aistatus="1" alt="六步搭建清单" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=070084d8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvQKsKTfKhpDbd5rdiamfkldhIwfmRC0YW9LRSu2bImWGTdnwegtfqrCdg45fJPHfPkyic88nEaPk8LgbyedXUEGQrrQ01zHCtUDQ%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">按顺序来：</span></p><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">建 Obsidian 五目录结构</span></strong><span leaf="">：Inbox、Notes、Ideas、Projects 四个文件夹 + 根目录 CLAUDE.md。不要加更多文件夹，先跑起来再说。</span></span></li></ol><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">连接 Readwise</span></strong><span leaf="">：Readwise 有 Obsidian 原生插件，开启之后你在任何地方的高亮自动进 Notes 文件夹。</span></span></li></ol><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">搭 Telegram 捕获 Bot</span></strong><span leaf="">：用 Claude + N8N，大概 30 分钟搞定。从此手机上冒出的任何想法发给 Bot 就进库了。</span></span></li></ol><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">写 CLAUDE.md</span></strong><span leaf="">：用上面的模板，诚实填写。Claude 输出质量直接取决于这个文件的质量。</span></span></li></ol><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">配置每日简报 N8N 自动化</span></strong><span leaf="">：工作日早 6 点运行，输出存到 inbox 文件夹，先于其他事情读它。</span></span></li></ol><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">周一日历里锁定 15 分钟做周度合成</span></strong><span leaf="">：现在就加进去，不要等「库丰富一点再说」。库永远不会「太空」，空库照样能找到值得想的东西。</span></span></li></ol><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">复利效应从什么时候开始显现</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">用了一个月：感觉有用，每天简报偶尔冒出来惊喜。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">用了三个月：开始感觉不一样。Claude 把三个月前的笔记和今天的问题连起来，你自己早忘了那条笔记。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">用了六个月：有一整套关于你如何思考的记录。每个你当时相信但后来改变的观点，每个你一直在想但最终想清楚了的问题，每个在读了大量内容之后才浮现的规律。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">越早开始，积累的连接越多，系统对你思维方式的理解越深。这个没什么捷径，只有时间能给。</span></p><span leaf=""><img data-aistatus="1" alt="知识复利时间线" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=7d41caae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvRdYJxIZps1iamNbQ8W55yYEW5JtrSgJn4AYdQQiactBGia2bAnrmjczSv1klHDpIqI2DVw23ibOmmI7NYzDenkVaTCRFB61H7WAG8%2F640%3Ffrom%3Dappmsg"/></span><ul style="background: #f0f9ff;border-radius: 8px;font-size: 14px;color: #0369a1;margin-bottom: 15px;border: 1px solid #bae6fd;text-align: left;padding: 15px 15px 15px 35px;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">大多数知识库失败的原因：捕获有摩擦、没有连接层、没有理由回来看</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">这套系统的解法：Readwise/Airr/Whisper 自动捕获 + N8N 管道 + Obsidian 存储 + Claude 智能层</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">最关键的文件是 CLAUDE.md，每周更新两个字段就够</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">每天早 6 点自动简报：3个连接 + 1个模式 + 1个问题</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">每周 15 分钟深度合成：挖矛盾、找知识盲区、确定本周最高价值动作</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">今晚先存 5 条笔记，感受一下 Claude 发现连接那一刻——系统就活了</span></p></li></ul><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">原推文（CyrilXBT）：<a href="https://x.com/cyrilXBT/status/2052235121416188114" target="_blank">https://x.com/cyrilXBT/status/2052235121416188114</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Readwise 官网：<a href="https://readwise.io" target="_blank">https://readwise.io</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">N8N 自动化工具：<a href="https://n8n.io" target="_blank">https://n8n.io</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Obsidian 官网：<a href="https://obsidian.md" target="_blank">https://obsidian.md</a></span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5490741" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="501507935" src="https://wechat2rss.xlab.app/img-proxy/?k=0f5bbf57&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtDWpG6sH5E0iaPvicOvenBzwg9gJOLAMKibrDbNmxOL8gia29aVHyzSDWoLv6l9JMBoR1uCNH7ib5wW3HJaA6f0EQaOvZIPVhOaicLYE%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=03d58f7c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991584%26idx%3D1%26sn%3Ddb3007c37dff5c74d1e7c32b191ffcb0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 13 May 2026 18:01:00 +0800</pubDate>
    </item>
    <item>
      <title>Anthropic 公布 Claude Code 黑客松六强作品，来自医生、老师、木匠的儿子……</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991581&amp;idx=1&amp;sn=dd090fd58562b7b025438a0c7b77cf0c</link>
      <description>让那些本会被时间抹去的人类经验，留下来。</description>
      <content:encoded><![CDATA[<p><span>J0hn</span> <span>2026-05-08 18:59</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：AGI Hunt</p>
  <strong>AGI Hunt</strong>
  <p>关注AGI 的沿途风景！
前网易资深技术专家；AI 初创公司 CTO；佛系分享</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=25fc3746&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FZKqVLiaIpzFmGlQXw5HDmOGiarMdGAIX6KXQ7B6sibkJYruRhcdGv5XBLe2y2TCWEIt6cmmYFn54bL2HBVZicW2xuhoCQZaziaaIficSyJSdo9Kj8%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>让那些本会被时间抹去的人类经验，留下来。</p>
  <div style="font-family:-apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;color:#3d3d3d;font-size:16px;line-height:1.85;padding:10px 0 40px 0;max-width:720px;margin:0 auto;letter-spacing:0.02em;"><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">前段时间，Anthropic 公布了 Claude Code 比赛的六组获奖作品。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="305999578" data-ratio="0.818939393939394" data-s="300,640" type="block" data-type="png" data-w="1320" src="https://wechat2rss.xlab.app/img-proxy/?k=6b65ff66&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FZKqVLiaIpzFnluhYyPvBjyWTydGQx1vib6kWeA5aCPs0udicYR0DSEmd0oVRxz1ScB9DXJHFoEtPDAOm5bkwW3WAatBzzw5lAhic3mBWVNnIWZk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这是 Claude 和 Cerebral Valley 联合办的一场黑客松，规则是：用 Opus 4.7 + Claude Code，一周时间，做个东西出来。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">看完这六个项目，我发现：</span><strong style="font-weight:700;color:#111;"><span leaf="">没有一个是「再做一个聊天机器人」。</span></strong></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一个土耳其医生做了虚拟诊室，让医学生在 AI 病人身上练手；一个法国人做了电路板维修工具，读完 80 页原理图后直接在主板上画诊断路径；一个智利大学老师做了编程教学平台，学生不先写清楚自己要做什么，编辑器就锁着不让你碰。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">还有一个智利小伙子，拿他木匠老爸三十年的手艺，训了个修墙的 AI。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">下面，我们就一个一个地来看，或许会给你一些启发。</span></p><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">01</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">AI 病人</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">金奖给了 MedKit，来自土耳其的 Bedirhan Keskin。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img alt="MedKit 首页" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.562962962962963" style="max-width:100%;height:auto;display:block;margin:28px auto;" data-w="1080" height="auto" src="https://wechat2rss.xlab.app/img-proxy/?k=ea68b849&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FZKqVLiaIpzFnXHqOR0wCOoUfrpLktxEAibOt2fZ7CiboCYeBMqayqSibpUbROWzDiclO74HbdOY3POOQlVclLYjXZJjk6lXfItYKLqy23Nd3AUuU%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">MedKit 首页</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">他本身是个执业医生，但过去四年一直在做软件工程。他做这个项目的出发点，来自于自己的亲身经历：</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">刚从医学院毕业的时候，最缺的就是实战经验。真实的病人不会按教科书来。我和很多同学刚到急诊科的时候，都挺手忙脚乱的。</span></p></blockquote><p nodeleaf=""></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">MedKit 是一个语音驱动的虚拟诊室。系统会生成 AI 病人，医学生通过语音对话来问诊、开检查、看影像、做诊断、开处方。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">每次问诊结束后，系统会根据最新的临床指南，给你的沟通能力、病史采集和临床推理逐项打分，每个扣分点都附带文献引用。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一些 AI 病人的例子：</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一个 AI 病人说自己春天咳嗽加重、夜里喘息，医学生开始追问过敏史；另一个病人血压计显示 188/120，伴头痛，降压药停了一周；还有个肩膀疼的、一个拉肚子的……</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">不同的病例、不同的症状分支、不同的诊断陷阱。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">技术实现上，Bedirhan 用了 Claude Managed Agents。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一个 Opus 4.7 驱动的「主治医师」Agent，同时管着病人角色扮演、观察者评估和问诊复盘三个子 Agent。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">他提到 Opus 4.7 在长时间会话中不跑偏，所以他直接让 Agent 自动生成了整个病例库：病史分支、金标准诊断、评分标准，每一条都能追溯到真实存在的临床指南。</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">在 AI 身上犯所有的错，然后再去面对真正的病人。</span></p></blockquote><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">02</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">80 页原理图</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">银奖是来自法国的 Alexis Chapellier 做的 Wrench Board。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Alexis 是个自学成才的开发者，一直在为维修行业做工具。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="Wrench Board 界面" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=410332c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FZKqVLiaIpzFkBGPC99yqsSs1kzLhXVkrSVHu8jzTiaKib8sHuv5NsXdlBXvMFduia6K57J9TF3wYFYyy6oHStuLIve8ydgeJ6KHNt5EQ7JRbgnk%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">Wrench Board 界面</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">先来介绍一个背景和数字：全球每年大约有 5000 万吨电子产品变成垃圾。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">但其中很多并非修不了，而是板级维修的知识掌握在极少数人手里。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Wrench Board 想做的事，用 Alexis 自己的话来说就是：</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">我为「剩下的我们」做了这个工具。</span></p></blockquote><p nodeleaf=""></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">你导入一块主板的照片和原理图 PDF，而原理图有时候 80 多页，密密麻麻的电路图、元件参数、连接关系。Wrench Board 用 Opus 4.7 的视觉能力分批并行读取，两分钟内，就编译成了一个可查询的电气知识图谱。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">25 个元件按功能分类，33 种可观测症状映射到故障机制，10 条诊断规则，每条都有可验证来源。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">然后就到了最关键的部分：你可以直接跟 Agent 对话，</span><strong style="font-weight:700;color:#111;"><span leaf="">它会在主板照片上一步一步画出诊断路径。</span></strong></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">该量哪里、该测什么值，直接标在板子上。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">而且，这个 Agent 还……认识你。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">它会记录你的工具清单和维修经验，如果你没有热风台，它不会让你去做 BGA 返焊，每次成功维修，你的技能档案自动升级。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">而且它对每块板子也都有记忆。之前修过哪里、试过什么方案、踩过什么坑，下次打开新对话的时候全都还在。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">为了防止 AI 乱说，Wrench Board 做了一层硬约束：Agent 说出的每个元件编号都必须来自工具查询，没查到的编号会被服务端过滤掉，到不了你的屏幕。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Alexis 在视频结尾说：</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">当一个拿着万用表的普通技术员，能做到昨天只有 OEM 售后中心才能做的事，「维修权」才算真正落地了。</span></p></blockquote><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">项目已经在 GitHub 开源。</span></p><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">03</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">先想后写</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">铜奖是来自智利的 Paula Vasquez-Henriquez 做的 Maieutic。</span></p><p nodeleaf=""></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Paula 是智利发展大学（Universidad del Desarrollo）计算机科学系的副主任，也是 AI 方向的博士生。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">她在大学教了六年入门编程课，带过 200 多个学生学 Python。她在视频里讲了三个反复出现的场景：</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一个学生从 LLM 上复制了一段代码，不知道这代码干嘛的。另一个随便扫了眼题目要求，直到测试报错才发现自己漏了什么。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">而第三个，还没想清楚要解决什么问题，手就开始敲了。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">三个学生都交了作业，倒是都能及格。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><strong style="font-weight:700;color:#111;"><span leaf="">但没有一个人学到了真正重要的那个东西。</span></strong></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Maieutic 的做法是：写代码之前，先把编辑器上把锁。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">学生得先用自己的话描述「这个程序应该干什么」，AI 读完之后会追问那些没说清楚的地方。只有当 spec 足够清晰了，编辑器才解锁。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="先想，再写" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=5c84de88&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FZKqVLiaIpzFk1QOsibYef6ED1qxKvHalCNlPDribPuAOazjgJvYs8PvZ8ukMGHbKlicEat9n3X7rjYgByEqR3wbTL6x6hF9XvV4cfZBrjkd6GOY%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">先想，再写</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">编辑器打开后，自动补全是关的。学生可以问 AI 某个函数的语法，AI 会回答。但如果学生问「我该怎么做」，AI 会引导你思考，不会直接给答案。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">提交代码后，AI 会把学生最初写的 spec 和实际代码对齐，让学生自己解释中间的差距：你说你要做 A，但你实际做了 B，这个 gap 在哪？</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">在大学禁 AI 并非正确的做法。未来的程序员，大部分时间都在写 prompt。但好的 prompt 来自于理解你要构建什么、什么可能出错、以及结果对不对。</span></p></blockquote><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="Maieutic 教师面板" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=96f4114e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FZKqVLiaIpzFmia6p4OYMcdRA1G1vjn7G4hZ8D64whQhf6qQ3F1tQc7Jg7SswE4Fggrib1rupPAUjX6cXZSrQaFSzpIiclPNFlSsCywpGKEzY1Aw%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">Maieutic 教师面板</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">而</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">对教师来说，Maieutic 还提供了一个以前不曾有过的视角：一个能看到学生「思考过程」的实时面板。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">不是看分数，是看每个学生此刻卡在哪里、在怎么推理、哪些错误反复出现。</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">第一次，老师有了一份记录，记下的是学生到底怎么想的，而不只是答案对不对。</span></p></blockquote><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Paula 指出，一个好老师需要好几年才能积累出对学生常见思维误区的直觉。Maieutic 第一次布置作业的时候就能给你这个。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><strong style="font-weight:700;color:#111;"><span leaf="">因为 Opus 4.7 能分辨出学生是在「推理」还是在「猜」。</span></strong></p><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">04</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">木偶剧场</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">最佳创意奖，则给了来自丹麦的 Rene Hangstrup Moller 做的 Virtual Puppet Theater。</span></p><p nodeleaf=""></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这是六个项目里，画风最为不一样的一个。</span></p><figure style="margin: 16px 0;text-align: center;"></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">你用手对着摄像头比划，屏幕上的木偶就跟着动；你说话，木偶也说话；你说「给 Bob 戴个王冠」，王冠就出现了；你说「我们去海滩吧」，背景就换成了沙滩。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">你说「给我一顶冰淇淋帽子」……嗯，它也真给你戴上了。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">（你的第一反应可能是：这也太适合哄小孩了吧。）</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">技术栈方面拆解如下：</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">手部追踪用的 MediaPipe，检测手指关节的 3D 位置来驱动木偶；语音识别用了浏览器原生的 Web Speech API，免费、够用；语音合成用的 11 Labs Flash，比浏览器自带的要有表现力得多。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">引擎底下跑着两个模型，共享一个缓存。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">日常对话用 Haiku 保证响应速度，道具生成用 Opus 保证创意质量。有些道具是预设的 Three.js 模型，但像冰淇淋帽子这种，是 Opus 实时用基础图形组合拼出来的，你第一次说出来的时候它才去生成。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Bob（那个木偶）在视频结尾自己作的总结：</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">一个用于玩耍的交互界面，一年前还不存在。</span></p></blockquote><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">05</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">木匠之子</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">「Keep Thinking」特别奖给了来自智利的 Benjamin Torralbo 做的 MaestrIA。</span></p><p nodeleaf=""></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这个项目的背景故事，可能是六个里面，最让人能够记住的。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Benjamin 的父亲 Juan Rodrigo Torralbo，做了三十年木匠，其中八年在修复智利奇洛埃岛上被列为联合国世界遗产的木教堂。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">但在智利的体制里，没有大学文凭，你修过再多世界遗产，你也是全隐形人。</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">智利有超过 28 万名非正式建筑工人，没有任何途径能展示自己的手艺。我爸修复了联合国世界遗产教堂，可没有大学文凭的他，在系统里根本不存在。</span></p></blockquote><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Benjamin 做 MaestrIA，就是要把他父亲这样的手艺人的知识数字化。</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">工具是我做的。知识是他的。</span></p></blockquote><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="MaestrIA 首页" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=e406196d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FZKqVLiaIpzFkUHlv3tYVDmQZYMPHf8AZprlzqx9yQkic22JHPM8SRd1lGsC77ibldGia68lnjqVJuCgKINes44mSBkduqeYAKLU9LmyB0JGHdUE%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">MaestrIA 首页</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">使用方式是：拍一张受损墙面的照片，输入你的位置。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Opus 4.7 开始分析，而且推理过程是实时展示的，不是在转圈等。先观察，再诊断，就像一个老师傅到了现场，得先看一圈再开口。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">分析完后，AI 会给你四个答案：修什么、你所在地区大概花多少钱、需要多长时间、不修会怎样。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">接下来才，系统会推荐你附近的手艺人。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">选一个之后，第三个 Agent 自动帮你写一条 WhatsApp 消息，用智利本地西班牙语，附上完整诊断报告。</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">你不再是一脸懵地跟工人说「我墙湿了」。你手上拿着诊断报告。客户不会被乱开价，有手艺但不会推销自己的工人也能接到活。</span></p></blockquote><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">分析过程中还有个有点意思的环节：系统会模拟不同工种的专家辩论。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">木匠 vs 泥瓦匠，用智利西班牙语各自论证自己的修复方案。另一个 Agent 则跑去当地建材超市 Sodimac 和 Easy 实时查价，验证预算是否靠谱。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="木匠 vs 泥瓦匠" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=bcedf470&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FZKqVLiaIpzFlKvJkMxVnOSGmoAzqa8avSXwFHFLgj854g1nMiaJASyicI4ibFyTSiag9MsAAb6BibBSx4pibya1uoBXZHa96cZnAiatdicduOUEbTSBY%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">木匠 vs 泥瓦匠</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">一个报价没有实际价格支撑，说了也等于没说。这一步想得挺周到的。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">Benjamin 还把 MaestrIA 拿给他爸进行了测试，一共 12 张照片，12 个诊断。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">结果是：</span><strong style="font-weight:700;color:#111;"><span leaf="">与三十年老师傅判断的吻合率：81%。</span></strong></p><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">06</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">工厂老师傅</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">最佳 Managed Agents 使用奖，则给了法国的 Idriss Benguezzou 和 Adam Hnaien 做的 ARIA。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">ARIA</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">ARIA 解决的是工业维护领域一个老问题：</span></p><blockquote style="margin:28px 0;padding:16px 18px 14px 22px;border:none;background:#f5f5f3;border-radius:6px;"><p style="text-align:left;font-size:15px;line-height:1.8;color:#555;margin:6px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span style="font-size: 32px;line-height: 0.5;color: #c4a35a;font-family: Georgia, serif;font-weight: 700;margin-right: 2px;vertical-align: -6px;"><span leaf="">“ </span></span><span leaf="">在每个工厂、每个车间、每个水站里，总有那么一个人。他能听出机器声音哪里不对劲，他能在机器坏之前两天就知道它要坏了。他就是知道。然后他退休了，这些知识就永远消失了。</span></p></blockquote><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">传统的工业维修管理系统部署成本 50 万美元起，需要半年的专业咨询。结果就是，超过一半的工厂压根不装，等机器坏了再说。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="知识消失 vs 知识留存" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=9fcab152&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FZKqVLiaIpzFlbwpuuTYOYObyVj0GTNvs4Uk6t5Qf8wD82sgmODxdwZrowtqZicWt37J2Uaw9Lku2T4ng7d9dpjtVHo8icquiaZR8xdsXFUY2G64%2F640%3Ffrom%3Dappmsg"/></span><figcaption style="display: block;margin-top: 10px;text-align: center;color: #b0b0b0;font-size: 11px;line-height: 1.5;letter-spacing: 0.15em;"><span leaf="">知识消失 vs 知识留存</span></figcaption></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">ARIA 用了五个 Agent 各司其职，像一支维修团队一样层层传递工单。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">演示场景是一个矿泉水灌装厂：一条线，五台设备。把设备手册丢给 ARIA，Opus 4.7 的视觉能力读完手册，问了三个问题，系统就上线了。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">其中一个场景是：瓶盖机报了一个振动异常警报，但 ARIA 没有立刻发工单。它查了上下文，发现振动值其实在下降，并非异常。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">并给出结论：</span><strong style="font-weight:700;color:#111;"><span leaf="">无需处理</span></strong><span leaf="">。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">大多数系统到「发了警报」就结束了，而ARIA 多走了一步：它在判断这个警报值不值得理。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">但如果真的出故障了，处理链路就有所不同了。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">检测 Agent 发现异常后，调查 Agent 接手，启动 Opus 4.7 的 extended thinking。它会写一段 Python 代码，在 Anthropic 的云端沙箱里跑了一次回归分析，从原始信号中算出设备的退化速率。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">精确的数据会直接进入工单。技术人员拿到手的已经不再是一句「振动异常」了，是一张详细的维修表：</span><strong style="font-weight:700;color:#111;"><span leaf="">根因分析，加上一步步的修复建议</span></strong><span leaf="">。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">并且，它还拥有记忆。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">灌装机又出了一次类似的振动异常，ARIA 翻出三个月前 Tom Anderson 处理过的那个 case，找到当时的修复方案和零件编号，直接告诉操作员：上次就是换了这个零件好的。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">5 个 Agent 共享 17 个工具，通过 MCP 协作。日志、操作员的班次笔记、信号趋势、KPI、历史故障……全部汇入每台设备背后的知识库。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这个知识库是从设备手册和操作员的实际经验中一起构建的。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">用 ARIA 团队的话说：那个「什么都知道的人」，再也不会因为退休而消失了。</span></p><span style="display: block;font-family: &#39;SF Mono&#39;, Menlo, Consolas, monospace;font-size: 11px;font-weight: 400;color: #bbb;letter-spacing: 0.08em;margin-top: 40px;margin-bottom: 6px;padding-bottom: 14px;background-image: radial-gradient(circle, #d0d0d0 1px, transparent 1px);background-size: 6px 6px;background-repeat: repeat-x;background-position: bottom left;line-height: 1.85;"><span leaf="">07</span></span><h2 style="font-size:21px;font-weight:800;margin:8px 0 18px 0;color:#111;line-height:1.35;letter-spacing:-0.01em;"><span leaf="">手艺的数字化</span></h2><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">六个获奖项目来自五个国家，覆盖医疗、维修、教育、工业、创意五个不同领域。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这些项目有一个共同的内核：</span><strong style="font-weight:700;color:#111;"><span leaf="">它们都在把原本锁在少数人脑子里的专业知识，变成更多人能触及的工具。</span></strong></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">板级维修经验锁在少数硬件工程师手里；临床直觉锁在资深医生的脑子里；工厂维护知识锁在那个「什么都知道」的老师傅心里；木工手艺锁在一个没有大学文凭的匠人手上。</span></p><figure style="margin: 16px 0;text-align: center;"><span leaf=""><img data-aistatus="1" alt="从锁在脑子里，到人人可用" class="rich_pages wxw-img" data-ratio="0.562962962962963" data-w="1080" height="auto" style="max-width:100%;height:auto;display:block;margin:28px auto;" src="https://wechat2rss.xlab.app/img-proxy/?k=11b562df&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FZKqVLiaIpzFnZsm3WAibYZsQWz4iamicibNdpnlKO4u5UuMlgP9t9IgF3PHAVvzcKCpLeg5LcOJ7DxV2fLIAoISSdRhweQbyufQriafhdnM6HQkUg%2F640%3Ffrom%3Dappmsg"/></span></figure><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">人类文明里有大量这样的知识。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">它们不在论文里，不在教科书里，不在任何数据库里。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">它们只存在于某一个人的手感里、直觉里、几十年累积出来的判断力里。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这些知识，一直在消失。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="" data-remoteid="" data-asynid="" src="" data-src="" align="" alt="" border="" class="rich_pages wxw-img" data-ratio="" data-s="300,640" data-type="png" data-w="" aria-label="" aria-braillelabel="" aria-description="" height="" hspace="" ismap="" opacity="" sizes="" style="" title="" type="block" usemap="" vspace="" width="" data-width="" data-height="" data-croporisrc="" data-cropx1="" data-cropx2="" data-cropy1="" data-cropy2="" data-cropselx1="" data-cropselx2="" data-cropsely1="" data-cropsely2="" data-backw="" data-backh="" data-copyright="" data-oversubscription-url="" data-before-oversubscription-url="" data-galleryid="" data-gallerysupplier="" data-cardimg="" data-fileid="" data-imgfileid="305999579" data-positionback="" data-imgqrcoded="" data-imgid="" data-upload="" data-fromlib="" data-aiimageid="" data-aiimagesource="" data-cacheurl="" data-aistatus="1" data-retry="">老师傅退休了，手艺传不下去了，临床直觉随一代人老去而失传。没有人宣布它的死亡，也很少有人意识到自己失去了什么。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这六个项目背后的指向是：<span textstyle="" style="font-weight: bold;">AI 可以接住这些正在断裂的经验，让它变成一种工具，一种传承。</span></span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5625" data-s="300,640" data-type="png" data-w="3840" type="block" data-imgfileid="305999581" src="https://wechat2rss.xlab.app/img-proxy/?k=2c119c86&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FZKqVLiaIpzFlj0mib5NAws1QsQmGTiccSeocLiabzKyf2gOKXeHYiavncIJ68hunt6SDpT3xaswKzTyfhULd6iapDoXaOZXZAPicpA74DJMvnqJicnE%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">这也许是 AI 能给世界留下的，一份不那么显眼、但足够持久的东西：<span textstyle="" style="font-weight: bold;">让那些本会被时间抹去的人类经验，留下来</span>。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">因为在 AI 到来之前，这些知识和声音，因为太过于不起眼和长尾，而被鉴定为没有价值，从而忽略。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">而借助 AI 来做出这些项目的人，也不是什么硅谷连续创业者。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">他们是，一个土耳其医生，一个智利大学老师，一个木匠的儿子。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf="">他们可能，就是你。</span></p><p style="font-size:16px;line-height:1.85;color:#3d3d3d;margin:20px 0;font-family: -apple-system, BlinkMacSystemFont, &#39;Helvetica Neue&#39;, &#39;PingFang SC&#39;, &#39;Microsoft YaHei&#39;, sans-serif;padding-top: 8px;padding-bottom: 8px;"><span leaf=""><span textstyle="" style="font-weight: bold;">相关链接：</span></span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> 获奖公告：<a href="https://x.com/claudeai/status/2049523899918934384" target="_blank">https://x.com/claudeai/status/2049523899918934384</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> 黑客松活动页：<a href="https://cerebralvalley.ai/e/built-with-4-7-hackathon" target="_blank">https://cerebralvalley.ai/e/built-with-4-7-hackathon</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> MedKit 演示 / GitHub：<a href="https://www.youtube.com/watch?v=6bN6hnx-A2A" target="_blank">https://www.youtube.com/watch?v=6bN6hnx-A2A</a> / <a href="https://github.com/bedriyan/medkit-app" target="_blank">https://github.com/bedriyan/medkit-app</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> Wrench Board 演示 / GitHub：<a href="https://www.youtube.com/watch?v=OZ2D_p82z6w" target="_blank">https://www.youtube.com/watch?v=OZ2D_p82z6w</a> / <a href="https://github.com/Junkz3/wrench-board" target="_blank">https://github.com/Junkz3/wrench-board</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> Maieutic 演示 / GitHub：<a href="https://www.youtube.com/watch?v=IJ9FyX2xwWA" target="_blank">https://www.youtube.com/watch?v=IJ9FyX2xwWA</a> / <a href="https://github.com/bcanata/maieutic" target="_blank">https://github.com/bcanata/maieutic</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> Virtual Puppet Theater 演示 / GitHub：<a href="https://www.youtube.com/watch?v=qLuGU4PQNss" target="_blank">https://www.youtube.com/watch?v=qLuGU4PQNss</a> / <a href="https://github.com/rhmoller/virtual-puppet-theater" target="_blank">https://github.com/rhmoller/virtual-puppet-theater</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> MaestrIA 演示：<a href="https://www.youtube.com/watch?v=rkH4AjoTL5Q" target="_blank">https://www.youtube.com/watch?v=rkH4AjoTL5Q</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> ARIA 演示 / GitHub：<a href="https://www.youtube.com/watch?v=Hen24w2Jyz4" target="_blank">https://www.youtube.com/watch?v=Hen24w2Jyz4</a> / <a href="https://github.com/zestones/Aria" target="_blank">https://github.com/zestones/Aria</a> </span></p><p style="font-size: 16px;line-height: 1.85;color: rgb(61, 61, 61);margin: 5px 0px;padding: 8px 0px 8px 25px;word-break: break-all;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;text-align: left;"><span style="line-height: 1.85;font-size: 16px;color: rgb(61, 61, 61);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, sans-serif;"><span leaf="">• </span></span><span leaf=""> Claude 开发者通讯：<a href="https://claude.com/newsletter/developers" target="_blank">https://claude.com/newsletter/developers</a> </span></p></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507932" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=56e6ce8b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtD2ucyAj4XMXP2Y0PWiaibroEEZFRSEAZt114LcCwoMxExb6jukvJVna5Bx5X6ZV9dRsFiclicloPmxyol5ib7aGicuA8MsXNACW2pCs%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=10a88532&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991581%26idx%3D1%26sn%3Ddd090fd58562b7b025438a0c7b77cf0c">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 08 May 2026 18:59:00 +0800</pubDate>
    </item>
    <item>
      <title>开源仅 5 天，暴涨 18.2K 标星！超牛的 Claude Design 开源替代品来了！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991578&amp;idx=1&amp;sn=14c1a9a899ea88b8e966bac996fa7d65</link>
      <description>设计应该是自由的，你的数据应该是你的。</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-05-05 20:49</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=4d4e575e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FrfBHhQhezUjsYiaHrwx6rEoFysSqed2aMpCqwmoaEEytmXeVWdNNdiaKicqFvAjeuXMjXMPZ9xcTjHmD2G0aHzEfgrGXF7eAbA2e7tOGvvfTGw%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>设计应该是自由的，你的数据应该是你的。</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 16px 8px 1.5em;letter-spacing: 0.1em;color: rgb(63, 63, 63);"><span leaf="">2026 年 4 月中旬，Anthropic 发布了 Claude Design，整个设计圈都炸开了锅。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">只需一句话描述，就能直接交付可交互的 HTML 设计稿，无需 Figma，无需 Photoshop，甚至无需懂设计。这种「从文本到成品」的体验，让无数人看到了设计行业的未来。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">但高兴没几天，现实就给了大家一记闷棍：Claude Design 仅对付费用户开放预览，且完全闭源，所有数据必须上传到 Anthropic 云端，不能换用其他模型，也无法自托管。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这哪里是工具，这分明是把创作者锁进了一个漂亮的笼子里。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">但是开源社区永远不缺大牛，</span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">nexu.io</span></code><span leaf=""> 创始人 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">Tom Huang</span></code><span leaf=""> 在 GitHub 上开源了一个 Claude Design 平替项目：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Open Design</span></strong><span leaf=""> 的项目。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022373" data-ratio="0.8296296296296296" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=f90a201f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUgKSzicOvgCTZbTS5WpTicaKMUkkoXnfA97ic1nT6iaM1hfJWGRrptjF7Px70rKeg4qzLreicPXib5aT416uEicRibibE5HAEeJBicjEjibQI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">开源仅仅 5 天，已经斩获了 18.2K 标星！涨势喜人，被开发者称为 &#34;Claude Design 的真正开源杀手——甚至更强&#34;。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它没有选择从头训练一个 AI 模型，而是走了一条更聪明、更开放的道路：不创建新的 AI 代理，而是让你电脑上已有的编码代理（Claude Code、Codex、Cursor、Gemini 等）直接变身设计引擎。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022374" data-ratio="0.5111111111111111" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=93892a82&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhvWpc6zJpScuYxHmyWw9tiakyvZvl2bCpZn6vSqmWRdeT1P0PUdBZCagYwBBebibtHbVUwgNjVxzebIbQ5ZGeWLLibhWlFJfhicTU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">项目简介</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Open Design</span></strong><span leaf=""> 是一个本地优先、可部署到 Vercel、每一层都 BYOK（自带密钥）的开源项目。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它的核心设计哲学非常简洁：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">我们不造 Agent，你的已经够好了</span></strong><span leaf="">。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它不是简单地把 Claude Design 的 Prompt 抄过来，而是完整复刻了 Claude Design 的核心体验，包括：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 结构化的交互式提问流程</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 品牌级设计系统约束</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 实时 Todo 流 + 五维自省批判机制</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 沙盒预览 + 一键导出多种格式</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 真实的文件系统交互</span></p></li></ul><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(136, 136, 136);">当我们输入「帮我做一份杂志风的种子轮 pitch deck」，AI 不会立刻开始生成像素。相反，Open Design 会先弹出一个交互式问题表单，帮你明确需求细节；然后从 5 套精挑的视觉方向中推荐一个；接着在 UI 中显示一张活的 </span></span><code><span leaf=""><span textstyle="" style="color: rgb(255, 41, 65);">TodoWrite</span></span></code><span leaf=""><span textstyle="" style="color: rgb(136, 136, 136);"> 计划卡片；同时在磁盘上构建出一个真实的项目目录，里面有 seed 模板、布局库、自检 checklist。</span></span></p></blockquote><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Agent 强制读取这些文件，对自己的输出跑一轮五维评审，几秒后吐出一个 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">&lt;artifact&gt;</span></code><span leaf="">，渲染在沙盒 iframe 里。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这不是 &#34;AI 试图做点设计&#34;，这是一个被提示词栈训练得像高级设计师一样工作的 AI。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">其次它的催生，是站在以下这四个开源项目的肩膀上：</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022375" data-ratio="0.2935185185185185" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=1c6dd10e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUgPyKnN1I9RBwxtT3LDaZXkGm09wC52YaMAZR3C2oOPV6TbHw0mRUeywT1MDOOogqDUzlricicwHy9mWw2yia9rDIonrztV0gicp6U%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">效果展示</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">入口页</span></strong><span leaf=""> —— 选 skill、选 design system、写一行需求。同一个表面服务原型、deck、移动端、dashboard、editorial 页面所有 mode。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022376" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=a012680a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUia2gzsUveDb0r7bPrjNGYibL2FnRg4VYM0vUibUgjKvA7Ycv1KqpicaDa6oxB41ibMrz285KDcP8Xuog4iahoyUgyiabVMXAVEwb1xgk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">初始化问题表单</span></strong><span leaf=""> —— 模型动笔之前，OD 先把需求锁住：surface、受众、调性、品牌上下文、规模。30 秒勾选项秒杀 30 分钟来回返工。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022377" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=6da209f7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUhtcbRmFDvFq6aVhF7dK2zYgLVtGyn2wT5EpdaLgbibeMkoPSFO3WEcbicG8kZfePhdDpKGFFXA9PubUpYnrggh2Lv1TKUB4xfNU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">方向选择器</span></strong><span leaf=""> —— 用户没有品牌上下文时，agent 自动跳第二个表单，5 套精选方向（Monocle / Modern Minimal / Tech Utility / Brutalist / Soft Warm）一个 radio 选完，色板 + 字体栈直接锁定，没有 freestyle 空间。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022378" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=4cc4c3ae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUhpMPiaaxMIxjWvjlnPePuRELxMV7HyPplnEKyxMWia66DXZ7onAxg2iaEru1UggBxlTTqRic8uxOEXNWLyxNPfbXjrftFsS7gicVWg%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">实时 todo 进度</span></strong><span leaf=""> —— Agent 的计划以活卡片形式流入 UI。in_progress → completed 实时切换。用户能在中途以极低成本介入纠偏。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022379" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=8b1dd74d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FrfBHhQhezUhCRQiaxSfpKYILFB9JA2OVoU8dTMu46Yt0uYN7pGJribBWL172jibuxPFvNDmpMVbFxfs8or2g5JicKn2TdMQVUztPs82zibXsqlDQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">沙盒预览</span></strong><span leaf=""> —— 每个  都在干净的 srcdoc iframe 里渲染。可在文件工作区里就地编辑；可下载为 HTML / PDF / ZIP。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022380" data-ratio="0.5341796875" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=5f71e112&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FrfBHhQhezUhg028TT92LozU0ygYpPk1o98jp0zzMeJRLalSAicZgpmfLlic0dvJFEibzaHQB1KdlcFQynh8bHd9NR5RicTiaF5k50V3zQnLyFeYM%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">72 套 design system 库</span></strong><span leaf=""> —— 每套产品系统都展示 4 色色卡。点进去看完整的 DESIGN.md、色板网格、live showcase</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022381" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=4ac6155d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUjjI1vcFjVLHicwuAFL0yZx7Hpzp1Af7W0IyHww8RJKhFicP2YMRCBlkIiafQfycmPtNFhlp8V0InlTvicGKdUB6JbYpHZl8ibZwjTY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Deck 模式（guizang-ppt）</span></strong><span leaf=""> —— 内置的 guizang-ppt-skill 原样接入。杂志版式、WebGL hero 背景、单文件 HTML 输出、可导 PDF。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022382" data-ratio="0.5341796875" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=e3f9efd5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUjM3xHCgmUibibU1HGHkVXxLzQEGM6umvgE7ndSJCF9SDW6x1MJ4QVapfqiaC2aPruhNOVtN2dAGN7Dvia5hTUdCafgLoP2OjqZHibs%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">移动端原型</span></strong><span leaf=""> —— 像素级精确的 iPhone 15 Pro chrome（灵动岛、状态栏 SVG、Home Indicator）。多屏原型直接复用 /frames/ 共享资源，agent 永远不需要重新画一遍手机。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022383" data-ratio="0.53515625" data-s="300,640" type="block" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=7b1e05b8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUgibtsRXRlIGZyx5eAHstHaiaOibEYQfgAmRfc8z4fsG0TosFEaFRakBwNHbUULbI96GN7LibUhwXQzcXaYNACuTITfQFL7IkyK1BU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">核心亮点</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">1、129 套品牌级设计系统</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Open Design 内置了 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">129 套 Design Systems</span></strong><span leaf="">，包括：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 2 套手写起手（Neutral Modern、Warm Editorial）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 70 套从 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">awesome-design-md</span></code><span leaf=""> 导入的产品系统</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 57 套来自 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">awesome-design-skills</span></code><span leaf=""> 的设计技能</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">每一套都包含完整的设计规范：颜色、排版、间距、组件、动效。你可以一键套用 Linear、Stripe、Vercel、Airbnb、Tesla、Notion、Apple、Cursor、Supabase、Figma、小红书等一线品牌的设计语言。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022384" data-ratio="1.0398148148148147" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=ff0c0cbb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhNquWxLnp6OEMmOR7Ntv5ibkCUObqJaxGvcxXH8KqrVdibPd2ToHkklV0qxPwv0iaP7bK9QlYaibZT6ficIeVjpYYib6LnbBGsgH7uI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">2、31 个可组合 Skills</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Open Design 有 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">31 个内置 Skills</span></strong><span leaf="">，按用途分为三大类：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">设计交付类（27 个 Prototype 模式）</span></strong><span leaf="">：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">web-prototype</span></code><span leaf=""> - 单页 HTML 落地页</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">saas-landing</span></code><span leaf=""> - SaaS 营销页面</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">dashboard</span></code><span leaf=""> - 后台管理界面</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">pricing-page</span></code><span leaf=""> - 定价页面</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">docs-page</span></code><span leaf=""> - 三栏文档页</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">blog-post</span></code><span leaf=""> - 长篇博客内容</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">mobile-app</span></code><span leaf=""> - 移动 App 屏幕（带设备框）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">mobile-onboarding</span></code><span leaf=""> - 移动端引导流</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">gamified-app</span></code><span leaf=""> - 游戏化移动应用</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">email-marketing</span></code><span leaf=""> - 邮件营销模板</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">social-carousel</span></code><span leaf=""> - 社媒轮播图</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">magazine-poster</span></code><span leaf=""> - 杂志海报</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">motion-frames</span></code><span leaf=""> - 动态帧设计</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">sprite-animation</span></code><span leaf=""> - 像素动画</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">dating-web</span></code><span leaf=""> - 约会类网站仪表盘</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">digital-eguide</span></code><span leaf=""> - 数字指南</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">wireframe-sketch</span></code><span leaf=""> - 手绘线框稿</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">critique</span></code><span leaf=""> - 五维自评审</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">tweaks</span></code><span leaf=""> - 微调面板</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">pm-spec</span></code><span leaf=""> - PM 规范文档</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">eng-runbook</span></code><span leaf=""> - 工程 Runbook</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">finance-report</span></code><span leaf=""> - 财务报表</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">hr-onboarding</span></code><span leaf=""> - HR 入职计划</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">invoice</span></code><span leaf=""> - 发票</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">kanban-board</span></code><span leaf=""> - 看板</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">team-okrs</span></code><span leaf=""> - OKR 评分卡</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">演示类（4 个 Deck 模式）</span></strong><span leaf="">：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">guizang-ppt</span></code><span leaf=""> - 杂志风格 Web PPT（默认）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">simple-deck</span></code><span leaf=""> - 简洁横滑演示</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">replit-deck</span></code><span leaf=""> - Replit 风格演示</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">weekly-update</span></code><span leaf=""> - 周报演示</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">每个 Skill 都是一个独立文件夹，遵循 Claude Code 的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">SKILL.md</span></code><span leaf=""> 规范，并叠加 Open Design 的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">od:</span></code><span leaf=""> frontmatter，极易扩展。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">3、11 种 CLI 代理支持</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Open Design 支持 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">11 种 coding-agent CLI</span></strong><span leaf="">，会自动在你的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">PATH</span></code><span leaf=""> 上检测：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Claude Code</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Codex</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Cursor Agent</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Gemini CLI</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• OpenCode</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Qwen</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• GitHub Copilot CLI</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Hermes</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Kimi</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Pi</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Kiro</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你可以一键切换使用哪个 agent 做设计引擎，不需要为 Open Design 单独付费。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你一个 CLI 都没装，也没关系，Open Design 还提供了 OpenAI 兼容的 BYOK 代理作为兜底，填入 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">baseUrl</span></code><span leaf=""> + </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">apiKey</span></code><span leaf=""> + </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">model</span></code><span leaf="">，任意 vendor（Anthropic-via-OpenAI、DeepSeek、Groq、MiMo、OpenRouter、自托管 vLLM）都能用。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">4、丰富的媒体生成</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">除了设计原型，Open Design 还支持生成图像、视频、音频，与设计循环并行可用：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">gpt-image-2</span></strong><span leaf="">（Azure / OpenAI）做海报、头像、信息图、城市插画地图</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Seedance 2.0</span></strong><span leaf="">（字节跳动）做 15 秒电影感 t2v + i2v</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">HyperFrames</span></strong><span leaf=""> 做 HTML→MP4 动态图形</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">内置 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">93 条</span></strong><span leaf=""> 可一键复刻的 prompt gallery，43 条 gpt-image-2 + 39 条 Seedance + 11 条 HyperFrames，都附预览图与来源署名。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">5、沙盒预览 + 多种导出</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">每个生成的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">&lt;artifact&gt;</span></code><span leaf=""> 都在干净的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">srcdoc iframe</span></code><span leaf=""> 里渲染，可以在文件工作区里就地编辑，也可以一键导出：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• HTML</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• PDF</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• PPTX</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• ZIP</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Markdown</span></p></li></ul><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速上手（5 分钟）</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">环境要求</span></span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Node.js: ~24</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• pnpm: 10.33.x（推荐用 Corepack 自动管理）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• OS: macOS、Linux、WSL2（Windows 原生也能用，但 WSL2 更稳定）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 可选：已安装的 coding-agent CLI（Claude Code、Codex 等）</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">安装步骤</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 1. 克隆项目</span></span><span leaf=""><br/></span><span leaf="">git</span><span style="color: #e78c45;"><span leaf=""> clone</span></span><span leaf=""> <a href="https://github.com/nexu-io/open-design.git" target="_blank">https://github.com/nexu-io/open-design.git</a></span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">cd</span></span><span leaf=""> open-design</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 2. 启用 Corepack 并安装依赖</span></span><span leaf="">corepack</span><span style="color: #e78c45;"><span leaf=""> enable</span></span><span leaf=""><br/></span><span leaf="">pnpm install</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 3. 启动完整产品（daemon + web + desktop）</span></span><span leaf="">pnpm tools-dev</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者只启动 daemon + web</span></span><span leaf="">pnpm tools-dev run web</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">启动后访问终端打印的 Web URL 即可使用。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">第一次使用</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">首次加载时，应用会自动检测你已安装的 code-agent CLI，默认选择 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">web-prototype</span></code><span leaf=""> skill + </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">Neutral Modern</span></code><span leaf=""> design system。你只需要：</span></p><ol style="padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">1. 选择一个 Skill（比如 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">saas-landing</span></code><span leaf=""> 或 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">dashboard</span></code><span leaf="">）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">2. 选择一个 Design System（比如 Linear、Stripe 等）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">3. 写一行需求（比如 &#34;帮我做一个 AI 写作助手的定价页面&#34;）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">4. 点击 Send</span></p></li></ol><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Agent 就会开始工作，实时显示 Todo 进度，生成的 HTML 会在右侧沙盒中即时预览。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">完成后点击 &#34;Save to disk&#34; 可以保存到磁盘。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">常用命令</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 启动完整产品（后台）</span></span><span leaf=""><br/></span><span leaf="">pnpm tools-dev</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 启动 daemon + web（前台）</span></span><span leaf="">pnpm tools-dev run web</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 查看状态</span></span><span leaf="">pnpm tools-dev status</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 查看日志</span></span><span leaf="">pnpm tools-dev logs</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 停止</span></span><span leaf="">pnpm tools-dev stop</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 重启</span></span><span leaf="">pnpm tools-dev restart</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 健康检查</span></span><span leaf="">pnpm tools-dev check</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 生产构建</span></span><span leaf="">pnpm build</span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">项目优势在哪？</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Open Design 的出现，意味着即使你不是专业设计师，也能用本地 Agent 快速产出高质量的网页、移动端原型和演示文档。它的价值在于：</span></p><ol style="padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">1. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">完全开源</span></strong><span leaf="">：你可以看到工作流的每个细节，理解 AI 是如何思考的，也可以二次开发。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">2. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">不锁定</span></strong><span leaf="">：换用任何模型都可以，不会被某家公司绑定。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">3. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">本地优先</span></strong><span leaf="">：数据永远在你手里，不会上传到第三方云端。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">4. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">零额外付费</span></strong><span leaf="">：你已经为 Claude Code 或其他 CLI 付费了，不需要再为 Open Design 付费。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">5. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">极强的扩展性</span></strong><span leaf="">：添加新的 Skill 只需要一个文件夹，社区可以持续贡献。</span></p></li></ol><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">对于独立开发者、产品经理、AI 爱好者、内容创作者来说，这都是一个极具生产力的新工具。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">当一个工具用 &#34;便利&#34; 把你圈入付费墙，再用 &#34;封闭&#34; 阻止你离开时，开源社区就会站出来。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Open Design 不是另一个 AI 玩具，它是对封闭生态的有力回应——设计应该是自由的，你的数据应该是你的，你的工具应该由你控制。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">GitHub</span></strong><span leaf="">：<span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/nexu-io/open-design" target="_blank">https://github.com/nexu-io/open-design</a></span></span></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507929" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=a3ac33d9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtBDia3tvMuHO0uz7QUnoybMvxZWDBXD7seCvA5UNzDUwsYzianWhVRBoGjNpRCEFdb5VAM0pARAvegXw7vKfuLnQREudM7wqT0iaQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=5a29d9a3&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991578%26idx%3D1%26sn%3D14c1a9a899ea88b8e966bac996fa7d65">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 05 May 2026 20:49:00 +0800</pubDate>
    </item>
    <item>
      <title>OpenAI 开源 Symphony：让每个任务自动跑一个 AI Agent</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991575&amp;idx=1&amp;sn=14225d63a151798d733a67c9c585d132</link>
      <description>从&#34;人和模型对话&#34;到&#34;人给系统派活&#34;。</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-04-30 16:15</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=dbbfaf60&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FTkWsojtosvToH81oE3cxQ6HwJc4icYVNVLnH0fgGMJJee4LvNmIpQclVkeuyA3oJ93eBqafPY7iaLAPA62xGWiasTWjXIytBGe6sHf4fVrjVJo%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>从"人和模型对话"到"人给系统派活"。</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> 六个月前，OpenAI 内部一个团队做了个大胆的决定：他们要建一个代码仓库，但一条人写的代码都不允许有——每一行都必须由 Codex 生成。他们重构了整个工程流程，造了个「Agent 友好型仓库」，投入大量精力写自动化测试和护栏，把 Codex 当正式队友来带。</span><span leaf=""><br/></span><span leaf="">这事还真做成了。但紧接着，他们撞上了新的天花板：人的注意力不够用了。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">瓶颈不在 Agent，在人</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 的工程师 Alex Kotliarskyi（也是 React Native 的核心贡献者）在推文中说得很直白：</span></p><span leaf=""><img alt="OpenAI 工程师 Alex Kotliarskyi 解释 Symphony 的起源" class="rich_pages wxw-img" data-aistatus="1" data-ratio="1.1953703703703704" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=b91cf7c7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQibDhz7WxdEp9Iu6G3OG5U6ZdsT8EUJs20R7tciahtL9ngX2bxrK3FErppatVtBaP8I1QMjM8efNAxicewVicpIste6o43sjfooNg%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Codex 很聪明，但人的注意力是有限的。当团队里每个人同时开好几个 Codex 会话，在终端之间来回切——这个会话卡住了要调试，那个会话在做什么已经忘了——工程师的时间被「微管理 Agent」吃掉了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">实际上，大多数人能同时管理的 Codex 会话只有 3-5 个。超过这个数，效率直线下降。会忘掉哪个会话在做什么，在终端之间跳来跳去纠偏，调试半路卡住的长任务。</span></p><p nodeleaf=""></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Agent 的速度很快，但系统瓶颈出现了：</span><strong style="font-weight: bold;color: #333;"><span leaf="">人的注意力</span></strong><span leaf="">。OpenAI 的团队实际上造了一群能力极强的初级工程师，然后让高级工程师全职去微管理他们。这不是长久之计。</span></p><span leaf=""><img data-aistatus="1" alt="一个工程师盯5个Agent的崩溃场景" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=883edb3a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQvHtJ1ctiaYIAFODrNJI3Ks1LMSsEpvbEKMp0n8TP1vpEAVXQDSk2PcOprocibnhib4XMEJHS8vJSSKUGXdp610OssSIykMGicmRI%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">视角转换：从管理会话到管理任务</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">团队意识到他们在优化错误的东西。之前一直围绕「编码会话」和「合并 PR」来设计流程，但这些只是手段。软件工程的真正组织单元是什么？是需求、是任务、是里程碑。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">那如果不再让人去直接监督 Agent，而是让 Agent 从任务管理器里自己拉活呢？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个想法变成了 Symphony。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">Symphony 的核心思路：把 Issue 看板当成控制面板。每个待办任务自动分配一个 Agent，Agent 7×24 小时运行直到任务完成，人类只需要看结果。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">Symphony 的完整工作流程</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">先看一张全景图，了解单个任务在 Symphony 里是怎么走完一圈的：</span></p><span leaf=""><img data-aistatus="1" alt="Symphony 单个任务的生命周期：接单→写代码→提交PR→审核" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=5b5847a4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSfVcbsTaHzUl8DwHfNkHaGIyf9j9vOGRIgaVraUlNfrZ1U9dcZMqxlmBXnFN4g4tSkXHPUWcXDzvR1dV66I3Vb29bItlaDiadE%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">具体来说，Symphony 做了这几件事：</span></p><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">自动接单</span></strong><span leaf="">：持续轮询 Linear 看板，每个处于活跃状态的任务都会被分配一个独立的 Agent 工作区</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">2</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">独立工作区</span></strong><span leaf="">：每个任务有自己的目录空间，Agent 之间互不干扰，不会出现两个 Agent 同时改同一个文件的情况</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">3</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">自动重启</span></strong><span leaf="">：Agent 崩了或卡住了，Symphony 自动拉起来继续跑，不需要人工干预</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">4</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">状态驱动</span></strong><span leaf="">：通过 Linear 的任务状态（Todo → In Progress → Review → Done）驱动整个流程。注意，Symphony 本身只负责读取和调度，状态转换是 Agent 通过工具完成的</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">5</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><strong style="font-weight: bold;color: #333;"><span leaf="">依赖管理</span></strong><span leaf="">：任务之间可以设依赖关系。Agent 会自动判断：哪些不依赖别人可以并行，哪些得等前置完成</span></span></li></ol><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这种设计有个很实际的用处。比如一个复杂需求可以拆成一棵任务树：先做「迁移到 Vite」，再做「升级 React」，再做「更新组件库」。Agent 自动识别依赖关系，Vite 迁移没完成之前，React 升级的任务会被标记为 Blocked，不会提前启动。等 Vite 搞定了，React 升级自动开始。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">还有一些有趣的细节：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Agent 在实现过程中发现改进点（性能问题、重构机会、更好的架构），会自己创建新的 Issue，后面这些新任务也会被其他 Agent 接走</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">每个任务不一定只产生一个 PR——有些任务可能跨多个仓库产出多个 PR，有些可能是纯分析调研，根本不碰代码</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">一旦工作被抽象成「任务」而非「会话」，任务的粒度可以大得多——团队经常用 Symphony 来编排复杂的功能开发和基础设施迁移</span></p></li></ul><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">Agent 的能力是怎么一步步进化的</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 坦诚分享了一个关键教训：</span><strong style="font-weight: bold;color: #333;"><span leaf="">把 Agent 当成状态机里的刚性节点是行不通的。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">早期版本，Symphony 只让 Codex 去实现任务描述里的功能。结果很快发现这个框太窄了。Codex 完全有能力创建多个 PR、阅读 review 反馈并处理它、甚至做更多事情。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">所以 OpenAI 开始给 Agent 装工具——</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">gh</span></code><span leaf=""> CLI、读 CI 日志的技能等等。Agent 的能力边界被不断推远：</span></p><table style="width: 100%;font-size: 13px;text-align: center;border-collapse: collapse;margin-bottom: 20px;border: 1px solid #e5e7eb;"><thead><tr><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">阶段</span></p></th><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">Agent 能做什么</span></p></th></tr></thead><tbody><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">最初</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">实现任务描述里的功能，提交一个 PR</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">第二阶段</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">处理 Code Review 反馈，修改后重新提交</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">第三阶段</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">关闭过期的 PR、统计完成/放弃的任务比例</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">第四阶段</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">分析代码库和 Slack/Notion，生成实施计划</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">未来</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">谁知道呢——模型在持续变强</span></p></td></tr></tbody></table><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">最终的思路是：</span><strong style="font-weight: bold;color: #333;"><span leaf="">给 Agent 目标，而不是严格的步骤。</span></strong><span leaf=""> 就像好的管理者给下属定方向而不是写操作手册——模型的核心能力是推理，给它工具和上下文，让它自己发挥。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">但也不是所有任务都适合。需要强判断力的模糊问题、需要深度专业知识的工作，仍然需要工程师直接用交互式 Codex 会话来做。好消息是，日常重复性的实现工作被 Symphony 接管了，工程师可以专注在真正有意思的难题上。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">实际效果：PR 数量翻 5 倍</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 公布了内部数据：部分团队在使用 Symphony 后的前三周，</span><strong style="font-weight: bold;color: #333;"><span leaf="">合并的 PR 数量增加了 500%</span></strong><span leaf="">。</span></p><span leaf=""><img data-aistatus="1" alt="使用 Symphony 前后对比" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=10905867&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvR4S91icOGTxicB7faApuPiasZU0yFK6n7mUOwfTVUdWTvYma8grEINBN36KeqKZOSQKe93as13RmUyTcXzLqEtgjvkTiaRoLp4jK0%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Linear 创始人 Karri Saarinen 也分享了一个有意思的观察：</span></p><span leaf=""><img data-aistatus="1" alt="Linear 创始人 Karri Saarinen 分享 Symphony 带来的增长" class="rich_pages wxw-img" data-ratio="1.337962962962963" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=a7c66a08&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSFnoRibqtblibo9KQm42erJWGrf6JjbsDdw107RsyEPCkZXtDy6VrXCQ8Z2rBMKVjnT34bjhq6YJOVMRdJ09uh7ZaYZXHUYaibeI%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Symphony 开源发布后，Linear 上的新工作空间数量出现了明显增长。这说明不只是 OpenAI 在用，整个开发社区都在尝试这种「看板驱动 Agent」的模式。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">更深层的变化不是产出量，而是</span><strong style="font-weight: bold;color: #333;"><span leaf="">工作方式本身变了</span></strong><span leaf="">。当工程师不再花时间盯 Agent 会话，发起一个代码变更的心理门槛一下子就降下来了。想试个想法？提个任务就行。探索性重构？提个任务就行。反正 Agent 24 小时在线，不睡觉，随时接单。搞出来不好用？扔掉就是，成本几乎为零。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这也改变了</span><strong style="font-weight: bold;color: #333;"><span leaf="">谁可以发起工作</span></strong><span leaf="">。产品经理和设计师现在可以直接往 Symphony 里提需求——不用 checkout 代码库，不用管理 Codex 会话，描述完需求就能收到一个包含功能演示视频的审核包。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Ryan Carson 分享了他的实践经验：</span></p><span leaf=""><img data-aistatus="1" alt="Ryan Carson 分享同时跑 5 个 Agent 的实践经验" class="rich_pages wxw-img" data-ratio="1.337962962962963" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=831f4090&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvRGmhNKWficxkGO6nXwXjTDOgjSaubILVgKziavKJfg5picFCINR86GFZjnvyjnOves69fW43ynhSdHD1X8GOFeuibMPGPv9ZLo0oQ%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他同时跑 5 个 Agent，用 Symphony + Codex + Linear 的组合，实现了团队 100% 代码由 AI 编写。甚至有工程师在山间小木屋里用手机上的 Linear App 就完成了三个重大变更——因为只需要提任务，Agent 会在 devbox 上自己干活。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">还有一个有意思的细节：团队在观察中发现，使用 Symphony 后最大的变化不是产出量，而是</span><strong style="font-weight: bold;color: #333;"><span leaf="">探索行为大幅增加</span></strong><span leaf="">。当发起一次代码变更的代价趋近于零，人们开始更频繁地做实验性尝试——试一个想法、探索一次重构、验证一个假设，然后只留下看起来有希望的结果。这种「低成本试错」模式以前只有在 Google 这种级别的内部工具链里才能做到。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">对大仓库特别有用</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 自己是巨型 monorepo，PR 合并的最后一段路程（过 CI、rebase、解冲突、重试不稳定的检查）特别慢、特别容易出问题。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Symphony 在这块帮了大忙——它会持续盯着 CI 状态，自动 rebase，自动解冲突，自动重试偶然失败的检查项。等任务到达「合并中」状态时，团队已经很有信心这个变更能顺利合入主分支，不需要人工 babysit。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">技术本质：一个 Markdown 规格文件</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">打开 Symphony 的 GitHub 仓库，你会发现一个出乎意料的事实：</span><strong style="font-weight: bold;color: #333;"><span leaf="">Symphony 技术上就是一个 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">SPEC.md</span></code><span leaf=""> 文件</span></strong><span leaf="">——对问题的定义和预期解决方案的描述。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 没有去造一个复杂的监控系统。它定义了以下核心组件：</span></p><table style="width: 100%;font-size: 13px;text-align: center;border-collapse: collapse;margin-bottom: 20px;border: 1px solid #e5e7eb;"><thead><tr><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">组件</span></p></th><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">职责</span></p></th></tr></thead><tbody><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Workflow Loader</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">读取 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">WORKFLOW.md</span></code><span leaf="">，解析 YAML 配置和 prompt 模板</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Config Layer</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">配置参数的类型化读取，处理默认值和环境变量</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Issue Tracker Client</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">从 Linear 获取候选任务，标准化为统一的 Issue 模型</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Orchestrator</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">核心调度器：轮询看板、分发任务、处理重试和协调</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Worker</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">为每个任务创建工作区、启动 Agent、管理会话生命周期</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Workspace Manager</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">创建和管理每个任务的独立目录</span></p></td></tr></tbody></table><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">整个系统的状态机只有 5 个状态：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">Unclaimed → Claimed → Running → RetryQueued → Released</span></code><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这种「规格即代码」的思路很有意思：不是硬编码每个状态转换，而是定义好目标和约束，让 Agent 自己推理怎么从 A 走到 B。社区已经基于这个 spec 做了多种实现（包括 Elixir/OTP 版本），说明 spec 本身的设计足够通用。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">用 Symphony 构建 Symphony</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">最 meta 的是：</span><strong style="font-weight: bold;color: #333;"><span leaf="">Symphony 本身就是用 Symphony 来开发的。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">团队把 Symphony 的开发任务拆成 Issue，然后用 Symphony 自己来编排 Agent 完成这些任务。等于说这个工具在开发自己的过程中就在被验证和迭代。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">代价和局限</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">说了这么多好处，也得讲讲代价。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Token 消耗巨大。</span></strong><span leaf=""> 有用户（Dan McAteer）报告，他的 Symphony 在处理一个项目时，14 小时内消耗了约 3.88 亿 Token，按 GPT-5.4 API 定价算下来大约 1000 美元。他的一周 Codex 用量已经清零（可能是用量配额被吃光了）。对个人开发者来说，这个成本目前可能不划算。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">不适合模糊问题。</span></strong><span leaf=""> 需要强判断力、需要深度专业知识的任务，仍然得工程师亲自上手。Symphony 解决的是「知道要做什么」之后的那部分执行工作。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">需要完善的前置条件。</span></strong><span leaf=""> 自动化测试、护栏、文档——这些东西得先到位，否则 Agent 跑起来就是在制造混乱。OpenAI 在此前的 harness engineering 博客里详细讲过怎么建这些基础设施。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">失去了实时纠偏的能力。</span></strong><span leaf=""> 从「实时引导 Agent」变成「事后审核结果」，有时候 Agent 产出的东西完全跑偏了。OpenAI 的策略是不手动修补结果，而是把失败当作系统改进的信号——加护栏、加技能、完善文档，让 Agent 下次能自己搞定。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">写在后面</span></h2><span leaf=""><img data-aistatus="1" alt="工程师从微管理Agent中解放出来" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=7d9c844d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvThSDTKBgbgFBONiaS9Y2nQ7um89eFibIFic4R03VFjsVJ9I0XDjziaZ6YSM3LpCnlxHKyhITBQzXzQcMsWGYfPribGZZ1SgvRoEIj8%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Symphony 背后反映的趋势很明确：</span><strong style="font-weight: bold;color: #333;"><span leaf="">AI 编码工具正在从「人和模型对话」进化到「人给系统派活」</span></strong><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">以前是你打开终端，跟 Codex 聊，等它写完代码，你再审。现在是你往 Linear 里提个任务，Agent 自己拉代码、写代码、跑测试、提 PR，你只需要看最终结果说「行」或「不行」。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个转变对团队的影响比单个工具大得多。它改变了谁可以发起工作、发起工作的成本有多低、以及工程师的时间花在哪里。正如那条推文说的：提示词框只是一个阶段，未来是 always-on 的编排。</span></p><p><span leaf="">OpenAI 开源了 Symphony——一个把任务看板变成 AI Agent 自动化编排系统的工具。每个待办任务自动分配 Codex Agent，7×24 小时运行，工程师只需要审核结果。内部数据显示部分团队 PR 数量增长 500%。它代表了一个趋势：AI 编码从「人跟模型对话」走向「人给系统派活」。不过 Token 成本不低（14 小时可能烧 1000 美元），也不适合所有类型的任务。</span></p><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">OpenAI 官方博客：<a href="https://openai.com/index/open-source-codex-orchestration-symphony/" target="_blank">https://openai.com/index/open-source-codex-orchestration-symphony/</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Symphony GitHub 仓库：<a href="https://github.com/openai/symphony" target="_blank">https://github.com/openai/symphony</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">OpenAI 此前博客「Harness Engineering」：<a href="https://openai.com/index/harness-engineering/" target="_blank">https://openai.com/index/harness-engineering/</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Linear 创始人 Karri Saarinen 讨论：<a href="https://x.com/karrisaarinen/status/2031773828284919878" target="_blank">https://x.com/karrisaarinen/status/2031773828284919878</a></span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507926" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=0f18f8f1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtDx1pmAicNwtP4tyXnc0UqxdsSwg9kFgicywvNMYcP0icAFdDFgibywBLgdfmib7aK8J4DxUdfgAcibNay7yoR2XCNBpVrQdkiaYn37wk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=46327c0d&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991575%26idx%3D1%26sn%3D14225d63a151798d733a67c9c585d132">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 30 Apr 2026 16:15:00 +0800</pubDate>
    </item>
    <item>
      <title>1.7 万人收藏的 AI 第二大脑！YC 总裁亲自开源了自己的 AI 记忆系统！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991572&amp;idx=1&amp;sn=ef19a6b6802f6bab12942e9a11fb1895</link>
      <description>让 AI Agent持续变聪明的长期记忆工具。</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-04-24 22:07</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=565e41c6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUiarH8gTFiaYVyibQAJRYdJHwuS88zib2JEjzuobdJUCibguYEdRqfXm9N2pEbWHqW9y0B0zrzFhCdqerQrkGpE8Vq4lYJ9aMNAaLkE%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>让 AI Agent持续变聪明的长期记忆工具。</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 16px 8px 1.5em;letter-spacing: 0.1em;color: rgb(63, 63, 63);"><span leaf="">在 AI Agent 席卷全球的当下，</span><strong style="color: rgb(66, 166, 100);font-weight: bold;font-size: inherit;"><span leaf="">「记忆系统」</span></strong><span leaf=""> 正被业界视为比底层模型本身更关键的技术瓶颈。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这不是某个模型的问题，而是所有 AI Agent 的通病——</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">金鱼脑</span></strong><span leaf="">。每次开聊都从零开始，昨天告诉它的事今天就当没发生过。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">为此，Y Combinator（YC）总裁 Garry Tan 在 GitHub 上开源了他个人日常使用的生产级AI记忆系统——</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">GBrain</span></strong><span leaf="">。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022303" data-ratio="0.3398148148148148" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=11780caf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUjvFpo7ovT846wrFtib1k5M0coemLh9dGPAQV8icoSdxuicDOIcE7UPNzeLMWZHXKCeFEDVQdnz4ibtlk39AZ5as5Bib5LicfNqGMR5Y%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">开源至今已经狂揽 <span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">10.7K+</span> Stars，在 X 平台上触达超过 150 万人。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这不是某个模型的问题，而是所有 AI Agent 的通病——</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">金鱼脑</span></strong><span leaf="">。每次开聊都从零开始，昨天告诉它的事今天就当没发生过。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">目前里面已经有 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">17888 个页面、4383 个人物、723 家公司、21 个定时任务</span></strong><span leaf="">全自动运转。整套东西他只用了 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">12 天</span></strong><span leaf="">就搭出来了。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">说白了，GBrain 干的事就一句话：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">给你的 AI Agent 装一个能持续变聪明的长期记忆</span></strong><span leaf="">。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你的 Agent 接入它之后，会在你睡觉的时候自己变聪明。自动消化你的会议记录、邮件、推特、语音通话和你随手记下的想法，顺手帮你补全每个出现过的人和公司的资料，还会自己修复坏掉的引用、整理凌乱的记忆。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">第二天你起床，这个脑子已经比你昨晚睡前更聪明了。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">GBrain 到底是什么？</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GBrain 是一个 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">个人知识大脑系统</span></strong><span leaf="">，专门配合 OpenClaw、Hermes Agent 这类 AI Agent 平台使用。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它把你散落在各处的 Markdown 笔记——不管是人脉档案、公司资料、会议记录、随手想法还是收藏的文章——统统变成一个</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">可搜索、可推理、持续增长的知识图谱</span></strong><span leaf="">。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">不是简单的文件存储，而是让 AI 能真正&#34;读懂&#34;并&#34;运用&#34;你的知识。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Garry Tan 本人用它管理着 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">10000+ Markdown 文件</span></strong><span leaf="">，涵盖 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">3000+ 人脉资源、13 年的日历数据、无数会议记录和媒体内容</span></strong><span leaf="">。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">和 GStack 什么关系？</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你关注 Garry 的开源动态，应该知道他之前还开源了 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">GStack</span></strong><span leaf="">——一套专门教 AI Agent 写代码的 Skill 工作流，目前 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">8 万+ Star</span></strong><span leaf="">。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022304" data-ratio="0.4203703703703704" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=1bcb9e30&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhKCM0hjzCNM4V9Ftiaib2Adm3B2wgIKibPDkHcwFnWKs38FpAA3FA5cPYDjcNrcNCbTCMsZfMmIeXBOCn1W7UkDx0UmpGf49PaRs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">GStack 教 Agent 怎么写代码，GBrain 教 Agent 怎么记事和思考。</span></strong><span leaf=""> 两个项目可以独立用，也能合体。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">开源仓库里有个 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">hosts/gbrain.ts</span></code><span leaf=""> 就是那座桥，装上之后 GStack 的编码 Skill 在动手写代码前会先查一下脑子，看看你之前是不是讨论过、决定过什么。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你已经在用 GStack，装上 GBrain 基本就拼出 Garry Tan 自己那套完整工作流了：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">一个管手，一个管脑</span></strong><span leaf="">。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">核心亮点</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">1、25 个 Skill 即插即用</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GBrain 自带 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">25 个 Skill</span></strong><span leaf="">，装上就能用，按用途分了几大类。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">里面有两个是永远在线的：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">signal-detector</span></strong><span leaf="">：每条新消息进来，都会顺手起一个便宜的小模型在后台跑，把你随口说的</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">原创观点</span></strong><span leaf="">和提到的</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">人名、公司名</span></strong><span leaf="">都抓出来。脑子是在你不知不觉中长大的。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">brain-ops</span></strong><span leaf="">：Agent 回答任何问题之前，会先去脑子里查一遍，查不到再去调外部 API。这就解决了 AI 经常瞎编的问题——</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">查不到它会直接告诉你脑子里没这个信息，而不是给你胡诌一段</span></strong><span leaf="">。</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">剩下的还有：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">内容摄入类</span></strong><span leaf="">：会议、邮件、推特、PDF、视频、GitHub 仓库全吃</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">运维类</span></strong><span leaf="">：cron 调度、每日简报、引用自检、过期页面巡检</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">实体丰富类</span></strong><span leaf="">：自动补全人物档案、公司信息</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">任务管理类</span></strong><span leaf="">：每日任务准备、跨模态审查</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">完全是一套</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">自治系统</span></strong><span leaf="">，你只管喂数据，AI 负责归档和整理。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">2、Compiled Truth + Timeline 双层结构</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个设计挺顶的，值得单独拎出来讲。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">每个 brain page 分两层：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">上方 Compiled Truth</span></strong><span leaf="">：当前最佳理解，可以被随时改写。比如你对某个朋友的认知，会随着新的接触不断刷新。你对某家公司的判断，会随着新信息持续修正。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">下方 Timeline</span></strong><span leaf="">：只追加不删除，记录每条原始证据。什么时候、在哪场会议、谁说了什么，全部留痕。</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">为啥这么设计？因为既要让认知能进化，又不能丢历史。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">AI 之前的笔记类工具要么覆盖式更新，查的时候发现内容被改了却不知道啥时候改的；要么纯追加，查的时候一团乱。GBrain 这个分层算是</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">把两边的好处都拿了</span></strong><span leaf="">：上面是活的知识，下面是死的证据链。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">3、混合搜索 + 实体自动升级</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">搜索这块用的是</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">关键词 + 向量 + RRF 融合 + 多查询扩展 + 4 层去重</span></strong><span leaf="">。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">简单讲：关键词搜索能精准命中原话，向量搜索能找到意思相近的内容，两个一起上再融合排序，基本不会漏。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">更有意思的是它的</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">实体自动升级机制</span></strong><span leaf="">：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 同一个人在你的资料里被提到 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">1 次</span></strong><span leaf="">，只生成一个 stub 页面</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 提到 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">3 次以上</span></strong><span leaf="">，系统自动联网补料，从 LinkedIn、Twitter、公司主页之类的地方拉信息回来</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 提到 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">8 次以上</span></strong><span leaf="">，或者你跟他开过会，直接走完整管线，生成一份详细 dossier</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">脑子自己学谁重要，不需要你手动标。</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它还有个 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">fail-improve 循环</span></strong><span leaf="">：每次 LLM 兜底分类的时候都会被记录下来，系统自动从这些记录里生成更好的正则。脑子自己在变得更便宜更准。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速入手</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GBrain 设计的时候就是要让 AI Agent 自己装的，所以官方最推荐的方式是把一段 prompt 丢给你的 Agent 让它自己搞。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">路线 A：让 Agent 自己装（推荐）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你已经在跑 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">OpenClaw</span></strong><span leaf=""> 或 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Hermes Agent</span></strong><span leaf="">，直接把下面这段贴进去：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code data-language-pending="" data-raw-code="Retrieve and follow the instructions at:
https://raw.githubusercontent.com/garrytan/gbrain/master/INSTALL_FOR_AGENTS.md" data-show-line-number="false" style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">Retrieve and follow the instructions at:</span><span leaf=""><br/></span><span leaf=""><a href="https://raw.githubusercontent.com/garrytan/gbrain/master/INSTALL_FOR_AGENTS.md" target="_blank">https://raw.githubusercontent.com/garrytan/gbrain/master/INSTALL_FOR_AGENTS.md</a></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">剩下的 Agent 自己来：克隆仓库、安装依赖、初始化大脑、加载 25 个 Skill、配置定时任务。你只需要回答几个关于 API Key 的问题，</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">大概 30 分钟</span></strong><span leaf="">全部搞定。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">路线 B：独立 CLI（不用 Agent）</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">git</span><span style="color: #e78c45;"><span leaf=""> clone</span></span><span leaf=""> <a href="https://github.com/garrytan/gbrain.git" target="_blank">https://github.com/garrytan/gbrain.git</a> &amp;&amp;</span><span style="color: #e78c45;"><span leaf=""> cd</span></span><span leaf=""> gbrain &amp;&amp; bun install &amp;&amp; bun</span><span style="color: #e78c45;"><span leaf=""> link</span></span><span leaf=""><br/></span><span leaf="">gbrain init</span><span style="color: #969896;"><span leaf="">                     # 本地大脑，2 秒就绪</span></span><span leaf=""><br/></span><span leaf="">gbrain import ~/notes/</span><span style="color: #969896;"><span leaf="">          # 导入你的 Markdown 笔记</span></span><span leaf=""><br/></span><span leaf="">gbrain query</span><span style="color: #b9ca4a;"><span leaf=""> &#34;what themes show up across my notes?&#34;</span></span><span style="color: #969896;"><span leaf="">  # 查询</span></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">路线 C：MCP Server（接入 Claude Code / Cursor / Windsurf）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GBrain 暴露了 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">30+ MCP 工具</span></strong><span leaf="">，通过 stdio 或 HTTP 接入：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">本地 MCP（Claude Code, Cursor, Windsurf）：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">{</span><span leaf=""><br/></span><span leaf="">  &#34;mcpServers&#34;</span><span leaf="">:</span><span leaf=""> {</span><span leaf=""><br/></span><span leaf="">    &#34;gbrain&#34;</span><span leaf="">:</span><span leaf=""> {</span><span leaf=""> &#34;command&#34;</span><span leaf="">:</span><span style="color: #b9ca4a;"><span leaf=""> &#34;gbrain&#34;</span></span><span leaf="">,</span><span leaf=""> &#34;args&#34;</span><span leaf="">:</span><span leaf=""> [</span><span style="color: #b9ca4a;"><span leaf="">&#34;serve&#34;</span></span><span leaf="">]</span><span leaf=""> }</span><span leaf=""><br/></span><span leaf="">  }</span><span leaf=""><br/></span><span leaf="">}</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">远程 MCP（Claude Desktop, Cowork, Perplexity）：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 部署到 Supabase，一行脚本</span></span><span leaf=""><br/></span><span leaf="">git</span><span style="color: #e78c45;"><span leaf=""> clone</span></span><span leaf=""> <a href="https://github.com/garrytan/gbrain.git" target="_blank">https://github.com/garrytan/gbrain.git</a> &amp;&amp;</span><span style="color: #e78c45;"><span leaf=""> cd</span></span><span leaf=""> gbrain</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 填 3 个环境变量，然后：</span></span><span leaf="">scripts/deploy-remote.sh</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 生成访问令牌</span></span><span leaf="">gbrain auth create</span><span style="color: #b9ca4a;"><span leaf=""> &#34;claude-desktop&#34;</span></span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GBrain不是完美的，它的一些功能（如编译真相重写、梦循环、实体检测）更多是作为Markdown指令文档来指导AI Agent做什么，而不是作为可执行代码。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">但这不妨碍它是一个极具参考价值的项目。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">毕竟，这是YC总裁亲自在用的生产级方案，完全开源，MIT许可。对于正在摸索AI Agent落地应用的开发者而言，这无疑是当前极具参考价值的宝库。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GitHub：<span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/garrytan/gbrain" target="_blank">https://github.com/garrytan/gbrain</a></span></span></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507923" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=166f3bc9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtAv6aQhmSt6h4FoKyviblX8hrrCdIEMeMBxC7rtTYCZOBWECZK6JIfLq6RDsib0zN76s4icic6licxzGGoewyQaQ8kQKhEYnxlKYw2o%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=074e44d6&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991572%26idx%3D1%26sn%3Def19a6b6802f6bab12942e9a11fb1895">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 24 Apr 2026 22:07:00 +0800</pubDate>
    </item>
    <item>
      <title>一日一技：Vibe Coding 时代，如何用系统设计思路给大模型爬虫省钱提速</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991569&amp;idx=1&amp;sn=295ff53b145ac923bcbbefe87aff353a</link>
      <description>Vibe Coding时代下传统工程经验的作用。</description>
      <content:encoded><![CDATA[<p>原创 <span>kingname</span> <span>2026-04-20 13:53</span> <span style="display: inline-block;">四川</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=9a9c4e1f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtDM6I8TKVvaYEibnz7omKBThicLKIgCpk5qByuhYXUIfUxOwWtKxbuxHkWZptqsE7lE7662QAhqFvZr2VPpiax1ibvicBXnLTv0ehgc%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Vibe Coding时代下传统工程经验的作用。</p>
  <div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []"><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.3328125" data-s="300,640" data-type="jpeg" data-w="1280" type="block" data-imgfileid="501507915" src="https://wechat2rss.xlab.app/img-proxy/?k=e34859ff&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtD17LKg9jFeiczvMXz7AGBYibmEMT5w4nlpRDJI6ibd5WibvADoxtL1njncEptia7ASnuzSRDmhPRXtcRmULS3ECCNp8LTJQxRklKdA%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="font-size: 15px;color: rgb(136, 136, 136);">摄影：产品经理</span></span></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="font-size: 15px;color: rgb(136, 136, 136);">青椒腊肉和一个忘记了名字的菇</span></span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin: 16px 0px 0px;padding: 8px 0px;"><span leaf="">在大模型出来之前，计算机领域一直流行着这样一句名言：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">计算机领域的任何问题，都可以通过拆分问题+给系统增加若干个层来解决。</span></strong><span leaf=""> 实际上，这句话在现在的 AI 时代，依然是绝对的真理。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">例如以前面试经常问的一个老掉牙的系统设计问题：如何设计一个短网址系统？标准答案是，使用内存+Redis+数据库做多级存储架构。读取最频繁的短网址放到内存，其次的放到 Redis，不频繁的放到数据库。通过增加分层，完美解决高并发和存储成本的矛盾。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">现在有了大模型，大家都在玩 Vibe Coding（用自然语言指挥 AI 写代码），很多人觉得以前的工程经验没用了，反正大模型什么都能干。但我认为恰恰相反，在用 AI 写代码时，大家更应该把“拆分与分层”这句话牢牢记在心里。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">举个现实的例子，你想做一个招聘聚合网站，需要从各个公司的官网抓取他们的招聘信息，获得工作详情。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">如果你没有任何工程经验，是个纯小白，你可能直接就甩给 AI 这样一段提示词：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">帮我设计一个爬虫系统，我输入某公司的官网，你需要进入官网，找到里面的招聘页面，然后进入每一个工作，抓取工作的名字，工作地点，薪资和工作要求，并储存到数据库。</span></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我相信现在很多人就是这样写的。并且不得不承认，现在的模型确实太聪明了——如果你用例如 Claude Opus 4.6 或者 Opus 4.7，再加上 Claude Code 这种工具，写出来的基于 Browser Use 的智能爬虫确实能运行，甚至效果可能还不错。它会自己打开浏览器，截图，识别哪里是下一页，哪里是详情。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">有同学可能会说，既然能跑通，而且不用我写一行代码，那这不就足够了吗？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">但如果你真的把它扔到服务器上跑，你会发现这样设计的系统有两个致命缺陷：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">成本极高，简直是在烧钱。</span></strong><span leaf=""> 这个系统大概率会强依赖 Browser Use 和多模态视觉模型。大模型其实是在“看”网页。每次打开页面都要截图，把截图传给 API，让大模型通过视觉能力去识别按钮在哪里，判断下一步怎么操作。几千个网页抓下来，那庞大的 Token 消耗量和昂贵的 API 调用费，会让你当场破产。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">速度极慢，慢到令人发指。</span></strong><span leaf=""> 每次网页跳转、翻页、点进详情，都要和大模型进行一次甚至多次交互。大模型推理是需要时间的，一次交互被拉慢 30 秒甚至一分钟非常正常。抓一个公司的招聘列表，可能要跑到天荒地老。</span></p></li></ol><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">作为一个软件工程师，我想说的是，如果你把大模型当成一个无需思考的“黑盒”，你一定会被它的成本反噬。实际上，如果有工程经验和系统设计经验，即使我们现在不手写代码了，在使用 Claude Code 进行 Vibe Coding 时，也一定会给系统多增加一些限制。</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5625" data-s="300,640" data-type="jpeg" data-w="1280" type="block" data-imgfileid="501506620" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">既然单靠大模型硬干太蠢且太贵，我们可以通过增加分层，设计一个</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">三级火箭式</span></strong><span leaf="">的爬虫架构：</span></p><h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">第一层：寻找并拦截后端接口（低成本、光速）</span></span></h3><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">现在的现代网站，极大比例都是前后端分离的，通过 Ajax 异步加载数据。前端渲染得再花哨，本质上也是接收了后端返回的 JSON 数据。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">在使用 Vibe Coding 时，我不会让 AI 直接去“看”网页，而是会给它这样下指令：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">先不要去解析 HTML。请先写一段代码尝试抓包或者分析该网站的网络请求（Network），重点寻找返回 JSON 格式工作信息的 API 接口。如果找到了 API，直接提取关键字段储存。</span></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">只要第一层走通了，我们就拿到了最原始、最干净的数据。拿到以后改一下字段名马上就能入库，不需要任何 HTML 解析和浏览器渲染。速度拉满，而且运行时完全不消耗大模型 Token，成本为零。</span></p><h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">第二层：大模型生成解析规则（中成本、高并发）</span></span></h3><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">当然，并不是所有网站都有现成的 JSON 接口可以抓，遇到那些传统的服务端渲染（SSR）页面怎么办？直接上 Browser Use 吗？错。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">大模型在第一次运行时，可以完整走完网页分析流程。但请注意，</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">它这次的目的并不是直接提取数据，而是去生成“提取规则”。</span></strong></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个时候我的 Prompt 会变成这样：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">这是一个服务端渲染的 HTML 网页。请你分析这个网页的 DOM 结构，帮我写出提取工作名字、地点、薪资的 XPath 规则或者 BeautifulSoup/正则表达式的提取代码。将这套代码封装成一个 Python 函数。</span></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">大模型只在写代码、定规则的“第一次”参与工作。接下来从第二次抓取开始，我们就可以像跑传统爬虫一样，发送 HTTP 请求，拿着大模型写好的规则去提取数据。在这个日常运行的过程中，完全不再需要依赖浏览器，也不需要向大模型发请求。大并发跑起来毫无压力。</span></p><h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">第三层：Browser Use 智能兜底（高成本、低频）</span></span></h3><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">只有在前两步都彻底搞不定——例如遇到了极其恶心的动态混淆、页面数据被 Canvas 加密、或者极其严格的反爬机制，传统的 HTTP 请求和规则提取都失效了，这时候，我们才祭出最后的杀招：使用真实的浏览器环境 + 大模型视觉识别来兜底。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">明确告诉 AI：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">如果前面的静态抓取和 API 接口都失效了，请回退到使用 Playwright/Browser Use 控制真实浏览器，通过截图和大模型视觉能力，点击对应元素来获取数据。</span></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">既然这是少数极其难啃的硬骨头，那这部分高昂的时间和金钱成本就是我们可以接受的。</span></p><h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">总结</span></span></h3><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">通过把系统拆分成“API拦截 -&gt; 规则生成 -&gt; 智能视觉兜底”这三个层，大量常规请求被第一层和第二层拦截，极大地降低了系统对昂贵大模型 API 的调用频次。我们可以显著降低 90% 以上的 API 成本，并极大提高爬虫的运行效率。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">大模型确实能帮你敲代码，极大降低了编程的门槛。但如何设计一个优雅、省钱、可扩展且高效的系统，依然需要你脑子里的工程智慧。在 Vibe Coding 时代，AI 替代的是你的手，而不是你的脑子。</span></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5490741" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="501507918" src="https://wechat2rss.xlab.app/img-proxy/?k=fc6dcc6a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtAXQnibiaAeicDqB0jveZSZq8Q6v1dUiaRbHLcgwV32qv6wqlMyib9ZSibhD7g3NFp9ukeZrzreFJBu5PRKIl71Nt6SmvbSKsMZ0l7NQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=aa0bc870&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991569%26idx%3D1%26sn%3D295ff53b145ac923bcbbefe87aff353a">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 20 Apr 2026 13:53:00 +0800</pubDate>
    </item>
    <item>
      <title>一日一技：如何正确节省90%的大模型Token</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991560&amp;idx=1&amp;sn=feb2d6e452dd04746697f71628297fe3</link>
      <description>省Token的正确方法。</description>
      <content:encoded><![CDATA[<p>原创 <span>kingname</span> <span>2026-04-16 15:46</span> <span style="display: inline-block;">四川</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=d884b497&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtDa4AkN1zY6M6veYdglXpZanDVdWIZia26ulalianNu5yRBhnClDCOibRWLdkxklEVKpkWa0GDaMHqygXyv8H1BqQxqTzrPHUCLJA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>省Token的正确方法。</p>
  <div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []"><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.3333333333333333" data-s="300,640" data-type="jpeg" data-w="1080" type="block" data-imgfileid="501507909" src="https://wechat2rss.xlab.app/img-proxy/?k=6e58952c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtAr7G7FQj7emk5jicAXTUEGGzmOlAlNFmyencdzJC8JoBMXUDqr0VTb5HKI78OB9X7jt5GhYc79B82AoQFqDPR0tNuaH2JdzJCM%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="font-size: 15px;color: rgb(136, 136, 136);">摄影：产品经理</span></span></p><p style="text-align: center;"><span leaf=""><span textstyle="" style="font-size: 15px;color: rgb(136, 136, 136);">水蕨菜</span></span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">最近在各种AI编程社区里面逛，发现一个很有意思的现象——大家都在疯狂地折腾怎么省Token。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">有人搞Prompt缓存，有人换便宜模型，甚至还有人专门写了一个</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">省Token.skill</span></code><span leaf="">，让大模型在回复的时候尽量精简。更夸张的是，有人为了省钱，把Claude换成了各种开源小模型，然后抱怨说效果变差了。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这些操作，怎么说呢，就像你家水龙头在哗哗漏水，你不去修水龙头，反而跑去超市买打折的矿泉水。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">其实真正吃掉你Token的大头，不是大模型的回复太长，也不是你的Prompt写多了。</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">是Skill本身。</span></strong></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">Skill到底在干什么</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">先给不太熟悉的同学解释一下。Skill就是一段预定义的指令，告诉大模型应该怎么一步一步完成一个任务。比如你可以写一个Skill，让大模型帮你操作浏览器，上某个网站搜东西，然后把结果整理出来。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">听起来很方便对吧？问题出在哪呢？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我们来看一个具体的例子。假设我要让AI帮我做这么一件事：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">打开浏览器，访问Amazon，搜索&#34;牛仔裤&#34;，从第一页的搜索结果里找到最便宜的那条，把商品名称和链接返回给我。</span></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个需求很简单，对人来说，打开网页点几下就搞定了。我们用Skill来实现它。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">第一版：纯Skill实现</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我写了一个Skill，核心逻辑大概是这样的：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #e06c75;line-height: 26px;"><span leaf="">## Steps</span></span><span style="color: #61aeee;line-height: 26px;"><span leaf=""><br/></span><span leaf="">1. </span></span><span leaf="">使用浏览器工具，导航到 <a href="https://www.amazon.com" target="_blank">https://www.amazon.com</a></span><span leaf=""><br/></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">2. </span></span><span leaf="">找到搜索框，输入&#34;牛仔裤&#34;并搜索</span><span leaf=""><br/></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">3. </span></span><span leaf="">等待搜索结果加载</span><span leaf=""><br/></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">4. </span></span><span leaf="">获取页面快照，分析第一页所有商品的名称和价格</span><span leaf=""><br/></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">5. </span></span><span leaf="">比较所有价格，找出最便宜的商品</span><span leaf=""><br/></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">6. </span></span><span leaf="">返回该商品的名称、价格和链接</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">看起来清晰明了。我直接在Claude Code里面运行这个Skill，模型用的是Opus 4.6——没办法，要驱动浏览器工具做这种多步骤操作，小模型根本搞不定。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">运行这个Skill，我足足等了</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">12分钟</span></strong><span leaf="">。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">跑完以后我去OpenRouter后台看了一下这次任务的消耗：</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4703703703703704" data-s="300,640" data-type="png" data-w="1080" type="block" data-imgfileid="501507903" src="https://wechat2rss.xlab.app/img-proxy/?k=7d310a86&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F2kbib4svZTtA0G7078gpSFqmFcALH3z0V1wNjyEyC0RPzqYCBbUj5qBLECMfSCfa4cLjy6bJlicoXicNuWtZXsPmTHULJUeH9Kg52fILTOv2eI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">看到没有？几十次API调用，每次都携带将近</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">10万tokens</span></strong><span leaf="">的上下文。最后一算总账，这个看似简单的任务消耗了我将近</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">10美元</span></strong><span leaf="">。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">这钱花在哪了？</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我仔细看了一下每次API调用的内容，发现了一个非常离谱的事情：</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">大模型在用&#34;智力&#34;做不需要智力的事情。</span></strong></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">举几个例子：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">导航到Amazon首页</span></strong><span leaf=""> —— 大模型需要&#34;思考&#34;应该调用browser_navigate工具，传入URL。就这么一个简单的操作，一轮对话下来，系统提示词、工具定义、Skill内容、对话历史全部打包发送，直接吃掉将近</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">10万tokens</span></strong><span leaf="">。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">找搜索框并输入关键词</span></strong><span leaf=""> —— 大模型需要先调用snapshot获取页面结构，然后&#34;思考&#34;哪个元素是搜索框，再调用type输入文字。两轮对话，又是将近</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">20万tokens</span></strong><span leaf="">。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">点击搜索按钮</span></strong><span leaf=""> —— 又是一轮对话，大模型需要分析页面快照，找到搜索按钮的ref ID，然后调用click。又是10万tokens。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">分析搜索结果</span></strong><span leaf=""> —— 这里是最夸张的。大模型需要获取整个页面的快照，这个快照本身就很长，然后它需要从里面找到所有商品的价格信息，进行比较。又是10万tokens。</span></p></li></ol><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">你看出问题了吗？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">打开一个URL，在搜索框里输入文字，点击按钮——这些操作需要大模型来&#34;思考&#34;吗？这就好比你请了一个数学教授来帮你按计算器，教授每按一个键之前都要在脑子里推演一遍偏微分方程。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">几十次API调用里面，真正需要大模型&#34;智力&#34;的，其实只有一步：从搜索结果中判断哪个商品最便宜。</span></strong><span leaf=""> 其他全是确定性的操作——打开网页、输入文字、点击按钮、提取文本——这些操作写几行Python就能搞定，根本不需要大模型参与。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">第二版：代码+大模型混合实现</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">想明白了这一点，我让Claude Code把这个Skill改造成Python脚本。原则很简单：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">所有确定性的、不需要智力判断的环节，用代码实现。只有需要智力判断的环节，才调用大模型。</span></strong></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">改造后的代码核心逻辑是这样的：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;"><span leaf="">from</span></span><span leaf=""> playwright.sync_api </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">import</span></span><span leaf=""> sync_playwright</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">import</span></span><span leaf=""> openai</span><span leaf=""><br/></span><span style="line-height: 26px;"><span style="color: #c678dd;line-height: 26px;"><span leaf="">def</span></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">find_cheapest_jeans</span></span><span style="line-height: 26px;"><span leaf="">()</span></span><span leaf="">:</span></span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># ===== 第一部分：纯代码，不需要大模型 =====</span></span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">with</span></span><span leaf=""> sync_playwright() </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">as</span></span><span leaf=""> p:</span><span leaf=""><br/></span><span leaf="">        browser = p.chromium.launch(headless=</span><span style="color: #56b6c2;line-height: 26px;"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        page = browser.new_page()</span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 1. 导航到Amazon（确定性操作，不需要AI）</span></span><span leaf=""><br/></span><span leaf="">        page.goto(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;<a href="https://www.amazon.com" target="_blank">https://www.amazon.com</a>&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 2. 搜索牛仔裤（确定性操作，不需要AI）</span></span><span leaf=""><br/></span><span leaf="">        page.fill(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;input[name=&#34;field-keywords&#34;]&#39;</span></span><span leaf="">, </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;牛仔裤&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        page.press(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;input[name=&#34;field-keywords&#34;]&#39;</span></span><span leaf="">, </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;Enter&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        page.wait_for_load_state(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;networkidle&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 3. 提取搜索结果（确定性操作，不需要AI）</span></span><span leaf=""><br/></span><span leaf="">        results = page.query_selector_all(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;div[data-component-type=&#34;s-search-result&#34;]&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        products = []</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> result </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> results[:</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">20</span></span><span leaf="">]:  </span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 只取前20个</span></span><span leaf=""><br/></span><span leaf="">            title_el = result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;h2 span&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">            price_el = result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;.a-price .a-offscreen&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">            link_el = result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;h2 a&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> title_el </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">and</span></span><span leaf=""> price_el </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">and</span></span><span leaf=""> link_el:</span><span leaf=""><br/></span><span leaf="">                products.append({</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">: title_el.inner_text(),</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">: price_el.inner_text(),</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;url&#39;</span></span><span leaf="">: </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;<a href="https://www.amazon.com" target="_blank">https://www.amazon.com</a>&#39;</span></span><span leaf=""> + link_el.get_attribute(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;href&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">                })</span><span leaf=""><br/></span><span leaf="">        browser.close()</span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># ===== 第二部分：需要大模型的智力判断 =====</span></span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 为什么这里要用大模型？因为价格格式可能不统一</span></span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 有的写 $29.99，有的写 $29.99 - $35.99，有的有优惠券</span></span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 还有的价格是&#34;See price in cart&#34;，这些需要AI来理解</span></span><span leaf=""><br/></span><span leaf="">    client = openai.OpenAI(</span><span leaf=""><br/></span><span leaf="">        base_url=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;<a href="https://openrouter.ai/api/v1" target="_blank">https://openrouter.ai/api/v1</a>&#34;</span></span><span leaf="">,</span><span leaf=""><br/></span><span leaf="">        api_key=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;your-key&#34;</span></span><span leaf=""><br/></span><span leaf="">    )</span><span leaf=""><br/></span><span leaf="">    product_text = </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;\n&#34;</span></span><span leaf="">.join(</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;[</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{i+</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">1</span></span><span leaf="">}</span></span><span leaf="">] </span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{p[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">]}</span></span><span leaf=""> | </span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{p[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> i, p </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> enumerate(products)</span><span leaf=""><br/></span><span leaf="">    )</span><span leaf=""><br/></span><span leaf="">    response = client.chat.completions.create(</span><span leaf=""><br/></span><span leaf="">        model=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;minimax/minimax-m1&#34;</span></span><span leaf="">,</span><span leaf=""><br/></span><span leaf="">        messages=[{</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;role&#34;</span></span><span leaf="">: </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;user&#34;</span></span><span leaf="">,</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;content&#34;</span></span><span leaf="">: </span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;下面是Amazon搜索牛仔裤的结果，请找出最便宜的一条。&#34;</span></span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;只返回序号数字，不要其他内容。\n\n</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{product_text}</span></span><span leaf="">&#34;</span></span><span leaf=""><br/></span><span leaf="">        }]</span><span leaf=""><br/></span><span leaf="">    )</span><span leaf=""><br/></span><span leaf="">    idx = int(response.choices[</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">0</span></span><span leaf="">].message.content.strip()) - </span><span style="color: #d19a66;line-height: 26px;"><span leaf="">1</span></span><span leaf=""><br/></span><span leaf="">    cheapest = products[idx]</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">return</span></span><span leaf=""> cheapest</span><span leaf=""><br/></span><span leaf="">result = find_cheapest_jeans()</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;最便宜的牛仔裤：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;价格：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;链接：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;url&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">注意看代码的结构——我用注释把它分成了两部分。第一部分是纯代码操作：打开浏览器、输入搜索词、提取商品信息。这些操作100%确定性，不需要大模型参与。第二部分才是调用大模型：让它从一堆商品里面判断哪个最便宜。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">你可能会问，比较价格为什么还需要大模型？直接用代码排序不就行了？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">因为Amazon的价格格式乱七八糟。有的商品显示</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">$29.99</span></code><span leaf="">，有的显示</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">$29.99 - $45.99</span></code><span leaf="">（价格区间），有的写</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">See price in cart</span></code><span leaf="">，还有的价格旁边带一个</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">with coupon</span></code><span leaf="">。要把这些情况全部用代码处理，你光写正则表达式就得写半天。但对大模型来说，理解这些格式是它的强项。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">效果对比</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">运行改造后的代码，17秒跑完，结果直接打印在终端里。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">去OpenRouter后台一看——API调用次数：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">1次</span></strong><span leaf="">。Token消耗：约</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">2.1K tokens</span></strong><span leaf="">。费用：<span textstyle="" style="font-weight: bold;">$0.004</span>。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我把两次运行的数据放在一起对比：</span></p><p data-tool="mdnice编辑器" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;overflow-x: auto;"><table style="display: table;text-align: left;"><thead><tr><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><p><span leaf="">指标</span></p></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><p><span leaf="">纯Skill</span></p></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><p><span leaf="">代码+大模型</span></p></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><p><span leaf="">节省比例</span></p></th></tr></thead><tbody><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">运行时间</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">12分钟</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">17秒</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">97%</span></strong></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">API调用次数</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">几十次</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">1次</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">&gt;97%</span></strong></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">费用</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">~$10</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><p><span leaf="">$0.004</span></p></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">&gt;99%</span></strong></td></tr></tbody></table></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">没有看错，费用从10美元降到了不到半美分，</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">降了99%以上</span></strong><span leaf="">。运行时间从12分钟降到17秒，快了40多倍。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">为什么差距这么大</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">很多人没有意识到一个问题：大模型每做一次工具调用，都需要携带完整的上下文。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">第一次调用，大模型需要接收系统提示词+工具定义+用户消息。光Claude Code的系统提示词和工具定义就有好几万tokens，加上Skill的内容，第一轮就将近10万tokens了。它返回一个工具调用，然后你把工具执行结果发回去。第二次调用，大模型需要接收之前所有的内容+第一次的助手消息+第一次的工具结果+……</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">看出来了吗？</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">每多一轮工具调用，上下文就膨胀一次。</span></strong><span leaf=""> 几十轮下来，累积的tokens量是天文数字。而这些历史消息里面，绝大部分是浏览器页面快照——那些密密麻麻的HTML元素和ref ID。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这就是为什么工具调用密集型的Skill特别费Token。不是大模型话多，是它每次说话之前，都要把之前所有的对话重新&#34;读&#34;一遍。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">而改造成代码以后，浏览器操作全部由Playwright完成，大模型只需要在最后被调用一次。它接收到的输入就是一个简单的商品列表文本，2K tokens搞定。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">有Claude订阅？那就更香了</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">上面的例子我用的是OpenRouter + Opus 4.6。但如果你有Claude Pro或Team订阅，还有一个更狠的玩法。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">先说一个现实：Claude的官方API价格确实不便宜。Sonnet 4每百万输入Token 3美元，输出15美元。Opus就更不用说了。如果你用API来跑上面这种工具调用密集型任务，几十轮对话下来，光API费用就够你心疼的。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">但订阅用户有一个巨大的优势——Anthropic提供了一个叫</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">Claude Agent SDK</span></strong><span leaf="">的东西。这个SDK可以直接调用你本地的Claude Code，走的是你的订阅额度，</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">不需要额外提供任何大模型API Key</span></strong><span leaf="">。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">什么意思呢？就是说你每个月付的那20美元订阅费，本来就包含了5小时的Claude Code使用时间。现在你可以通过Agent SDK，在自己的Python脚本里直接调用Claude Code来完成那个&#34;需要智力判断&#34;的环节。不需要OpenRouter，不需要API Key，不需要额外花一分钱。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我们来看看改造后的代码：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;"><span leaf="">import</span></span><span leaf=""> anyio</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">from</span></span><span leaf=""> playwright.async_api </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">import</span></span><span leaf=""> async_playwright</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">from</span></span><span leaf=""> claude_agent_sdk </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">import</span></span><span leaf=""> query, ClaudeAgentOptions, AssistantMessage, TextBlock</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">async</span></span><span style="line-height: 26px;"><span style="color: #c678dd;line-height: 26px;"><span leaf="">def</span></span><span style="color: #61aeee;line-height: 26px;"><span leaf="">find_cheapest_jeans</span></span><span style="line-height: 26px;"><span leaf="">()</span></span><span leaf="">:</span></span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># ===== 第一部分：纯代码，不需要大模型 =====</span></span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">async</span></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">with</span></span><span leaf=""> async_playwright() </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">as</span></span><span leaf=""> p:</span><span leaf=""><br/></span><span leaf="">        browser = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> p.chromium.launch(headless=</span><span style="color: #56b6c2;line-height: 26px;"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        page = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> browser.new_page()</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> page.goto(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;<a href="https://www.amazon.com" target="_blank">https://www.amazon.com</a>&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> page.fill(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;input[name=&#34;field-keywords&#34;]&#39;</span></span><span leaf="">, </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;牛仔裤&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> page.press(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;input[name=&#34;field-keywords&#34;]&#39;</span></span><span leaf="">, </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;Enter&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> page.wait_for_load_state(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;networkidle&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">        results = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> page.query_selector_all(</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;div[data-component-type=&#34;s-search-result&#34;]&#39;</span></span><span leaf=""><br/></span><span leaf="">        )</span><span leaf=""><br/></span><span leaf="">        products = []</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> result </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> results[:</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">20</span></span><span leaf="">]:</span><span leaf=""><br/></span><span leaf="">            title_el = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;h2 span&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">            price_el = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;.a-price .a-offscreen&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">            link_el = </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> result.query_selector(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;h2 a&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> title_el </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">and</span></span><span leaf=""> price_el </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">and</span></span><span leaf=""> link_el:</span><span leaf=""><br/></span><span leaf="">                products.append({</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">: </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> title_el.inner_text(),</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">: </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> price_el.inner_text(),</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;url&#39;</span></span><span leaf="">: </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;<a href="https://www.amazon.com" target="_blank">https://www.amazon.com</a>&#39;</span></span><span leaf=""><br/></span><span leaf="">                           + </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> link_el.get_attribute(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;href&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">                })</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">await</span></span><span leaf=""> browser.close()</span><span leaf=""><br/></span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># ===== 第二部分：调用Claude Code，走订阅额度 =====</span></span><span leaf=""><br/></span><span leaf="">    product_text = </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;\n&#34;</span></span><span leaf="">.join(</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;[</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{i+</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">1</span></span><span leaf="">}</span></span><span leaf="">] </span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{p[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">]}</span></span><span leaf=""> | </span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{p[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> i, p </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> enumerate(products)</span><span leaf=""><br/></span><span leaf="">    )</span><span leaf=""><br/></span><span leaf="">    prompt = (</span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;下面是Amazon搜索牛仔裤的结果，请找出最便宜的一条。&#34;</span></span><span leaf=""><br/></span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;只返回序号数字，不要其他内容。\n\n</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{product_text}</span></span><span leaf="">&#34;</span></span><span leaf=""><br/></span><span leaf="">    )</span><span leaf=""><br/></span><span leaf="">    result_text = </span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;&#34;</span></span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">async</span></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> message </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> query(</span><span leaf=""><br/></span><span leaf="">        prompt=prompt,</span><span leaf=""><br/></span><span leaf="">        options=ClaudeAgentOptions(</span><span leaf=""><br/></span><span leaf="">            system_prompt=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#34;你是一个价格比较助手，只返回数字。&#34;</span></span><span leaf="">,</span><span leaf=""><br/></span><span leaf="">            max_turns=</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">1</span></span><span leaf=""><br/></span><span leaf="">        )</span><span leaf=""><br/></span><span leaf="">    ):</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> isinstance(message, AssistantMessage):</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">for</span></span><span leaf=""> block </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> message.content:</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> isinstance(block, TextBlock):</span><span leaf=""><br/></span><span leaf="">                    result_text += block.text</span><span leaf=""><br/></span><span leaf="">    idx = int(result_text.strip()) - </span><span style="color: #d19a66;line-height: 26px;"><span leaf="">1</span></span><span leaf=""><br/></span><span leaf="">    cheapest = products[idx]</span><span leaf=""><br/></span><span style="color: #c678dd;line-height: 26px;"><span leaf="">return</span></span><span leaf=""> cheapest</span><span leaf=""><br/></span><span leaf="">result = anyio.run(find_cheapest_jeans)</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;最便宜的牛仔裤：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;title&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;价格：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;price&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">print(</span><span style="color: #98c379;line-height: 26px;"><span leaf="">f&#34;链接：</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">{result[</span><span style="color: #98c379;line-height: 26px;"><span leaf="">&#39;url&#39;</span></span><span leaf="">]}</span></span><span leaf="">&#34;</span></span><span leaf="">)</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">核心变化就一个——把OpenRouter的API调用换成了</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">claude_agent_sdk</span></code><span leaf="">的</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">query</span></code><span leaf="">函数。安装也很简单：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">pip install claude-agent-sdk</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个SDK会自动调用你本地装好的Claude Code。只要你登录了Claude订阅账号，它就直接走你的订阅额度，不走API计费。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这意味着什么？上面那个&#34;需要智力判断&#34;的步骤，从花 </span><span style="cursor:pointer;" data-formula="0.004变成了花 "><span data-formula="0.004变成了花 "><svg xmlns="http://www.w3.org/2000/svg" role="img" focusable="false" viewBox="0 -750 5837.7 950" aria-hidden="true" style="vertical-align: -0.452ex;width: 13.208ex;height: 2.149ex;"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500, 0)"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(778, 0)"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(1278, 0)"></path><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z" transform="translate(1778, 0)"></path></g><g data-mml-node="mo" transform="translate(2555.8, 0)"><text data-variant="normal" transform="matrix(1 0 0 -1 0 0)" font-size="819.2px" font-family="serif"><tspan leaf="">变</tspan></text><text data-variant="normal" transform="translate(820.9, 0) matrix(1 0 0 -1 0 0)" font-size="819.2px" font-family="serif"><tspan leaf="">成</tspan></text><text data-variant="normal" transform="translate(1641.7, 0) matrix(1 0 0 -1 0 0)" font-size="819.2px" font-family="serif"><tspan leaf="">了</tspan></text><text data-variant="normal" transform="translate(2461.1, 0) matrix(1 0 0 -1 0 0)" font-size="819.2px" font-family="serif"><tspan leaf="">花</tspan></text></g></g></g><g></g></svg></span></span><span leaf="">0。对，</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">零额外费用</span></strong><span leaf="">。你唯一消耗的，是5小时额度里面的几秒钟而已。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">而且还有一个隐藏的好处——既然大模型调用的部分已经不花钱了，你甚至可以在脚本里多调几次Claude。比如让它先判断哪些搜索结果是真正的牛仔裤（排除广告和配件），再从里面找最便宜的。之前用API的时候，多调一次就多花一次钱，你会下意识地省着用。现在走订阅额度，心理负担一下就没了。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">所以最终的方案就是：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">Playwright负责干活，Claude负责动脑，订阅负责买单。</span></strong><span leaf=""> 三者各司其职，效率拉满，额外开销为零。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">别搞混了：是.py文件，不是代码片段</span></span></h2><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf="">这里我要特别强调一点，因为我知道肯定有同学会搞混。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">我说的&#34;把Skill改成代码&#34;，</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">不是</span></strong><span leaf="">让你在Skill的Markdown里面嵌入代码片段。类似这样：</span></p><pre style="box-sizing: border-box;font-size: 16px;font-family: SFMono-Regular, Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;margin: 10px 0px;overflow: auto;cursor: pointer;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;padding: 0px;color: rgb(0, 0, 0);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><code style="box-sizing: border-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;display: -webkit-box;overflow-x: auto;padding: 15px 16px 16px;color: rgb(171, 178, 191);background: rgb(40, 44, 52);cursor: pointer;border-radius: 5px;"><span style="box-sizing: border-box;color: rgb(224, 108, 117);cursor: pointer;line-height: 26px;"><span leaf="">## Steps</span></span><span style="box-sizing: border-box;color: rgb(97, 174, 238);cursor: pointer;line-height: 26px;"><span leaf=""><br/></span><span leaf="">1. </span></span><span leaf="">运行以下Python代码来打开浏览器并搜索：</span><span leaf=""><br/></span><span style="box-sizing: border-box;cursor: pointer;line-height: 26px;"><span leaf="">```</span></span><span leaf="">python</span><span leaf=""><br/></span><span leaf="">   from playwright.sync</span><span style="box-sizing: border-box;font-style: italic;cursor: pointer;line-height: 26px;"><span leaf="">_api import sync_</span></span><span leaf="">playwright</span><span leaf=""><br/></span><span leaf="">   # ...一堆代码...</span><span leaf=""><br/></span><span style="box-sizing: border-box;cursor: pointer;line-height: 26px;"><span leaf="">```</span></span><span leaf=""><br/></span><span style="box-sizing: border-box;color: rgb(97, 174, 238);cursor: pointer;line-height: 26px;"><span leaf="">2. </span></span><span leaf="">分析返回的结果，找出最便宜的商品</span></code></pre><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">这种写法，本质上还是Skill。大模型读到这段Skill以后，它还是会一步一步地调用工具——调用终端执行你写的代码片段，然后读取输出，然后&#34;思考&#34;下一步该干什么。每一步照样携带完整上下文，该膨胀的Token一个都不会少。你只是把浏览器操作从browser工具调用换成了terminal工具调用，换汤不换药。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">我说的是，把整个任务逻辑写成一个</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">真正的.py文件</span></strong><span leaf="">。比如</span><code style="box-sizing: border-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 14px;cursor: pointer;color: rgb(30, 107, 184);line-height: 1.8em;letter-spacing: 0em;background: none left top / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin: 0px 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;overflow-wrap: break-word;word-break: break-all;"><span leaf="">find_cheapest_jeans.py</span></code><span leaf="">，保存在你的电脑上。这个脚本从头到尾自己跑，中间需要大模型判断的地方，通过Agent SDK自己调用Claude，最后把结果打印出来。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">下次你想用的时候，在Claude Code里面说一句：</span></p><blockquote style="box-sizing: border-box;margin: 20px 0px;cursor: pointer;padding: 10px 10px 10px 20px;border-style: none none none solid;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0.05);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow: auto;color: rgb(0, 0, 0);font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;padding: 8px 0px;font-weight: normal;"><span leaf="">帮我运行 find_cheapest_jeans.py</span></p></blockquote><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">就完事了。Claude Code收到这句话，调用一次终端执行</span><code style="box-sizing: border-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 14px;cursor: pointer;color: rgb(30, 107, 184);line-height: 1.8em;letter-spacing: 0em;background: none left top / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin: 0px 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;overflow-wrap: break-word;word-break: break-all;"><span leaf="">python find_cheapest_jeans.py</span></code><span leaf="">，脚本自己跑完，结果直接打印出来。整个过程对Claude Code来说，就是</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">一次工具调用</span></strong><span leaf="">——执行一个命令，返回输出。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">对比一下：</span></p><ul style="box-sizing: border-box;margin: 8px 0px;cursor: pointer;list-style-type: disc;padding: 0px 0px 0px 25px;color: rgb(0, 0, 0);font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">Skill方式</span></strong><span leaf="">：Claude Code读取Skill → 思考第一步 → 调用工具 → 读取结果 → 思考第二步 → 调用工具 → …… → 几十轮对话，烧掉10美元</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">.py文件方式</span></strong><span leaf="">：Claude Code执行一条命令 → 脚本自己跑完 → 返回结果。</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">1轮对话，不到1K tokens</span></strong></p></li></ul><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">看到没有？连之前那2.1K tokens都省了。因为脚本内部调用Agent SDK时，走的是一次独立的Claude会话，不会叠加到Claude Code的主对话上下文里。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">所以记住：</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">Skill是给大模型看的说明书，.py文件是给Python解释器跑的程序。</span></strong><span leaf=""> 一个要烧Token，一个不用。别搞混了。</span></p><h2 style="box-sizing: border-box;margin: 30px 0px 15px;color: rgba(0, 0, 0, 0.85);font-weight: 500;cursor: pointer;padding: 0px;display: block;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;cursor: pointer;font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">你也可以这样做</span></span></h2><p><span leaf="">我上面举的这个例子可能不是特别好，有人可能会说，如果我不仅仅要爬亚马逊，还要爬虾皮，淘宝，小红书这些呢？每一个网站都手动写代码吗？</span></p><p><span leaf="">其实你可以第一次运行的时候让大模型操作浏览器走完全程，并生成playwright的代码，后面从第二次开始，所有操作都通过代码进行。</span></p><p style="margin-bottom: 24px;"><span leaf="">除此之外，你日常使用的很多Skill，是完全固定的，毫无变化的流程，例如自动发送小红书帖子。就一个网站，同一个流程，这种就非常适合写代码。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">其实道理很简单，你日常用的很多Skill，仔细想想就会发现——</span><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">大部分步骤都是确定性的操作</span></strong><span leaf="">。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">比如：</span></p><ul style="box-sizing: border-box;margin: 8px 0px;cursor: pointer;list-style-type: disc;padding: 0px 0px 0px 25px;color: rgb(0, 0, 0);font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1"><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">打开某个网站 → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">在搜索框输入关键词 → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">点击按钮 → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">提取页面上的文字 → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">读取文件内容 → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">调用某个API → 代码搞定</span></p></li><li style="box-sizing: border-box;cursor: pointer;"><p style="box-sizing: border-box;cursor: pointer;margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">格式化输出结果 → 代码搞定</span></p></li></ul><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">真正需要大模型的，往往只有中间那一小步&#34;判断&#34;或&#34;理解&#34;的环节。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">所以下次当你觉得Token花得太多的时候，不要急着去折腾缓存、换模型、写</span><code style="box-sizing: border-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 14px;cursor: pointer;color: rgb(30, 107, 184);line-height: 1.8em;letter-spacing: 0em;background: none left top / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin: 0px 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;overflow-wrap: break-word;word-break: break-all;"><span leaf="">省Token.skill</span></code><span leaf="">。先看看你的Skill，问自己一个问题：</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><strong style="box-sizing: border-box;font-weight: bold;cursor: pointer;color: rgb(0, 0, 0);background: none left top / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0);width: auto;height: auto;margin: 0px;padding: 0px;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;"><span leaf="">这个Skill里面，有多少步骤其实不需要大模型？</span></strong></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">然后让大模型帮你把那些确定性的步骤改写成Python代码。保留需要智力的部分给大模型，把不需要智力的部分还给代码。</span></p><p style="box-sizing: border-box;margin: 0px;cursor: pointer;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: normal;text-align: left;text-indent: 0px;padding: 8px 0px;font-family: Optima, &#34;Microsoft YaHei&#34;, PingFangSC-regular, serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span leaf="">这才是真正的降本增效——不是逼大模型少说话，而是别让大模型做不该它做的事。</span></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5490741" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="501507904" src="https://wechat2rss.xlab.app/img-proxy/?k=bdbb01ab&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtDl63MbcF2ezHqmZLLEOsGMhGQtLINqCmtSGMVAVhQ9bGAEjm82joBljJZDPSic6Ex6ibH5IuQiaqw9kibL7TPfUOArK8o8YEUPfbk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=cbc584d1&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991560%26idx%3D1%26sn%3Dfeb2d6e452dd04746697f71628297fe3">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 16 Apr 2026 15:46:00 +0800</pubDate>
    </item>
    <item>
      <title>AI记忆的主权之争: 别把AI记忆交给大厂</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991549&amp;idx=1&amp;sn=e20036931a29971a9bdf94bf0e47e402</link>
      <description>你的记忆应该是你的。</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-04-15 20:48</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=a50126c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FTkWsojtosvSCb1gZQT3PicrV1sAQX4UR0ahxyKMwcDorW3UrZwOh5OFu62VzB6oTNj88AYYReSe4SY2K5VkaAcQejNkdcEYphOGnveNtIfHw%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>你的记忆应该是你的。</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> 你每天跟 AI 聊天、让它帮你写代码、帮你整理资料——但你有没有想过，那些对话记录、你的偏好、你和 AI 之间积累的默契，到底存在哪？谁在控制它们？LangChain 创始人 Harrison Chase 最近发了一条推文，把这个很少有人聊、但极其重要的问题摆到了台面上：</span><strong><span leaf="">Agent 的记忆，到底归谁管？</span></strong></p><span style="color: rgb(30, 58, 138);font-size: 18px;font-weight: bold;letter-spacing: 0.034em;"><span leaf="">什么是 Agent Harness？</span></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">在聊记忆归谁管之前，得先搞懂一个概念：Agent Harness。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">你可能用过 ChatGPT、Claude 这些 AI 聊天工具。你发一句话，它回一句话，一来一回，就这么简单。但如果你想让 AI 做更复杂的事——比如帮你管理一个项目、自动写代码、还要记住你之前的所有要求——光靠一个&#34;聊天框&#34;就不够了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">你需要一个&#34;框架&#34;来帮 AI 做这些事：调用外部工具、管理上下文窗口里该放什么内容、记住之前的对话、加载各种技能模块。这个框架，就叫 </span><strong style="font-weight: bold;color: #333;"><span leaf="">Agent Harness</span></strong><span leaf="">，翻译过来就是&#34;Agent 脚手架&#34;。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">打个比方。AI 模型（比如 GPT-4、Claude）就像一个特别聪明的大脑。但光有大脑不行，它需要手脚、需要工具箱、需要一个能帮它把活儿干完的组织系统。Harness 就是这个组织系统——它负责把大脑的指令翻译成具体动作，同时把外界的反馈传递回大脑。</span></p><span leaf=""><img alt="什么是Agent Harness" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=7cfe89cf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvTbficwryGxhBEcAxwQ1woluIX2iaLicC9tqyJrbmyiamS5CpV9yUYhHicGqk0NpAIv8pDxEH0RXwtVFxgONBcWzcuv1hIibCb59oFlw%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">用一个更具体的模型来描述：Harness 作为中间层，向 AI 模型注入上下文（记忆、技能、对话历史），控制执行流程（任务编排、上下文压缩），并把执行结果（工具调用、代码运行）反馈回来形成闭环。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">市面上已经有不少 Agent Harness 项目了：Claude Code、Codex、OpenCode、Pi、Letta Code，还有 OpenClaw。它们各有各的特色，但核心都是同一件事——给 AI 模型套上一个&#34;壳&#34;，让它能真正干活。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">为什么 Harness 不会被模型取代？</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">有人可能会想：随着模型越来越强，Harness 是不是就不需要了？模型直接搞定一切，要什么脚手架？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Harrison Chase 给了一个很直观的反例：</span><strong style="font-weight: bold;color: #333;"><span leaf="">Claude Code</span></strong><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Claude Code 是 Anthropic 官方的编程 Agent 产品。你知道它有多少行代码吗？</span><strong style="font-weight: bold;color: #333;"><span leaf="">51.2 万行</span></strong><span leaf="">。这不是模型本身的代码，仅仅是围绕模型构建的那层&#34;壳&#34;——也就是 Harness——就有 50 多万行。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">如果模型够强就不需要 Harness，那 Anthropic 自己为什么还要花这么大力气写这 50 万行代码？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">答案很清楚：</span><strong style="font-weight: bold;color: #333;"><span leaf="">模型再强，也需要有人来管理&#34;怎么用这个模型&#34;。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">模型是一个通用的大脑。但你让它干活的时候，有太多具体问题要解决：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">用户给了一个任务，怎么拆解成一步步的子任务？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">每一步该用什么工具？文件系统怎么操作？终端命令怎么执行？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">上下文窗口只有那么大，之前的对话怎么压缩、怎么保留关键信息？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">用户有自己的偏好和习惯，怎么让 AI &#34;记住&#34;这些？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">出错了怎么办？怎么回退、怎么恢复？</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这些问题，模型本身是不管的。它们是 Harness 要管的事。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">下面这张图来自 LangChain 博客，清楚展示了每一种&#34;我们希望 Agent 做到的行为&#34;，背后都要靠 Harness 层来实现：</span></p><span leaf=""><img data-aistatus="1" alt="Agent行为与Harness功能对照" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=eb75dc47&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSMv67f7YrII0n8QibrYmBwWm3Q1VSEt1Qw9FsUyut5s5xnfoXYOZy6pfGwBcEYL4cO6QyK5FOGXWmO5f3ufQubCu3iahUQCdcQY%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">从上到下，每一行都是同一个逻辑：你期望 AI 能做到某件事 → 模型本身做不到 → Harness 来填这个缺口。随着 AI 能做的事越来越多，这些问题只会更复杂，不会更简单。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">而且 Harness 和模型之间还有一个有趣的协同进化关系：</span></p><span leaf=""><img data-aistatus="1" alt="模型与Harness的协同进化" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d4df5874&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvTHTLRia5cSX8Oqf4H2vAzdZk6zY1YO3wBYHyx89UnpfGWg5jeRSnwLUFvlW9U9d8Ycibbu1Jcg0desB15pNLRVBc0CUgDwV3B5c%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Harness 发现了有用的新特性（比如记忆压缩、技能系统）→ 加入产品 → 用这套系统训练下一代模型 → 模型在这些特性上变得更强 → 循环往复。这就是为什么 Claude Code 和 Codex 这些产品都是&#34;模型+Harness&#34;联合打磨出来的——它们不是独立的两件事，而是一体的。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">所以 Harness 不但不会消失，反而会越来越重要。它是 AI 从&#34;能聊天&#34;到&#34;能干活&#34;的关键桥梁。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">Memory 不是插件，Memory 就是 Harness</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">好了，现在聊到最核心的问题了：</span><strong style="font-weight: bold;color: #333;"><span leaf="">记忆</span></strong><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">你可能注意到了，现在的 AI 编程助手都越来越强调&#34;记忆&#34;功能。Cursor 有 memory，Claude Code 有 CLAUDE.md，各种 Agent 框架都在说自己能&#34;记住&#34;你的偏好。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">但 Letta 的 CTO Sarah Wooders 说了一句很狠的话：</span></p><blockquote style="margin: 20px 0;border: 1px dashed #94a3b8;background-color: #f1f5f9;padding: 12px;border-radius: 6px;font-family: monospace;font-size: 12px;color: #334155;line-height: 1.4;"><p><span leaf="">&#34;把记忆插入一个 Agent Harness，就像让&#39;驾驶&#39;这个功能插入一辆车——它本来就是车的一部分，没法分开。管理上下文、管理记忆，这是 Agent Harness 最核心的能力和职责。&#34;</span></p></blockquote><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这话什么意思？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">她说的是：</span><strong style="font-weight: bold;color: #333;"><span leaf="">记忆不是一个可以独立插拔的模块。记忆管理本身就是 Harness 最核心的功能之一。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">想想看就明白了。当你和 AI 协作的时候，&#34;记忆&#34;不只是简单地存下你说过的每句话。它涉及一堆复杂的决策：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">你的 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">AGENTS.md</span></code><span leaf=""> 或 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">CLAUDE.md</span></code><span leaf=""> 文件是怎么被加载到上下文里的？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">技能的元数据是怎么展示给 AI 的？放在系统提示词里？还是单独的系统消息？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">AI 能不能自己修改自己的系统指令？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">当上下文太长需要压缩的时候，什么被保留、什么被丢弃？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">你和 AI 的交互历史有没有被存储？能不能被搜索？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">记忆的元数据是怎么呈现给 AI 的？</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">当前工作目录怎么表示？AI 能看到多少文件系统的信息？</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这些问题，每一个都是 Harness 的核心职责。它们不是&#34;记忆插件&#34;能解决的——它们就是 Harness 本身。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">打个更接地气的比方。你的大脑有短期记忆和长期记忆。你不会觉得&#34;记忆&#34;是可以从大脑里拆出去的一个零件吧？它就是大脑运作方式的一部分。Agent 也是一样。怎么管理上下文、怎么决定记住什么忘掉什么，这些就是 Harness 的&#34;思维方式&#34;。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">三种危险程度的锁定风险</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">既然记忆管理这么重要，那谁来控制它，就成了一个很要命的问题。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Harrison Chase 把风险分成了三个等级：</span></p><span leaf=""><img data-aistatus="1" alt="三种危险等级" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=b9bf010c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvR2SLsDlsETe8A1y1d6Y0sOM9TesTl6vsTNARpNGCW6tCBLgD5rhN9Z4sU3vMrgX2Ea7V7KDMtk5czW2rKYxTWfo9pp1wbWwpc%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">🟢 轻度风险：Responses API 模式</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是最基础的一层。你通过 API 调用模型，模型的回复里会引用之前的状态。这个状态存在厂商的服务器上。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">风险是什么？你的 Agent 状态存在别人那里。虽然目前看起来问题不大——你随时可以换一个 API 提供商——但你的历史交互数据确实不在自己手里。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">🟡 中度风险：使用闭源 Harness</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这一步就比较麻烦了。比如你用 Anthropic 的 Claude Managed Agents，或者 OpenAI 的 Codex。这些产品的 Harness 代码是闭源的，你不知道里面到底发生了什么。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenAI 的 Codex 有一个设计：它会生成一个&#34;加密压缩摘要&#34;来管理上下文。听起来很高级，但问题是——你看不到这个摘要的内容，也不知道它压缩掉了什么。你的 Agent 经验、习惯、偏好，被一段你看不懂的加密字符串代表了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这就像你雇了一个秘书帮你整理文件，但整理完之后，文件柜的钥匙在秘书手里，你打不开。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">🔴 最危险：记忆完全 API 化</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是最极端的情况。Anthropic 推出的 Claude Managed Agents 就走到了这一步——字面意思上把&#34;一切&#34;都放在了 API 背后，锁进了他们的平台。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">在这种情况下，你的 Agent 的&#34;记忆&#34;就完全由厂商控制。你换了模型提供商？记忆没了。你想导出你和 AI 的所有协作历史？没有接口。你甚至不知道厂商拿你的记忆数据做了什么。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">你的 Agent 记住了你三年积累的项目经验、代码风格、工作习惯——这些东西如果被锁定在一个厂商的封闭系统里，你换工具的代价就是&#34;失忆&#34;。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">OpenAI 和 Anthropic 为什么要这么做？</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">说到这，你可能会问：OpenAI 和 Anthropic 是不知道这些风险吗？还是故意的？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">答案很现实：</span><strong style="font-weight: bold;color: #333;"><span leaf="">商业利益驱动。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">对大厂来说，锁定用户的 Agent 记忆，就是锁定用户。你想想，如果你的 AI 助手记住了你所有的项目历史、代码偏好、工作习惯，你会轻易换到另一个产品吗？不会。因为换过去意味着从零开始。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这就是所谓的&#34;记忆锁定&#34;（Memory Lock-in）。它比传统的数据锁定更隐蔽，也更有效。传统意义上的数据锁定，你至少还知道自己的数据被锁住了。但记忆锁定是隐形的——你以为 AI &#34;理解&#34;你，其实是那个封闭的 Harness 在帮你&#34;管理&#34;记忆，而你完全不知道它是怎么管的。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Harrison Chase 在推文里直说了：</span><strong style="font-weight: bold;color: #333;"><span leaf="">模型的切换成本原本很低，大家的 API 接口都差不多，换一下配置就行。但一旦有了记忆层，切换成本就会急剧上升。</span></strong><span leaf=""> 这正是大厂们疯狂把记忆功能往 API 深处塞的原因。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他甚至分享了一个亲身经历：自己公司内部有一个邮件助手 Agent，用了几个月之后积累了大量个人偏好数据。结果有一天被意外删了，重新用同样模板建了一个——体验差了一大截，要重新教 AI 他所有的习惯。这才意识到，记忆有多重要，也有多不可替代。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">开放 Harness 的机会</span></h2><span leaf=""><img alt="开放 vs 封闭 Harness" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=92dc270c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvRdw3jZ6H56hyAckZGDicz85INgSlVtsJoDiaeZGQNIoB0YGZh78BzLRmq2ebab6NZ404qVibtlj8QY3icyG0e93OM1Vf2t8DzIEKI%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">说了这么多风险，那有没有更好的选择？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">有。就是 </span><strong style="font-weight: bold;color: #333;"><span leaf="">开放的 Agent Harness</span></strong><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Harrison Chase 在推文里直接点名了几个开源的 Harness 项目，包括：Claude Code、Deep Agents、OpenCode、Pi，还有 </span><strong style="font-weight: bold;color: #333;"><span leaf="">OpenClaw</span></strong><span leaf="">。他特别指出，OpenClaw 是基于 Pi 项目构建的开放 Harness。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这些项目走的是同一个方向：</span><strong style="font-weight: bold;color: #333;"><span leaf="">把 Harness 的控制权还给用户，把记忆的所有权还给开发者。</span></strong></p><span leaf=""><img alt="OpenClaw 介绍" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=a654e49a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvTsOe7z3vcPcKKyfDJS8HD3ia4lQibIibDA7kiaT9gjoH9p6w2t1abW0jQibpd0g4rn2wxCb0ic2p7dSXFLUHFpIR0h0QGkIPX2V73qQ%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">以 OpenClaw 为例，它的设计哲学很简单：</span><strong style="font-weight: bold;color: #333;"><span leaf="">你的记忆是你的。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">具体来说，OpenClaw 做了这么几件事：</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">MEMORY.md 文件</span></strong><span leaf="">——你的长期记忆就是一个 Markdown 文件。你可以打开看，可以手动编辑，可以备份，可以迁移。没有什么加密压缩摘要，就是你能读懂的文本。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">AGENTS.md 文件</span></strong><span leaf="">——你给 AI 定的行为准则，也是一个文件。你想改就改，想加就加。AI 能不能修改自己的系统指令？你说了算。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">本地数据控制</span></strong><span leaf="">——你的所有数据都在本地。不想用了？把文件夹拷走就行。换模型？换个 API key 就行，记忆文件不用动。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">技能市场</span></strong><span leaf="">——AI 的能力通过技能模块来扩展，每个技能都是透明的。你知道 AI 会什么、不会什么。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">LangChain 也推出了 Deep Agents 项目，走的是类似的路线：开源、透明、用户可控，支持接入 MongoDB、Postgres、Redis 等数据库自己托管记忆，部署在任何云上。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这些项目的共同点是：</span><strong style="font-weight: bold;color: #333;"><span leaf="">它们相信用户应该拥有自己的 Agent 基础设施。</span></strong><span leaf=""> 你可以选择用哪个模型、怎么管理记忆、哪些数据存本地哪些上云。决策权在你手里，不在某个厂商的 API 背后。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">我们该怎么做？</span></h2><p><span leaf="">聊到这，我想说几个自己的看法。</span><span leaf=""><br/></span><span leaf="">第一，</span><strong><span leaf="">关注你的数据存在哪</span></strong><span leaf="">。这不只是隐私问题，更是效率问题。你的 Agent 记忆是你和 AI 协作的最大资产，比任何 prompt 技巧都重要。保护好它。</span><span leaf=""><br/></span><span leaf="">第二，</span><strong><span leaf="">优先选择开放的 Harness</span></strong><span leaf="">。不是说闭源产品不能用，而是要清楚自己在用什么，以及换工具的代价有多大。如果你重度依赖一个封闭的 Agent 系统，至少要有定期导出数据的习惯。</span><span leaf=""><br/></span><span leaf="">第三，</span><strong><span leaf="">开源 Harness 需要社区支持</span></strong><span leaf="">。OpenClaw、Deep Agents 这些项目能不能跑得远，取决于有没有人用、有没有人贡献。如果你在意记忆所有权这件事，最好的支持方式就是参与进来。</span><span leaf=""><br/></span><span leaf="">Harrison Chase 这条推文的意义不在于他给出了什么惊天答案，而在于他把一个本来只有基础设施开发者才关心的问题，翻译成了普通用户也能理解的语言。</span><strong><span leaf="">谁控制了你的 AI 记忆，谁就控制了你和 AI 的关系。</span></strong><span leaf=""> 这个问题，值得每个人想想。</span></p><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">原始推文：<a href="https://x.com/hwchase17/status/2042978500567609738" target="_blank">https://x.com/hwchase17/status/2042978500567609738</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">LangChain Deep Agents：<a href="https://github.com/langchain-ai/deepagents" target="_blank">https://github.com/langchain-ai/deepagents</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Sarah Wooders 推文：<a href="https://x.com/sarahwooders/status/2040121230473457921" target="_blank">https://x.com/sarahwooders/status/2040121230473457921</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">OpenClaw 官网：<a href="https://docs.openclaw.ai" target="_blank">https://docs.openclaw.ai</a></span></p></li></ul><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.549074074074074" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="501507900" src="https://wechat2rss.xlab.app/img-proxy/?k=72b8aab0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtCZvib0RKBYsCs53Y1psDZ7UnRy6W1Cre69iaOv64vKOQNia2Sn6IHOf1iakNpBklIVkpH7k1XbxskSF66ebHjJwHKaMG5T2dB0yxY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=3a4b48e9&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991549%26idx%3D1%26sn%3De20036931a29971a9bdf94bf0e47e402">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 15 Apr 2026 20:48:00 +0800</pubDate>
    </item>
    <item>
      <title>4K Star的多人 Agent 协作平台 Multica！Agent即队友，可像同事一样被指派、被追踪！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991546&amp;idx=1&amp;sn=eb4edcc29f05c9506117f5be663b38d0</link>
      <description>开源的多 Agent 协同平台项目。</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-04-10 19:52</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=43e24511&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUjzfv6hGAzn3HfjX6RkhN3FoPmqKkKI5rAYLAmTLYKBJjGrzPkfB6gFt9zJJUOuXViaBIIYL8jB17vPTZP8ATCvIQaBYojaJCoU%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>开源的多 Agent 协同平台项目。</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;margin-top: 0 !important;"><span leaf="">在过去的几个月里，我们见证了 AI 圈子的开源盛世，各种 Agent 工具层出不穷。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">但是，当这群牛马 AI 真的开始干活时，现实的混乱往往会给你一记响亮的耳光。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">当你把一个复杂的开发任务丢给一群 Agent，它们经常会陷入一种“自嗨”状态。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你不知道谁在写前端，谁在配环境；你不知道它们有没有卡在某个 Bug 上；更要命的是，今天 Agent A 千辛万苦搞定了 AWS 的部署，明天换了 Agent B 接手，它又要从头再踩一遍坑。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">缺乏统一的项目管理和经验沉淀，是目前多 Agent 协同最大的死穴。</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">就在所有人都对着满屏散乱的终端日志发愁时，GitHub 上开源了一个名为 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Multica</span></strong><span leaf=""> 的平台级项目。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022209" data-ratio="0.35462962962962963" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=4dbc0cc4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUiaHfI4G5D2moz7Ia6flUWic4TibgAjIX9pr33WZCPgC7T2icI7uXicONyfyUl631vCIv8UwNPH0zTXVxg8IWxG6NTFm2Xiarnf6twrs%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它毫不掩饰自己的野心：不要把 Agent 当作随时用完即走的工具，要把它们当成有“员工档案”、能挂在任务看板上、并且会不断进化的“真实队友”。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你可以像指派同事一样把Issue分给它，它会自己接手、写代码、汇报进度、报告阻塞，甚至会主动参与对话。这种协作方式，才是真正的人类+AI团队该有的样子。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022210" data-ratio="0.6611111111111111" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=544961ce&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUhGFXPwRVBm6betTSWfed5r44rxnSNJ1d7dibTr4LC3XiaOz1dJQt1zzPj454wibx0ebAdibKHHxiacxjPIGRMia7Mx9XXQrXLMML8x4%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">什么是 Multica？</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Multica</span></strong><span leaf=""> 是一个开源的托管式 Agent 平台，它的核心理念就是&#34;把编码 Agent 变成真正的队友&#34;。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它解决的痛点很直接：现在大家用AI编码工具，要么是在IDE里问一句，要么是在终端里敲命令，每次都得自己盯着进度、复制代码、检查结果。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">而 Multica 让这个过程完全自动化了——Agent 有自己的身份、会自主处理任务、会实时汇报进度，就像坐在你旁边的同事一样。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">更重要的是，它是厂商中立的，不绑定任何一家AI服务商。目前支持 Claude Code、Codex、OpenClaw 和 OpenCode，未来还会支持更多。你可以根据自己的需求选择合适的Agent后端。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">功能特性</span></h4><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Agent 即队友</span></strong><span leaf="">：像分配给同事一样分配给 Agent。它们有个人档案、出现在看板上、发表评论、创建 Issue、主动报告阻塞问题。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">自主执行</span></strong><span leaf="">：设置后无需管理。完整的任务生命周期管理（排队、认领、执行、完成/失败），通过 WebSocket 实时推送进度。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">可复用技能</span></strong><span leaf="">：每个解决方案都成为全团队可复用的技能。部署、数据库迁移、代码审查——技能让团队能力随时间持续增长。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">统一运行时</span></strong><span leaf="">：一个控制台管理所有算力。本地 daemon 和云端运行时，自动检测可用 CLI，实时监控。</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">多工作区</span></strong><span leaf="">：按团队组织工作，工作区级别隔离。每个工作区有独立的 Agent、Issue 和设置。</span></p></li></ul><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速上手</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Multica 提供了两种使用方式：云服务和自托管。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">方式一：Multica Cloud（最快）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你不想折腾环境，直接用云服务版本是最快的。访问 multica.ai，注册账号就能开始用，完全不需要任何配置。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">方式二：自托管（Docker）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你想自己部署，Multica 提供了完整的 Docker 支持：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">git</span><span style="color: #e78c45;"><span leaf=""> clone</span></span><span leaf=""> <a href="https://github.com/multica-ai/multica.git" target="_blank">https://github.com/multica-ai/multica.git</a></span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">cd</span></span><span leaf=""> multica</span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">cp</span></span><span leaf=""> .env.example .</span><span style="color: #e78c45;"><span leaf="">env</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 编辑 .env —— 至少修改 JWT_SECRET</span></span><span leaf="">docker compose up -d</span><span style="color: #969896;"><span leaf="">                              # 启动 PostgreSQL</span></span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">cd</span></span><span leaf=""> server &amp;amp;&amp;amp; go run ./cmd/migrate up &amp;amp;&amp;amp;</span><span style="color: #e78c45;"><span leaf=""> cd</span></span><span leaf=""> ..</span><span style="color: #969896;"><span leaf="">     # 运行数据库迁移</span></span><span leaf=""><br/></span><span leaf="">make start</span><span style="color: #969896;"><span leaf="">                                         # 启动应用</span></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">安装 CLI 并连接你的机器</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI 是连接你本地机器和 Multica 的桥梁：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;text-decoration: underline;">Option A：让你的编码 Agent 帮忙安装</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">直接把这段贴给你的 Claude Code、Codex 等：</span><span leaf=""><br/></span><span leaf="">&#34;Fetch <a href="https://github.com/multica-ai/multica/blob/main/CLI_INSTALL.md" target="_blank">https://github.com/multica-ai/multica/blob/main/CLI_INSTALL.md</a> 并按照说明安装 Multica CLI，登录，然后在这台机器上启动 daemon。&#34;</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;text-decoration: underline;">Option B：手动安装</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 安装</span></span><span leaf=""><br/></span><span leaf="">brew tap multica-ai/tap</span><span leaf=""><br/></span><span leaf="">brew install multica</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 认证并启动</span></span><span leaf="">multica login</span><span leaf=""><br/></span><span leaf="">multica daemon start</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Daemon 会自动检测你 PATH 里可用的 Agent CLI（claude、codex、openclaw、opencode）。当 Agent 被分配任务时，daemon 会创建隔离环境，运行 Agent，然后把结果汇报回去。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">4步指派你的第一个任务</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">1、</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">登录并启动 daemon</span></strong></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">multica login</span><span style="color: #969896;"><span leaf="">           # 认证你的 Multica 账号</span></span><span leaf=""><br/></span><span leaf="">multica daemon start</span><span style="color: #969896;"><span leaf="">    # 启动本地 Agent 运行时</span></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">2、</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">验证你的 Runtime</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">在 Multica Web 应用里打开你的工作区，导航到 Settings → Runtimes，你应该能看到你的机器被列为活跃 Runtime。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">3、</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">创建一个 Agent</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">去 Settings → Agents，点击 New Agent。选择你刚连接的 Runtime，选择一个提供商（Claude Code、Codex、OpenClaw 或 OpenCode）。给你的 Agent 起个名字——这就是它在看板上、评论里、指派中显示的名字。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">4、</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">指派你的第一个任务</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">从看板创建一个 Issue（或者通过 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">multica issue create</span></code><span leaf="">），然后把它指派给你的新 Agent。Agent 会自动接手任务，在你的 Runtime 上执行，并汇报进度——就像一个人类队友一样。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Multica 不是另一个 AI 编码工具，它解决的是</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">任务分配、执行追踪、经验沉淀</span></strong><span leaf="">的统一协作问题：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">任务分配</span></strong><span leaf="">：不再是复制粘贴，而是像指派同事一样自然</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">执行追踪</span></strong><span leaf="">：全生命周期可视，实时知道进展</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">经验沉淀</span></strong><span leaf="">：每次解决的问题都变成可复用的技能</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这三个问题，正是当前人类+AI协作中最痛的点。Multica 用一个平台把它们都解决了。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你对人类+AI协作的未来感兴趣，或者你已经在尝试把 AI 融入团队工作流，可以试试 Multica。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GitHub：<span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/multica-ai/multica" target="_blank">https://github.com/multica-ai/multica</a></span></span></p></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507896" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=060dc8ac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtD5of8xZs7njLjwTkkexMzImZuj3owehXZcwWkE8OLVfJRyiaUrDwLZOnaBWIOfoiambfeJJ3OPibAXJYKRZVOLvmU2bMWpWLdlQA%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=28a0d535&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991546%26idx%3D1%26sn%3Deb4edcc29f05c9506117f5be663b38d0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 10 Apr 2026 19:52:00 +0800</pubDate>
    </item>
    <item>
      <title>用LLM帮你构建知识库：让笔记自动编译、自我生长！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991543&amp;idx=1&amp;sn=54242db575aba5e38472ddd45d940d21</link>
      <description>让 LLM 自动“编译”你的专属 Wiki！</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-04-06 20:13</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=4f19940e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FTkWsojtosvQTWBZPWcKBAEZXXDF0YxKsNicibqWjT5Gxt5icuFQ1xX8rnNicicdoFSHExItWnPWY8w86GfTiacDKian12bM0XfQLazu6R6kxdSG4AY%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>让 LLM 自动“编译”你的专属 Wiki！</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> Karpathy 最近分享了一个他自己在用的工作流：用 LLM 帮你建知识库。不是传统的&#34;存笔记&#34;，而是让 LLM 自动把散乱的资料编译成一个结构化的 Wiki——会交叉引用、会自我检查、会越用越厚。这个思路跟现在主流的 RAG 方案走的是完全不同的路。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">一句话概括这个玩法</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 的核心思路很简单：别每次提问时才去翻原始文档，而是让 LLM 提前帮你把资料&#34;编译&#34;好。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">具体来说，你把原始资料（论文、博客、代码仓库、数据集）丢进一个 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">raw/</span></code><span leaf=""> 目录，然后让 LLM 自动生成并维护一套 Wiki——一堆互相链接的 Markdown 文件。每加一个新资料，LLM 不是简单建索引，而是真正&#34;读懂&#34;它，更新相关的概念页面、修正过时的总结、标注矛盾信息。</span></p><span leaf=""><img alt="Karpathy 推文：LLM Knowledge Bases" class="rich_pages wxw-img" data-aistatus="1" data-ratio="1.4287037037037038" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=c390c537&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvSEJWUodQKZd9WyN4icicJUOPZrTic31lyqpUibIltLDLMa7B4jcLlIjiabhO9AC37Y4S96G3OPQqdZLeDSrleC9mrvbPVICQ7ceXR8%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个 Wiki 是持久的、会复利增长的知识积累。不是每次从零检索，而是越用越厚。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">三层架构</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 在后续发布的 Gist 里把这个想法整理成了一个更完整的方案文档，他称之为&#34;idea file&#34;——在这个 LLM Agent 时代，你只需要分享思路，让别人的 Agent 去定制和搭建。</span></p><span leaf=""><img alt="Karpathy 推文：Idea File" class="rich_pages wxw-img" data-aistatus="1" data-ratio="1.2675925925925926" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=b196c9c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvRkq1MtzzZAWlRAySJuHWUNHe70FksAw6ia6Ic2iao5sbL4Fuqe6SwHs12ryydBw7e9OtrY1YxrkVDXmmhqxLP87qvCQhYyCBwdk%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">整个架构分三层：</span></p><table style="width: 100%;font-size: 13px;text-align: center;border-collapse: collapse;margin-bottom: 20px;border: 1px solid #e5e7eb;"><thead><tr><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">层级</span></p></th><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">内容</span></p></th><th style="padding: 10px;border: 1px solid #e5e7eb;background: #1e3a8a;color: white;"><p><span leaf="">说明</span></p></th></tr></thead><tbody><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">Raw sources</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">原始文档</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">不可修改，是信息的唯一来源</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">The Wiki</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">LLM 生成的 .md 文件</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">结构化、互联、有交叉引用</span></p></td></tr><tr><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">The Schema</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">CLAUDE.md / AGENTS.md</span></p></td><td style="padding: 10px;border: 1px solid #e5e7eb;color: #334155;"><p><span leaf="">配置 LLM 如何维护 Wiki 的规则</span></p></td></tr></tbody></table><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第一层是原材料，不动。第二层是 LLM 加工后的知识产出，人是很少直接编辑的。第三层是告诉 LLM &#34;怎么干活&#34;的规则文件——比如 Wiki 的目录结构、命名规范、什么内容放在什么位置。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">三种核心操作</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">有了这三层，接下来就是循环执行三种操作：</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Ingest（消化）</span></strong><span leaf="">：加入新资料时，LLM 读取内容，更新 Wiki 中的多个页面。一次 Ingest 可能影响 10-15 个文件——更新概念页、修正摘要、添加交叉链接。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Query（查询）</span></strong><span leaf="">：对 Wiki 提复杂问题。LLM 基于已有的结构化知识来回答，而不是重新翻原始文档。回答结果也可以反哺 Wiki，让知识库越来越完善。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Lint（自检）</span></strong><span leaf="">：定期跑&#34;健康检查&#34;。找矛盾、找遗漏、找孤立页面。LLM 还会主动建议你可以进一步探索的方向。</span></p><span leaf=""><img alt="LLM Wiki 三种核心操作循环" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5453703703703704" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=bab86807&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvSia5A2yeCSAmPNmlPE3HPVhg2LkqsavSB9C8SvLrLZt7fCM9745l3AtoNqH4RpQSSlybxECafuKUOyC7ZTPVCo2icNw8zybvFSA%2F640%3Ffrom%3Dappmsg"/><img data-aistatus="1" alt="LLM Wiki 三层架构" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=3f31daaf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvTW4LSxYVvia94jmAsFnyhCWmWgpMwKHOHtHskWLDn0m3wvuaMCrFSuw3HqNzsJ3P1pwsCNU1cZ538LQlWV5NhGTkrOGblRpyPU%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">跟 RAG 有什么不同？</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是最关键的区别。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">传统 RAG 的工作方式是：你提问 → 系统去原始文档里检索相关片段 → 拼凑出答案。每次提问都是从零开始，检索结果的质量取决于分块策略和向量相似度。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 的 Wiki 方案是：LLM 提前把原始文档&#34;编译&#34;成结构化知识 → 提问时直接查 Wiki → 答案基于已经整理好的知识。知识是提前整理好的，不是临时拼的。</span></p><span leaf=""><img alt="RAG vs LLM Wiki 对比" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=1faf4189&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQzpFw7xEV6VtV5Mn9mx0aX1CtA8UbMwGuhDCpLc7wjgHjgdtfk2yOd0dKeZ6mDgPYsZ403U8ctkxun8qeQt7oaaBohZ2ciaAvk%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他自己也说了，本来以为得上 RAG 那套（向量数据库、Embedding），但实际发现在几百篇文章、几十万字的规模下，LLM 自动维护的索引文件和摘要已经够用了。它在 ~100 篇文章的规模下，自己就能管理好索引，准确找到相关内容。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这其实是个很有意思的信号：在中等规模的知识库场景下，上下文窗口的增长速度可能比我们想象的更快地追上 RAG 的优势。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">工具链</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 用的工具链很轻量：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Obsidian</span></strong><p><span leaf="">：作为 IDE 前端，查看原始数据、编译后的 Wiki、生成的图表</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Obsidian Web Clipper</span></strong><p><span leaf="">：把网页文章转成 Markdown</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Marp</span></strong><p><span leaf="">：把 Markdown 渲染成幻灯片</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">自建搜索引擎</span></strong><p><span leaf="">：他用 vibe coding 搞了个简易搜索工具，CLI 调用，也给 LLM 当工具用</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">值得注意的是，他强调 Wiki 的内容几乎全是 LLM 写的，他自己很少直接编辑。人只负责&#34;喂资料&#34;和&#34;提问题&#34;，中间的知识整理、链接维护、质量检查都交给 LLM。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">实际效果</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 提到，他某个研究方向的 Wiki 已经积累了约 100 篇文章、40 万字。在这个规模下，他可以直接对 Wiki 提各种复杂问题，LLM 会自己去查资料、综合分析、给出答案。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">输出形式也不局限于文字。他让 LLM 生成 Markdown 文件、幻灯片（Marp 格式）、matplotlib 图表，所有这些都在 Obsidian 里查看。而且这些输出经常会被&#34;归档&#34;回 Wiki，进一步丰富知识库。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">也就是说，你每次探索和提问，都在让这个知识库变得更强。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">一个更有意思的细节：他是怎么分享这个想法的</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这里有个值得单独说的事。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 分享这个 LLM Wiki 的方式，本身就是对他这套理念的一次实践。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他没有开源一个项目，没有给你一套代码跑起来。他发的那个 Gist，叫做&#34;idea file&#34;——一份故意写得抽象的想法描述文档，你可以直接把它丢给你自己的 Agent（Claude Code、Codex、OpenCode……随便哪个），让 Agent 帮你根据你的具体情况搭出来。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他在第二条推文里说得很直接：在这个 LLM Agent 时代，分享具体的代码和 App 意义越来越小——因为每个人的需求、工具、工作流都不一样，你跑起来的版本不一定适合我。但如果你分享的是&#34;想法本身&#34;，每个人的 Agent 就可以把这个想法定制成最适合他们自己的实现。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">分享想法，比分享代码更有价值。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个转变背后有一个假设在默默成立：Agent 已经强到能把一个抽象的想法，真正转化成可运行的工具了。代码是一种固化的实现，想法才是真正可移植的东西。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">你现在就可以复刻这个想法</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Karpathy 的 Gist 文档本身就是给 Agent 看的。用法如下：</span></p><span leaf=""><img alt="四步复刻 LLM Wiki" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5453703703703704" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=7bbfefbb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvS2Wic6gUp3nB8MPM8PwZRJKbNZ0Q2ZnmbyNfCkFeWJVMsNKFMRwFJu2OZhZbnyUZAN9NWhP8UgRY5v5pg4bcAWFE3JliaNCedlA%2F640%3Ffrom%3Dappmsg"/></span><ol style="margin-bottom: 15px;padding-left: 0;list-style: none;background: #f8fafc;border-radius: 8px;padding: 12px 15px;border: 1px solid #e2e8f0;" class="list-paddingleft-1"><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">1</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><span leaf="">打开 Karpathy 的 Gist：<a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f" target="_blank">https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f</a></span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">2</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><span leaf="">复制全文内容（或直接把链接给 Agent）</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">3</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><span leaf="">对你的 Agent 说：「帮我根据这个方案，搭建一个适合我自己的 LLM Wiki 系统」</span></span></li><li style="display: flex;align-items: flex-start;margin-bottom: 10px;text-align: left;list-style: none;"><span style="flex-shrink: 0;width: 22px;height: 22px;background-color: #1e3a8a;color: white;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;font-weight: bold;margin-right: 10px;margin-top: 2px;"><span leaf="">4</span></span><span style="font-size: 15px;color: #334155;line-height: 1.75;"><span leaf="">Agent 会跟你确认你的使用场景（研究/读书/工作），然后帮你把目录结构、Schema 文件、基本工具流一并建好</span></span></li></ol><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">如果你用的是小龙虾（OpenClaw），直接把 Gist 链接发给它就行——它会帮你读文档、规划结构、一步步把系统搭起来，整个过程你基本不需要动手写代码。</span></p><p><span leaf="">这个思路最打动我的不是技术本身，而是&#34;复利&#34;这个概念。传统的知识管理——不管你用 Notion、Obsidian 还是 Roam——本质上都是&#34;人整理知识&#34;。人能整理的范围和持续性都有限。</span><span leaf=""><br/></span><span leaf="">Karpathy 的方案把&#34;整理&#34;这件事交给了 LLM，人只需要负责&#34;输入&#34;和&#34;提问&#34;。知识库会自己生长、自我修复、越用越厚。</span><span leaf=""><br/></span><span leaf="">当然，目前这个方案还只是&#34;一堆脚本的拼凑&#34;，Karpathy 自己也说了，这里有空间做一个真正的好产品。但在这之前，你现在就可以用起来——把那个 Gist 扔给你的 Agent，半小时内就能搭一个自己的版本。</span><span leaf=""><br/></span><span leaf="">知识管理这件事，可能终于有了一个不依赖&#34;自律&#34;的解法。</span></p><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Karpathy 原始推文：<a href="https://x.com/karpathy/status/2039805659525644595" target="_blank">https://x.com/karpathy/status/2039805659525644595</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Karpathy Idea File 推文：<a href="https://x.com/karpathy/status/2040470801506541998" target="_blank">https://x.com/karpathy/status/2040470801506541998</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">LLM Wiki Gist 文档：<a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94" target="_blank">https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94</a>  </span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507894" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=e221b578&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtB5OnJnaRicNZJ79HibYtlAaLzqvaCB0SoK6ObibMkftRSZkticicHTyicHomJbagwz0nBiaicD9CrNT5VSJAQIF7MSAEQbjxibyjg2ibzos%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=91363aab&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991543%26idx%3D1%26sn%3D54242db575aba5e38472ddd45d940d21">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 06 Apr 2026 20:13:00 +0800</pubDate>
    </item>
    <item>
      <title>这个 skills 太硬核了，刚开源就斩获 1.7K Star！Agent 联网能力拉满！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991540&amp;idx=1&amp;sn=3d8a6f70b39df3778a60f30c6c4f7c57</link>
      <description>一个将Claude Code 的联网和浏览器能力拉满的skill。</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-04-02 19:25</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=bd3de957&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUj4NA8Z0HekI8Nd0Uap4cEhxnPpO2Dicob6rsA7tibHT5mIXw0ViaqoBBialaz8dS69kI97A5FfMHYy2cZ4b5M16nT0Gx46AwRQiapM%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>一个将Claude Code 的联网和浏览器能力拉满的skill。</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 8px 8px 1.5em;letter-spacing: 0.1em;color: rgb(63, 63, 63);"><span leaf="">最近在 AI 开发者圈子里，有一个话题被反复讨论：如何让 AI 助手真正&#34;上网&#34;？</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">不是简单的搜索一下，而是能够像真人一样操作浏览器、登录账号、完成复杂的交互任务。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Claude Code 其实早就内置了 WebSearch 和 WebFetch 工具，但用过的人都知道，这两个工具局限性太大了。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它们只能做简单的网页获取和搜索，完全无法处理需要登录态、需要复杂交互的场景。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">就在大家都在为这些问题头疼的时候，一个叫 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">web-access</span></strong><span leaf=""> 的 skill 横空出世，直接把 Claude Code 的联网和浏览器能力拉满了。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022096" data-ratio="0.4583850931677019" data-s="300,640" type="block" data-type="png" data-w="805" src="https://wechat2rss.xlab.app/img-proxy/?k=bd550d1d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUhK77EZvBFM7AK7OtFSf29DG3nE96ydL61zdMDQYnrpMr7PicwaDDAD2ldFCiaEDHGIROJbcr9RicfypyPaLI5yHdaiakiaY6X5e4Ts%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">项目简介</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">web-access</span></strong><span leaf=""> 是由开发者 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">一泽 Eze</span></code><span leaf=""> 开源的一个 Claude Code skill，它的核心理念就是：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">给 Claude Code 装上完整的联网和浏览器自动化能力</span></strong><span leaf="">。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100022097" data-ratio="1.1073253833049403" data-s="300,640" type="block" data-type="png" data-w="587" src="https://wechat2rss.xlab.app/img-proxy/?k=2efeace3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUgGLSbO9bzicdnjNmic3DHvAJuQ1Tat7RDePmyyFzGhGJnISiaE1mM2niaFOmlZBBnJuANlj5CtsNibOThwicj8NwaYcFDPic97lysxbI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个 skill 不仅仅是简单地把几个工具拼在一起，而是从底层架构上重新设计了联网策略、浏览器操作和经验积累机制。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它解决了 Claude Code 原本存在的三大短板：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 缺少智能的联网工具调度策略</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 没有真正的浏览器自动化能力</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 无法积累和复用站点操作经验</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">有了 web-access 之后，Claude Code 终于可以像真人一样在互联网上自由穿梭了。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">核心能力</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">1、联网工具自动选择</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 最大的特点之一就是它的智能工具选择机制。它内置了五层联网通道：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">WebSearch</span></strong><span leaf="">：用于搜索信息</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">WebFetch</span></strong><span leaf="">：用于获取网页内容</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">curl</span></strong><span leaf="">：用于简单的 HTTP 请求</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Jina</span></strong><span leaf="">：用于高效的网页内容提取</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">CDP</span></strong><span leaf="">：用于完整的浏览器操作</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">五层通道，按需组合。最厉害的是，web-access 会根据具体场景</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">自主判断</span></strong><span leaf="">使用哪个工具，甚至可以任意组合多个工具来完成复杂任务。</span></p><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(136, 136, 136);">比如搜索某个产品的最新信息时，它会先用 WebSearch 找到相关链接，再用 WebFetch 或 Jina 获取详细内容，最后如果需要登录态操作，再切换到 CDP 模式。</span></span></p></blockquote><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">2、CDP Proxy 浏览器操作</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这绝对是 web-access 最硬核的功能。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">通过 Chrome DevTools Protocol（CDP），web-access 可以</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">直连你日常使用的 Chrome 浏览器</span></strong><span leaf="">。</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">天然携带登录态</span></strong><span leaf="">：你在 GitHub、🍠、Gmail、X 上登录的账号，web-access 都能直接使用</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">支持动态页面</span></strong><span leaf="">：JavaScript 渲染的页面、单页应用（SPA）都能完美处理</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">支持交互操作</span></strong><span leaf="">：点击、输入、滚动、截图都不在话下</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">支持视频截帧</span></strong><span leaf="">：可以对视频的任意时间点进行截帧分析</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">再也不用费劲心思去处理 cookie、token 这些登录态问题了，直接用你自己的 Chrome 浏览器就行！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">3、三种点击方式</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 提供了三种不同的点击方式，每种都有特定的适用场景：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">/click</span></strong><span leaf="">：使用 JavaScript 进行点击，适合大部分常规场景</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">/clickAt</span></strong><span leaf="">：使用 CDP 真实鼠标事件进行点击，适合那些对点击方式有严格校验的网站</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">/setFiles</span></strong><span leaf="">：专门用于文件上传操作，可以直接指定本地文件路径</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这三种方式覆盖了几乎所有网页交互的需求，无论是简单的按钮点击还是复杂的文件上传，都能轻松搞定。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">4、并行分治：多任务同时处理，效率翻倍</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">当你有多个目标需要同时处理时，web-access 会采用</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">并行分治</span></strong><span leaf="">的策略：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 分发多个子 Agent 并行执行任务</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 所有子 Agent 共享同一个 CDP Proxy</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 每个子 Agent 使用独立的 tab，互不干扰</span></p></li></ul><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(136, 136, 136);">比如你想同时调研 5 个产品的官网，web-access 可以同时打开 5 个 tab，让 5 个子 Agent 分别去获取信息，最后再汇总成对比摘要。这种效率提升是单线程操作无法比拟的。</span></span></p></blockquote><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">5、站点经验积累，越用越聪明</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 最有远见的设计就是它的</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">站点经验积累</span></strong><span leaf="">机制：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 按域名存储操作经验</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 记录 URL 模式、平台特征、已知陷阱</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 跨 session 复用这些经验</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">6、媒体提取，图片视频一网打尽</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 还内置了强大的媒体提取能力：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 从 DOM 中直接提取图片和视频的 URL</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 对视频的任意时间点进行截帧分析</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 支持各种常见的媒体格式</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">无论是需要下载页面上的图片，还是需要分析视频中的某个画面，web-access 都能轻松完成。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速上手</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">安装方式</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 提供了两种安装方式，都非常简单：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">方式一：让 Claude 自动安装（推荐）</span><span leaf=""><br/></span><span leaf="">直接对 Claude 说：&#34;帮我安装这个 skill：<a href="https://github.com/eze-is/web-access" target="_blank">https://github.com/eze-is/web-access</a>&#34;</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">方式二：手动安装</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">git</span><span style="color: #e78c45;"><span leaf=""> clone</span></span><span leaf=""> <a href="https://github.com/eze-is/web-access" target="_blank">https://github.com/eze-is/web-access</a> ~/.claude/skills/web-access</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">CDP 模式配置（可选但强烈推荐）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你想使用完整的浏览器操作能力，需要配置 CDP 模式：</span></p><ol style="padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">1. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">环境要求</span></strong><span leaf="">：Node.js 22+</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">2. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">开启 Chrome 远程调试</span></strong><span leaf="">：</span></p></li><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 在 Chrome 地址栏打开 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">chrome://inspect/<a class="wx_topic_link" topic-id="mn87nco3-e03xy7" style="color: #576B95 !important;" data-topic="1" data-recommend="">#remote</a>-debugging</span></code></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 勾选 &#34;Allow remote debugging for this browser instance&#34;</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 可能需要重启浏览器</span></p></li></ul><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">3. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">运行环境检查</span></strong><span leaf="">：</span></p></li></ol><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">bash ~/.claude/skills/web-access/scripts/check-deps.sh</span></code></pre><ol style="padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">4. </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">启动 CDP Proxy</span></strong><span leaf="">：</span></p></li></ol><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">node ~/.claude/skills/web-access/scripts/cdp-proxy.mjs &amp;</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">使用示例</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">安装完成后，你就可以直接让 Claude 执行各种联网任务了，web-access 会自动接管：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">简单搜索</span></strong><span leaf="">：&#34;帮我搜索一下 AI 编程助手的最新进展&#34;</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">读取网页</span></strong><span leaf="">：&#34;读一下这个页面：<a href="https://github.com/eze-is/web-access" target="_blank">https://github.com/eze-is/web-access</a>&#34;</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">多任务并行</span></strong><span leaf="">：&#34;同时调研这 5 个产品的官网，给我对比摘要&#34;</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">CDP Proxy API 参考</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你想直接使用 CDP Proxy 的 API，这里有一些常用的示例：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 新建 tab</span></span><span leaf=""><br/></span><span leaf="">curl -s</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/new?url=https://example.com" target="_blank">http://localhost:3456/new?url=https://example.com</a>&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 执行 JS</span></span><span leaf="">curl -s -X POST</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/eval?target=ID" target="_blank">http://localhost:3456/eval?target=ID</a>&#34;</span></span><span leaf=""> -d</span><span style="color: #b9ca4a;"><span leaf=""> &#39;document.title&#39;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># JS 点击</span></span><span leaf="">curl -s -X POST</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/click?target=ID" target="_blank">http://localhost:3456/click?target=ID</a>&#34;</span></span><span leaf=""> -d</span><span style="color: #b9ca4a;"><span leaf=""> &#39;button.submit&#39;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 真实鼠标点击</span></span><span leaf="">curl -s -X POST</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/clickAt?target=ID" target="_blank">http://localhost:3456/clickAt?target=ID</a>&#34;</span></span><span leaf=""> -d</span><span style="color: #b9ca4a;"><span leaf=""> &#39;.upload-btn&#39;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 文件上传</span></span><span leaf="">curl -s -X POST</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/setFiles?target=ID" target="_blank">http://localhost:3456/setFiles?target=ID</a>&#34;</span></span><span leaf=""> \</span><span leaf=""><br/></span><span leaf="">  -d</span><span style="color: #b9ca4a;"><span leaf=""> &#39;{&#34;selector&#34;:&#34;input[type=file]&#34;,&#34;files&#34;:[&#34;/path/to/file.png&#34;]}&#39;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 截图</span></span><span leaf="">curl -s</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/screenshot?target=ID&amp;file=/tmp/shot.png" target="_blank">http://localhost:3456/screenshot?target=ID&amp;file=/tmp/shot.png</a>&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 滚动</span></span><span leaf="">curl -s</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/scroll?target=ID&amp;direction=bottom" target="_blank">http://localhost:3456/scroll?target=ID&amp;direction=bottom</a>&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 关闭 tab</span></span><span leaf="">curl -s</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a href="http://localhost:3456/close?target=ID" target="_blank">http://localhost:3456/close?target=ID</a>&#34;</span></span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">设计哲学</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 的作者一泽 Eze 在项目中提到了一个非常有意思的设计哲学：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Skill = 哲学 + 技术事实，不是操作手册</span></strong><span leaf="">。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个理念的核心是：不要替 AI 推理，而是讲清楚 tradeoff 让 AI 自己选择。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 不是给 AI 一本操作手册，告诉它&#34;第一步做什么，第二步做什么&#34;，而是给它提供一套工具和原则，让它根据具体情况自己做出决策。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这种设计方式让 web-access 具有了极高的通用性和上限。它不是为某个特定场景设计的，而是为所有联网和浏览器操作场景设计的。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">web-access 的出现，彻底改变了 Claude Code 的能力边界。它不仅仅是一个工具，更是一个让 AI 真正&#34;融入&#34;互联网的桥梁。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这种设计理念让 Skill 更灵活、更智能，也更能适应复杂多变的实际场景。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个 skill 的潜力巨大，随着版本的不断更新，它的能力还会越来越强。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你是一个深度使用 AI 编程助手的用户，可以去试试 web-access，一定会给你带来惊喜。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GitHub：</span></p><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/eze-is/web-access" target="_blank">https://github.com/eze-is/web-access</a></span></span></p></blockquote></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507891" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=534f6064&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtDaC2zNqcLricwpibCTD2zqqMWfSCkbJ7BXaLnhp2FhAUzFGP5quwxnT0jyGiaDzwmsUuWVicfDO2WFnQcQ7R7JaJm0Js1DMxFCeY4%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=4b11aeab&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991540%26idx%3D1%26sn%3D3d8a6f70b39df3778a60f30c6c4f7c57">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 02 Apr 2026 19:25:00 +0800</pubDate>
    </item>
    <item>
      <title>一人能顶一个公司，DeskClaw 团队版开源了!</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991537&amp;idx=1&amp;sn=9d0fd99d4e7e0069eeaa1b8da908e32c</link>
      <description>让人和 AI 能像同事一样，共同经营一家公司。</description>
      <content:encoded><![CDATA[<p><span>小 G</span> <span>2026-03-28 20:34</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：GitHubDaily</p>
  <strong>GitHubDaily</strong>
  <p>追踪优质 GitHub 开源项目，挖掘 AI 生产力工具</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=b3817c3a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FsnxIHWuwQoniaUzM6PF91M3hIT3qibRVnX4Gazib0cwH9V3sdbgUEib6OFicptV0fj88OUyky1AYN2Tl4SpWnCabjI11FSZ2Fq7Ymu72nAKzfMAA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>让人和 AI 能像同事一样，共同经营一家公司。</p>
  <p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 0px 5px 2em !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span style="box-sizing: border-box;"><span leaf="">用过 AI Agent 的朋友，大概都踩过这个坑：</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">单个 Agent 做 Demo 很顺，一旦要多个 Agent 协作跑业务流程，调度、记忆共享、权限控制、效果评估这些工程问题会同时冒出来。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">之前我在 GitHub 上找过一圈，要么是纯框架没落地方案，要么只解决其中一两个点。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">直到最近看到 </span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">DeskClaw 团队版</span></span></strong><span style="box-sizing: border-box;"><span leaf="">，才算找到一个能把这几个问题一起解决的开源项目。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">与以往 Agent 框架完全不同，它从一开始就奔着「企业运行平台」去做，目标只有一个：</span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">让人和 AI 能像同事一样，共同经营一家公司</span></span></strong><span style="box-sizing: border-box;"><span leaf="">。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">GitHub：</span></span><em style="line-height: 1.8em;orphans: 4;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;box-sizing: border-box;"><span leaf="" style="box-sizing: border-box;"><a href="https://github.com/NoDeskAI/nodeskclaw" target="_blank">https://github.com/NoDeskAI/nodeskclaw</a></span></em></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509613" data-ratio="0.5314814814814814" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=cb6af035&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FsnxIHWuwQonHEZtGIW2YHOjoibKE7icuSicKS8r53YMYesED3S6AEicuiadeA43yF2HW6yVk3lXpw4ibR6cteXkSD1f2dHibpRrsjGbQ5GJqU7Qjoo%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">下面我们一起来看下它到底有哪些核心功能亮点。</span></span></p><h3 style="box-sizing: border-box;white-space: pre-wrap;break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 16px;margin: 1.2em 5px !important;padding: 5px 0px;text-align: left;color: rgb(0, 181, 173) !important;font-weight: bold !important;width: inherit;font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">给 AI 员工，搭一间赛博办公室</span></span></h3><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">当部署完项目，进入到如下初始界面，这里就是我们 AI 公司的「</span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">赛博办公室</span></span></strong><span style="box-sizing: border-box;"><span leaf="">」：</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509612" data-ratio="0.6453703703703704" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=11bb1b6e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQono6jxoR5YHn9k0ibLGdkSFbiaWIGxRU8DMc8aEkOUkLmmRIJVic673ZYyLnVyeoxyhyxwaJIWrCsCibX1Ygibudz0HtwvcEKgZKtfU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">首先我们来创建第一间办公室，取个名称和简单描述下，便进入到一个可视化的 3D 画布，也可以自由切换到 2D 平面。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509614" data-ratio="0.5777777777777777" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=377ebc52&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FsnxIHWuwQonwwA4RACcwiaToGrssyXKiaic9VxjA5gGeasUQFwfOicY0GLVuHkvuJWWcdCUxib0B50UPAFiaz4vjbbr8J5fics6pc9tVHOBBTTe15I%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">画布最中间显示的是「</span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">中央黑板</span></span></strong><span style="box-sizing: border-box;"><span leaf="">」相当于整间办公室的中枢大脑，可以随时查看任务状态、员工之间的讨论、所存储的文件等内容。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509611" data-ratio="0.5370370370370371" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=11bbdca1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQokd5cQKBopGEkgBAsCeHnEBl3IEQOA6hkBFiawNTbJz9RIZRlNMK8K8D4WgabsBDonzg9loCrtQVDmGMNSd8WECFcicicV5puXFaI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 style="box-sizing: border-box;white-space: pre-wrap;break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 16px;margin: 1.2em 5px !important;padding: 5px 0px;text-align: left;color: rgb(0, 181, 173) !important;font-weight: bold !important;width: inherit;font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">招 AI 员工，配置完即可上岗</span></span></h3><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">办公室搭好之后，就可以在画布上不断添加「</span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">AI 员工</span></span></strong><span style="box-sizing: border-box;"><span leaf="">」，每个六边形则代表一个工位，点击它便可创建员工。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">我们可以为员工取名字、选择工作引擎、配置执行规格，如果是处理简单任务选择轻量，而涉及到自动化、代码开发，建议选择高性能。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509610" data-ratio="1.4701986754966887" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="755" src="https://wechat2rss.xlab.app/img-proxy/?k=d99212a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQonhXGCXnSgribfDcttrCX9PrWofczMGFY96lchtmX5KdVMacsB9PkTEMKXzsCPcboDqiazOo74oY9PbRG0wz9bo7Olc7WKf1wZh8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">下一步给员工配置大模型，目前已支持 MiniMax、Kimi、OpenRouter、</span><span leaf="">阿里云、火山引擎</span><span leaf="">等主流 LLM 服务商。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">值得一提的是，切换模型时，员工之前积累的记忆和工作上下文不会丢失，因为员工的 Memory 是单独存储的，和底层模型解耦。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">员工创建完成后，还可以一键接入飞书、钉钉、企微或 Slack，配置好渠道 ID 和密钥，这名 AI 员工就直接出现在团队的日常工作流里了。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509615" data-ratio="0.7092592592592593" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=77f42ccc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FsnxIHWuwQomy7Hza1Pz5ibCA9fXLhctajuMPBN66NG30Jl9XOzNrhIAPvia6SEBmiacVqv69nvwHyYicN3JGdSEgickpOGzjVYM6bSKJcD38ovKU%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 style="box-sizing: border-box;white-space: pre-wrap;break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 16px;margin: 1.2em 5px !important;padding: 5px 0px;text-align: left;color: rgb(0, 181, 173) !important;font-weight: bold !important;width: inherit;font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">为 AI 员工，打造一个基因市场</span></span></h3><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">员工到位之后，还需要让它们学习对应的 Skill 技能。DeskClaw 专门打造了一个「</span></span><strong style="box-sizing: border-box;color: rgb(34, 107, 163);"><span style="box-sizing: border-box;"><span leaf="">基因市场</span></span></strong><span style="box-sizing: border-box;"><span leaf="">」，把 Skill 定义为基因。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509618" data-ratio="0.6129629629629629" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=a4f5fe5c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQomG9N5lwXiaoNOiaicHQ0FFmt6d01wAwXsFekKo9ia3vlItzQkHH2duG43dMmEZOO6Ixajcn3Og1ia2L9URMVqZYQ2w6pU9k0ibsymicY%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">如果说 Skill 是一份下载即用的操作手册，那这里的「基因」最大的不同在于：它会被持续打分、筛选和淘汰。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">每个基因都有一个动态效能评分，由使用次数、人类的点赞点踩、以及 Agent 之间的互评三个维度加权计算。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">用的人越多，反馈越多，高质量的基因自然浮现，低效的慢慢被淘汰，整个基因市场会持续进化。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509616" data-ratio="0.6092592592592593" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=a7ab4e5d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FsnxIHWuwQomImWEROEgcgLPt1XF5srIibbn49FSaT7epdOicdzsv6tnTCjePDouGFprX6cOh4dByricC7pMJEl2DMnSvjg1pkEuws8icahfM9mI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">多个基因还能打包成技能基因组，一键安装到员工身上，让它直接获得一整套工作能力。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509617" data-ratio="0.6175925925925926" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=d293f23e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQomG52kPQZvm4hw6Jj5VShBTgI2oI2U7A6DVxv6IcqZZPJjFSdf1CAicAx4jlm2BvtWdwENU1A6ggicJnOXw44zexyTToFpI49SOc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">至此，大家对 DeskClaw 的核心功能已基本了解，下面来看一个实际的应用场景。</span></span></p><h3 style="box-sizing: border-box;white-space: pre-wrap;break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 16px;margin: 1.2em 5px !important;padding: 5px 0px;text-align: left;color: rgb(0, 181, 173) !important;font-weight: bold !important;width: inherit;font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">AI 电商团队，全自动化运营</span></span></h3><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">假如我们是一个电商团队，可以在办公室里分别部署「电商营销规划」、「爆款内容抓取」、「AIGC 内容生成」、「内容投放」、「内容审查」五个 AI 员工，加上一个人类工位，让它们分工协作，自动跑完整条营销链路。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509619" data-ratio="0.5314814814814814" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=6780683e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQomvB4b3Fgdfq8tPe3JhyqhtQJIdH9NItSibXXpD9dXf9T29NJMW6DtTc4nY77Kn6qzMMyKZiaFUSpgzQPnibicibCPs3U739vZGnEbA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">想要了解团队情况，可以打开中央黑板，所有的数据都非常直观，一眼就看到待办、进行中、已完成等任务的状态。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">在面板底部还能查看团队效能，实时显示任务完成率、创造总价值、Token 消耗与产出。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509620" data-ratio="0.562037037037037" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=e3be19e0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FsnxIHWuwQon1lMicbRkiaL5znEenF8xtic1uMMWGKm4VLOg62ypJZrFmjBEhQJfn5wROETibQnE4XGXII6d6vKuKZCCUrbKWIKIia4K2TLINzpnA%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">整条链路从任务分发到内容产出，无需人工介入，这也是 DeskClaw 团队自己在用的一套工作流。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">如果大家感兴趣的话，可以动手部署体验一下。项目提供了 Docker 一键部署方式，只需执行三条命令：</span></span></p><p class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"></ul><pre class="code-snippet__js" data-lang="bash"><code><span leaf=""><span class="code-snippet__comment"># 1. 克隆代码到本地</span></span></code><br/><code><span leaf="">git <span class="code-snippet__built_in">clone</span> <a href="https://github.com/NoDeskAI/nodeskclaw.git" target="_blank">https://github.com/NoDeskAI/nodeskclaw.git</a></span></code><br/><code><span leaf=""><span class="code-snippet__comment"># 2. 复制一份环境变量文件出来</span></span></code><br/><code><span leaf=""><span class="code-snippet__built_in">cp</span> nodeskclaw-backend/.env.example nodeskclaw-backend/.env</span></code><br/><code><span leaf=""><span class="code-snippet__comment"># 3. 一键启动</span></span></code><br/><code><span leaf="">docker compose up -d</span></code><br/></pre></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">完成之后访问</span></span><em style="line-height: 1.8em;orphans: 4;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;box-sizing: border-box;"><span leaf="" style="box-sizing: border-box;"><a href="http://localhost" target="_blank">http://localhost</a></span></em><span style="box-sizing: border-box;"><span leaf="">，将看到如下界面，注册登录账号即可开始使用。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" nodeleaf=""><img alt="img" class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="310509621" data-ratio="0.5712962962962963" style="box-sizing: border-box;max-width: 100%;vertical-align: middle;image-orientation: from-image;display: block;margin: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9cb8f27f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FsnxIHWuwQom2XkVlv7mwO48D1cUq6m5nRyiaylw6iaM5oibdl2QrwibRnNoThgnj3TJtGfgRq22rbicjicnwYOIQ5jY5XAbBuIxX4Zle0gdp0ksRQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h3 style="box-sizing: border-box;white-space: pre-wrap;break-after: avoid-page;break-inside: avoid;orphans: 4;font-size: 16px;margin: 1.2em 5px !important;padding: 5px 0px;text-align: left;color: rgb(0, 181, 173) !important;font-weight: bold !important;width: inherit;font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">写在最后</span></span></h3><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">回看过去两年，AI Agent 行业经历了三个阶段：比模型能力、比任务编排、到现在比谁能让一群 Agent 在企业里稳定运转、持续产出。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">这个转变背后有一个现实：模型间的差距正在收窄，「怎么用、怎么管、怎么评估」才是 AI 能否真正落地的关键。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">但绝大多数 Agent 项目依然停留在「完成任务」这一层。企业真正需要知道的是：AI 员工干了什么、花了多少、行为是否合规。没有这层能力，AI 在企业里永远只是试点。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">DeskClaw 团队选择从这里切入，并非偶然。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">他们在电商营销场景上跑了相当长时间的多 Agent 实践，竞品监控、爆款文案生成这类链路已被封装成开箱即用的基因技能包。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">这套系统从真实业务里长出来，他们自己就是第一个用户，所以才内置了权限控制、操作日志、审计追溯、效能度量这些企业级能力。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">团队将整套系统完整开源，某种程度上也是在下一个赌注。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">当多 Agent 成为企业标配时，那些能真正把运行基础设施做好的人，才能在市场上长期生存下去。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">如果你正在考虑多 Agent 协作落地，DeskClaw 团队版绝对值得部署体验一下。</span></span></p><p style="box-sizing: border-box;line-height: 1.8em;orphans: 4;margin: 2em 5px !important;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;width: inherit;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="box-sizing: border-box;"><span leaf="">GitHub 项目地址：</span></span><em style="line-height: 1.8em;orphans: 4;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;box-sizing: border-box;"><span leaf="" style="line-height: 1.8em;orphans: 4;font-size: 15px;letter-spacing: 0.1em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, &#34;SF Pro&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;box-sizing: border-box;"><a href="https://github.com/NoDeskAI/nodeskclaw" target="_blank">https://github.com/NoDeskAI/nodeskclaw</a></span></em></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507888" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=fdc36619&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtCS6rwAlqvgOzdHich3ygDZah2ibsOnVP80LXdicfXxmClvhZOUwic60mzcfOHPGialvPFLnA9b4YuHZacoibzaFicNde3ia7yKGiclnIibk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=a5a5ecb5&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991537%26idx%3D1%26sn%3D9d0fd99d4e7e0069eeaa1b8da908e32c">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 28 Mar 2026 20:34:00 +0800</pubDate>
    </item>
    <item>
      <title>OpenClaw 大更新：插件市场上线，/btw 侧边提问，AI agent 从工具变成了平台</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991534&amp;idx=1&amp;sn=6b048e7d052852d7aaa8224e35d514f9</link>
      <description>OpenClaw插件市场来了！</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-03-24 20:23</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=683b1636&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FTkWsojtosvTRib028rp5yicgsV4L94xsUCADGibruReKUZbZ6icdesJ5icf7er8IFY1fZLr5ol4ZRs3zXtCzrCH6S2fWq4nafgNk24z8xBStopmI%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>OpenClaw插件市场来了！</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> OpenClaw 推了 2026.3.22 版本，更新量大到官方自己都说&#34;这次更新需要一个目录&#34;。ClawHub 插件市场上线、三款搜索引擎内置、/btw 侧边提问、OpenShell 沙盒……一口气塞了十几个新功能。如果你在用 OpenClaw 跑自媒体或者 AI agent，这次升级值得认真看一下。</span></p></div><div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">ClawHub：插件市场来了</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是本次更新里分量最重的变化。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">过去给 OpenClaw 装插件，靠的是 npm——和装 Node 包没什么区别，门槛高，发现成本也高。现在有了 ClawHub，情况不一样了：专门的插件市场，集中搜索、一键安装、统一管理更新。官方顺手也把 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">openclaw plugins install</span></code><span leaf=""> 的默认行为改了，现在优先走 ClawHub，找不到才去 npm。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">对 OpenClaw 的用户来说，这意味着 skill 生态可以真正跑起来了。过去写好的 skill 发给别人用，要么 fork repo、要么自己手动复制，现在直接发布到 ClawHub，对方搜名字装一下就完事。</span></p><span leaf=""><img alt="OpenClaw 2026.3.22 官方推文" class="rich_pages wxw-img" data-aistatus="1" data-ratio="1.2993311036789297" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" data-w="598" src="https://wechat2rss.xlab.app/img-proxy/?k=69607643&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQVASqfj5A3Dpk3Znhricalicw6KTR4y8hDMNItYRlnOD2IcS8H2qyBDRJnZdR5y52cuTxCDQ8FzqzcribZpTKVRpa4lntEUHvgv0%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">社区里已经有人在庆祝了——@hex_agent 说他基于 ClawHub 卖 skill，这周早上就等到了平台正式上线，&#34;week 6 the void has a marketplace&#34;（第六周，虚空里终于有了市场）。</span></p><span leaf=""><img alt="ClawHub 插件市场：搜索安装插件示意" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9027a816&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQUg8Ricibk1HzyIbmNdZFNhAwJVLPaiangmCmdEojiaqm20GDAcQnKg46F0o1G6VvwyPrINA0Hib2k9zqS6WPMMJVssTlzMFN13DVc%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">/btw：不打断对话的侧边提问</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是个小功能，但我觉得非常实用。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">场景是这样：你在跟 AI 处理一件长任务，突然想问个无关的小问题——&#34;顺便问一下，今天上海天气怎么样&#34;——但又不想把这个问题塞进当前对话，污染上下文。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/btw</span></code><span leaf=""> 就是为这种情况设计的。输入 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/btw 今天上海天气</span></code><span leaf="">，AI 给你一个快速答案，不调用工具，不占主对话的上下文。用完就消，不影响后续的任务。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这种设计说白了是承认了一件事：AI 对话是有&#34;会话状态&#34;的，随意往里塞问题确实会干扰连续任务的质量。/btw 把&#34;主线任务&#34;和&#34;插嘴小问题&#34;做了隔离。</span></p><span leaf=""><img data-aistatus="1" alt="/btw 侧边提问：不打断主任务的快速问答" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=c3a11e01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSvweIh9U5G9roS0acOk9mDY59aaE5ib1MseN1GxObToNsNJyK2eDhC2icOzEYq7bRia0t2IIIe6qic5MfYnDCp767WiaBiaebKw8Z6o%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">OpenShell + SSH 沙盒</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">OpenClaw 现在支持可插拔的沙盒后端，不再只能用 Docker。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">新的 OpenShell 后端支持&#34;镜像模式&#34;（mirror mode）——在沙盒里映射主工作区，但操作不影响真实文件。旁边还加了 SSH 沙盒后端，支持密钥/证书认证，远程执行更安全。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这对跑复杂 agent 任务的用户影响比较直接：以前想要隔离执行环境，必须装 Docker，现在多了选择，在轻量场景下用 OpenShell 或 SSH 就够了。</span></p><span leaf=""><img data-aistatus="1" alt="OpenShell 沙盒架构：主工作区 / 镜像沙盒 / SSH 远程三种模式" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=10167b6b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvRR4I872Bbm854yFRSMXtDgicDIbCCfxarOJHO22z7JWjyxJQ2K6H6FDItPxKcNM9FUvbxUU0xCME0yGhcuR1vib2qHB9tSDzboI%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">内置三款搜索引擎</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Exa、Tavily、Firecrawl 三个搜索/抓取工具现在是内置的，不用再手动写 skill 或配 API 调用。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">配置也统一了：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Exa：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">plugins.entries.exa.config.webSearch.*</span></code><span leaf="">，支持日期过滤和内容提取</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Tavily：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">plugins.entries.tavily.config.webSearch.*</span></code><span leaf="">，有专用的 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">tavily_search</span></code><span leaf=""> 和 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">tavily_extract</span></code><span leaf=""> 工具</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><p><span leaf="">Firecrawl：通过 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/configure</span></code><span leaf=""> 配置，有 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">firecrawl_search</span></code><span leaf=""> 和 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">firecrawl_scrape</span></code><span leaf=""> 工具</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">三个搜索工具有什么区别？简单说：Exa 擅长语义搜索，Tavily 适合快速检索，Firecrawl 抓页面内容更彻底。能一起用，也可以根据任务选其中一个。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">模型层更新：MiniMax M2.7、GPT-5.4-mini/nano</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">模型那边动作也不少：</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">MiniMax</span></strong><span leaf=""> 升级到 M2.7，同时新加了 M2.7-highspeed 版本。用 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">/fast</span></code><span leaf=""> 指令会自动路由到 highspeed 变体，适合不要求深度推理但追求速度的场景。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">OpenAI</span></strong><span leaf=""> 这边，默认 setup 模型换成了 GPT-5.4，同时加入了 GPT-5.4-mini 和 GPT-5.4-nano。nano 是目前最轻量的选项，适合高频调用或资源受限的部署。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Per-agent reasoning</span></strong><span leaf="">（每个 agent 独立推理配置）也来了：每个 agent 可以独立设置 thinking/reasoning/fast 的默认值，不再是全局统一一套。这对多 agent 协作场景挺有用——给负责推理的 agent 开高思维模式，给负责执行的 agent 开快速模式，分开配置。</span></p><span leaf=""><img data-aistatus="1" alt="模型层更新：MiniMax M2.7 / GPT-5.4 家族 / Per-agent Reasoning" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=374fcc09&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvTNeLMe1K8JwIcP7GZjZsXWfNDcejXK4hkLItom3WLCkLgLnnbvqibXZCQ2ImRIbFsO2fKT3UfCIakT6scfxpzG8pSkYJj5fotc%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">破坏性更新：升级前必读</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这次有几个地方动了，升级前要注意：</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">插件 SDK 切换</span></strong><span leaf="">：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">openclaw/extension-api</span></code><span leaf=""> 已移除，新 SDK 入口是 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">openclaw/plugin-sdk/*</span></code><span leaf="">。如果你有自己写的插件，需要迁移。官方文档：<a href="https://docs.openclaw.ai/plugins/sdk-migration" target="_blank">https://docs.openclaw.ai/plugins/sdk-migration</a></span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">Chrome 扩展中继路径移除</span></strong><span leaf="">：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">driver: &#34;extension&#34;</span></code><span leaf=""> 和 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">browser.relayBindHost</span></code><span leaf=""> 配置都没了。运行 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">openclaw doctor --fix</span></code><span leaf=""> 可以自动迁移到新的 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">existing-session</span></code><span leaf=""> / </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">user</span></code><span leaf=""> 路径。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">图片生成接口统一</span></strong><span leaf="">：内置的 nano-banana-pro skill 包装层没了，改用 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">agents.defaults.imageGenerationModel.primary: &#34;google/gemini-3-pro-image-preview&#34;</span></code><span leaf=""> 统一处理。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">旧环境变量清理</span></strong><span leaf="">：</span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">CLAWDBOT_*</span></code><span leaf=""> 和 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">MOLTBOT_*</span></code><span leaf=""> 等旧名称全部停止支持，统一改用 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">OPENCLAW_*</span></code><span leaf=""> 前缀。如果 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">~/.moltbot</span></code><span leaf=""> 目录还在，也要手动迁移到 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">~/.openclaw</span></code><span leaf="">。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">社区里已经有人踩坑了——@X_Corperation 说升完微信插件就报了 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">Cannot find module &#39;openclaw/plugin-sdk&#39;</span></code><span leaf="">，就是 SDK 路径迁移没做导致的。</span></p><span leaf=""><img data-aistatus="1" alt="升级前必读：4个破坏性变更清单" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=2788d146&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvT0h9Df7Aib8fhWmHJiayA3aPUcR7rnH8M4Q2FUVclb6Ic3ASYOuuQyjNuia7jSAhukM5sV474jsricp8VhtkdW6HAVibDlke0TAfu8%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">安全修复这次格外多</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这次 Changelog 里的安全修复数量明显高于以往，值得单独提一下。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">几个关键修复：</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">exec 安全</span></strong><p><span leaf="">：把 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">jq</span></code><span leaf=""> 从默认安全白名单里移除了——因为 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">jq -n env</span></code><span leaf=""> 可以把宿主机环境变量全部 dump 出来。已有用户报告了这个安全风险。</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Windows 媒体路径</span></strong><p><span leaf="">：修复了通过 </span><code style="font-family: monospace;font-size: 13px;padding: 2px 4px;background-color: #f1f5f9;color: #1e3a8a;border-radius: 3px;"><span leaf="">file://</span></code><span leaf=""> URL 或 UNC 路径触发 SMB 凭据泄漏的问题。</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">设备配对</span></strong><p><span leaf="">：iOS 配对码绑定加强，防止越权角色申请。</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Unicode 隐藏字符</span></strong><p><span leaf="">：修复了在审批提示中用韩文填充字符（Hangul filler）隐藏命令文本的绕过技巧。</span></p></li><li style="margin-bottom: 5px;line-height: 1.75;text-align: left;"><strong style="font-weight: bold;color: #333;"><span leaf="">Nostr/Synology Chat</span></strong><p><span leaf="">：两个平台的入站消息做了加固，防止未授权发送方绕过配对检查。</span></p></li></ul><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">项目体量到这个阶段，安全修复的密度能说明一件事：用的人多了，盯着找漏洞的人也多了。</span></p><span leaf=""><img data-aistatus="1" alt="安全修复重点：5个关键漏洞修复" class="rich_pages wxw-img" data-ratio="0.5583333333333333" data-w="1080" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;" src="https://wechat2rss.xlab.app/img-proxy/?k=47fe99e3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvRicLXic0MtsFHFLodmPg0O4u55GiaXvzwlgbnI4hkNR30Ue21vBVjbQJtEaQa5N3geS8rGnh7YhOo3zuwWibgVl8HPV6OeRnqYbss%2F640%3Ffrom%3Dappmsg"/></span><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">总结</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">2026.3.22 是 OpenClaw 今年以来改动最大的版本之一。ClawHub 解决了 skill 生态流通的问题，三款搜索工具内置降低了信息采集的配置门槛，/btw 和 per-agent reasoning 是细节打磨。安全修复密度高，说明项目正在进入被认真对待的阶段。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">如果你现在用 OpenClaw 跑内容生产或 agent 工作流，这次升级的主要障碍在 SDK 迁移——如果有自定义插件，先看迁移文档，别无脑升。</span></p><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">OpenClaw 2026.3.22 Release Notes：<a href="https://github.com/openclaw/openclaw/releases/tag/v2026.3.22" target="_blank">https://github.com/openclaw/openclaw/releases/tag/v2026.3.22</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">OpenClaw 官方 X：<a href="https://x.com/openclaw/status/2036043904949330407" target="_blank">https://x.com/openclaw/status/2036043904949330407</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">ClawHub 文档：<a href="https://docs.openclaw.ai/tools/clawhub" target="_blank">https://docs.openclaw.ai/tools/clawhub</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">插件 SDK 迁移指南：<a href="https://docs.openclaw.ai/plugins/sdk-migration" target="_blank">https://docs.openclaw.ai/plugins/sdk-migration</a></span></p></li></ul></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=d3599f57&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991534%26idx%3D1%26sn%3D6b048e7d052852d7aaa8224e35d514f9">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 24 Mar 2026 20:23:00 +0800</pubDate>
    </item>
    <item>
      <title>Claude Code 上线新功能要革OpenClaw的命!</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991532&amp;idx=1&amp;sn=191610fa2f2833a4f7f67fdfae5a86bc</link>
      <description>Claude Code 新功能Channels，让你从此不用守着电脑。</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-03-20 20:59</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=5c83333a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FTkWsojtosvRrqzUTRueaudyCxFriaRAaXiat7ApywH4oibiaUia3IOAibCesicyDR1gvnTlBwVxejvvfUDukR81n00j7PibTZSjEsmgTJM0KbE6hC9I%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Claude Code 新功能Channels，让你从此不用守着电脑。</p>
  <p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5625" data-s="300,640" data-type="jpeg" data-w="1280" type="block" data-imgfileid="501506620" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><div><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> Claude Code 刚上线了一个很实用的新功能——Channels。从此你不用守着电脑，拿出手机发条 Telegram 消息，Claude 就在你的电脑端继续帮你写代码、修 bug、推进任务。这篇说清楚它是怎么工作的，以及为什么值得关注。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">手机发条消息，Claude 帮你写代码</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">昨天（3月19日），Claude Code 团队的工程师 Thariq 发了条推文宣布了一个叫 Channels 的新功能。</span></p><span leaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.140468227424749" data-w="598" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=e42f985b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvRiaytRG5yt1mfBAlbO6KqvC19b0k7NIlkqoLncroacbJO5Xw6ut0F7LNqg6IzZ1ic5HTLX1GN1J2eQRS2ADOKjFXGcUIrMVraA8%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">官方演示视频展示了整个操作流程——在手机 Telegram 里发一条消息，电脑终端的 Claude Code 实时收到并开始执行任务：</span></p><span leaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5625" data-w="640" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=ee234f63&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_gif%2FTkWsojtosvQVf2eiaj96SaWpoZSmYly3iaU6qgibycLMicqlMew32dVoHAVHLibhtcMOoOLNMDIKpYgUlricicH2zHzHtiaT6yY12BDXqiaV5eGIV9ds%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">核心意思是：现在可以通过 Telegram 或 Discord，直接从手机控制你正在运行的 Claude Code 会话。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">以前的工作方式是——你必须坐在电脑前，在终端里跟 Claude Code 互动。现在的方式是——你可以出门在外，在手机上给 Claude 发消息说&#34;帮我看一下这个 PR&#34;，然后让它在家里的电脑上继续工作，完事了把结果推回你的 Telegram。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这不是远程操控电脑那种粗糙的方案，而是 Claude Code 会话本身通过 MCP（Model Context Protocol）把自己变成了一个可以接收外部消息的服务器。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">技术机制：MCP 做的桥</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">理解这个功能，关键在于理解「channel」是什么。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Channel 本质上是一个 MCP 服务器，它的职责是把外部平台（Telegram/Discord）的消息推送到正在运行的 Claude Code 会话里。这是一个双向通道——Claude 收到消息、处理任务，然后把结果回传到同一个聊天 app 里。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">要用这个功能，需要 Claude Code v2.1.80 以上版本，并且必须用 claude.ai 账号登录（不支持 API key 方式）。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">配置本身不复杂：以 Telegram 为例，你在 BotFather 那里创建一个机器人，拿到 Token，然后安装对应的插件，设置白名单。整个过程大概几分钟。Discord 的流程类似。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">一个重要的细节是：这个功能目前是「Research Preview」状态，意味着它还不稳定，随时可能调整。Team 和 Enterprise 版本需要管理员显式开启才能用。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">会话必须保持活跃——事件只在 Claude Code 会话开着的时候才会送达。如果你想让它「全天候」响应，需要把 Claude Code 跑在后台进程里。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">为什么 Ethan Mollick 觉得这是个「战略信号」</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个功能发布之后，沃顿商学院教授 Ethan Mollick 有一条评论很有意思：</span></p><span leaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="1.3612040133779264" data-w="598" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=12d0b3e6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvQE2iae36z1obyKcniaQTtpWwKL4lAUgGCVibEAFS1wlPthRVRZXwdia9GgfmAiaCBOn0b7Rv27bJqjLic1vQsSnZTGkvyyv4EmBNpe8%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他说的是：Claude 团队自己在用 OpenClaw 这样的工具，并且学习它来快速迭代功能，这是一个很强的论据——说明 AI 驱动的编程团队，可以跑出一种完全不同于传统软件开发的节奏，有很深远的战略意义。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这话背后有个值得注意的现象：Claude Code Channels 这个功能，跟 OpenClaw（一个个人 AI 助手框架）的 channels 机制高度相似。OpenClaw 本来就是通过 Discord 等即时通讯平台跟 AI 会话交互的。Anthropic 团队观察了用户实际上是怎么用 AI 工具的，然后快速把这种模式移植到了 Claude Code 里。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这种「AI 团队用 AI 工具，观察自己用的方式，再做成功能」的循环，可能才是 AI 编程工具迭代速度远超传统 IDE 的根本原因。</span></p><p style="font-size: 18px;color: rgb(30, 58, 138);font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">Channels 与 Telegram 联动的具体操作步骤</span></p><div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []"><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(1) 创建机器人： 在 Telegram 中打开 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">BotFather</span></code><span leaf="">，创建后复制他给你的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">Token</span></code></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(2) 安装插件：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/plugin install telegram@claude-plugins-official</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(3) 配置 Token：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/telegram:configure &lt;token&gt;</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(4) 使用命令启动：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">claude --channels plugin:telegram@claude-plugins-official</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(5) Telegram 配对： 打开 Telegram 发送任何信息获取到配对码； 在 Claude Code 里面发送</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/telegram:access pair &lt;code&gt;</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">(6) 锁定访问权限：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/telegram:access policy allowlist</span></code></pre></div><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">这对普通开发者意味着什么</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">说实话，对大多数人来说，能直接用这个功能的场景还是有限的——你首先得是 Claude Code 的用户，其次得有一个长时间跑着的会话。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">但它指向的方向很清楚：AI 编程助手正在从「你坐下来用它」变成「它在替你干活，随时汇报」。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">下一步可能是什么？官方文档暗示了 iMessage、Slack 等更多平台的接入，以及「定时任务」和「远程控制」的深层集成。把这些加在一起，一个全天候、异步运行的 AI 编程助手的轮廓已经很清晰了。</span></p><ul style="background: #f0f9ff;border-radius: 8px;font-size: 14px;color: #0369a1;margin-bottom: 15px;border: 1px solid #bae6fd;text-align: left;padding: 15px 15px 15px 35px;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">Claude Code Channels：通过 Telegram/Discord，从手机远程控制本机的 Claude Code 会话</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">技术底层是 MCP 协议，双向通信，现在是 Research Preview 阶段</span></p></li><li style="margin-bottom: 8px;text-align: left;"><p><span leaf="">背后更大的信号是：AI 编程工具正在向「全天候异步运行」演化</span></p></li></ul><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p style="text-align: left;"><span leaf="">Claude Code Channels 官方文档：<a href="https://docs.anthropic.com/en/docs/claude-code/channels" target="_blank">https://docs.anthropic.com/en/docs/claude-code/channels</a></span></p></li><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p style="text-align: left;"><span leaf="">原始发布推文：<a href="https://x.com/trq212/status/2034761016320696565" target="_blank">https://x.com/trq212/status/2034761016320696565</a></span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5490741" data-s="300,640" data-type="jpeg" data-w="1080" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-imgfileid="501507878" src="https://wechat2rss.xlab.app/img-proxy/?k=572d2345&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtCVqV4BASBOUwTPCN4c1RHGklbx0xn22mr9ZgOh6Tt7aXbguibICoYXdhN1Xibibmazs86jIGDTHrNCfick4tHicjicpA55fv1GaV5FQ%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=a303698f&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991532%26idx%3D1%26sn%3D191610fa2f2833a4f7f67fdfae5a86bc">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 20 Mar 2026 20:59:00 +0800</pubDate>
    </item>
    <item>
      <title>Claude 推出新特性：/loop，未来有机会 24h 运行？</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991524&amp;idx=1&amp;sn=82d032a8e12350a437bb70e41aa9139e</link>
      <description>Claude Code 官方团队开发的新特性：定时任务功能（Scheduled tasks）。</description>
      <content:encoded><![CDATA[<p><span>陈煎鱼</span> <span>2026-03-17 20:13</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：脑子进煎鱼了</p>
  <strong>脑子进煎鱼了</strong>
  <p>分享计算机基础、Go 语言、微服务架构和系统设计；著有图书《Go 语言编程之旅》。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=0da0c5de&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FyFlllLR1oUJjCAF3Eat3nkdoCwMs0P56ZEymsmGBzZM2j9hvzhBJoztep5pd2vibtzuZaSsyoPTBLe9eDzvaibkkGkTQDY3OuEO9CLgW6PicPA%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Claude Code 官方团队开发的新特性：定时任务功能（Scheduled tasks）。</p>
  <div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">不知道大家最近还有没有关注 A社持续推出的新特性？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">最近他们出了个新特性 —— 内置的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 定时任务功能 (Scheduled tasks)，这一出不仅在官方文档里占了重要版面，在社区里更是引起了不小的讨论。</span></p><figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: flex;flex-direction: column;justify-content: center;align-items: center;"><span leaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100019854" data-ratio="0.4484536082474227" style="display: block;margin-top: 0px;margin-right: auto;margin-bottom: 0px;margin-left: auto;max-width: 100%;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;" data-type="png" data-w="776" src="https://wechat2rss.xlab.app/img-proxy/?k=4d5ac851&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FyFlllLR1oUKUel1wwUjiaF51KIxe7WOuQS1eUap4DQxF9JqCTWBceoRuWPHkyvsXFDPelFeJONeR3MPHiaKzDohVGrG9VkqOM8micAOhBFKaibI%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></span></figure><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">背景</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">日常写代码，这个诉求挺常见：我们经常需要在终端里跑一些耗时的任务。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">举几个大家都经历过的例子：</span></p><ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">你刚提交了一段代码，需要等待 CI/CD 管道跑完部署流程。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">本地运行一个巨无霸项目的集成测试，一跑就是十几二十分钟。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">你眼巴巴地盯着一个 PR ，等着你的同事来 Review 或者等某个自动化检查通过。</span></p></li></ul><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">很无奈的是，以前我们用各种 AI 工具，你给它一个指令，它干完一件事就停了。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">你要是想让它帮你盯着某个任务的进度，你得不停地手动输入：</span></p><ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">“部署完了吗？”</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">“测试过了吗？”</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">“那个 PR 有人回没？”</span></p></li></ul><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这就会导致你的聊天对话框里有一堆的手动检查，开发者们苦不堪言。 大家以前是怎么解决的呢？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">要么写个 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">watch</span></code><span leaf=""> 命令死死盯住终端，要么手写一堆复杂的 Bash 脚本加上 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">crontab</span></code><span leaf=""> 来轮询。还是比较麻烦的。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">新特性 /loop 介绍</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">为了解决这个痛点，Claude Code 官方团队开发了个新特性，推出了 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 定时任务功能（Scheduled tasks）。</span></p><figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: flex;flex-direction: column;justify-content: center;align-items: center;"><span leaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100019855" data-ratio="0.11934156378600823" style="display: block;margin-top: 0px;margin-right: auto;margin-bottom: 0px;margin-left: auto;max-width: 100%;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;" data-type="png" data-w="729" src="https://wechat2rss.xlab.app/img-proxy/?k=947ab5eb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FyFlllLR1oULQ4lPh97TbHwnjJPdWBJEYPUo0hrGzCohskYJJbvmvOVFVmatbhlLrmor4h6MMgFdbx4ibu8uYiafJBiahxVzyBMKht0uaYBmGyk%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></span></figure><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">简单来说，就是允许你在当前的 Claude Code 会话中，设定一个智能定时器，让 Claude 在后台自动、定期地执行某个自然语言 Prompt。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">它的灵感显然来源于 Unix 系统的 Cron 机制，以及现代开发中越来越火的“代理自动循环 (Agentic Loop) ”概念。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他解决了一个关键问题：如何把自然语言交互和周期性任务完美结合。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">/loop 使用例子</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我们来看下具体的代码和命令示例。咱们循序渐进，从最简单的例子看起。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">以前的人工写法，是每隔五分钟你都要手动敲一次这行命令：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">check </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> the deployment finished</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">现在的写法非常直观，直接上 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 加时间间隔：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/loop 5m check </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">if</span></span><span leaf=""> the deployment finished and tell me what happened</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">如果你觉得把时间放前面别扭，时间甚至可以放在句末，像平时说话一样：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/loop check the build every 2 hours</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">不仅如此，如果你只想要一个单次的提醒 (One-time reminders) ，也可以不用重复循环，像设定闹钟一样搞定：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/loop </span><span style="color: #c678dd;line-height: 26px;"><span leaf="">in</span></span><span leaf=""> 45 minutes check whether the integration tests passed</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">甚至，我们还可以更进一步，让它去执行你封装好的 subagent 或者 skiils。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">比如你之前写好了一个专门用来 Review 代码的自定义 skills </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/review-pr</span></code><span leaf=""> ，你可以直接这样组合：</span></p><pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">/loop every 20m /review-pr 1234</span></code></pre><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这样一来，Claude 就会每 20 分钟自动去抓取 PR 1234 的最新代码并进行 Review。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">社区观点</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个特性一出，社区可是炸开了锅。有的人觉得这功能简直是神器，彻底解放了双手。也有觉得他这样就是 OpenClaw。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">新特性 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 的核心价值在于上下文感知 (Context-aware) 。传统的定时脚本只能死板地执行命令、吐出日志。而 Claude Code 是带着你的项目上下文去检查报错、分析日志的。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">一旦你的 CI 测试在 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 期间跑挂了，Claude 不仅能发现失败，还能根据它的代码库上下文，直接告诉你哪里报错了，甚至顺手帮你生成一段修复代码。这两者的体验能一样吗？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这对于我们日常开发，尤其是在管理复杂项目或者是跨语言项目，又或是长周期运行任务时，有着非常直观的落地价值。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">注意事项</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">实现逻辑上，本质是 Claude 接收到指令后，会在后台解析你输入的自然语言时间间隔，把它转换成底层的 Cron 表达式，调度这个 Job 并生成一个任务 ID。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">现阶段有两个关键的点要注意：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><div style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><p style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">低优先级队列</span></strong><span leaf="">：Claude 调度器会每秒钟检查一次到期任务，并将它们放入低优先级队列。这些定时任务是 Session-scoped (会话级别) 的。只要你不退出当前的 Claude Code 进程，它就会一直默默在后台帮你打工。</span></p></div></li><li><div style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><p style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">单终端且 3 天有效期</span></strong><span leaf="">：目前的 </span><code style="height: auto;color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 还是绑定在单个终端 Session 里的，退出进程就失效了，并且每个会话最多只能跑 50 个任务，最长有效期是 3 天。</span></p></div></li></ol><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">总结</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">可以看到 Claude Code 这次推出的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/loop</span></code><span leaf=""> 定时任务功能，能切切实实地在解决开发者在终端里被打断工作流的痛点。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">它巧妙地把时间调度器和 LLM (大语言模型) 的推理能力结合在了同一个代码上下文里。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">遥想一下，他们能不能把这种轻量级的会话任务，进一步扩展到无缝对接后端的持久化队列里？</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">甚至让 Agent 在云端代替你 24 小时监控项目库，再做一些运营类的事情，那将会进一步打破边界！</span></p><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507875" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=ee130cd9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtDGAU55nDZVSyWzkJicDWhO0AfO7PfLbia6BraxWSLiamcsy4uribcKzPp4f3hnzDFk0YkxudAU5Hrjlq6M7SkXGWI69KibMtcLptdk%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=34aa780e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991524%26idx%3D1%26sn%3D82d032a8e12350a437bb70e41aa9139e">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 17 Mar 2026 20:13:00 +0800</pubDate>
    </item>
    <item>
      <title>港大刚刚开源了 CLI-Anything！一个命令让任意软件秒变 AI Agent 原生工具！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991521&amp;idx=1&amp;sn=213553424c9be03911c2ddb09ceeb461</link>
      <description>让任意软件秒变 AI Agent 原生工具。</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-03-12 19:58</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=f5b44b59&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUiaib0Ouod8jrH1fgiaicSZYWxGeIIH1pZHQrJfRY9B17zZibY2icEIknRvMSOuicIJrO7Cbk8KGmcRNiaVQicnRffibwex2AWGjlUj0nNDs%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>让任意软件秒变 AI Agent 原生工具。</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;margin-top: 0 !important;"><span leaf="">最近“养龙虾”已经成为全民热潮了！不仅仅是AI博主和科技大厂推崇，连各地的政府机构都开始了！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;">现在越来越多人把最难、最复杂的的任务丢给 </span></span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf=""><span textstyle="" style="font-style: italic;">OpenClaw</span></span></code><span leaf=""><span textstyle="" style="font-style: italic;">，而 Claw 们干活的时候，绝大多数选的都是 Claude Code —— 不是 Cursor，不是 VS Code，更不是什么 GUI Agent。</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;">核心原因就一个：“CC 的 CLI 做得太好了。有状态、自描述、好用还强大。Agent 不需要跟它「搏斗」—— 拿起来就能干活。”</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;">但是绝大多数真正的专业软件，都没有这样的 CLI。GIMP、Blender、LibreOffice、OBS —— 每一个都是重量级工具，但 Agent 基本碰不了。</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="font-style: italic;">你能做的上限就是截图点点点的 GUI Agent，效果嘛…… 懂的都懂。</span></span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021880" data-ratio="1.3576271186440678" data-s="300,640" type="block" data-type="png" data-w="590" src="https://wechat2rss.xlab.app/img-proxy/?k=642e1ab3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhnj6HTAnl2tGONOFibwicBx0JmeelOFbaiaux0o1RrNBWw60Zk6JTx4icKvfDYBDdCsuegeqlSfcfIRZiayGAy5Ikfh4rXcN2dbndc%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);text-align: center;"><span leaf=""><span textstyle="" style="font-size: 12px;color: rgb(136, 136, 136);">（以上项目背景选自港大</span></span><span leaf="" data-pm-slice="1 1 [&#34;para&#34;,{&#34;tagName&#34;:&#34;section&#34;,&#34;attributes&#34;:{&#34;class&#34;:&#34;container&#34;,&#34;style&#34;:&#34;font-family: -apple-system-font,BlinkMacSystemFont, Helvetica Neue, PingFang SC, Hiragino Sans GB , Microsoft YaHei UI , Microsoft YaHei ,Arial,sans-serif; font-size: 15px; line-height: 1.75; text-align: left;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;},&#34;para&#34;,{&#34;tagName&#34;:&#34;p&#34;,&#34;attributes&#34;:{&#34;class&#34;:&#34;p&#34;,&#34;style&#34;:&#34;margin: 1.5em 8px; letter-spacing: 0.1em; color: #3f3f3f;&#34;},&#34;namespaceURI&#34;:&#34;http://www.w3.org/1999/xhtml&#34;}]"><span textstyle="" style="font-size: 12px;color: rgb(136, 136, 136);">HKUDS</span></span><span leaf=""><span textstyle="" style="font-size: 12px;color: rgb(136, 136, 136);">团队成员发的项目推文内容）</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">于是，香港大学数据科学实验室（HKUDS）团队出手了，开源了 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">CLI-Anything</span></strong><span leaf=""> —— 一个让所有软件都能变成 Agent 原生工具的革命性项目！</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.47002398081534774" data-s="300,640" data-type="png" data-w="834" type="block" data-imgfileid="100021881" src="https://wechat2rss.xlab.app/img-proxy/?k=067756a0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhNcYiaNak4K12PKibny8I4KDiaRR8zJZuJXmnAWRIBhAmb1Mtf1iaWDcBicjibCYRLh5qLkR6pETRt4V7TF09fibGD1KdbnXc31MHR60%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">刚刚开源，就已经在 GitHub 上收获了 <span textstyle="" style="font-weight: bold;">1.4K</span> Star。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">项目简介</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">CLI-Anything</span></strong><span leaf=""> 的核心思路非常直接：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">用 CLI 作为 AI Agent 和真实软件之间的桥梁</span></strong><span leaf="">。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021886" data-ratio="0.5698778833107191" data-s="300,640" type="block" data-type="png" data-w="737" src="https://wechat2rss.xlab.app/img-proxy/?k=ed7f0ba5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhpuNv97vFiaYqNgK3ZEdrHpvHr23Ors6tEH2ul5PNdDqzFuYdoA6Kplmp6jz5DT4VjRqibMC6pK2w5mfPSIjQJqS9Ij2gDf2O5o%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它本质上是在做一件一直没被真正解决好的事——把人类设计的软件，直接转变成 Agent 能用的工具，而且不损失任何功能。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">项目的 slogan 很霸气：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">&#34;Today&#39;s Software Serves Humans 👨‍💻. Tomorrow&#39;s Users will be Agents 🤖.&#34;</span></strong><span leaf=""> （</span><strong style="box-sizing: border-box;font-weight: 600;color: rgb(31, 35, 40);font-family: -apple-system, &#34;system-ui&#34;, &#34;Segoe UI&#34;, &#34;Noto Sans&#34;, Helvetica, Arial, sans-serif, &#34;Apple Color Emoji&#34;, &#34;Segoe UI Emoji&#34;;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: -webkit-center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" data-pm-slice="0 0 []"><span leaf="">今天的软件为人而生👨‍💻，明天的用户是 Agent🤖</span></strong><span leaf="">）。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021882" data-ratio="0.3071705426356589" data-s="300,640" type="block" data-type="png" data-w="1032" src="https://wechat2rss.xlab.app/img-proxy/?k=ebf95d5e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUgnMVjlMibAI1h9BiaLp47ZYWr46FILaDAeGTgj44R82xB4Gib6oxJ6ABpKVOK0otQ3YEDGRtV5AoXjQgHpXHaWEroB0j54FhVKys%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个项目不是一个简单的 wrapper，而是一套完整的方法论。你把代码库往里一丢：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code data-language-pending="" data-raw-code="/cli-anything ./gimp" data-show-line-number="false" style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">/cli-anything ./gimp</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你的 Agent 就拿到了一整套完整的、生产级的 GIMP CLI！</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">/cli-anything ./blender</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Blender 同理。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">LibreOffice、OBS Studio、Shotcut、Audacity、Inkscape、Kdenlive......</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">只要是开源软件，只要有代码库，统统都能搞。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">核心亮点</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">① 一键生成 CLI，7 阶段自动化全包了</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI-Anything 提供了一个完整的 Claude Code 插件，一条命令就能自动完成所有工作：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 🔍 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">分析</span></strong><span leaf="">——扫描源码，把 GUI 操作映射到 API</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 📐 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">设计</span></strong><span leaf="">——架构命令组、状态模型、输出格式</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 🔨 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">实现</span></strong><span leaf="">——构建带 REPL、JSON 输出、撤销/重做的 Click CLI</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 📋 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">规划测试</span></strong><span leaf="">——创建包含单元测试和 E2E 测试的 TEST.md</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 🧪 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">编写测试</span></strong><span leaf="">——实现完整的测试套件</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 📝 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">文档</span></strong><span leaf="">——更新 TEST.md 记录结果</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 📦 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">发布</span></strong><span leaf="">——创建 setup.py，安装到 PATH</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">整个流程完全自动化，你只需要等着用就好！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">② 真实软件集成，零妥协</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这是 CLI-Anything 最让人惊喜的地方：它不是在做软件的替代品，而是给现有软件加上 Agent 友好的接口。</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• LibreOffice 真的生成 PDF</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Blender 真的渲染 3D 场景</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Audacity 真的处理音频</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• GIMP 真的编辑图像</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">生成的 CLI 直接操作真实的项目文件（ODF、MLT XML、SVG），然后调用真实的应用程序去渲染，一点不含糊！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">③ 告别脆弱的 UI 自动化</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">再也不用截图、不用点击、不用 RPA 的脆弱性了！CLI-Anything 走的是纯命令行路线，稳定可靠。</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 没有截图识别的不确定性</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 没有 UI 元素位置改变导致的失效</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 没有点击延迟和视觉干扰</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">纯 CLI，就是这么可靠！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">④ 结构化输出，Agent 直接消费</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">每个生成的 CLI 都支持双模式：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">状态化的 REPL 交互模式</span></strong><span leaf="">：适合 Agent 会话</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">子命令的脚本模式</span></strong><span leaf="">：适合流水线和脚本</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">而且内置了 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">--json</span></code><span leaf=""> 标志，输出结构化数据，Agent 直接就能用，同时保留人类可读格式方便调试！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">⑤ 生产级测试，1436 个测试 100% 通过率</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">HKUDS 团队真的在 9 个专业软件上做了完整的验证，总共 1436 个测试，100% 通过率：</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021884" data-ratio="0.4178082191780822" data-s="300,640" type="block" data-type="png" data-w="1022" src="https://wechat2rss.xlab.app/img-proxy/?k=714c0aeb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUjYhqh4h7RbzAiabHiasUIC4T9OBA2nhObDvl0xeY3vKhSqB1D8iaQRwenTQmT8ZFG7BXGHUDI1iaJ28H3O1uoRWPAlQ43zeXiagLY8%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这些都是真刀真枪的测试，包含单元测试、E2E 测试，还有真实软件调用验证！</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021885" data-ratio="0.49221789883268485" data-s="300,640" type="block" data-type="png" data-w="1028" src="https://wechat2rss.xlab.app/img-proxy/?k=57958ebb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhebohhhbnX06R1IMravf0pPkLqZria7yNdUNibLbt8zAibdLIgFGggemp6Lquy0dk9WMvK02jexcichsQWRxib1PwlNEMmFdnIXpsY%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速入手</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">前置要求</span></span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Claude Code（带插件支持）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• Python 3.10+</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 目标软件已安装（如 GIMP、Blender、LibreOffice 等）</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">Step 1：添加 Marketplace</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI-Anything 是作为 Claude Code 插件分发的，首先添加 Marketplace：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code data-language-pending="" data-raw-code="/plugin marketplace add HKUDS/CLI-Anything" data-show-line-number="false" style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">/plugin marketplace add HKUDS/CLI-Anything</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">Step 2：安装插件</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code data-language-pending="" data-raw-code="/plugin install cli-anything" data-show-line-number="false" style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">/plugin install cli-anything</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">搞定！插件现在在你的 Claude Code 会话中可用了。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">Step 3：一键生成 CLI</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code data-language-pending="" data-raw-code="# 为 GIMP 生成完整 CLI（全部 7 阶段）
/cli-anything ./gimp

# 为 Blender 生成 CLI
/cli-anything ./blender

# 从 GitHub 仓库生成
/cli-anything https://github.com/blender/blender" data-show-line-number="false" style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf=""># 为 GIMP 生成完整 CLI（全部 7 阶段）</span><span leaf=""><br/></span><span leaf="">/cli-anything ./gimp</span><span leaf=""><br/></span><span leaf=""># 为 Blender 生成 CLI</span><span leaf=""><br/></span><span leaf="">/cli-anything ./blender</span><span leaf=""><br/></span><span leaf=""># 从 GitHub 仓库生成</span><span leaf=""><br/></span><span leaf="">/cli-anything <a href="https://github.com/blender/blender" target="_blank">https://github.com/blender/blender</a></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">Step 4：使用生成的 CLI</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 安装到 PATH</span></span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">cd</span></span><span leaf=""> gimp/agent-harness &amp;&amp; pip install -e .</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 从任何地方使用</span></span><span leaf="">cli-anything-gimp --</span><span style="color: #e78c45;"><span leaf="">help</span></span><span leaf=""><br/></span><span leaf="">cli-anything-gimp project new --width 1920 --height 1080 -o poster.json</span><span leaf=""><br/></span><span leaf="">cli-anything-gimp --json layer add -n</span><span style="color: #b9ca4a;"><span leaf=""> &#34;Background&#34;</span></span><span leaf=""> --</span><span style="color: #e78c45;"><span leaf="">type</span></span><span leaf=""> solid --color</span><span style="color: #b9ca4a;"><span leaf=""> &#34;<a class="wx_topic_link" topic-id="mmk7nly9-8n6k6f" style="color: #576B95 !important;" data-topic="1">#1a1a2e</a>&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 进入交互式 REPL</span></span><span leaf="">cli-anything-blender</span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">实际使用示例</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">让我们看看用生成的 CLI 能做什么！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">示例 1：用 LibreOffice 生成 PDF</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 创建新的 Writer 文档</span></span><span leaf=""><br/></span><span leaf="">$ cli-anything-libreoffice document new -o report.json --</span><span style="color: #e78c45;"><span leaf="">type</span></span><span leaf=""> writer</span><span leaf=""><br/></span><span leaf="">✓ Created Writer document: report.json</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 添加内容</span></span><span leaf="">$ cli-anything-libreoffice --project report.json writer add-heading -t</span><span style="color: #b9ca4a;"><span leaf=""> &#34;Q1 Report&#34;</span></span><span leaf=""> --level 1</span><span leaf=""><br/></span><span leaf="">✓ Added heading:</span><span style="color: #b9ca4a;"><span leaf=""> &#34;Q1 Report&#34;</span></span><span leaf=""><br/></span><span leaf="">$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3</span><span leaf=""><br/></span><span leaf="">✓ Added 4×3 table</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 通过 LibreOffice 无头模式导出真实 PDF</span></span><span leaf="">$ cli-anything-libreoffice --project report.json</span><span style="color: #e78c45;"><span leaf=""> export</span></span><span leaf=""> render output.pdf -p pdf --overwrite</span><span leaf=""><br/></span><span leaf="">✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># JSON 模式给 Agent 使用</span></span><span leaf="">$ cli-anything-libreoffice --json document info --project report.json</span><span leaf=""><br/></span><span leaf="">{</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">  &#34;name&#34;</span></span><span leaf="">:</span><span style="color: #b9ca4a;"><span leaf=""> &#34;Q1 Report&#34;</span></span><span leaf="">,</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">  &#34;type&#34;</span></span><span leaf="">:</span><span style="color: #b9ca4a;"><span leaf=""> &#34;writer&#34;</span></span><span leaf="">,</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">  &#34;pages&#34;</span></span><span leaf="">: 1,</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">  &#34;elements&#34;</span></span><span leaf="">: 2,</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">  &#34;modified&#34;</span></span><span leaf="">:</span><span style="color: #e78c45;"><span leaf=""> true</span></span><span leaf=""><br/></span><span leaf="">}</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">示例 2：用 Blender 进行 3D 渲染（REPL 模式）</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">$ cli-anything-blender</span><span leaf=""><br/></span><span leaf="">╔══════════════════════════════════════════╗</span><span leaf=""><br/></span><span leaf="">║       cli-anything-blender v1.0.0       ║</span><span leaf=""><br/></span><span leaf="">║     Blender CLI</span><span style="color: #c397d8;"><span leaf=""> for</span></span><span leaf=""> AI Agents           ║</span><span leaf=""><br/></span><span leaf="">╚══════════════════════════════════════════╝</span><span leaf=""><br/></span><span leaf="">blender&gt; scene new --name ProductShot</span><span leaf=""><br/></span><span leaf="">✓ Created scene: ProductShot</span><span leaf=""><br/></span><span leaf="">blender[ProductShot]&gt; object add-mesh --</span><span style="color: #e78c45;"><span leaf="">type</span></span><span leaf=""> cube --location 0 0 1</span><span leaf=""><br/></span><span leaf="">✓ Added mesh: Cube at (0, 0, 1)</span><span leaf=""><br/></span><span leaf="">blender[ProductShot]*&gt; render execute --output render.png --engine CYCLES</span><span leaf=""><br/></span><span leaf="">✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background</span><span leaf=""><br/></span><span leaf="">blender[ProductShot]&gt;</span><span style="color: #e78c45;"><span leaf=""> exit</span></span><span leaf=""><br/></span><span leaf="">Goodbye! 👋</span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">适用场景</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI-Anything 的适用范围非常广，几乎覆盖所有软件类别：</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021883" data-ratio="0.5376344086021505" data-s="300,640" type="block" data-type="png" data-w="1023" src="https://wechat2rss.xlab.app/img-proxy/?k=547e0025&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUiacrySA6AuOIKIyt4aS84AYreDSrohLrEecxSQVCBjBpm4bT1NibDuic1XpiaeXYpiaXjHnznCNlvYsSAsY4HoFWCFrVjOldFkwFeg%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">未来规划</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI-Anything 团队的愿景非常宏大：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 支持更多应用类别（CAD、DAW、IDE、EDA、科学工具）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 建立 Agent 任务完成率的基准测试套件</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 社区贡献的 CLI harness，用于内部/定制软件</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 与更多 Agent 框架集成（不仅仅是 Claude Code）</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 支持将闭源软件和 Web 服务的 API 打包成 CLI</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• 生成 SKILL.md 供 Agent 技能发现和编排</span></p></li></ul><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">CLI-Anything 代表了一个重要的方向：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Agent 时代的方法论</span></strong><span leaf="">。它让任何有代码库的软件都能变成 Agent 原生工具。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你也曾经希望 Agent 能像用终端一样用真正的软件——这就是 HKUDS 团队在推动的事！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GitHub：</span></p><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/HKUDS/CLI-Anything" target="_blank">https://github.com/HKUDS/CLI-Anything</a></span></span></p></blockquote></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507872" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=f8152e38&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtBvpEFyX9T3wVpICThkF5w00gf2BIvrnOvP4ia7d3FFG60GQFg45I1Pm5cLibprbGmE8arARmrVpXK4x5XP4QhLCvKUcZIQrzdibY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=6b2c990d&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991521%26idx%3D1%26sn%3D213553424c9be03911c2ddb09ceeb461">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 12 Mar 2026 19:58:00 +0800</pubDate>
    </item>
    <item>
      <title>GitHub 狂飙 2.5 万标星，这款「会自愈」的 Python 爬虫框架杀疯了！</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991518&amp;idx=1&amp;sn=6757fcc67101601347b073f17a564696</link>
      <description>自适应的Python爬虫框架</description>
      <content:encoded><![CDATA[<p><span>开源星探</span> <span>2026-03-09 20:05</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：开源星探</p>
  <strong>开源星探</strong>
  <p>专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源，为互联网行业爱好者提供优质的科技技术资讯。</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=1e01c8ad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FrfBHhQhezUjORI0iao30wp9Zl5GVRgaTd1OKajohAI7IALg14R6xwBZdAadHIicicj94Xa1ianMlaeIGJHqicTsVhsxGOCIN8fNxuFBURq2NP5E0%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>自适应的Python爬虫框架</p>
  <div style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;line-height: 1.75;text-align: left;margin-bottom: 24px;"><p style="text-align: center;margin-bottom: 16px;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;margin-top: 0 !important;"><span leaf="">最近 GitHub 上爆火的一个项目，</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">25.1k</span></strong><span leaf=""> stars 涨势喜人！</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021857" data-ratio="0.4101851851851852" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=302000d2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUgjRSRHk3o3sMCxk3T5aFm3y5miaGepVxODHYIeC4fxtbQGdYzr7Dg0foBha1hqWfxGvpw4wvFS4DicSXFMIyIa1aJNMPoaMDFog%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">做过爬虫的小伙伴应该经历过，花了好几天写好的爬虫脚本，网站一改版全白搭。</span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">CSS 选择器失效、XPath 路径</span></code><span leaf="">不对，一切又得重来。这种「网站一变，代码就挂」的噩梦，相信很多开发者都经历过。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这还不算完，现在的网站反爬机制越来越强，</span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">Cloudflare Turnstile、人机验证、指纹检测...</span></code><span leaf=""> 想采集数据简直像是在打游击战。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">传统的 BeautifulSoup 虽然简单，但性能跟不上大规模爬取；Scrapy 功能强大，但是学习曲线陡峭，新手很难上手。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">就在这个时候，一个横空出世的项目打破了这个困局。周涨星更是接近 8000 颗，目前在 GitHub Trending 周榜稳居不下！</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021858" data-ratio="0.42912246865959497" data-s="300,640" type="block" data-type="png" data-w="1037" src="https://wechat2rss.xlab.app/img-proxy/?k=b4e39a8f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FrfBHhQhezUhYicFgV9Bib8njg2zEeB36TSdDcZTke8ia5frnvWc8TVLbN9twv29d9v9WvvOib2y9IJoQvia5UAxbhxo6ldAKJD7M063ibzZqWDcq0%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">而且还能同 OpenClaw 小龙虾🦞组合使用。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它就是 </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Scrapling</span></strong><span leaf=""> —— 一个让爬虫能够「自我进化」的自适应 Web 爬虫框架。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="100021859" data-ratio="0.2796296296296296" data-s="300,640" type="block" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=36e64986&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FrfBHhQhezUiaCLmjBdORrZTbZKSWBzfDI4qRSFU9CoojQDRdRKEb9uB5o6ib1jOCnf1LCwZJagsj5NKTSibiciaPkKZib4wnCN7QRrP8U9O6iaztKY%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">项目简介</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Scrapling</span></strong><span leaf=""> 是开源的一个自适应 Web 爬虫框架，它不是另一个「能爬」的库，而是让爬虫会「学习」和「适应」的框架。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它的核心理念是：</span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">一个框架，零妥协 —— 从单次请求到全规模爬取，都能轻松搞定。</span></strong></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个项目最吸引人的地方在于，它的解析器能够学习网站的结构，当页面更新时自动重新定位元素。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">同时，它的请求器能够开箱即用地绕过 Cloudflare Turnstile 等反爬虫系统。而且它的爬虫框架让你能用几行 Python 代码就实现并发、多会话爬取，支持暂停/恢复和自动代理轮换。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 是由开发者为 Web 爬虫开发者和普通用户打造的，无论是新手还是老手，都能找到适合自己的用法。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">核心亮点</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">1、🧠 自适应元素追踪</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这是 Scrapling 最炸裂的功能。传统的爬虫依赖精确的 CSS 选择器或 XPath 路径，网站一改版就全挂了。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">但 Scrapling 的解析器并非依赖精确路径，而是借助智能算法学习元素的视觉特征与上下文关系。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">当网站改版后，只需开启 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">adaptive=True</span></code><span leaf="">，系统就会利用多维相似度算法自动找回元素。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你还可以使用 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">auto_save=True</span></code><span leaf=""> 在第一次爬取时保存元素特征，之后即使网站改版也能自动定位。</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> StealthyFetcher</span><span leaf=""><br/></span><span leaf="">page = StealthyFetcher.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://example.com" target="_blank">https://example.com</a>&#39;</span></span><span leaf="">, headless=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">products = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.product&#39;</span></span><span leaf="">, auto_save=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span style="color: #969896;"><span leaf="">  # 第一次爬取时保存元素特征</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 后来网站改版了，没关系，开启 adaptive=True 自动找回！</span></span><span leaf="">products = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.product&#39;</span></span><span leaf="">, adaptive=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这种「一次编写，永久适配」的特性，简直是爬虫开发者的福音！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">2、🛡️ 反反爬虫利器</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 提供了四种不同类型的 Fetcher，覆盖从简单到复杂的所有场景：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">Fetcher</span></strong><span leaf="">：快速 HTTP 请求，支持 TLS 指纹伪装，可以模拟 Chrome、Firefox 等浏览器的指纹</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">AsyncFetcher</span></strong><span leaf="">：异步版本，性能更强</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">StealthyFetcher</span></strong><span leaf="">：绕过 Cloudflare 等反爬系统，开箱即用</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">DynamicFetcher</span></strong><span leaf="">：基于 Playwright 的动态页面抓取，支持完整的浏览器自动化</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">特别是 StealthyFetcher，它具备先进的隐身能力和指纹伪装功能，可以轻松绕过所有类型的 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">Cloudflare Turnstile/Interstitial</span></code><span leaf=""> 验证，完全自动化处理，无需人工干预。</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> StealthyFetcher, StealthySession</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">with</span></span><span leaf=""> StealthySession(headless=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">, solve_cloudflare=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""> as</span></span><span leaf=""> session:</span><span leaf=""><br/></span><span leaf="">    page = session.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://nopecha.com/demo/cloudflare" target="_blank">https://nopecha.com/demo/cloudflare</a>&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">    data = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a class="wx_topic_link" topic-id="mmg1mjgb-k76ue3" style="color: #576B95 !important;" data-topic="1">#padded</a>_content a&#39;</span></span><span leaf="">).getall()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">除此之外，Scrapling 还内置了 ProxyRotator，支持循环或自定义轮换策略，适用于所有会话类型，还支持每个请求单独覆盖代理配置。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">3、⚡ 性能炸裂</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 不仅功能强大，性能也是一绝。根据官方提供的基准测试数据，在文本提取速度测试（5000 个嵌套元素）中：</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">可以看到，Scrapling 比 BeautifulSoup 快了 700+ 倍！而且它的内存占用极低，优化的数据结构和懒加载确保了最小的内存 footprint。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">JSON 序列化也比标准库快 10 倍。这个性能表现，对于大规模爬取来说简直是如虎添翼。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">4、🕷️ 完整爬虫框架</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 提供了类似 Scrapy 的 Spider API，让你可以轻松构建完整的爬虫应用：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.spiders</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> Spider, Response</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">class</span></span><span style="color: #7aa6da;"><span leaf=""> MySpider</span></span><span leaf="">(</span><span style="color: #7aa6da;"><span leaf="">Spider</span></span><span leaf="">):</span><span leaf=""><br/></span><span leaf="">    name =</span><span style="color: #b9ca4a;"><span leaf=""> &#34;demo&#34;</span></span><span leaf=""><br/></span><span leaf="">    start_urls = [</span><span style="color: #b9ca4a;"><span leaf="">&#34;<a href="https://example.com/" target="_blank">https://example.com/</a>&#34;</span></span><span leaf="">]</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">    async</span></span><span style="color: #c397d8;"><span leaf=""> def</span></span><span style="color: #7aa6da;"><span leaf=""> parse</span></span><span leaf="">(</span><span style="color: #e78c45;"><span leaf="">self, response: Response</span></span><span leaf="">):</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">        for</span></span><span leaf=""> item</span><span style="color: #c397d8;"><span leaf=""> in</span></span><span leaf=""> response.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.product&#39;</span></span><span leaf="">):</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">            yield</span></span><span leaf=""> {</span><span style="color: #b9ca4a;"><span leaf="">&#34;title&#34;</span></span><span leaf="">: item.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;h2::text&#39;</span></span><span leaf="">).get()}</span><span leaf=""><br/></span><span leaf="">MySpider().start()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它的核心特性包括：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">并发爬取</span></strong><span leaf="">：可配置的并发限制、按域名限流和下载延迟</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">多会话支持</span></strong><span leaf="">：在单个爬虫中统一接口支持 HTTP 请求和隐身无头浏览器，可以按 ID 路由请求到不同的会话</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">暂停和恢复</span></strong><span leaf="">：基于检查点的爬取持久化，按 Ctrl+C 优雅关闭，重启后从停止的地方继续</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">流式模式</span></strong><span leaf="">：通过 </span><code style="font-size: 90%;color: #d14;background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;"><span leaf="">async for item in spider.stream()</span></code><span leaf=""> 实时流式输出爬取的项目，带有实时统计 —— 非常适合 UI、管道和长时间运行的爬虫</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">阻塞请求检测</span></strong><span leaf="">：自动检测和重试阻塞的请求，支持自定义逻辑</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">内置导出</span></strong><span leaf="">：通过钩子和你自己的管道导出结果，或使用内置的 JSON/JSONL 导出</span></p></li></ul><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">最厉害的是，你可以在同一个爬虫中使用多种会话类型！</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.spiders</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> Spider, Request, Response</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> FetcherSession, AsyncStealthySession</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">class</span></span><span style="color: #7aa6da;"><span leaf=""> MultiSessionSpider</span></span><span leaf="">(</span><span style="color: #7aa6da;"><span leaf="">Spider</span></span><span leaf="">):</span><span leaf=""><br/></span><span leaf="">    name =</span><span style="color: #b9ca4a;"><span leaf=""> &#34;multi&#34;</span></span><span leaf=""><br/></span><span leaf="">    start_urls = [</span><span style="color: #b9ca4a;"><span leaf="">&#34;<a href="https://example.com/" target="_blank">https://example.com/</a>&#34;</span></span><span leaf="">]</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">    def</span></span><span style="color: #7aa6da;"><span leaf=""> configure_sessions</span></span><span leaf="">(</span><span style="color: #e78c45;"><span leaf="">self, manager</span></span><span leaf="">):</span><span leaf=""><br/></span><span leaf="">        manager.add(</span><span style="color: #b9ca4a;"><span leaf="">&#34;fast&#34;</span></span><span leaf="">, FetcherSession(impersonate=</span><span style="color: #b9ca4a;"><span leaf="">&#34;chrome&#34;</span></span><span leaf="">))</span><span leaf=""><br/></span><span leaf="">        manager.add(</span><span style="color: #b9ca4a;"><span leaf="">&#34;stealth&#34;</span></span><span leaf="">, AsyncStealthySession(headless=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">), lazy=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">    async</span></span><span style="color: #c397d8;"><span leaf=""> def</span></span><span style="color: #7aa6da;"><span leaf=""> parse</span></span><span leaf="">(</span><span style="color: #e78c45;"><span leaf="">self, response: Response</span></span><span leaf="">):</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">        for</span></span><span leaf=""> link</span><span style="color: #c397d8;"><span leaf=""> in</span></span><span leaf=""> response.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;a::attr(href)&#39;</span></span><span leaf="">).getall():</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">            if</span></span><span style="color: #b9ca4a;"><span leaf=""> &#34;protected&#34;</span></span><span style="color: #c397d8;"><span leaf=""> in</span></span><span leaf=""> link:</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">                yield</span></span><span leaf=""> Request(link, sid=</span><span style="color: #b9ca4a;"><span leaf="">&#34;stealth&#34;</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">            else</span></span><span leaf="">:</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">                yield</span></span><span leaf=""> Request(link, sid=</span><span style="color: #b9ca4a;"><span leaf="">&#34;fast&#34;</span></span><span leaf="">, callback=</span><span style="color: #d54e53;"><span leaf="">self</span></span><span leaf="">.parse)</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">5、🤖 AI 友好</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 内置了 MCP Server，可以直接与 Claude、Cursor 等 AI 工具集成，实现 AI 辅助的数据提取。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个 MCP 服务器具有强大的自定义功能，利用 Scrapling 在传递给 AI 之前提取目标内容，从而加快操作速度，并通过最小化 token 使用来降低成本。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">配合 Claw Agent，你可以打造完整的本地 AI 数据管道，让 AI 帮你完成数据提取、清洗、分析的全流程。</span></p><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">快速安装</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 需要 Python 3.10 或更高版本进行安装：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">pip install scrapling</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这个安装只包含解析器引擎及其依赖项，不包含任何请求器或命令行依赖项。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你要使用任何额外功能、请求器或它们的类，需要安装请求器的依赖和浏览器依赖：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">pip install</span><span style="color: #b9ca4a;"><span leaf=""> &#34;scrapling[fetchers]&#34;</span></span><span leaf=""><br/></span><span leaf="">scrapling install</span><span style="color: #969896;"><span leaf="">  # 正常安装</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者强制重新安装</span></span><span leaf="">scrapling install --force</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">这会下载所有浏览器，以及它们的系统依赖和指纹操作依赖。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">额外的功能包：</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 安装 MCP 服务器功能</span></span><span leaf=""><br/></span><span leaf="">pip install</span><span style="color: #b9ca4a;"><span leaf=""> &#34;scrapling[ai]&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 安装 shell 功能（Web 爬虫 shell 和 extract 命令）</span></span><span leaf="">pip install</span><span style="color: #b9ca4a;"><span leaf=""> &#34;scrapling[shell]&#34;</span></span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 安装所有功能</span></span><span leaf="">pip install</span><span style="color: #b9ca4a;"><span leaf=""> &#34;scrapling[all]&#34;</span></span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">你也可以使用 Docker：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">docker pull pyd4vinci/scrapling</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者从 GitHub 注册表下载</span></span><span leaf="">docker pull ghcr.io/d4vinci/scrapling:latest</span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">基础使用</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">1、HTTP 请求（支持会话）</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> Fetcher, FetcherSession</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">with</span></span><span leaf=""> FetcherSession(impersonate=</span><span style="color: #b9ca4a;"><span leaf="">&#39;chrome&#39;</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""> as</span></span><span leaf=""> session:</span><span leaf=""><br/></span><span leaf="">    page = session.get(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://quotes.toscrape.com/" target="_blank">https://quotes.toscrape.com/</a>&#39;</span></span><span leaf="">, stealthy_headers=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">    quotes = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.quote .text::text&#39;</span></span><span leaf="">).getall()</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者使用一次性请求</span></span><span leaf="">page = Fetcher.get(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://quotes.toscrape.com/" target="_blank">https://quotes.toscrape.com/</a>&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">quotes = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.quote .text::text&#39;</span></span><span leaf="">).getall()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">2、高级隐身模式</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> StealthyFetcher, StealthySession</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">with</span></span><span leaf=""> StealthySession(headless=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">, solve_cloudflare=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""> as</span></span><span leaf=""> session:</span><span leaf=""><br/></span><span leaf="">    page = session.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://nopecha.com/demo/cloudflare" target="_blank">https://nopecha.com/demo/cloudflare</a>&#39;</span></span><span leaf="">, google_search=</span><span style="color: #e78c45;"><span leaf="">False</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">    data = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a class="wx_topic_link" topic-id="mmg1mjgb-4ghex9" style="color: #576B95 !important;" data-topic="1">#padded</a>_content a&#39;</span></span><span leaf="">).getall()</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者使用一次性请求方式</span></span><span leaf="">page = StealthyFetcher.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://nopecha.com/demo/cloudflare" target="_blank">https://nopecha.com/demo/cloudflare</a>&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">data = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a class="wx_topic_link" topic-id="mmg1mjgb-50x2l5" style="color: #576B95 !important;" data-topic="1">#padded</a>_content a&#39;</span></span><span leaf="">).getall()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">3、完整浏览器自动化</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.fetchers</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> DynamicFetcher, DynamicSession</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">with</span></span><span leaf=""> DynamicSession(headless=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">, disable_resources=</span><span style="color: #e78c45;"><span leaf="">False</span></span><span leaf="">, network_idle=</span><span style="color: #e78c45;"><span leaf="">True</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""> as</span></span><span leaf=""> session:</span><span leaf=""><br/></span><span leaf="">    page = session.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://quotes.toscrape.com/" target="_blank">https://quotes.toscrape.com/</a>&#39;</span></span><span leaf="">, load_dom=</span><span style="color: #e78c45;"><span leaf="">False</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">    data = page.xpath(</span><span style="color: #b9ca4a;"><span leaf="">&#39;//span[@class=&#34;text&#34;]/text()&#39;</span></span><span leaf="">).getall()</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 或者使用一次性请求方式</span></span><span leaf="">page = DynamicFetcher.fetch(</span><span style="color: #b9ca4a;"><span leaf="">&#39;<a href="https://quotes.toscrape.com/" target="_blank">https://quotes.toscrape.com/</a>&#39;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">data = page.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.quote .text::text&#39;</span></span><span leaf="">).getall()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">4、构建完整的爬虫</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #c397d8;"><span leaf="">from</span></span><span leaf=""> scrapling.spiders</span><span style="color: #c397d8;"><span leaf=""> import</span></span><span leaf=""> Spider, Request, Response</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">class</span></span><span style="color: #7aa6da;"><span leaf=""> QuotesSpider</span></span><span leaf="">(</span><span style="color: #7aa6da;"><span leaf="">Spider</span></span><span leaf="">):</span><span leaf=""><br/></span><span leaf="">    name =</span><span style="color: #b9ca4a;"><span leaf=""> &#34;quotes&#34;</span></span><span leaf=""><br/></span><span leaf="">    start_urls = [</span><span style="color: #b9ca4a;"><span leaf="">&#34;<a href="https://quotes.toscrape.com/" target="_blank">https://quotes.toscrape.com/</a>&#34;</span></span><span leaf="">]</span><span leaf=""><br/></span><span leaf="">    concurrent_requests =</span><span style="color: #e78c45;"><span leaf=""> 10</span></span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">    async</span></span><span style="color: #c397d8;"><span leaf=""> def</span></span><span style="color: #7aa6da;"><span leaf=""> parse</span></span><span leaf="">(</span><span style="color: #e78c45;"><span leaf="">self, response: Response</span></span><span leaf="">):</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">        for</span></span><span leaf=""> quote</span><span style="color: #c397d8;"><span leaf=""> in</span></span><span leaf=""> response.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.quote&#39;</span></span><span leaf="">):</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">            yield</span></span><span leaf=""> {</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">                &#34;text&#34;</span></span><span leaf="">: quote.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.text::text&#39;</span></span><span leaf="">).get(),</span><span style="color: #b9ca4a;"><span leaf=""><br/></span><span leaf="">                &#34;author&#34;</span></span><span leaf="">: quote.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.author::text&#39;</span></span><span leaf="">).get(),</span><span leaf=""><br/></span><span leaf="">            }</span><span leaf=""><br/></span><span leaf="">        next_page = response.css(</span><span style="color: #b9ca4a;"><span leaf="">&#39;.next a&#39;</span></span><span leaf="">)</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">        if</span></span><span leaf=""> next_page:</span><span style="color: #c397d8;"><span leaf=""><br/></span><span leaf="">            yield</span></span><span leaf=""> response.follow(next_page[</span><span style="color: #e78c45;"><span leaf="">0</span></span><span leaf="">].attrib[</span><span style="color: #b9ca4a;"><span leaf="">&#39;href&#39;</span></span><span leaf="">])</span><span leaf=""><br/></span><span leaf="">result = QuotesSpider().start()</span><span style="color: #e78c45;"><span leaf=""><br/></span><span leaf="">print</span></span><span leaf="">(</span><span style="color: #b9ca4a;"><span leaf="">f&#34;Scraped</span><span leaf=""> {</span><span style="color: #e78c45;"><span leaf="">len</span></span><span leaf="">(result.items)}</span><span leaf=""> quotes&#34;</span></span><span leaf="">)</span><span leaf=""><br/></span><span leaf="">result.items.to_json(</span><span style="color: #b9ca4a;"><span leaf="">&#34;quotes.json&#34;</span></span><span leaf="">)</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">5、暂停和恢复长时间运行的爬虫</span></span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span leaf="">QuotesSpider(crawldir=</span><span style="color: #b9ca4a;"><span leaf="">&#34;./crawl_data&#34;</span></span><span leaf="">).start()</span></code></pre><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">按 Ctrl+C 优雅暂停 —— 进度会自动保存。之后，当你再次启动爬虫时，传递相同的 crawldir，它就会从停止的地方继续。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);font-weight: bold;">6、命令行使用</span></span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 还提供了强大的命令行界面：</span></p><pre style="background: #000;color: #eaeaea;font-size: 90%;overflow-x: auto;border-radius: 8px;line-height: 1.5;margin: 10px 8px;padding: 0 !important;"><span style="display: flex;padding: 10px 14px 0;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="45px" height="13px" viewBox="0 0 450 130"><ellipse cx="50" cy="65" rx="50" ry="52" stroke="rgb(220,60,54)" stroke-width="2" fill="rgb(237,108,96)"></ellipse><ellipse cx="225" cy="65" rx="50" ry="52" stroke="rgb(218,151,33)" stroke-width="2" fill="rgb(247,193,81)"></ellipse><ellipse cx="400" cy="65" rx="50" ry="52" stroke="rgb(27,161,37)" stroke-width="2" fill="rgb(100,200,86)"></ellipse></svg></span><code style="font-size: 90%;border-radius: 4px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0;color: inherit;background: none;white-space: nowrap;margin: 0;"><span style="color: #969896;"><span leaf=""># 启动交互式 Web 爬虫 shell</span></span><span leaf=""><br/></span><span leaf="">scrapling shell</span><span style="color: #969896;"><span leaf=""><br/></span><span leaf=""># 直接提取页面内容到文件，无需编程</span></span><span leaf="">scrapling extract get</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a href="https://example.com" target="_blank">https://example.com</a>&#39;</span></span><span leaf=""> content.md</span><span leaf=""><br/></span><span leaf="">scrapling extract get</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a href="https://example.com" target="_blank">https://example.com</a>&#39;</span></span><span leaf=""> content.txt --css-selector</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a class="wx_topic_link" topic-id="mmg1mjgb-9g3ja5" style="color: #576B95 !important;" data-topic="1">#fromSkipToProducts</a>&#39;</span></span><span leaf=""> --impersonate</span><span style="color: #b9ca4a;"><span leaf=""> &#39;chrome&#39;</span></span><span leaf=""><br/></span><span leaf="">scrapling extract fetch</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a href="https://example.com" target="_blank">https://example.com</a>&#39;</span></span><span leaf=""> content.md --css-selector</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a class="wx_topic_link" topic-id="mmg1mjgb-9oszu5" style="color: #576B95 !important;" data-topic="1">#fromSkipToProducts</a>&#39;</span></span><span leaf=""> --no-headless</span><span leaf=""><br/></span><span leaf="">scrapling extract stealthy-fetch</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a href="https://nopecha.com/demo/cloudflare" target="_blank">https://nopecha.com/demo/cloudflare</a>&#39;</span></span><span leaf=""> captchas.html --css-selector</span><span style="color: #b9ca4a;"><span leaf=""> &#39;<a class="wx_topic_link" topic-id="mmg1mjgc-33cxd6" style="color: #576B95 !important;" data-topic="1">#padded</a>_content a&#39;</span></span><span leaf=""> --solve-cloudflare</span></code></pre><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">适用场景</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling 的适用场景非常广泛：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">电商价格监控</span></strong><span leaf="">：即使网站改版也不怕，一次编写永久适配</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">竞品数据追踪</span></strong><span leaf="">：自动化收集竞品信息，支持大规模并发</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">AI 训练数据收集</span></strong><span leaf="">：快速、稳定地获取大量训练数据</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">SEO 分析</span></strong><span leaf="">：监控搜索引擎排名、竞争对手的 SEO 策略</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">个人知识库构建</span></strong><span leaf="">：自动收集、整理感兴趣的内容</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">新闻聚合</span></strong><span leaf="">：实时抓取多个新闻源的最新资讯</span></p></li></ul><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">技术特点</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">除了前面提到的核心功能，Scrapling 还有很多技术亮点：</span></p><ul style="list-style: circle;padding-left: 1em;margin-left: 0;color: #3f3f3f;" class="list-paddingleft-1"><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">92% 测试覆盖率</span></strong><span leaf="">：代码质量有保障</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">完整的类型提示</span></strong><span leaf="">：优秀的 IDE 支持和代码补全，每次更改都会自动用 PyRight 和 MyPy 扫描整个代码库</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">交互式 Web 爬虫 Shell</span></strong><span leaf="">：可选的内置 IPython shell，集成 Scrapling，提供快捷方式和新工具来加速 Web 爬虫脚本开发，比如将 curl 请求转换为 Scrapling 请求，在浏览器中查看请求结果</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">丰富的导航 API</span></strong><span leaf="">：高级 DOM 遍历，支持父、兄弟和子导航方法</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">增强的文本处理</span></strong><span leaf="">：内置正则表达式、清理方法和优化的字符串操作</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">自动选择器生成</span></strong><span leaf="">：为任何元素生成健壮的 CSS/XPath 选择器</span></p></li><li style="display: block;margin: 0.2em 8px;color: #3f3f3f;"><p><span leaf="">• </span><strong style="color: #42A664FF;font-weight: bold;font-size: inherit;"><span leaf="">熟悉的 API</span></strong><span leaf="">：类似 Scrapy/BeautifulSoup，使用与 Scrapy/Parsel 相同的伪元素</span></p></li></ul><h4 data-heading="true" style="margin: 2em 8px 0.5em;color: #42A664FF;font-size: 15px;font-weight: bold;"><span leaf="">写在最后</span></h4><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">Scrapling = 自适应解析 + 反爬绕过 + 高性能 + AI 集成，是 2026 年最值得关注的 Python 爬虫框架！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">它不仅解决了传统爬虫的痛点，还带来了全新的爬虫开发体验。无论是新手还是老手，都能快速上手，写出高效、稳定、易于维护的爬虫代码。</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">如果你还在为网站改版、反爬虫机制、性能问题而烦恼，不妨试试 Scrapling，相信它会给你带来惊喜！</span></p><p style="margin: 1.5em 8px;letter-spacing: 0.1em;color: #3f3f3f;"><span leaf="">GitHub:</span></p><blockquote><p style="display: block;font-size: 1em;letter-spacing: 0.1em;color: rgb(63, 63, 63);margin: 0px;"><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);"><a href="https://github.com/D4Vinci/Scrapling" target="_blank">https://github.com/D4Vinci/Scrapling</a></span></span></p></blockquote></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507869" data-ratio="0.549074074074074" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=181423fe&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtA0BdsgcC9FmvuMiahn8ClgDLXQANgCIlvuFXvtt9HThhiatuiaB4khfE67QcY7agbxu9JkM1aicAQ3ySrLIiajeAZbx1lwUBj0QkZY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=83e22b86&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991518%26idx%3D1%26sn%3D6757fcc67101601347b073f17a564696">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 09 Mar 2026 20:05:00 +0800</pubDate>
    </item>
    <item>
      <title>一日一技：读 OpenAI 的 Harness Engineering，我学到的几件事</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991514&amp;idx=1&amp;sn=fc05f8dcecce8bb74e0ae0a2e1a796a3</link>
      <description>给 Agent 地图，以铁律为缰。</description>
      <content:encoded><![CDATA[<p>原创 <span>kingname</span> <span>2026-03-05 09:03</span> <span style="display: inline-block;">四川</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=149058e5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtCpnvxpYfv9oNbwyGEgFJG5To1hxTVzGPH1LB7pYfN7uPYJ8BawkhWVr79ScJCibBBaRQyx4s99ZAQiaLVoZ06T3saCRBUfibBLfw%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>给 Agent 地图，以铁律为缰。</p>
  <div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []" data-mpa-action-id="mmbwryet1ce6"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img js_insertlocalimg" data-aistatus="1" data-imgfileid="501507855" data-ratio="0.75" data-s="300,640" type="block" data-type="jpeg" data-w="1280" style="background-color: transparent;" src="https://wechat2rss.xlab.app/img-proxy/?k=91685a2c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtDSaUicFwFq6oJgSdvYwBf0AJL0vFS5Fgh1Sv59jZObPwAialvSrYawSY1ibJbNGw36vh2jcXlj3ZW7I8W3fPMal7pFpz1c5L2fkg%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1em;letter-spacing: 0em;text-align: center;text-indent: 0em;margin: 0px;padding: 8px 0px;"><span leaf="" mpa-font-style="mmbwrye8ywf" style="font-size: 15px;"><span textstyle="" style="color: rgb(136, 136, 136);">摄影：产品经理</span></span></p><p style="text-align: center;"><span leaf="" mpa-font-style="mmbxs8sj1kdq" style="font-size: 15px;" data-mpa-action-id="mmbxs8sx203c" data-pm-slice="0 0 []"><span textstyle="" style="color: rgb(136, 136, 136);">焦香油润的五花肉</span></span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">最近 OpenAI 发了一篇文章叫 </span><span style="color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">Harness Engineering</span></span><sup style="line-height: 0;color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">[1]</span></sup><span leaf="">，讲的是他们内部团队如何用 Codex（基于 GPT-5 的编码 Agent）从零构建一个真实产品的经验。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我读完以后觉得很有启发，不是因为它讲了什么高深的理论，而是因为它非常诚实地记录了一个团队在“让 AI 写全部代码”这条路上踩过的坑和总结出的经验。以下是对我触动最大的几个点。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">实验的前提：人类一行代码都不写</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个实验的硬约束非常极端——</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">工程师不直接写代码</span></strong><span leaf="">。从 2025 年 8 月一个空仓库开始，3 个工程师（后来扩到 7 个）花了 5 个月，全部通过 prompt 驱动 Codex 来产出代码，最终合并了大约 1,500 个 PR，产出了约 100 万行代码，构建了一个有真实用户的内部产品。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个设定本身就很有意思。当 Agent 搞不定某个任务的时候，团队的规则不是&#34;算了我来写&#34;，而是去问：&#34;缺了什么工具、文档或能力？&#34; 然后让 Codex 自己去补。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这让我想到我自己使用 AI 编程的习惯——很多时候遇到 Agent 搞不定的地方，我的第一反应就是自己上手改。但如果换一个思路，把&#34;为什么 Agent 搞不定&#34;这个问题本身当成一个需要解决的工程问题，长期来看收益是更大的。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">一个大文件不行，要给 Agent 一张地图</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这是全文对我触动最大的一个点。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们一开始也是搞了一个巨大的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">AGENTS.md</span></code><span leaf=""> 文件，把所有规则、约束、规范全塞进去。结果发现效果很差，原因有四个：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">上下文是稀缺资源。</span></strong><span leaf=""> 巨大的指令文件会挤占任务代码本身的空间，Agent 要么漏掉关键约束，要么开始优化错误的目标。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">当所有东西都&#34;重要&#34;时，什么都不重要。</span></strong><span leaf=""> Agent 退化成局部模式匹配。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">腐烂极快。</span></strong><span leaf=""> 一个单体文档变成过时规则的坟场，人不会维护它，Agent 也判断不了哪些还有效。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">难以验证。</span></strong><span leaf=""> 一个大文件无法做机械化检查（覆盖率、新鲜度、所有权），漂移不可避免。</span></p></li></ol><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们的解法叫</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">渐进式披露（Progressive Disclosure）</span></strong><span leaf="">：把 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">AGENTS.md</span></code><span leaf=""> 精简到约 100 行，只充当</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">目录和地图</span></strong><span leaf="">，指向仓库内结构化的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">docs/</span></code><span leaf=""> 目录。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin: 0px 0px 16px;padding: 8px 0px;"><span leaf="">这个思路跟我自己的经验完全对得上。我在用 OpenClaw 和 Claude Code 的时候，也发现 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none left top / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-top: 0px;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">AGENTS.md</span></code><span leaf=""> 越长效果越差，Agent 经常顾此失彼。&#34;给 Agent 一张地图，而不是一本百科全书&#34;——这句话值得反复品味。</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">仓库是唯一的真相来源</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">文章里有一句话很直白：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">Agent 在上下文中访问不到的东西，对它来说就不存在。</span></strong></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">Slack 讨论、Google Docs、你脑子里的想法——如果没有落到仓库里，对 Agent 来说这些信息就是零。Agent 就像一个三个月后入职的新人，只能看到仓库里有什么。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这个观点推导出来的结论很有趣：</span></p><ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">偏好&#34;无聊&#34;的技术。</span></strong><span leaf=""> 可组合、API 稳定、在训练集中被充分覆盖的技术对 Agent 更友好。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">有时候宁可自己重写，也不用外部库。</span></strong><span leaf=""> 他们举了一个例子：不用通用的 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">p-limit</span></code><span leaf=""> 包做并发控制，而是自己实现了一个——与内部的 OpenTelemetry 紧密集成，100% 测试覆盖，行为完全可预测。因为对 Agent 来说，透明的内部代码比不透明的外部依赖有更高的&#34;杠杆&#34;。</span></p></li></ul><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这一点跟传统的软件工程观念有冲突。我们通常说&#34;不要重复造轮子&#34;，但在 Agent 时代，外部依赖的&#34;不透明性&#34;反而成了负担。Agent 不能像人一样去翻 npm 文档或者 Stack Overflow，它只能看到仓库里的代码。如果一个库的行为不可预测，Agent 就会在上面反复碰壁。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">约束越严格，Agent 越高效</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这又是一个反直觉的结论。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们从第一天就建立了非常严格的架构约束——每个业务域内，代码只能沿固定方向依赖：</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">Types → Config → Repo → Service → Runtime → UI</span></strong></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">违反方向的依赖直接被 linter 拦住。而且这些 linter 的报错信息被刻意设计成可以直接注入 Agent 上下文的修复指令——Agent 看到报错就知道怎么改。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">更巧妙的是执行方式：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">确定性 linter + LLM 审计 Agent 双管齐下。</span></strong><span leaf=""> 确定性的规则用工具强制（不可协商），需要判断的约束用另一个 Agent 来审计。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们的哲学是：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">中央强制边界，局部允许自治。</span></strong><span leaf=""> 在边界内，Agent 可以自由发挥。输出不一定符合人类的审美偏好——&#34;只要正确、可维护、对未来 Agent 可读，就算达标。&#34;</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">想想也合理。人类写代码追求&#34;优雅&#34;，很多时候是主观偏好。但 Agent 不在乎代码好不好看，它只在乎规则是否清晰、边界是否明确。约束越严格，解空间越小，Agent 反而越不容易跑偏。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">传统工程规范在高吞吐下变成了阻碍</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">当 Agent 的产出速度远超人类审查能力的时候，很多传统的工程最佳实践反而成了反生产力的东西：</span></p><ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">PR 的生命周期要尽量短</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">测试 flake 不阻塞进度，用后续运行修复</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">最小化阻塞性的合并门禁</span></p></li></ul><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们提出了一个原则：&#34;<span textstyle="" style="font-weight: bold;">纠错成本低，等待成本高。</span>&#34; 在低吞吐的人类团队中，这种做法是不负责任的。但在 Agent 高吞吐的环境下，让一个 PR 排队等人审查的成本远大于合并后发现问题再修复的成本。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这让我联想到制造业的区别——手工作坊追求&#34;一次做对&#34;，因为返工成本高；但流水线追求&#34;快速检测、快速修复&#34;，因为产量大到返工的边际成本很低。Agent 编程正在把软件开发从&#34;手工作坊&#34;推向&#34;流水线&#34;。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">技术债像高息贷款</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">Agent 会复制仓库中已有的模式——</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">包括坏的模式</span></strong><span leaf="">。时间一长，代码质量会漂移。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">他们最初的做法是每周五花 20% 的时间手动清理&#34;AI slop&#34;（AI 生成的低质量代码）。毫不意外，这种做法不可持续。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">最终方案是把&#34;黄金原则&#34;编码进仓库，然后定期运行后台 Codex 任务：扫描偏差 → 更新质量评分 → 开针对性重构 PR。大部分清理 PR 一分钟内可审完，自动合并。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">文章里有一句话我很喜欢：</span></p><blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">技术债像高息贷款：持续小额偿还，远好过让它复利积累后痛苦地一次性解决。</span></strong></p></blockquote><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">而更妙的是后面那句：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">人类品味只需捕获一次，然后在每一行代码上持续强制执行。</span></strong></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">这才是 Harness Engineering 的精髓——把人类的判断标准&#34;固化&#34;进系统，让机器去执行，而不是每次都依赖人类肉眼去 Review。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">我的收获</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">读完这篇文章，我最大的感受是：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">未来的软件工程师核心竞争力不是写代码的能力，而是设计&#34;驾具&#34;的能力。</span></strong><span leaf=""> 定义约束、构建反馈循环、管理文档结构——这些以前被视为&#34;辅助工作&#34;的事情，正在变成主要工作。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">而那些我们曾经认为最不起眼的东西——</span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">AGENTS.md</span></code><span leaf="">、linter 配置、CI 流程、目录结构——恰恰是决定 Agent 产出质量的关键。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">模型是马，驾具是缰绳。马越强壮，缰绳越重要。</span></p></div><hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"/><div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []" data-mpa-action-id="mmbwryet1ce6"><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf=""><span textstyle="" style="color: rgb(136, 136, 136);">本文基于 OpenAI 官方博客文章</span> </span><em style="color: rgb(0, 0, 0);font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;" data-mpa-action-id="mmbwp4rk239w" data-pm-slice="0 0 []"><span mpa-font-style="mmbwp4r5435" style="font-size: 15px;"><span style="color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">Harness engineering: leveraging Codex in an agent-first world</span></span><sup style="line-height: 0;color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">[2]</span></sup><span leaf=""> <span textstyle="" style="color: rgb(136, 136, 136);">整理而成。</span></span></span></em></p><p data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><span style="display: block;color: rgb(0, 0, 0);font-size: 18px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;"><span leaf="">参考资料</span></span></p><p data-tool="mdnice编辑器" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><span style="display: flex;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span style="line-height: 1.8em;letter-spacing: 0em;color: rgba(0, 0, 0, 0.6);display: inline;width: 10%;background-image: none;background-position-x: initial;background-position-y: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;background-color: initial;font-size: 80%;font-family: ptima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#39;PingFang SC&#39;, Cambria, Cochin, Georgia, Times, &#39;Times New Roman&#39;, serif;padding-top: 2px;"><span leaf="">[1] </span></span><p style="text-align: left;text-indent: 0em;color: rgb(0, 0, 0);font-weight: normal;display: inline;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;word-break: break-all;flex-basis: 0%;flex-grow: 1;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span leaf="">Harness Engineering: </span><em style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-weight: normal;font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf=""><a href="https://openai.com/index/harness-engineering/" target="_blank">https://openai.com/index/harness-engineering/</a></span></em></p></span><span style="display: flex;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span style="line-height: 1.8em;letter-spacing: 0em;color: rgba(0, 0, 0, 0.6);display: inline;width: 10%;background-image: none;background-position-x: initial;background-position-y: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;background-color: initial;font-size: 80%;font-family: ptima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#39;PingFang SC&#39;, Cambria, Cochin, Georgia, Times, &#39;Times New Roman&#39;, serif;padding-top: 2px;"><span leaf="">[2] </span></span><p style="text-align: left;text-indent: 0em;color: rgb(0, 0, 0);font-weight: normal;display: inline;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;word-break: break-all;flex-basis: 0%;flex-grow: 1;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span leaf="">Harness engineering: leveraging Codex in an agent-first world: </span><em style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-weight: normal;font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf=""><a href="https://openai.com/index/harness-engineering/" target="_blank">https://openai.com/index/harness-engineering/</a></span></em></p></span></p></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507854" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=941385f2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtCOyDt4EqibpBZlEJz6IPBr0xicashHEAW44MTlK4kiaCGvmTxxpicjtSXCuLDZKOicOQ6INt1byUsG1v1JeEibjwEEQBR5eJNmEemak%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=8b9e09b8&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991514%26idx%3D1%26sn%3Dfc05f8dcecce8bb74e0ae0a2e1a796a3">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 05 Mar 2026 09:03:00 +0800</pubDate>
    </item>
    <item>
      <title>一日一技：我写了个 Chrome 插件，让你再也不用重置密码</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991513&amp;idx=1&amp;sn=c80ebc6dffa1058097ac3b6905a176e3</link>
      <description>Don&#39;t Reset Password！</description>
      <content:encoded><![CDATA[<p>原创 <span>kingname</span> <span>2026-03-04 19:42</span> <span style="display: inline-block;">四川</span></p>






  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=4e0a89e3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtC04JxLPMLUr1hgc6vnxHQaKN4icFkcfoPeqAwzqzU1vLj1Hf9F9OLNzzdp37nRZ4NLArmDVeP6G8Mnhb2PI7NCVzUAShLPBgbg%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Don't Reset Password！</p>
  <div data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, &#39;Microsoft YaHei&#39;, PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;" data-pm-slice="0 0 []" data-mpa-action-id="mmby2dwhaby"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img js_insertlocalimg" data-aistatus="1" data-imgfileid="501507862" data-ratio="0.7342592592592593" data-s="300,640" type="block" data-type="jpeg" data-w="1080" style="background-color: transparent;" src="https://wechat2rss.xlab.app/img-proxy/?k=4d2846fe&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtAqCnuhbLJqlb78C9KfzZru6EP5jiazstY7EEsNTPs9v4x56SQfWT726On2mTxQEhpmSqPxRkcSiaBhxNbG4CibvSzdHicZwiaUibKn0%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: center;text-indent: 0em;margin: 0px;padding: 8px 0px;"><span leaf="" mpa-font-style="mmby2dvx221r" style="font-size: 15px;"><span textstyle="" style="color: rgb(136, 136, 136);">摄影：产品经理</span></span></p><p style="text-align: center;"><span leaf="" mpa-font-style="mmby2dvxjea" style="font-size: 15px;"><span textstyle="" style="color: rgb(136, 136, 136);">醇厚多汁的红酒炖牛肉</span></span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin: 8px 0px 0px;padding: 8px 0px;"><span leaf="">相信绝大多数人都经历过这个密码循环：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">打开某个网站，输入你记忆中的密码</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">&#34;密码错误&#34;</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">好吧，点&#34;重置密码&#34;</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">邮箱收验证码，输入新密码</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">&#34;密码必须包含大写字母！&#34;</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">行，加了一个大写字母</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">&#34;不能与之前的密码相同。&#34;</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">……</span></p></li></ol><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">你的记忆力没有问题。</span></strong><span leaf=""> 问题出在每个网站的密码规则都不一样：Chase 银行要求 8-32 位、必须有大小写+数字+特殊字符、特殊字符还只能用 </span><code style="color: rgb(30, 107, 184);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgba(27, 31, 35, 0.05);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">! @ # $ % ^ &amp; * ( )</span></code><span leaf="">；GitHub 要求至少 8 位或者 15 位以上（两套规则）；Apple 要求不能有超过 3 个连续相同字符；PayPal 的上限是 20 位……</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">你根本不是忘了密码，你是忘了</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">这个网站的密码规则是什么</span></strong><span leaf="">。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">问题的本质</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">仔细想想，这件事非常荒谬：</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">每个网站都知道自己的密码规则是什么，但它们只在你注册或重置密码时才告诉你。</span></strong></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">你平时登录的时候，密码框旁边什么提示都没有。你输入记忆中的密码 → 错了 → 再试一个 → 还是错 → 你已经不记得当初注册的时候被哪条奇葩规则逼着改了什么。只有当你放弃登录、点了&#34;重置密码&#34;之后，网站才在设置新密码的页面上列出所有规则。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">但问题是：</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">如果你在登录的时候就能看到这些规则，你大概率能一次就想起来正确的密码。</span></strong><span leaf=""> 因为你的密码库通常就那么几套模板，区别只是有没有大写、有没有特殊字符、长度是多少。知道了规则，你自然就能回忆起当初用的是哪一套。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">Don&#39;t Reset Password</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">基于这个想法，我做了一个 Chrome 扩展：</span><span style="color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">Don&#39;t Reset Password</span></span><sup style="line-height: 0;color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">[1]</span></sup><span leaf="">。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">它做的事情非常简单：</span></p><ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">自动检测</span></strong><span leaf="">密码输入框</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">从一个社区维护的规则数据库中</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">查找当前网站的密码规则</span></strong></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><span leaf="">在输入框下方</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">直接显示</span></strong><span leaf="">：最小长度、最大长度、是否需要大写、是否需要特殊字符、允许哪些特殊字符……</span></p></li></ol><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">就这样。没有其他功能了。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">关于隐私</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">我知道你在想什么——&#34;一个读取密码框的插件？&#34;</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">所以我要把这件事说清楚：</span></p><ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);" class="list-paddingleft-1"><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">不读取、不存储、不传输你的密码。</span></strong><span leaf=""> 插件只是在密码输入框旁边显示一段提示文字，它不需要也不会访问你输入的内容。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">不需要注册账号。</span></strong><span leaf=""> 零个人数据。有一个匿名 ID 用来防止垃圾贡献，仅此而已。</span></p></li><li><p style="margin-top: 5px;margin-bottom: 5px;color: rgb(1, 1, 1);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">规则本身是公开信息。</span></strong><span leaf=""> &#34;密码必须包含大写字母&#34;不是秘密，这是网站在你注册或重置密码时本来就会告诉你的东西——只不过在你正常登录的时候它不会显示。</span></p></li></ul><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">代码完全开源，你可以自己审计。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">社区驱动</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">一个人不可能覆盖所有网站的密码规则。所以这个规则数据库是</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">社区众包</span></strong><span leaf="">的——任何人都可以贡献自己知道的网站规则，所有人都受益。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">目前已经覆盖了 30 多个常见网站（Google、GitHub、Apple、Chase、PayPal、Steam、淘宝等），但显然还远远不够。如果你在使用中发现某个网站的规则缺失，点一下就可以贡献。</span></p><h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 22px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">为什么要写这个</span></span></h2><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">说实话，这个工具的技术含量不高。它没有用到什么高深的算法，没有 AI，甚至连后端都很简单。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">但我觉得它解决了一个</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">真实的、每天都在发生的、所有人都遇到过的问题</span></strong><span leaf="">。而且解决方案如此简单，简单到让人奇怪为什么之前没有人做。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">最好的工具不是最复杂的工具，而是让你觉得&#34;这不是理所应当的吗？&#34;的工具。</span></p><p data-tool="mdnice编辑器" style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;"><span leaf="">试试看：</span><span style="color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">GitHub</span></span><sup style="line-height: 0;color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">[2]</span></sup><span leaf=""> | </span><span style="color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">落地页</span></span><sup style="line-height: 0;color: rgb(30, 107, 184);font-weight: bold;"><span leaf="">[3]</span></sup></p><p data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><span style="display: block;color: rgb(0, 0, 0);font-size: 18px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;"><span leaf="">参考资料</span></span></p><p data-tool="mdnice编辑器" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><span style="display: flex;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span style="line-height: 1.8em;letter-spacing: 0em;color: rgba(0, 0, 0, 0.6);display: inline;width: 10%;background-image: none;background-position-x: initial;background-position-y: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;background-color: initial;font-size: 80%;font-family: ptima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#39;PingFang SC&#39;, Cambria, Cochin, Georgia, Times, &#39;Times New Roman&#39;, serif;padding-top: 2px;"><span leaf="">[1] </span></span><p style="text-align: left;text-indent: 0em;color: rgb(0, 0, 0);font-weight: normal;display: inline;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;word-break: break-all;flex-basis: 0%;flex-grow: 1;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span leaf="">Don&#39;t Reset Password: </span><em style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-weight: normal;font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf=""><a href="https://github.com/kingname/dont-reset-password" target="_blank">https://github.com/kingname/dont-reset-password</a></span></em></p></span><span style="display: flex;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span style="line-height: 1.8em;letter-spacing: 0em;color: rgba(0, 0, 0, 0.6);display: inline;width: 10%;background-image: none;background-position-x: initial;background-position-y: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;background-color: initial;font-size: 80%;font-family: ptima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#39;PingFang SC&#39;, Cambria, Cochin, Georgia, Times, &#39;Times New Roman&#39;, serif;padding-top: 2px;"><span leaf="">[2] </span></span><p style="text-align: left;text-indent: 0em;color: rgb(0, 0, 0);font-weight: normal;display: inline;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;word-break: break-all;flex-basis: 0%;flex-grow: 1;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span leaf="">GitHub: </span><em style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-weight: normal;font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf=""><a href="https://github.com/kingname/dont-reset-password" target="_blank">https://github.com/kingname/dont-reset-password</a></span></em></p></span><span style="display: flex;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span style="line-height: 1.8em;letter-spacing: 0em;color: rgba(0, 0, 0, 0.6);display: inline;width: 10%;background-image: none;background-position-x: initial;background-position-y: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;background-color: initial;font-size: 80%;font-family: ptima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#39;PingFang SC&#39;, Cambria, Cochin, Georgia, Times, &#39;Times New Roman&#39;, serif;padding-top: 2px;"><span leaf="">[3] </span></span><p style="text-align: left;text-indent: 0em;color: rgb(0, 0, 0);font-weight: normal;display: inline;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;word-break: break-all;flex-basis: 0%;flex-grow: 1;font-size: 14px;line-height: 1.8em;letter-spacing: 0em;"><span leaf="">落地页: </span><em style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;color: rgb(0, 0, 0);font-weight: normal;font-style: italic;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf=""><a href="https://drp.kingname.info" target="_blank">https://drp.kingname.info</a></span></em></p></span></p></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507861" data-ratio="0.549074074074074" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9b013ac0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F2kbib4svZTtDxxNrUmStR2CsclPNfKzicDVyiaI4x0qFOZVUsh1dbsibeoF7vwxJWo5DUnljdQgWLOJgAoubeGEDXUK6QNBXXZYHiaPtH9eyU1vU%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501494151" data-ratio="0.5555555555555556" type="block" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=4bea37a9&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991513%26idx%3D1%26sn%3Dc80ebc6dffa1058097ac3b6905a176e3">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 04 Mar 2026 19:42:00 +0800</pubDate>
    </item>
    <item>
      <title>Claude Code 工程师：我们花了一年，才学会像 Agent 一样思考</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&amp;mid=2648991500&amp;idx=1&amp;sn=2d74f3d82eb18edb00f4890ba8fae5b3</link>
      <description>Claude Code工程师的 Agent 工具设计哲学。</description>
      <content:encoded><![CDATA[<p><span>石臻</span> <span>2026-03-03 19:38</span> <span style="display: inline-block;">四川</span></p>




  <p>以下文章来源于：石臻说AI</p>
  <strong>石臻说AI</strong>
  <p>科技博主,10年&#43;大厂Coder，AI提效/AI交付专家专注于AI提效｜科技数码｜用AI提效，剩下时间摸鱼— AI摸鱼社区🛰：szzdzhp001</p>



  
  <p><img src="https://wechat2rss.xlab.app/img-proxy/?k=175a89c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2FTkWsojtosvQgldFsuWPbblyy8f8TCZK8q3scdOgQsDq1lEsqhBGLwvWAQG8X5LgK98Th4bplwQuzDseEv1fnt6ncn9kuNvcf93QbEG76Nvk%2F0%3Fwx_fmt%3Djpeg"/></p>
  <p>Claude Code工程师的 Agent 工具设计哲学。</p>
  <div style="font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, &#34;Helvetica Neue&#34;, Arial, &#34;Noto Sans&#34;, sans-serif;line-height: 1.6;overflow-wrap: break-word;text-align: left;margin-bottom: 0px;"><p style="text-align: center;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501506620" data-ratio="0.5625" data-s="300,640" type="block" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=8df1ba20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fohoo1dCmvqficd5dvzOUvUV9YAfl2AUtMBibtrr700SAhfeeuZPBmLRoTxOOQLBuHtoJicECTJQAiaOHFLOsc8Y0bw%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p><p style="background-color: #f0f4ff;border-left: 4px solid #1e3a8a;padding: 15px;border-radius: 4px;font-size: 15px;color: #444;text-align: justify;margin-bottom: 20px;"><strong><span leaf="">导读：</span></strong><span leaf=""> Claude Code 背后的工程师，把一年多造 Agent 工具踩过的坑，写成了一篇&#34;设计哲学&#34;。不是论文，不是教程，是那种让人看完觉得&#34;对，我也有这种感觉但说不出来&#34;的东西。</span></p><span leaf=""><img alt="Claude Code 开发者 Thariq 原推" class="rich_pages wxw-img" data-aistatus="1" data-ratio="2.0066889632107023" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="598" src="https://wechat2rss.xlab.app/img-proxy/?k=58fb5aca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FTkWsojtosvROSPyzn8vCk6G7wibsdLaWdvuRWZicL9NEF0PzFoLnvLE5fWLagLk0WxVBv2chu4ERKSJCphlZEpuEpr05VJ7Ria2KSxUgZwcy18%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Claude Code 的核心开发者 Thariq（@trq212）最近写了一篇长推，标题叫「Lessons from Building Claude Code: Seeing like an Agent」。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">但它不是在发布什么新功能，而是在讲：他们怎么想明白该给 AI 配什么工具这件事。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">给 AI 配工具，跟给人配工具一个道理</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">文章开头有个比喻，说得特别清楚。</span></p><span leaf=""><img alt="工具能力上限取决于使用者能力上限" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=6ddcf5f0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSzEYXeJiaQtsPpHRBJPTVghweD6Vs0yYGAKAshO9KCVib9g9YbhTPXWAOd7G9fXwS74xVjzALKBZs2AFZDyVvO9pO9ibRJCV19b4%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">假设你要解一道难的数学题，你希望手边有什么工具？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">纸和笔是下限——能用，但很多步骤得手算，效率低。计算器是进阶版，但你得知道怎么用那些复杂函数。最强的工具是电脑，前提是你会写代码去调用它。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">重点是最后一句：</span><strong style="font-weight: bold;color: #333;"><span leaf="">工具的能力上限，取决于使用者的能力上限。</span></strong></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">给一个不会编程的人一台超级电脑，不如给他一个计算器有用。同理，给 Claude 配一堆它用不好的工具，不如配几个它真正懂得调用的工具。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这个思维框架背后有一个实操问题：你怎么知道 Claude 的能力边界在哪？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Thariq 的回答是：你得学会「像 Agent 一样看世界」——读它的输出，做实验，持续观察，而不是假设它能或者不能做什么。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">AskUserQuestion 工具：一个工具被设计了三次</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这是文章里最有意思的部分，三次失败的迭代，每次失败的原因都不同。</span></p><span leaf=""><img alt="AskUserQuestion 三次迭代对比" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=89cf24e5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvSgf95t6szFYJXWpM0pHFbe8tZYkiadlr5p5NFA7q0Qd3CY8jPDu7jQZYT4GuZEOATFV6hqhf6icaMsxF1B3hKpzQoqia1csDsOIE%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第一次</span></strong><span leaf="">：他们想在 ExitPlanTool 里加一个参数，让 Claude 在输出计划的同时顺便问问题。最省力的方案——但失败了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">原因是语义冲突：同时要&#34;给出计划&#34;又要&#34;提问题&#34;，如果用户的回答推翻了计划，Claude 该怎么办？要重新调用一遍 ExitPlanTool 吗？一个工具承载两个意图，Claude 会搞混。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第二次</span></strong><span leaf="">：让 Claude 在普通文本输出里嵌入一种特殊格式的问题，前端再解析。听起来很通用，实际上根本不靠谱。Claude 会自由发挥——多写一句话、漏掉选项、换个格式——让解析失败。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">自由文本输出的稳定性，撑不住结构化交互的需求。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><strong style="font-weight: bold;color: #333;"><span leaf="">第三次</span></strong><span leaf="">：独立的 AskUserQuestion 工具，在 plan mode 阶段专门调用，触发时弹出弹窗，阻塞 Agent 循环直到用户回答完。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">第三次方案成功，原因在于几个细节共同起了作用：工具的参数 schema 强制 Claude 给出选项，而不是自由发挥；这个工具可以被 Agent SDK 和 Skills 引用组合；Claude 很自然地会去调用它，不需要强行提示。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">最后一点尤其值得注意：一个工具设计得再合理，如果模型不知道什么时候该用，一切都是白费。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">工具需要随着模型进化而进化</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Claude Code 最初上线时，给模型配了一个 TodoWrite 工具，让它在开始任务时列出待办，逐条完成再打勾。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">当时这是必要的——Claude 容易在长任务里跑偏，需要一个&#34;提醒物&#34;。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">后来模型越来越强，问题反过来了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">系统每 5 轮自动提醒 Claude 看 Todo 列表，反而让它以为自己不能改这个列表——「我应该严格按单子来，不能自主判断」。更新的模型开始能调度子 Agent 了，但子 Agent 怎么共享一个 Todo 列表？TodoWrite 的设计根本没考虑多 Agent 协作。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">所以他们换掉了 TodoWrite，改用 Task 工具。Task 的核心不是&#34;提醒你别忘了&#34;，而是&#34;让不同 Agent 之间可以沟通状态&#34;。Task 支持依赖关系，可以跨子 Agent 共享进度，模型可以主动修改和删除任务。</span></p><p style="font-weight: bold;color: #1e3a8a;font-size: 16px;margin-bottom: 15px;text-align: justify;"><span leaf="">模型能力的进步，会让曾经正确的工具设计变成一种束缚。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">你不能把工具设计当成&#34;一劳永逸&#34;的事。上一代模型需要的约束，放到下一代模型可能是枷锁。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">渐进式披露：不加新工具，也能加新能力</span></h2><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">Claude Code 目前大概有 20 个工具。每次想加一个新工具，团队都要认真问自己：这个工具真的值得加吗？</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">不是小气，是因为工具多了有代价——每多一个选项，模型就多一个决策负担，性能和稳定性都会受影响。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他们用来解决这个矛盾的方法叫「渐进式披露」（Progressive Disclosure）。</span></p><span leaf=""><img alt="渐进式披露：按需加载上下文" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=5e4bed06&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvTsSMHg948I9nr9P4Jb0hOXZN6icVictEqKCSiaHIQXykvyZZHlvcaJYlYHLXAvKqVf7J6HaYpBblYQzcaiapsZpd3mvltZYxibia6cc%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">举个例子：有用户问 Claude &#34;怎么加一个 MCP&#34;，Claude 不知道，因为这块知识没在系统提示里。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">暴力做法是把文档全塞进系统提示——会造成&#34;上下文污染&#34;，大量不相关的内容挤占了 Claude 真正用来写代码的注意力。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">他们的做法是：给 Claude 一个文档链接，让它在需要的时候自己去加载。但这带来新问题——Claude 会加载一堆搜索结果，背景噪音太多。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">最后的方案：一个专门的「Claude Code Guide」子 Agent，专门负责回答关于 Claude Code 自身的问题，有专门优化的搜索指令，只返回精准答案。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">不用加工具，能力扩展了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这本质上是一种「Context on Demand」——需要的时候再拉取，不需要的时候不占位置。Grep 工具也是同样逻辑：以前用 RAG 向量库给 Claude 灌上下文，现在让 Claude 自己用 grep 搜索代码库，主动构建自己需要的上下文。</span></p><h2 style="font-size: 18px;color: #1e3a8a;font-weight: bold;margin-bottom: 15px;display: flex;align-items: center;margin-top: 30px;"><span leaf="">&#34;艺术，不是科学&#34;</span></h2><span leaf=""><img alt="Agent 工具设计：艺术与科学的结合" class="rich_pages wxw-img" data-aistatus="1" data-ratio="0.5583333333333333" style="display: block;max-width: 100%;border-radius: 6px;margin: 10px auto 20px;height: auto !important;" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=01eb59d5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FTkWsojtosvQLW4nkHGA3Eichia7cfLoavWzpl7Ec5oOBssr3WGdr5MLIeCyI1AwVG6u0XhxXiacTLrg7AoymktrT0niaITXVpld4csPkrxiasJcY%2F640%3Ffrom%3Dappmsg"/></span><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">文章最后，Thariq 说了一句话：</span></p><blockquote style="margin: 20px 0;border: 1px dashed #94a3b8;background-color: #f1f5f9;padding: 12px;border-radius: 6px;font-family: monospace;font-size: 12px;color: #334155;line-height: 1.4;"><p><span leaf="">&#34;If you were hoping for a set of rigid rules on how to build your tools, unfortunately that is not this guide. Designing the tools for your models is as much an art as it is a science.&#34;</span></p></blockquote><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">这有点反直觉。Anthropic 这种以严谨著称的公司，工程师出来说&#34;工具设计更像艺术&#34;——听起来像在承认自己没有答案。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">但这是真话。Agent 工具设计高度依赖三个变量：你用的是哪个模型，这个 Agent 的目标是什么，它运行的环境是什么。这三个变量变了，最优解就变了。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">而且模型本身在快速进化，今天的最优解明天就可能是约束。</span></p><p style="font-size: 15px;margin-bottom: 10px;line-height: 1.75;color: #334155;text-align: justify;"><span leaf="">所以唯一可靠的路径是：持续实验，持续观察，学会&#34;像 Agent 一样思考&#34;——别假设它能做什么，看它实际做了什么，从输出反推它真正的能力边界在哪。</span></p><ul style="background: #f0f9ff;border-radius: 8px;font-size: 14px;color: #0369a1;margin-bottom: 15px;border: 1px solid #bae6fd;text-align: left;padding: 15px 15px 15px 35px;list-style-type: disc;" class="list-paddingleft-1"><li style="margin-bottom: 8px;text-align: left;"><strong><span leaf="">工具要匹配模型能力</span></strong><p><span leaf="">，不是越多越好，也不是越通用越好</span></p></li><li style="margin-bottom: 8px;text-align: left;"><strong><span leaf="">一个工具一个语义</span></strong><p><span leaf="">，混合意图会让模型困惑</span></p></li><li style="margin-bottom: 8px;text-align: left;"><strong><span leaf="">模型能力进化，工具设计需要跟着迭代</span></strong><p><span leaf="">，今天正确的约束明天可能是枷锁</span></p></li><li style="margin-bottom: 8px;text-align: left;"><strong><span leaf="">渐进式披露</span></strong><p><span leaf="">：不加工具也能加能力，通过「Context on Demand」扩展 Agent 的行动空间</span></p></li><li style="margin-bottom: 8px;text-align: left;"><strong><span leaf="">模型要&#34;喜欢&#34;用这个工具</span></strong><p><span leaf="">，设计合理但调用率低的工具，等于没有工具</span></p></li></ul><p style="font-size: 13px;color: #999;font-weight: normal;margin-bottom: 8px;margin-top: 25px;border-top: 1px solid #eee;padding-top: 15px;"><span leaf="">参考链接</span></p><ul style="margin-bottom: 15px;padding-left: 30px;font-size: 15px;color: #334155;list-style-type: disc;" class="list-paddingleft-1"><li style="font-size: 12px;color: #aaa;line-height: 1.8;margin-bottom: 2px;"><p><span leaf="">Claude Code 开发者 Thariq 原推：<a href="https://x.com/trq212/status/2027463795355095314" target="_blank">https://x.com/trq212/status/2027463795355095314</a></span></p></li></ul></div><div style="box-sizing: border-box;font-style: normal;font-weight: 400;text-align: justify;font-size: 16px;color: rgb(62, 62, 62);" data-pm-slice="0 0 []"><div style="display: flex;flex-flow: row;margin: 10px 0%;justify-content: flex-start;box-sizing: border-box;"><div style="display: inline-block;vertical-align: middle;width: auto;min-width: 10%;max-width: 100%;flex: 0 0 auto;height: auto;align-self: center;margin: 0px -10px;box-sizing: border-box;"><div style="font-size: 12px;color: rgb(194, 214, 246);text-align: center;line-height: 1;letter-spacing: 0px;padding: 0px 20px;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">END</span></p></div></div></div><div style="text-align: center;margin-top: 10px;margin-bottom: 10px;line-height: 0;box-sizing: border-box;"><p style="max-width: 100%;vertical-align: middle;display: inline-block;line-height: 0;box-sizing: border-box;" nodeleaf=""><img class="rich_pages wxw-img" data-aistatus="1" data-imgfileid="501507851" data-ratio="0.5490741" data-s="300,640" style="vertical-align: middle;max-width: 100%;width: 100%;box-sizing: border-box;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=f5524809&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2F2kbib4svZTtBm0W8HuEg2yMEz4u3a2RqyCc6eeAYEIyiagOTOhtf9oawVR97PxerAAmPyWPgBw7GUcmcCrbvQDFEGGbCYxmhzd5mM0B1d34SY%2F640%3Fwx_fmt%3Djpeg%26from%3Dappmsg"/></p></div><div style="text-align: center;box-sizing: border-box;"><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span style="color: rgb(255, 129, 36);font-size: 18px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球开放啦！</span></span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">一对一答疑爬虫相关问题</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">职业生涯咨询</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">面试经验分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">每周直播分享</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">......</span></p><p style="margin: 0px;padding: 0px;box-sizing: border-box;"><span leaf="">未闻 Code·知识星球期待与你相见~</span></p><p style="text-align: center;" nodeleaf=""><img data-aistatus="1" class="rich_pages wxw-img" data-ratio="0.5555555555555556" data-type="gif" data-w="639" type="block" data-imgfileid="501494151" src="https://wechat2rss.xlab.app/img-proxy/?k=679d9825&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fohoo1dCmvqeiagWjcfyicsibNKgNOEnyAkb06AMF5eG1K2jEXjUxqkV9EUaNXIjDEibQPAV2sJak2dJibiamc2jw0z6g%2F640%3Fwx_fmt%3Dgif"/></p></div></div><p style="display: none;"><mp-style-type data-value="10000"></mp-style-type></p>



<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=89c2313a&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzI2MzEwNTY3OQ%3D%3D%26mid%3D2648991500%26idx%3D1%26sn%3D2d74f3d82eb18edb00f4890ba8fae5b3">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 03 Mar 2026 19:38:00 +0800</pubDate>
    </item>
  </channel>
</rss>