Skip to content

dxdt CLI

DXDT from your terminal — an interactive agent console, plus scriptable commands for findings, incidents, the infrastructure graph, and CI. Built for both interactive use (rich streaming output) and scripting (--json, stable exit codes).

Install

curl -fsSL https://<your-dxdt-host>/install.sh | sh

The installer puts the CLI in an isolated virtualenv under ~/.dxdt and symlinks dxdt into ~/.local/bin — no system packages are touched. Re-running it upgrades in place. Requires Python 3.10+ and curl. Verify with dxdt version.

The CLI you download is built with the server that serves it, so client and API are always in step.

Custom locations

DXDT_INSTALL_DIR and DXDT_BIN_DIR override the install and symlink directories. To uninstall: rm -rf ~/.dxdt ~/.local/bin/dxdt.

Authenticate

dxdt login --host https://<your-dxdt-host>

This opens <host>/cli/auth in your browser. Signing in and pressing Authorize mints a personal access token and hands it back to the CLI on a localhost callback (--no-browser prints the URL for SSH sessions, with copy/paste token entry).

The token is stored in ~/.config/dxdt/config.json (mode 0600). Environment variables override the config file — use these in CI:

export DXDT_HOST=https://<your-dxdt-host>
export DXDT_TOKEN=dxdt_...       # mint from Settings → CLI & API

dxdt logout revokes the stored token server-side and deletes it locally.

Interactive mode

Running dxdt with no arguments (or dxdt chat) opens an interactive session — a persistent conversation with the agent, with slash commands for everything else:

$ dxdt
dxdt› why did egress spike yesterday?
...streaming investigation...
dxdt› /findings
dxdt› /blast prod-db
dxdt› /teach payments-prod must never scale below 3 replicas
dxdt› /quit
Slash command Does
/help List commands
/new [name] · /sessions · /session <id> · /history Manage and switch conversations
/attach Rejoin a running agent turn
/findings · /incidents · /report · /inbox Quick views without leaving the session
/graph <query> · /blast <resource> Search the graph / project blast radius
/teach <fact> · /learnings Teach a durable fact / list taught facts
/tools · /whoami · /clear · /quit Utility

Commands

Agent

dxdt ask "why did egress spike yesterday?"        # streams steps + tools live
dxdt ask "…continue that" -s cli-abc123           # continue a session
dxdt ask "…" --tools gcp,datadog                  # constrain tool selection
dxdt ask "…" --no-stream                          # single response, no SSE
dxdt attach [--after N]                           # rejoin a run after Ctrl-C / disconnect

Agent runs are durable: if your terminal disconnects mid-run, the run keeps executing server-side — dxdt attach replays what you missed and resumes streaming.

Pulse (FinOps / reliability findings)

dxdt pulse overview
dxdt pulse findings --status open --severity high --domain finops
dxdt pulse show <id>                 # full evidence for one finding
dxdt pulse recommendations
dxdt pulse resolved                  # what was fixed, by whom, on what evidence
dxdt pulse reinvestigate <id>        # re-check a finding's current state

Incidents

dxdt incidents list --status open --severity SEV1 --limit 20
dxdt incidents create --title "Checkout latency p99 > 2s" --severity SEV2
dxdt incidents show <id>
dxdt incidents timeline <id>
dxdt incidents investigate <id>      # dispatch an agent investigation
dxdt incidents warroom <id>          # open/link the incident war room

create prompts for a title if --title is omitted; default severity is SEV3.

Infrastructure graph

dxdt graph summary                   # nodes, edges, health at a glance
dxdt graph search "payments"
dxdt graph blast <resource-id>       # blast radius
dxdt graph health
dxdt graph risks                     # single points of failure, toxic combos
dxdt graph drift                     # what changed recently

Knowledge & memory

dxdt teach "staging DB failover on Sundays is a planned DR drill"
dxdt learnings list [--status active]
dxdt report                          # latest Morning Report

CI gate

dxdt plan review --file plan.json --fail-on high

See Plan review for the CI recipes and risk levels.

Everything else

dxdt triage overview|events|rules    # triage pipeline state
dxdt resilience status|findings      # resilience engine results
dxdt inbox list|read-all             # your DXDT notifications
dxdt tools list|catalog|installed    # agent tools & marketplace state
dxdt runbooks list
dxdt team list
dxdt audit list|verify               # org audit log + integrity check
dxdt sessions list|rm|rename
dxdt tokens list|revoke              # tokens are minted via login or Settings → CLI & API
dxdt whoami · dxdt version

Scripting

  • Every read command accepts --json and prints raw JSON to stdout.
  • dxdt ask with piped stdout (or --json) switches to the non-streaming API and prints only the final reply/JSON — safe in pipelines.
  • Exit codes: 0 ok · 1 error · 2 auth failure · 3 rate-limited.
# Example: fail a CI job if any open critical finding exists
crit=$(dxdt pulse findings --status open --json | jq '[.[] | select(.severity=="critical")] | length')
[ "$crit" -eq 0 ] || { echo "$crit critical findings open"; exit 1; }

Agent budgets

Agent invocations (ask, plan review, investigations) are budgeted per token per UTC day. A 429 (exit code 3) means the token's daily budget is exhausted — see Authentication.