Wasl is a high-performance, privacy-centric desktop interface for Ollama. Built with Tauri 2, Next.js (Static Export), and Rust, it provides a seamless experience for interacting with local LLMs while maintaining 100% data sovereignty.
Wasl (meaning "Connection" in Arabic) is designed to be more than just a chat interface. It is a robust desktop application that leverages native system capabilities through a secure IPC bridge, ensuring that your AI interactions are fast, reliable, and completely private.
- 100% Offline AI Assistant – No cloud services. Ever.
- Thinking & Reasoning Visualization – Supports structured
<thought>blocks rendered viaThinkingBlock.tsxfor transparent AI reasoning. - Mermaid Diagram Rendering – Automatically renders diagrams from
mermaidcode blocks usingMermaidRenderer.tsx. - Enhanced Markdown Engine – Advanced parsing via
MarkdownRenderer.tsx, combining code, diagrams, and reasoning blocks seamlessly. - Structured Planning Workflows – Enables step-by-step reasoning and planning inside conversations.
- Privacy-First Design – All data remains on your machine.
- Bilingual Native UI – Full RTL (Right-to-Left) support for Arabic using the Tajawal font and logical CSS properties.
- Model Management – Pull, delete, and switch between Ollama models locally.
- Rich Chat Experience – Streaming responses, syntax highlighting, attachments, and long-context conversations.
- High Performance – Virtualized rendering (React Virtuoso) for smooth handling of large chat histories.
- System Diagnostics – Built-in logs viewer and system health monitoring.
The project follows a modern, scalable architecture tailored for pure desktop environments:
-
Core Framework: Tauri 2 (Rust) for backend and secure system access.
-
Frontend: Next.js 16 with Static Site Generation (SSG) only — no SSR for maximum compatibility and performance.
-
Domain-Driven Design (DDD): Organized under
src/features/into domains (Chat, Library, Settings, Sidebar, Layout). -
Component Architecture:
ThinkingBlock.tsx– Renders structured reasoning (<thought>tags)MermaidRenderer.tsx– Converts Mermaid syntax into diagramsMarkdownRenderer.tsx– Unified renderer for rich AI responses
-
IPC-Only System Access: All system operations (filesystem, dialogs, Ollama API) go through
src/lib/ipc.ts. -
Local-First Storage: Uses
tauri-plugin-storefor persistent local data.
This project follows strict engineering standards, including:
- Domain-Driven Design (DDD) structure
- 100% offline-first architecture
- Strict TypeScript typing (no loose types)
- Barrel file exports for domain boundaries
- RTL-first styling using logical CSS properties
- IPC-only system access (no direct OS calls from UI)
These standards are mandatory for all contributions.
-
Clone the repository.
-
Install dependencies:
pnpm install
-
Start the development environment:
pnpm dev
-
Build for production:
pnpm build
Contributions are welcome. Please ensure that:
- All features follow the domain-driven structure
- IPC patterns are strictly respected
- Code aligns with mentioned development standards
- Components remain modular and reusable
This project is licensed under the MIT License - see the LICENSE file for details.
وَصْل هي واجهة سطح مكتب عالية الأداء ومتمركزة حول الخصوصية لـ Ollama. تم بناؤها باستخدام Tauri 2 و Next.js (تصدير ثابت) و Rust، لتوفير تجربة سلسة للتفاعل مع نماذج اللغة المحلية مع الحفاظ على سيادة البيانات بنسبة 100%.
تم تصميم "وَصْل" لتكون أكثر من مجرد واجهة دردشة؛ فهي تطبيق سطح مكتب متين يستفيد من قدرات النظام الأصلية من خلال جسر IPC آمن، مما يضمن أن تكون تفاعلاتك مع الذكاء الاصطناعي سريعة وموثوقة وخاصة تماماً.
- مساعد ذكاء اصطناعي يعمل بالكامل دون اتصال – بدون أي خدمات سحابية.
- عرض التفكير والاستدلال – دعم كتل
<thought>لعرض خطوات التفكير بشكل مرئي. - دعم مخططات Mermaid – تحويل الأكواد إلى مخططات تفاعلية داخل الدردشة.
- محرك Markdown متقدم – معالجة متكاملة للنصوص، الكود، والمخططات.
- سير عمل تخطيطي منظم – تمكين التفكير خطوة بخطوة داخل المحادثات.
- الخصوصية أولاً – جميع البيانات تبقى على جهازك.
- واجهة ثنائية اللغة – دعم كامل للغة العربية (RTL) باستخدام خط Tajawal.
- إدارة النماذج – تحميل، حذف، والتبديل بين نماذج Ollama.
- تجربة دردشة غنية – استجابات فورية، تمييز كود، وإرفاق ملفات.
- أداء عالي – استخدام القوائم الافتراضية للتعامل مع المحادثات الطويلة بسلاسة.
- تشخيص النظام – عرض السجلات ومراقبة حالة النظام.
يتبع المشروع بنية حديثة وقابلة للتوسع:
-
إطار العمل الأساسي: Tauri 2 (Rust)
-
الواجهة الأمامية: Next.js 16 (توليد ثابت فقط)
-
التصميم المدفوع بالمجالات (DDD): تنظيم الكود داخل
src/features/ -
مكونات رئيسية:
ThinkingBlock.tsx– عرض التفكيرMermaidRenderer.tsx– عرض المخططاتMarkdownRenderer.tsx– معالجة المحتوى
-
الوصول عبر IPC فقط: من خلال
src/lib/ipc.ts -
التخزين المحلي: باستخدام
tauri-plugin-store
يتبع المشروع معايير صارمة، وتشمل:
- بنية DDD
- العمل دون اتصال بالكامل
- استخدام TypeScript بشكل صارم
- تنظيم الكود عبر Barrel Files
- تصميم يدعم RTL أولاً
- الوصول للنظام فقط عبر IPC
pnpm install
pnpm dev
pnpm buildالمساهمات مرحب بها. يرجى الالتزام بمعايير المشروع واتباع بنية DDD واستخدام IPC بشكل صارم.
هذا المشروع مرخص بموجب MIT - راجع ملف LICENSE.

