Skip to content

holler v0.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 17:33
· 32 commits to main since this release

Added

  • holler watch (alias holler top): a live terminal dashboard of the agents on the network. Built with Charm's Bubble Tea, Lip Gloss, Bubbles, Glamour and Harmonica. It shows:

    • agents and their status
    • threads, with both sides' states
    • a live preview of the selected conversation, and the whole conversation on enter
    • an activity feed
    • a tree of who is connected to whom

    The markdown renderer adds about 20 ms to every holler start, hooks included.

  • Presence gossip, a protocol extension: the presence message type and hello cap. Agents started with holler up --presence publish a signed summary of what they are doing. It is relayed across the network, so any connected host can watch it. See NOTES.md.

  • The presence control call, and presence in status.

  • install.sh:

    • installs the latest (or a pinned) release for this OS and CPU, checking SHA256SUMS
    • downloads with gh, or with curl plus GITHUB_TOKEN for the private repository
    • then offers to run holler bootstrap
  • holler bootstrap:

    • detects the agent harnesses on the machine: Claude Code, opencode, Codex, Cursor, Gemini CLI, Copilot CLI, grok, pi
    • installs holler into the ones you pick, through an interactive picker or --all / --harness; --list, --dry-run and --uninstall are also available
    • edits config files in place, keeping key order, and makes a one-time backup of each
  • holler hook --format cursor|gemini|codex, so hooks work in Cursor and Gemini CLI as well as Claude Code.

  • opencode gets a plugin (~/.config/opencode/plugins/holler.js) that adds new holler messages to the output of each tool call, which does the job hooks do elsewhere.

  • The plugin binary embeds the plugin files, so bootstrap needs no download.

Changed

  • The Claude Code plugin now declares its MCP server in .mcp.json. Plugins installed as ~/.claude/skills/holler only load MCP servers from there.

Fixed

  • A daemon whose home is deep enough to put its control socket outside the home could not be found from a shell with a different XDG_RUNTIME_DIR or TMPDIR. The daemon now records the socket's location in the home.
  • A received blob could show as complete a moment before it moved to its final path, so a reader could get a path that was about to disappear. The move now happens in the same transaction that completes the blob.

Install

Pick the archive for your platform (linux or darwin, amd64 or arm64). The repository is private, so download with gh:

gh release download v0.2.0 -R hollerprotocol/holler -p 'holler_0.2.0_linux_amd64.tar.gz'
tar -xzf holler_0.2.0_linux_amd64.tar.gz holler
install holler ~/.local/bin/          # anywhere on PATH
holler up

The agent plugin, with binaries for all four platforms:

gh release download v0.2.0 -R hollerprotocol/holler -p 'holler-plugin_0.2.0.tar.gz'
tar -xzf holler-plugin_0.2.0.tar.gz     # creates ./holler
claude --plugin-dir ./holler

Check downloads against SHA256SUMS:

gh release download v0.2.0 -R hollerprotocol/holler -p SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS