Obsidian is a powerful, optimized, self-hostable ChatGPT client designed for speed, privacy, and a premium user experience. It is an alternative frontend for chatgpt.com, offering a streamlined interface for interacting with ChatGPT.
⚠️ Work in Progress Obsidian is currently under active development. Some features are incomplete or stubbed, and parts of the interface may change. Core functionality is implemented and usable, but UX and feature completeness are still evolving.
- Response Streaming: Assistant responses are streamed in real-time using Server-Sent Events (SSE).
- Modern UI/UX: A clean, responsive interface built with efficiency and usability in mind.
- Client Mimicry: Replicates HTTP headers and request characteristics used by the official chatgpt.com client when running in a standard browser environment.
- Turnstile Handling: Generates and supplies the Cloudflare, Turnstile, and Sentinel proof-of-work tokens required by the ChatGPT backend.
- Performance Optimized: Handles thousands of messages in a single conversation without UI lag.
- Self-Hostable: A lightweight Python backend that runs locally in seconds.
- Secure Credentials: Obsidian does not collect or store credentials, and sensitive data is sent directly to the ChatGPT backend.
/client: The frontend application built with React, Vite, and TypeScript./backend: The FastAPI server that handles communication with the ChatGPT API.
To get Obsidian up and running, you'll need to start both the backend and the frontend.
Alternatively, you can use the hosted frontend at
https://obsidianclient.vercel.app/
and connect it to your own backend instance.
- Navigate to the
backenddirectory. - One-Click Run:
- Windows: Double-click
run.bat - Linux/macOS: Run
chmod +x run.sh && ./run.sh
- Windows: Double-click
- The server will be running at
http://localhost:8000.
See the backend documentation for manual installation steps.
- Navigate to the
clientdirectory. - Install dependencies:
pnpm install # or npm install - Run the development server:
pnpm run dev
- Open the link displayed in your terminal (usually
http://localhost:5173orhttp://localhost:8080).
- Session Token: You will need a ChatGPT session token to send messages. You can provide this in the application settings.
- Cookies: Optionally, you can provide full cookie strings to further mimic your specific browser session.
- Backend URL: Optionally, you can provide the URL of the backend server. Defaults to
http://localhost:8000.
This project is licensed under the GNU Affero General Public License.
Built for a better chat experience.
