OpenSpaces is a free, MIT-licensed, self-hostable AI workspace that brings shared Spaces, editable pages, conversations, and AI tools into one application, aimed at individuals and teams who want an open alternative to ChatGPT Spaces running on their own infrastructure.
What it is
OpenSpaces is a self-hostable AI workspace built as an independent community project, and it states plainly that it is not affiliated with or endorsed by OpenAI. It organises work into Spaces, each holding editable pages and conversations, with AI assistance available inside the workflow rather than in a separate window. The web application is written in Next.js, React, and Tailwind CSS with a TipTap editor, backed by a FastAPI and SQLAlchemy API and a PostgreSQL-compatible database, including Supabase, with an in-memory development fallback when no database is configured.
The concrete problem it addresses is that shared AI workspaces are typically hosted services whose data, code, and running location the user does not control. OpenSpaces replaces that arrangement with software you can run yourself: the README's stated reasons for existing are that it is open source and self-hostable, workspace-centred, AI in the workflow, and built to adapt through code and integration changes. It connects to a configured provider, MuAPI, for chat, image generation, and uploads, and the project notes that hosting, database, and third-party AI provider usage may carry separate costs because OpenSpaces does not include free model inference.
Key capabilities
- Create and manage Spaces, pages, and messages as the workspace's core structure.
- Edit pages with a TipTap rich-text editor that also offers a Markdown mode, slash commands, autosave, and inline AI actions.
- Chat with configured models and run image generation through the configured MuAPI integration, with
DEFAULT_MODEL and MUAPI_API_KEY set in server/.env.
- Upload media through the configured provider integration.
- Explore early meeting notes and Dot agent interfaces.
- Configure the API with
PORT, HOST, CORS_ORIGINS, DATABASE_URL, DIRECT_URL, DEFAULT_MODEL, and MUAPI_API_KEY.
- Extend the application and its integrations, and send issues, bug reports, and pull requests upstream.
Who uses it and how
- Developers who want to run an AI workspace on infrastructure they control, since the README emphasises choosing where to run the software and inspecting and changing the code.
- Teams and collaborators working in shared Spaces, using pages and conversations together, with the
team-collaboration and workspace topics indicating that intent.
- Individuals combining a document editor and AI chat in one place, writing in TipTap or Markdown and invoking inline AI actions while editing.
- Contributors extending the project, with issues, bug reports, and pull requests welcomed and larger changes to be discussed in an issue first.
- Experimenters evaluating early interfaces such as meeting notes and the Dot agent, given that these are described as early explorations.
Getting started
The README's local run is a two-process setup: in server/, create a virtual environment, run pip install -r requirements.txt, copy .env.example to .env, set MUAPI_API_KEY and optionally DATABASE_URL, then start it with python run.py on http://localhost:8000; in client/, run npm ci and npm run dev to open http://localhost:3000.
How it compares
OpenSpaces positions itself directly against ChatGPT Spaces, the proprietary hosted product it names as the thing it is an alternative to, and it differs by being MIT-licensed software you run yourself rather than a service you log into. The distinction the facts support is control over code and hosting location; the project also carries an explicit disclaimer that ChatGPT and ChatGPT Spaces are trademarks of OpenAI.
When to use it — and when not to
A self-hoster must operate the FastAPI server, a PostgreSQL database (or rely on the in-memory fallback), a Node.js client, and a MuAPI account whose key backs chat, image generation, and uploads. Do not deploy it as a multi-user service or point sensitive data at it yet: the README states that the codebase does not yet enforce authentication and per-Space authorization consistently across API routes, that the current WebSocket is not a collaborative editing system, and that agent execution and meeting transcription are not complete production workflows. Anyone needing a finished, hardened collaborative editor should wait, and the project's own advice is to check the code and issues before relying on a feature.
project readme (upstream, from github) — read inline
OpenSpaces — The Free, Open-Source Alternative to ChatGPT Spaces
A free, open-source, self-hostable AI workspace for shared pages, conversations, and AI tools.
OpenSpaces brings shared workspaces, editable pages, conversations, and AI tools into one place. Run it on infrastructure you control, inspect and change the code, and connect it to supported AI services such as MuAPI.
OpenSpaces is an independent community project. It is not affiliated with or endorsed by OpenAI. ChatGPT and ChatGPT Spaces are trademarks of OpenAI.
Why OpenSpaces?
- Open source and self-hostable: use the MIT-licensed software and choose where to run it.
- Workspace-centered: organize work in Spaces with pages and conversations.
- AI in the workflow: chat with configured models and use writing and image generation tools in the page editor.
- Built to adapt: extend the application and its integrations for your own needs.
The software is free to use. Hosting, database, and third-party AI provider usage may have separate costs; OpenSpaces does not include free model inference.
What works today
- Create and manage Spaces, pages, and messages.
- Edit pages with a TipTap rich-text editor, Markdown mode, slash commands, autosave, and inline AI actions.
- Use the configured MuAPI integration for chat and image generation.
- Upload media through the configured provider integration.
- Explore early meeting notes and Dot agent interfaces.
Project status: OpenSpaces is under active development. Some interface flows are prototypes or simulated, and several README claims from earlier versions described planned behavior. In particular, the current WebSocket is not a collaborative editing system; agent execution and meeting transcription are not complete production workflows. Check the code and issues before relying on a feature.
Security and deployment status
The current codebase does not yet enforce authentication and per-Space authorization consistently across API routes. Do not expose it as a multi-user service or use it with sensitive data until that boundary has been implemented and reviewed. Configure secrets and database access privately; never commit .env files or credentials.
Tech stack
- Web app: Next.js, React, Tailwind CSS, TipTap
- API: FastAPI, SQLAlchemy
- Database: PostgreSQL-compatible configuration (including Supabase)
- AI provider integration: MuAPI
Run locally
Requirements
- Node.js and npm
- Python 3.10 or newer
- A PostgreSQL database for persistent storage (the app also has an in-memory development fallback)
- A MuAPI API key for provider-backed chat, image generation, and uploads
1. Configure and start the API
cd server
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
Edit server/.env and set MUAPI_API_KEY. For persistence, set DATABASE_URL (and DIRECT_URL if needed) to your PostgreSQL connection string. Keep this file private.
python run.py
The API runs at http://localhost:8000; its interactive docs are at http://localhost:8000/docs.
2. Start the web app
In another terminal:
cd client
npm ci
npm run dev
Open http://localhost:3000.
Configuration
The API reads these settings from server/.env:
Contributing
Issues, bug reports, and pull requests are welcome. Please include steps to reproduce bugs and describe the behavior you expect. For larger changes, open an issue first so the approach can be discussed.
License
OpenSpaces is distributed under the MIT License.