Core features

Your whole agent setup, at a glance

Berth turns the plain-text files and local databases behind your AI agents into structured, browsable objects. This page covers the app views, the scan engine, and the adapter model behind them.

Overview

A dashboard for everything

Asset counts, recent sessions, this week's spend and health checks — all on one screen.

  • Asset inventory
  • Recent activity
  • Cost & health checks
Sessions

Browse past work

Walk through sessions by project or date, and see the skills loaded, MCP servers connected, hooks fired and artifacts produced.

  • Group by project or date
  • Loaded assets per session
  • Tool timeline
Configuration

Take inventory

Instructions and Capabilities in two columns, merged across user, project and enterprise scope, with source paths, scopes and conflicts marked.

  • Instructions & Capabilities
  • Scope merge
  • Conflict detection
Usage

Spend & tokens

Cost and token trends by model, project and day. Berth keeps local estimates visible without pretending to be provider billing.

  • By model / project / day
  • Token breakdown
  • Local estimates
Scan Engine

See the indexer itself

Settings now exposes the scan engine version, status, indexed asset count, indexed file count, errors, scheduler state and editable watcher timing.

  • Engine version
  • Indexed files
  • Editable controls
Scan engine

A visible indexer, not a hidden background task

Berth's data layer is the standalone @berth/scan-engine package. The desktop app uses it through a worker-backed runtime, while the package also exposes a CLI and adapter API for independently maintained integrations.

Package
@berth/scan-engine

The scanner, adapter registry, shared asset model and CLI live in a package boundary outside the Electron UI.

Adapter API
./adapter-api

Adapter definitions include source policy, permissions, evidence URLs, sensitivity and version probing.

Cache mode
SQLite SWR

The app restores the last local index quickly and refreshes it in the background.

Worker mode
one-shot

Heavy scans run outside the renderer, with queued project-scope refreshes and file-change updates.

What Settings exposes

Manual refresh

Run the scanner now and watch the runtime status move from scanning back to ready.

Watcher debounce

Tune how long Berth waits after file changes before scheduling a refresh.

Minimum refresh interval

Keep noisy file watchers from repeatedly re-indexing the same project.

Scheduler state

See scheduled and queued refresh reasons. Pause and cancel are shown honestly as unsupported when unavailable.

Adapter coverage

Independent agent adapters, one asset model

Each adapter owns its scan roots and source policy. Shared compatibility files such as AGENTS.md can be counted as source coverage without falsely marking an agent as installed.

Claude Code

core

Reads instructions, skills, subagents, MCP servers, hooks, sessions and usage metadata from Claude-specific roots.

Codex

core

Reads Codex config, AGENTS.md, hooks, skills, sessions and rollout metadata from Codex homes and projects.

Gemini CLI

adapter v1

Reads settings, GEMINI.md context files, extensions and session metadata from user and project roots.

GitHub Copilot CLI

adapter v1

Reads Copilot instructions, agents, skills, hooks, MCP/LSP config, plugins and metadata-only session sources.

Cursor

adapter v1

Reads rules, MCP config, hooks, permissions, skills, agents and plugins from project and config roots.

OpenCode

adapter v1

Reads opencode config, agents, commands, skills, plugins, auth presence, logs and session database metadata.

OpenClaw

adapter v1

Reads workspace guidance, skills, extensions, plugins, session indexes, credentials presence and debug summaries.

Hermes Agent

adapter v1

Reads config, profiles, identity files, memories, skills, plugins, hooks and project context files.

Safety model

Readable does not mean writable

  • Berth scans known local roots and presents source paths so you can verify where each asset came from.
  • Credentials and tokens are treated as presence or metadata only; secret values are not displayed.
  • The local SQLite index and scan settings stay on this machine and are used only by Berth.
  • No telemetry, no account, no cloud sync. External links go to GitHub releases or cited documentation.
Enter the knowledge base