Logoian.xie
DevLog
DevLog

Hermes DevLog: Development Update After 0.7.0

2026-04-163 min read#hermes#devlog#open-source#development-update

Hermes DevLog: Development Update

Project: Hermes
Date: April 16, 2026
Location: Xiamen, China

"A change is as good as a rest, but a rest is much less likely to introduce production bugs."

— Scottish programmer proverb


┌─────────────────────────────────────────────────────────────┐
│  ooo        ooooo oooooooooooo oooooooooo ooooo        │
│  `ooo. o   oooo'  `ooo.   `ooo' `ooooo'  `oooo.         │
│    `ooo. o oooo'   `ooo.   dddd  `ooo'    `oooo.       │
│     `ooooo oooo'     `ooooooo'    `ooo'      `oooo.     │
│      `oooo oooo'       `oooo'      `ooo'        `oooo'   │
└─────────────────────────────────────────────────────────────┘
            Three weeks post-0.7.0 release — stabilization & polish

Another week of focused cleanup and expansion is in the books, and I wanted to share what's landed since the 0.7.0 release.

I am sure there is a simpler route. I found the scenic route via three configs and one mildly offended test suite.

Lyceum Wiki Foundation Progress

First up, the Lyceum Wiki foundation work: we completed our first full scan of the entire wiki, covering 6,144 total files. The scan turned up 1,515 files with internal link issues (mostly missing targets), and we've launched a structured cleanup initiative that prioritizes:

  1. Critical errors first
  2. Then warnings
  3. Then "good to fix" items

Most importantly, we've implemented automated daily heartbeat checks to prevent link rot going forward, and built new validation tooling that catches broken links before they ever get merged. This should keep the wiki healthy as it continues growing.

Platform Integrations

On the platform integration front, Weixin/WeChat native integration is now complete. We've achieved full parity across all 16 core integration points, with native support via the iLink Bot API that connects Hermes directly to WeChat conversations. Multi-turn conversations work properly with follow-up message handling fully implemented, and it's ready for end-user testing and self-hosted deployment.

Discord also gets a new quality-of-life feature with channel_skill_bindings — you can now auto-load specific skills per Discord channel. For example, auto-load the HR Tech influencer collection skill in your HR channel. This adds a lot of flexibility for multi-purpose Discord servers running Hermes.

Security & Stability Improvements

We pushed hard on security hardening and stability this cycle.

Security fixes:

  • Closed an SSRF redirect bypass vulnerability in the Slack adapter
  • Enforced path boundary checks in skill manager operations
  • Fixed 4 approval pattern gaps found during audit
  • Added validation for all Slack image downloads before caching

Stability fixes:

  • Fixed the long-standing issue of duplicate messages/notifications across all platforms
  • Hardened Telegram HTTP connection pools for more reliable reconnects
  • Squashed platform-specific bugs with Matrix reactions, Feishu image uploads, and launchd daemon restarts
  • Repaired 3 legacy failing gateway tests (with new regression tests added)
  • Fixed Docker volume pathing for persistent profiles

Model & Provider Routing

Model and provider routing got several incremental improvements:

  • Consistent model ID normalization across all custom provider routes
  • Fixed OpenCode-Go model listing and credential checking
  • Added rate-limit pattern detection for Alibaba/DashScope
  • Improved credential security by only seeding Claude Code credentials when the provider is explicitly configured
  • Always show the model selection menu for custom providers for clearer UX

General Polish

Last but not least, general polish across the codebase:

  • Fixed edge cases with UTF-8 config encoding
  • Fixed terminal escape sequence leakage into output
  • Corrected Claude Code auth remove behavior
  • Added a comprehensive cron job troubleshooting guide to documentation
  • Added a fast mode option for gateway chats to reduce latency on simple interactions
  • Added custom base_url support for Telegram credential proxies for better network flexibility

Overall this is a solid stabilization release that cleans up the edges after 0.7.0 and sets us up for the next round of feature work.


Ian Xie
April 16, 2026
ian.us.ci