xKiwiLabs xKiwiLabs
Open Source · Apache 2.0

Urika

A multi-agent platform for automated scientific analysis.

Give it a dataset and a research question. Urika orchestrates a team of specialised AI agents that design experiments, run analyses, evaluate results, and document everything automatically.

Urika — multi-agent scientific analysis platform

What is Urika?

Urika is an open-source, multi-agent scientific analysis platform. You provide a dataset and a research question, and Urika assembles a team of specialised AI agents that work together to explore your data systematically — designing analytical methods, writing and executing Python code tailored to your specific data, evaluating results against success criteria, and documenting everything along the way.

The dataset can be in any format — tabular (CSV, Excel, Parquet, SPSS, Stata), images, audio, time series (HDF5, EDF, MAT), spatial/3D data, or domain-specific formats. Urika detects and profiles the data automatically, and agents install whatever libraries they need to work with it.

Key Features

12 Specialised Agents

Planning, code execution, evaluation, advising, custom tool building, literature search, reporting, presentations, data sanitisation, project summarisation, and finalisation — each handled by a dedicated agent with security boundaries.

Privacy Modes

Open, private, or hybrid. In hybrid mode, data stays on local or institutional endpoints while frontier cloud models handle reasoning. Per-agent routing across any combination of endpoints.

Guided & Autonomous

Run one experiment at a time with full review, or let the advisor agent steer across multiple experiments autonomously. Checkpoint, capped, or unlimited modes.

Reports & Presentations

Auto-generated lab books, narrative reports, key findings, and reveal.js HTML slide decks. The finalizer produces standalone reproducibility scripts anyone can run without Urika installed.

Custom Tool Building

When built-in tools aren’t enough, the tool builder agent creates project-specific tools on the fly — from EEG extractors and audio feature analysis to spatial clustering and sequence alignment.

Knowledge Pipeline

Ingest PDFs, text, and URLs into a project knowledge base. The literature agent searches it during experiments to ground analyses in existing work and domain context.

TUI, CLI & Dashboard

Interfaces sharing the same project state on disk: an interactive TUI (with a classic REPL fallback), a scriptable CLI with --json output, and a browser dashboard for monitoring long runs.

Email, Slack & Telegram

Progress updates via email (with smart batching), Slack, or Telegram. Remotely pause, stop, or query runs from Slack and Telegram bots. Per-channel health checks and test-send from the dashboard.

Evolving Criteria

Success criteria are versioned and evolve as experiments progress. The advisor can raise the bar as understanding deepens. A ranked leaderboard tracks every method tried.

How It Works

1

Set up a project

Point Urika at your dataset and describe your research question. The project builder agent profiles your data, asks clarifying questions, and proposes initial experiments. Optionally ingest PDFs or papers into the knowledge base.

2

Agents plan and execute

The planning agent designs an analytical method. The task agent writes and executes Python code to implement it — every method is built fresh for your data, not pulled from a template. If a capability gap is identified, the tool builder creates a custom tool. The evaluator scores the result against your success criteria.

3

Iterate and explore

The advisor agent reviews results and proposes what to try next. In guided mode, you decide between experiments. In autonomous mode, the advisor steers the full exploration — you can monitor and control runs remotely via Slack or Telegram.

4

Get results

The finalizer selects the best methods and writes standalone Python scripts with full reproducibility — runnable by anyone without Urika installed. The report agent writes a narrative, the presentation agent builds an HTML slide deck, and a leaderboard ranks every method tried.

The Agent Team

Urika orchestrates a team of specialised agents, each with a defined role, specific tool access, and security boundaries controlling what it can read and write.

Project Builder

Scopes new projects

Planner

Designs analytical methods

Task Agent

Writes & runs code

Evaluator

Scores against criteria

Advisor

Proposes next steps

Tool Builder

Creates custom tools

Literature

Searches knowledge base

Report

Writes narrative reports

Presentation

Builds HTML slide decks

Data Agent

Sanitises data (hybrid)

Project Summarizer

Unified progress narrative

Finalizer

Packages reproducible outputs

Getting Started

Urika is a Python package on PyPI. Install it into a virtual environment and pick the model providers you want — Anthropic, OpenAI, Google, or any combination.

# Set up a virtual environment

python3 -m venv ~/.venvs/urika

source ~/.venvs/urika/bin/activate

# Install Urika (choose your providers)

pip install urika # Anthropic

pip install 'urika[openai]' # + OpenAI

pip install 'urika[google]' # + Google

pip install 'urika[all]' # all providers

urika setup

# Add an API key for at least one provider

urika config api-key

# Start a new project and run an experiment

urika new my-study --data ./my_data.csv

urika run my-study

urika finalize my-study

Requirements: Python 3.11+ and an API key for at least one provider (Anthropic, OpenAI, or Google). The Claude Code CLI is optional — install it (npm install -g @anthropic-ai/claude-code) if you want to authenticate the Anthropic adapter with a subscription instead of an API key. Set a monthly spend limit in your provider console before you start.

Platforms: Linux, macOS, and Windows 11.

Stack: Python with NumPy, Pandas, SciPy, Scikit-learn, and more. Models route automatically by provider and can be mixed per agent role. Supports local models via Ollama and institutional endpoints (vLLM, LiteLLM, OpenAI-compatible) for privacy-sensitive workflows.

Try Urika

Urika is free, open source, and in active development. Star the repo, try it on your data, and let us know what you think.

View on GitHub