<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Versun</title>
    <description>对待生命，不妨大胆一点，因为我们终将失去它</description>
    <link>https://versun.me</link>
    <author>Versun</author>
    <item>
      <title>用 Hermes 打造你的第一个 AI 个人助理</title>
      <description>我做为一个程序员，从最开始的小龙虾，一直折腾到 Hermes 河马，中间见过太多小白踩坑， 特别是小龙虾，从入门到放弃😆，每天都在修它，而不是再用它 以及 Hermes，虽然相比小龙虾稳定多了，但对非技术的人来说，从零搭一套能稳定跑的 AI 助理，还是挺难的。 所以我把自己踩过的坑、群友问过最多的问题，整理了一份教程 希望能帮到想入门 Hermes 和 AI 助理，但不知道从哪下手的你...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>我做为一个程序员，从最开始的小龙虾，一直折腾到 Hermes 河马，中间见过太多小白踩坑，<br>特别是小龙虾，从入门到放弃😆，每天都在修它，而不是再用它<br>以及 Hermes，虽然相比小龙虾稳定多了，但对非技术的人来说，从零搭一套能稳定跑的 AI 助理，还是挺难的。</p>
<p>所以我把自己踩过的坑、群友问过最多的问题，整理了一份<a href="https://rcnqykmmw4mv.feishu.cn/docx/L0qbdA4s0oEnNsxNguycjIyan4r">教程</a><br>希望能帮到想入门 Hermes 和 AI 助理，但不知道从哪下手的你<br>不需要你会写代码，从 0 搭出一个AI 个人助理 🤖<br>加油！！</p>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 02 Jun 2026 14:21:22 +0800</pubDate>
      <link>https://versun.me/blog/推荐：  `build-your-first-ai-personal-assistant-with-hermes`</link>
      <guid>https://versun.me/blog/推荐：  `build-your-first-ai-personal-assistant-with-hermes`</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>多Agent是伪命题</title>
      <description>多 Agent 协作，是当下最热门的表演项目。 一张架构图里塞十几个 Agent：研究、写作、代码、审查、规划、执行……看起来很热闹，很“先进”。 但我越来越觉得，这个方向容易走偏。 一个人不该直接管一堆 Agent。精力有限，不可能每种任务都手动挑一个专门的 Agent，再去判断谁先做、谁后做、谁来检查谁。 老板也不会直接管所有员工，可行的组织方式，一定是分层的。...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>多 Agent 协作，是当下最热门的表演项目。</p>
<p>&nbsp;</p>
<p>一张架构图里塞十几个 Agent：研究、写作、代码、审查、规划、执行……看起来很热闹，很“先进”。</p>
<p>&nbsp;</p>
<p>但我越来越觉得，这个方向容易走偏。</p>
<p>&nbsp;</p>
<p>一个人不该直接管一堆 Agent。精力有限，不可能每种任务都手动挑一个专门的 Agent，再去判断谁先做、谁后做、谁来检查谁。</p>
<p>&nbsp;</p>
<p>老板也不会直接管所有员工，可行的组织方式，一定是分层的。</p>
<p>&nbsp;</p>
<p>有人定方向，有人负责拆分，有人执行，有人检查结果。</p>
<p>&nbsp;</p>
<p>Agent 系统也该这样。</p>
<p>&nbsp;</p>
<p>用户只需要面对一个主 Agent，主 Agent 理解目标后，再自己判断：</p>
<p>&nbsp;</p>
<p>- 任务要不要拆分？</p>
<p>- 要不要创建子 Agent？</p>
<p>- 哪些可以并行？</p>
<p>- 哪些结果需要验证？</p>
<p>- 什么时候继续？</p>
<p>- 什么时候停止？</p>
<p>&nbsp;</p>
<p>这才是合理的系统边界。</p>
<p>&nbsp;</p>
<p>Hermes 新添加的 `/goal` 命令有意思的地方就在这里。</p>
<p>&nbsp;</p>
<p>它没有堆“监督 Agent + 执行 Agent”的热闹架构，它选了一条更克制的路：</p>
<p>&nbsp;</p>
<p>主 Agent 执行一轮，每轮结束后，`goal_judge` 判断目标是否完成，没完成，就生成 continuation prompt，继续下一轮。</p>
<p>&nbsp;</p>
<p>这个循环不是无限跑，Hermes 默认给 `/goal` 设置了 20 轮，目标达成、用户暂停、预算耗尽，或者被用户打断，循环都会停下来。</p>
<p>&nbsp;</p>
<p>Agent 系统的价值，不在 Agent 数量。</p>
<p>&nbsp;</p>
<p>数量多，只会让架构图更好看。</p>
<p>&nbsp;</p>
<p>真正难的是闭环：目标怎么进入系统，过程怎么被反馈校正，结果怎么被验证，什么时候继续，什么时候停。</p>
<p>&nbsp;</p>
<p>Hermes `/goal` 的价值就在这里。</p>
<p>&nbsp;</p>
<p>它把 Agent 从“聊完一轮就结束”，推进到“围绕目标持续收敛”。</p>
<p>&nbsp;</p>
<p>这才是系统</p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 01 May 2026 17:24:00 +0800</pubDate>
      <link>https://versun.me/blog/agent-goal-closed-loop</link>
      <guid>https://versun.me/blog/agent-goal-closed-loop</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>就该在网页上看日报！多舒服呀 在聊天框里</title>
      <description>就该在网页上看日报！多舒服呀 在聊天框里看这种长文内容真的很难受 ps：日报内容使用 @zarazhangrui 的 follow-builders，真的好用，强烈推荐</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3">就该在网页上看日报！多舒服呀 在聊天框里看这种长文内容真的很难受</span></p>
<p><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3"><img src="https://pbs.twimg.com/media/HHHl_FZbcAA_1My?format=jpg&amp;name=4096x4096" alt="图像" width="462" height="292"></span></p>
<p><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3">&nbsp;ps：日报内容使用 </span><span class="r-18u37iz"><a class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3 r-1wvb978 r-1loqt21" href="https://x.com/zarazhangrui">@zarazhangrui </a></span>的 <a href="https://github.com/zarazhangrui/follow-builders">follow-builders</a>，真的好用，强烈推荐</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 30 Apr 2026 10:13:18 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-30-10-13</link>
      <guid>https://versun.me/blog/2026-04-30-10-13</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>这两天给 ShareThis.Chat </title>
      <description>这两天给 ShareThis.Chat 加了图片、音频上传、长文分页功能 现在你分享的内容不再只有文字，也可以直接包含图片和音频 另外也处理了一个用户反馈：不同模型在执行 Skill 时，有时会走出完全不同的方法和步骤，结果很不稳定。 所以这次我把 Skill 文档也重新整理了一遍，少写描述，多写具体步骤，用更明确的执行路径约束 Agent 行为。...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>这两天给 <a href="https://sharethis.chat/">ShareThis.Chat</a> 加了图片、音频上传、长文分页功能</p>
<p>现在你分享的内容不再只有文字，也可以直接包含图片和音频</p>
<p>另外也处理了一个用户反馈：不同模型在执行 Skill 时，有时会走出完全不同的方法和步骤，结果很不稳定。</p>
<p>所以这次我把 Skill 文档也重新整理了一遍，少写描述，多写具体步骤，用更明确的执行路径约束 Agent 行为。</p>
<p>同时还添加了长内容和压缩上下文的处理方式，不会再出现压缩摘要和真实聊天内容重复的问题</p>
<p>整个 SKill 文档从原来的近 3000 字，减少到了 1300 字左右</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 30 Apr 2026 09:11:50 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-30-09-11</link>
      <guid>https://versun.me/blog/2026-04-30-09-11</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>呐，这就叫做专业</title>
      <description>昨天发推吐槽了下 Hermes，想不到被创始人 TK 关注了， 然后私聊了具体情况，今天就开 issue 解决了，这效率，没话说 我想我有必要重新安装，不进行迁移，重新试一试了</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Teknium 🪽</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>Would you be interested in $500 of open router credits to spend time with me to understand the pain points more closely so that no one else experiences your issues again?Dive deep into each of these issues and show me side by side why you feel each p</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/Teknium/status/2048363910575882418?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="css-175oi2r r-1s2bzr4">
<div class="css-146c3p1 r-bcqeeo r-1ttztb7 r-qvutc0 r-37j5jr r-1inkyih r-16dba41 r-bnwqim r-135wba7" lang="zh"><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3">昨天发推吐槽了下 Hermes，想不到被创始人 TK 关注了， </span></div>
<div class="css-146c3p1 r-bcqeeo r-1ttztb7 r-qvutc0 r-37j5jr r-1inkyih r-16dba41 r-bnwqim r-135wba7" lang="zh"><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3">然后私聊了具体情况，今天就开 <a href="https://github.com/NousResearch/hermes-agent/issues/16328">issue</a> 解决了，这效率，没话说 </span></div>
<div class="css-146c3p1 r-bcqeeo r-1ttztb7 r-qvutc0 r-37j5jr r-1inkyih r-16dba41 r-bnwqim r-135wba7" lang="zh"><span class="css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3">我想我有必要重新安装，不进行迁移，重新试一试了</span></div>
</div>
<div class="css-175oi2r r-9aw3ui r-1s2bzr4">
<div class="css-175oi2r">&nbsp;</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 27 Apr 2026 12:59:43 +0800</pubDate>
      <link>https://versun.me/blog/hermes-feedback</link>
      <guid>https://versun.me/blog/hermes-feedback</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>Share This Chat 支持图片</title>
      <description>Share This Chat 支持图片显示了，聊天内容里的任何图片都可以上传分享了 https://sharethis.chat/s/shr_213e2ea72b13</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p><a href="https://sharethis.chat/">Share This Chat</a> 支持图片显示了，聊天内容里的任何图片都可以上传分享了</p>
<p><a href="https://sharethis.chat/s/shr_213e2ea72b13">https://sharethis.chat/s/shr_213e2ea72b13</a></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjczLCJwdXIiOiJibG9iX2lkIn19--3d1cb6d67ecd0cc88dbf2c6ff67ae3e7c2450b48/a2fcea59-43bc-497f-a72d-73078953db34.png" width="369" height="612"></p>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 27 Apr 2026 10:25:07 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-27-10-25</link>
      <guid>https://versun.me/blog/2026-04-27-10-25</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>有娃 vs 没娃</title>
      <description>有娃： 早上5点被小儿子闹醒，喝奶洗漱，在床上陪玩（我再眯一会，顺便被他玩） 6点40起床，给女儿和老婆准备早餐，洗奶瓶洗奶嘴收拾被褥，打开洗衣机，继续陪玩，期间打开电脑，准备上班内容，看看有什么单子要做 7点，叫女儿起床，开始吃饭，防止小儿子闹事 8点，送女儿上学回来，晾衣服，收拾碗筷，把小儿子交给老婆，回到电脑前发会呆准备上班 -------- 没娃： 醒了，缠绵会，起床，跑步，吃饭，上班</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">有娃：</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">早上5点被小儿子闹醒，喝奶洗漱，在床上陪玩（我再眯一会，顺便被他玩）</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">6点40起床，给女儿和老婆准备早餐，洗奶瓶洗奶嘴收拾被褥，打开洗衣机，继续陪玩，期间打开电脑，准备上班内容，看看有什么单子要做</div>
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">7点，叫女儿起床，开始吃饭，防止小儿子闹事</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">8点，送女儿上学回来，晾衣服，收拾碗筷，把小儿子交给老婆，回到电脑前发会呆准备上班</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">--------</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">没娃：</div>
</div>
<div class="">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr">醒了，缠绵会，起床，跑步，吃饭，上班</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 27 Apr 2026 08:40:07 +0800</pubDate>
      <link>https://versun.me/blog/vs</link>
      <guid>https://versun.me/blog/vs</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>再次卸载了 Hermes Agent，太</title>
      <description>再次卸载了 Hermes Agent，太傻了，和 OpenClaw 比差的不是一点两点，严重怀疑那些吹它聪明的人，有没有深入用过？我的版本号：V0.11.0 列举下我遇到的主要问题： 1. 工具调用不灵活，一个方案行不通就会一直尝试，而不是换一个方案，容易一条路走到黑 2. 上下文管理非常糟糕，只要超出模型上下文，基本就是重开，没有任何之前会话的记忆 3....</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Versun</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>听说 Hermes 最近迭代了很多，稳定了很多，下午我让openclaw 去安装 hermes，还挺顺利，有惊无险，先用几天看看分享下整个对话过程https://t.co/bxCvMGBGJ2</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/VersunPan/status/2047287511681216551?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>再次卸载了 Hermes Agent，太傻了，和 OpenClaw 比差的不是一点两点，严重怀疑那些吹它聪明的人，有没有深入用过？我的版本号：V0.11.0</p>
<p>&nbsp;</p>
<p>列举下我遇到的主要问题：</p>
<ol>
<li>工具调用不灵活，一个方案行不通就会一直尝试，而不是换一个方案，容易一条路走到黑</li>
<li>上下文管理非常糟糕，只要超出模型上下文，基本就是重开，没有任何之前会话的记忆</li>
<li>对于子代理的管理也非常糟糕，不会审查/核实子代理返回的结果</li>
<li>无法同时处理多条信息，或者说处理的不够优雅</li>
<li>对于自己的配置文件不熟悉，哪些能改哪些不能改，比我还陌生</li>
<li>系统提示词和模型的调教上和 OpenClaw 比还有非常大的差距</li>
</ol>
<p>&nbsp;</p>
<p>这几天的使用感受甚至还不如我几个月前用 Pi-Agent 的体验好</p>
<p>除了升级丝滑、响应快以外，没有任何优点。</p>
<p>完。</p>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 26 Apr 2026 09:41:07 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-26-09-41</link>
      <guid>https://versun.me/blog/2026-04-26-09-41</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>AI 工具会不会变成炮灰，重要吗？</title>
      <description>今天下午微信群里在聊 Hermes 和 OpenClaw。 有个群友说了一句挺有代表性的话：这些工具本质上都是过渡性的炮灰产品。大模型迟早会把这些能力自己集成掉，应用层工具不会有什么位置。 我觉得他说得没错。 但也只对了一半。 这些工具当然是实验性的，甚至很多现在看起来很热闹的东西，过半年可能就没人用了。AI 时代的工具淘汰速度太快了，今天刚搭好的工作流，明天模型一更新，可能就直接原地报废。...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>今天下午微信群里在聊 Hermes 和 OpenClaw。</p>
<p>有个群友说了一句挺有代表性的话：<strong>这些工具本质上都是过渡性的炮灰产品。大模型迟早会把这些能力自己集成掉，应用层工具不会有什么位置。</strong></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjcxLCJwdXIiOiJibG9iX2lkIn19--1908889996f39bb2a243624d1a8c3b3fa0245641/77a5bfb1-323b-4a95-8624-e98dc953d28d.jpg" alt="" width="153" height="332"></p>
<p>我觉得他说得没错。</p>
<p>但也只对了一半。</p>
<p>&nbsp;</p>
<p>这些工具当然是实验性的，甚至很多现在看起来很热闹的东西，过半年可能就没人用了。AI 时代的工具淘汰速度太快了，今天刚搭好的工作流，明天模型一更新，可能就直接原地报废。</p>
<p>&nbsp;</p>
<p>但问题是，作为个人，我们参与这些“炮灰产品”的意义，不一定是押注它们能活多久。</p>
<p>真正有价值的是：<strong>你在亲手折腾这些工具的过程中，会被迫理解它们到底是怎么工作的。</strong></p>
<p>&nbsp;</p>
<p>这几天我在开发 <a href="https://sharethis.chat/">ShareThis.Chat</a>，感受特别明显。</p>
<p>一开始需求很简单：我在用小龙虾和本地各种 Agent 时，想分享一段聊天内容非常麻烦。要么截图，要么一条条复制粘贴。截图不方便检索，复制粘贴又很蠢，尤其是一段对话很长的时候，简直是在折磨自己。</p>
<p>&nbsp;</p>
<p>所以我做了 sharethis.chat。</p>
<p>它的核心功能也不复杂：把聊天内容整理成一个可分享的链接，同时支持把完整内容以纯文本复制出来。对别人来说可能只是个小工具，但对我自己来说，这就是每天都会用到的基础设施。</p>
<p>&nbsp;</p>
<p>有意思的是，真正让我收获最多的，不是把网页做出来，而是给 Agent 写技能文档。</p>
<p>因为我要让 Agent 学会“怎么正确分享一段聊天”，就必须想清楚很多细节：</p>
<p>哪些内容应该保留？<br>哪些元数据必须删掉？<br>工具输出能不能信？<br>token 应该怎么保存？<br>语音消息要怎么标记？<br>代码、日志、JSON、CSV 这种结构化内容要不要原样保留？</p>
<p>&nbsp;</p>
<p>最开始的 Skill 文档，其实只有一句话。</p>
<p>后来慢慢写到了百来行。</p>
<p>听起来很夸张，但这些规则只是为了让 Agent 更好地处理“分享聊天内容”这么一个小功能而已。你真正写进去之后才会发现，看似简单的功能，里面全是边界和坑。</p>
<p>&nbsp;</p>
<p>也因为这个过程，我顺便理解了 Claude、Codex 这类 Agent 在处理消息、工具输出、本地文件、敏感信息时的一些设计取舍。</p>
<p>&nbsp;</p>
<p>这就是我觉得“实验性工具”有价值的地方。</p>
<p>它们可能不是终局，甚至大概率不是。但你亲手做一遍，就会知道哪些东西是模型能力问题，哪些是产品设计问题，哪些是安全边界问题，哪些是纯粹的工作流细节。</p>
<p>&nbsp;</p>
<p>等以后更成熟的工具出来，你也不会只是一个被动使用者。</p>
<p>你会更清楚它哪里好，哪里烂，哪里可以改，哪里只是包装得很漂亮。</p>
<p>所以我并不太在意这些工具最后是不是炮灰。</p>
<p>炮灰也没关系。</p>
<p>在炮灰堆里摸爬滚打过的人，至少知道战场长什么样。</p>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 25 Apr 2026 21:23:12 +0800</pubDate>
      <link>https://versun.me/blog/ai-tools-cannon-fodder</link>
      <guid>https://versun.me/blog/ai-tools-cannon-fodder</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>昨天在给我的 Hermes Agent </title>
      <description>昨天在给我的 Hermes Agent 添加 ShareThis.Chat 技能时，踩了一个坑 Hermes 有一层安全机制：它会自动扫描所有工具输出，把看起来像 token、密钥的字符串脱敏 这本来是好事，防止敏感信息泄露。但问题是，ShareThis.Chat 创建分享后会返回一个管理 token，而这个 token 需要保存到本地，结果 Hermes 一脱敏，终端里看到的 token...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>昨天在给我的 Hermes Agent 添加 <a href="https://sharethis.chat/">ShareThis.Chat</a> 技能时，踩了一个坑</p>
<p>&nbsp;</p>
<p>Hermes 有一层安全机制：它会自动扫描所有工具输出，把看起来像 token、密钥的字符串脱敏</p>
<p>&nbsp;</p>
<p>这本来是好事，防止敏感信息泄露。但问题是，ShareThis.Chat 创建分享后会返回一个管理 token，而这个 token 需要保存到本地，结果 Hermes 一脱敏，终端里看到的 token 就变成了类似 RAkGuW...hWOL 这种不完整字符串，保存下来当然也就不能用了</p>
<p>&nbsp;</p>
<p>解决方法也很土：不要依赖终端输出</p>
<p>&nbsp;</p>
<p>因为被脱敏的是“输出层”，所以直接让 Hermes 把 API 原始响应写入文件。文件系统里的内容不会被这层安全机制改写，本地再从文件里读 token</p>
<p>&nbsp;</p>
<p>有点脱裤子放屁，但没办法</p>
<p>&nbsp;</p>
<p>所以我也顺手更新了 ShareThis.Chat 的 <a href="https://sharethis.chat/SKILL.md">skill 文档</a>，明确告诉 Agent：</p>
<p>• 先把 API 响应写入本地文件<br>• 不要从终端输出或日志里复制 token<br>• 因为你看到的 token 很可能已经是脱敏后的残缺版本</p>
<p>&nbsp;</p>
<p>看来以后写 skill，不能只考虑 API 怎么调用，还得考虑 Agent 平台可能特有的机制破坏了流程</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 25 Apr 2026 14:43:08 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-25-14-43</link>
      <guid>https://versun.me/blog/2026-04-25-14-43</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>Cursor 最近是在冲业绩，准备卖个好</title>
      <description>Cursor 最近是在冲业绩，准备卖个好价钱吗？ 在推上疯狂送 $10,000 credits，单单就中文区，我就看到不止5个博主了 希望也能送我一份，我肯定不负众望，疯狂用😆</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>Cursor 最近是在冲业绩，准备卖个好价钱吗？</p>
<p>在推上疯狂送 $10,000 credits，单单就中文区，我就看到不止5个博主了</p>
<p>希望也能送我一份，我肯定不负众望，疯狂用😆</p>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 25 Apr 2026 12:24:07 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-25-12-24</link>
      <guid>https://versun.me/blog/2026-04-25-12-24</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>ShareThis.Chat 上线啦</title>
      <description>我的第四个 AI 工具出炉啦：https://ShareThis.Chat 它的功能很简单：将 AI 对话一键转为精美可分享的页面 比如这个范例：https://sharethis.chat/s/example ----- 使用方法其实就是一个 Skill 技能，让你的 Agent 学习下就行了： 你只需要把 https://sharethis.chat/SKILL.md 丢给你的...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>我的第四个 AI 工具出炉啦：<a href="https://ShareThis.Chat">https://ShareThis.Chat</a></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjY4LCJwdXIiOiJibG9iX2lkIn19--ab37cb66b7a760dfaba6cd20f2bef9980b30b63f/21f986af-a7b5-4983-a6ac-97351b63543c.png" width="474" height="281"></p>
<p>它的功能很简单：<strong>将 AI 对话一键转为精美可分享的页面</strong></p>
<p>比如这个范例：<a href="https://sharethis.chat/s/example">https://sharethis.chat/s/example</a></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjY5LCJwdXIiOiJibG9iX2lkIn19--06bede0c800fd450cfb66b1a0f67a1392fcc45de/ff1b85c9-aea0-4537-aae3-d4f39abdf716.png" width="393" height="386"></p>
<p>-----</p>
<h3>使用方法</h3>
<p>其实就是一个&nbsp;<a href="https://sharethis.chat/SKILL.md">Skill 技能</a>，让你的 Agent 学习下就行了：</p>
<p>你只需要把 <code>https://sharethis.chat/SKILL.md</code> 丢给你的 Agent 读一遍，它就学会了“分享”这个新技能。</p>
<p>以后想分享时，随口说句“分享会话”，它就懂了。</p>
<p>-----</p>
<h3>简单说说功能特色：</h3>
<ul>
<li>高度还原： 保留原始对话的阅读体验，不再有乱码和断行</li>
<li>Agent 友好： 支持纯文本访问，方便其他 Agent 直接读取内容</li>
<li>闭环管理： 分享后支持随时查看、更新或删除</li>
<li>极致体验： 全程由 Agent 自动处理，将操作摩擦降到最低</li>
<li>隐私保护： 仅可通过私密链接访问，默认不被搜索引擎抓取</li>
</ul>
<p>-----</p>
<h3>使用的技术栈</h3>
<ul>
<li>前端：Next.js</li>
<li>语言：TypeScript</li>
<li>后端：<a href="https://insforge.dev">Insforge</a></li>
<li>Markdown 渲染：react-markdown + remark 插件</li>
<li>测试：Vitest + jsdom，Playwright 做端到端测试</li>
<li>部署：<a href="https://insforge.dev">Insforge</a></li>
</ul>
<p>-----</p>
<h3>为什么想做这个工具</h3>
<p>我的初衷很简单，有时候在 Codex/OpenClaw 上聊到一段特别有价值的内容，想发给朋友，或者分享到社交媒体上，要么复制粘贴，格式全乱了，要么截图，糊成一坨，长一点就没法看，体感非常差，所以就做了这个小工具。</p>
<p>现在的 AI 工具各种卷，却忽略了一个最日常的需求：</p>
<p><strong>当 AI 产出了好内容，如何让它体面地进入人类的传播链条？</strong></p>
<p>ShareThis.Chat 想解决的就是这个“高频断点”。</p>
<p>它功能并补强大，甚至有点单一，但我希望它能帮你把那些闪光的对话，变成一个干干净净、阅读感极佳的页面</p>
<p>如果你也经常想分享 AI 对话，但又受够了截图、乱格式和打不开链接等问题，那么可以去试一试</p>
<p>-----</p>
<p><strong>目前还在 Beta 阶段，暂仅支持文字，多媒体功能即将上线哈，欢迎试用并反馈！</strong></p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 23 Apr 2026 13:35:45 +0800</pubDate>
      <link>https://versun.me/blog/hello-sharethis-chat</link>
      <guid>https://versun.me/blog/hello-sharethis-chat</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>模型编程性能测试-娱乐版</title>
      <description>添加了 Claude Opus 4.7 模型，使用的是 ZenMux 的 api 排名超越了 GPT 5.4，位列第二名 报告链接：https://coding-model-comparison.versun.me/ ⚠️ 防杠补丁：本测试纯属娱乐，非专业，题目仅是一道简单的单页面力导向图，仅针对当前提示词和模型版本有效，博主无任何厂商立场</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>添加了 Claude Opus 4.7 模型，使用的是 <a href="https://zenmux.ai/invite/6EP3MY">ZenMux</a> 的 api</p>
<p>排名超越了 GPT 5.4，位列第二名</p>
<p><a href="https://coding-model-comparison.versun.me/">报告链接</a>：https://coding-model-comparison.versun.me/</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjY0LCJwdXIiOiJibG9iX2lkIn19--697e2e504e5c710889a598612f17e1308952cdcc/ff0ec03d-7e6e-40bd-bd47-4bfbf32048a6.png" width="400" height="619"></p>
<p><em>⚠️ 防杠补丁：本测试纯属娱乐，非专业，题目仅是一道简单的单页面力导向图，</em><em>仅针对当前提示词和模型版本有效，博主无任何厂商立场</em></p>
<p>&nbsp;</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 17 Apr 2026 11:00:31 +0800</pubDate>
      <link>https://versun.me/blog/coding-model-comparison-202604014</link>
      <guid>https://versun.me/blog/coding-model-comparison-202604014</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>零成本搞定本地AI语音生成+识别+克隆</title>
      <description>想不到现在的语音模型已经这么强了！以前用 ElevenLabs 的 API 总是舍不得放开用，更别提自由克隆音色了。

直到昨天，我抱着试一试的心态，在自己那台 M1 + 16G 内存的老 Mac mini 上部署了 Qwen3-TTS。结果出乎意料——不仅运行极其丝滑，输出质量也相当惊艳！虽然它目前主打的不是直接克隆，但完全能根据提示词精准生成并稳定保持你想要的音色，可玩性极高，我配置到小龙虾上，每天给我读日报，体感很不错

独乐乐不如众乐乐，今天就来给大家简单复盘一下这个极简的部署过程</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>想不到现在的语音模型已经这么强了！以前用 ElevenLabs 的 API 总是舍不得放开用，更别提自由克隆音色了。</p>
<p>直到昨天，我抱着试一试的心态，在自己那台 M1 + 16G 内存的老 Mac mini 上部署了 Qwen3 系列的语音模型。结果出乎意料——不仅运行极其丝滑，输出质量也相当惊艳！</p>
<p>搭配mlx-audio，实现本地AI语音生成+识别+克隆，可玩性极高，我配置到小龙虾上，每天给我读日报、代替 Whisper 语音识别、体验非常好。</p>
<p>独乐乐不如众乐乐，今天就来给大家简单复盘一下这个极简的部署过程：</p>
<h3>一、安装环境</h3>
<pre class="language-bash"><code>brew install ffmpeg uv &amp;&amp; uv tool install --force "mlx-audio" --prerelease=allow</code></pre>
<p>ffmpeg 处理音频格式，uv 是 Python 包管理器，mlx-audio 是核心（MLX 框架支持 Apple Neural Engine）。</p>
<p>装完验证一下：<code>uv tool list | grep mlx</code><br>看到 mlx-audio v0.4.2 就可以了。</p>
<h3>二、下载模型</h3>
<p>第一次跑命令，模型会自动下载，但因为众所周知的原因，国内访问 HuggingFace 非常缓慢，所以有必要使用 ModelScope 进行手动下载</p>
<pre class="language-bash"><code># 安装 ModelScope
pip install modelscope

# 下载 Qwen3-TTS(用于文字转语音)：
modelscope download \
  --model mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit

# 下载 Qwen3-ASR(用于语音转文字)：
modelscope download \
  --model mlx-community/Qwen3-ASR-0.6B-8bit

# 下载 Qwen3-Base(用于音色克隆)：
modelscope download \
  --model mlx-community/Qwen3-TTS-12Hz-1.7B-Base-bf16

# 查看下载的模型：
ls ~/.cache/modelscope/hub/models/mlx-community/</code></pre>
<h3>三、TTS 测试：文字转语音</h3>
<pre class="language-bash"><code>mlx_audio.tts.generate \
  --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit \
  --text "你好，这是本地 TTS 测试，声音自然吗？" \
  --output-path ./test_tts.wav</code></pre>
<h3>四、ASR 测试：语音转文字</h3>
<pre class="language-bash"><code>mlx_audio.stt.generate \
  --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-ASR-0.6B-8bit \
  --audio ./test_tts.wav \
  --output-path ./transcript.txt \
  --language zh</code></pre>
<p>实测准确率非常高</p>
<h3>五、Base 测试：语音克隆</h3>
<pre class="language-none"><code>mlx_audio.tts.generate \
  --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-TTS-12Hz-1.7B-Base-bf16 \
  --text "这里填写要说的文字" \
  --ref_audio "需要克隆的音色15秒左右.wav" \
  --ref_text "克隆音频的纯文字内容，可用ASR模型生成" \
  --output_path ./output \
  --speed 0.5</code></pre>
<h2>高级玩法：自定义音色提示词</h2>
<pre class="language-bash"><code>mlx_audio.tts.generate \
  --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit \
  --text "我是明日香" \
  --instruct "a confident teenage girl, flirtatious, seductive edge" \
  --output-path ./asuka.wav</code></pre>
<p>很简单，只要使用 instruct 参数，后面写上你的要求就可以随意调了，少女、御姐、正太都能整。</p>
<h3>常用 voice prompt 示例：</h3>
<p>| 自信少女 | "a confident teenage girl, German-Japanese, EVA pilot" |<br>| 温柔女声 | "a warm, gentle female voice, slightly soft" |<br>| 磁性男声 | "a deep, masculine voice with authority" |<br>| 儿童声音 | "a cheerful little child, about 5 years old" |</p>
<h3>ASR：长音频转写</h3>
<pre class="language-bash"><code># 处理长音频（自动分片）
mlx_audio.stt.generate \
  --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-ASR-0.6B-8bit \
  --audio /path/to/long_audio.m4a \
  --output-path ./transcript.txt \
  --format txt \
  --language zh \
  --chunk-duration 30</code></pre>
<h3>批量处理</h3>
<pre class="language-bash"><code># 批量转换目录下所有音频
for f in *.wav; do
  mlx_audio.stt.generate \
    --model   --model ~/.cache/modelscope/hub/models/mlx-community/Qwen3-ASR-0.6B-8bit \
    --audio "$f" \
    --output-path "${f%.wav}.txt"
done</code></pre>
<p>&nbsp;</p>
<h2>常见问题</h2>
<p><strong>模型下载失败/超时：</strong>配置镜像源<br><strong>内存不足 (OOM)：</strong>使用量化模型（如 8bit 版本）&nbsp;<br><strong>命令找不到：</strong>重启终端，或运行 <code>uv tool update-shell</code><br><strong>音频格式不支持：</strong>先用 <code>ffmpeg -i input.mp3 output.wav</code> 转换&nbsp;<br><strong>M1/M2 报错：</strong>确保 macOS 14.0+，MLX 原生支持 Apple Silicon&nbsp;<br><strong>模型路径错误：</strong>使用绝对路径，或 <code>realpath</code> 命令定位&nbsp;</p>
<h3>调试技巧</h3>
<pre class="language-bash"><code># 查看详细日志
mlx_audio.tts.generate --verbose ...</code></pre>
<h3>创建封装脚本</h3>
<p>创建 `mlx-tts.sh` 方便日常使用：</p>
<pre class="language-bash"><code>#!/bin/bash

TEXT="${1:-"Hello, Human!"}"
MODEL_DIR=~/.cache/modelscope/hub/models/mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit
OUTPUT_DIR=./voice_output

mkdir -p "$OUTPUT_DIR"

mlx_audio.tts.generate \
  --model "$MODEL_DIR" \
  --text "$TEXT" \
  --instruct "a confident teenage girl with a flirtatious, seductive edge" \
  --output-path "$OUTPUT_DIR/output.wav" \
  --audio-format wav

echo "已生成: $OUTPUT_DIR/output.wav"</code></pre>
<p>使用：<code>bash mlx-tts.sh "要转换的文字内容"</code></p>
<h2>参考链接</h2>
<ul>
<li><a href="https://github.com/Blaizzy/mlx-audio">MLX-Audio GitHub</a></li>
<li><a href="https://huggingface.co/mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-8bit">Qwen3-TTS 模型</a></li>
<li><a href="https://huggingface.co/mlx-community/Qwen3-ASR-0.6B-bf16">Qwen3-ASR 模型</a></li>
<li><a href="https://huggingface.co/mlx-community/Qwen3-TTS-12Hz-1.7B-Base-bf16">Qwen3-Base 模型</a></li>
<li><a href="https://www.modelscope.cn">ModelScope</a></li>
<li><a href="https://hf-mirror.com">HF Mirror</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 15 Apr 2026 15:25:28 +0800</pubDate>
      <link>https://versun.me/blog/local-tts-16gb-mac</link>
      <guid>https://versun.me/blog/local-tts-16gb-mac</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>今早看小龙虾昨晚跑的任务结果，质量比之前</title>
      <description>今早看小龙虾昨晚跑的任务结果，质量比之前好了不少。试着和她聊了几句，发现她居然能猜到我下一步想干嘛，速度快，理解也准。 我第一反应是昨晚升级到 4.14 版本的功劳。但当我收到 OpenRouter 的账单邮件时，才发现模型 fallback 到了 openrouter/auto。翻了调用日志，挑的确实是性价比最高的方案，还用上了 gpt-oss 和 gemini-2.5-flash...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>今早看小龙虾昨晚跑的任务结果，质量比之前好了不少。试着和她聊了几句，发现她居然能猜到我下一步想干嘛，速度快，理解也准。</p>
<p>我第一反应是昨晚升级到 4.14 版本的功劳。但当我收到 OpenRouter 的账单邮件时，才发现模型 fallback 到了 openrouter/auto。翻了调用日志，挑的确实是性价比最高的方案，还用上了 gpt-oss 和 gemini-2.5-flash</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjU5LCJwdXIiOiJibG9iX2lkIn19--3e6807444eeffe9e4f0810535270cec04912483a/cc264826-77ec-4491-af95-b49221f7b650.png" width="487" height="436"></p>
<p>随即我去查了文档，了解这个 <a href="https://openrouter.ai/docs/guides/routing/routers/auto-router">Auto 机制</a>，发现 OpenRouter 使用 <a href="https://www.notdiamond.ai/">NotDiamond</a> 路由模型进行实时的请求分析，它会根据任务复杂度、意图识别、预估 token 数、隐式需求等方面，从候选模型池里选择最优模型，而且分析很快，毫秒级，没有明显延迟。</p>
<p>所以体验变好不是因为什么版本更新，而是 Auto 机制自动匹配了更合适的模型，用下来真的挺爽，有点心动了，感觉小龙虾就该配个 Auto 机制，体验直接拉满，虽然账单容易爆炸😭</p>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 15 Apr 2026 08:35:34 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-15-08-35</link>
      <guid>https://versun.me/blog/2026-04-15-08-35</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>前有 Claude Mythos，现在又</title>
      <description>前有 Claude Mythos，现在又来了一个 GPT-5.4-Cyber，都宣称无敌牛批，都不对外开放 出现这种情况，我认为只有2种可能： 1. 模型发展真的进入下一个阶段了 2. 没啥可发布的了，只能做个 PPT 吹一下 我感觉后者的可能性比较大🤡🤡</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">OpenAI</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>We’re expanding Trusted Access for Cyber with additional tiers for authenticated cybersecurity defenders. Customers in the highest tiers can request access to GPT-5.4-Cyber, a version of GPT-5.4 fine-tuned for cybersecurity use cases, enabling more a</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/OpenAI/status/2044161906936791179" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<p>前有 Claude Mythos，现在又来了一个 GPT-5.4-Cyber，都宣称无敌牛批，都不对外开放</p>
<p>出现这种情况，我认为只有2种可能：</p>
<p>1. 模型发展真的进入下一个阶段了</p>
<p>2. 没啥可发布的了，只能做个 PPT 吹一下</p>
<p>我感觉后者的可能性比较大🤡🤡</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 15 Apr 2026 08:07:53 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-15-08-07</link>
      <guid>https://versun.me/blog/2026-04-15-08-07</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>MiniMax刚发布的CLI有点香呀</title>
      <description>你的AI助手还是个只会打字的“小聋瞎”吗？😆 MiniMax昨天发布的CLI工具 mmx-cli，简直是为小龙虾量身定制的 核心亮点以前为了让AI生图、做视频、配音乐，我们要到处折腾各种API接口（比如谷歌Nanobanan、Seedance、Elevenlabs等），费时又费力。 现在有了 mmx-cli，直接在终端就能调用 MiniMax 的所有多模态模型...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>你的AI助手还是个只会打字的“小聋瞎”吗？😆<br>MiniMax昨天发布的CLI工具 mmx-cli，简直是为小龙虾量身定制的</p>
<h2>核心亮点</h2>
<p>以前为了让AI生图、做视频、配音乐，我们要到处折腾各种API接口（比如谷歌Nanobanan、Seedance、Elevenlabs等），费时又费力。</p>
<p>现在有了 mmx-cli，直接在终端就能调用 MiniMax 的所有多模态模型</p>
<p>虽然单项效果比不上专精的顶级模型，但胜在一个订阅就能全部搞定。</p>
<p>给你的“小龙虾”配齐眼睛、耳朵和嘴巴，日常拓展绰绰有余啦！😎</p>
<h2>快速安装</h2>
<p>安装很简单，你可以直接把链接丢给你的小龙虾说：</p>
<p>“添加这个skill：https://github.com/MiniMax-AI/cli/blob/main/SKILL.md”</p>
<p>如果你习惯自己动手，也可以在终端直接执行这行命令：<br><code>npx skills add MiniMax-AI/cli -y -g</code></p>
<h2>激活与使用</h2>
<p>订阅 MiniMax 的 Token Plan 并获取 API 密钥后，在终端输入以下命令进行认证，就可以开始施展魔法了：<br><code>mmx auth login --api-key sk-xxxxx</code></p>
<h2>套餐避坑</h2>
<p>大家在选择订阅套餐时要注意区分需求，千万别买错哦：</p>
<p>- Plus套餐仅支持图像和语音生成</p>
<p>- Max套餐全面解锁音乐和视频生成</p>
<p>我刚才让我的“小龙虾”给自己生成了一张专属头像，还顺便搭配了今天的OOTD穿搭，挺有意思</p>
<p>唯一缺点就是还不支持语音克隆，内置的几个音效一般般</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjU0LCJwdXIiOiJibG9iX2lkIn19--2cbb265f53209a5ec85286f53d2261c76de0d42b/911777a2-5822-4f9c-b4cb-36adb9d2421e.png" width="227" height="235"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjU1LCJwdXIiOiJibG9iX2lkIn19--dea650436002f3d3351665109e59ea694361e9fc/d13c15a6-de6b-4874-9c10-14b8401c0767.png" width="226" height="234"></p>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 10 Apr 2026 15:49:05 +0800</pubDate>
      <link>https://versun.me/blog/minimax-cli</link>
      <guid>https://versun.me/blog/minimax-cli</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw修复指南</title>
      <description>整理并记录我遇到的问题和修复过程，不定期在博客更新。万能修复命令 遇到任何问题，先跑下面几条命令，90%的问题都能定位到 openclaw doctor：这是内置的诊断命令检测配置文件是否正确，关注红色字体，如果有任何提示选择Yes即可. 正常情况下，该命令仅诊断但不修复，因此还需要执行修复命令： openclaw doctor --fix 对于大版本升级，建议进行一次深度修复：...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<pre>整理并记录我遇到的问题和修复过程，不定期在博客更新。</pre>
<h1>万能修复命令</h1>
<p>遇到任何问题，先跑下面几条命令，90%的问题都能定位到</p>
<p><code>openclaw doctor</code>：这是内置的诊断命令检测配置文件是否正确，关注红色字体，如果有任何提示选择Yes即可.</p>
<p>正常情况下，该命令仅诊断但不修复，因此还需要执行修复命令：&nbsp;<code>openclaw doctor --fix</code></p>
<p>对于大版本升级，建议进行一次深度修复：&nbsp;<code>openclaw doctor --deep --repair</code></p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>龙虾不在线/挂掉</h1>
<p><strong>检查龙虾状态</strong></p>
<p>执行命令&nbsp;<code>openclaw status</code>：查看整体状态，特别要关注红色字体的，一般都是问题所在，可以发给 AI 协助解决</p>
<p><strong>检查网关状态</strong></p>
<p>该问题大概率都是网关出了问题，因为网关是小龙虾和聊天工具建立链接的桥梁。</p>
<p>执行命令：<code>openclaw gateway status</code>：查看网关状态，正常情况会显示Running和ok，如下图：</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<div class="img-container"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjUwLCJwdXIiOiJibG9iX2lkIn19--6606474be8cc990bc1a14b5bb38bc1db94eb3e5c/0b3231f9-bd50-4414-8f44-857ecf8f8480.png" alt="1.png"></div>
<p>如果异常，可以尝试重启:&nbsp;<code>openclaw gateway restart</code></p>
<p>如果重启卡死无响应，可以先 stop 再 start：</p>
<pre>openclaw gateway stop
openclaw gateway start
</pre>
<p>如果依旧解决不了，重装gateway，放心，不会影响龙虾的任何配置和记忆：</p>
<p><code>openclaw gateway install</code></p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<p><strong>检查聊天频道配置状态</strong></p>
<p>如果网关没问题，那就要检查聊天频道的配置</p>
<p>执行命令：<code>openclaw channels status --probe</code>&nbsp;</p>
<p>正常应该显示：Gateway reachable 和 works</p>
<div class="img-container"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjQ5LCJwdXIiOiJibG9iX2lkIn19--fd7a8bf2f70c42e8d1746dd430537b66120ab9b5/e75f411c-b962-4532-a934-be6b439fb455.png" alt="2.png"></div>
<div class="img-container"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NjUxLCJwdXIiOiJibG9iX2lkIn19--a77fbd632b881a50f10a3f1de8090bbc1fc5ff41/1d92330b-a3c8-462d-890f-eaa6694efa89.png" alt="3.png"></div>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>龙虾已读不回</h1>
<p>如果你是第一次发消息，则系统会生成一个验证码等你配对，没有配对就永远无法回复消息</p>
<p>配对码命令正常是会发回给你的，格式参考如下：</p>
<pre>openclaw pairing approve DE49LO3B
</pre>
<p>你也可以执行下面命令查看待审批的配对码，把channel改为你配对的平台名，比如discord、feishu等</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<pre><code>openclaw pairing list </code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>自己能用，别人用不了</h1>
<p>原因：每个聊天频道都会有 allowFrom 白名单，你的朋友没有在白名单里，就用不了</p>
<p>修复：你可以发消息给龙虾，你朋友的用户 ID 也加到白名单里，或者把 DM 策略改成 pairing 模式让用户自助申请。总之，可以让龙虾帮你解决该问题</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>私信能用，但群里不回消息</h1>
<p>群消息的权限是独立的，也要添加白名单</p>
<p>把群的 ID 发给你的小龙虾，比如告诉它：请将该 ID: 9293.. 加入到 Discord 的群组白名单里。</p>
<p>@提及限制： 默认只有 @ 机器人才会回复，如果想让它回复所有消息，在配置里设置 requireMention: false，你也可以把这个配置让小龙虾去修改</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>机器人"失忆"/ 忘了上下文</h1>
<p>原因：</p>
<ul>
<li>每个频道/群是独立的上下文，互不共享</li>
<li>记忆系统没有开启</li>
<li>historyLimit 默认值太低，对话长了旧内容就被丢弃了</li>
</ul>
<p>修复：</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<ul>
<li>启用记忆系统:&nbsp;<code>openclaw config set plugins.entries.memory-core.enabled true</code></li>
<li>调高每个 session 的历史记录条数，执行命令：&nbsp;<code>openclaw config set channels..historyLimit 50</code></li>
</ul>
<p>把name改为实际的频道名，比如discord、feishu等</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>Invalid Authentication 报错</h1>
<p>原因： 网关的 Token 不匹配，可能重新生成过</p>
<p>修复： 执行命令</p>
<pre><code>openclaw config get gateway.auth.token
</code></pre>
<p>确保和客户端填写的 token 是一致的</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>其它问题</h1>
<p>建议可以将以下3个命令中，标红的文字发给 AI，基本上都能解决问题：</p>
<pre><code>openclaw status
openclaw gateway status
openclaw logs --follow
</code></pre>
<p>如果还不行，那只能上终极武器了：</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>彻底重装</h1>
<p>如果依旧无法解决的话，基本就只能重装，但放心，配置和角色定义和记忆都可以保留。 重装步骤如下：</p>
<ol>
<li>先回到主目录</li>
</ol>
<p><code>cd ~</code></p>
<ol>
<li>备份(如果需要保留角色定义和记忆等)</li>
</ol>
<pre><code>cp -rf ~/.openclaw ~/Downloads/openclaw
</code></pre>
<ol>
<li>找到并删除所有 openclaw 相关文件</li>
</ol>
</div>
</div>
<div class="content-footer">13 / 16</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<pre><code>sudo rm -rf $(pnpm root -g)/openclaw 2&gt;/dev/null
sudo rm -rf $(npm root -g)/openclaw 2&gt;/dev/null
sudo rm -rf /usr/local/lib/node_modules/openclaw
sudo rm -rf /opt/homebrew/lib/node_modules/openclaw
sudo rm -rf ~/.pnpm-global/lib/node_modules/openclaw
</code></pre>
<ol>
<li>删除可执行文件</li>
</ol>
</div>
</div>
<div class="content-footer">14 / 16</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<pre><code>sudo rm -f $(pnpm bin -g)/openclaw
sudo rm -f $(npm bin -g)/openclaw
sudo rm -f /usr/local/bin/openclaw
sudo rm -f /opt/homebrew/bin/openclaw
sudo rm -f ~/.pnpm-global/bin/openclaw
</code></pre>
<ol>
<li>
<p>删除配置目录&nbsp;<code>rm -rf ~/.openclaw</code></p>
</li>
<li>
<p>清理缓存</p>
</li>
</ol>
<pre><code>pnpm store prune
npm cache clean --force
</code></pre>
</div>
</div>
<div class="content-footer">15 / 16</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<ol>
<li>重新安装</li>
</ol>
<pre><code>curl -fsSL https://openclaw.ai/install.sh | bash</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 09 Apr 2026 13:06:25 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-fix-guide</link>
      <guid>https://versun.me/blog/openclaw-fix-guide</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>最近我在重新思考内容发布的逻辑 目前我在</title>
      <description>最近我在重新思考内容发布的逻辑 目前我在维护的平台有3个：Twitter、博客、小红书 之前内容一律首发博客，再自动同步 Twitter，小红书手动发，主要是怕平台封号丢内容 但总觉得这样博客太乱了，比如小红书上，更多是小白文和商单，而推特更多是随想和吐槽，都放博客，总怕会影响那些博客的 RSS 订阅者 想听听大家的看法，你们更倾向于博客统一所有内容呢，还是单独分发不同平台呢？</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>最近我在重新思考内容发布的逻辑</p>
<p>目前我在维护的平台有3个：Twitter、博客、小红书</p>
<p>之前内容一律首发博客，再自动同步 Twitter，小红书手动发，主要是怕平台封号丢内容</p>
<p>但总觉得这样博客太乱了，比如小红书上，更多是小白文和商单，而推特更多是随想和吐槽，都放博客，总怕会影响那些博客的 RSS 订阅者</p>
<p>想听听大家的看法，你们更倾向于博客统一所有内容呢，还是单独分发不同平台呢？</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 07 Apr 2026 10:18:01 +0800</pubDate>
      <link>https://versun.me/blog/2026-04-07-10-18</link>
      <guid>https://versun.me/blog/2026-04-07-10-18</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 梦境功能怎么玩</title>
      <description>OpenClaw 发布了 2026.4.5 版本，大家都更新了吗？！这次加入了一个超级硬核又带点科幻色彩的实验性功能——Dreaming（梦境功能）！挺有意思的 ✨ 什么是「梦境功能」 🧠 后台记忆大整合：它其实是 memory-core 里的一个后台记忆巩固系统。就像人类睡觉做梦会整理白天的经历一样，OpenClaw...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>OpenClaw 发布了 2026.4.5 版本，大家都更新了吗？！这次加入了一个超级硬核又带点科幻色彩的实验性功能——<strong>Dreaming（梦境功能）</strong>！挺有意思的</p>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>✨ 什么是「梦境功能」</h1>
<p>🧠&nbsp;<strong>后台记忆大整合</strong>：它其实是&nbsp;<code>memory-core</code>&nbsp;里的一个后台记忆巩固系统。就像人类睡觉做梦会整理白天的经历一样，OpenClaw 会在后台闲置时，把你最近强烈、高频的“短期对话指令”，提炼并固化成“长期记忆”。</p>
<p>📂&nbsp;<strong>过程透明可查</strong>：不用担心 AI 背着你乱记东西！“做梦”整合记忆的过程是<strong>完全可解释且可审查的</strong>。作为纯本地优先的工具，你可以随时查看它写的日记，了解它究竟记住了你的哪些习惯</p>
<p>🛡️&nbsp;<strong>安全第一</strong>：因为还是实验性功能，目前官方将它<strong>默认关闭</strong>，把隐私和算力的控制权完全交给你！</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>🛠️ 怎么开启和使用？</h1>
<p>1️⃣&nbsp;<strong>检查版本</strong>：确保你的 OpenClaw 已经升级到了最新的 2026.4.5 版本。</p>
<p>2️⃣&nbsp;<strong>手动开启</strong>：打开网页端控制台，左侧栏有一个梦境选项，点击后，在右边点击开启即可</p>
<p>3️⃣&nbsp;<strong>让它“做梦”</strong>：开启后就不需要你操心啦！小龙虾会在闲着的时候，在后台就会悄悄开始“做梦”，沉淀你的专属工作流逻辑。</p>
<p>4️⃣&nbsp;<strong>翻阅“梦境”</strong>：你可以去本地的记忆文件里，像看“解梦日记”一样查阅它的长期记忆池。一旦记忆固化，下次你再下达类似任务，它就能瞬间Get到你的点！</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>💡 总结</h1>
<p>这个功能让 AI 的拟人度和实用性直接拉满！想要你的专属赛博助理不断进化、越用越顺手，赶紧去开启它的“梦境”试试吧！🌟</p>
<p>PS：不过我目前的小龙虾的记忆是外挂在 Nowledge Mem 上，它也有每日摘要总结，还有知识结晶，感觉比这个梦境功能强大很多，不知道小龙虾的梦境会读取外挂的记忆吗</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 06 Apr 2026 21:57:05 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-dreaming</link>
      <guid>https://versun.me/blog/openclaw-dreaming</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>Cloudflare 重写 WordPress</title>
      <description>Cloudflare 前端时间刚重写完 Next.js，这次又开始重写 WordPress，推出EmDash，体验了下完成度很不错呀 • 开源 MIT 许可 • 前端使用 Astro 框架 • 可以部署到Cloudflare (D1 + R2 + Workers) ，或者 Node.js server with SQLite • 重点解决了 WP 的插件安全性，在 EmDash...</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Cloudflare</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>Introducing EmDash — the spiritual successor to WordPress. https://t.co/WqrG6HQlSB</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/Cloudflare/status/2039375668232802321?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<p>Cloudflare 前端时间刚重写完 Next.js，这次又开始重写 WordPress，推出<a href="https://emdashcms.com/">EmDash</a>，体验了下完成度很不错呀</p>
<ul>
<li>开源 MIT 许可</li>
<li>前端使用 Astro 框架</li>
<li>可以部署到Cloudflare (D1 + R2 + Workers) ，或者 Node.js server with SQLite</li>
<li>重点解决了 WP 的插件安全性，在 EmDash 中，每个插件都在自己的隔离沙盒中运行，而且插件开发者可以自选许可方式</li>
<li>AI 原始CMS，自带MCP、CLI 和 SKill</li>
<li>支持 Passkeys</li>
<li>支持从 WordPress 导入</li>
</ul>
<p>看起来好香，心动了，我想给它写插件，然后迁移过去，谁快来阻止我！</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 04 Apr 2026 08:50:10 +0800</pubDate>
      <link>https://versun.me/blog/cloudflare-emdash</link>
      <guid>https://versun.me/blog/cloudflare-emdash</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>踩了很多坑，我终于把小龙虾用对了</title>
      <description>有一段时间，我对 OpenClaw 其实是有点失望的，始终觉得只是一个大号的 AI Chat 工具。 但最近我发现，其核心问题是，聊天框并不适合它 Chat 模式有几个很现实的问题： 第一，不稳定。 你需要考虑上下文，上次的会话内容，并不会自动带入新会话中，输出的质量就很难保证。 第二，不确定。你以为说清楚了，但它到底记住了什么、接下来会不会按你想的做，其实没把握。...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>有一段时间，我对 OpenClaw 其实是有点失望的，始终觉得只是一个大号的 AI Chat 工具。</p>
<p>但最近我发现，其核心问题是，聊天框并不适合它</p>
<p>&nbsp;</p>
<p>Chat 模式有几个很现实的问题：</p>
<p><strong>第一，不稳定。 </strong>你需要考虑上下文，上次的会话内容，并不会自动带入新会话中，输出的质量就很难保证。</p>
<p><strong>第二，不确定。</strong>你以为说清楚了，但它到底记住了什么、接下来会不会按你想的做，其实没把握。</p>
<p><strong>第三，也是最关键的：同步协作。</strong> 你得在线，得盯着，得等它回，这种工作方式本身效率就很低。</p>
<p>那段时间我一度觉得：小龙虾可能就是个高级一点的玩具。能聊，能演示，能让人觉得"未来已来"，但离真正实用还差一截。</p>
<p>&nbsp;</p>
<p><strong>直到我做了一件很小的事：<a href="https://versun.me/blog/openclaw-todoist">把 Todoist 接进了小龙虾</a></strong></p>
<p>然后设计了一个非常简单的流程：让小龙虾每个小时自动获取 Todoist 里最新的、未完成且没有评论的任务，让它去阅读，给出实施建议，对于资料收集的任务则直接执行并将摘要放评论里</p>
<p>就这么一个改动，让我第一次觉得：这个小龙虾有点意思了</p>
<p>接了 Todoist 之后，它不再只是一个等我去找它聊天的对象，开始变成一个真正嵌在任务流里的角色。</p>
<p>&nbsp;</p>
<p>以前的问题，很多都被这个结构解决了。</p>
<p><strong>首先是稳定性。</strong>任务从 Todoist 来，入口是稳定的，不再依赖我临时想到什么就跑去 chat 里说一句。小龙虾不在是陪聊的角色，而是可以持续接受任务的助理</p>
<p><strong>其次是确定性</strong>。它面对的是一组明确的、可枚举的任务，而不是一整片发散的上下文，范围一旦收窄，输出质量反而更容易稳定。</p>
<p><strong>再就是异步协作。</strong>这才是我这次体验变化最大的原因。我不在担心任务是否分配出去了，不需要一直等小龙虾回复，甚至不需要主动去找小龙虾。一切都是异步的，我创建任务，小龙虾按节奏去看、去分析、去给建议。我看的也不再是"聊天记录"，而是"任务被处理过的痕迹"。</p>
<p>&nbsp;</p>
<p>这个差别非常大，现实工作里，真正高效的协作很多时候都不是在对话中产生的，而是靠一个稳定的任务系统、明确的状态管理，以及异步推进。</p>
<p>说实话，很多人觉得 AI 助理不实用，不一定是模型不够强，而是缺少一个可以异步协作的任务层。</p>
<p>如果只有 chat，AI 再聪明，也很容易沦为"一个很会说话的窗口"，但一旦你给它接上任务系统，很多事情就变了：它知道该处理什么，你知道它处理到哪，双方不需要同时在线，结果还能沉淀在原来的协作系统里。</p>
<p>&nbsp;</p>
<p>当然，接个 Todoist 不是万事大吉。这里面肯定还有很多细节值得继续打磨，比如什么任务适合交给它先看，什么频率最合适，输出建议应该用什么格式，怎样避免它给出空泛建议，怎样把建议继续衔接到下一步动作里。</p>
<p>但至少对我来说，这是第一次非常确定地感受到：AI 助理的实用性，不是在聊天界面里被证明的，而是在任务流里被证明的。</p>
<p>&nbsp;</p>
<p>如果你也在用 OpenClaw 或者其它 Agent OS，但还停留在聊天的阶段，那很建议你给它接一个任务入口，一个有状态、有队列、能异步推进的系统，相信我，效果完全不一样</p>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 03 Apr 2026 10:50:44 +0800</pubDate>
      <link>https://versun.me/blog/i-used-openclaw-the-wrong-way</link>
      <guid>https://versun.me/blog/i-used-openclaw-the-wrong-way</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 3.31 反复授权问题</title>
      <description>OpenClaw 2026.3.31 版本中，收紧了exec命令执行的权限，导致每次要执行命令，都要求授权，这在安全层面是好事。 如果要禁用每次授权，默认允许，只需要修改 openclaw.json 配置文件的 tools 模块的代码，安全设置为 full 即可，执行下面的命令即可完成修改： openclaw config set tools.exec.security full</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p class="p1">OpenClaw 2026.3.31 版本中，收紧了exec命令执行的权限，导致每次要执行命令，都要求授权，这在安全层面是好事。</p>
<p class="p1">如果要禁用每次授权，默认允许，只需要修改 openclaw.json 配置文件的 tools 模块的代码，安全设置为 full 即可，执行下面的命令即可完成修改：</p>
<p class="p1"><code>openclaw config set tools.exec.security full</code></p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 01 Apr 2026 19:15:03 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-3-31</link>
      <guid>https://versun.me/blog/openclaw-3-31</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 对接 Todoist</title>
      <description>相比滴答清单，Todoist官方提供的接口更丰富，可以添加评论、标签、上传文件、筛选等，可玩性很高。 对接步骤和之前对接滴答清单差不多： 前提条件： 1. 你的小龙虾可使用你电脑上的谷歌浏览器（启用方法见我之前的笔记） 2. 在安装了小龙虾的电脑上操作，因为要用浏览器登录 Todoist 进行认证 步骤 添加 Todoist MCP很简单，只要和你的小龙虾说：...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<p>相比滴答清单，Todoist官方提供的接口更丰富，可以添加评论、标签、上传文件、筛选等，可玩性很高。 对接步骤和之前对接滴答清单差不多：</p>
<h1>前提条件：</h1>
<ol>
<li>你的小龙虾可使用你电脑上的谷歌浏览器（启用方法见我之前的笔记）</li>
<li>在安装了小龙虾的电脑上操作，因为要用浏览器登录 Todoist 进行认证</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h1>步骤</h1>
<h3>添加 Todoist MCP</h3>
<p>很简单，只要和你的小龙虾说：</p>
<p><code>启用MCP功能，并添加mcp:https://ai.todoist.net/mcp</code></p>
<h3>小龙虾添加后会重启网关(gateway)</h3>
<p>注意：需重启网关才能生效(重启命令：openclaw gateway restart) 在电脑上等一会儿，会自动弹出浏览器并提示你登录 Todoist 进行认证</p>
<h3>允许后即可使用了（如下图）</h3>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-simple">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<div class="img-container"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzQ0LCJwdXIiOiJibG9iX2lkIn19--a7058e214643f6514a4ee403d072dd6404e605e3/5fab71c8-3928-4136-89e2-ed02afe9d8eb.png" alt="todoist-oauth.png" width="350" height="225"></div>
<p>对小龙虾说： <code>查看我的Todoist清单上有多少个代表事项</code></p>
<p>如果它能正常返回数量，说明连接成功！</p>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 30 Mar 2026 13:43:11 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-todoist</link>
      <guid>https://versun.me/blog/openclaw-todoist</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>模型编程性能测试</title>
      <description>更新 &lt;模型编程性能测试&gt;，添加了 GLM 5V Turbo 模型 结果有点意外，竟然垫底，我还特地跑了2次，都一样 （使用 claude code + openrouter API） 5V应该不适合编程，更适合视觉类任务吧。。。只能这么解释了 结果：https://coding-model-comparison.versun.me/ ⚠️...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>更新 &lt;模型编程性能测试&gt;，添加了 &nbsp;GLM 5V Turbo 模型</p>
<p>结果有点意外，竟然垫底，我还特地跑了2次，都一样 （使用 claude code + openrouter API）</p>
<p>5V应该不适合编程，更适合视觉类任务吧。。。只能这么解释了</p>
<p>结果：<a href="https://coding-model-comparison.versun.me/">https://coding-model-comparison.versun.me/&nbsp;</a></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzQ2LCJwdXIiOiJibG9iX2lkIn19--50adca7c93db397bb10ff44c47a19f01291b9df0/e18f4cb7-beb8-479c-86d3-8ff997f043b0.png" width="341" height="466"></p>
<p><em>⚠️ 防杠补丁：本测试纯属娱乐，非专业，题目仅是一道简单的单页面力导向图，</em><em>仅针对当前提示词和模型版本有效，博主无任何厂商立场</em></p>
<pre class="prompt-content">&nbsp;</pre>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 28 Mar 2026 10:54:15 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-28-10-54</link>
      <guid>https://versun.me/blog/2026-03-28-10-54</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 的备份和迁移流程</title>
      <description>折腾 OpenClaw，最重要的3个技能：备份、重装、迁移😆 所以这篇文章会简单介绍下 OpenClaw 的目录结构，然后说下备份和迁移的流程 OpenClaw 的目录结构~/.openclaw/ [默认的主路径] |-- openclaw.json [主配置文件, JSON5] |-- workspace/ [默认主 agent 工作区] | |-- AGENTS.md...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>折腾 OpenClaw，最重要的3个技能：备份、重装、迁移😆</p>
<p>所以这篇文章会简单介绍下 OpenClaw 的目录结构，然后说下备份和迁移的流程</p>
<h2>OpenClaw 的目录结构</h2>
<pre class="language-none"><code>~/.openclaw/ [默认的主路径]
|-- openclaw.json [主配置文件, JSON5]
|-- workspace/ [默认主 agent 工作区]
|   |-- AGENTS.md [行为规则和操作记忆]
|   |-- SOUL.md [人设, 语气和边界]
|   |-- USER.md [用户画像和称呼偏好]
|   |-- IDENTITY.md [agent 名称, 主题和 emoji]
|   |-- TOOLS.md [本机工具和约定说明]
|   |-- HEARTBEAT.md [心跳或定时运行的简短检查清单]
|   |-- BOOT.md [gateway 重启时的启动检查清单]
|   |-- BOOTSTRAP.md [首次引导文件, 完成后通常会删除]
|   |-- MEMORY.md [长期记忆]
|   |-- memory/ [每日记忆日志目录]
|   |   `-- YYYY-MM-DD.md [当天追加式笔记]
|   |-- skills/ [仅这个工作区可见的 skills]
|   `-- canvas/ [节点或 Canvas UI 文件]
|-- agents/ [每个 agent 的状态目录]
|   `-- / [单 agent 默认通常是 main]
|       |-- agent/ [该 agent 的认证与运行状态]
|       |   `-- auth-profiles.json [模型 API key 和 OAuth 主存储]
|       `-- sessions/ [会话索引与转录]
|           |-- sessions.json [会话索引和路由元数据]
|           `-- .jsonl [对话转录]
|-- credentials/ [渠道登录态和 allowlist]
|   |-- whatsapp/ [WhatsApp 认证目录]
|   |   `-- /creds.json [WhatsApp 凭据]
|   |-- -allowFrom.json [默认账号配对 allowlist]
|   `-- --allowFrom.json [非默认账号配对 allowlist]
|-- skills/ [全局共享 skills, 本机所有 agent 可见]
|   `-- /SKILL.md [本地或托管 skill]
|-- extensions/ [已安装插件目录]
|   `-- / [插件代码与依赖]
|-- sandboxes/ [工具沙箱工作副本]
|   `-- ... [沙箱内读写过的文件副本]
|-- exec-approvals.json [exec 审批策略与 allowlist]
|-- exec-approvals.sock [审批 IPC socket]
|-- secrets.json [file SecretRef 的密钥载荷]
|-- mpm/ [外部插件目录缓存]
|   |-- plugins.json [外部插件目录清单]
|   `-- catalog.json [外部插件目录清单]
`-- plugins/ [额外插件目录元数据]
    `-- catalog.json [外部插件目录清单]
</code></pre>
<p>&nbsp;</p>
<h2>备份</h2>
<p>很简单，备份整个 <code>~/.openclaw/</code> 目录即可</p>
<p>如果你要重新配置，但需保留 Agent 的记忆和角色定义，则只需备份 <code>~/.openclaw/workspace/</code> 即可</p>
<p>⚠️注意：在备份时，建议停止网关，防止意外修改：<code>openclaw gateway stop</code></p>
<div class="code-block ng-tns-c3776750516-34 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation">
<div class="formatted-code-block-internal-container ng-tns-c3776750516-34">
<div class="animated-opacity ng-tns-c3776750516-34">
<pre class="ng-tns-c3776750516-34">&nbsp;</pre>
</div>
</div>
</div>
<p>&nbsp;</p>
<h2>迁移</h2>
<p>在新机器上安装好 OpenClaw 后，不要启动，或者确保网关已停止。</p>
<p>然后覆盖文件夹即可</p>
<h2>迁移后的诊断和修复</h2>
<p><strong>1. 运行系统诊断 (Doctor)</strong></p>
<p>内置的 doctor 工具会扫描配置树，并自动修复路径问题或处理旧版本的 Schema 兼容：</p>
<pre class="language-bash"><code># 基础配置与健康状态检查
openclaw doctor

# 深度修复（跨大版本迁移）
openclaw doctor --deep --repair</code></pre>
<p><strong>2. 校验与更新配置项</strong></p>
<p>检查配置文件是否结构完好。如果需要修改网关设置或网关鉴权方式，直接使用 CLI 修正：</p>
<pre class="language-bash"><code># 校验配置文件结构是否正确
openclaw config validate ~/.openclaw/openclaw.json

# （可选）重置网关认证模式以适配新环境
openclaw config set gateway.auth.mode token</code></pre>
<p><strong>3. 迁移凭据安全密钥 (Secrets)</strong>&nbsp;</p>
<p>如果迁移涉及底层硬件解密环境的变化（凭据存储变动），必须执行安全迁移以防 API Keys 读取失败</p>
<pre class="language-bash"><code>openclaw secrets migrate</code></pre>
<div class="code-block ng-tns-c3776750516-41 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation">
<div class="formatted-code-block-internal-container ng-tns-c3776750516-41">
<div class="animated-opacity ng-tns-c3776750516-41">
<pre class="ng-tns-c3776750516-41">&nbsp;</pre>
</div>
</div>
</div>
<h2>重启并验证</h2>
<p>确认一切步骤完成后，重启网关：<code>openclaw gateway restart</code></p>
<p><strong>检查清单：</strong></p>
<ul>
<li>
<p><strong>终端状态</strong>：运行 <code>openclaw status</code> 查看 Gateway 和核心 Agents 是否全部OK。</p>
</li>
<li>
<p><strong>Web 仪表盘</strong>：浏览器访问 <code>http://127.0.0.1:18789</code>（或新服务器公网 IP，注意放行安全组端口），输入 <code>openclaw dashboard</code> 调出后台页面，确认旧的历史会话和 Skills 列表完整呈现。</p>
</li>
<li><strong>频道状态：</strong>使用绑定的通信软件，给小龙虾发送消息，确保一切正常</li>
</ul>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sat, 28 Mar 2026 08:28:00 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-backup-and-migration-guide</link>
      <guid>https://versun.me/blog/openclaw-backup-and-migration-guide</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>放弃 Ghostty，回归 Alacri</title>
      <description>放弃 Ghostty，回归 Alacritty。 😮‍💨 本“默认配置”爱好者实在受不了 Ghostty 奇怪的渲染 Bug，比如 SSH 到 Mac mini 时，按键映射极其混乱，非常影响工作效率 Alacritty 不折腾，稳稳当当够用就好</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>放弃 Ghostty，回归 Alacritty。</p>
<p>😮‍💨 本“默认配置”爱好者实在受不了 Ghostty 奇怪的渲染 Bug，比如 SSH 到 Mac mini 时，按键映射极其混乱，非常影响工作效率</p>
<p>Alacritty 不折腾，稳稳当当够用就好</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 27 Mar 2026 13:20:00 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-27-13-18</link>
      <guid>https://versun.me/blog/2026-03-27-13-18</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw对接滴答清单</title>
      <description>前提条件：1. 你的小龙虾可使用你电脑上的谷歌浏览器（启用方法见我之前的笔记） 2. 在安装了小龙虾的电脑上操作，因为要用浏览器登录滴答清单进行认证 步骤添加滴答清单MCP很简单，只要和你的小龙虾说： 启用MCP功能，并添加mcp:https://mcp.dida365.com 小龙虾添加后会重启网关(gateway)注意：需重启网关才能生效(重启命令：openclaw gateway...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<h2 class="p1">前提条件：</h2>
<p class="p1">1. 你的小龙虾可使用你电脑上的谷歌浏览器（启用方法见我之前的笔记）</p>
<p class="p1">2. 在安装了小龙虾的电脑上操作，因为要用浏览器登录滴答清单进行认证</p>
<h2 class="p1">步骤</h2>
<h3 class="p1">添加滴答清单MCP</h3>
<p class="p1">很简单，只要和你的小龙虾说：</p>
<p class="p1"><code>启用MCP功能，并添加mcp:https://mcp.dida365.com</code></p>
<h3 class="p1">小龙虾添加后会重启网关(gateway)</h3>
<p class="p1">注意：需重启网关才能生效(重启命令：<code>openclaw gateway restart</code>)</p>
<p class="p1">在电脑上等一会儿，会自动弹出浏览器并提示你登录滴答清单进行认证</p>
<p class="p1"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzQyLCJwdXIiOiJibG9iX2lkIn19--86f4b93cc94b681a0e7f09664ff670b644f04382/3a00f016-a051-4753-b643-7c247ff842ca.png" width="328" height="234"></p>
<h3 class="p1">允许后即可使用了</h3>
<p class="p1">对小龙虾说：<code>查看我的滴答清单上有多少个代表事项</code></p>
<p class="p1">如果它能正常返回数量，说明连接成功！</p>
<p class="p1">你还可以让小龙虾: <code>以后把所有提醒事项/代办事项全部加到滴答清单</code></p>
<p class="p1">借助滴答清单强大的提醒功能，从此再也不用担心小龙虾忘记提醒你做事了</p>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 27 Mar 2026 08:10:00 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-dida365-setup</link>
      <guid>https://versun.me/blog/openclaw-dida365-setup</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 的竞争已经进入 2.0 阶段</title>
      <description>回想第一阶段，圈子里满是疯狂 Fork、另起炉灶的竞品，个个都在标榜自己比 OpenClaw 更强大、更优雅。 但最近风向变了，大家终于醒悟：生态才是王道，打不过就加入，于是开启了第二阶段——全面兼容 OpenClaw 生态，到目前为止，我已经看到了 3 个主打“完美兼容”的“替身龙虾” 但说实话，这些平替的逆袭希望依旧渺茫，因为 OpenClaw 的核心竞争力早已不再是单纯的...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>回想第一阶段，圈子里满是疯狂 Fork、另起炉灶的竞品，个个都在标榜自己比 OpenClaw 更强大、更优雅。</p>
<p>但最近风向变了，大家终于醒悟：<strong>生态才是王道，</strong>打不过就加入，于是开启了第二阶段——全面兼容 OpenClaw 生态，到目前为止，我已经看到了 3 个主打“完美兼容”的“替身龙虾”</p>
<p>但说实话，这些平替的逆袭希望依旧渺茫，因为 OpenClaw 的核心竞争力早已不再是单纯的 ClawHub 或插件机制，而是一种全新的<strong>生产力闭环</strong>：</p>
<p>大量不懂代码的养虾人，他们驱使自己的小龙虾直接给项目贡献代码，更恐怖的是，负责审查和合并这些代码的，同样是创始人 Peter 和维护团队的 AI 小龙虾</p>
<p>这种以量取胜、高速迭代的物种进化速度，是那些缺乏用户基础、仅靠少数开发者“死抠代码”的竞品永远无法企及的</p>
<p>说实在，做为一名传统开发者，我感到很悲哀，但时代的车轮已经滚起来了——哪怕这车轮上碾满了各种“屎山代码”，它依然在以不可阻挡的势头狂奔</p>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 26 Mar 2026 15:55:37 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-competition-stage-2</link>
      <guid>https://versun.me/blog/openclaw-competition-stage-2</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 操控浏览器简易教程</title>
      <description>OpenClaw 默认使用隔离的浏览器，导致每次都要重新登录网站，非常麻烦🤯 其实只需一个简单设置，就能让它直接调用你日常的浏览器。✅ 共享登录状态，无缝操控，开启方法如下👇 前提条件电脑已安装谷歌浏览器 第一步：启用浏览器功能方法一：自动配置和你的小龙虾说：启用浏览器功能，并使用 user 模式 方法二：手动配置将下面的代码添加到 openclaw.json 配置文件中...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="card-container">
<div class="card-wrapper style-romantic">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<p>OpenClaw 默认使用隔离的浏览器，导致每次都要重新登录网站，非常麻烦🤯</p>
<p>其实只需一个简单设置，就能让它直接调用你日常的浏览器。✅</p>
<p>共享登录状态，无缝操控，开启方法如下👇</p>
<h2>前提条件</h2>
<p>电脑已安装谷歌浏览器</p>
<h3>第一步：启用浏览器功能</h3>
<h4>方法一：自动配置</h4>
<p>和你的小龙虾说：<code>启用浏览器功能，并使用 user 模式</code></p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-romantic">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h4>方法二：手动配置</h4>
<p>将下面的代码添加到 openclaw.json 配置文件中</p>
<pre><code>"browser": {
    "enabled": true,
    "defaultProfile": "user"
  }
</code></pre>
<h2>第二步：打开谷歌浏览器</h2>
<p>访问下面这个网址</p>
<p><code>chrome://inspect/#remote-debugging</code></p>
<p>勾选 Allow Remote，如下图 ![1.png]</p>
</div>
</div>
</div>
</div>
</div>
<div class="card-container">
<div class="card-wrapper style-romantic">
<div class="inner-card">
<div class="content-body">
<div class="markdown-content">
<h2>第三步：让小龙虾操控浏览器</h2>
<p>对小龙虾说：<code>用谷歌浏览器访问baidu.com</code>&nbsp;这时浏览器会弹出授权，点击允许后，就会自动访问指定的网站啦</p>
<h2>注意事项</h2>
<ol>
<li>浏览器权限授权后，不要退出浏览器，否则下次打开还需要再授权一次</li>
<li>该方法并不能完全避免网站的爬虫检测，请注意你的账户安全</li>
<li>建议在你的监督下，让小龙虾操控浏览器，防止意外</li>
</ol>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 26 Mar 2026 09:45:43 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-browser-control-guide</link>
      <guid>https://versun.me/blog/openclaw-browser-control-guide</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 密钥安全实践：将明文密钥平滑迁移至 SecretRef</title>
      <description>今天抽空狠下心，把 OpenClaw 的密钥信息从明文迁移到了 SecretRef，记录下迁移过程： 1. 审计现有明文密钥运行审计命令，检查当前配置中是否存在明文密钥：openclaw secrets audit --check 输出示例： Secrets audit: findings. plaintext=0, unresolved=0, shadowed=0, legacy=1....</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>今天抽空狠下心，把 OpenClaw 的密钥信息从明文迁移到了 SecretRef，记录下迁移过程：</p>
<h2>1. 审计现有明文密钥</h2>
<p>运行审计命令，检查当前配置中是否存在明文密钥：<code>openclaw secrets audit --check</code><br>输出示例：<br><code>Secrets audit: findings. plaintext=0, unresolved=0, shadowed=0, legacy=1.</code><br>检查指标：重点关注 plaintext 字段。若值 &gt; 0，则说明存在明文密钥，建议迁移。</p>
<h2>2. 配置独立的凭证文件</h2>
<p>SecretRef 提供环境变量 (env)、文件 (file) 及 Exec 三种模式。这里采用文件模式以兼顾安全与可维护性。</p>
<p>使用 <code>cat ~/.openclaw/openclaw.json</code> 查看当前配置的密钥。</p>
<p>随后新建凭证文件（如 ~/.openclaw/secrets.json），并将提取出的密钥录入，格式如下：</p>
<pre class="language-json"><code>{
  "GROK_API_KEY": "xai-asdadsfasdfasdf",
  "TELEGRAM_BOT_TOKEN": "234234:asdfasdfsafasdf",
  "GATEWAY_AUTH_TOKEN": "asdfadsfasfasf"
}</code></pre>
<p>&nbsp;</p>
<h2>3. 调整文件权限（关键步骤）</h2>
<p>为防止安全策略拦截（提示文件权限过大），必须限制凭证文件的读取权限：</p>
<p><code>chmod 600 ~/.openclaw/secrets.json</code></p>
<h2>4. 执行配置向导</h2>
<p>运行配置命令，进入交互式配置流程：<code>openclaw secrets configure</code><br>根据终端提示逐步完成映射，具体交互可参考以下示例：</p>
<pre class="language-none"><code>◇  Configure secret providers
│  Add provider
◇  Provider source ➔ file
◇  Provider alias ➔ secrets
◇  File path (absolute) ➔ /Users/versun/.openclaw/secrets.json
◇  File mode ➔ json
...
◇  Configure secret providers ➔ Continue
◇  Select credential field ➔ channels.telegram.botToken
◇  Secret source ➔ file
◇  Provider alias ➔ secrets
◇  Secret id ➔ /TELEGRAM_BOT_TOKEN</code></pre>
<p>&nbsp;</p>
<h2>5. 注意事项</h2>
<ul>
<li>别名一致性：Provider alias 建议与凭证文件名一致，且在定义 Provider 和后续引用时必须保持统一</li>
<li>路径寻址规范：Secret id 支持 JSON 路径寻址。若变量定义在 JSON 的根节点，需带上前缀斜杠（例如 /TELEGRAM_BOT_TOKEN）</li>
<li>持久化配置：在交互向导的最后，务必选中 Done 或 Apply this plan now，否则更改不会写入配置文件</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 24 Mar 2026 10:00:37 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-secretref-migration-guide</link>
      <guid>https://versun.me/blog/openclaw-secretref-migration-guide</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>我决定，以后也要多多分享我的各种 ide</title>
      <description>我决定，以后也要多多分享我的各种 idea，无论靠不靠谱，不然躺在列表里，又没时间去做它们，实在是太可惜了。 以前还觉得 idea 值钱，现在有了 AI，变得一文不值，执行力才是王道。 今天先分享一个: 可以做一个面向 agent 的工具站，比如文件共享，文本共享，链接缩短，agent uptime监控，图床等，总之就是原来给人和人之间用的，全部可以重写成给 agent...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>我决定，以后也要多多分享我的各种 idea，无论靠不靠谱，不然躺在列表里，又没时间去做它们，实在是太可惜了。</p>
<p>以前还觉得 idea 值钱，现在有了 AI，变得一文不值，执行力才是王道。</p>
<p>今天先分享一个: 可以做一个面向 agent 的工具站，比如文件共享，文本共享，链接缩短，agent uptime监控，图床等，总之就是原来给人和人之间用的，全部可以重写成给 agent 之间沟通用的，域名我都看好了，agentstack.tools，各位觉得这个想法怎么样😁😂</p>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 22 Mar 2026 20:21:46 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-22-20-21</link>
      <guid>https://versun.me/blog/2026-03-22-20-21</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>为什么注册苹果开发者账号这么难，无论是在</title>
      <description>为什么注册苹果开发者账号这么难，无论是在iPhone上还是iPad上，都提示“无法验证你的身份”，联系了苹果客服，又是提供录屏又是提供身份证的，还是没搞成。。。。。这体验也太差了吧，赶着给钱都不要。。。。</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>为什么注册苹果开发者账号这么难，无论是在iPhone上还是iPad上，都提示“无法验证你的身份”，联系了苹果客服，又是提供录屏又是提供身份证的，还是没搞成。。。。。这体验也太差了吧，赶着给钱都不要。。。。</p>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 20 Mar 2026 15:24:34 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-20-15-24</link>
      <guid>https://versun.me/blog/2026-03-20-15-24</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>重新跑了&lt;模型编程性能测试&gt;，添加了 M</title>
      <description>重新跑了&lt;模型编程性能测试&gt;，添加了 Minimax 2.7、Mimo V2 Pro、GPT 5.4 Mini 模型 结果在预料之中：https://coding-model-comparison.versun.me/ ⚠️ 防杠补丁：本次测试纯属娱乐，仅针对当前提示词和模型版本有效，博主无任何厂商立场</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>重新跑了&lt;模型编程性能测试&gt;，添加了 &nbsp;Minimax 2.7、Mimo V2 Pro、GPT 5.4 Mini 模型</p>
<p>结果在预料之中：<a href="https://coding-model-comparison.versun.me/">https://coding-model-comparison.versun.me/&nbsp;</a></p>
<p><em>⚠️ 防杠补丁：本次测试纯属娱乐，仅针对当前提示词和模型版本有效，博主无任何厂商立场</em></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzQxLCJwdXIiOiJibG9iX2lkIn19--37cc224b6704a92cb3b553c13f01870c2876c07c/33bd161f-2bcd-4837-8736-f7f7241662ef.png" width="318" height="471"></p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 19 Mar 2026 10:53:45 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-19-10-53</link>
      <guid>https://versun.me/blog/2026-03-19-10-53</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>这两天，minimax 2.7 发布，小</title>
      <description>这两天，minimax 2.7 发布，小米的 mimo 模型发布，然后搞笑的是，好多评论区都在问，和kimi 2.5 比怎么样？ 一个已经发布一个多月的模型，和glm 5, minimax 2.5还要早发布的模型，到现在依旧被拿出来比，谁稳定谁能干活一目了然呀😂</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>这两天，minimax 2.7 发布，小米的 mimo 模型发布，然后搞笑的是，好多评论区都在问，和kimi 2.5 比怎么样？</p>
<p>一个已经发布一个多月的模型，和glm 5, minimax 2.5还要早发布的模型，到现在依旧被拿出来比，谁稳定谁能干活一目了然呀😂</p>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 19 Mar 2026 05:51:51 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-19-05-51</link>
      <guid>https://versun.me/blog/2026-03-19-05-51</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>哇，这样做 UI 测试也太方便了吧，再也</title>
      <description>哇，这样做 UI 测试也太方便了吧，再也不用写麻烦的 BDD 测试代码了 项目地址：https://maestro.dev/ “Maestro 是一个开源框架，使 Android、iOS 和 Web 应用的 UI 和端到端测试变得简单快速。 使用 YAML 流程在五分钟内编写第一个测试，并在任何模拟器、模拟器或浏览器上运行它们”</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Adam KP</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>If you’re not automating your tests yet… you’re behind 👀pic.twitter.com/vooFiGFR1U</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/AdamKPx/status/2033802534725316653?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p><img src="https://user-images.githubusercontent.com/847683/187275009-ddbdf963-ce1d-4e07-ac08-b10f145e8894.gif" width="434" height="326"></p>
<p>哇，这样做 UI 测试也太方便了吧，再也不用写麻烦的 BDD 测试代码了<br>项目地址：<a href="https://maestro.dev/">https://maestro.dev/</a></p>
<blockquote>
<p><span class="notranslate immersive-translate-target-inner immersive-translate-target-translation-theme-none-inner">Maestro 是一个开源框架，使 Android、iOS 和 Web 应用的 UI 和端到端测试变得简单快速。</span><br><span class="notranslate immersive-translate-target-wrapper" lang="zh-CN"><br><span class="notranslate immersive-translate-target-inner immersive-translate-target-translation-theme-none-inner">使用 YAML 流程在五分钟内编写第一个测试，并在任何模拟器、模拟器或浏览器上运行它们</span></span></p>
</blockquote>
<p>&nbsp;</p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 18 Mar 2026 10:57:52 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-18-10-57</link>
      <guid>https://versun.me/blog/2026-03-18-10-57</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>发现一个新的 OpenClaw 替代品:</title>
      <description>发现一个新的 OpenClaw 替代品: Aurogen 3大特点：模块化、轻配置、兼容 OpenClaw 生态 早上试用了下，体验还不错，我是用 docker 部署的，启动后就可以直接通过 Web 页面进行所有配置： 不过目前仅支持主流的6个模型提供商： Channel 支持的挺全的，飞书、QQ、TG等都有： 我认为比较有特色的就是多 Claw，也就是多...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>发现一个新的 OpenClaw 替代品: <a href="https://github.com/UniRound-Tec/Aurogen">Aurogen</a></p>
<p>3大特点：模块化、轻配置、兼容 OpenClaw 生态</p>
<p>早上试用了下，体验还不错，我是用 docker 部署的，启动后就可以直接通过 Web 页面进行所有配置：</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM2LCJwdXIiOiJibG9iX2lkIn19--ba1dfb1adcde7b79e42cab80b7bd71266dff4d61/54927540-fb99-4c91-8854-84d6af171ef8.png" width="410" height="249"></p>
<p>不过目前仅支持主流的6个模型提供商：<br><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM3LCJwdXIiOiJibG9iX2lkIn19--4847364413df1ffad1e6210fb50c6aeb0b30db8a/9b5fdcd8-1c0c-4015-8c9f-b308b8f1c232.png" width="216" height="291"></p>
<p>Channel 支持的挺全的，飞书、QQ、TG等都有：</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM4LCJwdXIiOiJibG9iX2lkIn19--b78c213f00d9e8b5f3dc24dc68f25d525633fbeb/dc18bfbe-97b8-415f-87e9-85eff22d9431.png" width="188" height="231"></p>
<p>我认为比较有特色的就是多 Claw，也就是多 Agent，编辑各种角色定义的文档也很方便<br><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM5LCJwdXIiOiJibG9iX2lkIn19--ae67e0e119af691ee940fdda5b7da0281a93d878/b0310b1f-5e38-4d00-902d-446c0255f37b.png" width="438" height="256"></p>
<p>最重要的是，它有一个 Agent Group 功能，可以将多个 Agent 拉到一个群里，对某一个话题进行头脑风暴，挺有意思的：<br><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzQwLCJwdXIiOiJibG9iX2lkIn19--375b0bae8687490b88c9a1058940f4839aef9f48/a445fcb3-a6aa-4775-885a-d361d80f9be4.png" width="451" height="477"></p>
<p>可玩性还不错，不过因为该项目3月9号才发版，目前更新很频繁，我简单看了下代码，没有CI，没有测试，工程化还很早期，这么大项目在没有测试的情况下，竟然能运行起来，开发者有点牛批，总之，挺有潜力的，观望中。</p>
<p>如果你已经有一套跑得比较稳的 OpenClaw 环境，那么继续用就行，暂时不建议迁移过来。</p>
<p>但如果你还没有玩过小龙虾，那么可以试一试它，Aurogen 在安装和配置体验上比 OpenClaw 好很多 (ps:几乎所有的替代品都比它好😆)</p>
<p>网站：<a href="https://github.com/UniRound-Tec/Aurogen">https://github.com/UniRound-Tec/Aurogen</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 17 Mar 2026 11:05:28 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-17-11-05</link>
      <guid>https://versun.me/blog/2026-03-17-11-05</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 的最新版本 2026.</title>
      <description>OpenClaw 的最新版本 2026.3.13 支持 SecretRef 了，所以我就想把明文存储的密钥信息从配置文件里迁移到 SecretRef，但是弄了一早上始终找不到一种简单优雅可传授的方法来迁移，官方的 openclaw secrets configure 命令只是用来映射，secrets.json 还得自己手写。。。 无论是 env 还是 json file...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>OpenClaw 的最新版本 2026.3.13 支持 SecretRef 了，所以我就想把明文存储的密钥信息从配置文件里迁移到 SecretRef，但是弄了一早上始终找不到一种简单优雅可传授的方法来迁移，官方的 openclaw secrets configure 命令只是用来映射，secrets.json 还得自己手写。。。</p>
<p>&nbsp;</p>
<p>无论是 env 还是 json file 模式，每个平台的实现都不一样，本想针对这个迁移过程写一个文档给我那些客户参考实施，但写不出来，太多条件要判断并针对性的修改。。。。</p>
<p>&nbsp;</p>
<p>目前只有 exec 模式没试过，除了官方支持的 1p，没找到其它第三方工具。。。</p>
<p>&nbsp;</p>
<p>去 OpenClaw 的仓库看了下实现代码，太恶心了，虎皮膏药一层又一层，我的天呐。。。。。</p>
<p>&nbsp;</p>
<p>放弃了，不给客户迁移了，漏就漏吧。。客户爸爸们，对不起了，这得加钱😭</p>
<p>&nbsp;</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 15 Mar 2026 14:52:47 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-15-14-52</link>
      <guid>https://versun.me/blog/2026-03-15-14-52</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>这个 PR 黑客松很可以啊！ 前三名分别</title>
      <description>这个 PR 黑客松很可以啊！ 前三名分别有 1000、500、300 刀的奖励，更关键的是，只要有一个 PR 被 merge，就能拿到 25 刀参与奖！ 早知道我上个月那个已经 merge 的 PR 拖到现在再提了，白白错过 25 刀 没办法，又得继续烧 token 了，争取再提一个 PR 前三名我就不指望了，能捡个 25 刀参与奖我就满足了</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">InsForge</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>Here's your chance to win $1,000 in 10 daysWe're hosting an @InsForge_dev open-source contributor hackathonIf you love coding with AI, this is for youBut this is the best part:ALL participants get $25 + 3 months of InsForge Pro ($100+ in value)Don't </span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/i/status/2032536216697016750" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>这个 PR 黑客松很可以啊！</p>
<p>前三名分别有 1000、500、300 刀的奖励，更关键的是，只要有一个 PR 被 merge，就能拿到 25 刀参与奖！</p>
<p>早知道我上个月那个已经 merge 的 PR 拖到现在再提了，白白错过 25 刀</p>
<p>没办法，又得继续烧 token 了，争取再提一个 PR</p>
<p>前三名我就不指望了，能捡个 25 刀参与奖我就满足了</p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 15 Mar 2026 12:03:58 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-15-12-03</link>
      <guid>https://versun.me/blog/2026-03-15-12-03</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>带着5点就起床的娃，提前感受老年生活 不</title>
      <description>带着5点就起床的娃，提前感受老年生活 不知道为啥，他很喜欢看广场舞</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>带着5点就起床的娃，提前感受老年生活</p>
<p>不知道为啥，他很喜欢看广场舞</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzM1LCJwdXIiOiJibG9iX2lkIn19--22d8e7f6a414922b1c35fbfe7b611922d59f9648/7d27c6b0-9119-4fa8-8e94-1ae26dcd231c.jpg" alt="" width="200" height="150"></p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 15 Mar 2026 08:49:32 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-15-08-49</link>
      <guid>https://versun.me/blog/2026-03-15-08-49</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>飞书妙搭 OpenClaw 一键部署</title>
      <description>飞书也推出了云养虾(OpenClaw)，限时免费(截止3月31日)，不用自己加bot、配权限、发布应用，点几下就好了，而且体验是真的好，特别是权限问题，之前为了让龙虾操作飞书的各种应用，权限配置非常麻烦，这次它直接在聊天框里授权，太方便了 模型使用飞书自己的妙搭模型，支持生图，每天免费100万token，体验还可以 云主机配置AMD CPU 单核、4G内存、1TB硬盘，Ubuntu...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>飞书也推出了<a href="http://miaoda.feishu.cn/bot">云养虾</a>(OpenClaw)，限时免费(截止3月31日)，不用自己加bot、配权限、发布应用，点几下就好了，而且体验是真的好，特别是权限问题，之前为了让龙虾操作飞书的各种应用，权限配置非常麻烦，这次它直接在聊天框里授权，太方便了</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMzLCJwdXIiOiJibG9iX2lkIn19--8b0a62d597c67a73ab929e789082fb1f2c93e188/9c407b23-2341-432e-8c15-549326199028.png" width="500" height="285"></p>
<p>模型使用飞书自己的妙搭模型，支持生图，每天免费100万token，体验还可以</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMyLCJwdXIiOiJibG9iX2lkIn19--66574ed69a75aea6a857de345395be64bd30e8d3/cbd0c72a-8c4e-42a3-8c85-a855f4a0e67d.png" width="537" height="314"></p>
<p>云主机配置AMD CPU 单核、4G内存、1TB硬盘，Ubuntu 22.04 LTS系统，养一只龙虾挺充裕的</p>
<p>飞书这一波操作很可以啊，相比 Kimi 和 Minimax 的云龙虾，非常有竞争力，希望后续收费不要太贵</p>
<p>申请地址：<a href="http://miaoda.feishu.cn/bot">http://miaoda.feishu.cn/bot</a></p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 10 Mar 2026 21:27:53 +0800</pubDate>
      <link>https://versun.me/blog/feishu-miaoda-openclaw-setup</link>
      <guid>https://versun.me/blog/feishu-miaoda-openclaw-setup</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>分享下我最近在做的一款 Mac 原生应用</title>
      <description>分享下我最近在做的一款 Mac 原生应用：MasM（MCP and Skill Manager） 顾名思义，它就是一个专门用来管理 MCP 和 Skill 的工具，支持一键启用/禁用。 我做它的原因也很简单，就是想解决自己日常使用中反复遇到的几个痛点： 1.支持添加或修改配置文件路径，方便同时管理多个配置文件。 2. 支持一键同步到所有平台，省去重复点击配置的麻烦。 3....</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>分享下我最近在做的一款 Mac 原生应用：MasM（MCP and Skill Manager）</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI1LCJwdXIiOiJibG9iX2lkIn19--93b1ff62e3be5ac799a4772ebf7e5d586797892e/04920d1c-08bb-4792-90b1-6d11de468037.png" width="494" height="225"></p>
<p>顾名思义，它就是一个专门用来管理 MCP 和 Skill 的工具，支持一键启用/禁用。</p>
<p>我做它的原因也很简单，就是想解决自己日常使用中反复遇到的几个痛点：</p>
<p>1.支持添加或修改配置文件路径，方便同时管理多个配置文件。</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI2LCJwdXIiOiJibG9iX2lkIn19--6035186314942ce5219aad4311c79d72ce6d0cf8/4d32f27e-1b41-4815-8a2c-8e74b90e255b.png" width="301" height="305"></p>
<p>2. 支持一键同步到所有平台，省去重复点击配置的麻烦。<br><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI3LCJwdXIiOiJibG9iX2lkIn19--25875a0f6867066badf157d8fd7da5bc2eacc4b9/3120f1ec-d485-43cc-bdf4-aa16378de6f3.png" width="500" height="106"></p>
<p>3. 支持直接搜索和添加来自 skills.sh 的 Skill，并显示审计状态；通过 URL 添加的 Skill 也支持后续更新。</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI4LCJwdXIiOiJibG9iX2lkIn19--1e29f3e04ce4c5acc3efa6e155a278d960ceff40/4ac3b70e-fbe1-492b-8d78-dd83b0bcfaa4.png" width="481" height="243"></p>
<p>4. 支持搜索和添加官方 MCP</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzI5LCJwdXIiOiJibG9iX2lkIn19--78dc38c95651a5bc056ca158188061058afe50fe/9a26c539-d436-494b-8106-606179af0a91.png" width="514" height="195"></p>
<p>目前核心功能已经基本开发完成，接下来主要是在打磨细节。整个安装包在 5.6 MB 左右。</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzMwLCJwdXIiOiJibG9iX2lkIn19--572f037b73a8fd2409784c4ad4358e86b0d381c0/cd80511c-09a9-41d4-ac7d-c3b4b3c42c74.png"></p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 10 Mar 2026 11:57:51 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-10-11-57</link>
      <guid>https://versun.me/blog/2026-03-10-11-57</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 对接 QQ 入门教程</title>
      <description>OpenClaw 对接 QQ 的体验简直太好了，比飞书什么的要简单方便很多，就两步 第一步：打开网站 https://q.qq.com/qqbot/openclaw/login.html 第二步：创建机器人，然后把3条命令复制到安装了 OpenClaw 的电脑终端里，就完成了！</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<p>OpenClaw 对接 QQ 的体验简直太好了，比飞书什么的要简单方便很多，就两步</p>
<p>第一步：打开网站 <a href="https://q.qq.com/qqbot/openclaw/login.html">https://q.qq.com/qqbot/openclaw/login.html</a>&nbsp;</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzIwLCJwdXIiOiJibG9iX2lkIn19--edf31ad442966d0a8e9d1ac5e6c16f61857cd7d3/0c5351ff-4001-41b4-a784-999fbb1d9edc.png" width="504" height="319"></p>
<p>第二步：创建机器人，然后把3条命令复制到安装了 OpenClaw 的电脑终端里，就完成了！</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzIyLCJwdXIiOiJibG9iX2lkIn19--c388aa5cb21127b1eac386ef9c58b39e6e808ecd/c9d6188a-d1d5-4ab7-9360-ff1b569c02c3.png" width="294" height="305"></p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 09 Mar 2026 14:29:14 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-qq-setup</link>
      <guid>https://versun.me/blog/openclaw-qq-setup</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>OpenClaw 对接飞书入门教程</title>
      <description>最近很多朋友都找我配置小龙虾 OpenClaw，但在对接 tg 时，网络问题很难解决，折腾半天发现整个使用流程和体验非常差。 所以我最后都是劝他们使用飞书，国内也就飞书对接龙虾体验是最好的，不用各种魔法 因此这里我简单说说对接飞书的流，也可参考官方的教程 1.登录&lt;飞书开放平台&gt; 2.进入开发者后台，点击“创建企业自建应用”，填写应用名称、描述和图标 3.添加机器人能力：按应用能力 →...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>最近很多朋友都找我配置小龙虾 OpenClaw，但在对接 tg 时，网络问题很难解决，折腾半天发现整个使用流程和体验非常差。</p>
<p>所以我最后都是劝他们使用飞书，国内也就飞书对接龙虾体验是最好的，不用各种魔法</p>
<p>&nbsp;</p>
<p>因此这里我简单说说对接飞书的流，也可参考<a href="https://www.feishu.cn/content/article/7613711414611463386">官方的教程</a></p>
<p>1.登录&lt;<a href="https://open.feishu.cn/?lang=zh-CN">飞书开放平台</a>&gt;</p>
<p>2.进入开发者后台，点击“创建企业自建应用”，填写应用名称、描述和图标</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEyLCJwdXIiOiJibG9iX2lkIn19--13ca3fead1daf32e2238cde92d11415c880e0865/b6f575e9-37af-4ada-adb4-fec794dd0af4.png" width="521" height="239"></p>
<p>3.添加机器人能力：按应用能力 → 找到机器人卡片点击添加</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEzLCJwdXIiOiJibG9iX2lkIn19--40dc2818f076e500d688332ab7346219409640f9/26352fc7-ad77-48c5-90d5-749996a80e2a.png" width="279" height="369"></p>
<p>4.开通关键权限（⚠️ 重要）导入的批量 json&nbsp;</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE0LCJwdXIiOiJibG9iX2lkIn19--f5e257df892b0c7e521c81105a2d58cdd2df3f82/e80c69ac-418f-4211-9718-774f58ec48d6.png" width="708" height="216"></p>
<p>{<br>&nbsp; "scopes": {<br>&nbsp; &nbsp; "tenant": [<br>&nbsp; &nbsp; &nbsp; "im:message.group_at_msg:readonly",<br>&nbsp; &nbsp; &nbsp; "im:message.p2p_msg:readonly",<br>&nbsp; &nbsp; &nbsp; "im:message.pins:write_only",<br>&nbsp; &nbsp; &nbsp; "im:message.reactions:read",<br>&nbsp; &nbsp; &nbsp; "im:message.reactions:write_only",<br>&nbsp; &nbsp; &nbsp; "im:message:send_as_bot",<br>&nbsp; &nbsp; &nbsp; "im:message:send_multi_users",<br>&nbsp; &nbsp; &nbsp; "im:message:send_sys_msg",<br>&nbsp; &nbsp; &nbsp; "contact:contact.base:readonly",<br>&nbsp; &nbsp; &nbsp; "contact:user.employee_id:readonly"<br>&nbsp; &nbsp; ]<br>&nbsp; }<br>}</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE1LCJwdXIiOiJibG9iX2lkIn19--c9a4b0546c508b09984ef97aef02a5a0b03b54b2/348a035d-9e8f-4c23-bb1c-202d56163d8a.png" width="523" height="247"></p>
<p>5.获取应用凭证(App ID 和 App Secret)</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE2LCJwdXIiOiJibG9iX2lkIn19--db620e9571bb3081c57b3ae440ef21147d2006e7/3602b510-9b41-4f76-bd7d-d276246d5388.png" width="993" height="181"></p>
<p>6.配置事件订阅方式</p>
<p>&nbsp;&nbsp;&nbsp;在 事件与回调 → 事件配置：</p>
<p>&nbsp;&nbsp;&nbsp;订阅方式：选择 "使用长连接接收事件"（不要选 HTTP 回调）</p>
<p>&nbsp;&nbsp;&nbsp;添加事件：搜索并添加 im.message.receive_v1（接收消息）</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE3LCJwdXIiOiJibG9iX2lkIn19--40ed56182a65cd90cbaeaa6dd4c392a2bd796110/7a9ca86e-7bf0-403d-a8f0-4cc2793e6252.png" width="557" height="380"></p>
<p>7. 发布你的应用：进入版本管理与发布 → 创建版本 → 确认发布。权限修改后必须重新发布才能生效</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE4LCJwdXIiOiJibG9iX2lkIn19--cd06187312d5657044d81215c93b24f83b3ea4a2/22dbc082-8c4d-42ed-9515-d6ef3e848436.png" width="524" height="236"></p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzE5LCJwdXIiOiJibG9iX2lkIn19--2566e10e47314d55aa0c8aaa8d2e6f1db68a7463/9e410cef-a33a-443a-b68f-7a126e6dc57a.png" width="500" height="408"></p>
<p>8.在你部署 OpenClaw 的电脑上打开终端，执行下面的命令，或者你也可以在 openclaw tui 下让它帮你执行</p>
<p>openclaw config set channels.feishu.appId "替换成App ID"</p>
<p>openclaw config set channels.feishu.appSecret "替换成App Secret"</p>
<p>openclaw config set channels.feishu.enabled true</p>
<p>openclaw gateway stop</p>
<p>openclaw gateway</p>
<p>9.在飞书上给机器人发个信息，然后复制最后一行配对命令，在终端上执行就大功告成啦！</p>
<p>&nbsp;</p>
<p>重点：飞书目前限时(截止3月31日)全员 API 免费额度从1w调整至5w，通过提交申请，可以取消上限，建议赶紧申请白嫖哈(关注飞书公众号 -&gt; 私信“API” -&gt; 提交表单就可以了)</p>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Sun, 08 Mar 2026 10:13:02 +0800</pubDate>
      <link>https://versun.me/blog/openclaw-feishu-setup</link>
      <guid>https://versun.me/blog/openclaw-feishu-setup</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>GPT-5.4 发布啦，代码能力评测</title>
      <description>用 Codex 跑一下之前的“力导向图”项目，除了速度比 gpt 5.3 codex 慢以外，代码能力又提升了一截，目前位列榜一 排行榜：https://coding-model-comparison.versun.me/ 力导向图成果如图</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">OpenAI</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>GPT-5.4 Thinking and GPT-5.4 Pro are rolling out now in ChatGPT.GPT-5.4 is also now available in the API and Codex.GPT-5.4 brings our advances in reasoning, coding, and agentic workflows into one frontier model. pic.twitter.com/1hy6xXLAmJ</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/OpenAI/status/2029620619743219811?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<p>用 Codex 跑一下之前的“力导向图”项目，除了速度比 gpt 5.3 codex 慢以外，代码能力又提升了一截，目前位列榜一</p>
<p>排行榜：<a href="https://coding-model-comparison.versun.me/">https://coding-model-comparison.versun.me/</a></p>
<p>力导向图成果如图</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzExLCJwdXIiOiJibG9iX2lkIn19--88a906c10e73f5c7d6ab7dfc3937476512e5d8d7/e7e0a782-88bd-4641-86a8-10250b56854c.png" width="546" height="498"></p>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Fri, 06 Mar 2026 06:36:26 +0800</pubDate>
      <link>https://versun.me/blog/gpt-5-4</link>
      <guid>https://versun.me/blog/gpt-5-4</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>别让AI替你思考，重拾编程的乐趣</title>
      <description>最近在整理自己去年的代码时，突然有点慌，发现自己在编程方面进步甚微，某些地方甚至还退步了。更扎心的是，那种手打代码、花几小时死磕一个bug的爽感，似乎很久没有体验到了。 这种停滞迫使我停下来，重新审视一个我每天都在使用的工具：AI 马车换汽车的年代又来了AI就像当年的汽车，把原本遥不可及的目的地变得触手可及。它帮我们省时间、省力气，但问题是——它省的到底是什么？ 对于编程而言，AI...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>最近在整理自己去年的代码时，突然有点慌，发现自己在编程方面进步甚微，某些地方甚至还退步了。更扎心的是，那种手打代码、花几小时死磕一个bug的爽感，似乎很久没有体验到了。</p>
<p>这种停滞迫使我停下来，重新审视一个我每天都在使用的工具：AI</p>
<h3><strong>马车换汽车的年代又来了</strong></h3>
<p>AI就像当年的汽车，把原本遥不可及的目的地变得触手可及。它帮我们省时间、省力气，但问题是——它省的到底是什么？</p>
<p>对于编程而言，AI 省掉的往往是大脑最值钱的环节：逻辑推演、问题拆解、创造性思考。如果把从“问题”到“解决方案”的完整路径都交给AI导航，作为“司机”的我们，肌肉（思维能力）就会不可避免地萎缩​。</p>
<p>这引出了一个核心矛盾：我既要享受科技的便利，又害怕失去自身的能力。对此，我的想法是：明确目的，区别对待。</p>
<h3>1. <strong>目标就是"抵达"——干活要紧</strong></h3>
<p>如果当下的任务就是快速、高质量地交付一个功能或解决一个具体问题，那么请踩下油门，充分使用AI。让它生成样板代码、查找API、debug，这时，AI是你的“汽车”，载你高效抵达目的地，这完全合理​。</p>
<h3>2. <strong>目标是"锻炼"——要的是成长和快乐</strong></h3>
<p>Vibe Coding 是程序员的短视频，写个简短的提示词就能获得大量代码，低投入，高反馈，这种多巴胺刺激真的很上瘾。</p>
<p>但如果你和我一样，渴望的是那种"灵光一闪"的内啡肽、想亲手解决问题的快感，那就得主动选择走路和跑步，保持脑力健康。</p>
<ul>
<li>
<div class="paragraph">写代码前先动手画：白板、纸笔都行，享受设计的过程</div>
</li>
<li>
<div class="paragraph">遇到坑先自己跳：翻文档、试方案、死磕到 "灵光一闪" 的那一刻</div>
</li>
<li>
<div class="paragraph">让AI当陪练不当替身：核心逻辑自己啃完，再扔给AI检查风格、给优化建议</div>
</li>
</ul>
<p><strong>核心原则是：别让 AI 抢走本该属于你的思维快感。</strong></p>
<h3>我的新实践</h3>
<p>我开始有意识地将编程任务分类。对于重复、枯燥的“体力活”，让AI代劳；而对于那些需要架构设计、算法优化的“脑力活”，我则屏蔽AI，给自己留一块不被打断的纯粹思考空间。</p>
<p>这就像我们不会用汽车来锻炼身体一样，我们也不应该用AI来完成所有的大脑锻炼。工具的意义在于扩展人类，而非替代人类。</p>
<p>重新审视与AI的关系，不是为了排斥它，而是为了更清醒、更主动地使用它。我希望通过有选择地“走路”，重新唤醒那些沉睡的编程肌肉，找回最初那份解决问题的兴奋与快乐。</p>
<p>这条路，或许会慢一些，但每一步，都踏实地踩在自己的成长轨迹上。</p>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 05 Mar 2026 10:24:07 +0800</pubDate>
      <link>https://versun.me/blog/stop-ai-from-thinking-for-you</link>
      <guid>https://versun.me/blog/stop-ai-from-thinking-for-you</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>如果你在寻找 Supabase 的平替，</title>
      <description>如果你在寻找 Supabase 的平替，可以试一试撸 Insforge 的羊毛哈，关注转发留言前20名可以得 Pro 积分，虽然它家免费版就很够用了</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Hang Huang</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>InsForge 2.0 launches in 5 days...So we decided to do a GIVEAWAY 🥳5 merch bundles + @InsForge_dev Pro credits To enter: 1. Follow @hanghuang_ &amp; @InsForge_dev 2. Like &amp; RT+ The FIRST 20 REPLIES get free InsForge Pro credits5 winners. 72 hours.Good luc</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/hanghuang_/status/2029322988877680723?s=20" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<p>如果你在寻找 Supabase 的平替，可以试一试撸 Insforge 的羊毛哈，关注转发留言前20名可以得 Pro 积分，虽然它家免费版就很够用了</p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Thu, 05 Mar 2026 08:18:29 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-05-08-18</link>
      <guid>https://versun.me/blog/2026-03-05-08-18</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>收到 @InsForge_dev 的周边</title>
      <description>收到 @InsForge_dev 的周边啦，感谢 @hanghuang_ 抬爱 预祝 3 月 9 号的发布会顺利🚀🚀</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">Hang Huang</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>5 boxes of @InsForge_dev merch just arrived!I'll be going door-to-door around SF this week handing out shirts, hoodies, bags, stickers, etc. for freeComment or DM me if I should pull up to your office/apartment pic.twitter.com/Z5JmfplvYZ</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/hanghuang_/status/2028564353637601642" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<div class="trix-content">
<p>收到 @InsForge_dev 的周边啦，感谢 @hanghuang_&nbsp; 抬爱</p>
<p>预祝 3 月 9 号的发布会顺利🚀🚀</p>
<p>&nbsp;<img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA5LCJwdXIiOiJibG9iX2lkIn19--c2b9e3b383a8253b76f1ba6a0bc3d21f50a9bc7e/3e7f941f-3785-4083-981b-f99de4e1ebbc.jpg" width="340" height="255"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEwLCJwdXIiOiJibG9iX2lkIn19--270c6795ace6de9bd71549441c83b612b39c921e/9afc4fb9-78d7-42b0-a03b-480167166af6.jpg" width="340" height="255"></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 04 Mar 2026 14:14:46 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-04-14-14</link>
      <guid>https://versun.me/blog/2026-03-04-14-14</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>挺有意思，界面好看！ 就是多代理的情况下</title>
      <description>挺有意思，界面好看！ 就是多代理的情况下，指责分配不是很方便，希望能多些角色定义的功能</description>
      <content:encoded>
        <![CDATA[  <div style="display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem;">
    <i class="fas fa-quote-left" style="color: #6c757d; font-size: 1.25rem; margin-top: 0.125rem; opacity: 0.6;"></i>
    <div style="flex: 1;">
        <span style="font-weight: 600; color: #495057; font-size: 0.95rem;">stdrc</span>
    </div>
  </div>

    <blockquote class="source-reference__quote">
        <span>During the Chinese New Year holiday, I built an agent-native IM where AI agents are first-class citizens: https://t.co/Ozc1WbJfbTNo hand-written code. I never even reviewed a single line. All core features and deployment were done within 7 days — whi</span>

        <div class="source-reference__links" style="display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.85rem;">
            <a href="https://x.com/istdrc/status/2027708589884711380" target="_blank" rel="noopener noreferrer" style="color: #007bff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.375rem; transition: color 0.2s;">
              <i class="fas fa-external-link-alt" style="font-size: 0.75rem;"></i>
              <small>Original</small>
            </a>
        </div>
    </blockquote>
<div class="trix-content">
  <div class="trix-content">
<p>挺有意思，界面好看！</p>
<p>就是多代理的情况下，指责分配不是很方便，希望能多些角色定义的功能</p>
<p><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA0LCJwdXIiOiJibG9iX2lkIn19--ec24c4a0bec65fd6c33ee7e481607e4c16e4dfa5/5a5df871-1de2-460d-867a-b8b4718a41b9.png" width="418" height="314"><img src="https://versun.me/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzA1LCJwdXIiOiJibG9iX2lkIn19--8d395a37095f383c3a17b05fac34862c05552e4f/eafb129d-8bee-40ab-91e5-cb1346e01737.png" width="450" height="196"></p>
</div>
</div>
]]>
      </content:encoded>
      <pubDate>Tue, 03 Mar 2026 15:25:44 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-03-15-25</link>
      <guid>https://versun.me/blog/2026-03-03-15-25</guid>
      <author>Versun</author>
    </item>
    <item>
      <title>汇总下目前我用过的，带界面的新手友好型的</title>
      <description>汇总下目前我用过的，带界面的新手友好型的 OpenClaw 替身，易用性从上到下主观排序 Lobsterai: https://github.com/netease-youdao/lobsterai CoPaw: https://github.com/agentscope-ai/CoPaw Moltis: https://github.com/moltis-org/moltis...</description>
      <content:encoded>
        <![CDATA[<div class="trix-content">
  <p>汇总下目前我用过的，带界面的新手友好型的 OpenClaw 替身，易用性从上到下主观排序</p>
<p><a href="https://github.com/netease-youdao/lobsterai">Lobsterai</a>: <a href="https://github.com/netease-youdao/lobsterai">https://github.com/netease-youdao/lobsterai</a></p>
<p><a href="https://github.com/agentscope-ai/CoPaw">CoPaw</a>: <a href="https://github.com/agentscope-ai/CoPaw">https://github.com/agentscope-ai/CoPaw</a></p>
<p><a href="https://github.com/moltis-org/moltis">Moltis</a>: <a href="https://github.com/moltis-org/moltis">https://github.com/moltis-org/moltis</a></p>
<p><a href="https://github.com/spacedriveapp/spacebot">Spacebot</a>: <a href="https://github.com/spacedriveapp/spacebot">https://github.com/spacedriveapp/spacebot</a>&nbsp;</p>
<p><a href="https://github.com/RightNow-AI/openfang">OpenFang</a>: <a href="https://github.com/RightNow-AI/openfang">https://github.com/RightNow-AI/openfang</a>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
]]>
      </content:encoded>
      <pubDate>Mon, 02 Mar 2026 19:01:24 +0800</pubDate>
      <link>https://versun.me/blog/2026-03-02-19-01</link>
      <guid>https://versun.me/blog/2026-03-02-19-01</guid>
      <author>Versun</author>
    </item>
  </channel>
</rss>
