Command Center
The Command Center is the unified home screen of SETI AI and your real-time AI workspace — the room where you talk to your power system. Instead of hunting through menus and logs, you ask a question in plain language and your AI operations team answers, grounded in your own documents and live telemetry, with the sources cited.
It is built as a node canvas: every feature is a draggable widget ("node") you arrange to suit how you work. It also acts as the shell for the rest of the app — the top tab bar switches between the canvas and the other major surfaces.
Related pages: Settings · AI Agents · Knowledge Base · Notifications
Top navigation (tab bar)
The tabs across the top switch the whole main view.
| Tab | What it opens |
|---|---|
| Command Center | The node canvas (default view) |
| Node Editor | The visual workflow Node Editor (embedded editor.html) |
| Power Analytics | The power/energy analytics dashboard (embedded analytics-dash.html) |
| SETI STACK | The metrics/ops dashboard, home of the Settings / System Setup panel (embedded dashboard.html) |
| Admin | User administration — only visible to admin accounts (embedded /admin/users) |
The Admin tab stays hidden until the page confirms your role via
GET /api/auth/me; admins also see their name in the top-right user badge.
Embedded views load on first click (lazy) and stay loaded after that.
Top-bar controls (right side)
| Control | What it does |
|---|---|
| Emergency Stop (red button) | Confirms, then restarts all agents (Bob and Bill) at once — use to halt runaway agent activity |
| User badge | Shows the signed-in user (astronaut icon + name) |
| Logout | Ends the session (/logout) |
The palette (left sidebar)
The palette holds every node type you can place. It has a search box (filter by label), collapsible category sections (collapsed by default), and a collapse toggle for the whole sidebar. To place a node, drag it onto the canvas or single-click it (spawns at canvas center). A node type can only be on the canvas once; trying to add a second copy shows a warning toast.
At the bottom of the sidebar:
| Button | What it does |
|---|---|
| Save | Downloads your current layout as a .json file |
| Load | Restores a layout from a previously saved .json file |
Your layout is also auto-saved to the browser (localStorage
seti-cc-canvas-v9) on every change, so it persists without Save/Load. Save/Load are for backing up or moving a layout between machines — set up one view for daily operations, another for incident response, another for a customer demo, and switch in seconds.
Palette categories and nodes
Agents
- Agent Status
- Host System
Communication
- Chat with Bob
- Chat with Bill
- Group Chat
- Command Chat (legacy tabs)
- Discord Feed
Knowledge
- Knowledge Base
- Agent Memory
The canvas
- Pan: drag empty canvas space. Zoom: mouse wheel, or the on-canvas zoom toolbar — Zoom In (+), the percent readout, Zoom Out (−), and Fit View (frame all nodes). Zoom ranges 15%–300%.
- Move a node: drag its header. Resize: drag the grip at the bottom-right (most nodes; Host System is fixed-size).
- Delete a node: right-click → Delete Node, or select it and press Delete/Backspace.
- Layout (nodes, positions, sizes) is saved automatically.
Nodes (widgets) in detail
Agent Status LIVE
Side-by-side cards for the two agents (see AI Agents):
- Bob — Senior Ops Lead (command + approval)
- Bill — Research Specialist (analytics + intelligence)
Each card shows an online dot, the active model, and metric cells (GW gateway
port, API port, Uptime). Per-agent controls: a Restart button and a
model dropdown to hot-swap which Ollama model the agent runs. The model list
comes from /api/ollama/tags (embedding models filtered out, cloud models first);
live status from /api/status.
Host System .15
Live server vitals — CPU, RAM, Disk as labeled bars, refreshed from
/api/status.
Command Chat (legacy tabs) BOB
A single chat window with three channel tabs — Bob, Group, Bill — so you can switch who you're talking to without opening separate panels. The badge updates to the active channel. This is the older combined chat UI; the dedicated panels below are the newer style.
Chat with Bob BOB
Dedicated chat for Bob only — commands, approvals, "is it safe to…", running
workflows, fleet status. Type and press Enter; replies render with light markdown
(bold, italics, code). Right-click an agent reply to Copy Text. Posts to
/api/chat/bob.
Chat with Bill BILL
Dedicated chat for Bill only — analytics, degradation trends, datasheet lookups,
monitoring pipelines. Posts to /api/chat/bill.
Group Chat (Bob + Bill) GROUP
One message goes to both agents; each replies in its own bubble (Bob first,
then Bill) — you see the operational decision and the analysis behind it side by
side. Posts to /api/chat/bob and /api/chat/bill.
Why it matters: the agents are not a generic chatbot. They are pre-loaded with your SETI Power Pack specifications, safety thresholds, and standard operating procedures. Ask "is 57°C on Pack 2 a problem?" and the answer is measured against your hard limits. Each chat panel keeps its own scoped history, so switching panels never mixes conversations, and recent context carries across sessions. A typing indicator shows while an agent responds; timeouts and errors surface inline.
Discord Feed LIVE
Mirrors recent activity from your connected Discord channel onto the canvas, so the team's alert-and-chatter stream lives alongside chat and analytics. Configure Discord in Settings → Discord (see Notifications).
Knowledge Base RAG
The retrieval-augmented (RAG) document workspace — ground the agents in your own documents. See Knowledge Base.
- Upload zone: drag-and-drop or click to upload. Accepted:
.pdf,.txt,.md,.docx,.py,.json. Each file is chunked and embedded into a private vector store (/api/upload). - Ask Your Docs: type a question and hit search. This calls
/api/rag/ask, which runs a semantic search over your documents and feeds the top passages to the LLM to produce a written, grounded answer — not a pile of raw hits. - Cited sources: every answer lists the source filenames it drew from. If nothing relevant is found, the agents are instructed to say so rather than fabricate a citation — critical for an industrial system.
- Stats chips: live doc count and chunk count (
/api/rag/stats), plus a list of indexed documents.
The same knowledge base powers the chat agents directly: when you ask Bob or Bill about a product or datasheet, they search the KB first and cite the source filename in their reply.
Agent Memory MEM
A three-column board of recent long-term memories — Bob, Bill, and
Team (shared) — pulled live from /api/memory. Lets you see what the agents
currently remember and act on, making their accumulated institutional knowledge
transparent.
The Command Palette (Cmd+K)
Press Cmd+K (or Ctrl+K on Windows/Linux) anywhere to open a global fuzzy-search modal that jumps you to anything in the platform. It searches across:
- Pages — the top tabs (Command Center, Node Editor, Power Analytics, SETI STACK, Admin)
- Widgets — spawn any node type onto the current canvas
- Saved canvases — your stored layouts (
/api/canvas/list)
Start typing and the list filters instantly — matches are ranked exact → prefix → substring → subsequence. Arrow keys navigate, Enter selects, Esc closes, Cmd+K toggles. For a keyboard-first operator it is the fastest way around the entire product.
Standalone Chat page
Separate from the canvas, SETI AI also has a simple full-screen Chat page
(chat.html) for talking directly to a raw Ollama model:
- Model selector + Ollama endpoint field (auto-detected), with a connection status dot.
- Streaming responses, auto-resizing input, Enter to send.
- Header nav to Editor, Dashboard, Admin (admins only), and Logout.
This page bypasses the Bob/Bill agent layer and RAG grounding — a direct model chat, useful for quick model testing.
How a conversation is grounded (RAG, end to end)
- You ask a question in chat (or the KB panel).
- The system runs a semantic search over your uploaded documents.
- The most relevant passages are passed to the agent along with its built-in expertise (SETI Power Pack specs, safety thresholds, your fleet topology).
- The agent composes an answer and cites the source documents.
- If nothing relevant is found, the agent says so rather than guessing.
The result: answers you can trust and trace — the difference between a chatbot and a command center.
Quick reference — API endpoints
| Used by | Endpoint |
|---|---|
| Chat with Bob | POST /api/chat/bob |
| Chat with Bill | POST /api/chat/bill |
| Group chat | POST /api/chat/group (panels call bob + bill in parallel) |
| KB upload | POST /api/upload |
| KB grounded answer | POST /api/rag/ask |
| KB raw chunks | POST /api/rag/search |
| KB stats | POST /api/rag/stats |
| Agent/host status | GET /api/status |
| Agent memory | GET /api/memory |
| Ollama model list | GET /api/ollama/tags |
| Restart agent | POST /api/bot/<agent>/restart |
| Switch agent model | POST /api/bot/<agent>/model |
| Saved canvases (palette) | GET /api/canvas/list |
| Identity / role | GET /api/auth/me |
| Logout | /logout |
At a glance
| Feature | What it gives the operator |
|---|---|
| Top tabs | Command Center, Node Editor, Power Analytics, SETI STACK, Admin |
| Multi-channel chat (Bob / Bill / Group) | Talk to ops, analytics, or both at once |
| Knowledge Base (RAG) | Ask your own manuals and get cited answers |
| Agent Memory | See what the agents remember and act on |
| Discord Feed | Team alerts and chatter, in-canvas |
| Command Palette (Cmd+K) | Keyboard-fast navigation to everything |
| Save / Load layouts | Purpose-built views you can switch between |
| Emergency Stop | One-click halt of all agents |