Releases: Exploitacious/hatchling
Release list
Hatchling v1.0.0
The first full release of Hatchling — a local-first desktop app for creating AI agent personalities through conversation. Chat with any model; it interviews you and writes its own personality files (IDENTITY.md, USER.md, SOUL.md, and whatever else the conversation earns); export plain markdown and take it to any agent framework.
Downloads: Windows setup / portable .exe · macOS .dmg · Linux .AppImage / .deb — below. Binaries are unsigned: Windows SmartScreen → "More info" → "Run anyway"; macOS → right-click → "Open".
Highlights since 0.1.0:
Changed
-
The app's primary typeface is now JetBrains Mono (bundled, OFL) — a
modern terminal look across the whole UI, chat included. -
The Interview closing now requires the naming ceremony: the bot proposes
its own name and signature emoji — agreed with the user before the hatch can
close. -
Tightened The Interview by ~45% and rebalanced it for weaker models:
synthesis over interrogation (observations, hypotheses, and honest takes drive
the conversation, with license to challenge and to be wrong out loud),
operating-model discovery (tradeoffs, autonomy vs. approval, trust, and the
one real constraint), energy-matching that keeps the model's own lens, and a
friendlier opening epigraph. Deflection routing ("make it about the bot")
hardened after adversarial review predicted weak-model regressions. -
Rewrote The Interview built-in around a spotlight inversion: the model's
self-assessment moves backstage (it steers which questions occur to the model,
and is never conversation material), the human becomes the entire subject, and
matching the human's tone, length, and pace is framed as a quiet mission. The
first version prompted models to open with a capabilities monologue; the
redesign makes the quality of attention — not self-description — the way the
bot introduces itself. -
The template seeder now updates built-in templates in place when the shipped
copy changes, so existing databases receive improved built-ins on the next
launch. Safe by construction: built-ins are read-only in the app, so there are
no user edits to overwrite. User-created templates are never touched.
Added
- Session lifecycle controls: a Pause button in the chat header (stops any
active turn; resume anytime from Sessions), and Reopen conversation on the
results screen to continue a completed session (clears its completion stamp). - Complete Hatch now opens a dialog that branches on progress: with files
written it's a simple confirm; with none it offers to have the bot write all
files from the conversation so far, complete without files, or pause instead. - Liveness indicator while the bot works: current phase (thinking / responding /
writing a named file), a per-turn stopwatch, a "no output for Ns" warning when
the stream goes silent, and an optional details toggle showing recent tool
activity. - Live context-window discovery: model pickers now show each model's reported
window (e.g.deepseek-v4 · 128k) when the provider's API exposes one —
Anthropicmax_input_tokens, OpenRouter/Groq/vLLM/LM Studio-style list
fields, and Ollama via/api/show. No hardcoded per-model table; unknown
stays "estimated" against the 128k default. - Advanced options in New Hatch: context-window override, sampling
temperature, and custom model-id entry (even when the provider's list loads).
All optional — blank keeps provider/app defaults. The token meter now runs
against the session's real window, and unsupported values fail with the
provider's own error message. - Second built-in template, The Interview: a bot-driven, introspection-first
hatch. The model audits its own strengths and interviews the user in depth to
design the working relationship, rather than the user leading. Ships alongside
the classic OpenClaw Standard; the seeder now installs both idempotently, so
existing databases pick it up on next launch. - App-managed key fallback: when no OS keychain is available, API keys are
encrypted with a per-install AES-256-GCM key (0600file underuserData) so
key storage works on headless boxes, minimal desktops, WSL, and containers. A
Settings banner surfaces the downgrade, andapiKeys:storageModereports the
active backend.
Fixed
-
The custom font stacks (and with them the bundled emoji font) never applied:
Tailwind emits font families verbatim, and the unquoted "Noto Sans Symbols 2"
— an identifier ending in a digit — made the wholefont-familydeclaration
invalid CSS, which Chromium silently dropped. Families are now quoted;
verified by screenshotting the built app on a system with no fonts installed
(JetBrains Mono + full-color emoji render). -
Emoji and symbols now render on every platform. The app bundles Noto Color
Emoji as the CBDT bitmap build — the SVG-in-OT flavor some packages ship
is unsupported by Chromium (tofu), and the COLRv1 vector build painted
invisible glyphs on WSLg's GPU path. Bitmaps have no paint pipeline to break;
pixel-verified in Electron with and without GPU on a system with no emoji
fonts installed. Noto Sans Symbols 2 covers non-emoji symbols. -
The chat composer now grows with what you type (up to ~14 lines, then
scrolls internally) instead of staying a fixed 2-3 lines. -
The Start Hatching button no longer stays stuck on a spinner when opening the
New Hatch dialog after a previous successful start — the submit flag leaked
across opens because the dialog component never unmounts. -
Provider keys could not be saved on systems without an OS keychain — the vault
hard-failed with "OS secure storage is unavailable." It now falls back to the
app-managed key store instead of blocking. -
Connection test no longer reports success for a key-requiring provider that has
no saved key (some endpoints answer an unauthenticated model-list probe, which
made "test passed" misleading right before the first real call failed). -
Long screens (Settings, Sessions, Templates) and tall modals no longer clip on
short viewports — content scrolls.
Full details in CHANGELOG.md.