Skip to main content

Requirements

  • Python ≥ 3.10 (CI runs the 3.10–3.13 matrix).
  • Dependencies: anthropic ≥ 0.49, openai ≥ 1.72, aiohttp ≥ 3.10 (installed automatically).

Install

# Linux / macOS / WSL2 / Android (Termux)
curl -fsSL https://raw.githubusercontent.com/learningCatHD/telos-sdk/main/scripts/install.sh | bash
Verify the install:
python -c "import telos; print(telos.__file__)"
# .../telos-sdk/__init__.py

telos --help
# usage: telos [<subcommand>] [...]

telos version    # or: telos -V
telos init
telos init with no arguments auto-detects which harness CLIs are installed locally (claude-code / codex / openclaw / hermes), injects config pointing at the local gateway into each, starts the gateway in the background, and prints the gateway and dashboard addresses.
This is the Path B (proxy) setup. For in-code integration instead, see Path A · SDK transport.

Integrate a single harness

telos init --harness claude-code     # operate on Claude Code only
telos init --harness claude-code --status   # view only, don't modify files
For Claude Code this writes into the env field of ~/.claude/settings.json:
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:7171",
    "__telos_installed": true
  }
}
Afterward any process that starts Claude Code automatically uses the local gateway — no change to the npm package, no change to PATH, and npm update won’t lose it.

Undo / check status

telos uninstall --harness claude-code     # restore the pre-install state
telos status                              # gateway + per-harness install + live traffic, in one place
telos status --json                       # machine-readable

What got installed where

PathPurpose
~/.telos/config.jsondefault host / port / mode
~/.telos/gateway.jsonbackground gateway state (PID, address)
~/.telos/gateway.loggateway log
~/.telos/usage.jsonlone JSON line per call, fed into the dashboard
~/.telos/corpus/<session>.jsonlrecorded raw requests for replay

Next steps

Quickstart

The three-command tour, end to end.

Proxy gateway

Start, stop, and configure the gateway manually.