This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

2 1 0

Clone this repository

https://git.vm.fail/nandi.uk/character https://git.vm.fail/did:plc:3rvtuinrp7i2wlv2dnnlnqm6
ssh://git@knot1.tangled.sh:2222/nandi.uk/character ssh://git@knot1.tangled.sh:2222/did:plc:3rvtuinrp7i2wlv2dnnlnqm6

For self-hosted knots, clone URLs may differ based on your setup.


README.md

character#

CLI-first prototype for a headless chat-reactive VTuber that connects to stream.place.

Goal#

Take chat messages from stream.place, generate spoken replies, and drive a VTuber/avatar output stream with:

  • chat intake
  • LLM response generation
  • TTS audio output
  • avatar motion/expression events
  • video/audio composition suitable for live streaming

Architecture sketch#

stream.place chat (Jetstream / ATProto)
  -> bot runtime
  -> reply planner
  -> TTS provider
  -> avatar controller
  -> ffmpeg compositor / scene renderer
  -> WHIP/RTMP uplink

Current direction#

This repo starts with a headless-friendly prototype:

  • TypeScript runtime via bun
  • stream.place chat adapter stub
  • Gemini Live-compatible TTS/voice adapter interface
  • avatar event bus for motion/expression cues
  • local dev scripts for simulation and testing

Open questions#

  • best headless avatar renderer on Linux
  • whether to use browser-based canvas capture or native renderer
  • whether Gemini Live should handle both reply generation and speech output
  • whether stream.place posting should use ATProto OAuth directly or a simpler bot identity path

OpenVT path#

This repo now includes a simple OpenVT-oriented setup path:

  • scripts/openvt-setup.sh clones upstream OpenVT and initializes submodules
  • docs/openvt-setup.md explains the constraints and manual steps
  • scripts/openvt-run-notes.sh prints the expected local streaming workflow

Run:

chmod +x scripts/openvt-setup.sh scripts/openvt-run-notes.sh
./scripts/openvt-setup.sh
./scripts/openvt-run-notes.sh

Wayland / WayVNC launch#

If the machine already has a remote Wayland session, launch OpenVT into that session with:

devenv shell -- ./scripts/openvt-wayland-launch.sh

See docs/wayvnc-openvt.md.