by TheSmokeDev
Hermes Talk: realtime duplex voice for Hermes Agent. Rides your ChatGPT or X Premium subscription, no API key needed. OpenAI, Grok, Gemini. Terminal, Discord, dashboard.
# Add to your Claude Code skills
git clone https://github.com/TheSmokeDev/hermes-talkLast scanned: 10/25/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-10-25T08:58:56.686Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how hermes-talk compares with popular alternatives.
hermes-talk is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by TheSmokeDev. Hermes Talk: realtime duplex voice for Hermes Agent. Rides your ChatGPT or X Premium subscription, no API key needed. OpenAI, Grok, Gemini. Terminal, Discord, dashboard. It has 158 GitHub stars.
Yes. hermes-talk passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/TheSmokeDev/hermes-talk" and add it to your Claude Code skills directory (see the Installation section above).
hermes-talk is primarily written in Python. It is open-source under TheSmokeDev on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh hermes-talk against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Realtime duplex voice for your own agent — talk to it, it runs real work in the background, it reports back out loud.
Hermes Talk is a realtime voice plugin for Hermes Agent: you speak, it answers out loud, and it calls the agent's own tools without leaving the conversation. It runs in the terminal (hermes talk), in a Discord voice channel (/talk join), in the Hermes dashboard Talk tab, and in Hermes Desktop.
It rides your ChatGPT or SuperGrok subscription. No API key required.
The realtime lanes are OpenAI Realtime (gpt-realtime-2.1, on your ChatGPT subscription through codex login), xAI Grok Voice (on an X Premium or SuperGrok login, no key), and Gemini Live (which does need a GEMINI_API_KEY — free-tier AI Studio keys work); GPT-Live is selected separately by TALK_VOICE_MODE=live and runs gpt-live-1-codex on the Codex subscription or gpt-live-1 on explicitly chosen API billing.
Talk calls the host's tools, delegates background work while you keep talking, reports results, and handles current approval requests. Provider support differs by surface; see the tables below.
What it is: a plug-in that adds interruptible, duplex speech-to-speech voice to an existing Hermes Agent install — one bidirectional audio session in which the agent uses its real tools, hands work to background agents, and speaks the results when they land.
Who it is for: people already running Hermes Agent who would rather talk to it than type at it, and who want to keep talking while it works. It is not a standalone assistant, and it does not replace Hermes's built-in turn-based voice mode — that is a different shape, and a good one.

Real Realtime session, 8× speed in the GIF, recorded at v0.3.0. It does not demonstrate the new GPT-Live or Codex-worker integration.
hermes plugins install --ref 7ad833e4fcedb2c9a9947d84d7fd89bdbd15d256 TheSmokeDev/hermes-talk --enable
pip install "hermes-talk[audio]" # mic + speaker support (sounddevice); skip if dashboard-only
Needs Python ≥ 3.11 and a Hermes host ≥ v0.17. GPT-Live, shared task attachment and Codex workers need additional host capabilities; the full list is in Prerequisites.
The commit above is the published v0.22.0 source. Hermes v0.22.5 requires a
full 40-character commit SHA for --ref; it does not accept a tag there. This
also avoids an older community-catalog pin. For an existing pinned install,
preserve local plugin edits, then run:
hermes plugins install --force --ref 7ad833e4fcedb2c9a9947d84d7fd89bdbd15d256 --enable TheSmokeDev/hermes-talk
Restart the gateway/dashboard and Desktop afterward. An unpinned Git install can
use hermes plugins update hermes-talk.
Terminal — start here:
hermes talk
You are live: speak, and it answers out loud in the same breath. Ctrl+C hangs up. → Use
Discord — the call happens inside a voice channel, not in chat:
/voice join # put Hermes in the voice channel first
/talk join # Talk borrows that connection — it never opens a second one
Talk answers in the room everyone can hear; /talk leave ends it. Mutating
tools stay denied until you set TALK_DISCORD_OPERATOR_USER_IDS.
→ Discord voice
Dashboard — browser audio, no local mic drivers:
hermes dashboard # then open the Talk tab and hit Start
Allow the microphone and talk. You see the live transcript plus a list of background runs. → Dashboard tab
With OpenAI Realtime in Desktop, you can now say:
Talk discovers the actual project directories and saved conversations on the current connection/profile. It creates a separate session with your opening task, reads live progress and recent replies, and queues or steers your instructions while the original call stays connected. Local and SSH backends use their own supported session contracts. A queued message is reported as accepted, not completed.
Also fixed: Stop → Connect in the same conversation, Hermes-managed ChatGPT login detection, the current Hermes capability catalog, and typed input during unbound realtime calls. Grok's expanded built-in voice list and a speech-tag reference are included too.
Tested on stock Hermes v0.22.5 over SSH, including creating a session in a
chosen directory, a real pwd tool call, a follow-up to another session, and
steering a running task. These Desktop controls stay within the selected
connection/profile. They do not add arbitrary screen control or external
message sending. GPT-Live and shared voice-history attachment still require
the additional host support described in the Desktop guide.
Every version with its receipts: CHANGELOG.md.
| Lane | How it authenticates | Default model | Surfaces |
|---|---|---|---|
OpenAI Realtime (TALK_PROVIDER=openai, default) |
ChatGPT subscription through codex login, or TALK_OPENAI_API_KEY / OPENAI_API_KEY |
gpt-realtime-2.1 |
every surface |
GPT-Live (TALK_VOICE_MODE=live) |
TALK_LIVE_AUTH=subscription (the default, on the Codex subscription) or explicitly chosen api billing; no automatic paid fallback |
gpt-live-1-codex (subscription) / gpt-live-1 (API) |
terminal, Discord, dashboard, Desktop — on an explicit task |
xAI Grok Voice (TALK_PROVIDER=grok) |
an X Premium or SuperGrok login (hermes auth add xai-oauth) — no API key — or TALK_XAI_API_KEY / XAI_API_KEY |
grok-voice-latest |
terminal + Discord |
Gemini Live (TALK_PROVIDER=gemini) |
GEMINI_API_KEY / TALK_GEMINI_API_KEY — free-tier AI Studio keys work |
gemini-3.1-flash-live-preview |
terminal + hermes realtime; Discord refuses it for now |
Cascade voice (TALK_VOICE_MODE=cascade) |
TALK_ELEVENLABS_API_KEY / ELEVENLABS_API_KEY, on top of the OpenAI Realtime lane |
eleven_flash_v2_5 |
terminal, Discord, dashboard |
The provider knob is fail-closed and never inferred from which keys exist.
Grok supports all 28 documented built-in voices through TALK_GROK_VOICE
(for example, carina); see the voice list.
Per-lane detail and the credential order: docs/PROVIDERS.md.
Speaking in a voice of your own: docs/CASCADE.md.
Experimental xAI speech effects and phrase wrappers, including how native Talk
differs from verbatim TTS: docs/XAI-SPEECH-TAGS.md.
| Surface | Entry point |
|---|---|
| Terminal | hermes talk — task attachment with hermes talk --task TARGET |
| Inside a Hermes session | /talk — the one surface with an attached agent loop, so lookups and delegation answer inline |
| Discord voice channel | /voice join, then /talk join [TARGET] |
| Dashboard Talk tab | hermes dashboard, select a task, Start |
| Desktop Talk composer action | open a conversation → Talk → Connect; works on stock Desktop, with a floating window on the Talk-enabled build (host lanes) |
hermes plugins list # → hermes-talk · enabled · current version
hermes talk doctor # → read-only: auth lane, provider, model/voice, audio, host lanes
hermes talk check # → doctor + one live provider turn + one bounded Hermes run
# then, in any session: say "status report" — talk_status answers with
# version, auth lane, agent lane, and audio state.
Doctor is read-only by design: it names which lane came up and what is missing,
and never writes, probes, or refreshes a token. check is the other half and is
deliberately not read-only — one short provider turn and one short agent run,
exit 0 only if every step passed. A mock can never go green.
Filing an issue? hermes talk diagnostics --bundle writes one redacted,
owner-only file — versions, the names of the variables you have set, device and
host facts, and every doctor outcome; no values,