Enchanted is open source, Ollama compatible, elegant macOS/iOS/iPad app for working with privately hosted models such as Llama 2, Mistral, Vicuna, Starling and more. It's essentially ChatGPT app UI that connects to your private models. The goal of Enchanted is to deliver a product allowing unfiltered, secure, private and multimodal experience across all of your devices in iOS ecosystem (macOS, iOS, Watch, Vision Pro).
If you like the project, consider leaving a โญ๏ธ and following on ๐.
Note: You will need to run your own Ollama server to use the app. Read instructions below.
![](https://private-user-images.githubusercontent.com/5672094/327514503-b03acfc7-cbc3-4bab-92cd-73d3eb75b47e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzUxNDUwMy1iMDNhY2ZjNy1jYmMzLTRiYWItOTJjZC03M2QzZWI3NWI0N2UucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjFmM2Y5YmVkZmQ1YzU5ZTU1YzgzODk4ZTEyZGU1MTIzOWVkMWNjN2MzNDRkZDFmZGYxM2NiZTBmZDlmMjNhMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.P1W_33xloNnN2IavPTnH-iTqvBD0oMOmLyVEdQm-AYQ)
![](https://private-user-images.githubusercontent.com/5672094/327515728-5ca80a65-1bec-4d6c-8065-f0a26861c3c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzUxNTcyOC01Y2E4MGE2NS0xYmVjLTRkNmMtODA2NS1mMGEyNjg2MWMzYzIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjMxMTRiODEwYTI0M2MzOTliYzQ4NWU5N2FjZGRkNWIwMjgxOTAxMzVhMTQxZGU3MGM3ODkyZjlhNzQ2MWZlNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.X-1v4YrBNxLtKP_7wcnv1mEN6DJ0yTTdjfJ9xUqC_dc)
invoke.mp4
![Xnapper-2024-05-02-18 57 19](https://private-user-images.githubusercontent.com/5672094/327538741-7b69fe50-5399-4c0b-a269-f28353b8ca27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzUzODc0MS03YjY5ZmU1MC01Mzk5LTRjMGItYTI2OS1mMjgzNTNiOGNhMjcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTJiZGI3ZGQwYWM4MWMwODc0YmE1YWVlNWQ0YTMwZjE5Mzc1YTNlMDViZmMwMmIzMWEwNzhkOTk4MWI5OWE1NSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.8nYAO-aYDaQ2lJHp_skNRZjFiWYUoLC5MLIYBkbW06E)
summarise.mp4
customcompletion.mp4
Multimodal
![](https://private-user-images.githubusercontent.com/5672094/327542454-f2a7dafa-9470-4689-9f5a-27b6eb0e168d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzU0MjQ1NC1mMmE3ZGFmYS05NDcwLTQ2ODktOWY1YS0yN2I2ZWIwZTE2OGQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDY0YTY0Yzg4ZWI0Yzc1MTA0ZGNjMDc0OWExMWE4OGQzMDEwYzUxNTNjOTA2MjdhYWIxZmM4NGE4NDc1YzZlMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.IwskgK0UFeFAegYq9esc4JExSN8MrofJHzRdpiMRUyM)
Markdown
![](https://private-user-images.githubusercontent.com/5672094/327543393-9caefcb2-69eb-46d0-8d4f-b6269d7c2937.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzU0MzM5My05Y2FlZmNiMi02OWViLTQ2ZDAtOGQ0Zi1iNjI2OWQ3YzI5MzcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTcwNjMzZGIyNDRjMGFjNmNiNzY2MzdiYTg0ZmFjNjFlMzMwOTIyNWE3ODIzYzE1ZmY3ODIzYWE0ZDVjY2ViMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.tUmX1fBCXv2-AKo1rBmHWUtwsi1UO_J7nnL6n20ezio)
Conversation history
![Xnapper-2024-05-03-12 00 28](https://private-user-images.githubusercontent.com/5672094/327734911-7dade8ec-e94d-4936-9237-f2f2bc1533f2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2ODkxNzUsIm5iZiI6MTcyNDY4ODg3NSwicGF0aCI6Ii81NjcyMDk0LzMyNzczNDkxMS03ZGFkZThlYy1lOTRkLTQ5MzYtOTIzNy1mMmYyYmMxNTMzZjIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjZUMTYxNDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2FkODE1MzA0OWM4YjRmNzNiYjgzZjQ0MWI4NTgwZGQ0ZjMyY2ZjNjEzY2JhZDdkMTc4MGY3ZGU2ZjI1ZWFiMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.dlH45a51py_mySSLnrT765pbWyXB42H9uTtvXNTF6pc)
- Supports latest Ollama Chat API
- Conversation history included in the API calls
- Dark/Light mode
- Conversation history is stored on your device
- Markdown support (nicely displays tables/lists/code blocks)
- Voice prompts
- Image attachments for prompts
- Specify system prompt used for every conversations
- Edit message content or submit message with different model
- Delete single conversation / delete all conversations
- macOS Spotlight panel Ctrl+โ+K
Enchanted requires Ollama v0.1.14 or later.
- Download Enchanted app from the App Store.
- In App Setings specify your server endpoint.
You're done! Make a prompt.
-
Start Ollama server and download models for usage.
-
Install ngrok forward your Ollama server to make it accessible publicly
ngrok http 11434 --host-header="localhost:11434"
-
Copy "Forwarding" URL that will look something like
https://b377-82-132-216-51.ngrok-free.app
. Your Ollama server API is now accessible through this temporary URL. -
Download Enchanted app from the App Store.
-
In App Setings specify your server endpoint.
You're done! Make a prompt.
For any questions please do not hesitate to contact me at [email protected]