LiteLLM Chat

LiteLLM Chat

by Barry de Graaff

App

AI Chat using OpenAI-compatible LiteLLM proxy

About LiteLLM Chat

LiteLLM Chat is a native Ubuntu Touch chat client for users who run or have access to an OpenAI-compatible LiteLLM proxy.

To be able to use this you need to run your own LiteLLM proxy either in the cloud or on your own hardware. See: https://docs.litellm.ai/docs/


Chat with your LiteLLM models
- Configure the LiteLLM base URL, bearer/API token, and optional Sticky Instruction in Settings.
- Model discovery uses the OpenAI-compatible /v1/models endpoint.
- Starting a new chat always asks which model to use.
- Each chat keeps its selected model for the life of that conversation.
- Messages use the OpenAI-compatible /v1/chat/completions endpoint.
- Multiple files can be attached through Ubuntu Touch Content Hub. Images are sent as image_url data and other documents as LiteLLM-compatible file content blocks when the selected model supports them.
- Attachment buttons in user and assistant messages export files through Content Hub. Supported assistant file URLs and file IDs are downloaded on demand.
- Sticky Instruction is captured when the first user message of a new conversation is sent and is inserted as a hidden system message before the visible chat context. It is not shown as a chat bubble. Existing conversations keep the instruction they started with.
- A waiting request does not lock navigation: you can return to Chats, start another chat, change settings, or use clipboard controls while it runs.
- Different chats can have requests pending at the same time; the current chat exposes a Cancel button while it is waiting.
- The message composer is raised above the Ubuntu Touch on-screen keyboard so entered text stays visible.
- Dedicated Copy buttons place any user or assistant message on the system clipboard.
- User and assistant message bubbles use small rounded corners.
- A dedicated Paste button inserts system clipboard text into the chat composer.
- The initial fallback list includes the chat-capable models supplied for litellm.powercraft.nl development.
- Embedding-only model IDs such as nomic-embed-text are not offered as chat models.

Local history
- Chat history is stored only in this application's private local data unless you export a backup.
- Existing chats can be reopened from the main screen.
- Every chat has a delete button.
- All local chats can also be deleted from the hamburger menu.

Backup and phone migration
- Backup and restore is available from the hamburger menu.
- Configuration, Sticky Instruction, and local chat history are exported/imported as UTF-8 JSON through Ubuntu Touch Content Hub.
- Credentials/secrets are excluded by default. Sticky Instruction is normal configuration and is included in backups.
- Include credentials/secrets is optional and off by default.
- If enabled, the LiteLLM API token is written to the JSON in plaintext. Protect or delete that file after migration.
- Restoring a backup without secrets clears the current token so it must be entered again on the restored phone.
- Attachment metadata is included in chat history, but binary attachment files are not embedded in JSON backups.

Persistent settings
- The LiteLLM URL, API token, Sticky Instruction, and theme setting are persisted immediately when changed.
- Saving does not depend on application shutdown, destructors, close events, or Component.onDestruction.
- Native settings writes use QSettings::setValue(...) followed immediately by QSettings::sync().
- Configuration is stored under the writable package-ID-specific application configuration directory for litellmchat.barrydegraaff.
- The API token remains available after the app is killed without a clean shutdown, provided the settings operation returned successfully.
- A restart-persistence regression test is included in the source and uses the production settings store.

Ubuntu Touch integration
- Native Qt/QML application for Ubuntu Touch 24.04 on arm64.
- Square logo without pre-rounded corners so Ubuntu Touch/OpenStore can apply the user's selected corner treatment.
- Purple gradient background with a simple white chat/robot symbol.
- Light mode and dark mode.
- Hamburger menu at the top right.
- About dialog includes version 0.1.6.
- AppArmor requests only networking and Content Hub exchange permissions needed for API access, attachments, and JSON backup/restore.

Privacy
- no advertising
- no analytics
- no tracking
- no telemetry
- no developer-operated intermediary service in the app
- chat/model network communication only with the LiteLLM URL configured by the user; choosing Download on an assistant-provided external file link connects to that file URL
- chat history stored in the application's private local data
- API token stored in the application's confined settings
- API token excluded from JSON backup unless explicitly enabled

Current 0.1.6 scope
- Text chat plus file/image attachments for models that support them through LiteLLM chat completions.
- Non-streaming chat completions.
- Up to 20 MB per attachment and 40 MB total attachments per message.
- JSON backups include attachment metadata but not attachment binary files.
- No embeddings UI yet.
- No tool/function calling UI yet.
- No agent-control UI beyond selecting an exposed model ID.

LiteLLM Chat is not affiliated with or endorsed by the LiteLLM project or the providers of models exposed by a configured proxy.

This app was vibe coded using an AI. The source code is published for inspection and improvement.

LiteLLM Chat is released under MIT No Attribution, SPDX identifier MIT-0.

MIT No Attribution

Copyright 2026 Barry de Graaff

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Recent Changes

release

Permissions

  • Networking
  • Content Exchange
  • Content Exchange Source

Community Built

This app has been released under the Public Domain license.It is developed in the open and you can review the source code.

Content Rating

This app has not been rated

Self reported rating using Open Age Rating Service

Info

  • Published Date

    Aug 26, 2026

  • Updated Date

    Aug 26, 2026

  • Current Version

    0.1.6

  • Total Downloads

    37

  • Latest Version Downloads

    35

  • Supported Architectures

    arm64

Links

Reviews

No reviews yet!