# Getting Started (5 steps)

The minimum path for a brand-new user — **5 steps, 5 minutes**. One command + one verification per step.

::: tip Fastest path (recommended) — zero config if you have a Claude subscription
The easiest route: with Claude Code CLI installed (`npm i -g @anthropic-ai/claude-code`) and `claude auth login` done, pick the **`claude-code-cli` runtime** in Step 4 — no API key, no model picker, just one command to bring a personal AI employee online that does real work and takes orders from your phone. This is the **most stable, least error-prone** path.

No Claude subscription? Use `claude-agent-sdk` + one model API key (MiniMax / DeepSeek / InternLM / Xiaomi), see Step 4.
:::

::: tip Already have anet installed?
Skip this page and go to the [Upgrade Guide](/en/guide/upgrade) (usually `anet upgrade` + `anet project restart` to restart cwd nodes).
:::

**Prerequisites** (install both):

- **Node.js ≥ 22.13.0**
- **Bun ≥ 1.2.0** — install with `npm i -g bun` (or `curl -fsSL https://bun.sh/install | bash`). Step 2's `anet hub start` launches `commhub-server` via `bunx`, so **without Bun the very first step crashes with `spawn bunx ENOENT`**. After installing, `bun --version` should print a version.

With both installed, `commhub-server` / `agent-node` are auto-fetched on first use — you don't install them manually.

---

## 1. Install the CLI

```bash
npm install -g @sleep2agi/agent-network
```

Verify:

```bash
anet -v
```

---

## 2. Start the Hub

Open terminal #1, **keep it running**:

```bash
anet hub start
```

The hub listens on `http://127.0.0.1:9200` by default, the SQLite DB lives at `~/.commhub/commhub.db`, and the default admin account **admin / anethub** is created automatically.

::: warning Change the password before going public
The default `admin / anethub` is for local quickstart only. **Any `--host 0.0.0.0` public deployment must `anet passwd` to a strong password immediately.**
:::

::: tip Stop / status
`anet hub status` / `anet hub stop` (no more `lsof + kill`).
:::

---

## 3. Start the Dashboard + log in

Open terminal #2, **keep it running**:

```bash
anet hub dashboard
```

Open `http://localhost:3000` in your browser and log in with `admin / anethub`.

In terminal #3, log the CLI in too (so subsequent `anet node ...` commands carry the credentials):

```bash
anet login --hub http://127.0.0.1:9200 --username admin --password anethub
```

`anet whoami` confirms your identity.

---

## 4. Create and start a node

```bash
anet node create my-bot
```

The wizard asks: runtime → (only for `claude-agent-sdk`) vendor → model → API key.

::: tip Easiest path for newcomers — pick `claude-code-cli` manually
The wizard **defaults to highlighting `claude-agent-sdk`**; pressing Enter all the way lands you on the vendor + API-key path. If you've already done `claude auth login`, **manually picking `claude-code-cli`** is the zero-config fastest path.

On stable, `anet node create` lists **4 production runtimes** (`claude-agent-sdk` / `claude-code-cli` / `codex-sdk` / `grok-build-acp`); the full comparison (including the preview-only `opencode-cli`, not yet in the stable picker) is here: [Runtime comparison](/en/guide/runtimes#runtimes-—-canonical-table).
:::

Start the node:

::: warning Fresh install + claude-agent-sdk / codex-sdk? Install agent-node first
These runtimes depend on the `agent-node` package. The first `node start` triggers an npx auto-fetch that takes ~1 minute, but the current startup check **doesn't wait for it** and exits with `agent-node is not installed or cannot report a version` (reproduced on real hardware, [#450](https://github.com/sleep2agi/agent-network/issues/450) (precise filing; #237 is the umbrella)). Run this once before starting:

```bash
npm install -g @sleep2agi/agent-node
```
:::

```bash
anet node start my-bot
```

When you see `SSE connected`, the node is online. Keep the terminal running.

::: warning Ctrl+C during vendor selection can leave a half-baked node
Clean a half-baked node with `anet node delete <alias>` (run once without `--force` to see the will-delete preview, then add `--force` to actually delete).
:::

---

## 5. Use it — dispatch a task from the Dashboard

Back in your browser at `http://localhost:3000`:

1. Open **Overview** and click the online `my-bot` card to open its embedded ChatPanel (there is no standalone Chat navigation page)
2. Type a message in the input ("what time is it?" / "write hello world"), hit Enter
3. Your message appears immediately with an optimistic echo (`You` label)
4. After the agent calls the LLM, the reply appears with full markdown rendering (`↳ my-bot` label)

Refresh the page — chat history is preserved.

✅ **5 steps done**.

---

## Verified vs not verified

::: info Verified (current stable, real-machine walkthrough)
Detailed test reports: [Changelog](/en/changelog) + [test reports](https://github.com/sleep2agi/agent-network/tree/main/docs/tests).

- `anet hub start` + automatic default account creation / `anet hub dashboard`
- `anet login` (with `--hub`) / `anet register` / `anet logout` / `anet whoami`
- **`claude-code-cli` runtime end-to-end** — runs daily on the production fleet (the easiest path, recommended in Step 4); first run needs a TTY for the dev-channels confirmation
- `claude-agent-sdk` `node create` (incl. the vendor path: Anthropic / MiniMax / InternLM / Xiaomi MiMo — verified-with-real-call) + `node ls / delete`
- Dashboard Chat (markdown / Enter-to-send / optimistic echo / source labels / error fallback / persistent history)
:::

::: warning Has caveats / not verified (use at your own risk)
- **`claude-agent-sdk` / `codex-sdk` first `node start`**: on latest, `agent-node`'s lazy-fetch isn't awaited and it exits early (`agent-node is not installed...`, [#450](https://github.com/sleep2agi/agent-network/issues/450)). Run `npm i -g @sleep2agi/agent-node` first, then start (see the Step 4 note above).
- `codex-sdk` runtime end-to-end (real LLM reply) — no OpenAI test key yet, the second half is pending verification
- `anet license` / `anet activate` — v0.6 legacy, OSS users don't need to touch these (see [troubleshooting](/en/troubleshooting#license-expired-license-expired-legacy-behavior))
- `anet network create` and cross-user network sharing — code merged but no E2E regression
- **One-shot install script `setup-anet.sh`** — retired and disabled, do not run an old copy, see [retirement notice](/en/guide/one-shot-install)
:::

::: tip No hosted service
The project direction is **Apache 2.0 open source + self-host + courses / consulting**, **no SaaS**. For production deployments see [Docker](/en/deploy/docker) / [Production](/en/deploy/production).
:::

---

## Next steps

**Advanced**:
- [Multi-agent coordination](/en/guide/architecture#agent-node) — peer agents auto-coordinate via `get_all_status` / `send_task` / `get_task`
- [Batch node management with `anet project up/restart/down`](/en/guide/batch) — start/stop every node under cwd in one command; zero-keyboard recovery after reboot
- [LAN-shared hub](/en/deploy/clean-server#_2-start-the-hub-recommended-under-tmux) — `anet hub start --host 0.0.0.0` lets other machines join

**Demos** (experimental, for a quick taste):
```bash
anet demo                  # list available demos
anet demo pr-review        # PR review room — 3 reviewers (security/perf/style) + judge
```

**Deeper**:
- [CLI command reference](/en/guide/cli)
- [Agent Node config](/en/guide/agent-node) — config.json fields + `/aloop` scheduler
- [Multi-model config](/en/guide/multi-model) — DeepSeek / Kimi / Claude / MiniMax / self-hosted
- [Architecture overview](/en/guide/architecture)
- [Upgrade Guide](/en/guide/upgrade) — any older version → latest with a single `anet upgrade`
