omp packages

omp-mobile0.2.0

The computer side of OMP Mobile: runs oh-my-pi sessions and serves them to the phone app over Tailscale.

white-season Published 23 hours ago Apache-2.0 ~0 downloads/mo

Built for omp

The author tagged this package oh-my-pi.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

OMP Mobile logo

OMP Mobile

English · 简体中文

Your oh-my-pi sessions, on your phone.

OMP Mobile is a native phone app for oh-my-pi (OMP), with a small daemon on each computer. Start, follow and steer OMP sessions from the phone: transcript, tool calls, approvals, and the sessions you started in a terminal.

  • Native app: The app draws the transcript, tool cards, thinking, Markdown and composer itself, in OMP's own look (Geist, JetBrains Mono, the π mark). No WebView, no web page.
  • A transcript you can follow: each stretch of tool calls folds into one card that shows the step running now and sums itself up when done ("Edited 2 files, ran 3"); tap a step for its command, diff and output. The view stays on the newest message while you are at the bottom and stays put while you read back.
  • The whole transcript: images the user sent and images tools produce (screenshots, opened files), edit diffs with their intent, tool results, Markdown tables, OMP's todo list, context usage and queued messages.
  • Model switching: tap the model in the composer to pick from OMP's catalog — grouped by provider and searchable — and set its thinking level. The model chip follows the session when it changes.
  • Photos to the agent: attach photos from the library or the camera; they are downscaled on the phone and sent with your message.
  • Approvals on the phone: OMP's own tool approvals and questions arrive as a sheet, and the turn waits for your answer.
  • Terminal sessions: Sessions you started in a terminal on the computer are listed too and continue on the phone. One still open in a terminal waits until that terminal exits.
  • Notifications: Android notifications for approvals, questions, and finished turns while the app is in the background.
  • All your machines: Pair each computer by QR code and give it a name on the phone. Tap a chat's title for every session on every computer — searchable, with what needs you first. The app opens on the computer you used last; a reopened chat shows at once, also offline.
  • Tailscale only: The daemon listens on the computer's Tailscale address and admits only your own devices. No relay or cloud service of its own.
  • An OMP plugin: /mobile in OMP starts the daemon in the background and shows the pairing code. The daemon keeps running after the terminal closes.

Getting started

Prerequisites

  • On every computer: OMP 18.x
  • Tailscale signed in to the same account on the computer and the phone
  • An Android phone

Computer

Install the plugin into OMP on every computer:

omp plugin install omp-mobile

Then in OMP, run /mobile. It starts the daemon in the background, bound to the computer's Tailscale address, and shows a pairing code above the composer until the phone connects. The daemon runs on the Bun inside OMP and outlives the terminal and OMP; /mobile status shows it and /mobile stop ends it. Phone sessions start in the directory where you ran /mobile the first time.

Without the plugin, the same daemon runs from npm (Node.js 22.19 or newer) in the foreground: npm install -g omp-mobile, then omp-mobile --host tailscale --cwd ~/project. It prints the same code.

Phone

Install the APK from the releases page. In the app, tap Scan to pair and scan the code. Enter address takes the address and token by hand, or a pasted pairing link.

For notifications, open Settings → Notifications in the app.

A device on your Tailscale account that has the token can run anything OMP can on that computer.

Development

  • daemon: the computer side (Node.js), which runs OMP in RPC mode and serves the app
  • app: the phone app (Expo, React Native)
  • app/modules/omp-attention: the Android notification service (Kotlin)
npm install
npm run typecheck
npm test                         # daemon and app

npm start -w @omp-mobile/app     # Expo dev server

# Android APK (JDK 17, Android SDK); app/android is generated, not committed
cd app && npx expo prebuild --platform android --clean --no-install
cd android && ./gradlew assembleRelease

Against an emulator, run the daemon from the checkout with npm run daemon -- --host 127.0.0.1 and forward the port with adb reverse tcp:7390 tcp:7390. How the daemon works, its options and HTTP API, and the source map are in ARCHITECTURE.md.

A release is a v<version> tag on main whose version matches package.json, daemon/package.json, app/package.json and app/app.json, with a matching section in CHANGELOG.md. CI then publishes omp-mobile to npm and a GitHub Release with the APK.

License

Apache-2.0. OMP Mobile is not affiliated with oh-my-pi or Tailscale.