-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
Get AgentPulse running and stream your first Claude Code / Codex session into it in ~5 minutes.
The fastest path is Docker with auth disabled (safe for local-only use):
docker run -d \
--name agentpulse \
-p 3000:3000 \
-v agentpulse-data:/app/data \
-e DISABLE_AUTH=true \
ghcr.io/jstuart0/agentpulse:latestThat's it. Open http://localhost:3000 — you'll see an empty dashboard with a Getting Started card.
Running it on a server you want to access remotely? See Deployment for the Authentik SSO + Traefik setup the reference k8s manifests use.
If you ran with DISABLE_AUTH=true, skip this.
If you ran without that flag, the dashboard will redirect to /login. Because this is the first user on the instance, signup auto-enables and the account you create becomes the admin.
The Dashboard's Getting Started card has an inline "Create new key" field — pick a name (like macbook-pro) and hit Create. The key is displayed once, copy it somewhere safe.
If DISABLE_AUTH=true you can skip this — hooks don't need a key.
One-liner from the Dashboard card (paste it into your agent's terminal):
curl -sSL http://localhost:3000/setup.sh | bash -s -- --key ap_your_keyThat writes:
-
~/.claude/settings.jsonwith hook entries that POST to your AgentPulse. -
~/.codex/hooks.json(if Codex is installed).
Remote server? Claude Code blocks hooks to non-localhost IPs as a security measure. The relay handles that — use setup-relay.sh instead:
curl -sSL https://your-agentpulse/setup-relay.sh | bash -s -- --key ap_your_keyIt installs a localhost daemon that forwards events to your remote AgentPulse. On macOS it auto-starts via LaunchAgent.
Open Claude Code or Codex in any project. Within seconds you'll see a new session card appear on the Dashboard with the project name, agent type, and a live activity count. Click in for the full transcript + timeline.
- Enable the AI watcher — Settings → AI. Paste an LLM provider (Anthropic / OpenAI / Ollama / LM Studio / etc.), flip Labs → AI features on, enable watcher per-session.
- Connect Telegram — Settings → Telegram. Paste a bot token from @BotFather, pick polling mode (works from any network), enroll a chat by scanning the QR. HITL approvals + conversational Ask land in your phone. See Telegram Channel.
-
Try Ask — Settings → Labs → Ask assistant. Then
/askbecomes a chat panel over your live session state. See Ask Assistant.
Dashboard is empty after setup.sh
- Check hook install:
cat ~/.claude/settings.json— should have ahookskey pointing at your AgentPulse URL. - Run
curl -X POST http://localhost:3000/api/v1/health— should return{"status":"ok"}. - Check the AgentPulse container logs for
POST /api/v1/hooksentries.
Remote hooks not arriving
- Claude Code blocks non-localhost hook URLs. Use
setup-relay.shinstead ofsetup.sh. - Check the relay daemon is running:
launchctl list | grep agentpulseon macOS.
Authentik / SSO deployment
- See Deployment for the Traefik forwardauth + wildcard-cert setup.
- The
/api/v1/hookspath must remain publicly reachable (no Authentik middleware) — hooks authenticate via API key.