Katra is an open source, graph-native AI workspace for conversations, tasks, and collaborative intelligence.
Warning
main now tracks the in-progress Katra v2 rewrite.
Looking for the original proof of concept? See v1.0.0.
Katra v2 is being rebuilt as a local-first Laravel application that can run in multiple environments. NativePHP is the first-class local shell, but the application is also intended to support server, container, and Kubernetes-style deployment targets.
The long-term direction is a graph-native system where conversations, tasks, decisions, artifacts, and related context become first-class objects instead of disposable chat history. That foundation is intended to support multi-user and multi-model collaboration, subagents, GraphRAG-style retrieval, and real-time project management.
- Laravel 13
- NativePHP
- SurrealDB v3 with a desktop-embedded and server-remote runtime strategy
- Laravel AI
- Laravel MCP
- Laravel Fortify
- Livewire
- Tailwind CSS
- Pest
- Laravel Boost for local development
- Local-first desktop experience through NativePHP
- Traditional Laravel server deployments
- Docker-based deployments
- Helm and Kubernetes-oriented deployments
Katra v2 is an active rewrite. The repository is being rebuilt in small, reviewable pull requests, and preview macOS desktop artifacts are now attached to GitHub Releases as the shell evolves. The proof of concept is preserved at v1.0.0 for historical reference and is not being actively developed.
The current desktop shell is now installable as a real macOS app preview. It is still early, but the downloadable build already shows the direction clearly: durable rooms, a conversation-first center pane, a contextual right rail, and a local-first desktop shell that can grow into local and remote workflows.
| Dark Theme | Light Theme |
|---|---|
![]() |
![]() |
There are two practical ways to try Katra today.
- Browse the GitHub Releases page and download the latest macOS desktop asset for your machine.
- Choose the architecture-specific asset that matches your Mac when it is available:
x64for Intel,arm64for Apple Silicon. - Desktop preview builds now bundle the local Surreal runtime instead of expecting a separate machine-local
surrealCLI install. - Recent tagged release builds are signed, notarized, and stapled for macOS distribution, though older preview tags may still require a manual
Open Anywayflow. - The app is still preview-quality even when the install path is trusted.
composer setup
composer native:devThat path installs dependencies, prepares the Laravel app, bootstraps NativePHP, and starts the local desktop development loop.
Katra now uses Laravel Fortify for the first authentication foundation.
- Create an account at
/register, then sign in at/login. - The desktop shell route at
/is now authentication-protected. - Password recovery is available through
/forgot-password. - Make sure your local database migrations are current before you try the auth flow:
php artisan migrate- If you are testing password reset locally and want to inspect the reset link without sending mail, use a local-safe mailer such as
MAIL_MAILER=log.
The Laravel AI SDK is installed and its conversation storage migrations are part of the application now.
- For hosted model access, set
OPENAI_API_KEYand leaveAI_DEFAULT_PROVIDER=openai. - For local model experiments, set
AI_DEFAULT_PROVIDER=ollamaand pointOLLAMA_BASE_URLat your local Ollama instance. - Additional provider keys and per-capability defaults are available in config/ai.php if you want to swap providers later.
- Some capabilities still default to specific providers like Gemini or Cohere, so if you want everything to follow your primary provider you should update the operation-specific defaults in
config/ai.phpas well.
The current AI foundation test uses agent fakes, so the repo test suite does not require live provider credentials just to verify the integration.
Katra now includes a first Laravel-compatible Surreal schema driver for migration work.
- Use
Schema::connection('surreal')inside migrations when you want to target Surreal-backed application data. - You can also set
DB_CONNECTION=surrealand run Laravel migrations, migration status, andmigrate:freshdirectly against SurrealDB. - The current slice is intentionally narrow: table creation, field creation, field removal, and table removal are supported for common Katra field types.
- This is still not full SQL-driver parity yet, but it is enough for Katra's current migration set and for Surreal-backed application schema work without relying on SQLite migration bookkeeping.
- Katra v2 Overview
- Katra v2 Product and Architecture Principles
- Katra Brand Foundation
- Issue #13: Katra v2 product vision and architecture principles
Contributions are welcome as the rewrite takes shape. For now, the best place to follow the work is the issue tracker and the planning docs linked above.
Repository workflow, commit conventions, and release policy are documented in CONTRIBUTING.md.
Optional local AI tooling setup is documented in Laravel Boost Setup. Native desktop bootstrap, release artifacts, and local shell setup are documented in NativePHP Desktop Setup.
Katra is open-sourced software licensed under the MIT License.

