my-neuro: A Self-Hosted Workbench for a Live2D Companion With Local TTS
This project lets you create your own AI desktop companion with customizable characters and voice conversations that respond in just 1 second. Features include long-term memory, visual recognition, voice cloning and LLM training. Compatible with various Live2D customizations.
At a glance
- What is it?
- my-neuro is an MIT-licensed JavaScript workbench for building a voiced desktop character: local LLM inference, GPT-SoVITS voice training, Live2D avatars and a memory layer. The README claims sub-second latency, but the deployment path runs through an external site and a Baidu-hosted bundle.
- Who is it for?
- Adopt my-neuro if you want a Bilibili-facing or desktop-resident character and you are willing to assemble the stack yourself: GPT-SoVITS for the voice, an LLM you host or pay for, and a Live2D model you have the rights to distribute. Do not adopt it if you need a documented, English-language deployment path or if the emotion model is the reason you are interested, because the README lists it as unchecked.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap my-neuro is trying to fill
Most desktop companion projects stop at a chat window. my-neuro aims at a character that has a voice, a face, and a memory of you, and it does so as a workbench rather than a finished product. The README states the goal plainly: build a personal AI character, shaped by your own data, with the voice and personality you choose. The project name is an explicit nod to Neuro-sama, and the author describes the bundled default character (called 肥牛, or fake neuro) as a deliberate imitation with a different personality setting.
The audience is narrow and specific. This is for people who want to train a TTS voice model, swap in a Live2D avatar, and run inference locally instead of paying per token. The README points readers who want fully local inference or fine-tuning to an LLM-studio folder inside the repository. It also ships a one-click archive aimed at newcomers who do not want to assemble Python environments, with a warning that the extraction path must not contain Chinese characters, spaces, or brackets. That warning alone tells you who the second audience is: users who will not read a stack trace.
What actually runs when you talk to it
The README includes a runtime flow diagram (image/runtime-flow-dark-tech-cn.svg) but does not transcribe it into text, so the architecture has to be inferred from the feature list and the credited dependencies. The pieces named are GPT-SoVITS for TTS, MemOS for the memory system, mindcraft for Minecraft play, and microsoft/playwright-mcp for browser control. MCP support is listed as a completed feature, which means tool calls are routed through the Model Context Protocol rather than a bespoke plugin format.
The interaction loop the README describes has several branches that matter for design. Speech and subtitles are emitted together, and subtitles can be displayed in Chinese while the audio plays in another language, a switch intended for characters whose TTS model is natively foreign. Interruption is supported from both voice and keyboard, which implies the audio pipeline is cancellable rather than queued to completion. Vision is not always on: the README says image recognition is triggered by language intent, so the model decides when to look. Long-term memory is described as storing key facts about you, your personality and your temper.
Two model paths are supported. Open-weight models can be fine-tuned and deployed locally, and closed models can be connected through an API. That dual path is the most consequential design decision in the project, because it determines whether your conversation data leaves the machine.
Deployment runs through an external tutorial, not the repository
The README does not contain installation commands. It redirects to http://mynewbot.com/tutorials for the deployment process, and offers a Baidu Pan archive for a beginner bundle. There is no documented npm install, no docker-compose file referenced, and no environment variable table in the material provided. For an engineer evaluating adoption, that is the first real friction point: the primary setup instructions live outside version control, so they can change without a commit and cannot be reviewed or pinned.
What the material does give you is a set of paths and constraints. The local inference and fine-tuning guidance sits in an LLM-studio folder. The beginner archive requires an extraction path free of Chinese characters, spaces, and brackets. Releases are versioned separately from the installer: v6.7.2 and v6.7.1 are tagged as 正式版 (official builds), while the installer archive is tagged exe3.0. Two version series means you should record which installer produced which application build, because the tags do not obviously correspond.
If you want the local path, the practical sequence implied by the README is: obtain the LLM-studio materials, set up a local model or a fine-tune, train a GPT-SoVITS voice model on your own audio, then point the application at both. None of those steps have documented commands in the supplied material, and I have not run them.
The sub-second latency claim and what it depends on
The README lists "超低延迟:全本地推理,对话延迟在1秒以下" (ultra-low latency, fully local inference, conversation latency under one second) as a completed feature. Treat that as a project claim, not a measured result. Nothing in the material states the hardware it was measured on, the model size, the utterance length, or whether the timer starts at end-of-speech or at first audio out. Latency in a pipeline like this is the sum of speech recognition, LLM first-token time, TTS synthesis, and audio buffer fill, and the TTS stage alone varies enormously with model size and whether synthesis is streaming.
The claim is also conditional on the local path. If you connect a closed model through an API, network round-trip time sits inside the same budget, and the README does not offer a separate latency figure for that configuration. The honest reading is that sub-second is achievable in the configuration the author uses, and that you should measure it on your own hardware before treating it as a property of the software.
The emotion system is on the roadmap, not in the build
The README's plan list is unusually candid about what is unfinished. Two items under core features are unchecked: 真实情感 (real emotion, meaning simulated human emotional state with its own mood) and a better human-like interaction design. Under the model's own wishlist, colour-shifting the screen according to mood and free movement around the desktop are both still unchecked. The author writes that the project has reached roughly 30 percent of the intended functionality and that the persistent emotional state is the next focus.
This matters because emotion is the differentiator the README spends the most prose on. The closing section describes a character that gets angry, that is upset by a phrase for a long time, that remembers every moment with you. That is the pitch. What ships today, per the same list, is memory, personality configuration, vision, interruption, and the action and expression system driven by conversation content. The gap between the pitch and the checklist is the single most important thing to understand before adopting.
The active-conversation feature is marked V1, which is another way of saying it is early. If your reason for choosing my-neuro over a plain chatbot wrapper is the emotional model, you are adopting a roadmap.
Bilibili, Minecraft and the platform bet
Several features assume a Chinese-language, Chinese-platform context. Live streaming is supported on Bilibili specifically, and streaming integration for overseas platforms is unchecked. The mobile app is Android. The beginner bundle is distributed through Baidu Pan. The interface language of the README is Chinese first, with an English translation file linked at the top.
Game integration is similarly scoped. The README lists Minecraft and galgame as the currently connected titles, with 你画我猜 (Draw and Guess), Monopoly and others described as experimental. Minecraft support is credited to mindcraft-bots/mindcraft, so the behaviour you get is that project's behaviour.
For a non-Chinese user this is not disqualifying, but it changes the work. You would be translating setup steps, possibly debugging against Chinese-language logs, and giving up the streaming feature unless you build the integration yourself. The English README exists, which helps, but the deployment tutorial is on a separate site and the material does not indicate whether it has an English version.
How this differs from a general-purpose agent framework
The closest comparison is not another companion app but an agent framework such as a tool-calling assistant built on an LLM with a TTS front end. The difference in approach is where the state lives. An agent framework typically treats the conversation as the unit of work: a session starts, tools are called, the session ends. my-neuro treats the character as the unit of work. Memory is persistent and personal (MemOS is credited for this), the voice model is trained on a specific person's audio, the avatar is a specific Live2D model, and the personality is a configuration you author.
That inversion has costs. A general agent framework can be redeployed for a new task by changing a prompt; my-neuro's value is bound to the assets you trained and the model you chose. It also has benefits. Because the character is the persistent object, features like proactive conversation, sound-effect playback chosen by the model, and long-term memory of your habits are natural rather than bolted on.
The tradeoff shows up in upgrade cost. A new release of my-neuro may change how the character configuration is read, and your trained voice model and memory store are the parts you cannot easily regenerate. The README does not describe a migration path between v6.7.1 and v6.7.2, nor does it document where the memory store lives on disk.
Licence, maintenance and what to check before you commit
my-neuro itself is MIT-licensed, which permits commercial use and modification with attribution and without warranty. That is the permissive end of the spectrum and it is the least of your concerns.
The dependencies are the real question. The README credits GPT-SoVITS, MemTensor/MemOS, mindcraft-bots/mindcraft and microsoft/playwright-mcp as referenced open source projects. Each carries its own licence, and the material does not state which version of each is bundled or how they are linked. If you plan to distribute a character built on this stack, or to stream with it commercially, you need to check each dependency's terms separately, plus the licence of any Live2D model you substitute and the rights to any voice you clone. Cloning a voice is a separate legal question from the software licence, and the README does not address consent or rights for voice training data. This is not legal advice; it is a list of things to verify.
Maintenance pace looks active: v6.7.1 and v6.7.2 landed two days apart in September 2026, with an installer release between them. Rapid patch releases at that cadence usually mean configuration formats and file layouts are still moving. Budget for re-reading the external tutorial after upgrades, and keep your trained voice model and memory data in a location you control rather than inside the application directory.
Editorial conclusion
Adopt my-neuro if you want a Bilibili-facing or desktop-resident character and you are willing to assemble the stack yourself: GPT-SoVITS for the voice, an LLM you host or pay for, and a Live2D model you have the rights to distribute. Do not adopt it if you need a documented, English-language deployment path or if the emotion model is the reason you are interested, because the README lists it as unchecked. Before committing, verify three things: that the tutorial at mynewbot.com is reachable and current, that the inference mode you intend to use is fully local rather than API-backed, and that the licence terms of every bundled component (GPT-SoVITS, MemOS, mindcraft, playwright-mcp) are compatible with how you plan to ship the character.
Community notes