Your OpenCode server, in your pocket.
OpenCode Mobile brings the full power of your self-hosted OpenCode AI assistant to your Android device. Chat with your models, manage conversations, and stay productive anywhere.
- Stay Connected: Access your OpenCode server from anywhere on your mobile device
- Seamless Conversations: Pick up where you left off with synchronized chat history
- Full Control: Connect to your own OpenCode server — your data, your rules
- Privacy-First: Keep your conversations private on your self-hosted infrastructure
- Fast & Native: Built with React Native for smooth, responsive performance
-
Download the app:
-
Connect to your server: Open the app and enter your OpenCode server URL (default:
http://ip:4096) -
Start chatting: Begin conversations with your AI models instantly
Want to build from source or contribute? See the Development section below.
- Real-time chat with your OpenCode models
- Conversation history and management
- Multi-model support
- Custom server configuration
- Streamed responses for natural conversations
- Clean, intuitive mobile interface
Check out screenshots and more details on the official website.
OpenCode Mobile is built with Expo and React Native.
- Node.js 20+
- npm
- Android Studio / Xcode for native builds
-
Clone the repository and install dependencies:
git clone https://github.com/alvarolorentedev/opencode-mobile.git cd opencode-mobile npm install -
Start the development server:
npm run start
-
For a development client build:
npm run start:dev-client
npm run lint # Run linter
npm run typecheck # Type checking
npm run test:e2e:web # End-to-end tests
npm run android # Build Android app
npm run ios # Build iOS appBuild a production Android release:
npm run build:androidBuild a development client:
npm run build:development:androidRelease Automation:
- Push to
mainto trigger Android release build and artifact upload - Push a version tag (e.g.,
v1.2.3) to trigger production Play Store upload - Use
workflow_dispatchfor manual internal-track uploads
- Flow validation runs against the fake OpenCode server in
tests/fake-opencode/server.mjs - End-to-end suite uses Playwright (
tests/e2e/flows.spec.mjs) - Full testing strategy documented in
TESTING.md
Connection settings are configured inside the app. By default, the app expects an OpenCode server at http://127.0.0.1:4096.
Local configuration files (.env, config.json) are gitignored for security.