Skip to main content

Artemis architecture

High-level overview​

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

Artemis architecture diagramArtemis architecture diagram

Detailed architecture​

Here are additional details on the Artemis architecture:

Artemis architecture diagramArtemis architecture diagram

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.