Skip to content

rosdebbu/openzess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

100 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Openzess β€” AI Workspace

Openzess

The open-source, multi-agent AI workspace β€” built for builders.

GitHub TypeScript Python License Version

Demo β€’ Features β€’ Architecture β€’ Getting Started β€’ Tech Stack β€’ Contributing


Overview

Openzess is a full-stack, provider-agnostic AI workspace that gives you complete control over how AI agents operate, collaborate, and integrate into your development workflow. Unlike closed ecosystems, Openzess lets you bring any LLM provider β€” Gemini, OpenAI, Anthropic, DeepSeek, Groq, Qwen, Ollama, and more β€” and orchestrates them through a unified, production-grade interface.

It ships with a multi-agent debate engine, parallel swarm execution, MCP protocol support, Tavern-compatible persona imports, background task scheduling, and a full tool-calling runtime β€” all wrapped in a polished React + FastAPI application.


🎬 Demo

▢️ Application Walkthrough

Openzess β€” Full Application Walkthrough

Dark mode walkthrough β€” navigating Chat, Debate Arena, Tavern, and more.

▢️ Login & Boot Sequence

Openzess β€” Boot Sequence & Login

Cinematic boot sequence with provider authentication flow.


πŸ“Έ Screenshots

Chat Dashboard β€” Light Mode Dashboard Light

Chat Dashboard β€” Dark Mode Dashboard Dark

Warroom Debate β€” Multi-Agent Consensus Warroom Debate

CollaborationRoom β€” Parallel Swarm CollaborationRoom

Agent Skills & Personas Agent Skills

MCP Protocol Grid MCP Grid

Tavern β€” Multi-Character Personas Tavern Personas

Debate Arena β€” Sequential Consensus Debate Arena


✨ Features

🧠 Core Intelligence

Feature Description
Universal Provider Support Gemini, OpenAI, Anthropic, Groq, DeepSeek, Qwen, GLM, Kimi, Ollama (local). Swap models at runtime.
Tool-Calling Runtime Terminal execution, file I/O, code editing, web search, URL scraping β€” all with human-in-the-loop approval.
Streaming Chat Real-time SSE-based streaming with full Markdown rendering and syntax highlighting.
Session Persistence SQLite-backed conversation history with session management and cross-device hydration.

βš”οΈ Multi-Agent Systems

Feature Description
Warroom Debate Sequential multi-round debate engine β€” agents argue, critique, and reach consensus. A Judge synthesizes the verdict.
CollaborationRoom Parallel swarm dispatch β€” up to 10 agents across different providers respond simultaneously.
Agent Personas Pre-configured roles (Architect, Scraper, CodeGen) with full custom persona support.
Tavern Card Import Import SillyTavern/TavernAI .png and .json character cards for multi-character roleplaying.

πŸ”Œ Extensibility & Integration

Feature Description
MCP Protocol Model Context Protocol support β€” connect external tools (GitHub, PostgreSQL, Filesystem, etc.) via stdio or SSE transports.
Background Workers Cron job scheduler and filesystem watchdog for automated task execution.
Channels Telegram and Discord bot bridges β€” extend Openzess conversations to messaging platforms.
Developer API OpenAI-compatible and Anthropic-compatible REST endpoints (/v1/chat/completions, /v1/messages).

🎨 Interface & Experience

Feature Description
Light & Dark Themes Full dual-theme support with smooth transitions.
Graphify Visual knowledge graph renderer for relationship mapping.
Canvas / Knowledge Base Structured document viewer and content workspace.
TTS Engine Built-in text-to-speech synthesis via gTTS.
Matrix Viewer Virtual display streaming interface for remote desktop interaction.

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         FRONTEND (React + Vite)                      β”‚
β”‚                                                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   Chat    β”‚ β”‚  Debate  β”‚ β”‚ Collab     β”‚ β”‚  MCP / Skills /      β”‚ β”‚
β”‚  β”‚ Dashboard β”‚ β”‚  Arena   β”‚ β”‚ Room       β”‚ β”‚  Tavern / Settings   β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚        β”‚             β”‚             β”‚                    β”‚             β”‚
β”‚        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β”‚                              β”‚ REST + SSE                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     BACKEND (FastAPI + Python)                        β”‚
β”‚                               β”‚                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                    server.py (API Router)                      β”‚   β”‚
β”‚  β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚      β”‚      β”‚      β”‚      β”‚      β”‚      β”‚      β”‚      β”‚             β”‚
β”‚  β”Œβ”€β”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚Agent β”‚β”‚Swarmβ”‚β”‚MCP  β”‚β”‚Cron β”‚β”‚Tele-β”‚β”‚Disc-β”‚β”‚TTS  β”‚β”‚Database β”‚   β”‚
β”‚  β”‚Core  β”‚β”‚Mgr  β”‚β”‚Mgr  β”‚β”‚Jobs β”‚β”‚gram β”‚β”‚ord  β”‚β”‚gTTS β”‚β”‚SQLite   β”‚   β”‚
β”‚  β””β”€β”€β”¬β”€β”€β”€β”˜β””β”€β”€β”¬β”€β”€β”˜β””β”€β”€β”¬β”€β”€β”˜β””β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚     β”‚       β”‚      β”‚                                                β”‚
β”‚  β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚            LiteLLM Universal Provider Gateway               β”‚     β”‚
β”‚  β”‚  Gemini β”‚ OpenAI β”‚ Anthropic β”‚ DeepSeek β”‚ Groq β”‚ Ollama    β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Component Breakdown

Layer Technology Responsibility
Frontend React 18 + TypeScript + Vite UI, routing, state management, SSE streaming
Backend FastAPI + Python 3.11+ API routing, agent orchestration, tool execution
Agent Core LiteLLM + Custom Tool Runtime Multi-provider LLM calls, function calling, approval flow
Swarm Manager Async Python Parallel multi-agent dispatch and debate orchestration
MCP Manager stdio/SSE subprocess External tool protocol connections
Database SQLAlchemy + SQLite Session storage, message history, persona management
Channels python-telegram-bot, discord.py Cross-platform messaging bridges
Memory ChromaDB (vector store) Semantic memory vault for agent context

πŸš€ Getting Started

Prerequisites

  • Node.js β‰₯ 18
  • Python β‰₯ 3.11
  • Git
  • At least one LLM API key (Gemini, OpenAI, etc.) β€” or use Ollama for fully local operation

1. Clone the Repository

git clone https://github.com/rosdebbu/openzess.git
cd openzess

2. Configure Environment

cp .env.example .env

Edit .env and add your credentials:

GEMINI_API_KEY=your_gemini_api_key_here
DATABASE_URL=postgresql://openzess:password@localhost:5432/openzess

Note: SQLite is used by default. PostgreSQL is optional for production deployments.

3. Install Dependencies

Backend:

python -m venv venv
venv\Scripts\activate          # Windows
# source venv/bin/activate     # Linux/macOS
pip install -r requirements.txt

Frontend:

cd frontend
npm install
cd ..

4. Run the Application

Option A β€” One-Command Start (Windows)

start.bat

Option B β€” One-Command Start (Linux / WSL)

chmod +x start_wsl.sh
./start_wsl.sh

Option C β€” Manual Start

Terminal 1 β€” Backend:

cd backend
uvicorn server:app --host 0.0.0.0 --reload --port 8000

Terminal 2 β€” Frontend:

cd frontend
npm run dev

Option D β€” Docker (PostgreSQL)

docker-compose up --build

5. Access the Application

Open your browser and navigate to:

http://localhost:5173

You will be greeted by the boot sequence. Select a provider and enter your API key to begin.


πŸ›  Technology Stack

Frontend

  • React 18 β€” Component architecture
  • TypeScript β€” Type-safe development
  • Vite 8 β€” Sub-second HMR
  • Framer Motion β€” Page transitions & micro-animations
  • React Router β€” SPA routing
  • React Markdown β€” Rich content rendering
  • Lucide Icons β€” Consistent iconography
  • TailwindCSS β€” Utility-first styling

Backend

  • FastAPI β€” High-performance async API
  • LiteLLM β€” Universal LLM gateway
  • SQLAlchemy β€” ORM & migrations
  • ChromaDB β€” Vector memory store
  • python-telegram-bot β€” Telegram integration
  • discord.py β€” Discord integration
  • gTTS β€” Text-to-speech engine
  • BeautifulSoup β€” Web scraping

πŸ“ Project Structure

openzess/
β”œβ”€β”€ frontend/                      # React + TypeScript SPA
β”‚   └── src/
β”‚       β”œβ”€β”€ pages/                 # 22 feature pages
β”‚       β”‚   β”œβ”€β”€ Chat.tsx           # Main AI chat interface
β”‚       β”‚   β”œβ”€β”€ DebateArena.tsx    # Sequential multi-agent debate
β”‚       β”‚   β”œβ”€β”€ WarRoom.tsx        # Parallel swarm collaboration
β”‚       β”‚   β”œβ”€β”€ Tavern.tsx         # Character persona imports
β”‚       β”‚   β”œβ”€β”€ Skills.tsx         # Agent persona management
β”‚       β”‚   β”œβ”€β”€ MCP.tsx            # Model Context Protocol grid
β”‚       β”‚   β”œβ”€β”€ Channels.tsx       # Telegram & Discord bridges
β”‚       β”‚   β”œβ”€β”€ CronJobs.tsx       # Background task scheduler
β”‚       β”‚   β”œβ”€β”€ Graphify.tsx       # Knowledge graph viewer
β”‚       β”‚   β”œβ”€β”€ KnowledgeBase.tsx  # Document canvas
β”‚       β”‚   └── ...                # 12 more feature pages
β”‚       β”œβ”€β”€ components/            # Sidebar, transitions, avatars
β”‚       β”œβ”€β”€ context/               # Theme, toast providers
β”‚       └── utils/                 # Persona definitions
β”‚
β”œβ”€β”€ backend/                       # FastAPI + Python services
β”‚   β”œβ”€β”€ server.py                  # Main API router (1000+ lines)
β”‚   β”œβ”€β”€ agent.py                   # LiteLLM agent with tool calling
β”‚   β”œβ”€β”€ database.py                # SQLAlchemy models & queries
β”‚   β”œβ”€β”€ swarm_manager.py           # Multi-agent orchestration
β”‚   β”œβ”€β”€ mcp_manager.py             # MCP protocol handler
β”‚   β”œβ”€β”€ background_workers.py      # Cron & watchdog services
β”‚   β”œβ”€β”€ telegram_worker.py         # Telegram bot bridge
β”‚   β”œβ”€β”€ discord_worker.py          # Discord bot bridge
β”‚   β”œβ”€β”€ tavern_parser.py           # SillyTavern card importer
β”‚   └── plugin_loader.py           # Dynamic plugin system
β”‚
β”œβ”€β”€ docs/assets/                   # Screenshots & demo videos
β”œβ”€β”€ openzess-docs/                 # Documentation site (Docusaurus)
β”œβ”€β”€ docker-compose.yml             # PostgreSQL container
β”œβ”€β”€ start.bat                      # Windows launch script
β”œβ”€β”€ start_wsl.sh                   # Linux/WSL launch script
β”œβ”€β”€ .env.example                   # Environment template
└── README.md

πŸ” Security Considerations

  • API keys are stored client-side in localStorage and transmitted per-request β€” never persisted server-side
  • Tool execution requires explicit human-in-the-loop approval before any terminal command runs
  • MCP connections use subprocess isolation via stdio transport
  • CORS is configured for local development β€” restrict allow_origins in production
  • Environment variables isolate sensitive backend configuration

πŸ—ΊοΈ Roadmap

  • Plugin Marketplace β€” Community-contributed agent skills and MCP servers
  • Voice Interface β€” Real-time voice input/output with Whisper + TTS
  • Cloud Deployment β€” One-click Render/Vercel deployment pipeline
  • Multi-user Auth β€” Role-based access control for team environments
  • Agent Memory β€” Persistent long-term memory across sessions via ChromaDB
  • Mobile Responsive β€” Full mobile-first responsive layout
  • Simulation Mode β€” Dry-run tool execution for safe testing

🀝 Contributing

Contributions are welcome from AI engineers, full-stack developers, and open-source enthusiasts.

How to Contribute

  1. Fork this repository
  2. Create a feature branch
    git checkout -b feat/your-feature
  3. Commit changes with conventional commits
    git commit -m "feat: add your feature"
  4. Push to your branch
    git push origin feat/your-feature
  5. Open a Pull Request

Development Guidelines

  • Follow existing code style and component patterns
  • Add TypeScript types for all new props/interfaces
  • Test with at least two LLM providers before submitting
  • Update documentation for user-facing changes

πŸ‘¨β€πŸ’» Author

Built by @rosdebbu

Openzess is an open-source project created to give developers full ownership over their AI workspace β€” no vendor lock-in, no closed ecosystems, just raw control.


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


Built with TypeScript, Python, and a lot of coffee. β˜•

About

The Openzess Project Break free from closed hardware. Openzess is the ultimate open-architecture toolkit to design, build, and operate your own OpenClaw. Powered by an intelligent TypeScript and Python stack, it delivers precision control, modern web interfaces, and total customization for your robotic grip systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors