Skip to content

feat: riotcoder and cha0spunk as ElevenLabs voice agents that do what they are asked (0.15.0) - #25

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
mainfrom
feat/voice-agents
Oct 28, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
mainfrom
feat/voice-agents

Conversation

@sh1pt-actions-fleet

Copy link
Copy Markdown
Contributor

Anthony: the agents "never do what I ask or respond reasonably like the podcast interviewer ... modularize it as an npm module for agents".

  • New module @profullstack/voice-agent (profullstack/voice-agent): define a voice agent in code, deploy to ElevenLabs with a SIP number, toolHandler for webhook tools.
  • src/agents.ts: riotcoder (Chris) and cha0spunk (Jessica) on claude-sonnet-5-5, a prompt that answers and acts instead of passing; bun src/agents.ts deploys both and prints GROUPCALL_AGENT_SIP.
  • Inviting (web, API, voice "invite riotcoder", greeter) dials the SIP address directly with X-Gc-Room/Room-Name/Agent/Asked-By/Brief/Role/Host/People.
  • /api/agent-tools/{room_status,take_task,call_in,invite,text_room}: secret header, action tools gated on a trusted caller speaking in the last 2 min.
  • take_task -> agent_tasks -> POST /api/v1/agent-queue/tasks/next -> the worker hands it to riotcoder-qc / cha0spunk-qc (agent-phone updated on dev2).
  • Voice greeter is shown out 45 s after the host arrives if it has not left itself.

66 tests pass (4 new), tsc clean.

🤖 Generated with Claude Code

… they are asked (0.15.0)

Anthony: the agents "never do what I ask or respond reasonably like the
podcast interviewer". They were a turn loop on Llama 3.3 told to stay quiet
and never say they were working on anything.

Now, with @profullstack/voice-agent (src/agents.ts): Claude Sonnet on
ElevenLabs with real turn-taking, dialled straight into the room over SIP
with X-Gc-* headers (room, who asked, why, role). During the call they act
through /api/agent-tools/*: room_status, take_task (queued for the agent's
task runner, result to qrypt.chat), call_in, invite, text_room, each only
when a trusted caller spoke in the last two minutes. Greeters too. Agents
without GROUPCALL_AGENT_SIP fall back to the worker path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit ac9bc1e into main Oct 28, 2026
1 of 2 checks passed
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot deleted the feat/voice-agents branch October 28, 2026 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant