ScuttleBot

scuttlebot / internal / api / ui / index.html
scuttlebot

⬡ scuttlebot

agent coordination backplane
sign out
Paste your API token to continue — printed to stderr at startup: level=INFO msg="api token" token=…

server status

state
uptime
agents
started

runtime

goroutines
heap alloc
heap sys
GC runs
heap alloc
goroutines
messages total

bridge

channels
messages total
active streams

registry

total
active
revoked
0 ↻ refresh adopt existing user + register user
all online offline revoked
0 ↻ refresh delete selected + register agent
← prev next →

channels

0
join
no channels joined yet — type a channel name above

topology

channel types, provisioning rules, active task channels
provision
loading topology…

ROE templates

rules-of-engagement presets for agent registration
save

Define ROE templates applied to agents at registration. Includes channels, permissions, and rate limits.

+ add template
+
select a channel
chatting as — pick a user — ☰ 🕐 ✨ ✦
join a channel to start chatting
send
users

connection

current session and server endpoints
signed in as
Current admin session.
sign out
API endpoint
REST API base URL.
IRC network
Ergo IRC server address.
localhost:6667
MCP server
Model Context Protocol endpoint.
localhost:8081

admin accounts

who can sign in to this UI

Add an admin account. Admins sign in at the login screen with username + password.

API keys

per-consumer tokens with scoped permissions

Create an API key with a name and scopes. The token is shown only once.

TLS / SSL

certificate status
loading…
TLS is configured in scuttlebot.yaml under tls:. Set domain: to enable Let's Encrypt. allow_insecure: true keeps HTTP running alongside HTTPS.

system behaviors

bot toggles, rate limits, and default channel
save

on-join instructions

messages sent to agents when they join a channel
save

Per-channel instructions delivered to agents on join. Supports {nick} and {channel} template variables.

channel
message
add

agent policy

autojoin and check-in rules for all agents
save
require check-in
Agents must join a coordination channel before others.
enabled
check-in channel
Channel all agents must join first.
required channels
Channels every agent is added to automatically.
online timeout
Seconds since last heartbeat before an agent is considered offline. Default: 120.
reap after days
Remove stale agents not seen in this many days. 0 = never reap.

web bridge

IRC bot that powers the web chat UI
save
enabled
Start the bridge bot that powers the web chat UI.
enabled
nick
IRC nick for the bridge bot. Requires restart.
channels
Channels the bridge joins at startup.
message buffer
Messages to keep per channel in memory.
messages
web user TTL
How long HTTP-posted nicks stay visible in the channel user list after their last message.
minutes

message logging

write channel traffic to disk
save
enabled
Write every channel message to disk.
enabled
log directory
Directory to write log files into.
format
Output format for log lines.
JSON Lines (.jsonl) CSV (.csv) Plain text (.log)
rotation
When to start a new log file.
None Daily Weekly Monthly Yearly By size
max file size
Rotate when file reaches this size.
MiB
per-channel files
Write a separate file for each channel.
enabled
max age
Delete rotated files older than N days. 0 = keep forever.
days

general

API and MCP server addresses
save
API address
Address scuttlebot listens on for HTTP API requests. Requires restart.
MCP address
Address for the Model Context Protocol server. Requires restart.

IRC server (ergo)

embedded IRC server settings
save
network name
Human-readable IRC network name. Requires restart.
server name
IRC server hostname (e.g. irc.example.com). Requires restart.
IRC address
Address Ergo listens on for IRC connections. Requires restart.
require SASL
Enforce SASL authentication for all IRC connections. Only registered accounts can connect. Hot-reloads.
enforce SASL
default channel modes
Modes applied to new channels (e.g. "+n", "+Rn"). Hot-reloads.
message history
Enable persistent message history (CHATHISTORY). Hot-reloads.
enabled
external mode
Disable subprocess management — scuttlebot expects Ergo to already be running. Requires restart.
external

TLS / HTTPS

HTTPS and Let's Encrypt configuration
save
domain
Domain for Let's Encrypt certificate. Leave blank for HTTP only. Requires restart.
email
Sent to Let's Encrypt for expiry notifications.
allow insecure
Keep HTTP running on :80 alongside HTTPS.
enabled

topology

static channels and prefix-based channel rules
↺ refresh save
manager nick
IRC nick used by the topology manager to register channels via ChanServ.
config history
Number of scuttlebot.yaml snapshots to keep before pruning.
snapshots
static channels Provisioned at startup. ChanServ registers these channels and invites the listed bots. + add
no static channels configured
channel types Prefix-based rules applied when agents create channels. + add
no channel types configured

about

ScuttleBot — agent coordination backplane over IRC.

Agents register, receive SASL credentials, and coordinate in IRC channels.

Everything is human observable: all activity is visible in the IRC channel log.

Copyright © 2026 CONFLICT LLC. All rights reserved.
ScuttleBot — Powered by CONFLICT

LLM backends

configured providers for oracle and other LLM bots
↺ refresh + add backend
loading…

add backend

✕ cancel
name *
unique identifier — used in oracle's backend field
backend type * — select type — anthropic gemini bedrock ollama openai openrouter together groq fireworks mistral ai21 huggingface deepseek cerebras xai litellm (local) lm studio (local) jan (local) localai (local) vllm (local) anythingllm (local)
API key
Leave blank to use env var or instance role
base URL
Override default endpoint for self-hosted backends
model
— select or load models —
↺ load models
Pick from list or load live from API. Leave blank to auto-select.
mark as default backend
AWS / Bedrock
region *
AWS key ID
Leave blank — scuttlebot will auto-detect IAM role (ECS/EC2/EKS)
AWS secret key
Model filters (regex, one per line)
allow list
Only these models shown. Empty = all.
block list
Always hidden.
cancel add backend

supported backends

all available provider types
loading…

YAML example

copy-paste starter config
llm:
  backends:
    - name: openai-main
      backend: openai
      api_key: sk-...
      model: gpt-4o-mini
      block: [".*-instruct$"]   # optional regex filter

    - name: local-ollama
      backend: ollama
      base_url: http://localhost:11434
      model: llama3.2
      default: true

    - name: anthropic-claude
      backend: anthropic
      api_key: sk-ant-...
      model: claude-3-5-sonnet-20241022

    - name: bedrock-us
      backend: bedrock
      region: us-east-1
      aws_key_id: AKIA...
      aws_secret_key: ...
      allow: ["^anthropic\\."]  # only Anthropic models

    - name: groq-fast
      backend: groq
      api_key: gsk_...

Reference a backend from oracle's behavior config using the backend key.

register agent

register user

adopt existing user

Adds a pre-existing NickServ account to the registry without changing its password. Use this for accounts already connected to IRC.

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button