← Back to Seabase

Seabase

Configuration Management Database for agentic infrastructure — stored as linked data on a W3C Solid Pod.

What is Seabase?

Seabase is a CMDB (Configuration Management Database) viewer for teams running AI agents. It shows you what hosts are running, which services are deployed on them, which agents are associated with those services, what firewall policies are in place, and what external service accounts the organisation holds.

All CMDB data is stored as RDF/Turtle on a W3C Solid Pod. Seabase loads that data into your browser, queries it with SPARQL, and presents a unified view. No data ever leaves your browser — it is read directly from your Pod and queried locally.

Key principle: Your infrastructure inventory lives in your Solid Pod, not on our servers. Seabase is a viewer. It connects to your Pod, loads the CMDB data, and queries it entirely in your browser using an embedded SPARQL engine.

Getting Started

1. Create an account and Pod on crawlout.io

Seabase reads CMDB data from a Solid Pod. This version uses crawlout.io (operated by Interition). You need an account, a Pod, and a WebID:

  1. Go to crawlout.io account registration
  2. Register with an email and password — this creates your account
  3. After registering, click Create pod — give it a short name (e.g. alice). This creates your Pod at https://crawlout.io/alice/ and WebID at https://crawlout.io/alice/profile/card#me

2. Login

Click Login to crawlout.io in the top right. You'll be redirected to crawlout.io to authenticate. After authorising Seabase, you'll be redirected back. Your session is saved in your browser.

3. Set up a CMDB

Once logged in, create a CMDB container on your Pod — for example https://crawlout.io/alice/cmdb/ — and upload hardware.ttl and accounts.ttl files following the structure described below. The SKILL.md contains complete write examples with SPARQL UPDATE commands for populating the CMDB via the Solid Protocol.

4. Connect

Enter your CMDB URL (e.g. https://crawlout.io/alice/cmdb/) in the CMDB URL field and click Connect. Seabase will load both files and display your infrastructure.

Reading the Dashboard

Stats bar

Shows at-a-glance counts: active hosts, running services, stopped services, agents, and service accounts.

Infrastructure tab

Lists each host as a card. Within each card, a table shows the services running on that host — port, protocol, container name, health check URL, status, and associated agent.

Service status badges: running stopped

Agents tab

Lists all agents discovered via cmdb:agent predicates on services, with the service they are associated with, the host that service runs on, and their LLM provider.

Accounts tab

Lists all service accounts (external APIs, credentials) recorded in accounts.ttl.

Dependency Graph tab

A force-directed graph showing the relationships between hosts, services, firewall policies, and agents. Use the toggles to show or hide node types.

SPARQL tab

Run SPARQL queries directly against the CMDB data loaded in your browser. Use the preset buttons to load common queries, or write your own. Press Cmd+Enter (Mac) or Ctrl+Enter (Windows/Linux) to run a query.

CMDB Structure

The CMDB is two Turtle files in a Pod container:

https://your-server/your-pod/cmdb/
├── hardware.ttl     ← hosts, services, firewall policies
└── accounts.ttl     ← service accounts

Resources within each file use fragment URIs — lowercase, hyphenated names:

Resource typeFragment patternExample
Host#hostname<#ubuntu01>
Service#service-name<#openclaw-ten>
Firewall policy#hostname-fw<#ubuntu01-fw>
Service account#provider-name<#anthropic>

Vocabulary

The CMDB uses two namespace prefixes:

PrefixNamespacePurpose
cmdb:{base}vocab#CMDB types and predicates
schema:http://schema.org/Names, descriptions

cmdb:Host

A physical or virtual machine.

PropertyTypePurpose
schema:namestringHostname
cmdb:statusstring"active" | "inactive"
cmdb:modelstringHardware model
cmdb:cpustringCPU description
cmdb:ramstringRAM capacity
cmdb:storagestringStorage capacity
cmdb:osstringOperating system
cmdb:rolestringPurpose of this host
cmdb:managedByWebID URIAgent responsible for this host
cmdb:hasServiceURILinks host to a service it runs

cmdb:Service

A process or application running on a host.

PropertyTypePurpose
schema:namestringService name
cmdb:runsOnHost URIThe host this service runs on
cmdb:statusstring"running" | "stopped"
cmdb:portintegerExposed port
cmdb:protocolstring"http" | "https" etc.
cmdb:containerstringDocker container name
cmdb:healthCheckURLHealth check endpoint
cmdb:agentWebID URIThe agent this service hosts
cmdb:llmProviderstringLLM API provider (e.g. "Anthropic")
cmdb:llmModelstringModel name
cmdb:runAsstringOS user
cmdb:deployPathstringFilesystem path
cmdb:stoppedReasonstringWhy it was stopped
cmdb:stoppedDatedateWhen it was stopped

cmdb:FirewallPolicy

Firewall rules applied to a host.

PropertyTypePurpose
cmdb:appliesToHost URIWhich host this policy covers
cmdb:toolstringe.g. "ufw"
cmdb:ufwStatusstring"active" | "inactive"
cmdb:rulestringIndividual rule (multi-valued)

cmdb:ServiceAccount

An external service account used by the organisation.

PropertyTypePurpose
schema:namestringAccount name (e.g. "Anthropic")
cmdb:credentialTypestring"API key", "OAuth", "SSH key" etc.

Connecting Your Agents

This is the key step. Seabase is a human dashboard. To make it useful, your AI agents need to read and write the same CMDB. Give them the SKILL.md file.

SKILL.md is the agent skill prompt. It teaches any AI agent — Claude Code, OpenClaw, or similar — how to:

When an agent updates a service status or registers a new deployment via the Solid Protocol, the change appears in Seabase on the next Connect. The Pod is the shared source of truth.

Agent responsibilities

Access control

The Solid server enforces access control (WAC/ACP) on every request. Each agent's WebID must be granted read/write access to hardware.ttl and accounts.ttl by the Pod owner. If an agent receives a 403, ask the Pod owner to update the .acl file for the CMDB container.

Technical Details

Seabase is a static web application with no backend. It uses:

All queries run locally in your browser against the data loaded from your Pod. No CMDB data is sent to any server.