Skip to content

What is q15?

q15 (Quietscheentchen) is a self-hosted, Telegram-based AI agent runtime split across three long-lived runtime services. You talk to it through Telegram; it runs code, reads and writes files, searches the web, manages a persistent knowledge base, and maintains layered memory across conversations.

It is self-hosted. You run it in Docker Compose or Kubernetes. Your workspace, memory, and skills persist on your own infrastructure.

It is built in Go. Three binaries, three containers, one stack.

Most AI agent platforms are cloud-hosted SaaS. Your data, your credentials, and your conversation history live on someone else’s infrastructure. q15 takes a different position:

  • You own the state. /workspace, /memory, and /skills are persistent volumes on your infrastructure. Nothing leaves your stack unless you configure it to.
  • You own the credentials. q15-proxy sits between the agent and the internet. It injects credentials into requests at the network layer, so the agent never sees API tokens or passwords. The agent gets broad internet access — but without holding any secrets.
  • You own the model choice. Multiple providers, capability-aware selection, deterministic fallback ordering. No vendor lock-in.
  • You own the execution. q15-exec runs commands through Nix. Any package from nixpkgs is available on demand without rebuilding the container image.

You send a message to a Telegram bot. q15:

  1. Assembles a prompt from its identity files, working memory, and conversation history.
  2. Selects a model based on the inferred capabilities needed for the request.
  3. Calls the model, executing tool calls as needed (file operations, shell commands, web search, embedding search).
  4. Persists the turn to episodic memory under /memory/history/.
  5. Responds in Telegram.

The agent has rooted file access to /workspace, /memory, and /skills. It can read, write, and edit files. It can run shell commands. It can search the web. It can search its own embedding collections.

Architecture

The three-service model and how the pieces fit together.

Prompt Injection

What prompt injection is, why it is the fundamental challenge of AI agents, and how q15 defends against it.

Getting Started

Clone the repo, configure, and run a local stack.