Skip to content

Agent Faces v0.1.0 β€” first release πŸ—£οΈπŸ˜ƒ

Choose a tag to compare

@fcavalcantirj fcavalcantirj released this 20 Jul 02:14
· 34 commits to main since this release

Give your AI agent a talking, lip-syncing face.

demo

Highlights

  • The face β€” ~4,700-particle WebGL face with 12 emotions (neutral β†’ glitch), self-steered by the model via [[face:happy]]-style directives mid-reply
  • Real lip-sync β€” mouth driven by the actual audio (wawa-lipsync); FFT-grade with OpenAI gpt-4o-mini-tts, or fully local with Kokoro on WebGPU
  • Voice in β€” in-browser Whisper (WebGPU/WASM β€” private, offline, $0) with hosted Groq/OpenAI fallback; push-to-talk or hands-free (VAD, half-duplex)
  • Two brains, one seam β€” Mode A: a hosted key (Anthropic / OpenRouter / Groq). Mode B: the agent you already run β€” Claude Code (local Agent SDK bridge), Hermes api_server, openclaw, Ollama β€” with its memory, tools, and persona
  • One command β€” node skill/agent-face/scripts/start.mjs installs deps, wires env, starts bridge + app, opens the face. Port freeing is identity-scoped: it only kills its own stale processes, never your neighbor project's server (--take-port to override)
  • Portable Agent Skill β€” skill/agent-face/ is plain-node, harness-agnostic. Claude Code: cp -r skill/agent-face ~/.claude/skills/ β†’ type /agent-face
  • Deploy β€” Vercel button or self-host Docker, next to your agent
  • Zero keys still works β€” browser Whisper + Web Speech give you a functioning face with no accounts at all

Built by agents

Most of this repo was written autonomously, overnight, by a loop of stateless coding-agent runs. The receipts ship with the release: prd.json (the 70-task ledger) and progress.txt (the agents' append-only journal).

Six CI gates (lint, typecheck, unit tests + coverage, build, skill smoke tests, app-template parity) plus a Playwright browser e2e suite guard main. MIT.