ci(play): production track input + launch kit + F-Droid metadata fix (#19)

* ci(play): add track/status inputs to publish workflow

Lets the Play publish run target a public track (production/beta) and
choose draft vs completed, instead of being hard-wired to internal.
Defaults stay internal/completed so tag-push and release triggers are
unchanged. Enables promoting the app to a publicly-downloadable track —
the prerequisite for any real download growth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(play): record user authorization for production go-live

* docs(fdroid): correct metadata to cc.agentlabs.opencode + agentlabs.cc, flag post-rename tag gate

The fdroiddata submission still referenced the old package ai.opencode.mobile
and v0.3.1. Update package id, website, and document the real blocker: F-Droid
mainline needs a release tag built AFTER the package rename (v0.4.1 APK is the
old id) plus Play production live and a reproducible build. Signing fingerprint
is unchanged across the rename.

* docs(launch): ready-to-fire distribution kit (Show HN, Reddit, PH, X, dev.to)

Copy-paste launch posts + ordered fire checklist so distribution starts the
moment the public listing is live. Store URLs left as {{PLAY_URL}}/{{FDROID_URL}}
placeholders; web hub agentlabs.cc/opencode is live now.

---------

Co-authored-by: engineer <engineer@opencode.ai>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Den
2026-06-01 15:32:19 -07:00
committed by GitHub
parent 3bd6f6e1ab
commit 14e858a402
9 changed files with 432 additions and 14 deletions

View File

@@ -0,0 +1,46 @@
# Show HN: OpenCode Mobile – Android client for the opencode AI coding agent
**Title:** Show HN: OpenCode Mobile – drive your self-hosted AI coding agent from your phone
---
Hey HN,
I built a React Native / Expo Android app that lets you control a running [opencode](https://github.com/sst/opencode) session from your phone.
**What it does**
opencode (sst/opencode, MIT) is a terminal-based AI coding agent — you run it on your laptop or a server, it talks to Claude / GPT-4 / Gemini via your own API keys, and it writes, edits, and runs code through tool calls. The mobile app is a thin HTTP + SSE client that connects to the opencode server process. From your phone you can:
- Watch token-by-token streaming output as the agent reasons and codes
- Review inline file diffs before they're committed
- Approve or reject tool calls (file writes, shell commands) in real time
- Start, resume, and switch between sessions
- Connect over local Wi-Fi, Cloudflare Tunnel, ngrok, or Tailscale
**Why I built it**
I run long opencode sessions that outlast my desk time. I wanted to check in from the couch, approve a tool call, and let the agent keep going. Every alternative — SSH + terminal app, plain Claude/GPT apps — loses the structured session state. The opencode HTTP API is already there; the phone just needed a proper client.
**How it's built**
- React Native + Expo SDK 52, TypeScript throughout
- SSE streaming via `EventSource` polyfill (React Native lacks a native one)
- Diff rendering with a custom line-level parser; no WebView
- Biometric auth via `expo-local-authentication` gates the app and individual sends
- Credentials in iOS Keychain / Android Keystore via `expo-secure-store`
- CI builds a signed AAB on every tag via GitHub Actions + EAS
**What it is not**
It's not a standalone AI model and not a code editor. You need a running opencode server. If you already use opencode, setup is: `npm install -g opencode-ai && opencode serve`, then paste the URL in the app.
**Status**
Stable on Android. MIT licensed. Play Store listing live (internal track, working toward production). F-Droid submission in progress.
Source: https://github.com/dzianisv/opencode-mobile
Landing page: https://agentlabs.cc/opencode
Play Store: {{PLAY_URL}}
Happy to answer questions about the SSE streaming implementation, the Expo build pipeline, or the opencode API surface.