Skip to content

Using DevTools

Stello DevTools provides a visual debugging interface with star map topology visualization, conversation panel, event monitoring, and configuration panel.

Installation

bash
pnpm add -D @stello-ai/devtools

Basic Usage

typescript
import { startDevtools } from '@stello-ai/devtools'

const agent = createEngine({
  // ... your agent config
})

// Start the DevTools dev server
await startDevtools(agent, {
  port: 4800, // default port
  open: true, // auto-open browser
})

Visit http://localhost:4800 to access the DevTools interface.

DevtoolsOptions

typescript
interface DevtoolsOptions {
  /** DevTools server port, default 4800 */
  port?: number
  /** Whether to auto-open browser, default true */
  open?: boolean
}

Optional Providers

The second argument to startDevtools supports optional providers to enhance DevTools functionality:

typescript
await startDevtools(agent, {
  port: 4800,

  /** LLM adapter for sending test messages in DevTools */
  llm: adapter,

  /** Prompt management */
  prompts: promptProvider,

  /** Session access interface */
  sessionAccess: sessionAccessProvider,

  /** Tool list display */
  tools: toolProvider,

  /** Skills list display */
  skills: skillProvider,

  /** Integration status viewing */
  integration: integrationProvider,

  /** Reset functionality */
  reset: resetProvider,

  /** State persistence store */
  stateStore: myStateStore,
})

Features

Star Map Visualization

Displays the Session topology as an interactive star map. Each Session is a "star" with the Main Session at the center and child Sessions radiating outward. Supports:

  • Click nodes to view Session details
  • Drag nodes to adjust layout
  • Persistent node position saving

Conversation Panel

Select a Session to view its full conversation history (L3) and send test messages directly.

Event Monitor

Real-time display of Engine event stream, including:

  • Session creation/switching
  • Consolidation/Integration triggers
  • Tool call execution
  • Error events

Configuration Panel

View and modify runtime configuration including system prompt, tool list, scheduling strategy, and more.

State Persistence

DevTools supports persisting UI state (such as node positions) via DevtoolsStateStore:

typescript
interface DevtoolsStateStore {
  get(key: string): Promise<string | null>
  set(key: string, value: string): Promise<void>
}

Pass a custom implementation to restore UI state across restarts:

typescript
const stateStore: DevtoolsStateStore = {
  async get(key) {
    return localStorage.getItem(`devtools:${key}`)
  },
  async set(key, value) {
    localStorage.setItem(`devtools:${key}`, value)
  },
}

await startDevtools(agent, { stateStore })

Notes

  • DevTools is for development only -- do not enable in production
  • Install as devDependencies (the -D flag)
  • Default port is 4800; change it with the port option if occupied