Turning the Portal Villain Into a Roommate: GLaDOS as an Open-Source Voice Assistant
You've probably yelled at a voice assistant for mishearing you, or felt that weird pang of disappointment when it answers your question with a robotic "I found some results on the web." They're useful, sure, but they're not exactly conversational partners. They wait for commands, process them, and spit out answers. There's no personality, no initiative, no sense that anything is actually happening on the other end. What if, instead, you could build an assistant that watches, judges, and occasionally speaks up on its own—with the passive-aggressive charm of a fictional AI that genuinely seems to enjoy testing your patience?
That's the premise behind GLaDOS, an open-source project that brings the Portal antagonist to life as a proactive voice assistant. And no, it's not just a voice skin with a few canned lines. This is a serious attempt at building a system with vision, long-term memory, emotional modeling, and tool integration—all running on hardware you can buy today.
What It Does
At its core, GLaDOS is a multi-agent voice assistant system. Instead of cramming everything into one massive prompt, it borrows from Marvin Minsky's "Society of Mind" theory. Multiple specialized agents handle different tasks—one for vision, one for memory, one for personality, one for planning—and their combined output is assembled into a dynamic context for each interaction. The "self" you talk to emerges from that assembly, which is a clever way to keep responses coherent without blowing up your context window.
The hardware setup is straightforward: she sees through a camera, hears through a microphone, and speaks through a speaker. The current version runs on a Rock5b single-board computer with an RK3588 NPU, so this isn't a cloud-only experiment. There's a dedicated branch for that setup if you want to try it on constrained hardware.
The project has been through multiple refactors since 2023, tracking improvements in available models. The latest version adds three things the author says they always wanted: vision, long-term memory, and tool use via the Model Context Protocol (MCP). That last bit is significant—it means you can extend the system to control your lights, check system stats, or hook into other services without rewriting core logic.
Why It's Cool
The most interesting design decision here is that GLaDOS is proactive. Most assistants wait for a wake word. This one doesn't. She observes her environment and speaks when she has something to say. The README sums it up nicely: "She watches, waits, and speaks when she has something to say." That's a fundamentally different interaction model, and it's what makes the project feel like you're building a presence, not a tool.
-
Emotional state via PAD model: The system tracks Pleasure-Arousal-Dominance to give her a reactive mood. She can be annoyed, pleased, or somewhere in between, and that affects how she responds.
-
Persistent personality through HEXACO traits: Unlike a chatbot that resets every session, she has stable character traits that carry across conversations. Combined with the emotional state, this creates a layered personality system that feels more coherent than a single prompt.
-
Long-term memory: Facts, preferences, and conversation summaries persist. You don't have to reintroduce yourself every time you talk to her.
-
An Observer Agent: There's a constitutional AI component that monitors her behavior and self-adjusts within bounds. It's a safety mechanism that keeps her from going full rogue—which is probably wise, given the source material.
-
Latency optimization: The author notes that getting round-trip response time under 600 milliseconds was the hard part. Below that threshold, conversation stops feeling stilted. That required training a custom text-to-speech model and shaving milliseconds off every part of the pipeline. That's the kind of engineering detail that separates a demo from something you'd actually want to talk to.
The tone is also a big part of the appeal. The README is written with genuine humor—quotes from Cave Johnson and GLaDOS throughout, plus the observation that a "demented, obsessive AI fixated on humanity, super intelligent yet utterly lacking sound judgment" is basically just an LLM. It's self-aware without being cynical.
How to Try It
The project is active and well-documented. To get started, you'll want to check out the main repository and its docs:
- Repository: github.com/dnhkng/glados
- Vision details: Check the
/docs/vision.mdfile for how the FastVLM integration works - Autonomy: The
/docs/autonomy.mdfile explains how the proactive behavior is implemented - MCP tools: The
/docs/mcp.mdfile covers the extensible tool system - SBC setup: If you want to run on a Rock5b, there's a dedicated branch linked from the README
The project also has a Discord community if you want to see what others are building or need help troubleshooting. There's a Ko-fi page if you want to support the development directly.
Here's a rough path to getting started:
- Clone the repository and read through the docs to understand the architecture.
- Set up your hardware—camera, microphone, speaker, and a compatible board (or whatever you have available).
- Follow the setup instructions for your platform, including the custom TTS model.
- Start with a simple configuration, then gradually add MCP tools and enable vision.
- Join the Discord to share your results and learn from others' setups.
Final Thoughts
This project sits in an interesting spot between novelty and serious engineering. On one hand, it's a fan project that lets you have passive-aggressive conversations with a fictional AI. On the other, it demonstrates real solutions to hard problems in voice AI—latency reduction, multi-agent context management, persistent personality, and proactive interaction. If you're a developer interested in voice assistants, embodied AI, or just want a genuinely entertaining addition to your desk setup, this is worth a deep dive. It's not a polished consumer product, but it's a fascinating look at what's possible when you stop waiting for wake words and start building something that has its own opinions about you.
Follow @githubprojects for more developer tools and open source projects.