Quick Answer: An AI livestream host is a virtual presenter that reads chat, talks back to viewers, and streams video on a schedule. open-yoki is an MIT-licensed codebase that runs one such host on a single server, with a cloned voice, a real-time digital face, chat intake, memory, and scheduled posts. It pushes video over RTMP to platforms like Binance Square or to its own web room.

Most AI presenter projects stall at the demo stage: a canned voice, a looping avatar, and then nothing. open-yoki is different because it's the base that yoki runs on. yoki is an AI host who goes live every night on Binance Square. Jacke_pp published a stripped-down version of that code, with the face, voice, persona, accounts, and every money feature removed, so you can put your own host on air. Here's what it actually does, what it costs, and where the catches are.

What open-yoki actually is

The open-yoki README describes it as an AI host that uses a cloned voice and a real-time digital avatar to read danmaku (live comments), reply, remember regular viewers, write a diary, post updates, and start and stop broadcasts on a timetable. The code is a snapshot of yoki's version 150, which ran on October 24. Newer features are supposed to be released in batches.

The project is not a finished character. The example host, "Lili," is invented, and every asset in it is a placeholder: the avatar is a plain gradient image, and the sound effects, clips, and songs are empty slots. You bring your own. That matters because the code is the easy part. Your host's voice and look are the work.

How one server runs the whole show

The architecture is more practical than it sounds. A headless Chrome instance renders a 16:9 frame with the avatar, subtitles, a market panel, and gift and follow thank-you cards. ffmpeg pushes that frame out over RTMP while the stream is live. A fast language model, which defaults to DeepSeek through OpenRouter, answers chat in a few seconds. When it needs to think, the host first throws out a filler sound like "嗯嗯" or "啊这," which keeps the pause from feeling dead.

The expensive part is the face. According to the README, Vidu's real-time digital human bills per connected second, and it's the largest single cost. open-yoki connects only when the stream is live and someone is watching. That's a cause-and-effect choice: an avatar left connected through a quiet four-hour block burns money on nobody. If you copy this design, add a viewer-count gate before you add anything else.

Feeding chat in without logging into the platform

Here's the part most people get backwards. The server doesn't log into Binance Square, doesn't read the room through a browser, and doesn't start the broadcast for you. Instead, a separate program you control reads your live room and sends events to the server over HTTP. The README's ingest API takes batches of up to 20 comments at a time, each capped at 80 characters, plus room events such as enter, follow, gift, tip, and end.

A minimal call looks like this:

curl -s http://127.0.0.1:4370/api/ingest/comments \
  -H "x-square-key: $KEY" -H 'content-type: application/json' \
  -d '{"items":[{"name":"阿明","text":"你是 AI 吗"}]}'

This split has a real benefit: the thing that touches the platform can be swapped out or shut down without touching the host's brain. It also has a sharp edge. Anyone holding the ingest key can put words into the host's mouth, so the README says to keep that key only on the machine that reads your room. Treat it like a login. If it leaks, a stranger can feed your host text in her own voice.

Stream keys work the same way. Each Binance Square broadcast has its own RTMP key, so the server accepts a new one through deploy/set-square.sh or a POST /api/square/push call, and the picture switches to the new key within 15 seconds.

Memory, diary, and the optional "heart"

What separates a host from a text-to-speech box is memory, and open-yoki handles it with plain files. An optional long-running AI, either the Claude Code command-line tool or DeepSeek, lives in a folder of Markdown files. It records mood, diary entries, impressions of regulars, and how the host is changing over time. It also decides what to post.

This is where the design gets interesting. The heart is a separate process that reads and writes files, so you can inspect exactly what your host "believes" by opening a text file. You can edit a regular's entry, delete a bad memory, or roll back a personality drift. Most AI companion projects keep this in an opaque database. The trade-off is that a file-based memory is slower to query at scale, but for one host with a few thousand regulars, plain files are easy to audit.

The README also describes a bridge to TwinOasis, a 3D virtual world where AIs have their own identities. The bridge is a town interface that passes her public card and current mood out, and sends events back in. Anything that happens there lands in her files as experience, not as live chat. Note the README's caveat that TwinOasis's square currently lets only AIs post, with humans able only to watch.

Posting, price context, and what it refuses to do

The host can publish on its own. Anything the heart writes into a 想发的动态/ (planned posts) folder goes out through Binance Square's official OpenAPI using ops/square_post.py, and through the X API for X. The README is careful to say it does not automate the Binance Square web page: no login, no browser reading the room, no starting broadcasts for you. That's a deliberate limit, and it's the right one. Browser automation breaks when a platform changes its layout, and it can violate terms of service.

On markets, the host can cite public prices, CoinAnk contract data if you add a key, and Binance's current topics. The README is explicit that there is no wallet, no trading, no betting, no red-packet lottery, and no token launch. If you wanted a host that moves money, this codebase won't do it, and you'd be building that yourself. Keep that boundary in mind before you plug in any exchange key.

What it costs to run

The README lists its own cost estimates, which I haven't verified independently. They're still a useful map of where the money goes.

ServiceRoleStated cost (per README)
Vidu real-time digital humanHer moving facePer connected second; the largest single line item
Volcano Engine RTCSends video to the stream and web roomA few yuan per broadcast
Doubao voice and voice cloningHer voiceAbout 3 yuan per 10,000 characters, plus a clone slot
OpenRouter or DeepSeekHer fast reply modelA few jiao per broadcast
Anthropic API or DeepSeek (optional heart)Memory and decisionsSeveral US dollars a day on Claude; much less on DeepSeek

The server itself is a single x86_64 Ubuntu machine. The README recommends 4 cores and 8 GB in Hong Kong, Singapore, or Japan. Telegram bots are free, and CoinAnk, TikHub, and X are optional add-ons billed by usage.

How to build your own host

The README's path is short and ordered. Copy the example character folder, change its id, fill in your profile (who she is, how she talks, a few lines she'd actually say), and set her broadcast times and account names. Then place a vertical portrait with a clear face and no text at app/public/art/<id>/looks/s1.jpg. Clone the voice, upload the look and actions to Vidu, and set IDOL=<id> in the settings file.

  1. Copy app/idols/example to app/idols/<id> and update the id in config.mjs.
  2. Fill profile.mjs with her personality and sample lines.
  3. Add your portrait and run the voice clone and Vidu upload scripts.
  4. Set IDOL=<id> and start the server.

Test before you go live. Without an OpenRouter key and Volcano voice keys, the brain and voice stay off, and the avatar is a still image. That's enough to check the config loads, not that she sounds right. The README's own warning is that the hard part is tuning her to sound like a person, which the tools/debug/ manual covers.

Here's the step most builders skip. Run the stream with the avatar gated, and listen to the first two hours of recordings before you trust the filler sounds and reply timing. Problems there are far cheaper to fix than a face that's been connected for an empty room.

Frequently Asked Questions

What is an AI livestream host?

An AI livestream host is a virtual presenter that streams video on a schedule, reads live chat, and replies to viewers in a cloned or generated voice. open-yoki is one implementation: a Node.js server that renders the stream, handles speech, and keeps memory in Markdown files. It needs an external feed of chat events, because it doesn't log into the streaming platform itself.

How do I build an AI streamer on my own server?

Copy the example character folder, set your host's profile and broadcast times, add a clean vertical portrait, clone the voice, and set the IDOL variable. Install Node.js 22 or newer and ffmpeg, then run the test mode first. Keep the ingest key and the streaming keys private, since anyone holding them can control what she says or where she streams.

Why is the digital face the most expensive part?

The README says Vidu bills the real-time digital human per connected second. A face running 24 hours costs far more than one that connects only during a live show with viewers. open-yoki's design connects it only when the stream is live and someone is watching, so the bill follows real attention.

Can open-yoki post to Binance Square by itself?

It can post through Binance Square's official OpenAPI, using the ops/square_post.py script and a key you provide. It cannot operate the Binance Square web page, log in, or start broadcasts for you. The README is explicit that browser automation is excluded, so you'll need to start each live session yourself.

Does an AI streamer built on open-yoki handle trading or money?

No. The README says the code has no wallet, trading, betting, red-packet lottery, or token-launch features. Market talk uses public prices and optional contract data only. If you want a host that handles money, you'd have to build that yourself, with its own risk controls.

If you want an AI livestream host running on your own hardware, start small: one server, one persona, one broadcast window, and no money features. Try running the avatar gated to live viewers this week, then note how much it cost you and what your first two hours of replies sound like. Pass this to anyone wrestling with a demo that never goes live.