openlolo
Health Pass
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 17 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Open-source AI assistant for iOS devices: Linux box service and box page
OpenLolo
OpenLolo is an open-source AI assistant for iOS devices by Sparky Idea Inc.
A small ARM64 Linux box (a Raspberry Pi works) is bound to one iPhone and lets AI agents
observe and operate it through Apple's CoreDevice services: native screenshots, touch,
a virtual keyboard, hardware buttons, and app and device information. Agents connect over
MCP; the owner approves every client and keeps control from the box page.
This repository holds everything that runs on the box:
openlolo/
├── apps/
│ ├── device/ # Box service: Python, uv. Ships as the GitHub Release tarball.
│ └── portal/ # Box page served by the device (React), built into the tarball
└── packages/
├── ui/ # Shared shadcn/ui components and styles
└── config/ # Shared TypeScript config
Install on a box
Supported platforms: Debian 13 ARM64 and Raspberry Pi OS 64-bit.
curl -fsSL https://openlolo.com/install.sh | sudo sh
The installer downloads the latest GitHub Release,
verifies its checksum, and starts the services. Add -s -- --no-remote for a LAN-only box.
The product overview, device details, and operating limits are in the
device README. Guides are published at openlolo.com.
Develop
Python (box service), run from apps/device:
uv sync --frozen --dev --extra mcp
uv run openlolo serve --simulate # no phone needed
uv run --extra mcp pytest -q
TypeScript (box page, shared UI), run from the repository root with Bun:
bun install
bun run --filter portal build # box page into apps/device/src/openlolo/web/portal
bun run check-types && bun run check # tsc and Biome
Shared UI
packages/ui holds the shadcn/ui primitives (Base UI, nova style) used by the box page.
Design tokens live in packages/ui/src/styles/globals.css. Add primitives with:
npx shadcn@latest add accordion dialog -c packages/ui
Hooks and formatting
- Initialize hooks:
bun run prepareanduv run --project apps/device pre-commit install - Run checks:
bun run check
Releases
Every v* tag builds the device tarball in .github/workflows/release.yml and publishes
it on the GitHub Release page, which install.sh installs from.
Contributing
Read CONTRIBUTING.md. Contributors are vouched before their first
pull request.
License
Apache-2.0 for this repository (LICENSE), except apps/device, which is
GPL-3.0 (apps/device/LICENSE) because it links to
pymobiledevice3. See
THIRD_PARTY_NOTICES.md.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found