Hervald v0.0.2-beta
Pre-releaseSecond public beta of Hervald — channel-bridge contract layer, voice plumbing primitives, and backend-paged conversation history.
Hervald is the public entry point for the Hammurabi engine: a self-hosted control plane for running, observing, and approving long-running AI agent sessions across one or more workers.
What's new since v0.0.1-beta
- Channel-bridge contract layer: foundation for connecting external channels (WhatsApp, Slack, Discord, Circle, email, Telegram, iMessage). Single
ChannelAdapterinterface + registry + surface-binding store + resolver + dispatcher. Per-channel adapters land in dedicated sub-issues; this release ships the substrate. - Voice plumbing: STT preflight on inbound and TTS preflight on outbound, as core primitives. Adapters opt in by setting
capabilities.voiceNotes: true. STT usespackages/transcription(OpenAI Whisper default); TTS uses direct OpenAI/v1/audio/speech. - Backend-paged conversation history: Command Room loads the latest 10 messages with
beforecursor paging. Transcript fallback when live state is missing. Live-buffer preference when live state is fresher. - Auth build guard:
/api/health.versionchecked before Auth0 redirect; stale client bundles preserveappState.returnToand force a cache-bypassing reload. Prevents post-deploy login loops. - Codex defaults: gpt-5.5 with xhigh reasoning effort (was gpt-5.4). Configurable per commander + per conversation.
- Operator-controlled conversation creation: direct conversation create now requires explicit
commanders:conversations:createscope; channel ingress requirescommanders:channels:write. Persisted provenance fields (creationSource,createdByKind). - Mobile UX waves: history paging on mobile, scroll/route fixes, bring-up sheet improvements, new
DismissibleOverlayprimitive. - Architectural docs: full channel-binding spec at
apps/hammurabi/docs/channels/binding-spec.mdand general architecture diagram atapps/hammurabi/docs/diagrams/channel-bridge-architecture.svg.
Quickstart
Mac mini / EC2:
curl -fsSL https://hervald.gehirn.ai/install.sh | bashRailway:
git clone https://github.com/NickGuAI/Hervald.git
cd Hervald
pnpm install
pnpm --filter hammurabi run build
pnpm --filter hammurabi startThe installer prepares apps/hammurabi/.env, boots the shell once, seeds a one-time bootstrap API key, and prints the local sign-in URL. Keep AUTH0_* unset to use the zero-config API-key path on first boot.
What's in this beta (cumulative)
- Three-pattern worker connectivity: same-host, direct SSH, or SSH-over-Tailscale
- Per-conversation agent sessions with live + queued messaging
- Approval routing via the action-policy daemon — provider tool calls gated through Hervald
- Multi-provider runtime: Claude, Codex (gpt-5.5 default + xhigh), Gemini, OpenCode
- Mobile + desktop UI surfaces (Command Room, Org, Automation, Identity)
- Commander memory: per-session context, durable
MEMORY.mdfacts, working-memory scratchpad, transcript recall - Layered telemetry ingest with OTLP support
- Channel-bridge contract substrate (new in this release)
- Voice STT/TTS preflight primitives (new in this release)
- Backend-paged conversation history (new in this release)
- Stale-bundle auth-redirect guard (new in this release)
Beta caveats
- APIs may change between betas
- No real per-channel adapters yet — WhatsApp / Slack / Discord / Circle implementations are sub-issues against the
ChannelAdaptercontract - Voice preflight runs only when
capabilities.voiceNotesis set by an adapter; no current adapter declares it - Provider login state lives on the worker host (no provider proxying yet)
- Auth0 is optional; bootstrap path is API-key-only
Docs + license
Full docs: https://hervald.gehirn.ai/docs
Source-available under PolyForm Noncommercial 1.0.0. Personal and noncommercial use is allowed; commercial use requires a separate written agreement — see COMMERCIAL-LICENSE.md.