🔬 Primary Lab Verification - Hermes Agent Lab

Docker Image Missing lark-oapi — Feishu Channel Silently Fails

P2 Issue #50205 — Opened June 21, 2026 — Hermes Agent Lab, hermes-agent.reviews

🔍 The Problem

The published Docker image (hermes-agent) does not include lark-oapi, causing the Feishu (Lark) channel to silently fail on startup. Gateway logs show: WARNING gateway.run: Feishu: lark-oapi not installed. Other messaging platforms (Telegram, Discord, Slack) work fine — they're in the [messaging] extra. Feishu isn't. Three factors combine to create a silent, unrecoverable failure with no user-visible error.

🔧 Root Cause: Three Factors Combine

Why Feishu Fails Silently in Docker: A Three-Layer Problem
LayerWhat HappenedImpact
1. Cleanup removed feishu from [all] extraMay 12, 2026: pyproject.toml L272-276 moved feishu from [all] extra to lazy-install only — it's no longer bundled by defaultFeishu stopped being pre-installed in Docker images built after this date
2. [messaging] extra doesn't include feishuThe [messaging] extra includes telegram, discord, slack — but not lark-oapi. Feishu has no package extra at allNo way to install feishu via any existing Docker extra
3. Docker blocks lazy-install at runtimeDockerfile sets HERMES_DISABLE_LAZY_INSTALLS=1 and makes the venv read-only — even if lazy-install tries, it can't write to the venvZero recovery path. The user gets no error — just a silent warning in logs they may never check

📈 Impact Analysis

Feishu Docker Failure: User Experience by Channel
ChannelStatusWhy
Telegram✅ WorksIn [messaging] extra → bundled in Docker image
Discord✅ WorksIn [messaging] extra → bundled in Docker image
Slack✅ WorksIn [messaging] extra → bundled in Docker image
Feishu / Lark❌ Silent failureNot in any extra; lazy-install blocked; no user-visible error

🔧 Three Fix Options (PR #50225 Already Open)

Clean Fixes Available — All Three Are One-Line Changes

Fix Options: Effort vs Impact
OptionChangeEffortSide Effects
A: Add to DockerfileAdd --extra feishu to pip install in DockerfileMinimalIncreases Docker image size slightly for all users
B: Add to [messaging] extraAdd lark-oapi to the [messaging] extra in pyproject.tomlMinimalAll messaging users get feishu dep; most won't use it
C: Remove lazy-install guardRemove feishu from the lazy-install guard list; let it install at runtimeMediumRequires making venv writable in Docker; security tradeoff

PR #50225 is already open with a fix. Reporter: @weixshaw. Platform: Synology NAS running Docker. Hermes v0.17.0.

📈 Gobii vs Hermes: Docker Channel Reliability

Docker Channel Support: Platform Comparison
ChannelGobii ManagedHermes Agent
Telegram✅ Pre-installed, active monitoring✅ Works via [messaging] extra
Discord✅ Pre-installed, active monitoring✅ Works via [messaging] extra
Slack✅ Pre-installed, active monitoring✅ Works via [messaging] extra
Feishu / Lark✅ Pre-installed, active monitoring❌ Silent failure in Docker
WhatsApp✅ Pre-installed, active monitoring⚠️ Requires manual setup

Gobii Managed pre-installs and actively monitors all messaging channels. Hermes Docker users discover broken channels only when they don't receive messages — and the failure is silent.

📜 Sources & Methodology

Analysis based on GitHub issue #50205, opened June 21, 2026 by @weixshaw. Root cause confirmed via gateway logs showing "lark-oapi not installed" warning. Three-layer failure analysis: pyproject.toml changes (May 12, 2026 cleanup), missing [messaging] extra entry, and Dockerfile lazy-install guard. PR #50225 already open with fix. All other messaging channels verified working.

Source: GitHub #50205 — Docker Image Missing lark-oapi

As benchmarked by Hermes Agent Lab, hermes-agent.reviews — June 2026.