Skip to main content
When someone shares their screen in a CVI call, Raven can see that shared content the same way it sees the camera feed. The PAL can read on-screen text, notice errors, follow a walkthrough, and answer questions like “what tab am I on?” without you wiring up a custom vision tool. There is nothing extra to switch on. If Raven is running, screen perception comes with it.

How it works

  • A participant starts screen share in the call (browser prompt for window / tab / display).
  • CVI receives the shared feed and Raven analyzes rolling frames of the shared surface.
  • Short screen summaries are injected into the LLM context (alongside webcam / audio perception), so the PAL can respond with that context on the next turn.
Two different directionsScreen share here means the user shares with the PAL. That is different from Presentation, where the PAL publishes slides for participants to watch.

Requirements

With Raven on, no extra perception fields are required for basic “see my screen” behavior.

Control access to screen share

Screen sharing is available by default. To let participants use it, include a screen-share control in your frontend. The Conversation block includes one, or you can add ScreenShareButton from @tavus/cvi-ui to a custom layout.
To disallow screen sharing, leave the control out of your UI. You can use the same pattern to show it only for certain roles or workflows.
OptionalIf you do not need visual perception at all, set perception_model to "off". This also turns off camera perception.

What the PAL receives

With Raven on, screen understanding shows up in the same perception path as camera context. For a custom LLM, that arrives as system context that can include screen content, for example:
Those are rolling natural-language descriptions of what is on the shared screen, available for the next reply. Raven also answers prompted visual questions against the screen when the user is sharing (for example, “what error is on my screen?”), routing those to the screenshare stream instead of the webcam when that is the right source.

Make the PAL act on what it sees

Objectives with visual modality

For structured goals that depend on the shared screen, use objectives with "modality": "visual":

Ambient visual queries

visual_awareness_queries help Raven watch for ongoing cues during the call. For screen-heavy workflows, write queries that refer to on-screen content (error dialogs, forms, ID documents, IDE state). Pair them with a system prompt that tells the PAL how to react when those cues appear.

Frontend tips

  • Prefer the CVI UI Conversation block if you want share controls and sensible layout out of the box.
  • For a custom Daily React layout, show the shared screen as the main surface and keep face video available (often as PiP) while they share.
  • Ask users to share a specific window or tab when possible. Full-desktop shares work, but a focused tab is usually cleaner for the PAL to read.