Skip to content

UnlikeOtherAI/kelpie

Repository files navigation

Kelpie icon

Kelpie

LLM-first browser for iOS, Android, macOS, and desktop work in progress.
Control real browsers via mDNS discovery, HTTP API, and MCP. AirPlay to Apple TV supported.

Website · Product Brief · Architecture · API Reference · CLI Reference


What it is

Native iOS, Android, and macOS browser apps paired with a Node.js CLI. Language models discover devices on the local network, then control them: navigate, screenshot, read DOM, click, fill forms, scroll, capture network traffic, evaluate JS. Works on real devices, simulators, and emulators. AirPlay an iPhone to an Apple TV and it appears as a second controllable device.

No emulators pretending to be phones. No persistent content scripts. No browser extensions. Real browsers on real hardware, fully controllable by LLMs.

Status

Target Status Notes
iOS Done Main mobile platform, actively usable
Android Done Main mobile platform, actively usable
macOS Done Desktop app is usable
Linux In progress Desktop shell exists, still evolving
Windows Not done Very much a work in progress. Not even worth launching yet
CLI Done Main control surface for devices

Install

npm install -g @unlikeotherai/kelpie

Published releases also attach Android artifacts plus Linux .tar.gz, .deb, .rpm, and .AppImage downloads. GitHub Pages publishes Linux package repositories for apt and dnf from the same release flow.

Quick start

  1. Build and run the iOS or Android app on a device or simulator
  2. kelpie discover — lists all Kelpie instances on your network
  3. kelpie navigate --url https://example.com — or connect your LLM via MCP

Key features

  • Real browsers — WKWebView (iOS/macOS), CEF (macOS), Android WebView, with native user agents
  • Apple TV support — AirPlay from iPhone/iPad to Apple TV, TV appears as a separate controllable device
  • mDNS discovery — devices advertise _kelpie._tcp, CLI auto-discovers them
  • HTTP + MCP API — navigate, screenshot, DOM, click, fill, scroll, JS eval
  • Group commands — send commands to all devices simultaneously
  • Annotated screenshots — numbered labels on interactive elements for visual-first automation
  • Safari / Chrome auth — one-tap login using saved passwords, cookies sync back
  • Network inspector — capture XHR and fetch traffic with headers, bodies, timing
  • Console capture — read console output and JS errors with stack traces

Architecture

  +-----------+    +-----------+    +-----------+    +-----------+
  | Kelpie  |    | Kelpie  |    | Kelpie  |    | Apple TV  |
  | (iPhone)  |    | (iPad)    |    | (Android) |    | (AirPlay) |
  | HTTP+MCP  |    | HTTP+MCP  |    | HTTP+MCP  |    | HTTP+MCP  |
  | mDNS      |    | mDNS      |    | mDNS      |    | mDNS      |
  +-----+-----+    +-----+-----+    +-----+-----+    +-----+-----+
        |               |               |               |
        +-------+-------+-------+-------+-------+-------+
                |               |
         +------+---------------+------+
         |      Kelpie CLI           |
         |      (Node.js / MCP)        |
         +-------------+---------------+
                       |
                  +----+----+
                  |   LLM   |
                  +---------+

Repository structure

apps/
  ios/          iOS app (Swift, SwiftUI, WKWebView) + Apple TV via AirPlay
  android/      Android app (Kotlin, Jetpack Compose, WebView)
  macos/        macOS app (Swift, SwiftUI, WKWebView + CEF)
packages/
  cli/          Node.js CLI and MCP server
docs/           Product brief, architecture, API reference, CLI docs

Documentation

Doc Description
Product Brief What, why, how, MVP scope
Architecture Components, data flow, protocols
Tech Stack Platform choices, dependencies
Feature Catalogue Every user-facing feature
API Reference All HTTP/MCP methods
CLI Reference Commands, flags, group operations

Sister projects

Kelpie uses AppReveal only for debug automation. The CLI helper and the in-app library are separate things, and the in-app SDK must never ship in release builds. See docs.md.

License

MIT

About

LLM-first browser for iOS and Android — control real mobile browsers via mDNS, HTTP API, and MCP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors