{"id":51745294,"url":"https://github.com/dzianisv/opencode-mobile","last_synced_at":"2026-07-18T18:01:06.061Z","repository":{"id":358537114,"uuid":"1241773613","full_name":"dzianisv/opencode-mobile","owner":"dzianisv","description":"OpenCode Mobile — open-source Android client for the OpenCode AI coding agent. Run AI coding sessions from your phone against your self-hosted server over Tailscale. Available on F-Droid.","archived":false,"fork":false,"pushed_at":"2026-07-14T06:30:27.000Z","size":161310,"stargazers_count":21,"open_issues_count":24,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-14T08:14:51.464Z","etag":null,"topics":["ai","ai-agent","ai-coding-assistant","android","android-app","claude","coding-agent","developer-tools","expo","fdroid","llm","mobile-client","open-source","opencode","react-native","self-hosted","tailscale"],"latest_commit_sha":null,"homepage":"https://agentlabs.cc/opencode","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dzianisv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-17T19:52:10.000Z","updated_at":"2026-07-13T15:29:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dzianisv/opencode-mobile","commit_stats":null,"previous_names":["dzianisv/opencode-mobile"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/dzianisv/opencode-mobile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzianisv%2Fopencode-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzianisv%2Fopencode-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzianisv%2Fopencode-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzianisv%2Fopencode-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dzianisv","download_url":"https://codeload.github.com/dzianisv/opencode-mobile/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzianisv%2Fopencode-mobile/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35626138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-18T02:00:07.223Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agent","ai-coding-assistant","android","android-app","claude","coding-agent","developer-tools","expo","fdroid","llm","mobile-client","open-source","opencode","react-native","self-hosted","tailscale"],"created_at":"2026-07-18T18:00:39.679Z","updated_at":"2026-07-18T18:01:06.056Z","avatar_url":"https://github.com/dzianisv.png","language":"TypeScript","funding_links":["https://github.com/sponsors/VibeTechnologies"],"categories":[],"sub_categories":[],"readme":"# OpenCode Mobile\n\n**The open-source Android client for the [opencode](https://github.com/sst/opencode) AI coding agent.**\nAI-assisted coding from your phone — Android, via Google Play, F-Droid, or a direct APK.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![F-Droid repo](https://img.shields.io/badge/F--Droid-add_our_repo-1976D2?logo=f-droid)](https://dzianisv.github.io/opencode-mobile/fdroid/repo)\n[![Download APK](https://img.shields.io/badge/Download-APK-green?logo=android)](https://github.com/dzianisv/opencode-mobile/releases/latest)\n[![Google Play](https://img.shields.io/badge/Google_Play-Available-4CAF50?logo=google-play)](https://play.google.com/store/apps/details?id=cc.agentlabs.opencode)\n\n\u003e **Not affiliated with opencode.** OpenCode Mobile is an independent, community-built client and is\n\u003e not made by, endorsed by, or affiliated with the opencode / Anomaly team. It talks to an opencode\n\u003e server you run yourself, using opencode's open HTTP API.\n\n---\n\n**New: tap \"Try a Demo\" in the app to see the agent fix a real bug — reasoning, a grep, a diff, a permission prompt — in about 30 seconds, no server needed.**\n\n---\n\n## Install (Android)\n\nThere are **three working ways** to install OpenCode Mobile today, all for Android:\n\n1. **Google Play** — **https://play.google.com/store/apps/details?id=cc.agentlabs.opencode**\n\n2. **F-Droid (self-hosted repo)** — add our self-hosted repo to any F-Droid client, then install/update from there:\n   ```\n   https://dzianisv.github.io/opencode-mobile/fdroid/repo\n   ```\n   In the F-Droid app: **Settings → Repositories → + (add)** and paste the URL above. Current version: **v0.4.7**.\n\n3. **Direct signed APK** — download the latest release and install it manually:\n   **https://github.com/dzianisv/opencode-mobile/releases/latest**\n\n\u003e iOS is not available (see [Roadmap](#roadmap)). IzzyOnDroid submission is pending.\n\n---\n\nOpenCode Mobile is a React Native / Expo app that brings the power of the [opencode](https://github.com/sst/opencode) AI coding agent to your phone. Connect to your own self-hosted opencode server over your local network, a Cloudflare Tunnel, ngrok, or Tailscale — and write, review, and ship code from anywhere. The mobile client is **free and open-source** under the MIT license. There is no feature gate, no telemetry you did not opt into, and no ad network.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"distribution/demo.gif\" width=\"240\" alt=\"OpenCode Mobile demo — connect to your server, browse sessions, and watch the AI agent stream a reply\" /\u003e\n\u003c/p\u003e\n\n\u003csub\u003eReal on-device capture: add a connection, browse sessions, and watch the agent stream a response. Verified end-to-end on an Android emulator against a live opencode server (build cc.agentlabs.opencode).\u003c/sub\u003e\n\n---\n\n## Features\n\n- **Offline demo mode** — tap \"Try a Demo\" to see a full bug-fix walkthrough (reasoning → grep → diff → permission prompt) with zero setup, right from the empty state\n- **Multi-connection** — manage multiple opencode servers (local network, Cloudflare Tunnel, ngrok, or Tailscale)\n- **Biometric unlock** — Face ID, Touch ID, or Android fingerprint protects the app and individual message sends\n- **Streaming chat** — token-by-token streaming responses directly from your opencode server\n- **Diff viewer** — inline side-by-side diffs of every file change the agent makes\n- **Tool call approval** — review and approve (or reject) tool calls before the agent executes them\n- **Secure credential storage** — server credentials stored in the Android Keystore via `expo-secure-store`\n- **Session management** — browse, create, and resume coding sessions\n\n---\n\n## Get OpenCode Mobile\n\nPackage: `cc.agentlabs.opencode` · Android only · current version v0.4.7\n\n| Channel | Status | How |\n|---|---|---|\n| **Google Play** | **Live** | [play.google.com/store/apps/details?id=cc.agentlabs.opencode](https://play.google.com/store/apps/details?id=cc.agentlabs.opencode) |\n| **F-Droid (self-hosted repo)** | **Live** | Add [`https://dzianisv.github.io/opencode-mobile/fdroid/repo`](https://dzianisv.github.io/opencode-mobile/fdroid/repo) in your F-Droid client |\n| **Direct APK** | **Live** | [github.com/dzianisv/opencode-mobile/releases/latest](https://github.com/dzianisv/opencode-mobile/releases/latest) |\n| IzzyOnDroid | Submission pending | Not live yet |\n| Apple App Store / iOS | Not available | See [Roadmap](#roadmap) |\n\n\u003e The three live, supported install channels are **Google Play**, the **F-Droid self-hosted repo**, and the **direct signed APK**, all Android. IzzyOnDroid is pending, and there is no iOS build.\n\n---\n\n## Quick Start\n\n**Don't have a server yet?** Install the app and tap **Try a Demo** on the Sessions screen first — no setup required. It plays back a scripted bug-fix session through the app's real chat, diff, and permission-approval UI, offline, in about 30 seconds.\n\n**Step 1 — Start opencode on your machine**\n\n```bash\n# Install opencode (if you haven't already)\nnpm install -g opencode-ai\n\n# Run opencode in server mode\nOPENCODE_SERVER_PASSWORD=yourpassword opencode serve --hostname 0.0.0.0 --port 4096\n```\n\n**Step 2 — Install OpenCode Mobile** via [Google Play, F-Droid, or a direct APK](#install-android) (or build from source — see [CONTRIBUTING.md](CONTRIBUTING.md)).\n\n**Step 3 — Add a connection in the app**\n\nOpen the app, tap **Add Connection**, and choose your connection type:\n\n- **Local network** — your machine's LAN IP, e.g. `http://192.168.1.100:4096`\n- **Tunnel** — a Cloudflare Tunnel or ngrok URL, e.g. `https://my-opencode.trycloudflare.com`\n- **Tailscale** — your machine's Tailscale IP, e.g. `http://100.x.x.x:4096`\n- **opencode Cloud** *(planned — not yet shipped)* — one-tap managed hosting, no server to run\n\nEnter the password you set in Step 1, tap **Connect**, and you're in.\n\n---\n\n## How It Works\n\nOpenCode Mobile is a thin client. It speaks the opencode HTTP + SSE API: listing sessions, sending messages, streaming responses, and subscribing to file-change events. All AI model calls are handled by your opencode server — you bring your own API keys (OpenAI, Anthropic, etc.) and the app never touches them. The app never proxies your code or conversation through our servers.\n\n```\n┌─────────────────────────────────────┐\n│         OpenCode Mobile             │\n│  (React Native / Expo, this repo)   │\n└──────────────┬──────────────────────┘\n               │  HTTP + SSE\n               │  (local network / tunnel)\n               ▼\n┌─────────────────────────────────────┐\n│       opencode server               │\n│  (github.com/sst/opencode, MIT)     │\n│  Running on your laptop / VPS       │\n└──────────────┬──────────────────────┘\n               │  API calls\n               ▼\n┌─────────────────────────────────────┐\n│   Your AI provider                  │\n│  (OpenAI / Anthropic / Gemini / …)  │\n│  Your keys, your bill               │\n└─────────────────────────────────────┘\n```\n\n---\n\n## Project Status\n\n**Current version: v0.4.7**\n\n| Feature | Status |\n|---|---|\n| Offline demo mode | Stable |\n| First-run onboarding clarity | Stable |\n| Multi-connection management | Stable |\n| Session list + creation | Stable |\n| Streaming chat | Stable |\n| Diff viewer | Stable |\n| Biometric unlock | Stable |\n| Tool call approval UI | Stable |\n| Sentry crash reporting (opt-in) | Stable |\n| Cloudflare / ngrok tunnel wizard | Beta |\n| opencode Cloud one-tap connect | Planned |\n| iPad / tablet layout | Planned |\n| Offline session history | Planned |\n\n---\n\n## Supporters and Sponsors\n\nOpenCode Mobile is built and maintained by [VIBE TECHNOLOGIES, LLC](https://agentlabs.cc/opencode). GitHub Sponsors help cover Sentry, EAS Build, and CI costs (~$60/month). The opencode Cloud hosted backend (planned, $10/mo) is the long-term revenue model.\n\nIf OpenCode Mobile saves you time, consider sponsoring:\n\n**[github.com/sponsors/VibeTechnologies](https://github.com/sponsors/VibeTechnologies)**\n\n| Tier | Price | Perk |\n|---|---|---|\n| Supporter | $5/mo | Your name in `SUPPORTERS.md` |\n| Backer | $15/mo | Name + early access to opencode Cloud beta |\n| Business | $50/mo | Logo on [agentlabs.cc/opencode](https://agentlabs.cc/opencode) + quarterly support call |\n\nQuestions or private support: [support@agentlabs.cc](mailto:support@agentlabs.cc)\n\n---\n\n## Roadmap\n\nTracked on the [GitHub Projects board](https://github.com/dzianisv/opencode-mobile/projects) and in the [open milestones](https://github.com/dzianisv/opencode-mobile/milestones).\n\nNear-term priorities:\n- opencode Cloud one-tap connect + managed hosting\n- F-Droid mainline acceptance (FCM audit + reproducible build verification)\n- Tunnel setup wizard (Cloudflare / ngrok / Tailscale)\n- iPad / tablet layout\n- Offline session history cache\n\n---\n\n## Contributing\n\nWe welcome bug reports, feature requests, and pull requests. See [CONTRIBUTING.md](CONTRIBUTING.md) for how to set up a dev environment and the contribution process.\n\n---\n\n## Privacy\n\nOpenCode Mobile does not collect personal data. Optional Sentry crash reporting (opt-in, off by default) sends anonymised crash traces to Sentry. No analytics SDKs are bundled. Credentials are stored exclusively on-device in the OS keystore.\n\nFull privacy policy: [dzianisv.github.io/opencode-mobile/privacy](https://dzianisv.github.io/opencode-mobile/privacy/)\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n\nCopyright (c) 2026 VIBE TECHNOLOGIES, LLC\n\n---\n\n## Acknowledgments\n\n- [sst/opencode](https://github.com/sst/opencode) — the AI coding agent this app connects to (MIT)\n- [Expo](https://expo.dev) — the React Native toolchain powering the app\n- Every contributor who filed a bug, opened a PR, or starred the repo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzianisv%2Fopencode-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdzianisv%2Fopencode-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzianisv%2Fopencode-mobile/lists"}