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
API Layer
Services Layer
Data Layer
Deployment Scenarios
Getting Started
Clone Repository
git clone https://github.com/your-org/fiberwise-core-web.git
cd Fiberwise-core-web
Install Dependencies
# Python dependencies
pip install -r requirements.txt
# Frontend dependencies (optional for development)
cd Fiberwise_core && npm install
Configure Environment
cp .env.example .env.local
# Edit .env.local with your settings
Start Application
uvicorn main:app --port 8000
Configuration
🔧 Core Settings
🗄️ Database Settings (CoreWebSettings)
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)
App Installation Dependencies:
APP_BUNDLES_DIR
- Stores installed application packages and configurationsENTITY_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)
🔐 Security Settings
Database Configuration
Fiberwise Core Web uses CoreWebSettings
to automatically configure database providers. Simply set DB_PROVIDER
and the system handles the rest.
🔧 Quick Configuration
🚧 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.
~/.Fiberwise/app_bundles/apps/
./local_data/app_bundles/apps/
APP_BUNDLES_DIR=/custom/path/to/apps
🗂️ ENTITY_BUNDLES_DIR
Stores entity definitions, schemas, and data models required by applications.
~/.Fiberwise/app_entity_bundles/
./local_data/entity_bundles/
ENTITY_BUNDLES_DIR=/custom/path/to/entities
📤 UPLOADS_DIR
Temporary storage for file uploads and user-submitted content.
~/.Fiberwise/uploads/
./local_data/uploads/
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
Authenticate user and create session
Get current user information
Logout user and destroy session
🤖 Agents
List all agents for current user
Create new agent
Activate an agent with input data
📱 Applications
List installed applications
Install new application
Update application configuration
🔄 Real-time
WebSocket connection for real-time updates. Receives messages about activation status changes, progress updates, and other real-time events.
Send message through WebSocket to connected clients
📡 WebSocket Message Types
Sent immediately after WebSocket connection is established. Contains user info, app_id, and welcome message.
Sent when an agent activation finishes successfully. Contains activation_id, status="completed", context, and result data.
Sent when an agent activation fails during processing. Contains activation_id, status="failed", context, and error information.
📤 Client Message Events
Subscribe to a specific channel within the app. Send with event="subscribe" and payload.channel="channel_name".
Unsubscribe from a channel. Send with event="unsubscribe" and payload.channel="channel_name".
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...'
}
}
}));