Open-source project
WSTxda/SwitchAI avatar
WSTxda/SwitchAI

SwitchAI picks an assistant by package name, and some of those names are guesses

Easily select, start, and manage your preferred AI digital assistants on Android.

1,477 stars66 forksKotlinGPL-3.0

At a glance

What is it?
WSTxda/SwitchAI is a Kotlin Android app that routes the system assistant trigger to whichever of 47 listed AI apps you choose. It identifies each target by package and class name, so its whole function rests on a list of strings the repository cannot prove correct.
Who is it for?
SwitchAI fits a specific setup: several AI assistant apps installed side by side, and a phone whose system assistant trigger is worth remapping on the fly. It does not fit anyone who wants a single assistant with its history in one place, because it is a router and owns no conversation state.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 29 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • WSTxda/SwitchAI1,477 ★ · +70
Star history
Repository2026-07-302026-11-14
WSTxda/SwitchAI1.4k1.5k

70 Stars in the last 107 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

Every assistant is launched by package and class name

The mechanism underneath SwitchAI is a lookup table. It stores the package and class name of each supported assistant, and when you trigger the system assistant feature it starts the app matching that string. The project's own warning spells out both halves of the consequence: availability may vary by region and device, and if an app is not installed you may see an error and be prompted to install it, which is why the note ends by asking you to make sure the apps are installed. Nothing in the repository describes how the identifiers were collected, how often they are re-checked, or what happens when an app changes its package name between versions. The list is the entire integration surface, and it is maintained by hand inside a README.

Eight of the 47 entries do not point at the Play Store

The supported list is presented as a column of Play Store links, which invites the reading that every entry resolves to a store listing by package id. Eight do not. Bixby links to samsung.com, Breeno to a ColorOS 16 page on coloros.com, XiaoAI to xiaoai.mi.com, Spark to a xinghuo.xfyun.cn address and Qingyan to a chatglm.cn download page, all of them vendor sites rather than store records. One entry, oxproxion, is not a Play Store app at all but a GitHub repository under a different account, stardomains3. Wenxin Yiyan links to apkpure.com, a third-party APK mirror, and is credited to Baidu. Two more, Yuanbao and Manus, point at vendor download pages. Whatever a store id does for verification, it does not apply to those entries.

Several package names do not carry the brand they are filed under

Doubao is filed under `com.larus.nova` and Dola under `com.larus.wolf`, two different ByteDance assistants sharing one vendor prefix that names neither of them. Marusya, credited to VK, is listed as `ru.mail.search.electroscope`. Manus, credited to Meta, is `tech.butterfly.app`, the same vendor prefix that appears in Monica's entry, which is itself credited to Butterfly Tech. Meta AI is `com.facebook.stella` and Home Assistant is `io.homeassistant.companion.android`. Some of these may be deliberate, since package names are often chosen long before a product is renamed, but a reader has no way to tell from the repository. A wrong identifier does not degrade gracefully: it produces the launch error the project's own warning describes.

The Development section contains nothing to develop with

A heading called Development opens onto two subsections, Donate and Inspiration, and no build instructions. Donate is a PayPal link and a Buy Me a Coffee link, both pointing at the maintainer's account. Inspiration credits an earlier project, Plugin-VoiceGPT, hosted on a branch inside this same repository. Between them they occupy the space where a contributor would expect to find how to compile the app. The tree does carry the pieces: `build.gradle.kts`, `settings.gradle.kts`, `gradle.properties`, the `gradle/` directory, and both `gradlew` and `gradlew.bat`. So the Gradle wrapper is committed and no command using it is documented, and no Android Studio version, JDK level or compile SDK is named anywhere in the text.

Download is two badges and a Telegram channel

The Download section is not a list of versions. It holds a link to the latest release, a second badge pointing at the Android Studio platform releases page, and a link to a Telegram channel, with no prose between them. There is no minimum Android version, no architecture list, no changelog and no per-release notes, which matters more than usual for a project whose entire job is matching other apps by identifier. The platform badge implies a compile target is tracked somewhere, but the value is never written down in the documentation. There is also no listing on an app store or a package index in the text, so the releases page is the only acquisition path the project names.

Three releases in eight months, none of them described

The published versions are 3.4.1 on 17 November 2025, 4.0 on 30 March 2026, and 4.1 on 11 July 2026. That is a major version bump in the middle and two minor gaps either side, with the branch itself last pushed on 30 August 2026. So the source tree has moved roughly seven weeks past the newest tag, and whatever changed in that window is reachable only by building from the branch. None of the three releases is described anywhere in the repository: the README has no changelog, no upgrade notes, and no statement of what version 4.0 changed, which is the sort of release a project like this most needs to write down, since an identifier list is exactly the kind of thing that goes stale.

The predecessor lives on a branch of the same repository

SwitchAI describes itself as a continuation of Plugin-VoiceGPT with extensive support for assistant apps and much more, and links to that project inside this repository on the `plugin-voicegpt` branch. The history is therefore reachable from the same clone, but the top-level tree of the main branch contains no trace of it: `.gitattributes`, `.gitignore`, `LICENSE`, `README.md`, `app/`, `images/`, the Gradle files and the wrapper. Nothing on the main branch says which parts of the current app were carried over, and no commit message trail is summarized in the documentation. Voice input survives as a feature name, and that is the visible thread back to the earlier project.

What the widget does, and what voice input does not

Two surfaces sit outside the selector itself. A home screen widget and a Quick Settings tile can launch either the selected assistant or the selector, so the choice is one tap away without opening the app. Voice input is listed as hands-free support for assistants that enable voice commands, which is a delegation rather than a feature: SwitchAI does no speech recognition itself, it routes to whichever target has that support, and the apps without it simply do not respond. The selector is offered per trigger as well as as a set default, so the same device can send one query to one assistant and the next to another. That is the whole product surface, and it contains no conversation history of its own.

Editorial conclusion

SwitchAI fits a specific setup: several AI assistant apps installed side by side, and a phone whose system assistant trigger is worth remapping on the fly. It does not fit anyone who wants a single assistant with its history in one place, because it is a router and owns no conversation state. Before relying on it, verify the package identifiers for the two or three apps you actually use, since a wrong string produces a launch error rather than a wrong answer, and check that your region carries those apps at all, which the project's own note leaves open. If you intend to build from source, note that the repository carries a Gradle wrapper and Kotlin DSL build files but documents no build command anywhere.

Frequently asked questions

What does SwitchAI do on Android?

It lets you select, start and manage your preferred AI digital assistants. You can pick an assistant each time you trigger the system assistant feature, or set a default, and the interface is built on Material 3 Expressive with a home screen widget and Quick Settings tiles. It is a Kotlin app released under GPL-3.0.

Which AI assistants does SwitchAI support?

The list names 47 assistants, including ChatGPT, Claude, DeepSeek, Gemini, Grok, Copilot, Perplexity, Poe, Alexa, Bixby, Home Assistant and Qwen, and the project describes the coverage as 40+ popular apps. Availability may vary by region and device.

What happens when an assistant app is not installed?

SwitchAI launches assistants using package and class names, so an app that is not installed produces an error and a prompt to install it. The project's own note asks you to make sure the apps you want are installed before relying on the selector.

How do I install SwitchAI?

The Download section offers a link to the latest GitHub release and a link to a Telegram channel, and gives no other installation instructions. No minimum Android version, architecture list or changelog is written down in the documentation.

Can SwitchAI be built from source?

The repository carries build.gradle.kts, settings.gradle.kts, gradle.properties, the gradle directory, gradlew and gradlew.bat. The Development section documents only a donation page and a credit to Plugin-VoiceGPT, so no build command, Android Studio version or JDK level is stated anywhere.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/wstxda-switchai.svg)](https://hysenlabs.com/projects/wstxda-switchai)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/wstxda-switchai.svg)](https://hysenlabs.com/projects/wstxda-switchai)

Was this useful?