Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature Request] Add support for custom assistant

Open
#97 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
android, kotlin
Domain
mobile

Research direction

Start by reading the assistant selector and launch flow, especially AssistantsMap, AssistantResourcesManager, and openAssistant(intents, errorMessage), then compare how existing assistants are registered and launched. The issue proposes both adding Notion AI and a preference-backed custom assistant with a package name and activity or deep link; done means users can select and launch those assistants, with a suitable label and fallback icon. No specific test or file paths are provided.

Written by the indexing model from the issue text.

Description

enhancement TODO

Part 1 — Notion AI

App: Notion: Notes, Tasks, AI by Notion Labs
Package: notion.id

Notion ships a full AI assistant (chat, camera, and voice modes) inside its mobile app, and exposes them through a dedicated "AI shortcuts" home screen widget on Android (docs). For people whose primary AI lives in their Notion workspace, it's the assistant they'd actually want on the assist gesture — but Notion doesn't implement ROLE_ASSISTANT itself, so SwitchAI is the only way to get there.

Part 2 — Custom assistant via manual package name (the more general ask)

Right now every supported app needs a hardcoded AssistantActivity subclass, two entries in AssistantsMap, a manifest declaration, a string, and two array entries. That's a clean design, but it means every long-tail app has to route through you.

Would you consider a single "Custom" entry in the selector where the user supplies:

  • package name (required)
  • activity class name or a deep-link URI (either one)
  • optional display label

…stored in preferences and launched through the existing openAssistant(intents, errorMessage) path? AssistantResourcesManager already falls back to ic_assistant_default and a derived display name when no matching resource exists, so the icon and label sides seem largely handled.

This would cover cases like Notion AI, region-locked apps, self-hosted front-ends, and any new AI app that appears between releases — without adding maintenance burden on your side. Curated built-ins would stay the recommended path; the custom slot would just be an escape hatch.

Thanks for the app — the Material 3 Expressive selector plus the QS tile is by far the cleanest way to hang a non-Google assistant off the assist gesture.

Dominant language
Kotlin
Stars
1.4k
Forks
64
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from WSTxda/SwitchAI

All issues in WSTxda/SwitchAI

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.