---
title: Core concepts
description: The five words that describe every Nori setup — agent, harness, provider, integrations, compute — plus the managed/composable split.
---

Every Nori setup is described by the same handful of ideas. Learn these once and
the rest of the docs read easily.

## Agent

The thing doing the work — a coding agent that reads your repo, edits files, runs
commands, and reports back. Nori is deliberately **agent-agnostic**: it runs many
agents rather than shipping its own.

## Harness

The program that hosts an agent's loop — Claude Code, Codex CLI, Gemini CLI, and
others. Nori speaks to harnesses through a common surface (including the **Agent
Client Protocol, ACP**) so you can swap the harness without changing your
workflow. *Any harness.*

## Provider (token)

The model API behind the agent, and the credentials for it. You **bring your own
token** — Claude, OpenAI, Gemini, or another. *Any token provider.*

## Integrations

The outside world the agent can touch — Slack, GitHub, Google Workspace, Linear,
and more — wired in per org. *Any integrations.*

## Compute

Where the agent actually runs. Managed Sessions place each run on a secure cloud
VM from a pluggable backend (Sprites or Modal today), selected per fleet. The
compute layer is designed to be swappable. *Eventually, any compute.*

## Two altitudes: managed vs. composable

Nori is the same idea at two levels:

- **Managed** — [Sessions](/sessions/) runs the whole loop for you: it picks the
  machine, holds the credentials, and streams results to Slack. Fully-managed
  agents, zero infrastructure.
- **Composable** — the open-source [CLI](/cli/) and [Skillsets](/skillsets/), plus
  [Handroll](/sessions/handroll/), let you assemble your own multi-agent cloud from the
  same primitives, on your own terms.

Keep these five words in mind — *agent, harness, provider, integrations,
compute* — and every page tells you which one it's about.
