Fiberwise Core Web

Production-ready web interface for the FiberwiseAI Platform. Deploy, manage, and monitor your AI agents and applications with a comprehensive web-based management system.

🌐

Web-Based Management

Complete web interface for managing agents, applications, and workflows

🚀

Production Ready

FastAPI backend with modern frontend, ready for enterprise deployment

🔧

Developer Friendly

Hot reload, debugging tools, and comprehensive API documentation

What is Fiberwise Core Web?

Fiberwise Core Web is the official web interface for the FiberwiseAI Platform. It provides a complete self-hosted management system for AI agents, applications, and workflows through a modern, responsive web application.

🎯 Core Capabilities

  • Agent Management - Visual editor for creating and configuring AI agents
  • Application Hub - Install, update, and manage Fiberwise applications
  • Real-time Monitoring - Live execution tracking with WebSocket updates
  • Pipeline Builder - Drag-and-drop interface for complex workflows
  • API Explorer - Interactive documentation and testing tools
  • User Management - Authentication, authorization, and user administration

🏢 Enterprise Features

  • Scalable Architecture - Distributed worker system for high-volume processing
  • Security First - Multi-layer authentication with OAuth integration
  • Database Support - PostgreSQL and SQLite with automated migrations
  • Docker Ready - Container deployment with Kubernetes support
  • Monitoring & Logging - Comprehensive health checks and performance metrics
  • REST & WebSocket APIs - Complete programmatic access

Key Components

🤖

Agent Manager

Visual interface for creating, editing, and deploying AI agents with code validation and dependency analysis.

  • Syntax highlighting and validation
  • Dependency injection configuration
  • Test execution environment
  • Version management
📱

Application Hub

Centralized management for Fiberwise applications with installation, updates, and configuration.

  • One-click app installation
  • Automatic updates and rollback
  • Configuration management
  • Resource monitoring
📊

Execution Monitor

Real-time monitoring of agent activations with detailed logging and performance metrics.

  • Live execution tracking
  • Performance metrics
  • Error analysis and debugging
  • Execution history
🔧

Pipeline Builder

Visual workflow designer for creating complex multi-agent automation pipelines.

  • Drag-and-drop interface
  • Conditional logic and branching
  • Error handling and retry logic
  • Pipeline templates
🔐

Security Center

Comprehensive security management including authentication, authorization, and OAuth integration.

  • Multi-factor authentication
  • Role-based access control
  • OAuth authenticator management
  • API key administration
⚙️

System Administration

Administrative tools for system configuration, monitoring, and maintenance.

  • System health monitoring
  • Database management
  • Worker system control
  • Configuration management

Architecture Overview

System Architecture

Frontend Layer
Web Components Vite Build System Native JavaScript
API Layer
FastAPI Framework RESTful APIs WebSocket Support
Services Layer
Agent Processing App Management Authentication
Data Layer
PostgreSQL SQLite DuckDB File Storage

Deployment Scenarios

🔧 Development Mode

For Development

Hot-reload enabled, debug mode, Vite dev server integration

uvicorn main:app --port 8000
cd Fiberwise_core && npm run dev
Hot Reload Debug Mode Dev Tools

🚀 Default Settings

Primary Deployment

The primary deployment mode for Fiberwise Core Web with full production features and optimizations

export ENVIRONMENT=production
uvicorn main:app --host 0.0.0.0 --port 8000
Optimized Assets Security Hardened Performance Tuned

🐳 Docker Container

Containerized

Container deployment with Docker and Kubernetes support

docker build -t Fiberwise-core-web .
docker run -p 8000:8000 Fiberwise-core-web
Portable Scalable Kubernetes Ready

🔗 CLI Integration

CLI Configured

CLI runs a specially configured instance of Fiberwise Core Web using the user's home folder (~/.fiberwise/) for storage

pip install Fiberwise
fiber start  # Runs Core Web with home directory storage
Home Directory Storage User-Isolated CLI Managed

Getting Started

1

Clone Repository

git clone https://github.com/your-org/fiberwise-core-web.git
cd Fiberwise-core-web
2

Install Dependencies

# Python dependencies
pip install -r requirements.txt

# Frontend dependencies (optional for development)
cd Fiberwise_core && npm install
3

Configure Environment

cp .env.example .env.local
# Edit .env.local with your settings
4

Start Application

uvicorn main:app --port 8000

Ready to Go!

Access your Fiberwise Core Web interface at http://localhost:8000

Configuration

🔧 Core Settings

ENVIRONMENT Application environment (development/production)
DEBUG Enable debug mode and detailed logging
SECRET_KEY Secret key for session encryption
PORT Port for web server (default: 8000)

🗄️ Database Settings (CoreWebSettings)

DB_PROVIDER Database provider selection (sqlite, postgresql, duckdb)
DATABASE_URL Optional: Custom database connection string (auto-generated if not provided)
Fiberwise_USE_HOME_DIR Use home directory for CLI deployment (set by fiber setup)

CoreWebSettings automatically:

  • Selects appropriate provider based on DB_PROVIDER
  • Generates database URLs for CLI vs Default Settingss
  • Creates necessary directories and files
  • Handles home directory vs project directory storage

📁 Storage Settings (CoreWebSettings)

STORAGE_PROVIDER Storage provider selection (local, s3, azure, gcp)
UPLOADS_DIR Directory for file uploads (auto-configured by deployment mode)
APP_BUNDLES_DIR Directory for installed application bundles (critical for app installation)
ENTITY_BUNDLES_DIR Directory for entity bundles (critical for app installation)

App Installation Dependencies:

  • APP_BUNDLES_DIR - Stores installed application packages and configurations
  • ENTITY_BUNDLES_DIR - Stores entity definitions and schemas required by apps
  • Both directories are automatically created and configured based on deployment mode
  • CLI Mode: ~/.Fiberwise/app_bundles/ and ~/.Fiberwise/app_entity_bundles/
  • Default Settings: ./local_data/app_bundles/ and ./local_data/entity_bundles/

🔧 Core API Settings (CoreWebSettings)

FIBER_API_BASE_URL Base URL for Fiber API communication (default: http://localhost:5555/api/v1)
FIBER_API_KEY API key for authenticating with Fiber services
SECRET_KEY Secret key for session encryption (change in production)
DEBUG Enable debug mode and detailed logging
WORKER_ENABLED Enable background worker system
WORKER_CONCURRENCY Number of concurrent worker processes
WORKER_TIMEOUT Worker task timeout in seconds

🔐 Security Settings

CORS_ORIGINS Allowed CORS origins (comma-separated)
SESSION_TIMEOUT Session timeout in seconds
API_RATE_LIMIT API rate limiting (requests per minute)

Database Configuration

Fiberwise Core Web uses CoreWebSettings to automatically configure database providers. Simply set DB_PROVIDER and the system handles the rest.

🔧 Quick Configuration

🗃️ SQLite (Default)
DB_PROVIDER=sqlite
# Path automatically managed by CoreWebSettings

Zero configuration required - perfect for development and single-user applications.

🐘 PostgreSQL
DB_PROVIDER=postgresql
DATABASE_URL=postgresql://user:password@localhost:5432/Fiberwise_db

Production-ready with connection pooling and concurrent user support.

🚧 Additional Database Support

CoreWebSettings supports additional SQL databases including DuckDB, MySQL, MariaDB, SQL Server, Oracle, CockroachDB, and TimescaleDB.

Storage Configuration

CoreWebSettings automatically configures storage paths for applications, uploads, and entity bundles. The APP_BUNDLES_DIR and ENTITY_BUNDLES_DIR are critical for app installation functionality.

📁 Storage Provider Options

💻 Local Storage (Default)
STORAGE_PROVIDER=local
# Files stored on local filesystem
# Automatic directory management by CoreWebSettings

Zero configuration - perfect for development and single-server deployments.

☁️ Cloud Storage
# AWS S3
STORAGE_PROVIDER=s3
S3_BUCKET_NAME=your-bucket-name
S3_ACCESS_KEY_ID=your-access-key
S3_SECRET_ACCESS_KEY=your-secret-key

# Azure Blob Storage
STORAGE_PROVIDER=azure
AZURE_CONNECTION_STRING=your-connection-string
AZURE_CONTAINER_NAME=your-container

# Google Cloud Storage
STORAGE_PROVIDER=gcp
GCP_BUCKET_NAME=your-bucket-name
GCP_CREDENTIALS_FILE=path/to/credentials.json

Scalable storage for production deployments with high availability.

🚀 App Installation Storage

The following directories are essential for Fiberwise app installation and management:

📦 APP_BUNDLES_DIR

Stores installed application packages, configurations, and runtime assets.

CLI Mode: ~/.Fiberwise/app_bundles/apps/
Default Settings: ./local_data/app_bundles/apps/
Custom: APP_BUNDLES_DIR=/custom/path/to/apps
🗂️ ENTITY_BUNDLES_DIR

Stores entity definitions, schemas, and data models required by applications.

CLI Mode: ~/.Fiberwise/app_entity_bundles/
Default Settings: ./local_data/entity_bundles/
Custom: ENTITY_BUNDLES_DIR=/custom/path/to/entities
📤 UPLOADS_DIR

Temporary storage for file uploads and user-submitted content.

CLI Mode: ~/.Fiberwise/uploads/
Default Settings: ./local_data/uploads/
Custom: UPLOADS_DIR=/custom/path/to/uploads

API Reference

Fiberwise Core Web provides comprehensive REST and WebSocket APIs for programmatic access to all platform features.

🔐 Authentication

POST /api/v1/auth/login

Authenticate user and create session

GET /api/v1/auth/me

Get current user information

POST /api/v1/auth/logout

Logout user and destroy session

🤖 Agents

GET /api/v1/agents

List all agents for current user

POST /api/v1/agents

Create new agent

POST /api/v1/activations

Activate an agent with input data

📱 Applications

GET /api/v1/apps

List installed applications

POST /api/v1/apps/install

Install new application

PUT /api/v1/apps/{app_id}

Update application configuration

🔄 Real-time

WS /api/v1/realtime/apps/{app_id}

WebSocket connection for real-time updates. Receives messages about activation status changes, progress updates, and other real-time events.

POST /api/v1/realtime/send

Send message through WebSocket to connected clients

📡 WebSocket Message Types

MSG connection_established

Sent immediately after WebSocket connection is established. Contains user info, app_id, and welcome message.

MSG activation_completed

Sent when an agent activation finishes successfully. Contains activation_id, status="completed", context, and result data.

MSG activation_failed

Sent when an agent activation fails during processing. Contains activation_id, status="failed", context, and error information.

📤 Client Message Events

SEND subscribe

Subscribe to a specific channel within the app. Send with event="subscribe" and payload.channel="channel_name".

SEND unsubscribe

Unsubscribe from a channel. Send with event="unsubscribe" and payload.channel="channel_name".

SEND broadcast

Broadcast a message to all other clients connected to the same app. Payload goes in payload.payload field.

Example: Activate Agent

curl -X POST http://localhost:8000/api/v1/activations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "agent_id": "agent-123",
    "input_data": {
      "message": "Hello, world!",
      "context": {"user_id": "user-456"}
    }
  }'

Example: WebSocket Connection & Messages

// Connect to WebSocket with authentication cookie
const ws = new WebSocket('ws://localhost:8000/api/v1/realtime/apps/your-app-id');

// Handle connection established
ws.onmessage = (event) => {
  const message = JSON.parse(event.data);
  
  // Connection welcome message
  if (message.type === 'connection_established') {
    console.log('Connected to Fiberwise:', message.message);
    console.log('User:', message.username, 'App:', message.app_id);
  }
  
  // Activation completion
  else if (message.type === 'activation_completed') {
    console.log('Activation completed:', {
      activation_id: message.activation_id,
      status: message.status,
      chat_id: message.context?.chat_id,
      timestamp: message.timestamp
    });
  }
  
  // Activation failure
  else if (message.type === 'activation_failed') {
    console.error('Activation failed:', {
      activation_id: message.activation_id,
      status: message.status,
      error: message.error
    });
  }
  
  // Broadcast messages from other clients
  else if (message.event === 'message') {
    console.log('Received broadcast:', message.payload, 'from user:', message.from);
  }
};

// Send a message to subscribe to a channel
ws.send(JSON.stringify({
  event: 'subscribe',
  payload: { channel: 'chat_updates' }
}));

// Broadcast a message to other clients
ws.send(JSON.stringify({
  event: 'broadcast',
  payload: { 
    payload: { 
      type: 'user_typing',
      message: 'User is typing...' 
    }
  }
}));

Next Steps