Skip to content

[FEATURE]: Offer the Android client source under MIT, yours to rebrand #62897

Open

Description

@Amnibro

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I am offering the source of an Android client that talks to an OpenCode server the user already runs. It is MIT, copyright 2026 Amniscient, so the license matches OpenCode. It is yours to take and badge as your own. Please keep a credit line: Originally built by Amniscient.

It is not OpenCode Mobile. You decide where it lives: in this repo under packages/, a separate repo you adopt, or a community link.

What 0.6.4 does: pair from opencode pair (scan the terminal QR, or paste the link, the {code,urls} JSON, or the bare code), list sessions, open one, follow live events, send a prompt, interrupt, and answer permission with once, always, or reject. Light and dark themes. If every address in the code is 127.0.0.1 and the phone has a computer address saved, it keeps the code, port, and path and retries on that address. opencode pair still prints 127.0.0.1 when the server is listening on 0.0.0.0. opencode pair --url http://<lan-ip>:<port> is the link a phone can open.

The UI is Kotlin and Compose. The session model is helium/app.amni in this tree, compiled to C and linked with the NDK. That file is MIT. The Helium compiler is not in the tarball. It stays Apache-2.0 and is cloned at build time from https://github.com/Amnibro/helium at 38a5e04940d85e27e26cf55cc3c7c4d90800cb0c. Fonts stay SIL OFL 1.1 (Inter and IBM Plex Mono). REBRANDING.md lists the launcher name, package id, icon, and theme colors, so renaming it to OpenCode is a few files. The icon is an original mark, not your logo.

From a checkout, with JDK 17, a C compiler, and Android SDK 35 (build-tools 35.0.0, NDK 27.2.12479018):

export ANDROID_HOME="$HOME/Android/Sdk"
bash tools/build-apk.sh

That writes dist/companion-debug.apk. I built this tree: unit tests and assembleDebug succeeded, versionName 0.6.4.

The debug APK allows cleartext HTTP to a private address. The release network config does not. FLAGS.md says so. tools/pair.py is an optional helper and is not part of the APK build.

#62721 is still the request to ship your Mobile app. This source is an offer of a different client. Your site still marks Android as coming soon.

Source: https://github.com/Amnibro/opencode-android-companion (public, MIT, one fresh commit, Helium included). Screenshots to attach: Connect, Sessions, and an open session, dark and light (connect-dark.png, connect-light.png, sessions-dark.png, sessions-light.png, session-dark.png, session-light.png).

Screenshots

Connect (dark)

Connect (dark)

Connect (light)

Connect (light)

Sessions (dark)

Sessions (dark)

Sessions (light)

Sessions (light)

Session (dark)

Session (dark)

Session (light)

Session (light)

Activity

  1. opencodejr commented on Nov 9, 2026

    @opencodejr

    Thanks for offering this, @Amnibro. To restate it: you're offering the source of your MIT-licensed Android client for OpenCode servers (pairing through opencode pair, sessions, live events, prompts, interrupt and permission replies) for the project to adopt and rebrand, whether under packages/, as a separate repo, or as a community link. The maintainers will look at it and decide whether and how to take it up.

    Related items:

  2. Amnibro commented on Nov 10, 2026

    @Amnibro
    Author

    Yes - I put together an android mobile compatible app in Helium and Kotlin, and validated that it pairs and communicated with a paired desktop session.

    I wasn't sure if the app was already in development or just planned, so I figured I would try to contribute.

    Feel free to use as much or as little of it as you'd like.

    Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions