GUIDE

Server Mode

BACK

Start the Server

Navigate to your trusted folder (the one configured in the Sandbox) and run:

cd ~/Documents/Projects
fararoni --server

Startup Output

First the server mode banner:

╔═══════════════════════════════════════════════════════════════╗
║           FARARONI SERVER - IDE Plugin Mode                    ║
╚═══════════════════════════════════════════════════════════════╝

[SERVER] Initializing components...

Then Fararoni loads all subsystems:

[FARARONI] Primary link stable.
[FARARONI]  Armored Persistence ACTIVE (Outbox Pattern: sovereign_bus.db)
[FARARONI]  Channel repository initialized
[FARARONI]  MessagingChannelManager started
[FARARONI]  Security Auth ACTIVE (TOTP + Sandbox + BCrypt)
[FARARONI]  GalvanicAgent started on Sovereign Bus
[FARARONI]  QuartermasterAgent started on Sovereign Bus
[FARARONI]  AgentTemplateManager started (10 active agents, LLM injected)
[FARARONI]  SovereignMissionEngine active
[RECOVERY] Disaster Recovery Service started
[SAFETY] FileSystemIntentListener active (Write + Restore)
[TOOL-REGISTRY] Base tools: 36+
 Dynamic Tool Prompting enabled

Active Server Panel

When everything is ready, the panel with available endpoints appears:

╔═══════════════════════════════════════════════════════════════╗
║  [ACTIVE] SERVER ACTIVE                                       ║
╠═══════════════════════════════════════════════════════════════╣
║  Base URL:    http://localhost:7070                            ║
║                                                               ║
║  REST Endpoints:                                              ║
║    POST   /api/chat           - Synchronous chat (IDE)        ║
║    POST   /api/task           - Execute mission (async)       ║
║    GET    /api/status         - Server status                 ║
║    GET    /api/session/{id}   - Session status                ║
║    DELETE /api/session/{id}   - Close session                 ║
║    GET    /health             - Health check                  ║
║                                                               ║
║  WebSocket:                                                   ║
║    WS     /ws/events?userId=X - Live event feed               ║
║                                                               ║
║  Press CTRL+C to stop the server                              ║
╚═══════════════════════════════════════════════════════════════╝

The server runs in the foreground. Do not close this terminal while using Fararoni in server mode.

Verify it Works

Open a new terminal and run:

# Core Server health check
curl http://localhost:7070/health
# {"status":"healthy"}

# Server status
curl http://localhost:7070/api/status

# Gateway health check
curl http://localhost:7071/gateway/v1/health
# {"status":"healthy","port":7071,"activeClients":0}

What Starts Automatically

When starting with --server, Fararoni starts two services:

ServicePortDescription
Core Server7070REST API + WebSocket for IDE plugins and applications
OmniChannel Gateway7071HTTP ingress/egress for messaging sidecars

The Gateway starts automatically — no need to start it separately.

Connect Messaging Sidecars

With the server running, open a new terminal for each channel you want to activate.

WhatsApp

# Terminal 2
~/Fararoni/bin/sidecar-whatsapp

A QR code will appear in the terminal. Scan it with WhatsApp: Settings → Linked Devices → Link a Device.

Telegram

Requires a token from @BotFather:

# Terminal 3
export TELEGRAM_TOKEN="your_botfather_token"
~/Fararoni/bin/sidecar-telegram

Discord

Requires a token from the Discord Developer Portal:

# Terminal 4
export DISCORD_TOKEN="your_developer_portal_token"
~/Fararoni/bin/sidecar-discord

iMessage (macOS only)

Requires BlueBubbles running on your Mac:

# Terminal 5
export BLUEBUBBLES_PASSWORD="your_password"
~/Fararoni/bin/sidecar-imessage

Verify Sidecars

# WhatsApp (port 3000)
curl http://localhost:3000/health

# Telegram (port 3001)
curl http://localhost:3001/health

# Discord (port 3002)
curl http://localhost:3002/health

# iMessage (port 3003)
curl http://localhost:3003/health

Each health check returns the channel connection status:

{"status":"healthy","connection":"connected","channelId":"telegram","port":3001}

Communication Flow

User (WhatsApp/Telegram/Discord/iMessage)
        |
        v
Sidecar (native binary, port 3000-3003)
        |
        v  POST /gateway/v1/inbound
OmniChannel Gateway (:7071)
        |
        v
SovereignEventBus
        |
        v
Fararoni Core (:7070) — processes with LLM
        |
        v  POST /send
SovereignEventBus → HttpEgressDispatcher
        |
        v
Sidecar → User

Verified Real Example (Telegram)

[INFO]  13:18:39 [HTTP] Egress Server on port 3001
[INFO]  13:18:40 [INGRESS] 1568104683 -> "Hello" (HTTP 202)
[INFO]  13:18:48 [EGRESS] 1568104683 <- "Hello! How can I help you today?"

REST Endpoints Reference

Synchronous Chat (for IDE plugins)

curl -X POST http://localhost:7070/api/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "analyze this project", "userId": "ide-user"}'

Execute Async Mission

curl -X POST http://localhost:7070/api/task \
  -H "Content-Type: application/json" \
  -d '{"task": "create a payments microservice", "userId": "user1"}'

Server Status

curl http://localhost:7070/api/status

WebSocket (live feed)

Connect to ws://localhost:7070/ws/events?userId=your-user to receive real-time events (LLM responses, mission progress, etc.).

Port Summary

PortServiceProtocol
7070Fararoni Core ServerHTTP/WS
7071OmniChannel GatewayHTTP
3000Sidecar WhatsAppHTTP
3001Sidecar TelegramHTTP
3002Sidecar DiscordHTTP
3003Sidecar iMessageHTTP
11434OllamaHTTP

Stop the Server

Press Ctrl+C in the terminal where the server is running. This stops both the Core and Gateway.

To stop sidecars, press Ctrl+C in each terminal, or if registered as LaunchAgents:

launchctl unload ~/Library/LaunchAgents/com.fararoni.sidecar-*.plist
launchctl unload ~/Library/LaunchAgents/com.fararoni.core.plist

Common Issues

ProblemSolution
Connection refused :7070Server not running. Run fararoni --server
Connection refused :7071Gateway didn't start. Check server logs
Connection refused :11434Ollama not running. Run ollama serve
Sidecar won't connect to GatewayVerify server is running on port 7071
Port 7070 already in useUse another port: fararoni --server --port 8080

Fararoni v1.0.0 — Sovereign AI Agent Orchestrator | Apache 2.0 | Author: Eber Cruz

Secure Terminal Access

INITIALIZE_COLLABORATION

Want to join the project? Secure terminal interface for developers and technical profiles.

fararoni_secure_shell — bash
SYSTEM: WAITING FOR INPUT
System check: OK
> INITIALIZE_COLLABORATION...
root@fararoni:~$input_email
root@fararoni:~$set_sector
root@fararoni:~$set_operator
root@fararoni:~$define_mission
root@fararoni:~$Type 'help' to see available commands
root@fararoni:~$
ENCRYPTED CONNECTION ESTABLISHED via TLS 1.3