AI-powered code generation and development tool — mobile client for OpenCode server.
Built with Flutter, targeting all platforms (android, ios, web, macos, linux, windows).
- Connect to any OpenCode server via URL, with password auth support
- Cloudflare Access OAuth — automatic Managed OAuth flow (RFC 9728) for servers behind Cloudflare Access, with system browser authentication and credential caching
- Project selection on first connect — pick your workspace
- Conversation UI — SSE-powered real-time messaging with rich message parts (text, code, diffs, tool calls, reasoning, agent details)
- Session management — create, select, and delete conversations
- Settings hub — browse server config, agents, commands, and providers
- Multi-language (English / Chinese)
- Material 3 design with light/dark system theme support
- Multiplatform — runs on mobile, desktop, and web
# Install dependencies
flutter pub get
# Run on your device/emulator
flutter run
# Build for release
flutter build
# Run tests
flutter test
# Lint and format
dart analyze
dart formatlib/
main.dart # App entry point
l10n/ # Localization ARB files
models/
oauth_credential.dart # OAuth credential model
opencode_server/
models.dart # Typed API models (null-safe)
opencode_server_client.dart # HTTP client for OpenCode server API
providers/
chat_provider.dart # Chat state management (ChangeNotifier)
services/
opencode_service.dart # OpenCode server API service layer
cloudflare_access_service.dart # Cloudflare Access OAuth (RFC 9728)
secure_token_storage.dart # Token persistence (~/.opencoder/)
pages/
connect_page.dart # Server URL / password entry
project_select_page.dart # Workspace selection after connect
home_page.dart # Main scaffold with drawer + chat
chat_page.dart # Live conversation view
settings_page.dart # Config, agents, commands, providers
widgets/
chat_message/ # Modular message part widgets
chat_config_bar.dart # Chat configuration bar
composer_status.dart # Live composer status indicator
diff_viewer.dart # Session diff viewer
message_input.dart # Chat input bar
model_selector.dart # Model selector widget
The app connects to a running opencode serve instance. See the OpenCode Server docs for server setup.
| Parameter | Default | Description |
|---|---|---|
| Server URL | http://127.0.0.1:4096 |
OpenCode server address |
| Password | (optional) | OPENCODE_SERVER_PASSWORD if set |
- OpenCode — AI coding agent
- OpenCode Server API — API reference
- this is a project derived from CodeWalk as it is publically archived, Helio Oliveira has the copyrights, and Charley Peng has the modified codes copyright.