COS Glasses · Setup

Your glasses, live in about 10 minutes.

Three steps: run the server on your Mac, connect the app on your iPhone, say your first prompt. No decisions required up front — everything is tunable later.

Check these before you start

Came here from the Even Hub? You already have the app half — the server in Step 1 below is the missing piece.

Three steps, smart defaults

Get the glasses live now; tune anything later in Settings. This setup is the same whether or not you already run a COS.

ModelSonnet (swap anytime)
VoiceBalanced local (Small preview · Turbo commit · Large-v3 HQ)
On the lensMinimal (clean default)
ContextInherits your COS (if you run one)

Prefer a menu bar app? Download COS Control for Mac for guided setup, launch at login, Doctor, safe updates, and rollback.

1 · On your Mac — start the server
$ npx --yes @gotcos/glasses-server@latest --setup-transcription --transcription-tier balancedclick to copy

Keep the terminal open. The server prints your server URL (Tailscale and Wi-Fi addresses, labeled) and your API token — you'll paste those into the app in Step 2. The token is saved to ~/.cos-glasses/.env. For transcription, install whisper-cpp first and have about 6 GB free; setup verifies space, then provisions Small.en preview, Turbo commit, and Large-v3 HQ models. For optional local spoken replies on Apple silicon, run brew install python@3.12 ffmpeg espeak-ng; the server validates and self-repairs its pinned Kokoro environment.

2 · On your iPhone — install and connect
  • Open the Even Realities app → Even Hub → install COS Glasses.
  • Open it and enter the server URL + API token from your terminal (or tap "I have a COS username" and skip the typing).
  • Tap Connect.
3 · Prove it
  • If the terminal showed LOCAL VOICE NOT READY, run brew install whisper-cpp, stop COS with Ctrl-C, and rerun the server command before tapping the mic.
  • Tap the mic and ask anything — try "What should I focus on today?"
  • Watch the answer stream onto the lens in green. That's your COS, live on your face.
  • Optional photo proof: tap the camera, stage one photo, ask "What am I looking at?", then open its phone gallery. Turn on Lens images to test the manual G2 preview.
Already run a COS from the Starter Kit? Run the command in Step 1 from your COS folder — the server detects it and glasses chat loads that brain automatically. New to COS? The glasses run great on their own; set up the full system anytime at gotcos.com.
Never babysit the server again. Have your COS create a /cos-glasses skill — ask it: "add the /cos-glasses skill from the Starter Kit." Then /cos-glasses starts the server, health-checks it, keeps it on the latest release, and troubleshoots connection issues for you. Grab it at skills/cos-glasses.md.
Pick up where the glasses left off. Add the /glasses-day skill and your COS pulls the day's glasses questions and answers into your desk session — so anything you asked on the go becomes something you can act on. Grab it at skills/glasses-day.md.

Want to tune model, context, and the lens? Make it yours below. Not technical? Have me set it up.

Make it yours — model, context, lens (optional)

Nothing here blocks setup — the glasses run great on the defaults. Tune when you're ready; every pick renders a personalized checklist at the bottom.

How will you use them?

Pick all that apply. Everything below tunes to your answer.

Pick your default brain

A soft default, not a commitment — every model stays available per query, by voice or from the toolbar. Opus, Fable, and Sonnet follow Claude Code; GPT Frontier and GPT Balanced follow the newest capable Codex generation automatically.

No per-token cost on chat. Chat runs on the Claude Code and/or Codex plans you already have. Install both engines and all five brains stay available — the server uses whichever is present. Voice is separate; see Compute below.

Who is it working for?

This grounds the COS so it knows your job. Lives in your config, never in the code.

This directly improves transcription. COS feeds these spellings to the decoder. Factory examples are ignored, so an untouched profile can no longer bias Whisper toward literal placeholders such as NameOne or YourCompany.

What context should it see?

Wire the sources you live in. We pre-select what fits your use cases. Adjust freely.

Where does it run, and how does voice work?

The server runs on your Mac. Your keys, your machine. Pick how voice is transcribed.

Live transcription tier

Spoken replies are separate from transcription. Server 6.15.3 provides Local (Kokoro), Local-first, and OpenAI speech engines. Explicit Local fails closed and never calls OpenAI. Local-first can fall back only after a local failure and only when your own OpenAI key and budget are configured. Check tts_local.ready in /api/health.
Balanced is the recommended setup. Small.en produces provisional prompt words quickly, Large-v3-Turbo commits the authoritative live transcript, and Large-v3 polishes saved work. Max is opt-in and reuses the existing Large-v3 worker for live commit. A missing Max model falls back visibly to Turbo instead of breaking transcription.
Phone to Mac: connect both over a secure mesh (Tailscale recommended) so the glasses reach your server from anywhere. The setup below covers it.
Photos stay local: install ffmpeg on the Mac for normalized phone uploads, private answer-image galleries, and exact 288×144 G2 previews. Images never need a COS-hosted cloud.

What shows on the lens?

Your default layout. Adaptive switches it by context.

Lens images are manual and off by default. Turn them on from the phone companion. Photo messages end with a cover page; a deliberate two-tap confirmation opens the image. Meetings and microphone-critical states always win.

Your COS Glasses, ready to set up

Make your picks above and your personalized setup appears here.

ModelSonnet (default)
VoiceLocal whisper (free)
Context wired·
On the lensMinimal
1 · Start your server (self-host)
$ npx --yes @gotcos/glasses-server@latest --setup-transcription --transcription-tier balancedclick to copy

The app half installs from the Even Hub on your iPhone — covered in Step 2 of the setup above.

2 · Set your identity (server profile)
click to copy# ~/.cos-glasses/.cos-profile.json { "owner_name": "User", "vocabulary": [], "system_prompt_context": "Your Role" }
3 · Turn these on in the app
  • Set Default chat model to your pick in the app's Settings.
  • Wire context sources via MCP in the COS folder your server runs from.

No spam, unsubscribe anytime.

Want it done for you? Have me set it up.

Detailed setup & troubleshooting

What you need

  • Even G2 smart glasses paired with the Even Realities app
  • Claude Code and/or Codex CLI on your Mac — install both if you can; the server uses whichever is present. Claude Desktop is not the CLI. For Opus/Fable/Sonnet, run npm install -g @anthropic-ai/claude-code without sudo, then run claude and finish sign-in. GPT Frontier/Balanced need Codex.
  • Node.js 20.11+nodejs.org
  • ffmpeg for phone and answer images — brew install ffmpeg
  • Tailscale (recommended) — a secure mesh so your phone reaches the server on your Mac. Download
Why Tailscale? Your glasses app on the phone needs to reach the server on your Mac. Tailscale gives both a stable IP that works from anywhere — no port forwarding, no firewall hassle.

Start the COS Glasses server

Runs on your own Mac. Keep the terminal open while you use the glasses.

$ npx --yes @gotcos/glasses-server@latestclick to copy
Voice runs locally via whisper.cpp — zero per-minute cost. Install once: brew install whisper-cpp. Cloud fallback stays off unless the server operator explicitly enables it with COS_OPENAI_WHISPER_FALLBACK=1 and configures a key.
Running the full COS? Add the /cos-glasses skill so your agent starts the server, health-checks it, keeps it on the latest release, and troubleshoots for you — ask your COS to "add the /cos-glasses skill from the Starter Kit" (skills/cos-glasses.md).

Connect your devices

  • Install Tailscale on your Mac and iPhone; sign in with the same account on both.
  • Open Tailscale on your Mac and note its IP (starts with 100.).
Same WiFi? You can use your Mac's local IP instead — Tailscale is just more reliable across networks.

Install COS Glasses on the Even Hub

  • Open the Even Realities app on your iPhone.
  • Go to Even Hub, search "COS Glasses", install, and open it.

Connect and go

  • Enter your Mac's Tailscale IP and paste the API token from the server terminal.
  • Leave the server terminal running, then tap Connect.
Have a COS username? Tap "I have a COS username" — your server details resolve automatically, no IP or token needed.
Switch models anytime: open Settings, choose Default chat model, tap the toolbar model button, or say "switch to GPT Frontier."

Troubleshooting

  • "Cannot reach server" — confirm both devices are on Tailscale (or the same WiFi) and the server terminal is still running.
  • "Claude not found" — Claude Desktop is not the terminal CLI. Run npm install -g @anthropic-ai/claude-code on one line without sudo, then run claude and finish sign-in. Verify with claude --version.
  • npm EACCES / root-owned cache — do not rerun with sudo or recursively change system ownership. Use npm_config_cache="$HOME/.cos-glasses/npm-cache" npx --yes @gotcos/glasses-server@latest. Server 6.12.2+ does not run a second install inside npm's temporary cache.
  • @latest launched an older version — compare /api/health with npm view @gotcos/glasses-server dist-tags.latest, then restart with npm_config_prefer_online=true npm_config_cache="$HOME/.cos-glasses/npm-cache" npx --yes @gotcos/glasses-server@latest.
  • "Codex not available" — GPT Frontier/Balanced need the local Codex CLI on the server Mac; run codex --version, then codex login.
  • Transcription unavailable — run brew install whisper-cpp for free local transcription. Cloud fallback remains off unless an administrator sets both COS_OPENAI_WHISPER_FALLBACK=1 and OPENAI_API_KEY.
  • Local spoken replies unavailable — on Apple silicon run brew install python@3.12 ffmpeg espeak-ng, restart COS, and allow first-run Kokoro provisioning to finish. Confirm tts_local.ready in /api/health. Explicit Local fails closed; choose OpenAI only if you intend to use your key.
  • Photos unavailable — run brew install ffmpeg, restart with npx --yes @gotcos/glasses-server@latest, and confirm Lens images is on before testing outside a meeting.
  • Server disconnects — it auto-reconnects; if persistent, restart with npx --yes @gotcos/glasses-server@latest.
What it feels like
COS Glasses · Personalize

Build your COS Glasses.

Your Even G2, running as a chief of staff on the lens. The context you have already built, now it follows you off the screen.

No slide deck. No black box. You own it, you do not rent it.

It works the way you do.

COS Glasses reader: a full pre-call briefing scrolling in green on the lens.

Brief me before the call.

How it works

Numbered, ranked, on the lens. Walk in already knowing the three things that matter, read straight from your meetings and tasks.

COS Glasses dictation: a long message captured hands-free in green on the lens.

Say it once, hands-free.

How it works

Dictate a long prompt or reply by voice. Review the full transcript, edit it by voice, or re-record before a single word is sent.

COS Glasses meeting review: takeaways and action items in green on the lens.

Every meeting, captured.

How it works

Live, speaker-labeled transcription on the HUD. Takeaways and action items wait for you afterward, right from the glasses.

Record a message

Say it once. Send it clean.

Dictate a long prompt or reply by voice. The transcription builds on the lens as you speak. Tap to finish and it submits, no phone, no keyboard.

On the lens

In your control.

Confirm, edit, or send with a tap. The HUD is there when you need it and gone when you do not. Never a phone, never a screen between you and the room.

COS Glasses review screen: send, edit, or re-record options in green on the lens.
Runs on EVEN G2CLAUDE CODECODEX CLIWHISPER.CPPTAILSCALE