Docs

How Corivo works

The model behind the shadow agent — what Corivo watches, what it remembers, and how its agent acts on your commands without breaking your workflow.

4 min read

Open sourceSource available. Corivo desktop is open source under Apache-2.0.

View source

The simplest way to describe Corivo: it's a small desktop app for Mac and Windows that watches the work you're already doing, keeps a searchable local history of it on your machine, and is itself an AI agent — when you give it a command, it acts on your behalf with full context already loaded.

The Corivo desktop app is open source under Apache-2.0 at https://github.com/Principle-Labs/corivo-desktop. That means the local loops described below can be inspected in source, while hosted website and future team-service behavior remain separate surfaces.

This page unpacks how that actually works.

The four loops

Corivo runs four loops, all the time, in the background.

1. Reading your screen

Corivo uses each operating system's accessibility APIs to read the active app — macOS Accessibility on Mac, UI Automation on Windows. That covers the doc you have open, the ticket you're viewing, the email thread you're scrolling. The accessibility tree is the same channel the OS exposes for screen readers and other assistive tech, on both platforms.

No screenshots, ever. Corivo does not capture pixels, record video, or run OCR over screen images. If an app does not expose useful accessibility text, Corivo keeps the limited app/window context available and leans on connected tools for the deeper source of truth.

Every capture is written to a local SQLite store as one row — the structured text from the accessibility tree plus foreground app/window metadata. That row is what Corivo's agent searches against later. This is the "right now" signal, and it's also what becomes the "lately" history.

2. Connecting your tools

The rest of your context lives in places Corivo connects to directly. Today's live integrations — all one-click OAuth from Settings → Integrations — are:

  • Notion
  • Slack
  • Gmail
  • Google Calendar
  • Google Docs
  • GitHub
  • GitLab
  • Linear
  • Feishu
  • Sentry
  • Intercom
  • Mem

When Corivo's agent needs a ticket, a thread, or a doc, it calls these tools on demand. Tokens live on your device, the data flows directly to your machine, and nothing routes through a Corivo server. Corivo never uses what it reads to train ML models or share with third parties.

3. Searching what you've seen

There's no hidden user model behind the scenes — Corivo doesn't quietly build a profile of you. What it does keep is the capture history: every frame you've already looked at, sitting in a local SQLite store, indexed for full-text search (FTS5 over jieba-tokenized text, with embeddings as a follow-on).

When the agent needs to know "what was that ticket I was looking at yesterday" or "the doc with the constraint about X," it searches that history. The longer Corivo has been running, the more it has to search.

4. Acting on your commands

When you give Corivo a command, its agent pulls from your capture history and your connected tools and executes. You don't switch to ChatGPT or Claude to brief them; you don't break out of what you were doing to wait for a different tab. Corivo is the agent, and it already has the context.

This is the "do the thing" loop. It's the one you actually feel.

What Corivo is not

  • Not a chatbot replacement. You can keep using ChatGPT, Claude, Cursor for whatever you already use them for. Corivo is a different kind of agent — one that has the context.
  • Not a screen recorder. Corivo reads structured accessibility text. It does not take screenshots or store screen images.
  • Not a cloud database. Your capture history lives on your machine.
  • Not a knowledge graph. Corivo doesn't try to be a "second brain" with hand-curated entities and relationships. The store is plain: one row per capture, indexed for search.
  • Not "memory for one tool." ChatGPT memory works inside ChatGPT. Claude memory works inside Claude. Cursor's awareness is your codebase. Corivo's context spans the work you do across all of those.

What gets kept on your machine

  • Captures — for each frame the app records, one SQLite row with accessibility text and foreground app/window metadata. The frames table is what makes the rest searchable.
  • Conversations — your /ask and Quick Ask threads, including the frames each answer cited, so you can pin a thread and return to it later.
  • Connector tokens — for the integrations you've authorized. The tokens stay on your device.

What Corivo does not keep: video of your screen, transcripts of every app you opened, or anything from apps on your exclusion list (Settings → Capture & Privacy lets you skip apps by bundle ID or executable; password fields are excluded by your operating system itself — macOS Accessibility on Mac, UI Automation on Windows). Captures roll off after a 90-day retention window.

Stop briefing your AI.

Corivo watches your work and connects your tools so every AI you use walks in with the context. Free for macOS during the public beta.