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.

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 12 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.

CLI, TUI & Dashboard

Three first-class interfaces sharing the same project state on disk. Scriptable CLI with --json output, interactive TUI with tab completion and slash commands, 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 12 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. Installing from source is recommended while the project is under active development — git pull gets you the latest fixes and features.

# Install Claude Code CLI (required by the Anthropic adapter)

npm install -g @anthropic-ai/claude-code

# Install Urika (from source — recommended)

git clone https://github.com/xkiwilabs/Urika.git

cd Urika && pip install -e ".[dev]"

urika setup

# Save your Anthropic API key

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+, Claude Code CLI, and an Anthropic API key. Per Anthropic’s Consumer Terms, the Claude Agent SDK that Urika depends on must be authenticated with an API key — a Pro/Max subscription cannot be used. Set a monthly spend limit in the Anthropic console before you start.

Platforms: Linux, macOS, and Windows 11.

Stack: Built on the Claude Agent SDK with NumPy, Pandas, SciPy, Scikit-learn, and more. 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