SailCat

Rating: 
5
Your rating: None Average: 5 (6 votes)

SailCat - Mistral AI Chat Client for Sailfish OS

Source: https://github.com/nicosouv/harbour-sailcat

New versions of SailCat (2.x and up) are built by a human developer with the help of AI (Claude, Mistral Vibe) 

If you don't want to use it, feel free not to use it :)

 

A native Sailfish OS client for Mistral AI, bringing powerful AI conversations directly to your device with a beautiful Silica interface.

What's New in 2.x:
- Image support (vision): attach a photo and let Pixtral or any vision-capable model analyze it
- Dynamic model list: fetched live from the Mistral API, with a quick model-switcher button next to the input field
- System prompt & personas: presets (Concise, Translator, Code assistant) or your own custom instruction
- Generation settings: temperature slider and response length limit
- Message actions: regenerate the last answer, edit and resend a message, pin messages (with a pinned-messages page), copy code blocks separately
- Export conversations as Markdown to Documents, or copy them as text
- Real token tracking: per conversation, per day and per month, straight from the API usage data
- Statistics with charts: activity, token usage, question categories (auto-detected), "who writes more", fun badges (Night Owl, Model Hopper, Conversation Ghost...) and the most frequent words in AI replies
- Improved markdown rendering: protected code blocks with theme-aware colors, strikethrough, safer italics
- UI/UX overhaul: swipe from the chat to reach your conversation history, bottom pulley menu, message timestamps, typing-dots animation, live cover showing the latest answer and mini stats
- Automatic conversation titles and categories generated after the first exchange
- Fully translated: English, French, German, Spanish, Finnish, Italian

Features:
- Real-time streaming responses with Server-Sent Events (SSE)
- All current Mistral chat models, refreshed automatically from the API
- Multilingual interface: English, French, German, Spanish, Finnish, Italian
- Local conversation history with search, details and per-conversation stats
- Native Sailfish OS interface with Silica components
- Long-press a message for copy, pin, edit or regenerate
- Active cover showing the latest answer and mini stats

Requirements:
- Personal Mistral AI API key (free tier available at console.mistral.ai)
- Internet connection

Important Limitations:
- No sync with the Mistral web interface — conversations are stored locally on
- API key required — the app doesn't include a built-in key

Privacy:
- All conversations are stored locally on your device
- Your API key is stored in QSettings, isolated by Sailjail sandboxing
- No telemetry or analytics, no data shared with third parties
- Sailjail permissions: Internet, Pictures (image attachments), Documents (exports)

Getting Started:
1. Install the app
2. Get a free API key from console.mistral.ai
3. Open Settings and enter your API key
4. Start chatting!

Technical Details:
- Built with Qt 5.6 and Sailfish Silica
- Uses the Mistral AI REST API with SSE streaming
- MIT License - Free and open source

Support:
Report issues on GitHub: https://github.com/nicosouv/harbour-sailcat/issues

Developed with ❤️ for Sailfish OS

Screenshots: 
Application versions: 
AttachmentSizeDate
File harbour-sailcat-1.9.5-1.aarch64.rpm182.66 KB13/11/2025 - 13:55
File harbour-sailcat-1.9.5-1.armv7hl.rpm176.19 KB13/11/2025 - 13:55
File harbour-sailcat-1.9.5-1.i486.rpm189.15 KB13/11/2025 - 13:55
File harbour-sailcat-2.0.3-1.i486.rpm235.94 KB04/07/2026 - 12:40
File harbour-sailcat-2.0.3-1.armv7hl.rpm215.35 KB04/07/2026 - 12:40
File harbour-sailcat-2.0.3-1.aarch64.rpm222.84 KB04/07/2026 - 12:40
Changelog: 

v2.0.3:

- Image support (vision): attach a photo and let Pixtral or any vision-capable model analyze it
- Dynamic model list: fetched live from the Mistral API, with a quick model-switcher button next to the input field
- System prompt & personas: presets (Concise, Translator, Code assistant) or your own custom instruction
- Generation settings: temperature slider and response length limit
- Message actions: regenerate the last answer, edit and resend a message, pin messages (with a pinned-messages page), copy code blocks separately
- Export conversations as Markdown to Documents, or copy them as text
- Real token tracking: per conversation, per day and per month, straight from the API usage data
- Statistics with charts: activity, token usage, question categories (auto-detected), "who writes more", fun badges (Night Owl, Model Hopper, Conversation Ghost...) and the most frequent words in AI replies
- Improved markdown rendering: protected code blocks with theme-aware colors, strikethrough, safer italics
- UI/UX overhaul: swipe from the chat to reach your conversation history, bottom pulley menu, message timestamps, typing-dots animation, live cover showing the latest answer and mini stats
- Automatic conversation titles and categories generated after the first exchange
- Fully translated: English, French, German, Spanish, Finnish, Italian

 

v1.9.5:

- Real-time streaming responses with Server-Sent Events (SSE)
- All current Mistral chat models, refreshed automatically from the API
- Multilingual interface: English, French, German, Spanish, Finnish, Italian
- Local conversation history with search, details and per-conversation stats
- Native Sailfish OS interface with Silica components
- Long-press a message for copy, pin, edit or regenerate
- Active cover showing the latest answer and mini stats

Comments

norayr's picture

this app saves me from the browser, and apparently mistral is possible to use via api key without paying, with limits of course. i think all the rest, chatgpt certainly, only provides paid tokens. so without paying one needs to use web ui which is, again, painful.

also i am amazed by the speed.

norayr's picture

btw mistral did not ask me for a phone number.
on duck, i think they don't provide api, one only has to use the models via browser. which is a pain and loads lotn of js and eats all availabre memory.

norayr's picture

this is an amazisg app! thank you so much!

unmaintained's picture

This app is really pretty quick and very well designed.

Edit: Ah just realized, it's the same dev as SFOS Meetings, so no wonder.

trial's picture

Guys, are fine?! Haven't you noticed the "Pls." meaning "please" in plain english?!?
Don't U have nothing else to do but to get offended?! Since when is "please" an act of rudeness and disrespect?
10x in advance.

nicosouv's picture

Lol, no worries, I didn’t get offended.

I can’t change or rework a system I don’t own, so there isn’t much I can modify on the app side. Its purpose is simply to use Mistral AI, and that part is okay.
That said, I can try to add an option to use duck.ai as Fingus suggested. I initially focused only on Mistral AI (hence the app name for “Le Chat” by Mistral), but maybe I can change this when I find the time.

Anyway, thanks for the conversation, and have a great day! :)

explit's picture

Absolute agree with u @nicosouv. Some ppl. act so, as they bought something what not work. As a FOSS Dev. i would be totaly pissed off reading such comments...

trial's picture

No way I'm using a service requiring my phone. Pls. Rework.

nicosouv's picture

I double-checked and the app itself only requires the standard “Internet” permission, nothing more.

If your concern is about Mistral AI asking for a phone number to obtain an API key: that part is entirely on their side. My app is just a client for that service, and I clearly mention which API it uses.
If you don’t want to use a service that requires a phone number, that’s totally fine, but in that case this app won’t be a good fit for you.

Regarding the “Pls. Rework” wording: please keep in mind this is a free, open-source project made on personal time. I’m always open to constructive feedback, but I’d appreciate a more respectful tone.

Thanks.

nicosouv's picture

I might have messed up with the permission, my bad!

fingus's picture

Why not using free www.duck.ai ?
There you dont need an API-Key.

nicosouv's picture

Hello! Because I didn't know it was a thing! I'll take a look at it! Thanks

eson's picture

To get a free API key, they also require your phone number.

Just saying...