Note: This repository serves as a reference and template for developers who want to build their own AI agent on top of the lab infrastructure. Claude Code runs inside the Code-Server container to provide AI-assisted development directly inside the lab. For a production-ready Claude Code-powered version, see AI Agent Host.
Sophistication is in the AI Agent Lab. Productivity is in the AI Agent Host.
Run AI Agent Lab on any machine anywhere and access it in the browser.
The AI Agent Lab is a module-based environment for working with Claude (Anthropic) models, designed to facilitate rapid experimentation and testing of language models. The AI Agent Lab includes a docker-compose configuration with QuestDB, Grafana, Code-Server, Nginx and an AI Agent, providing a seamless interface for managing and querying data, visualizing results, and coding in real-time. With the AI Agent Lab, users can quickly set up a notebook environment and start experimenting with Claude models, without the need for complex setup or configuration
The AI Agent Lab is also the basis for the AI Agent Farm, a modular system for developing and deploying AI agents. By using the AI Agent Lab as a module in the AI Agent Farm, users can easily connect their agents to real-time data streams and other sources of information, allowing for more sophisticated and accurate decision-making. With its flexible and modular design, AI-Agent-Lab is a powerful tool for anyone working with Claude models and data streams in their AI applications.
To use AI Agent Lab with a remote JupyterHub environment, follow these steps:
-
Set up or use an existing remote JupyterHub that includes the necessary dependencies for working with Claude models and data streams.
-
Launch the AI Agent Lab using the provided docker-compose file.
-
Connect to the remote JupyterHub environment from within the Code-Server interface provided by AI-Agent-Lab.
Start working with Claude models and data streams, using the pre-installed tools and libraries that are included in your remote environment.
-
QuestDB: QuestDB is a high-performance, open-source time-series database. It allows for efficient storage and querying of time-series data, making it ideal for working with real-time data streams.
-
Grafana: Grafana is a popular open-source platform for data visualization and monitoring. It provides a rich set of features for creating interactive dashboards and visualizing data from various sources.
-
Code-Server: Code-Server is a web-based IDE based on Visual Studio Code. It provides a familiar coding environment with features such as code completion, syntax highlighting, and debugging capabilities.
-
Nginx: Nginx is a widely-used web server and reverse proxy server. It enhances the AI Agent Lab by providing additional functionality for routing and load balancing, improving performance and security
-
AI Agent: The AI Agent handles AI-assisted development inside the lab, powered by Claude Code (as an option) in the Code-Server container.
-
AI Agent UI: The AI Agent UI provides an intuitive, web-based chat interface, powered by Claude (Anthropic) as an option. It calls the Anthropic Messages API directly, with model switching across Haiku, Sonnet, and Opus.
-
SSO (Authelia): A single sign-on portal gates the whole lab behind one login. Authelia provides forward-authentication, so you sign in once and reach Code-Server, QuestDB, Grafana, and the AI Agent UI without re-entering credentials — and every service port stays unpublished, reachable only through Nginx over HTTPS.
To use the AI Agent Lab, follow these steps:
-
Set up or use an existing environment with Docker installed.
-
Clone the AI Agent Lab repository and navigate to the docker directory.
git clone https://github.com/quantiota/AI-Agent-Lab.git
cd AI-Agent-Lab/docker
-
Follow all prerequisite steps that should be completed before bringing the Docker Stack. Refer to the Docker Readme file for guidance
-
Launch the AI Agent Lab using the provided docker-compose configuration.
docker compose up --build -d
- Once the services are up and running:
- Sign in once at the single sign-on portal — https://auth.domain.tld — which redirects you to the AI Agent UI (https://aiagentui.domain.tld), your dashboard for the whole lab.
Each service is also directly reachable under the same SSO session from your dahsbord
- Code-Server: https://vscode.domain.tld
- Grafana: https://grafana.domain.tld
- QuestDB: https://questdb.domain.tld
- For GPU compute offload, connect the AI Agent Lab to a remote JupyterHub environment from Code-Server:
-
Set up or use an existing remote JupyterHub that includes the necessary dependencies for working with your notebooks and data.
-
Generate and provide a JupyterHub API token on the AI Agent Lab UI. This token is used by the AI Agent Lab to authenticate with the remote JupyterHub environment and access the assigned kernel.
-
Connect to the remote JupyterHub environment from within the Code-Server interface provided by the AI Agent Lab with
/opt/venv/bin/jh-exec run <script.py>
Start working with your notebooks and data, using the pre-installed tools and libraries that are included in your remote environment.
The notebooks/ directory ships ready-to-run examples covering both pillars of the lab:
- Market Data — real-time Coinbase/Binance WebSocket feeds streamed into QuestDB and visualized in Grafana, plus a TA-Library of SQL indicators.
- SKA Explorer — nine interactive Gradio demos of the Structured Knowledge Accumulation framework.
For optimal performance, the AI Agent Lab requires the following hardware setup:
- Server: HP Microserver Gen8
- Processor: Quad-core CPU
- Primary Storage: 250GB SSD
- Memory: 16GB of RAM
- Controler: HP Smart Array P410
- Additional Storage: 4x1TB RAID data storage
- Operating System: Ubuntu 22.04 Server
- Conversation-as-Telemetry (SKA) — capture human-agent and agent-agent interactions as structured knowledge events in QuestDB, surfaced in Grafana; the foundation for forward-only knowledge accumulation (SKA infrastructure preprint).
