I’ve been building Buddy, a free, open source (Apache 2.0) Android app. You type or say what you want in a floating bubble, and an AI agent reads the screen, taps and types through your apps to do it.

  • Your choice of agent: Claude Code, Codex, OpenCode, Antigravity or Grok, running inside the app (Alpine Linux via proot) on your own plan. OpenCode’s free models need no account.
  • No root, adb or PC: it reads the screen and taps through the accessibility service.
  • Asks first: before anything is sent, posted, bought or deleted. It pauses when you touch the screen and never types passwords or payment details.
  • Builds apps: with Linux tools on, it builds real APKs on the phone. This week I drew a maze on a paper towel, took a photo, and it made it a tilt game. The first build crashed on launch; it found the bug and fixed it.

To be upfront:

  • What the agent reads on your screen goes to the AI service you pick.
  • It’s early (2.2), tested most on a OnePlus 12 with Android 16.
  • It’s not on Play (Google rejected the accessibility use), so it’s an APK from GitHub releases, built by GitHub Actions from the source.

Source and releases: github.com/ghorbelhamdi/buddy-android

Happy to answer questions here.

    • Shatur@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      7 days ago

      Nice to hear!

      Please, ping me once you get the approval, I prefer F-Droid over Obtainium 🙂

        • Shatur@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          14 hours ago

          I tried it out, during setup I don’t see a way to select an OpenAI compatible provider. Is this an older version?

          • ghorbelhamdi@lemdro.idOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            13 hours ago

            It’s not in the first-run setup, it’s in Settings → API keys → Add API key. Pick Ollama, LM Studio or llama.cpp from the Service menu (or Custom for any other OpenAI-compatible address), put in your server’s address and leave the key empty. Then use it in an OpenCode chat. The 2.3.1 on F-Droid has it. More here: https://github.com/ghorbelhamdi/buddy-android#local-models

            • Shatur@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              2
              ·
              11 hours ago

              Ah, I see. Maybe it would make sense to allow users to select the option like llama.cpp from the start? In Zed editor, for example, Llama.cpp is one of the “providers”.

              After adding it, I still see “Install Claude Code” as one of the setup steps. Do I still need to install it?

              Sorry for not trying it earlier, I was quite busy last week 🙂

              • ghorbelhamdi@lemdro.idOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                5 hours ago

                You were right, so 2.3.7 has it: the setup guide now offers “Local model” from the start. It sets up OpenCode, asks for your llama.cpp / Ollama / LM Studio address and makes that the default. It’s on GitHub now, F-Droid follows in a few days.

              • ghorbelhamdi@lemdro.idOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 hours ago

                Fair point. You do still need one agent, since it’s what talks to the model. For local I’d use OpenCode (free, no account); Codex works too. Set Default brain to OpenCode in Settings, install it, and pick your llama.cpp model in a chat. No need for Claude Code, that step only shows because it’s the default agent. Thanks for trying it 🙂