selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
hermesclaw logo

Self-host hermesclaw

v0.4.0

Run Hermes, OpenClaw, and OpenCode on one WeChat account

BetaOpen SourceMIT
Updated4 months ago
LanguagePython
Setup difficultyModerate
Stars
754
Ports
19998 (Hermes Agent proxy), 19999 (OpenClaw proxy)
Install with Linux
hermesclaw screenshot 1hermesclaw screenshot 2

What is hermesclaw?

HermesClaw is a small Python proxy that enables running multiple AI agents on a single WeChat account. Usually Hermes Agent and OpenClaw each take exclusive control of the iLink connection, which creates conflicts. HermesClaw takes over as the only iLink poller, then runs two local HTTP proxy servers (port 19998 for Hermes, 19999 for OpenClaw) plus an ACP subprocess bridge for OpenCode. Each gateway thinks it's talking straight to the iLink API. You switch between agents using slash commands. The installer detects installed gateways, pulls the iLink token, rewrites gateway configs, installs Python dependencies, adds an OpenClaw media symlink fix, and registers a systemd service on Linux or a launchd agent on macOS. It passes raw iLink protocol messages — text, voice transcriptions, images, videos, files — so every gateway manages its own media decryption and AI interaction natively.

Should you self-host hermesclaw?

hermesclaw scores 51/100 on selfhost.directory (how scoring works) and ranks #46 of 110 in Chat. It has 754 GitHub stars.

It shipped 8 stable releases in the past year. The latest, v0.4.0, came out on 15 June 2026.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Zulip (82/100, 26 128 stars). It scores higher overall, so compare the two before you pick. See hermesclaw vs Zulip side by side.

Features

  • Automated installer with gateway detection
  • Cross-platform service management
  • Dead subprocess recovery
  • Headless ACP permission handling
  • iLink token sharing
  • Local proxy servers for gateways
  • Message attribution tagging
  • Multi-agent WeChat routing
  • OpenCode ACP bridge
  • Per-user routing state persistence
  • Raw media forwarding
  • Typing indicator for OpenCode
  • Voice message transcription forwarding

hermesclaw README

How to install hermesclaw

Install hermesclaw with Linux

Environment variables
ILINK_TOKEN, HERMES_PROXY_PORT, OPENCLAW_PROXY_PORT, HERMES_ENABLED, OPENCLAW_ENABLED, OPENCODE_ENABLED, OPENCODE_CMD, OPENCODE_MODEL, OPENCODE_PERMISSION_STRATEGY, STATE_FILE, LOG_FILE, LONG_POLL_TIMEOUT

Installs as systemd service at /etc/systemd/system/hermesclaw.service

How to configure hermesclaw

  • HERMES_ENABLEDtrueEnable Hermes Agent proxy

    Enable Hermes Agent proxy

    values: true/false

  • HERMES_PROXY_PORT19998Port for Hermes Agent proxy server

    Port for Hermes Agent proxy server

  • ILINK_BASE_URLhttps://ilinkai.weixin.qq.comBase URL for the iLink API

    Base URL for the iLink API

  • ILINK_TOKENiLink bot token extracted from gateway account files

    iLink bot token extracted from gateway account files

  • LOG_FILE~/hermesclaw/hermesclaw.logPath to log file

    Path to log file

  • LONG_POLL_TIMEOUT35Long poll timeout in seconds

    Long poll timeout in seconds

  • OPENCLAW_ENABLEDtrueEnable OpenClaw proxy

    Enable OpenClaw proxy

    values: true/false

  • OPENCLAW_PROXY_PORT19999Port for OpenClaw proxy server

    Port for OpenClaw proxy server

  • OPENCODE_CMD/home/ubuntu/.npm-global/bin/opencodePath to opencode binary

    Path to opencode binary

  • OPENCODE_CWD~Working directory for OpenCode

    Working directory for OpenCode

  • OPENCODE_ENABLEDtrueEnable OpenCode ACP bridge

    Enable OpenCode ACP bridge

    values: true/false

  • OPENCODE_MODELopencode/minimax-m2.5-freeOpenCode model to use

    OpenCode model to use

  • OPENCODE_PERMISSION_STRATEGYallow_alwaysPermission strategy for OpenCode ACP

    Permission strategy for OpenCode ACP

    values: allow_always/allow_once/reject_once/reject_always

  • STATE_FILE~/hermesclaw/router_state.jsonPath to router state JSON file

    Path to router state JSON file

hermesclaw releases & version history

More in Instant Messaging

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…