Artemis architecture
High-level overview
This is a high-level overview of the Artemis architecture:

Detailed architecture
Here are additional details on the Artemis architecture:

Glossary
Components and APIs
Artemis Frontend
The Artemis web application, the pages you see in your browser. It is a single React app and the only user interface. Everything else is reached through the API.
API Gateway
The front door for all traffic. It serves the web app and routes every API request, from the web app, the Artemis CLI and coding agents, to the right service. The whole API lives under /api/v1, and /version reports the deployed Artemis version without a login.
Artemis Backend
One service that serves every feature behind a single API: chat and the Agents page, Plans and their Tasks, Maintain's Rules, Scans, Issues and Fixes, the record of every agent run with its checkpoints, and the model gateway that talks to the AI providers and holds their credentials, profiles and presets. The web app and the CLI call it for these features, and so do Falcon and the agents.
Falcon Optimisation API
Keeps track of everything about your Projects: the code Versions Artemis generates, their scores and validation results, and the Discover module with its Experiments and the memories behind Agents Memory. It also keeps each Project's repository in sync with your Git provider (GitHub, GitLab, Bitbucket or Azure DevOps) and pushes live updates to your browser as work progresses.
GitHub Connector
Handles the platform's GitHub connection: repository access, sync and pull requests.
Users API
Everything to do with people and access: signing up, logging in, roles and permissions, user profiles, set-password links for invited users, and connecting to your company directory via LDAP.
Loki Task API
The platform's task coordinator. When something needs to run (a build, a test, a benchmark) Loki decides which worker or Runner picks it up, and broadcasts progress so the UI can show live status.
LLM Tunnel Gateway
The server side of Artemis Desktop. The desktop app opens a tunnel from your machine and publishes the models running there, with their context windows. The gateway lists them in the model picker, removes them when they go away, and tells an out-of-date desktop app that it needs an update.
Workers
Workers are the background processes that do the heavy lifting. They pick up tasks from a queue and report progress back to the platform.
Agentkit Worker
Runs the AI agents. Whenever an agent works on your code, in a chat, a Plan, a Scan, a Fix, a Discovery Run or on a Branch, an Agentkit worker is doing the work, talking to the backend and the AI models along the way. The number of agent-worker replicas is a deployment setting.
Celery Worker
Handles Falcon's background chores, such as checking your Git provider for new commits and telling Maintain when the code has changed.
PR Create Worker
Opens pull requests on your Git provider from a Branch, publishing it first if needed.
Utility Worker
Prepares code downloads.
Kafka Consumers
A separate process that reads the platform's event stream and turns it into the live status updates the UI shows.
Infrastructure
Data stores
- PostgreSQL: the main database for most services, including agent run checkpoints
- MongoDB: used by the Users API, the Artemis Backend and the Loki Task API for their internal data
- Redis: caching and queueing background jobs
- Object storage: project files and build artefacts (S3-compatible; runs a MinIO fork)
Messaging
- Kafka: streams live status updates to the UI
- RabbitMQ: hands tasks to workers
Git
- Gitea: the internal copy of each Project's repository inside the platform
Observability
- Grafana Loki & Alloy: collect logs from every service for monitoring and troubleshooting
On your side
Artemis Runner
The Artemis Runner is a small program you run on your own hardware, outside the platform. It talks to the platform over REST: it receives build, test and benchmark commands from the Loki Task API, executes them against a local copy of your code, and sends results, logs and performance metrics back through Falcon.
Artemis Desktop
A desktop app for your own machine. It serves the models running on your machine to Artemis through the LLM Tunnel Gateway, so they appear in the model picker next to the cloud providers. Local models have their own timeouts and call limits, set in the deployment.