{"slug": "hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans", "title": "Hyperia 0.12.7 is released: an agentic terminal for agents and humans", "summary": "Hyperia 0.12.7, an agentic terminal for agents and humans, has been released with Stream Deck Plus support, a first-class MCP client, shell integration, and agent focus features. The update includes code-signed builds for Windows and macOS, structured extraction using JSON-schema, and improved pane management. This release marks the first under the Hyperia-Terminal name, distinguishing the terminal app from its hyperia-sidecar backend.", "body_md": "# Releases: DeepBlueDynamics/hyperia\n\n## 0.12.7\n\nThe first release under the **Hyperia-Terminal** name — the terminal app, now named distinctly from its `hyperia-sidecar`\n\nbackend. Same application, **updates in place** (app identity unchanged, so existing installs auto-update). Windows is **code-signed** (Azure Trusted Signing), macOS is **signed + notarized**, Linux ships as AppImage + deb.\n\n## Highlights\n\n**🎛️ Stream Deck Plus support**— a new companion daemon (`tools/deck-mcp`\n\n) turns a Stream Deck Plus into a physical control surface: focus/split/new-tab your panes from the touch strip and dials, switch apps from the keys.**⌨️**— a first-class MCP client for scripts and lightweight agents: curated verbs (`hyperia`\n\nCLI`status`\n\n,`run`\n\n,`split`\n\n,`focus`\n\n,`open`\n\n,`cd`\n\n, …), a`doctor`\n\nhealth check, and a`guide`\n\n. Build standalone with`yarn build:cli`\n\n.**🐚 Shell integration**— panes report live working directory and running app, with safe`cd`\n\nfrom the picker and agents.**🎯 Agent focus that moves the pane**—`terminal_focus`\n\n(and the CLI / Stream Deck) now switch to the owning tab and focus the terminal, entirely in-window — no OS-window stealing.**🧠 Maximus structured extraction**— tool-result extraction uses JSON-schema structured output, reliable across models.\n\n## Terminal & panes\n\n- Pane focus fix:\n`terminal_focus`\n\nselects the pane's tab*and*focuses it; consent requests switch to the target pane so the prompt is visible. - Panes/tabs are addressed by\n**name or id only**— the positional`a/b/c`\n\nlabels are gone (they confused agents). - Web panes show load status in the label (\n**404 / Unreachable / page title / host**) instead of a placeholder; split + remount fixes. - Picker:\n`cd`\n\nvia the shell-state dispatcher, recent-path filtering.\n\n## Identity & consent\n\n- New\ntool cleanly separates`request_access`\n\n*identity*(who you are) from*access*(consent to act on a pane). - Consent panel is a contained card; consent-wait timing fixed; secret-redaction hardening.\n\n## Windows polish\n\n- Taskbar/window/tray icon fixes:\n`AppUserModelId`\n\nset before window creation, tray uses`icon.ico`\n\n, explicit`window.setIcon()`\n\n, PNG→`nativeImage`\n\ndecode.\n\n## Build & CI\n\n- Windows signing\n**degrades gracefully** to unsigned (with a loud warning) if Azure Trusted Signing is unavailable, so an outage never blocks the macOS/Linux release. `fail-fast: false`\n\n+ resilient release gate — one platform failing no longer drops the others.\n\n## Downloads\n\n**Windows:**`Hyperia-Terminal-0.12.7-x64.exe`\n\n(signed)**macOS:**`Hyperia-Terminal-0.12.7-mac-x64.dmg`\n\n·`…-mac-arm64.dmg`\n\n(signed + notarized)**Linux:**`Hyperia-Terminal-0.12.7-x86_64.AppImage`\n\n·`Hyperia-Terminal-0.12.7-amd64.deb`\n\n## Nightly Build (unsigned)\n\nAutomated **unsigned** nightly build from `canary`\n\n(`2b4acd59aeaaa09085a2bd4b55890f908cd6da07`\n\n).\n\nThese installers are **not code-signed**. Expect OS security prompts:\n\n**Windows**— SmartScreen warning; choose*More info → Run anyway*.**macOS**— Gatekeeper block; right-click →*Open*, or run\n\n`xattr -dr com.apple.quarantine /Applications/Hyperia.app`\n\n.\n\nFor signed, notarized releases use the tagged versions on the Releases page.\n\n## 0.11.1\n\n```\nv0.11.1\n\nHyperia v0.11.1 — containerized sidecar deployment (Topology A) + use…\n```\n\n## 0.10.32\n\nThis release provides certificate signing for Mac and Windows as well as native Mac chip support for newer OSs.\n\nLots of new fixes, including colored tabs, shell pickers, Stickys notes and more.\n\n## v0.10.9 — Local model reliability + LAN-reachable sidecar\n\nCo-developed live with Antigravity (Gemini 3.5 Flash) over a shared workspace pane.\n\n## Highlights\n\n### Local model reliability — structured JSON + parallel candidates + `\"none\"`\n\ntool sentinel\n\n`OllamaProvider::stream`\n\nnow constrains Ollama's output to a strict JSON schema (`thought`\n\n+ optional `tool_call`\n\n+ optional `reply`\n\n) via Ollama's `format`\n\nfield, and runs **N=3 parallel candidate generations** at different temperatures (0.2 / 0.7 / 0.9). The first candidate whose JSON validates against the active tool schema wins; the rest are aborted via `tokio::select!`\n\nto free GPU memory.\n\nA `\"none\"`\n\nsentinel was added as a valid `tool_call.name`\n\nvalue, so when the model has nothing to call it must explicitly select `\"none\"`\n\ninstead of inventing a tool name. Validation + event emission both short-circuit when `name == \"none\"`\n\n, so the agent loop only sees real tool calls. (Commits `5ae64a2a`\n\nfor the structured + parallel core, `b2ab8e65`\n\nfor the `\"none\"`\n\nsentinel refinement.)\n\nWhy it matters: in v0.10.8, small local models (gemma4:e2b, etc.) routinely freelanced — inventing `google:search`\n\n, refusing to acknowledge prior conversation context, or emitting tool-call-shaped prose without firing a real call. Schema-constrained decoding eliminates the freelance path. Parallel sampling at varied temperatures gives at least one candidate room to thread the needle on hard prompts. The `\"none\"`\n\nsentinel closes the remaining gap where the model wanted to reply but felt obligated to put *something* in `tool_call.name`\n\n.\n\nImplementation scope is contained to `provider.rs`\n\n. `agent.rs`\n\nand `api.rs`\n\nare unchanged — the structured response is translated back into the same `ProviderEvent`\n\nstream (`TextDelta`\n\n/ `ToolCallStart`\n\n/ `ToolCallDelta`\n\n/ `ToolCallEnd`\n\n/ `MessageStop`\n\n) the agent loop already consumes.\n\n### Other fixes since v0.10.8\n\n-\n(`--bind <ip>`\n\nflag +`HYPERIA_BIND`\n\nenv var`5ae64a2a`\n\n) — sidecar can now listen on`0.0.0.0`\n\n(or any specific IP) for LAN-reachable MCP. Default stays`127.0.0.1`\n\n. Replaces the userland Python forwarder workaround that was needed to expose the sidecar across machines. When bound to a non-loopback address, the sidecar emits a startup WARN — Hyperia's tools are full RCE, so the operator is told they're now exposed. -\n**Legacy ghost.ts BrowserWindow deleted**(`acba2a2d`\n\n, 1289 → 53 lines) — the agentic chat surface is fully unified on the shell pane (sidecar-served HTML at`/shell`\n\n, hosted in a Hyperia`webUrl`\n\npane). The legacy IPC channel still routes —`Ask Hyperia`\n\nmenu entries open the shell pane in the focused window. Reset/continue/auto-reset/window.onerror ported to the shell before deletion so no regressions vs the old window. -\n**Stateless MCP transport**(`3ee2f446`\n\n) —`rmcp::StreamableHttpServerConfig::stateful_mode = false`\n\n. Sidecar restarts (hot-swap, crash + respawn, fresh install) no longer break Claude Code's MCP client. Previously every restart returned HTTP 404 on every call until the user manually`/mcp`\n\n→ Reconnect; now restarts are invisible. -\n**Slow MCP calls fixed**(`0a043c79`\n\n) —`get_screen`\n\n404 was emitting WARN through the shared tracing pipeline; a background poller asking for a long-closed tab generated 858/1000 log entries and serialized real MCP calls behind log I/O. Demoted to`debug!`\n\n. Throughput restored. -\n(`.deb`\n\npostinst sets chrome-sandbox setuid`7782331e`\n\n) — fresh Ubuntu 24.04 installs of v0.10.8 crashed immediately with`FATAL setuid_sandbox_host.cc:166`\n\n. Electron-builder doesn't apply the setuid bit by default; the .deb's`after-install`\n\nscript now runs`chown root:root && chmod 4755 /opt/Hyperia/chrome-sandbox`\n\n. Also fixed the broken`/usr/local/bin/hyperia`\n\nsymlink that pointed at a non-existent path. -\n(`install.sh`\n\nLinux branch`6e723b18`\n\n) —`site/install.sh`\n\nnow detects dpkg-based systems and downloads + installs the`.deb`\n\n(with apt-get fallback), or falls back to the universal`.AppImage`\n\n. Previously the Linux branch was a hardcoded \"Linux builds are not yet available\" message dating to v0.5.x.**NOTE:** the script in this repo is fixed; the public copy at`hyperia.nuts.services/install.sh`\n\nstill needs to be redeployed (task[#48](https://github.com/DeepBlueDynamics/hyperia/issues/48)).\n\n## Migration notes\n\n**Conversation memory** is now reset on shell-pane reopen if the sidecar still thinks a prior agent run is in flight. This prevents stuck sessions but means a planned \"leave it running in the background then come back\" workflow won't survive a refresh — by design, since the in-flight run is from a previous pane lifecycle.now open the shell pane instead of the legacy 520×700 popup window. Visual change; functional parity confirmed.`Ask Hyperia`\n\nmenu entriesis applied automatically on`/opt/Hyperia/chrome-sandbox`\n\npermission fix`.deb`\n\ninstall. Existing v0.10.8 installs that already worked around the bug manually can leave their`4755`\n\nchmod in place — no conflict.\n\n## Signing status\n\n**Windows**— Signed via Azure Trusted Signing (publisher: DeepBlue Dynamics LLC). Built locally.`.exe`\n\n**macOS**— Developer ID Application signed + notarized.`.dmg`\n\n/`.zip`\n\n(x64 + arm64)**Linux**— Unsigned (typical for these formats).`.deb`\n\n+`.AppImage`\n\n## Known issues / open follow-ups\n\n- Task\n[#48](https://github.com/DeepBlueDynamics/hyperia/issues/48)—`site/install.sh`\n\ndeploy to`hyperia.nuts.services`\n\nstill pending. `OPEN`\n\nissues[#62](https://github.com/DeepBlueDynamics/hyperia/issues/62)-66 (Maximus stack: Streamable HTTP proxy, tool-interception list, status tool, settings UI) — not part of this release; tracked separately.\n\n🤖 Drafted with [Claude Code](https://claude.com/claude-code), co-developed with Antigravity (Gemini 3.5 Flash) over shared workspace pane c.\n\n## v0.10.8 — Agentic shell pane + tool_mount + model picker\n\n## Highlights\n\n### Agentic shell pane\n\nThe chat surface is now a Hyperia pane (`webUrl`\n\npane type, served from the sidecar at `/shell`\n\n) rather than a separate BrowserWindow. Right-click anywhere → **Hyperia Shell**. The legacy ghost BrowserWindow is kept as a fallback for one more release.\n\n`tool_mount`\n\nSSE event\n\nThe agent can ship a self-contained HTML+CSS+JS widget into the chat scrollback. Iframe-hosted with `postMessage`\n\nRPC; widgets fetch data via `GET /api/ghost/widget/:id/data`\n\nand queue actions for the agent's next turn via `POST /api/ghost/widget/:id/action`\n\n. Foundation for downstream features (DOM inspector, thermodynamic bookmark graph).\n\n### Model picker + ollama auto-scan\n\n- Capabilities endpoint calls ollama's\n`/api/tags`\n\nand lists installed models. - Clickable\n`model`\n\nfield in the shell's status strip opens an inline picker; selection writes`config.agent.{provider,model}`\n\nvia`POST /api/ghost/set-model`\n\n. - When ollama is reachable and no model is configured, the sidecar auto-picks the first installed non-specialist model. No more hardcoded\n`llama3.2`\n\nfallback that 404s when not pulled.\n\n### Bootstub Level-0 micro-agent\n\nPure Rust state machine, no LLM dependency. Runs when `/api/ghost/capabilities`\n\nreports `level: \"none\"`\n\n— recognizes `install ollama`\n\n, `paste anthropic token sk-ant-…`\n\n, `what's possible`\n\n, `show config`\n\n, etc. The shell is always interactive, even on a fresh install.\n\n### Hardwired typed commands in the shell\n\nPhrases that match a UI affordance fire it deterministically — no LLM round-trip, no hallucinated tool names:\n\n`change model`\n\n/`switch model`\n\n/`pick model`\n\n→ opens the picker`list models`\n\n/`show models`\n\n→ installed ollama list`show config`\n\n/`doctor`\n\n/`version`\n\n/`commands`\n\n### Pasted/dropped assets\n\nPaste a screenshot (Win+Shift+S then Ctrl+V) or drag a file onto the shell. Image/PDF/text assets land in `~/.hyperia/assets/<id>.<ext>`\n\nand render inline as asset rows with thumbnail for images.\n\n### Fixes since v0.10.7\n\n**terminal_run Enter not submitting in TUIs**— Claude Code, vim, and other input-mode TUIs sometimes swallowed the trailing`\\r`\n\n. Now command + Enter ship in one atomic PTY write.**Tab name**—`'''`\n\nbug`auto_describe`\n\nnow strips smart quotes, double quotes, backticks, and sentence-ending punctuation in one pass instead of a brittle chain.**Conversation memory + tool honesty** in agent system prompt — small local models stop refusing to use what the user told them, stop hallucinating`google:search`\n\n.- Dropped dead\n`hasAgentConfigured()`\n\nhelpers and unsafe-`any`\n\nrpc casts (lint clean).\n\n## Signing\n\n**Windows**— Signed via Azure Trusted Signing (publisher: DeepBlue Dynamics LLC). Built locally and uploaded; CI is not yet wired with the signing secret.`.exe`\n\n**macOS**— Signed with Developer ID Application + notarized, uploaded separately from the Mac build.`.dmg`\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n## v0.9.0 — Maximus tokenmax layer\n\n## What's new\n\n**Maximus tokenmax** — iterative Ollama-powered compression for tool results\n\n- Ghost agent tool results now run through a 3-stage pipeline: classify content type → derive extraction strategy → apply iteratively until stable (up to 3 passes)\n- Annotates every result with\n`[tokenmax type=X pattern=Y src=ollama/Ni A→Bchars]`\n\nso agents always know what was filtered - Adaptive hints in output:\n`raw=true`\n\nto get full content,`maximus_explain`\n\nto see the strategy used - Ferricula-backed pattern memory — learned extraction patterns persist across sessions\n- Offline heuristic fallback (cargo-test, JSON, git-diff, Rust compiler output, HTTP responses) when Ollama is unavailable\n`maximus_explain`\n\ntool — see content type, strategy, compression ratio, and iteration count from the last extraction`raw=true`\n\nparam added to`terminal_run`\n\n,`terminal_screen`\n\n,`file_read`\n\n,`tab_snapshot`\n\n,`shell_state`\n\n- External MCP agents get the same tokenmax treatment via the Hyperia MCP server\n\n## Installation\n\nDownload and run `Hyperia-0.9.0-x64.exe`\n\n. Signed with Azure Trusted Signing.", "url": "https://wpnews.pro/news/hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans", "canonical_source": "https://github.com/DeepBlueDynamics/hyperia/releases", "published_at": "2026-06-20 16:20:09+00:00", "updated_at": "2026-06-20 16:37:13.515121+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools", "ai-infrastructure", "ai-products"], "entities": ["Hyperia", "DeepBlueDynamics", "Stream Deck Plus", "Azure Trusted Signing", "Ollama", "Gemini", "Antigravity", "MCP"], "alternates": {"html": "https://wpnews.pro/news/hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans", "markdown": "https://wpnews.pro/news/hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans.md", "text": "https://wpnews.pro/news/hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans.txt", "jsonld": "https://wpnews.pro/news/hyperia-0-12-7-is-released-an-agentic-terminal-for-agents-and-humans.jsonld"}}