mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
40 lines
2.4 KiB
YAML
40 lines
2.4 KiB
YAML
name: hermes-gemini-live
|
|
repo: https://github.com/skappafrost/hermes-gemini-live
|
|
sha: cf549e7f8af858568936ccb434c7e1104eb200e9
|
|
description: >-
|
|
Realtime duplex voice with the Gemini Live API, built around handing real work to Hermes.
|
|
A single control in the composer (not a floating panel): tap, speak, hear the model, and when
|
|
the ask needs files, a terminal, the web or memory the voice model delegates the job to the
|
|
api server and keeps talking, reading the outcome aloud when it lands. Three verbs rather than
|
|
thirty schemas — hermes_task starts, hermes_tasks reads the call's task board, and
|
|
hermes_task_update denies, steers or stops a task. A task that stops to ask permission
|
|
reaches the user as a spoken prompt and a "Hermes needs you" indicator with Approve and Deny
|
|
buttons; only the user's press approves it, never the voice model.
|
|
Multi-task is one Live session plus a board, not a session per task. Mute drops the uplink
|
|
without hanging up, and the call survives composer remounts, so opening a session mid-sentence
|
|
does not kill it. Full-proxy architecture: the plugin backend owns the upstream Live socket and
|
|
the key, and the renderer is never given either, because the Live API carries the credential in
|
|
the socket URL. Ships no Python dependencies of its own, which keeps it out of the uv workspace
|
|
and lets one clone serve several profiles. Tested model behaviour is published in the README,
|
|
including that gemini-3.8-live-extended-thinking accepts a function declaration and then
|
|
delegates only about 2 times in 5, which is why gemini-3.8-live is the default. Disclosure —
|
|
pressing Start captures microphone audio and streams it through the local backend to
|
|
generativelanguage.googleapis.com using GEMINI_API_KEY from the Hermes home's .env; delegated
|
|
work runs as a Hermes run in the serving profile's own memory with the profile's full toolset
|
|
via the local api_server and API_SERVER_KEY, and those runs' results (up to 4000 characters
|
|
each), the task board and approval prompts are sent back to Gemini as text. Nothing is sent
|
|
anywhere else and no telemetry is emitted.
|
|
maintainer: skappafrost
|
|
tier: community
|
|
version: "0.1.0"
|
|
category: voice
|
|
docs_url: https://github.com/skappafrost/hermes-gemini-live#readme
|
|
requires_hermes: ">=0.21.5"
|
|
platforms: []
|
|
capabilities:
|
|
provides_tools: []
|
|
provides_hooks: []
|
|
provides_middleware: []
|
|
requires_env:
|
|
- GEMINI_API_KEY
|