Self-hosted, open-source registry for publishing, versioning, and governing agent skill packages inside an organization.
jigjoy-ai/mozaik
A TypeScript runtime where AI agents join a shared space, react to events, and run concurrently without blocking each other.
- Stars
- 166
- Forks
- 18
- Open issues
- 4
- Last commit
- 11 hours ago
What is it?
Mozaik is a TypeScript runtime for building AI agents that share an event bus. Participants such as humans, agents and observers join a runtime, publish events like messages or custom signals, and react through situation handlers that pair a specification with a processor.
Each agent turn runs as a state machine covering message intake, model inference, tool calls and the final answer. Calls to runLoop are fire-and-forget, so several agents can think and use tools at the same time. An optional interception handler can inspect or rewrite the next state before it executes, which allows a human or another agent to steer a loop.
The package is published on npm as @mozaik-ai/core. Provider selection is based on the model name passed to runInference, with OpenAI, Anthropic and Gemini credentials read from environment variables, and DeepSeek reachable through an OpenAI-compatible endpoint.
Key features
- 01Participants (humans, agents, observers) join a shared runtime and exchange SpaceEvents.
- 02Agent loops run concurrently, and each loop has its own loopId.
- 03Situation specifications and processors let agents react to events without polling.
- 04Built-in loop states cover inference, streaming, tool calls and model answers.
- 05An interception handler can rewrite the next loop transition before it runs.
- 06Shared state is typed through a RuntimeState subclass.
Use cases
- Building multi-agent systems where several agents collaborate on the same goal in real time.
- Adding a critic or reviewer agent that reacts to another agent's answers.
- Creating a transcript or UI stream by observing events without participating in the conversation.
- Keeping a human in the loop by intercepting tool calls before they run.
Quick start
- 1
Install the core package with npm
npm install @mozaik-ai/core - 2
Set the API key for the provider you use in a .env file
Things to know
- Requires API keys from model providers such as OpenAI, Anthropic, or Gemini to run inference.
- The README shows no runnable end-to-end example in the excerpt, so setup beyond installation may take some effort.
In collections
Topics
FAQ
- What is mozaik?
- A TypeScript runtime where AI agents join a shared space, react to events, and run concurrently without blocking each other. Mozaik is a TypeScript runtime for building AI agents that share an event bus. Participants such as humans, agents and observers join a runtime, publish events like messages or custom signals, and react through situation handlers that pair a specification with a processor.
- Is mozaik free to use? What license does it have?
- mozaik is open source under the MIT license. Check the license terms before using it in commercial products.
- Is mozaik still maintained?
- Actively maintained. The last commit to mozaik was on Nov 7, 2026.
- What can I use mozaik for?
- Building multi-agent systems where several agents collaborate on the same goal in real time. Adding a critic or reviewer agent that reacts to another agent's answers. Creating a transcript or UI stream by observing events without participating in the conversation. Keeping a human in the loop by intercepting tool calls before they run.
- How do I install mozaik?
- Install the core package with npm: npm install @mozaik-ai/core Set the API key for the provider you use in a .env file
- Where can I get mozaik?
- The source code and installation instructions are on GitHub: https://github.com/jigjoy-ai/mozaik
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted TypeScript agent runtime for coordinating multiple LLM agents, with human approval gates and offline-inspectable run journals.
Open-source shared workspace where humans and AI agents work in one pod, each agent keeping its own memory, skills and identity.
TypeScript AI agent framework with persistent cognitive memory, optional HEXACO personality, multi-agent orchestration, and a unified interface across 13 LLM providers.
Self-hosted personal AI agent framework in Python with a browser WebUI, terminal client, chat app channels, tools, memory and MCP support.
Code-first Python framework from Google for building, evaluating, and deploying AI agents, optimized for Gemini but model-agnostic.