* chore: repoint OpenCode links to agentlabs.cc/opencode agentlabs.cc/opencode and /opencode/privacy are now live (200). Repoint README, distribution listings (Play/App Store/F-Droid/IzzyOnDroid/iOS), docs, and in-app privacy links (settings + telemetry consent) from www.vibebrowser.app/opencode to the canonical agentlabs.cc hub. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ci): run local opencode server for CUA smoke true-E2E (#15) GitHub-hosted runners can't reach the Tailscale dev server (100.108.64.76:4096), so the CUA smoke always failed at session creation. - Install opencode-ai and run `opencode serve` on the runner host; the Android emulator reaches it via 10.0.2.2. OPENCODE_URL now points there. - Healthcheck /global/health before launching the app; dump server log on failure for diagnosis. - Add --only-connect-scenario to the smoke script and run just the connect-and-verify-sessions path in CI: deterministic, needs no model backend. The scenario now creates a session if the list is empty, so a fresh server still yields a non-empty list. This makes the smoke a true E2E and also exercises the #10 sessions-list rendering path against a real server. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ci): emulator smoke script is dash, not bash — drop brace-group healthcheck android-emulator-runner runs the script: block under /usr/bin/sh (dash). The multi-line `|| { ...; }` healthcheck was a dash syntax error (end of file unexpected), failing the step before the smoke ran. Replace with a non-fatal one-line re-check; the server was already health-gated in the prior step. * docs(tasks): record smoke CI round 1 failure + dash fix --------- Co-authored-by: engineer <engineer@opencode.ai> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
108 lines
4.2 KiB
YAML
108 lines
4.2 KiB
YAML
# F-Droid metadata for ai.opencode.mobile
|
|
# Target file path in fdroiddata: metadata/ai.opencode.mobile.yml
|
|
#
|
|
# BEFORE FILING THE MR:
|
|
# 1. Replace <SIGNING_KEY_SHA256_FINGERPRINT> with the actual colon-separated hex fingerprint
|
|
# (found in distribution/SIGNING-KEY-FINGERPRINTS.md)
|
|
# 2. Replace <FIRST_GITHUB_RELEASE_TAG> with the first tag that has a signed APK attached
|
|
# (e.g. v0.2.4)
|
|
# 3. Verify the build steps produce a matching APK against AllowedAPKSigningKeys
|
|
#
|
|
# Do NOT file this MR until:
|
|
# - First Google Play release is live (establishes signing key in production use)
|
|
# - Sentry opt-in gate is merged to main (anti-feature Tracking avoided)
|
|
# - You have the exact colon-separated SHA-256 key fingerprint confirmed
|
|
|
|
Categories:
|
|
- Development
|
|
|
|
License: MIT
|
|
|
|
AuthorName: VIBE TECHNOLOGIES, LLC
|
|
AuthorEmail: support@vibebrowser.app
|
|
|
|
WebSite: https://agentlabs.cc/opencode
|
|
SourceCode: https://github.com/dzianisv/opencode-mobile
|
|
IssueTracker: https://github.com/dzianisv/opencode-mobile/issues
|
|
Changelog: https://github.com/dzianisv/opencode-mobile/releases
|
|
|
|
Summary: Drive your self-hosted AI coding agent from your phone
|
|
|
|
Description: |-
|
|
OpenCode Mobile is a free, open-source (MIT) client for the opencode AI coding
|
|
agent (sst/opencode). Connect to your self-hosted opencode server and drive
|
|
AI-powered coding sessions from your phone — no proprietary backend, no mandatory
|
|
accounts, no tracking by default.
|
|
|
|
'''Key features'''
|
|
|
|
* Multiple connection types — local network, secure tunnels (Cloudflare, ngrok),
|
|
or any self-hosted opencode instance
|
|
* Biometric unlock — fingerprint / PIN to keep your sessions private
|
|
* Real-time streaming chat — watch your AI agent think and respond live
|
|
* File diff viewer — see exactly what code changes the agent proposes
|
|
* Multi-session management — start, resume, and switch between coding sessions
|
|
* Tool call approval — review and approve agent actions before they run
|
|
|
|
'''Self-hosted first'''
|
|
|
|
The app requires your own opencode server. Your AI traffic goes directly to your
|
|
backend (Claude, GPT, Gemini, local models — your choice). No middleman required.
|
|
|
|
An optional hosted backend ("opencode Cloud") is planned as a future paid service,
|
|
but the client is always free and fully functional without it.
|
|
|
|
'''Crash reporting'''
|
|
|
|
Sentry crash reporting is opt-in with default OFF. Code, prompts, and AI responses
|
|
never leave your own server.
|
|
|
|
'''Anti-features'''
|
|
|
|
NonFreeNet: the opencode server you connect to may connect to proprietary AI
|
|
services (OpenAI, Anthropic, Google). The app itself contains no proprietary
|
|
network code.
|
|
|
|
AntiFeatures:
|
|
NonFreeNet:
|
|
en-US: >-
|
|
The app connects to a user-self-hosted opencode server which may in turn
|
|
connect to proprietary AI services (OpenAI API, Anthropic API, Google Gemini).
|
|
The app itself is fully open source and does not require any specific provider.
|
|
|
|
RepoType: git
|
|
Repo: https://github.com/dzianisv/opencode-mobile
|
|
|
|
Builds:
|
|
- versionName: '0.3.1'
|
|
versionCode: 2
|
|
commit: v0.3.1
|
|
subdir: android
|
|
sudo:
|
|
- apt-get update
|
|
- apt-get install -y nodejs npm
|
|
init:
|
|
- npm install --prefix .. --legacy-peer-deps
|
|
- npx --prefix .. expo prebuild --platform android --non-interactive
|
|
gradle:
|
|
- release
|
|
ndk: 26.1.10909125
|
|
# Node 20+ required for Expo SDK 52+
|
|
# prebuild regenerates android/ from app.json + package.json
|
|
# The signed AAB/APK is then compared against AllowedAPKSigningKeys
|
|
prebuild:
|
|
- cd .. && npm install --legacy-peer-deps
|
|
- cd .. && npx expo prebuild --platform android --non-interactive
|
|
|
|
# AllowedAPKSigningKeys pins our release signing key.
|
|
# F-Droid will serve our pre-signed APK rather than re-signing with their key.
|
|
# This requires reproducible builds (identical output across machines).
|
|
AllowedAPKSigningKeys: 0c259d94e0ffea5d6319614b229d4b6bdc22de1f56e38e76948398d2df6aa099
|
|
|
|
AutoUpdateMode: Version v%v
|
|
UpdateCheckMode: Tags
|
|
UpdateCheckData: https://raw.githubusercontent.com/dzianisv/opencode-mobile/main/app.json|"version":\s*"([^"]+)"|.|.
|
|
|
|
CurrentVersion: '0.3.1'
|
|
CurrentVersionCode: 2
|