gitmyhub

Zetla

C++ ★ 1 updated 3d ago

Zetla - Local-first AI chat with voice, web search, RAG, and multi-provider support.

An Android app for chatting with an AI assistant that can also run Python code on-device, do offline voice chat, and search the web.

KotlinC++PythonAndroidVosksetup: hardcomplexity 5/5

Zetla is an Android app that lets you chat with an AI assistant directly on your phone, with several extra abilities built in beyond a normal chat window. It supports multiple AI providers, OpenCode Zen, DeepSeek, and NVIDIA NIM, and streams responses to the screen as they are generated rather than waiting for a full reply.

One of its more unusual features is that it can run Python code directly on the device. It bundles a self contained build of Python 3.14 with 93 modules, so the AI can write and execute code as one of its tools without needing an internet connection or a server. It also supports voice chat, using an offline speech recognition engine called Vosk to turn your speech into text, and Android's built in text to speech to read replies back, with a waveform shown on screen while you talk. For finding current information, it can search the web through an integration with EXA AI. The AI can also call other tools in a loop, up to twenty steps at a time, and shows its reasoning as it works. Beyond chat, the app can read and preview several file types, including plain text, CSV, PDF, Word, PowerPoint, and Excel files.

Under the hood, the app is split between a Kotlin and Compose based Android front end and a C++ native library that handles session management, encryption, parsing streamed responses, and automatically trimming long conversations to keep them manageable.

Building the project is involved: it requires Android Studio with a specific SDK and NDK version, MinGW-w64 for building some native dependencies on Windows, WSL running Ubuntu for building the Python binary, and Java 17 or newer. A setup script automates most of this. To use any of the AI providers you need to supply your own API key for each one you want to use.

The README lists a few known issues still being worked on, such as the app not always showing which capabilities a model supports, and a reasoning effort selector that does not yet affect requests properly.

Zetla is written mainly in C, with one star, and is released under the MIT license.

Where it fits