<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[ISU实验室]]></title> 
<atom:link href="https://isulab.me/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[]]></description>
<link>https://isulab.me/</link>
<language>zh-cn</language>

<item>
    <title>Fabric Patch——我的第一个emlog主题</title>
    <link>https://isulab.me/resources/72.html</link>
    <description><![CDATA[<div class="el-p">
<p dir="auto"><!-- obsidian --></p>
<p><!-- obsidian --></p>
<p>由于没找到很心仪的主题，花点心思自己写了一个，于是有了 Fabric Patch。<br>主题：<a class="external-link" href="https://www.emlog.net/template/detail/1379" target="_blank" rel="noopener nofollow">https://www.emlog.net/template/detail/1379</a></p>
<h3 data-heading="主题介绍">主题介绍</h3>
<p>Fabric Patch（织物补丁）是一个暖色调手作布感主题，简约风格、移动端适配、浮动效果、多彩结合，节奏偏慢，适合日常记录与长文分享。</p>
<p><strong>主要特点</strong></p>
<ul>
<li>整体简约风格，较高可自定义度</li>
<li>移动端适配优化及侧栏收进抽屉</li>
<li>置顶文章自动升为大卡片展示</li>
<li>图片预览、代码块复制与评论区优化</li>
</ul>
<p><strong>Tips</strong></p>
<p>若遇到Bug先尝试更新版本，问题依旧存在可进行反馈。</p>
<h3 data-heading="截图">效果示例</h3>
<p>桌面端<br><span class="internal-embed"><img src="/content/uploadfile/202610/ab211792427500.png" alt="Fabric Patch&mdash;&mdash;我的第一个emlog主题_首屏​截图.png" width="1120" height="814"></span></p>
<p>移动端<br><span class="internal-embed"><img src="/content/uploadfile/202610/d8421792427508.png" alt="Fabric Patch&mdash;&mdash;我的第一个emlog主题_首屏截图_移动端.png" width="440" height="956"></span></p>
</div>]]></description>
    <pubDate>Mon, 19 Oct 2026 22:15:56 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/resources/72.html</guid>
</item>
<item>
    <title>Hermit-Hermes：Hermes Desktop 便携构建与更新工具</title>
    <link>https://isulab.me/resources/3.html</link>
    <description><![CDATA[<p class="code-line" dir="auto" data-line="2">项目地址：<a href="https://github.com/cogniwit/Hermit-Hermes" target="_blank" rel="noopener">https://github.com/cogniwit/Hermit-Hermes</a></p>
<p class="code-line" dir="auto" data-line="2">Hermit（隐士）寓意本项目为其构建一个完全隔离、自包含的便携环境&mdash;&mdash;不依赖系统环境，独立运行。</p>
<p class="code-line" dir="auto" data-line="4"><code>Hermit-Hermes</code>&nbsp;基于 Hermes Agent 官方正式版源码构建便携式的 Windows 版 Hermes Desktop。对上游源码 0 变更，仅在构建生成环节注入便携环境引导。</p>
<p class="code-line" dir="auto" data-line="6">上游源码：<a href="https://github.com/NousResearch/hermes-agent" target="_blank" rel="noopener" data-href="https://github.com/NousResearch/hermes-agent">https://github.com/NousResearch/hermes-agent</a></p>
<h2 id="特点" class="code-line" dir="auto" data-line="8">特点</h2>
<ul class="code-line" dir="auto" data-line="10">
<li class="code-line" dir="auto" data-line="10"><strong>安装/更新一体</strong>：无版本记录时全新安装，有记录时更新；<code>-Tag</code>&nbsp;指定版本构建，<code>-Tag</code>&nbsp;空值查询近 10 个版本、<code>-Tag listall</code>&nbsp;查询全部历史版本</li>
<li class="code-line" dir="auto" data-line="11"><strong>自带运行环境</strong>：内置 Python、Node.js、Git、uv、ripgrep、FFmpeg、Chromium 等运行时与工具，全部依赖、缓存与用户数据也均置于 Hermes 目录内。与系统环境完全隔离，不依赖系统预装的任何工具链，也无需管理员权限。</li>
<li class="code-line" dir="auto" data-line="12"><strong>失败不破坏现有版本</strong>：发布采用原子换名 +&nbsp;<code>__old</code>&nbsp;兜底，验证全部通过后才删除旧版本</li>
<li class="code-line" dir="auto" data-line="13"><strong>可整体移动</strong>：Hermes.exe 启动时自动从自身路径推导根目录并自修复内部路径，目录移动或改名后照常运行；修复失败会阻止启动，不带异常运行</li>
<li class="code-line" dir="auto" data-line="14"><strong>适用群体</strong>：例如：不想在硬盘中多处生成目录（文件、残留）的、移动硬盘中便携使用的、系统中环境（依赖）有频繁变动需求的......</li>
</ul>
<h2 id="使用前准备" class="code-line" dir="auto" data-line="16">使用前准备</h2>
<ul class="code-line" dir="auto" data-line="18">
<li class="code-line" dir="auto" data-line="18">Windows 10/11 x64（系统需自带&nbsp;<code>tar.exe</code>），PowerShell 5.1 或更高版本</li>
<li class="code-line" dir="auto" data-line="19">至少 8 GB 内存，推荐 16 GB</li>
<li class="code-line" dir="auto" data-line="20">网络需要能稳定访问（中国大陆地区建议科学上网） GitHub、Node.js、Python 包源和 Chromium 下载源等</li>
<li class="code-line" dir="auto" data-line="21">首次构建建议预留 12 GB 磁盘空间；Hermes 目录约 5~6 GB（只保留当前一份），实际大小随上游依赖变化</li>
<li class="code-line" dir="auto" data-line="22">构建前请先退出正在运行的 Hermes（文件被占用会导致发布替换失败）</li>
</ul>
<h2 id="注意事项" class="code-line" dir="auto" data-line="24">注意事项</h2>
<ul class="code-line" dir="auto" data-line="25">
<li class="code-line" dir="auto" data-line="25">若 Hermes 发布新版本导致脚本不适配，无法构建或更新版本，建议先使用&nbsp;<code>-Tag</code>&nbsp;指定版本安装旧版，或等待脚本更新适配新版</li>
<li class="code-line" dir="auto" data-line="26">由于 Node.js（node_modules）含大量依赖包，迁移 Hermes 目录时，建议先对目录tar或7z打包，移动压缩包到指定目录后解压，<strong>否则会变得不幸！！！</strong></li>
</ul>
<h2 id="构建" class="code-line" dir="auto" data-line="28">构建</h2>
<p class="code-line" dir="auto" data-line="30">将&nbsp;<code>Hermit-Hermes.ps1</code>&nbsp;放在你希望保存 Hermes 的位置，在该目录打开 PowerShell 执行：</p>
<pre><code class="code-line language-powershell" dir="auto" data-line="32">.\Hermit<span class="hljs-literal">-Hermes</span>.ps1
</code></pre>
<p class="code-line" dir="auto" data-line="36">若执行策略拒绝运行，可用一次性方式（不会修改系统策略）：</p>
<pre><code class="code-line language-powershell" dir="auto" data-line="38">powershell.exe <span class="hljs-literal">-NoProfile</span> <span class="hljs-literal">-ExecutionPolicy</span> Bypass <span class="hljs-operator">-File</span> .\Hermit<span class="hljs-literal">-Hermes</span>.ps1
</code></pre>
<p class="code-line" dir="auto" data-line="42">流程：环境预检（进程/网络/磁盘）&rarr; 版本判断 &rarr; 确认&rarr; 引导工具 &rarr; 拉取源码 &rarr; 私有工具 &rarr; Agent 运行环境 &rarr; 桌面端打包 &rarr; 注入便携引导 &rarr; 验证发布 &rarr; 清理工作区。首次构建耗时较长（大量下载），需要稳定网络与耐心等待。如果已是最新版本，脚本会跳过构建，只验证现有 Hermes 目录后结束。</p>
<p class="code-line" dir="auto" data-line="44">首次全新安装成功后，脚本会把自己复制到&nbsp;<code>Hermes\Hermit-Hermes.ps1</code>&nbsp;并删除根目录原件；之后更新直接运行 Hermes 内的副本即可，副本通过&nbsp;<code>Hermes\manifests\installed.json</code>&nbsp;自动推导构建根目录，无需手动配置。</p>
<p class="code-line" dir="auto" data-line="46">版本范围：Hermes Desktop 自上游 v2026.6.5 起引入，v2026.6.5 之前的版本不含桌面端，无法构建出 Hermes.exe。因此&nbsp;<code>-Tag</code>&nbsp;查询只会列出 v2026.6.5 及以后的版本；若指定更早版本（如&nbsp;<code>-Tag v2026.5.29</code>），脚本会提示该版本不可构建并退出。优先选择新版本，不建议使用旧版本，旧版本各种问题颇多。</p>
<h2 id="可选参数" class="code-line" dir="auto" data-line="48">可选参数</h2>
<pre><code class="code-line language-powershell" dir="auto" data-line="50"><span class="hljs-comment"># 构建指定正式版；-Tag 不带值查询近 10 个版本，-Tag listall 查询全部历史版本</span>
.\Hermit<span class="hljs-literal">-Hermes</span>.ps1 <span class="hljs-literal">-Tag</span> v2026.<span class="hljs-number">8.3</span>

<span class="hljs-comment"># 构建失败后保留临时源码工作树，方便排查</span>
.\Hermit<span class="hljs-literal">-Hermes</span>.ps1 <span class="hljs-literal">-KeepBuild</span>

<span class="hljs-comment"># 构建开始前跳过确认提示（用于自动化）</span>
.\Hermit<span class="hljs-literal">-Hermes</span>.ps1 <span class="hljs-literal">-SkipConfirm</span>

<span class="hljs-comment"># 备份个人数据（配置/数据库/会话等必要数据）到 Hermes\backups\ 目录</span>
.\Hermit<span class="hljs-literal">-Hermes</span>.ps1 <span class="hljs-literal">-Backup</span>
</code></pre>
<h2 id="启动-hermes" class="code-line" dir="auto" data-line="64">启动 Hermes</h2>
<p class="code-line" dir="auto" data-line="66">直接双击&nbsp;<code>Hermes\app\Hermes.exe</code>&nbsp;即可（或自行发送到桌面快捷方式，但移动 Hermes 目录后需要手动修正）。</p>
<h2 id="目录说明" class="code-line" dir="auto" data-line="68">目录说明</h2>
<pre><code class="code-line language-text" dir="auto" data-line="70">Hermit-Hermes.ps1         构建/更新脚本（首次运行入口）
Hermes\                   Hermes 应用与运行环境（可整个打包分发）
├─ Hermit-Hermes.ps1      构建/更新脚本副本（首次安装后自动迁入）
├─ app\                   Hermes Desktop（Hermes.exe 为启动入口）
├─ backups\               个人数据备份目录（配置/数据库/会话等必要数据）
├─ runtime\               Agent 与私有运行环境（CPython（含 venv）、Node、Git、uv、Playwright 浏览器）
├─ tools\                 ripgrep 与 FFmpeg
├─ data\                  Hermes 私有配置、日志和用户数据
├─ manifests\             已构建版本信息（installed.json）
└─ build\                 构建工作区（缓存/日志，可随时删除）
</code></pre>
<p class="code-line" dir="auto" data-line="83"><code>Hermes\build\</code>&nbsp;只用于加速后续构建与排查，分发前删除即可。分发请使用全新构建的版本，避免个人数据与大量缓存被意外带出。</p>
<h2 id="发布机制" class="code-line" dir="auto" data-line="85">发布机制</h2>
<ul class="code-line" dir="auto" data-line="87">
<li class="code-line" dir="auto" data-line="87">新版本先在&nbsp;<code>Hermes\build\</code>&nbsp;候选目录中构建并验证，验证全部通过后发布</li>
<li class="code-line" dir="auto" data-line="88">发布时把当前版本短暂移至&nbsp;<code>__old</code>&nbsp;兜底，再原子换名发布新版本，随后删除&nbsp;<code>__old</code>；磁盘上只保留当前一份版本</li>
<li class="code-line" dir="auto" data-line="89">发布后自动清理根目录中不属于标准结构的多余残留（旧版 cache、标记文件等），Hermes 目录保持干净</li>
<li class="code-line" dir="auto" data-line="90">大量依赖复用缓存：下载包 SHA-256 校验命中、Node 主版本未变直接复制、私有工具版本相同跳过重装、Chromium 已安装则跳过下载</li>
<li class="code-line" dir="auto" data-line="91">所有构建都不会改动&nbsp;<code>data\</code>&nbsp;中的用户数据</li>
</ul>
<h2 id="脚本发布与更新" class="code-line" dir="auto" data-line="93">脚本发布与更新</h2>
<p class="code-line" dir="auto" data-line="95"><code>Hermit-Hermes.ps1</code>&nbsp;自身通过 GitHub Releases 发布并自动更新：</p>
<ul class="code-line" dir="auto" data-line="97">
<li class="code-line" dir="auto" data-line="97">每次运行会先检查最新版本（<code>cogniwit/Hermit-Hermes</code>&nbsp;仓库），有新版本必须先更新，通过后才能进入构建流程</li>
<li class="code-line" dir="auto" data-line="98">更新时下载&nbsp;<code>Hermit-Hermes.ps1</code>，SHA-256 直接取自 GitHub 官方为资产计算的 digest，校验通过后替换自身，并提示重新运行</li>
<li class="code-line" dir="auto" data-line="99">检查失败（网络不通、仓库无 Release、资产缺失或校验失败）会阻止构建，避免使用未知或损坏的脚本</li>
</ul>
<h2 id="故障处理" class="code-line" dir="auto" data-line="101">故障处理</h2>
<ul class="code-line" dir="auto" data-line="103">
<li class="code-line" dir="auto" data-line="103">构建时请从已打开的 PowerShell 执行脚本，不建议双击&nbsp;<code>.ps1</code>，以免报错后窗口关闭</li>
<li class="code-line" dir="auto" data-line="104">运行前会先做环境预检（进程、网络、磁盘空间）；互不依赖的长任务并行执行</li>
<li class="code-line" dir="auto" data-line="105">失败时显示诊断卡片（阶段、原因、日志路径、处理建议）；完整日志：<code>Hermes\build\logs\build-日期-时间.log</code></li>
<li class="code-line" dir="auto" data-line="106">若 Hermes.exe 启动异常，请查看&nbsp;<code>Hermes\data\logs\desktop.log</code></li>
</ul>
<h3 id="重建即修复" class="code-line" dir="auto" data-line="108">重建即修复</h3>
<p class="code-line" dir="auto" data-line="110">程序层故障（依赖损坏、文件缺失、启动异常、功能异常等）可通过重建「重装」修复：</p>
<ul class="code-line" dir="auto" data-line="112">
<li class="code-line" dir="auto" data-line="112">先退出正在运行的 Hermes，再执行&nbsp;<code>.\Hermit-Hermes.ps1 -Tag &lt;当前版本&gt;</code>&nbsp;强制重建当前版本（可执行&nbsp;<code>-Tag</code>&nbsp;不带查询值查询当前版本信息）；不带&nbsp;<code>-Tag</code>&nbsp;且已是最新版本时，脚本只做完整性校验、不会重建</li>
<li class="code-line" dir="auto" data-line="113">重建会重新生成&nbsp;<code>runtime\</code>（Python venv、全部依赖、Node、Git、uv、Playwright 浏览器）与&nbsp;<code>app\</code>（Hermes.exe 桌面端），相当于程序层全新重装</li>
<li class="code-line" dir="auto" data-line="114">发布采用原子换名 +&nbsp;<code>__old</code>&nbsp;兜底，重建失败不会破坏现有版本</li>
<li class="code-line" dir="auto" data-line="115"><code>data\</code>&nbsp;个人数据完全不受影响；若问题出在个人数据（配置/数据库损坏等），重建无法修复，应先执行&nbsp;<code>.\Hermit-Hermes.ps1 -Backup</code>&nbsp;备份，再重置&nbsp;<code>data\</code></li>
</ul>
<h2 id="官方安装器残留清单" class="code-line" dir="auto" data-line="117">官方安装器残留清单</h2>
<p class="code-line" dir="auto" data-line="119">以下内容来自上游 v2026.8.3 的&nbsp;<code>scripts/install.ps1</code>、<code>apps/bootstrap-installer</code>&nbsp;与&nbsp;<code>apps/desktop</code>，为本构建器刻意完全避免的系统级痕迹；上游后续版本可能变化，以源码为准：</p>
<pre><code class="code-line language-text" dir="auto" data-line="121">目录：
%LOCALAPPDATA%\hermes                        Hermes 主目录（hermes-agent\、git\、bin\、logs\、
                                             bootstrap-cache\、hermes-setup.exe、更新标记等）
%LOCALAPPDATA%\hermes\hermes-agent\          Agent 安装与 Python venv
%LOCALAPPDATA%\uv                            uv 缓存（UV_CACHE_DIR 默认值）
%APPDATA%\uv                                 uv 数据目录（托管的 Python 与工具）
%USERPROFILE%\.local\bin                     uv 工具可执行文件目录（UV_TOOL_BIN_DIR 默认值）
%LOCALAPPDATA%\ms-playwright                 Playwright 浏览器（Chromium）
%LOCALAPPDATA%\electron\Cache                Electron 缓存
%LOCALAPPDATA%\com.nousresearch.hermes.setup Tauri 安装器数据（WebView2 等）
%APPDATA%\Hermes                             Electron 桌面端默认用户数据目录
%LOCALAPPDATA%\Microsoft\WinGet              winget 数据与命令别名

快捷方式文件：
%USERPROFILE%\Desktop\Hermes.lnk
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Hermes.lnk

用户环境变量：
HERMES_HOME              = %LOCALAPPDATA%\hermes
HERMES_GIT_BASH_PATH     = %LOCALAPPDATA%\hermes\git\bin\bash.exe

用户环境变量 Path 追加：
%LOCALAPPDATA%\hermes\hermes-agent\venv\Scripts
%LOCALAPPDATA%\hermes\bin
%LOCALAPPDATA%\Microsoft\WinGet\Links

winget 可能额外安装（视系统环境）：
Python 3.11（Python.Python.3.11）&rarr; %LOCALAPPDATA%\Programs\Python\Python311
Node.js LTS（OpenJS.NodeJS.LTS）&rarr; %ProgramFiles%\nodejs（系统级 MSI，需管理员）
ripgrep（BurntSushi.ripgrep.MSVC）、FFmpeg（Gyan.FFmpeg）&rarr; 由 winget 管理</code></pre>]]></description>
    <pubDate>Fri, 04 Sep 2026 00:30:49 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/resources/3.html</guid>
</item>
<item>
    <title>数据恢复中！</title>
    <link>https://isulab.me/daily/1.html</link>
    <description><![CDATA[<p>由于服务器机房及硬盘故障，包含多处数据备份也无法完整读取，导致本站数据丢失，正在尝试恢复中！</p>]]></description>
    <pubDate>Tue, 01 Sep 2026 16:21:58 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/daily/1.html</guid>
</item>
<item>
    <title>测试内容5</title>
    <link>https://isulab.me/daily/77.html</link>
    <description><![CDATA[<p>测试内容5</p>]]></description>
    <pubDate>Thu, 01 Jan 2026 22:45:14 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/daily/77.html</guid>
</item>
<item>
    <title>测试内容4</title>
    <link>https://isulab.me/daily/76.html</link>
    <description><![CDATA[<p>测试内容4</p>]]></description>
    <pubDate>Thu, 01 Jan 2026 22:45:03 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/daily/76.html</guid>
</item>
<item>
    <title>测试内容3</title>
    <link>https://isulab.me/daily/75.html</link>
    <description><![CDATA[<p>测试内容3</p>]]></description>
    <pubDate>Thu, 01 Jan 2026 22:44:50 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/daily/75.html</guid>
</item>
<item>
    <title>测试内容2</title>
    <link>https://isulab.me/daily/74.html</link>
    <description><![CDATA[<p>测试内容2</p>]]></description>
    <pubDate>Wed, 31 Dec 2025 00:00:00 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/daily/74.html</guid>
</item>
<item>
    <title>测试内容1</title>
    <link>https://isulab.me/测试分类/73.html</link>
    <description><![CDATA[<p>测试内容1</p>]]></description>
    <pubDate>Mon, 01 Jan 2024 22:44:12 +0800</pubDate>
    <dc:creator>ISU大大</dc:creator>
    <guid>https://isulab.me/测试分类/73.html</guid>
</item>
</channel>
</rss>