Add two new docs-site landing pages targeting search intent not covered
by existing pages:
- try-demo/ — "try an AI coding agent with no setup / no server", built
around the real offline demo mode (scripted bug-fix walkthrough: login
button + keyboard bug, reasoning, grep search, diff, permission prompt).
Closes the gap between "curious about the app" and "willing to spin up
a server" — zero existing pages address the no-setup demo path.
- gpt-gemini-android/ — "run GPT / ChatGPT / Gemini coding agent on
Android", mirroring the existing claude-code-android page for the two
other major providers opencode supports. Claude has its own page;
GPT and Gemini did not.
Both pages match the existing docs-site template exactly (same CSS,
header/footer nav, OG/meta/JSON-LD pattern, favicon, canonical URL) and
are added to sitemap.xml. Ships live on the next `deploy-docs.sh` run.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Systematic trace of the activation funnel (store listing -> docs setup
guide -> in-app onboarding -> connect flow) after #113 showed a docs
404 bug had slipped through. Fixes found in this pass:
- README.md and CONTRIBUTING.md still told developers to run
`npm install -g opencode` (missing -ai), the exact 404 #113 fixed
everywhere else. Same package-name fix applied here.
- src/lib/diagnostics.ts: the health probe reported ok:true for any
resolved fetch, including 401/403/404/500 responses. A wrong
password or broken server therefore classified as "Health endpoint
responded - connection actually works now.", contradicting the
error shown right next to it. Health now requires a real 2xx;
root-reachability probe explicitly opts out (requireOk: false) to
keep its existing reachability-only semantics (already encoded in
diagnostics-classify.test.ts).
- docs-site/vs-termux: architecture explainer described
/session/{id}/events and /session/{id}/chat, neither of which
exists; the app actually uses /global/event and
/session/{id}/prompt_async (src/lib/sdk.ts).
- docs-site/features: opencode repo link pointed at
github.com/opencode-ai/opencode instead of github.com/sst/opencode,
the org used everywhere else in the docs.
- Stale "v0.4.3" version strings (README x3, docs-site/download x2)
bumped to v0.4.7, the actual latest shipped release confirmed live
on GitHub Releases and the F-Droid repo index. Fixed the associated
Android min-OS contradiction (7.0 vs 8.0+) to 7.0, matching the live
F-Droid manifest's minSdkVersion 24.
- Dropped stale "GPT-4" model naming on 3 docs-site pages, consistent
with the model-agnostic policy already applied to the Play listing
in #83.
See PR body for the found-not-fixed list (Play Console listing drift,
GitHub Sponsors not enabled, a Cloud-vs-waitlist messaging conflict)
that need a product/human decision rather than a code fix.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
npm 'opencode' returns 404 (does not exist); the real package is
'opencode-ai' (v1.18.3, bin: opencode). Three docs-site pages — including the
setup guide the app's empty state and demo CTA link to — told users to run
'npm install -g opencode', which hard-fails at step 1 and bounces them before
they ever connect. Every other place in the repo already uses opencode-ai.
Verified via npm registry. Corrects guide/, landing index, and
opencode-on-phone pages.
Claude-Session: https://claude.ai/code/session_01T12AhSnQVrSxNnvwfCx2z6
Co-authored-by: engineer <engineer@macbookpro.lan>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
- docs-site/index.html: add Vercel Analytics + Speed Insights CDN scripts
(only fires on opencode.agentlabs.cc served via Vercel, not GitHub Pages)
- scripts/triage-reviews.py: fetch recent Play Store reviews via Android
Publisher API, create GitHub issues for ≤3★ reviews not yet tracked
Run review triage manually on VM:
DAYS_BACK=7 GOOGLE_SERVICE_ACCOUNT_JSON=... GH_TOKEN=... python3 scripts/triage-reviews.py
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Shows every major screen: connect, sessions list, chat input,
tool calls streaming, file writes, completed result, settings/model.
01 - Add connection screen (onboarding)
02 - Sessions list loaded from server
03 - Session chat view with message sent
04 - AI tool calls streaming (reading files)
05 - AI writing TypeScript files to disk
06 - Completed session — hello.ts created
07 - Settings + model selection
Website updated to show all 7 in a tighter grid (max-width 260px).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Screenshots from CUA smoke test showing:
- 01: Sessions list loading real sessions from server on connect
- 02: Streaming AI response in a coding session
- 03: Sessions tab after navigating back (sessions_reload regression guard)
Demo: 10x speed video (138s → 14s) of full onboarding flow.
Website now shows <video> with mp4 source + gif fallback.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- full_description.txt: replace fluffy copy with concrete HOW IT WORKS steps,
TAILSCALE recommendation, explicit WHAT THIS APP IS NOT section, updated
support email to support@agentlabs.cc
- short_description.txt: 77-char tagline focused on opencode serve remote control
- docs-site/index.html: update meta description, og:description, twitter:description,
ld+json description, hero tagline, and 'What is OpenCode Mobile?' paragraphs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Built from the on-device verification capture (360px, 92KB, looping). Added to README
hero (top repo conversion surface) + docs-site/ and distribution/ for landing + launch
attachment. Demo media is the #1 conversion lever for HN/Reddit/PH — none existed before.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New high-intent SEO pages:
- /remote-access/ — step-by-step Tailscale, Cloudflare Tunnel, ngrok setups
for reaching a self-hosted opencode server from Android anywhere. HowTo +
FAQ + BreadcrumbList structured data.
- /ios/ — honest 'no iOS app yet' page: current Android app, why, options,
roadmap, how to follow. FAQ + BreadcrumbList structured data.
Added to sitemap.xml; internal links from index, guide, opencode-on-phone,
and troubleshooting.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Google 'opencode android' surfaces a 40+ comment Reddit thread ('best way to
setup opencode on phone') and not us. New high-intent page answers it directly:
HowTo + FAQ + Breadcrumb JSON-LD, 4-step setup, tunnel table, Termux contrast.
Linked from landing footer + in-content, added to sitemap (priority 0.8).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Visual proof above the fold-ish: 3 UI previews with captions + descriptive
alt text. Responsive flex strip, lazy-loaded. Conversion lever for first-time
visitors — landing had QR codes but no app visuals.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 long-tail pages targeting 'opencode vs chatgpt/copilot', 'vs termux',
'claude code on android'. Added to sitemap, footer nav, in-content links
from landing + guide + troubleshooting. All have canonical + install CTAs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Targets "opencode mobile features", "AI coding android", and
"opencode vs ChatGPT for coding" queries not covered by existing pages.
Includes SoftwareApplication + BreadcrumbList structured data.
Adds /features/ to sitemap and internal footer nav on all 5 pages.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Authentic troubleshooting content mapping the app's six connection-failure
diagnostics (malformed-url, no-internet, tls, health-failed, timeout,
server-unreachable) to concrete fixes. Targets real problem queries
('opencode mobile can't connect', 'opencode tailscale setup', 'network request
failed'). FAQPage + BreadcrumbList JSON-LD for rich results. Linked from landing,
guide, and download footers; added to sitemap.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Landing/guide/download descriptions were 257/246/217 chars and truncated in
Google results. Tightened to ~150 while keeping target keywords.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Targets 'download opencode android', 'opencode apk', 'opencode f-droid'.
Serves the live install channels (self-hosted F-Droid repo + signed APK)
with SoftwareApplication + BreadcrumbList structured data. Linked from
landing hero, landing footer, and guide footer.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>