Skip to main content

Tiles AI — a phone-home-screen control plane for AI agents. Register, activate, observe, and permission tiles.

Project description

🟩 Tiles AI

A home screen for your AI agents. Lay your agents out as tiles on a board, tap one to run it, and stay in control of anything it does.

CI License: MIT

Tiles AI — a home screen for your AI agents

What is it?

Think of your phone's home screen — but every app is an AI agent.

  • A board is a grid of tiles.
  • Each tile is one agent that does a single job — "summarize my inbox", "tidy this folder", "draft a reply".
  • Tap a tile and it turns green — running.

Tiles AI handles the parts around an agent — running it, watching it, asking your permission before it acts, and connecting it to your apps. You bring the agent's logic (plain Python, or wrap LangChain / CrewAI / the OpenAI SDK).

It's built for developers learning to build agents: start from a ready-made board and add your own tiles right from the screen.

Quick start

You'll need Python 3.11+ and Node 18+ (to build the board once).

git clone https://github.com/Manav020201/tiles-ai && cd tiles-ai
pip install -e ".[dev]"
npm --prefix frontend install && npm --prefix frontend run build
tiles up --echo

Open http://127.0.0.1:8000 — you'll see a starter board running on a free offline brain (no API key needed). When you're ready for a real model, run tiles up and connect a brain from the screen.

PyPI packaging is ready; once published this becomes pipx install tiles-ai && tiles up.

What you can do

Right away — no API keys:

  • Instant tiles — Ask, Summarize, Translate, Extract, Brainstorm.
  • Your files — summarize a folder, find files, or tidy a folder (it proposes the moves; you approve them).

Add your apps — GitHub, Slack, web search, Gmail, and anything with an MCP server (local or remote), via an API token or OAuth.

All from the board — no editor required:

Create a tile fill a form; Tiles writes the files for you
🔌 Connect an app paste its command; Tiles reads its tools automatically
🧠 Choose your model cloud (Anthropic / OpenAI) or local (Ollama)
Approve before it acts anything that writes or sends waits for your OK
Schedule & chain run a tile on a timer, or feed one tile's output into another
👀 Observe live activity per tile, and clear errors as you go

How it works

Three ideas:

Concept What it is
Tile an agent — a model + instructions + a permission level. The thing you tap.
Connector a reusable connection to one app (e.g. GitHub). Many tiles can share it.
Brain the model that powers tiles. Set one once; a tile can pin its own.

Permissions are built in. Every tile has a level: read-only (never acts), draft (proposes actions you approve), or autonomous. Green means running, not unsupervised.

Architecture (for the curious)
React board ──HTTP/SSE──▶ FastAPI ──▶ runtime ──▶ permission gate ──▶ connector ──▶ app
                                         └──▶ model adapter ──▶ brain (cloud / local)

Connectors talk to apps over MCP (stdio or HTTP). The full design is in SPEC.md.

Make your own tile

The easy way: click ➕ New tile on the board, fill the form, and open the generated handler.py to customize.

In code, a tile is a small folder with a manifest and one method:

from tiles_ai.contracts import ActionPlan, Tile

class MyTile(Tile):
    async def run(self, input, context) -> ActionPlan:
        answer = await context.model.complete(str(input))
        return ActionPlan(result=answer)

Full guide, including how to connect a new app: docs/AUTHORING.md.

Docs

Status

Active development; well-tested with CI on Python 3.11 and 3.12.

Already here: tiles chain (sequential flows), run on an interval schedule, and connect via OAuth (authorization-code) or API keys.

Refinements still to come: branching / fan-out flows (only linear chains today) · cron and event triggers (only intervals today) · automatic OAuth token refresh. Out of scope for now: hosting and multi-user.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tiles_ai-0.1.0.tar.gz (138.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tiles_ai-0.1.0-py3-none-any.whl (129.2 kB view details)

Uploaded Python 3

File details

Details for the file tiles_ai-0.1.0.tar.gz.

File metadata

  • Download URL: tiles_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 138.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiles_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ff8fd41db62b6cb09b7093219e4f7cd9cf250e094a35f7f15a849c7451cd98a
MD5 8d952a612928729338626015480db943
BLAKE2b-256 706a5f3a4970df4a87032b2f65ef5e22e351bb0e1b73c54b4bc2818f50658764

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiles_ai-0.1.0.tar.gz:

Publisher: release.yml on Manav020201/tiles-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tiles_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tiles_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 129.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiles_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4f8652edff0bd6aad9b80cd9cf5edda3a7976764477b600c1ad61c89ba5d6d6
MD5 cd3513bbb3bd350dfc86d06c8d0579d3
BLAKE2b-256 50123a037991d35cd2ea0d771ea3ec968ee8b60757d987fd317ace4bdebdb26c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiles_ai-0.1.0-py3-none-any.whl:

Publisher: release.yml on Manav020201/tiles-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page