Agent Plugin View¶
Talk to a Hevolve agent right from the docs. The frame below auto-guests you in, renders audio only (no avatar video), and works across every docs page.
Frame not loading? Open the agent in a new tab.
How it works¶
The embed points at https://hevolve.ai/agents/<AgentName> with three URL params that Agent.js reads:
| Param | Effect |
|---|---|
plugin=1 |
Convenience flag — implies audio_only=1 and auto_guest=1 together |
audio_only=1 |
Strips video_url, teacher_avatar_id, and filler video links from agent data before handing it to Demopage. Demopage's existing videoUrl ? <video> : audioUrl ? <audio> ternary then falls through to the audio-only branch with VoiceVisualizer — no Demopage edits, no parallel page |
auto_guest=1 |
On mount, if no signed-in user and no prior guest: call authApi.guestRegister({ guest_name, device_id }), store the token + guest_mode=true in localStorage, then render. Idempotent: repeat visits reuse the existing guest |
Why no new route¶
One of HARTOS' invariants is no parallel paths. Rather than ship a second /plugin/agent/:agentName route alongside /agents/:agentName, the existing AgentPage reads URL params and strips fields at the data layer. Same component, same state machine, same bug-fix surface. The iframe embed is the only new artifact.
Embedding on your own site¶
Drop the same frame markup on any page you control. Two prerequisites server-side:
Content-Security-Policy: frame-ancestorsonhevolve.aimust allowdocs.hevolve.ai(and whatever other origin you embed from). A minimal value:frame-ancestors 'self' https://docs.hevolve.ai.- CORS for
/auth/guest-registermust accept the embedding origin soauto_guest=1can complete without a pre-flight refusal.
Consent¶
Same guardrail posture as the rest of HARTOS — the mic permission is still a browser-level gate. The allow="microphone" attribute on the iframe enables the ask; the user's browser still prompts. No audio reaches the hive until the user accepts.