Getting Started/Quickstart

Getting Started

Quickstart

Install ARGUS and run your first trace in under 5 minutes.

How to use ARGUS

1

Install

pip install argus-agents

2

Init

argus init — writes .cursor/skills/argus-debug/ and .claude/skills/argus-debug/. Commit them. The skill already contains the setup prompt.

3

Attach

Ask your editor agent to wire ARGUS. (The skill already contains this AI setup prompt; the homepage copy is just a fallback.) ArgusWatcher.attach(graph)

4

Run

Same as always. Failures print [argus] in the terminal; clean runs stay silent.

5

Inspect

argus show last, argus fix <id>, or argus ui

Optional — smarter detection

Run argus key set if you want the LLM judge. Skip it and you still get heuristics.

Prerequisites

Requirements

  • Python 3.9 or higher
  • pip (or any Python package manager)
  • A LangGraph pipeline (or any Python callable to test with)

Installation

bash
pip install argus-agents

This is the full product — the argus CLI, the LangGraph adapter, and the local UI (argus ui). No account, no config files, no cloud: ARGUS runs fully local, runs are stored in .argus/runs/, and heuristic detection works out of the box. LLM-powered features stay optional: run argus key set when you want the semantic judge.

Bring Your Own Key (BYOK)

AI-powered detection (semantic judge, LLM investigator, learned trends) uses your own key from the provider of your choice — OpenAI, Anthropic (Claude), or Google (Gemini). Set it once — it's saved locally and reused every session. No key is fine too: ARGUS falls back to heuristic-only detection.

bash
argus key set                        # OpenAI by default — prompts (hidden), saved to ~/.argus/config.json
argus key set --provider anthropic   # or Anthropic / --provider google for Gemini
# or an env var:  export OPENAI_API_KEY=sk-...  (ANTHROPIC_API_KEY / GEMINI_API_KEY)

argus key use anthropic    # switch active provider   ·   argus doctor  # confirm mode

Setup — Pick Whichever Fits Your Code

One call — attach (recommended)

python
from argus import ArgusWatcher

watcher = ArgusWatcher()
app = watcher.attach(graph)         # StateGraph or already-compiled app
result = app.invoke(initial_state)  # run is persisted automatically
print(watcher.run_id)

Constructor form

python
from argus import ArgusWatcher

watcher = ArgusWatcher(graph)       # uncompiled StateGraph
app = graph.compile()
result = app.invoke(initial_state)  # persisted automatically

Both work. No changes to your node functions.

finalize() is optional

attach() wraps invoke() / ainvoke() so the run is written when the call returns — including cyclic graphs. watcher.finalize() is an optional idempotent flush, not required.

Full Example

Here's a complete example — a simple LangGraph pipeline with ARGUS instrumentation:

pythonexample.py
1from argus import ArgusWatcher
2from langgraph.graph import StateGraph
3
4# 1. Define your graph (your existing code)
5graph = StateGraph(AgentState)
6graph.add_node("agent", call_model)
7graph.add_node("tools", tool_node)
8# ... add edges ...
9
10# 2. Attach ARGUS and run
11watcher = ArgusWatcher()
12app = watcher.attach(graph)
13result = app.invoke(initial_state)
14# persisted automatically

View Results

After your run completes, you can view results in several ways:

bash
# List all runs
argus list

# View the most recent run
argus show last

# View a specific run by ID (or 8-char prefix)
argus show run abc12345

# Launch the web dashboard
argus ui
Video coming soon

Running argus show and viewing results in the terminal

Quick walkthrough of the ARGUS CLI trace viewer

Next Steps

  • Core Concepts — understand Watchers, Detectors, Traces, and Forensics
  • Configuration — customize detection sensitivity, enable semantic judging, configure storage
  • CLI Reference — all available commands and flags