Self-hosted · Open source · v0.x

A chat face for systems work on your machine.

Glassys puts a persistent chat in front of the coding agent that already runs on your host — Cursor, Claude Code, OpenCode, Codex or any ACP agent. Check services, read logs, free a disk, review the diff: from your phone or any browser.

Free and open source · Apache-2.0 · Linux and macOS

Works with the agent you already run

  • Cursor@cursor/sdk
  • Claude CodeAgent SDK
  • OpenCodeSDK
  • CodexSDK
  • GeminiACP
  • Any ACP agentregistry

Through each vendor’s local SDK or ACP — never print-mode, so the thinking stays visible.

How it works

Not the agent. The face it was missing.

Your agent keeps running on the host, with its own sign-in and its own tools. Glassys sits beside it: a Node gateway that speaks its SDK, turns the stream into a stable UI protocol and serves an app you can open anywhere.

  1. 01

    The agent, on your host

    Cursor, Claude Code, OpenCode, Codex or an ACP agent, working in a real git workspace with the host’s git, files and services.

  2. 02

    The gateway

    A Node user service on 127.0.0.1. It talks to the agent’s SDK, queues runs one at a time, keeps the transcripts and serves the app.

  3. 03

    The face, anywhere

    An installable PWA for the desktop and the phone. Close the terminal, lock the laptop: the run goes on and the thread is where you left it.

Open WebUI is to Ollama what Glassys is to your coding agent — the UI, not the runtime.

What it is not

  • Not an IDE or an editor: no Apply/Reject. The agent writes the disk; Glassys shows the thinking, the tools and the diffs.
  • Not a SaaS: every operator runs their own instance, on their own machine.
  • Not a terminal wrapper: no PTY, no xterm, no print-mode.

Features

Everything a run does, in one readable thread.

Built for operating a machine, not for pairing on application code: the transcript shows what the agent did to the host, and the host views show the host.

A transcript you can read at a glance

Thinking first, then the run. Consecutive tool calls fold into one band — “6 steps · 3 files +4 −2” — shell calls render as a terminal block, diffs get a sign channel, and text paints from the first token.

Host views

Overview, Services, Logs and Files beside the chat. They only read: Diagnose, Restart or Ask the agent draft a prompt, and the agent does the work.

Activity

⌘I lists every command the thread ran and how it ended, and every file it read or rewrote. Click a row to jump straight to that call.

Palette and saved operations

⌘K for threads, workspaces, restart, upgrade and your saved prompts. Type / in the composer for your slash templates.

Scheduled prompts and push

Cron or one-shot prompts, queued when the gateway is idle — and a Web Push notification when a run is done.

One app, two sizes

A persistent workspace rail on wide screens, a bottom tab bar on the phone. Dark, light or system; English and Spanish.

A composer that keeps your words

Attach, saved prompts, model and permission chips in one card. Stop takes send’s place mid-run, and a message the gateway did not confirm goes back into the box.

The interface

The same surface on the desktop and in your pocket.

Glassys on the desktop: workspace rail, a run folded into grouped steps with a diff, the composer, and the Activity panelGlassys on the desktop: workspace rail, a run folded into grouped steps with a diff, the composer, and the Activity panel
The workspace rail, a run folded into grouped steps with a diff, the composer at work and the Activity panel.

Security

Operator access, treated like operator access.

Glassys with auto-run and a host workspace is operator access to that machine. The defaults assume exactly that.

Read the security model

127.0.0.1 by default

The gateway binds to localhost. When you want a public URL, put Caddy or Cloudflare Tunnel in front of it.

Operator auth, always

A password of its own, even behind Cloudflare Access. Setup from another device asks for the one-time code the installer prints.

Its data directory stays shut

Secrets and sessions live in Glassys’s data directory, which the Files view never browses. Settings warns if your workspace sits inside it.

Sandbox and auto-run in plain sight

Both are visible in Settings. With auto-run off, Cursor’s Auto-review and ACP deny risky calls instead of running them.

Install

One command, then a wizard.

Run it on the machine the agent should operate. It installs a user service — launchd on macOS, systemd --user on Linux — so closing the terminal does not stop Glassys.

bash
$ curl -fsSL https://raw.githubusercontent.com/KN990x/Glassys/main/scripts/install.sh | bash
  1. 1Run the installer. It clones, installs, builds and starts the service.
  2. 2Open the gateway on the host, or use the link with the setup code from any other device. http://127.0.0.1:8787
  3. 3Set the operator password, pick the adapter and the workspace, and sign in to the agent’s SDK.

FAQ

Questions, answered.

Is Glassys an AI agent?

No. It does not infer and has no personality. Your coding agent does the work; Glassys is the chat in front of it — it shows the thinking, the tool calls and the diffs, and keeps the thread.

Is there a hosted version?

No. Glassys is self-hosted: every operator runs their own instance on their own machine. There is no Glassys account and no SaaS.

Which agents does it support?

Cursor (through @cursor/sdk), Claude Code (Claude Agent SDK), OpenCode, Codex and any agent in the ACP registry — Gemini included, through gemini --acp. The vendor’s CLI can stay installed; Glassys signs in through the SDK.

Can I use it from my phone?

Yes. The app is one surface at two sizes. Put Caddy or Cloudflare Tunnel in front of the gateway, open it on the phone and install it. Web Push needs HTTPS, and iOS only delivers push to an installed app.

Is there a Docker image? Windows?

Not today. Glassys runs as a user service on Linux (systemd) and macOS (launchd), because the agent needs the real workspace, the host’s git and your files. Windows is not a supported target yet.

Where does my data go?

Nowhere new. Transcripts, settings and secrets stay in Glassys’s data directory on your host. Glassys only calls Cloudflare if you turn Access on, and Web Push goes through your browser’s push service if you enable it. Your agent talks to its provider as it always did.

Is it free?

Yes. Glassys is open source under the Apache-2.0 licence. I build it in the open; if it saves you time, you can buy me a coffee.

Give your agent a face.

Install Glassys on the machine your agent already runs on, and pick the thread up from anywhere.