<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Openclaw on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/openclaw/</link>
    <description>Recent content in Openclaw on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 11 Jul 2026 04:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/openclaw/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Don&#39;t Let Your Mac mini Gather Dust: Run Agents 24/7 from Windows</title>
      <link>https://blog.margrop.net/en/post/windows-remote-desktop-mac-realvnc/</link>
      <pubDate>Sat, 11 Jul 2026 04:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/windows-remote-desktop-mac-realvnc/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If Windows is your everyday platform but a low-power Mac mini stays on to run OpenClaw, HermesAgent, or macOS-only automation, you do not need to dedicate another monitor, keyboard, and mouse to it. Treat the Mac mini as a quiet Agent server. macOS already includes Screen Sharing, and RealVNC Viewer on Windows can take over the desktop whenever configuration, upgrades, or troubleshooting require a GUI.&lt;/p&gt;&#xA;&lt;p&gt;This is especially useful in a Windows-first home or studio where the Mac mini runs continuously at relatively low power while the Windows machines remain the daily workstations. The installation is rarely the difficult part. Most failures come from Screen Sharing, user authorization, VNC credentials, network reachability, sleep behavior, or services that do not recover after a restart.&lt;/p&gt;&#xA;&lt;p&gt;One rule matters more than every convenience tweak in this guide: &lt;strong&gt;do not expose TCP port 5900 directly to the public Internet.&lt;/strong&gt; A same-LAN connection is the simplest starting point. For access across networks, first join a self-hosted VPN or another controlled private network, and only then connect to the Mac.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>One Missing operator.write Took Down the Gateway: The OpenClaw Fallback Failure That Wasn&#39;t a Model Problem</title>
      <link>https://blog.margrop.net/en/post/openclaw-missing-operator-write-scope/</link>
      <pubDate>Fri, 10 Jul 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-missing-operator-write-scope/</guid>
      <description>&lt;p&gt;This incident looked like a model-provider outage at first. OpenClaw had just received three NewAPI-backed fallback models, but gateway-based model calls started failing with a provider authentication error. After peeling back the outer message, the real error was much more specific:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;missing scope: operator.write&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That string changed the direction of the investigation. The provider key was not the root problem. The NewAPI endpoint was not the root problem. The model names were not the root problem either. The failure lived inside OpenClaw&amp;rsquo;s gateway authorization path: when a model override was used, the gateway call switched into a backend/gateway-client mode, but did not force the request to use the already paired stored device identity. The device had &lt;code&gt;operator.write&lt;/code&gt;; the request simply did not carry the identity that could prove it.&lt;/p&gt;&#xA;&lt;p&gt;The shortest version is this: &lt;strong&gt;the badge existed, but this entrance did not scan it.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;AI-generated cover showing a gateway protected by two authorization locks&#34; src=&#34;https://blog.margrop.net/post-images/openclaw-missing-operator-write-scope/cover.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stop Letting Agents Burn Tokens: Wiring Headroom into NewAPI, OpenClaw, and HermesAgent</title>
      <link>https://blog.margrop.net/en/post/headroom-newapi-openclaw-hermesagent-token-compression-guide/</link>
      <pubDate>Sat, 20 Jun 2026 12:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/headroom-newapi-openclaw-hermesagent-token-compression-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I did not replace NewAPI, and I did not point OpenClaw or HermesAgent at an unproven gateway. The actual design is simpler: place Headroom in front of NewAPI, then move only the already validated OpenAI-compatible providers to &lt;code&gt;http://&amp;lt;headroom-host&amp;gt;:8787/v1&lt;/code&gt;. The original NewAPI endpoint stays available. Long agent context now goes through Headroom first, gets compressed, then continues to NewAPI for the same routing and model management as before.&lt;/p&gt;&#xA;&lt;p&gt;The rule that kept the rollout boring was: &lt;strong&gt;test first, edit second; migrate only OpenAI-compatible providers that pass; leave non-OpenAI fallbacks alone.&lt;/strong&gt; This post is both a write-up and a runbook you can hand to an Agent or follow manually.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>OpenClaw TUI Keeps Repeating Itself? A Temporary Patch for Duplicate Thinking and Replies</title>
      <link>https://blog.margrop.net/en/post/openclaw-tui-duplicate-thinking-stream-patch/</link>
      <pubDate>Tue, 02 Jun 2026 10:42:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-tui-duplicate-thinking-stream-patch/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If OpenClaw TUI shows the same thinking block twice and repeats the final answer, do not immediately delete every session or rebuild every model provider. In many OpenAI-compatible setups, the real issue is a streaming compatibility edge case: the upstream stream emits normal &lt;code&gt;delta&lt;/code&gt; chunks and then an extra full &lt;code&gt;message&lt;/code&gt; tail. Some OpenClaw paths may aggregate both, so the TUI and the persisted session both end up with duplicated content.&lt;/p&gt;&#xA;&lt;p&gt;The practical temporary fix is to back up the local OpenClaw installation, add a conservative dedupe guard in the OpenClaw aggregation layer, restart the gateway, and verify with a unique marker that both the visible reply and the session file contain only one copy.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a privacy-safe incident note. All endpoints, model names, tokens, internal addresses, and session identifiers are replaced by placeholders. Use your own installation path and model identifiers when applying the workaround.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Complete AI Agent Migration Guide: A Real-World Journey from Scratch with 9 Pitfalls and Fixes</title>
      <link>https://blog.margrop.net/en/post/ai-agent-complete-migration-guide-from-scratch/</link>
      <pubDate>Sat, 30 May 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/ai-agent-complete-migration-guide-from-scratch/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Migrating from one AI Agent platform to another sounds like a &amp;ldquo;copy and paste&amp;rdquo; job. In reality, it&amp;rsquo;s a systems engineering challenge involving data migration, channel integration, scheduled tasks, auto-start configuration, proxy settings, and module compatibility.&lt;/p&gt;&#xA;&lt;p&gt;This article documents my complete migration journey: from installing the new platform, migrating memories and skills, configuring messaging channels, debugging mysterious failures, to achieving fully automated operation. 9 pitfalls encountered, 9 solutions found — all shared here.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Why My AI Assistant Repeated One Reply Four Times: Debugging an OpenClaw WeChat Channel Issue</title>
      <link>https://blog.margrop.net/en/post/openclaw-wechat-duplicate-reply-debugging/</link>
      <pubDate>Fri, 29 May 2026 11:24:29 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-wechat-duplicate-reply-debugging/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The symptom looked like a messaging-channel bug: an AI assistant connected to a personal chat channel appeared to repeat the same reply multiple times. The real bug was earlier in the chain. Before the reply ever reached the message-sending layer, the OpenClaw agent had already produced duplicated visible text. The useful fix was not to patch the chat sender blindly, but to split the path into transport, session, model-routing, and provider layers, then compare the OpenAI-compatible gateway path with the native provider path. Once the faulty compatible provider candidate was removed from the visible model set and the personal IM channel was pinned to the native provider, the same minimal prompt returned exactly once.&lt;/p&gt;&#xA;&lt;p&gt;This post is deliberately privacy-safe. It contains no real internal addresses, account IDs, tokens, session IDs, personal chat identifiers, or private file paths. Configuration examples use placeholders. The value is the debugging method, not the private environment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>OpenClaw Upgrade Guide: From Beginner to Expert</title>
      <link>https://blog.margrop.net/en/post/openclaw-hermesagent-upgrade-guide/</link>
      <pubDate>Fri, 29 May 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-hermesagent-upgrade-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;OpenClaw is a powerful personal AI assistant that supports multiple messaging channels and AI models. Upgrading OpenClaw is actually very simple — the most recommended way is to use the &lt;code&gt;openclaw update&lt;/code&gt; command. This article will详细介绍 various upgrade methods, including switching from npm package installation to git source installation, as well as verification and rollback strategies after upgrading.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;All examples in this article use public projects, public links, and placeholders. No real server addresses, accounts, tokens, business configuration, or private network details are included. The figures are taken from the official OpenClaw repository and documentation, and are referenced under the project&amp;rsquo;s MIT license.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from OpenClaw to HermesAgent: A Smooth AI Agent Migration in Practice</title>
      <link>https://blog.margrop.net/en/post/openclaw-to-hermesagent-migration/</link>
      <pubDate>Fri, 29 May 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-to-hermesagent-migration/</guid>
      <description>&lt;h2 id=&#34;introduction-why-am-i-moving&#34;&gt;Introduction: Why Am I &amp;ldquo;Moving&amp;rdquo;?&lt;/h2&gt;&#xA;&lt;p&gt;In 2026, the AI agent landscape is evolving at an incredible pace. Tools that were cutting-edge six months ago might already be surpassed by more powerful alternatives. As someone who relies heavily on AI agents for daily work, I&amp;rsquo;ve been closely following the latest developments in this field.&lt;/p&gt;&#xA;&lt;p&gt;Recently, I completed a full migration from OpenClaw to HermesAgent. This wasn&amp;rsquo;t an impulsive decision, but a thoughtful choice made after experiencing the differences between the two tools in real-world usage.&lt;/p&gt;&#xA;&lt;p&gt;This article will share in detail:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Background&lt;/strong&gt;: What OpenClaw and HermesAgent are&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Migration Reasons&lt;/strong&gt;: Why I decided to migrate&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Migration Process&lt;/strong&gt;: Step-by-step guide to complete the migration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Pitfalls Encountered&lt;/strong&gt;: Problems and solutions during migration&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Post-Migration Cleanup&lt;/strong&gt;: How to completely remove OpenClaw residuals&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Post-Migration Experience&lt;/strong&gt;: New capabilities gained from HermesAgent&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Q&amp;amp;A&lt;/strong&gt;: Frequently asked questions&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>After Buying an 80-Yuan 10-Year Domain, Hand the Rest to Cloudflare</title>
      <link>https://blog.margrop.net/en/post/cloudflare-domain-dns-ddns-email-agent/</link>
      <pubDate>Wed, 13 May 2026 08:46:06 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/cloudflare-domain-dns-ddns-email-agent/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Buying a cheap domain is only the first step. The real value starts when you move authoritative DNS to Cloudflare: DNS records, dynamic DNS, business email verification, mail forwarding, certificate automation, and even Agent-assisted configuration through scoped API Tokens can all live behind one clean control plane. The previous article covered how to buy a low-cost &lt;code&gt;.xyz&lt;/code&gt; domain for roughly &lt;code&gt;80 RMB for 10 years&lt;/code&gt;. This one continues from there: how to connect that domain to Cloudflare, the generous infrastructure provider many people jokingly call a public good of the Internet, and how to use it efficiently without leaking secrets.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;All screenshots and examples in this article use safe placeholders such as &lt;code&gt;example.xyz&lt;/code&gt;, &lt;code&gt;203.0.113.10&lt;/code&gt;, and &lt;code&gt;2001:db8::10&lt;/code&gt;. They do not contain real domains, real IP addresses, Cloudflare account identifiers, Zone IDs, API Tokens, or private network information. Replace the placeholders with your own values when you follow the steps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading PVE 8 to 9 Without Brute Force: Let an Agent Drive It, or Follow This Manual Checklist</title>
      <link>https://blog.margrop.net/en/post/pve8-to-pve9-agent-manual-upgrade-guide/</link>
      <pubDate>Tue, 12 May 2026 19:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/pve8-to-pve9-agent-manual-upgrade-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Upgrading Proxmox VE 8 to 9 is not just copying a few commands. It is a major system upgrade from Debian Bookworm to Trixie, from PVE 8.4 to PVE 9.x, with kernel, storage, networking, Ceph, and HA behavior in the blast radius. The fastest practical path is to let Codex, Claude, OpenClaw, HermesAgent, or a similar Agent handle checks, command sequencing, logging, and post-upgrade verification. The human operator still needs to approve repository changes, package removals, configuration prompts, reboot timing, and recovery decisions. If you prefer doing everything by hand, the second half of this article gives a concrete manual checklist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This article is for two groups of operators. The first group already uses Agents over SSH and wants a scoped one-sentence task for upgrading PVE. The second group prefers typing every command manually and wants a clear, ordered procedure with the main risk points called out.&lt;/p&gt;&#xA;&lt;p&gt;All hostnames, addresses, repositories, tokens, and accounts in this article are placeholders. Replace values such as &lt;code&gt;&amp;lt;PVE_NODE&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;BACKUP_TARGET&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;ADMIN_CONSOLE&amp;gt;&lt;/code&gt; with your own environment. Before touching a production host, read the official Proxmox documentation and verify that your backups are restorable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu 26.04 Upgrade Guide: Let an Agent Do It, or Run It by Hand</title>
      <link>https://blog.margrop.net/en/post/ubuntu-2604-upgrade-agent-manual-guide/</link>
      <pubDate>Tue, 12 May 2026 07:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/ubuntu-2604-upgrade-agent-manual-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Upgrading Ubuntu 22.04 or 24.04 to Ubuntu 26.04 is not about memorizing one command. It is about following the supported upgrade path. Ubuntu 22.04 LTS should not be jumped directly to Ubuntu 26.04 LTS. Upgrade 22.04 LTS to 24.04 LTS first, then move from 24.04 LTS to 26.04 LTS. As of 2026-05-12, Ubuntu 26.04 LTS has already been released, but the normal LTS-to-LTS upgrade prompt from 24.04 LTS to 26.04 LTS is typically enabled after the first point release. The official 26.04 schedule lists the 26.04.1 point release on 2026-07-09. Production systems should usually wait for the regular upgrade path; test systems can evaluate an early upgrade only with explicit risk acceptance.&lt;/p&gt;&#xA;&lt;p&gt;If you already use agents such as Code, Claude, OpenClaw, HermesAgent, Codex, or OpenCode, this is a good task to delegate. But do not just say “upgrade Ubuntu.” Give the agent a bounded job: inspect first, back up, follow the supported path, keep logs, ask before risky choices, reboot, verify services, and report evidence. This article gives both a ready-to-copy agent prompt and a manual procedure.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;All examples in this article are generic. No private hostnames, internal addresses, accounts, credentials, tokens, business system names, or personal paths are included. Replace placeholders such as &lt;code&gt;&amp;lt;HOST&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;SERVICE&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;BACKUP_DIR&amp;gt;&lt;/code&gt; with values from your own environment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Small Models Make Agents Drift. Superpowers Gives Them Rails.</title>
      <link>https://blog.margrop.net/en/post/agent-superpowers-stable-output/</link>
      <pubDate>Thu, 07 May 2026 16:43:10 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/agent-superpowers-stable-output/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;When an agent powered by a smaller or weaker model behaves unpredictably, the problem is not always solved by writing a longer prompt. Smaller models often struggle with long-horizon consistency, tool discipline, evidence tracking, and multi-step execution. Superpowers does not turn a weak model into a frontier model. What it does is more practical: it gives the agent an external engineering workflow made of reusable Skills, checkpoints, testing habits, debugging rules, review steps, and completion verification.&lt;/p&gt;&#xA;&lt;p&gt;For agents such as OpenClaw, HermesAgent, Codex, Claude, Gemini, OpenCode, Droid, Cursor, and similar tools, Superpowers is best understood as an engineering-discipline layer. It makes the agent less dependent on improvisation and more likely to follow a repeatable process.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This article is about a very common failure mode in modern agent workflows: the model can talk fluently, but the agent does not behave reliably once the task becomes long, stateful, tool-heavy, or distributed across multiple agents.&lt;/p&gt;&#xA;&lt;p&gt;The issue becomes more visible when using smaller domestic models, local models, quantized models, or cost-optimized models. They may answer normal questions well enough, but once they need to read a repository, follow a constraint, modify files, run tests, interpret logs, preserve privacy, and report only verified results, the instability becomes obvious.&lt;/p&gt;&#xA;&lt;p&gt;All examples in this article are generic. No private hostnames, internal addresses, credentials, project names, or personal paths are included.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Prompt OpenClaw, HermesAgent, Codex, Claude, Gemini, OpenCode, and Droid to Write Articles and Publish WeChat Drafts</title>
      <link>https://blog.margrop.net/en/post/agent-prompt-wechat-draft-automation/</link>
      <pubDate>Tue, 05 May 2026 16:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/agent-prompt-wechat-draft-automation/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you want an agent such as OpenClaw, HermesAgent, Codex, Claude, Gemini, OpenCode, or Droid to write an article, prepare a Hugo blog post, convert the Chinese version into WeChat-compatible HTML, preview it, fix layout issues, and create a WeChat Official Account draft, the prompt cannot simply say &amp;ldquo;write and publish an article.&amp;rdquo; A useful prompt must define the goal, source material, paths, account constraints, fixed-IP requirements, conversion steps, preview checks, failure recovery, privacy boundaries, and final verification evidence.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post describes a reusable prompting pattern for article automation. It explains how to prepare the WeChat draft API, why a Linux machine with a fixed public IP is often required, how to tell an agent to try local API access first and then fall back to a fixed-egress host, how to use a Markdown-to-WeChat-HTML converter, and how to make the agent check for invisible white text, strange indentation, broken images, and accidental leaks before declaring the job done.&lt;/p&gt;&#xA;&lt;p&gt;All examples are privacy-safe. They use placeholders rather than real secrets, private IP addresses, hostnames, repository URLs, tokens, cookies, or personal paths. Replace placeholders with your own values only in a protected runtime environment, never in a public article, public repository, or screenshot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integrating Synology Operations as an OpenClaw / HermesAgent Skill: From One Sentence to Auditable NAS Automation</title>
      <link>https://blog.margrop.net/en/post/openclaw-hermesagent-synology-skill/</link>
      <pubDate>Tue, 05 May 2026 12:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-hermesagent-synology-skill/</guid>
      <description>&lt;p&gt;I have already written two Synology CLI references on this blog:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/en/post/synology-ssh-commands/&#34;&gt;Synology SSH Commands Cheatsheet&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/en/post/synology-diskstation-cli-administration-guide/&#34;&gt;Synology NAS CLI Administration Guide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Those posts answer the question: “What commands can a human run on a Synology NAS?” This article answers a different question: if I already use OpenClaw / HermesAgent, how can I turn those commands into an operations Skill so that I can ask the agent, in one sentence, to inspect the NAS, summarize evidence, prepare a maintenance plan, and execute approved commands only when the risk is acceptable?&lt;/p&gt;&#xA;&lt;p&gt;The short answer is: yes, but the Skill must not become an unrestricted root shell. The right design is:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Make Synology SSH access controlled, testable, and revocable.&lt;/li&gt;&#xA;&lt;li&gt;Put common Synology CLI operations into a Skill, together with command categories, risk levels, and output rules.&lt;/li&gt;&#xA;&lt;li&gt;Allow read-only diagnostics by default.&lt;/li&gt;&#xA;&lt;li&gt;Require explicit approval for service restarts, permission changes, user changes, network changes, deletion, and storage operations.&lt;/li&gt;&#xA;&lt;li&gt;Preserve commands, output, and reasoning so each operation remains auditable.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;If you only want the big picture, the diagram below summarizes the whole article.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;OpenClaw / HermesAgent Synology Skill overview&#34; src=&#34;https://blog.margrop.net/post-images/openclaw-hermesagent-synology-skill/01-overview-handdrawn.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Best Home for OpenClaw / HermesAgent: Proxmox VE</title>
      <link>https://blog.margrop.net/en/post/openclaw-hermesagent-best-home-proxmoxve/</link>
      <pubDate>Wed, 29 Apr 2026 10:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-hermesagent-best-home-proxmoxve/</guid>
      <description>&lt;h1 id=&#34;the-best-home-for-openclaw--hermesagent-proxmox-ve&#34;&gt;The Best Home for OpenClaw / HermesAgent: Proxmox VE&lt;/h1&gt;&#xA;&lt;p&gt;If you treat OpenClaw or HermesAgent as just another chatbot, the installation target looks unimportant. It can run on a physical machine, a VPS, a Docker host, or even a daily laptop.&lt;/p&gt;&#xA;&lt;p&gt;That changes the moment the agent starts receiving messages, running shell commands, reading and writing files, launching browser automation, storing long-term memory, and executing scheduled tasks. At that point, the question is no longer “where can it run?” The real question is: &lt;strong&gt;what boundary should contain it?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;My conclusion is simple: &lt;strong&gt;for long-running personal agents such as OpenClaw and HermesAgent, the most reliable home is not the physical host itself, but a dedicated virtual machine on Proxmox VE.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is not because Proxmox VE is fashionable. It is because it solves the three problems that matter most for agent infrastructure: data isolation, compute isolation, and backup/restore.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenClaw Backup Failure Investigation and Fix: From Two Broken Schedules to a Fully Restored Automation Pipeline</title>
      <link>https://blog.margrop.net/en/post/openclaw-backup-failure-investigation-and-fix/</link>
      <pubDate>Mon, 13 Apr 2026 09:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-backup-failure-investigation-and-fix/</guid>
      <description>&lt;p&gt;This post is a full incident review, not because the failure was dramatic, but because it was a very typical automation problem.&lt;/p&gt;&#xA;&lt;p&gt;Two machines lost their automatic OpenClaw backups at the same time: a local macOS machine and a remote VPS. Manual runs worked on both sides, and the archives could still be synchronized to the NAS, but the scheduled jobs were unreliable. At first glance it looked like &amp;ldquo;the scheduler did not fire.&amp;rdquo; In reality, the root cause was spread across scheduling, permissions, locking, logging, and even the way I validated the schedule.&lt;/p&gt;&#xA;&lt;p&gt;That combination is what makes these incidents annoying: every individual piece looks almost fine, yet the full pipeline still fails.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using WoClaw to Solve Shared Memory for Multi-Agent Workflows: OpenClaw, Codex, Claude, and Gemini on the Same Table</title>
      <link>https://blog.margrop.net/en/post/woclaw-shared-memory-for-openclaw-codex-claude-gemini/</link>
      <pubDate>Sun, 05 Apr 2026 20:10:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/woclaw-shared-memory-for-openclaw-codex-claude-gemini/</guid>
      <description>&lt;p&gt;What matters most in a multi-agent system is often not &amp;ldquo;which model is smarter&amp;rdquo;, but &amp;ldquo;which agent still remembers what happened five minutes ago&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;When I put OpenClaw, OpenAI Codex, Claude, and Gemini into the same workflow, the most painful problem was not raw answer quality. It was context fragmentation:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;OpenClaw remembered scheduling decisions, Codex remembered implementation details, Claude remembered review conclusions, and Gemini remembered external references, but none of them knew what the others knew.&lt;/li&gt;&#xA;&lt;li&gt;Each tool had its own session lifecycle, so yesterday&amp;rsquo;s discussion was often gone by tomorrow.&lt;/li&gt;&#xA;&lt;li&gt;As soon as a project entered a multi-round, multi-tool stage, repeating the same background became more expensive than solving the problem itself.&lt;/li&gt;&#xA;&lt;li&gt;Without a shared memory layer, the final result was not collaboration, but several partial answers that looked similar and still failed to line up.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;This post is about how I used WoClaw to place all of those tools on the same shared memory layer, so they could stop talking past each other and start working from the same state.&lt;/p&gt;&#xA;&lt;p&gt;To avoid leaking private information, all examples below are abstracted. They do not include real hostnames, account names, addresses, tokens, or internal project codes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading OpenClaw to 2026.3.23-2: A Real Compatibility Upgrade Playbook</title>
      <link>https://blog.margrop.net/en/post/openclaw-upgrade-to-2026-3-23-compatibility-playbook/</link>
      <pubDate>Tue, 24 Mar 2026 21:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/openclaw-upgrade-to-2026-3-23-compatibility-playbook/</guid>
      <description>&lt;p&gt;This post documents a real OpenClaw upgrade, not a laboratory demo. The goal was not simply to change a version string. The real goal was to move a small multi-node environment from &lt;code&gt;2026.3.8 / 2026.3.13&lt;/code&gt; to &lt;code&gt;2026.3.23-2&lt;/code&gt; while keeping message channels, external plugins, service startup behavior, and rollback paths under control.&lt;/p&gt;&#xA;&lt;p&gt;In practice, the most difficult part was not the OpenClaw core package. The hardest part was everything around it: plugin SDK compatibility, JIT cache reuse, mixed installation layouts, restricted outbound access on an edge node, and differences in bind mode that changed what health probes actually meant. If you do not identify those variables first, an upgrade can easily look successful while one or more production channels are already broken.&lt;/p&gt;</description>
    </item>
    <item>
      <title>One Month with OpenClaw on MiniMax: Stable, Fast Enough, and Valuable Because It Lasts</title>
      <link>https://blog.margrop.net/en/post/minimax-openclaw-one-month-review/</link>
      <pubDate>Thu, 19 Mar 2026 10:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/minimax-openclaw-one-month-review/</guid>
      <description>&lt;p&gt;Over the past month, I have kept MiniMax as the primary model behind OpenClaw and used it across a full set of automation tasks: routine inspections, connectivity troubleshooting, health checks, security hardening, scheduled-task cleanup, and even blog writing support. Looking back, the biggest gain was not &amp;ldquo;how much work AI can replace,&amp;rdquo; but a more practical conclusion: for a system like OpenClaw that needs to run continuously, cooperate with tools, and handle a large amount of Chinese context, the most important thing is not raw benchmark strength. It is the balance between stability, response speed, integration cost, and long-term maintainability.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
