# primeintellect-ai/prime-agent architecture

> Architecture diagram of the GitHub repository primeintellect-ai/prime-agent, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-24). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/primeintellect-ai/prime-agent
- Repository: https://github.com/primeintellect-ai/prime-agent

## Overview

Prime Agent is a coding and research agent designed for persistent, long-running work. A user starts through the CLI, which prepares a session and presents an interactive or headless interface; the agent then works through a persistent Python REPL, invokes models and tools, and records session state. Separate capabilities support durable harness refinement, skills, goals, schedules, MCP integrations, and daemon-backed continuity and agent coordination. The README documents these major branches; sampled excerpts establish selected entry-point, kernel, session-storage, daemon-client, and MCP details, so uncertain internal wiring is omitted.

Main entry points: [`packages/coding-agent/src/core/agent-session.ts`](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/agent-session.ts) (Agent Session), [`packages/coding-agent/src/main.ts`](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/main.ts) (CLI Entry), [`packages/coding-agent/src/modes/interactive/interactive-mode.ts`](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/interactive/interactive-mode.ts) (Interactive TUI), [`packages/coding-agent/src/core/rlm-runtime.ts`](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/rlm-runtime.ts) (RLM Runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["User Interfaces"]
  node_main["CLI Entry<br/>[main.ts]"]
  node_interactive["Interactive TUI"]
  node_headless["Headless Modes<br/>[index.ts]"]
end

subgraph group_runtime["Agent Runtime"]
  node_session["Agent Session<br/>[agent-session.ts]"]
  node_rlm["RLM Runtime<br/>[rlm-runtime.ts]"]
  node_kernel["Python Kernel<br/>[repl-manager.ts]"]
  node_tools["Agent Tools<br/>[index.ts]"]
  node_compaction["Context Compaction<br/>[compaction.ts]"]
  node_sessions[("Session Files<br/>[session-manager.ts]")]
end

subgraph group_harness["Harness State"]
  node_harness["Harness Refinement<br/>[refinement.ts]"]
  node_skills["Executable Skills<br/>[skills.ts]"]
  node_goals["Goals And Schedules<br/>[goals.ts]"]
end

subgraph group_continuity["Long-Running Agents"]
  node_daemon["Daemon Service<br/>[daemon-mode.ts]"]
  node_worker["Session Worker"]
  node_agents["Agent Connections<br/>[index.ts]"]
end

subgraph group_integrations["Models And Tools"]
  node_model["Model Registry<br/>[model-registry.ts]"]
  node_ai["Provider Clients<br/>[index.ts]"]
  node_mcp["MCP Manager<br/>[mcp-manager.ts]"]
end

node_user(("User"))
node_modelservice{{"Model Provider"}}
node_filesystem[("Project Files")]
node_mcpservice{{"MCP Services"}}

node_user -->|"starts"| node_main
node_main -->|"creates session"| node_session
node_main -->|"runs interface"| node_interactive
node_main -->|"dispatches mode"| node_headless
node_interactive -->|"sends prompts"| node_session
node_headless -->|"runs session"| node_session
node_session -->|"runs agent"| node_rlm
node_rlm -->|"executes code"| node_kernel
node_kernel -->|"invokes tools"| node_tools
node_tools -->|"reads and edits"| node_filesystem
node_session -->|"resolves model"| node_model
node_model -->|"selects provider"| node_ai
node_ai -->|"requests inference"| node_modelservice
node_session -->|"persists transcript"| node_sessions
node_session -->|"compacts context"| node_compaction
node_session -.->|"refines state"| node_harness
node_rlm -.->|"imports skills"| node_skills
node_session -.->|"tracks objectives"| node_goals
node_daemon -->|"owns worker"| node_worker
node_worker -->|"runs session"| node_session
node_interactive -.->|"connects over socket"| node_daemon
node_agents -.->|"coordinates agents"| node_daemon
node_session -.->|"serves host requests"| node_mcp
node_mcp -.->|"connects services"| node_mcpservice

click node_main "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/main.ts"
click node_interactive "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/interactive/interactive-mode.ts"
click node_headless "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/index.ts"
click node_session "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/agent-session.ts"
click node_rlm "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/rlm-runtime.ts"
click node_kernel "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/kernel/repl-manager.ts"
click node_tools "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/tools/index.ts"
click node_compaction "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/compaction/compaction.ts"
click node_sessions "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/session-manager.ts"
click node_model "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/model-registry.ts"
click node_ai "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/ai/src/index.ts"
click node_harness "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/refinement/refinement.ts"
click node_skills "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/skills.ts"
click node_goals "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/goals.ts"
click node_daemon "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/daemon/daemon-mode.ts"
click node_worker "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/cli/owned-session-worker.ts"
click node_agents "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/agent-connection/index.ts"
click node_mcp "https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/mcp/mcp-manager.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_interactive,node_headless,node_user toneBlue
class node_session,node_rlm,node_kernel,node_tools,node_compaction,node_sessions,node_filesystem toneAmber
class node_harness,node_skills,node_goals toneMint
class node_daemon,node_worker,node_agents toneRose
class node_model,node_ai,node_mcp,node_modelservice,node_mcpservice toneIndigo
```

## Components

### User Interfaces

- [CLI Entry](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/main.ts): `packages/coding-agent/src/main.ts`
- [Interactive TUI](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/interactive/interactive-mode.ts): `packages/coding-agent/src/modes/interactive/interactive-mode.ts`
- [Headless Modes](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/index.ts): `packages/coding-agent/src/modes/index.ts`

### Agent Runtime

- [Agent Session](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/agent-session.ts): `packages/coding-agent/src/core/agent-session.ts`
- [RLM Runtime](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/rlm-runtime.ts): `packages/coding-agent/src/core/rlm-runtime.ts`
- [Python Kernel](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/kernel/repl-manager.ts): `packages/coding-agent/src/core/kernel/repl-manager.ts`
- [Agent Tools](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/tools/index.ts): `packages/coding-agent/src/core/tools/index.ts`
- [Context Compaction](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/compaction/compaction.ts): `packages/coding-agent/src/core/compaction/compaction.ts`
- [Session Files](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/session-manager.ts): `packages/coding-agent/src/core/session-manager.ts`

### Harness State

- [Harness Refinement](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/refinement/refinement.ts): `packages/coding-agent/src/core/refinement/refinement.ts`
- [Executable Skills](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/skills.ts): `packages/coding-agent/src/core/skills.ts`
- [Goals And Schedules](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/goals.ts): `packages/coding-agent/src/core/goals.ts`

### Long-Running Agents

- [Daemon Service](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/daemon/daemon-mode.ts): `packages/coding-agent/src/modes/daemon/daemon-mode.ts`
- [Session Worker](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/cli/owned-session-worker.ts): `packages/coding-agent/src/cli/owned-session-worker.ts`
- [Agent Connections](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/modes/agent-connection/index.ts): `packages/coding-agent/src/modes/agent-connection/index.ts`

### Models And Tools

- [Model Registry](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/model-registry.ts): `packages/coding-agent/src/core/model-registry.ts`
- [Provider Clients](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/ai/src/index.ts): `packages/ai/src/index.ts`
- [MCP Manager](https://github.com/primeintellect-ai/prime-agent/blob/main/packages/coding-agent/src/core/mcp/mcp-manager.ts): `packages/coding-agent/src/core/mcp/mcp-manager.ts`

### Other components

- **User**
- **Model Provider**
- **Project Files**
- **MCP Services**

## Connections

- User → CLI Entry: starts
- CLI Entry → Agent Session: creates session
- CLI Entry → Interactive TUI: runs interface
- CLI Entry → Headless Modes: dispatches mode
- Interactive TUI → Agent Session: sends prompts
- Headless Modes → Agent Session: runs session
- Agent Session → RLM Runtime: runs agent
- RLM Runtime → Python Kernel: executes code
- Python Kernel → Agent Tools: invokes tools
- Agent Tools → Project Files: reads and edits
- Agent Session → Model Registry: resolves model
- Model Registry → Provider Clients: selects provider
- Provider Clients → Model Provider: requests inference
- Agent Session → Session Files: persists transcript
- Agent Session → Context Compaction: compacts context
- Agent Session → Harness Refinement: refines state
- RLM Runtime → Executable Skills: imports skills
- Agent Session → Goals And Schedules: tracks objectives
- Daemon Service → Session Worker: owns worker
- Session Worker → Agent Session: runs session
- Interactive TUI → Daemon Service: connects over socket
- Agent Connections → Daemon Service: coordinates agents
- Agent Session → MCP Manager: serves host requests
- MCP Manager → MCP Services: connects services
