Native macOS inspector for AgentForge chat sessions. Pick a session (or jump to a UUID), then read Overview, Messages, Audit, and Loki logs (*optional). The Chat tab asks AgentForge about the snapshot over /ws/chat.
This app is a live HTTP/WebSocket client of an AgentForge instance. It does not store sessions locally.
Important
Backend version: AgentForge Debug needs AgentForge v0.16.0 or newer.
The session picker, GET /api/debug/sessions/{id} (Overview, Messages, Audit, Logs), and Chat over /ws/chat all talk to that backend. Older instances will fail those endpoints (e.g. 404).
- macOS 11+
- Node.js 20+
- Rust (stable) and Cargo — needed for the Tauri shell
- A running AgentForge backend v0.16.0 or newer that exposes the debug API
npm install
npm run tauri devOpen Settings and set:
- AgentForge URL — origin only, no trailing slash (example:
https://agentforge.example.com) - API key — optional Bearer token; leave empty if the instance does not require auth
Settings are written to the Tauri app config dir as settings.json (not in this repo).
- Picker — filter by source and date, select a session, or paste a UUID.
- Overview — session metadata, token counts, load errors.
- Messages — list + detail for content, metadata, and tool calls.
- Audit — tool and run records.
- Logs — Loki lines with host / job / text filters.
- Chat — a separate AgentForge session (
source=debug) with the snapshot attached on the first message.
Reload the list from the picker. Copy the UUID from the session page.
|
|
|
| Pick a session or jump to a UUID | Overview of the loaded snapshot | Messages, metadata, tool calls |
|
|
|
| Audit tools and runs | Ask about this session | URL and optional API key |
The desktop app calls:
| Method | Path | Purpose |
|---|---|---|
| GET | /api/sessions?source={source}&limit=200 |
Session picker |
| GET | /api/debug/sessions/{id} |
Debug bundle (session, messages, audit, logs) |
| WebSocket | /ws/chat?source=debug |
Chat tab |
Auth is Authorization: Bearer <api_key> on HTTP, and the same key as a WebSocket subprotocol when set.
The changes for the current unreleased version were reviewed by Claude Opus 5 (Anthropic), run through Claude Code, on 2026-10-30.
Scope was the diff for that release, not the whole codebase: dead code, the new tool and API surfaces, type and lint conformance, test coverage, and whether the README and CHANGELOG matched what shipped. What came out of it is in the CHANGELOG.
This is one review pass by one model on one diff, not an audit or a security guarantee. Findings were verified and fixed by hand before release.
MIT. See LICENSE.