Skip to content

Hervald v0.0.2-beta

Pre-release
Pre-release

Choose a tag to compare

@NickGuAI NickGuAI released this 11 May 07:01

Second 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 ChannelAdapter interface + 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 uses packages/transcription (OpenAI Whisper default); TTS uses direct OpenAI /v1/audio/speech.
  • Backend-paged conversation history: Command Room loads the latest 10 messages with before cursor paging. Transcript fallback when live state is missing. Live-buffer preference when live state is fresher.
  • Auth build guard: /api/health.version checked before Auth0 redirect; stale client bundles preserve appState.returnTo and 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:create scope; channel ingress requires commanders:channels:write. Persisted provenance fields (creationSource, createdByKind).
  • Mobile UX waves: history paging on mobile, scroll/route fixes, bring-up sheet improvements, new DismissibleOverlay primitive.
  • Architectural docs: full channel-binding spec at apps/hammurabi/docs/channels/binding-spec.md and general architecture diagram at apps/hammurabi/docs/diagrams/channel-bridge-architecture.svg.

Quickstart

Mac mini / EC2:

curl -fsSL https://hervald.gehirn.ai/install.sh | bash

Railway:

git clone https://github.com/NickGuAI/Hervald.git
cd Hervald
pnpm install
pnpm --filter hammurabi run build
pnpm --filter hammurabi start

The 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.md facts, 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 ChannelAdapter contract
  • Voice preflight runs only when capabilities.voiceNotes is 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.