| title | SINT Console |
|---|---|
| description | Unified control center for managing AI agents, orchestrating workflows, monitoring operations, and governing autonomous systems. |
| sidebarTitle | Console |
SINT Console is the operational control center for the SINT ecosystem. It connects to the SINT Protocol gateway via WebSocket (JSON-RPC 2.0) and provides a visual interface for everything: agent management, workflow orchestration, policy enforcement, evidence monitoring, and multi-agent coordination.
**Source:** [github.com/sint-ai/sint-agents](https://github.com/sint-ai/sint-agents) — React 19, Redux Toolkit 2.5, 31 feature modules, 110+ test files, 60+ feature flags.┌──────────────────────────────────────────────────────┐
│ SINT Console │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ Conductor│ │ Canvas │ │ Operator │ │ Web3 │ │
│ │ (Policy) │ │ (Flows) │ │ (Tasks) │ │(Wallet) │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬────┘ │
│ └─────────────┴────────────┴────────────┘ │
│ │ │
│ GatewayDataService │
│ (auto: WebSocket → REST → Mock) │
└─────────────────────────┬─────────────────────────────┘
│ JSON-RPC 2.0 / WebSocket
│ Ed25519 device identity
▼
┌───────────────────────┐
│ SINT Protocol │
│ Policy Gateway │
│ (32 REST endpoints) │
└───────────────────────┘
The Console uses a cascading data strategy:
- Gateway WebSocket — Real-time bidirectional communication (preferred)
- REST API — Fallback when WebSocket is unavailable
- Mock data — Offline development mode
Authentication uses Ed25519 device identity — the Console generates a keypair on first visit and authenticates via signed nonce challenge.
The Conductor is the Console's primary interface for managing SINT Protocol operations. It maps directly to the gateway's API surface.
Real-time overview of active runs, agent status, and system health. Shows running agents, pending approvals, recent evidence events, and risk distribution.**Route:** `/app/conductor`
**Route:** `/app/conductor/approvals`
**Route:** `/app/conductor/policy`
**API:** `POST/PATCH/DELETE /conductor/policies`
**Route:** `/app/conductor/evidence`
**Route:** `/app/conductor/goals`
**Route:** `/app/conductor/servers`
A drag-and-drop flow editor for composing multi-agent workflows. Built with React Flow (@xyflow/react).
13 node types:
| Node | Purpose |
|---|---|
agent |
AI agent execution node |
task |
Task assignment and tracking |
conductor_run |
SINT Protocol governed run |
mcp_server |
MCP tool server integration |
policy |
Policy checkpoint / gate |
chat |
Chat interaction node |
trigger |
Flow start (manual, webhook, scheduled) |
condition |
Conditional branching (expression evaluation) |
output |
Result collection / logging |
swarm |
Multi-agent swarm coordination |
n8n_workflow |
n8n integration node |
Pre-built templates:
| Template | Description |
|---|---|
| Social Media Pipeline | Content generation → review → publish |
| Market Analysis | Data gathering → analysis → report |
| Research & Summarize | Web scrape → summarize → output |
| Multi-Agent Consensus | Multiple agents → voting → decision |
| RAG: Document Ingestion | Upload → chunk → embed → store |
| RAG: Knowledge Query | Query → retrieve → generate response |
| NEXUS: Startup MVP | Idea → research → prototype → test |
The FlowExecutor engine processes flows using topological sort (Kahn's algorithm), executing nodes in dependency order with real-time status updates.
Route: /app/canvas
**Route:** `/app/operator/tasks`
**Route:** `/app/operator/traces`
**Route:** `/app/operator/sessions`
**Route:** `/app/operator/memory`
Agent intelligence dashboard with:
- Activity Feed — Real-time stream of all agent actions
- Skills Manager — View, configure, and install agent skills
- Stats Dashboard — Aggregated metrics: actions/hour, success rate, cost/action
- Trajectory Page — Visualize agent decision paths over time
Route: /app/intelligence
**Route:** `/app/web3`
**Route:** `/app/trading`
Agent marketplace with:
- MCP server discovery and installation
- Skill/plugin catalog with filtering
- Community-contributed templates
- n8n workflow import
Route: /app/marketplace
- Metrics Dashboard — System-wide KPIs: latency, throughput, error rates, cost tracking
- Observability Page — Deep diagnostics, log aggregation, anomaly detection alerts
- Cost Tracking — Per-agent, per-run cost breakdown with budget alerts and predictions
Routes: /app/metrics, /app/observability
The Console uses Redux Toolkit 2.5 with 31 operator feature slices:
| Category | Slices |
|---|---|
| Orchestration | conductorSlice, canvasSlice, canvasExecutionSlice |
| Agents | agentSlice, handoffSlice, sharedContextSlice |
| Tasks | taskSlice, scheduleSlice, templateSlice |
| Governance | approvalSlice, trustPolicySlice, auditSlice |
| Monitoring | metricsSlice, anomalySlice, runEventSlice, sessionSlice |
| Intelligence | intelligenceSlice, operatorSlice (traces) |
| Finance | budgetSlice, tradingSlice, web3Slice |
| Infra | notificationSlice, marketplaceSlice, webhookSlice |
All slices follow the same pattern: async thunks → reducers → selectors → tests.
The Console connects to SINT Protocol's gateway server via the GatewayClient — a WebSocket client implementing JSON-RPC 2.0 with Ed25519 authentication.
| Event | Source | Handler |
|---|---|---|
conductor.run.* |
Run lifecycle (created, updated, completed) | conductorSlice |
conductor.step.* |
Step execution progress | conductorSlice |
conductor.approval.* |
Approval gate triggered | approvalSlice |
conductor.evidence.* |
Evidence ledger entry | conductorSlice |
conductor.agent.status |
Agent heartbeat / status change | agentSlice |
conductor.server.status |
MCP server connect/disconnect | conductorSlice |
agent.heartbeat |
Periodic agent health check | agentSlice |
handoff.* |
Agent-to-agent task handoff | handoffSlice |
shared-context.update |
Shared context synchronization | sharedContextSlice |
audit.entry |
Audit log entry | auditSlice |
budget.updated |
Budget change notification | budgetSlice |
trust.policy.updated |
Policy rule change | trustPolicySlice |
trust.evaluation |
Real-time policy evaluation result | trustPolicySlice |
anomaly.detected |
Anomaly detection alert | anomalySlice |
run-event.* |
Run stdout/event streaming | runEventSlice |
- Automatic reconnection with exponential backoff (800ms base)
- Nonce-based challenge-response authentication
- Device identity persistence (Ed25519 keypair in localStorage)
- Status tracking:
disconnected → connecting → connected
The Console uses a centralized feature flag system (60+ flags) allowing individual features to be enabled/disabled without code changes:
Core: gatewayEnabled, gatewayChat, gatewayFirstData
Conductor: conductor, conductorGoals, conductorApprovals, conductorPolicy, conductorServers, conductorEvidence, conductorStateMachine, conductorContextTools, conductorEvidenceChain, conductorPersona
Canvas: canvasEditor, canvasExecution, workflowTemplates, n8nIntegration
Tasks: tasksKanban, taskRunLink, taskAutoAssign, taskActivityLog, taskWorker, taskCheckoutLocking, runTemplates
Agent Management: agentManager, agentHeartbeat, agentHierarchy, agentConfigRevisions, agentSoulConfig, agentHandoffs, sharedContext
Intelligence: crossSessionLearning, confidenceScoring, progressiveTrust, failureAnalysis, anomalyDetection
Observability: traces, sessions, observabilityDashboard, metricsDashboard, costTracking, costPrediction
Finance: web3Dashboard, web3Swap, tradingDashboard
Infrastructure: approvalGates, policyEditor, memoryPanel, schedules, webhooks, dataExport, mcpMarketplace, globalSearch, notificationCenter, openclawSettings, dryRunMode, rollbackEngine, humanAiCollaboration, dashboardSummary
The Console is the visual layer on top of SINT Protocol. Every Console action maps to a protocol operation:
| Console Action | Protocol Endpoint | Package |
|---|---|---|
| Create run | POST /v1/intercept |
@sint/gate-policy-gateway |
| Approve action | POST /v1/approvals/:id/approve |
Gateway server |
| Create policy | POST /conductor/policies |
@sint/gate-policy-gateway |
| View evidence | GET /v1/ledger |
@sint/gate-evidence-ledger |
| Generate proof | POST /v1/ledger/proof |
@sint/gate-evidence-ledger |
| Register agent | POST /v1/a2a/agents |
@sint/bridge-a2a |
| Check budget | GET /v1/economy/balance/:id |
@sint/bridge-economy |
| Canvas execute | Multiple intercepts (batch) | @sint/gate-policy-gateway |
| MCP tool call | POST /v1/intercept (MCP bridge) |
@sint/bridge-mcp |
| Layer | Technology |
|---|---|
| Framework | React 19 |
| State | Redux Toolkit 2.5 (31 slices) |
| Routing | React Router 7 (32 routes) |
| Flow Editor | @xyflow/react (React Flow) |
| Charts | Recharts + lightweight-charts |
| 3D | Three.js + @react-three/fiber |
| Web3 | wagmi, viem, ethers, @solana/web3.js, @cosmjs |
| Auth | OIDC (react-oidc-context) + Ed25519 device identity |
| Validation | Zod |
| Real-time | WebSocket JSON-RPC 2.0 |
| Testing | Vitest — 110+ test files |
| Build | Vite |
git clone https://github.com/sint-ai/sint-agents.git
cd sint-agents
pnpm install
cp .env.example .env # Configure VITE_BACKEND_URL, VITE_DASHBOARD_API_URL
pnpm devConnect to a running SINT Protocol gateway:
VITE_BACKEND_URL=http://localhost:4100
VITE_DASHBOARD_API_URL=http://localhost:3001