Run opencode serve on your dev machine, chat with AI coding sessions from your phone. On the commute, at a café, in bed — streaming responses, permission approvals, multi-project switching, all without modifying OpenCode, using only its official API.
KKCode fully wraps the OpenCode official API, giving you the same session experience on mobile as on desktop.
AI text, reasoning traces, tool calls, and file I/O pushed to your screen in real time — same typewriter effect as desktop. Auto-reconnects on drop.
When AI wants to read files, edit code, or run commands, a prompt pops up. One tap — Allow Once / Always / Reject — keeps you in full control.
Server address, username, and password are encrypted and stored locally on your device — never sent to any third-party server.
Automatically lists all project directories on your dev machine. Switch with one tap; sessions are fully isolated between projects.
Create, delete, and long-press for more options. History is always accessible; resume any previous conversation with full context.
Live nav-bar badge shows Connected / Connecting / Error — network issues are always visible.
KKCode isn't a clone of OpenCode — it's a remote control. We only call OpenCode's official API. All AI inference, file I/O, and command execution happen on your dev machine; the phone just renders and confirms.
Run opencode serve on your dev machine. It exposes OpenCode's built-in HTTP API.
Public IP is easiest; no public IP? Use Tailscale / WireGuard / Cloudflare Tunnel / frp / ngrok — any tunnel works.
Enter your server URL and password in KKCode. Credentials are encrypted locally.
Pick a project directory, open a session, send a prompt — all responses come from your own dev machine.
Prerequisite: opencode is already installed on your dev machine.
# Set a random access password
OPENCODE_SERVER_PASSWORD='your-password' \
opencode serve \
--hostname 0.0.0.0 \
--port 4096
# Pick one that lets your phone reach the dev machine:
# A · Public IP (easiest)
http://your-public-ip:4096
# B · Tailscale / WireGuard
http://100.x.x.x:4096
# C · Tunnel
# Cloudflare Tunnel / frp /
# ngrok / etc.
# Fill in KKCode's connection screen:
Server URL = http(s)://your-address:4096
Username = opencode
Password = <password from Step 1>
# Credentials are encrypted on-device
Tip: If exposing to the public internet, strongly recommend an HTTPS reverse proxy (Caddy, Nginx, or Cloudflare all work) and a strong password.
Available on the App Store. Android coming soon.