<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>技术复盘 on CAO ZUOHUA</title><link>https://caozuohua.github.io/categories/%E6%8A%80%E6%9C%AF%E5%A4%8D%E7%9B%98/</link><description>Recent content in 技术复盘 on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Thu, 25 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://caozuohua.github.io/categories/%E6%8A%80%E6%9C%AF%E5%A4%8D%E7%9B%98/index.xml" rel="self" type="application/rss+xml"/><item><title>Hermes-lite 裁剪实战：7 类典型坑与解法</title><link>https://caozuohua.github.io/posts/2026-06-25-hermes-lite-pitfalls-deep-dive/</link><pubDate>Thu, 25 Jun 2026 00:00:00 +0000</pubDate><guid>https://caozuohua.github.io/posts/2026-06-25-hermes-lite-pitfalls-deep-dive/</guid><description>&lt;p&gt;上一篇文章介绍了 Hermes-lite 的整体裁剪思路。这篇深入每一类实际踩过的坑，
把&amp;quot;为什么会遇到&amp;quot;和&amp;quot;怎么解&amp;quot;都说清楚。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一路径迁移坑"&gt;一、路径迁移坑&lt;/h2&gt;
&lt;p&gt;从 &lt;code&gt;.hermes/&lt;/code&gt; 迁到 &lt;code&gt;.hermes-lite/&lt;/code&gt; 后，不是只改 &lt;code&gt;HERMES_HOME&lt;/code&gt; 就完事。&lt;/p&gt;
&lt;h3 id="踩到的点"&gt;踩到的点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.skills_prompt_snapshot.json&lt;/code&gt; 里残留旧 &lt;code&gt;.hermes/&lt;/code&gt; 路径&lt;/li&gt;
&lt;li&gt;&lt;code&gt;web_search/SKILL.md&lt;/code&gt; 硬编码了旧路径&lt;/li&gt;
&lt;li&gt;技能、工具、memory、config、sessions、workspace 各自缓存旧路径&lt;/li&gt;
&lt;li&gt;systemd 环境变量、进程环境、配置文件、技能正文需要一起排查&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="经验"&gt;经验&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;迁移后 &lt;code&gt;grep&lt;/code&gt; 全目录旧路径：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;grep -r &lt;span style="color:#e6db74"&gt;&amp;#34;\.hermes/&amp;#34;&lt;/span&gt; /home/user/.hermes-lite/ --include&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;*.json&amp;#34;&lt;/span&gt; --include&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt; --include&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;*.yaml&amp;#34;&lt;/span&gt; -l
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;技能快照要清理重建，不能复用旧缓存&lt;/li&gt;
&lt;li&gt;systemd 重启不是可选项 — 长进程内缓存会保留旧状态&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl restart hermes-lite
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl status hermes-lite &lt;span style="color:#75715e"&gt;# 确认新 PID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="二技能裁剪坑"&gt;二、技能裁剪坑&lt;/h2&gt;
&lt;p&gt;一开始容易只看磁盘上有多少 &lt;code&gt;SKILL.md&lt;/code&gt;，但真正可用数量要看运行时过滤后的结果。&lt;/p&gt;
&lt;h3 id="踩到的点-1"&gt;踩到的点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;磁盘上 67 个 &lt;code&gt;SKILL.md&lt;/code&gt;，实际 gateway/slash 可见 65 个&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kanban-orchestrator/worker&lt;/code&gt; 因为 &lt;code&gt;environments: [kanban]&lt;/code&gt; 被过滤，这是预期不是坏了&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_find_all_skills(skip_disabled=True)&lt;/code&gt; 这个参数名容易误读，实际是返回全部技能，默认才过滤 disabled&lt;/li&gt;
&lt;li&gt;&lt;code&gt;web_search&lt;/code&gt; 技能存在，但 Tavily key 缺失，会变成&amp;quot;看得到但用不了&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="经验-1"&gt;经验&lt;/h3&gt;
&lt;p&gt;判断技能可用性要看三层：&lt;/p&gt;</description></item></channel></rss>