<?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/tags/%E8%BD%BB%E9%87%8F%E5%8C%96/</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/tags/%E8%BD%BB%E9%87%8F%E5%8C%96/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><item><title>Hermes-lite 裁剪指南：在 1GB VPS 上跑轻量 AI Agent</title><link>https://caozuohua.github.io/posts/2026-06-24-hermes-lite-trimming-guide/</link><pubDate>Wed, 24 Jun 2026 23:58:52 +0000</pubDate><guid>https://caozuohua.github.io/posts/2026-06-24-hermes-lite-trimming-guide/</guid><description>&lt;h2 id="为什么要裁剪"&gt;为什么要裁剪&lt;/h2&gt;
&lt;p&gt;完整版 Hermes Agent（Nous Research）功能丰富：多平台网关、浏览器自动化、语音 TTS/STT、多 Agent 协作、Kanban 看板等。但这些功能对资源要求不低——在我的测试里，完整配置更适合至少 2GB 内存的机器。&lt;/p&gt;
&lt;p&gt;我有一台 GCP e2-micro（2 vCPU / 954MB RAM），想用它跑一个 24/7 在线的 AI Agent 接入飞书。完整版装不下，于是有了这个裁剪实践。&lt;/p&gt;
&lt;h2 id="三阶段渐进式裁剪"&gt;三阶段渐进式裁剪&lt;/h2&gt;
&lt;p&gt;裁剪不是一步完成的，而是三阶段递进：&lt;/p&gt;
&lt;h3 id="第一阶段本地-codex-完成初期核心裁剪"&gt;第一阶段：本地 Codex 完成初期核心裁剪&lt;/h3&gt;
&lt;p&gt;在本地电脑上，利用 &lt;strong&gt;Codex（OpenAI）&lt;/strong&gt; 作为辅助分析工具，对完整版 Hermes 进行全面&amp;quot;解剖&amp;quot;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;逐一扫描 &lt;code&gt;~/.hermes/&lt;/code&gt; 目录结构，识别每个模块的职责&lt;/li&gt;
&lt;li&gt;分析 67 个技能的依赖关系，标记哪些是核心链路的、哪些是边缘功能&lt;/li&gt;
&lt;li&gt;梳理 config.yaml 中每个配置项的实际作用，搞清楚&amp;quot;关掉会怎样&amp;quot;&lt;/li&gt;
&lt;li&gt;输出一份裁剪清单：哪些 toolset 可以禁、哪些 skill 可以删、哪些配置可以收紧&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一阶段的核心价值：&lt;strong&gt;把&amp;quot;能不能关&amp;quot;这个判断做对&lt;/strong&gt;。Codex 帮助理解了代码间的依赖关系，避免直接关某个功能导致连锁崩溃。&lt;/p&gt;
&lt;h3 id="第二阶段大-vps-上跑完整版--压测验证"&gt;第二阶段：大 VPS 上跑完整版 + 压测验证&lt;/h3&gt;
&lt;p&gt;在&lt;strong&gt;一台大内存 VPS&lt;/strong&gt; 上安装完整版 Hermes，作为&amp;quot;对照基准&amp;quot;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;记录完整版的实际内存占用（idle / 高负载两种状态）&lt;/li&gt;
&lt;li&gt;逐个关闭非核心功能，观察内存变化和稳定性&lt;/li&gt;
&lt;li&gt;跑压测：模拟长时间运行、多轮对话、工具调用密集场景&lt;/li&gt;
&lt;li&gt;确认裁剪后系统在资源充足环境下依然稳定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一阶段的目的：&lt;strong&gt;建立性能基线 + 验证裁剪组合的安全性&lt;/strong&gt;。在大 VPS 上翻车无所谓，在小 VPS 上翻车就是服务宕机。&lt;/p&gt;</description></item></channel></rss>