Desktop seat capture — Chat + CoTrinity (members)
What this is: Your OmniLore account can use a seat implementer on a computer you control so Chat (remote) and CoTrinity (desktop IDE) can request a screenshot of that computer under your permission.
What this is not: Free remote control of any PC, unrestricted shell, or click/type automation.
Two ways to capture
| Where you are | Client | What happens |
|---------------|--------|----------------|
| At the computer | CoTrinity (VS Code / Cursor) | Local seat agent captures the screen |
| Away from the computer | chat.omnilore.ai (OmniLore mode) | Chat asks the same agent on your machine (if online) |
Same account · same machine · same grants.
One-time setup (on the desktop machine)
Do this on the computer whose screen you want to capture (not only in the browser).
PATH note: Until install finishes, omnilore-desk / omnilore-seat-agent may not be on your shell PATH. Use the full paths below (they work from a fresh account). The installer also places convenience wrappers in ~/.local/bin — if that directory is on your PATH, bare names work afterward.
1. Enroll the device
~/omnilore/ops/bin/omnilore-desk enroll
2. Install and start the seat agent
bash ~/omnilore/ops/bin/install-seat-agent-user.sh
systemctl --user status omnilore-seat-agent
You want status active. Default listen: 127.0.0.1:8455 (local only).
The install script also places omnilore-desk and omnilore-seat-agent wrappers in ~/.local/bin. Ensure:
export PATH="${HOME}/.local/bin:${PATH}"
# or open a new login shell if your profile already adds ~/.local/bin
3. Register for Chat (so the server knows your device)
~/omnilore/ops/bin/omnilore-seat-agent register-remote
~/omnilore/ops/bin/omnilore-seat-agent heartbeat
# after install + PATH: omnilore-seat-agent register-remote && omnilore-seat-agent heartbeat
4. Allow screenshots (opt-in)
~/omnilore/ops/bin/omnilore-desk grant-capture
Without this grant, capture is denied by design.
5. Keep the agent awake
If you previously put the agent to sleep:
~/omnilore/ops/bin/omnilore-agent-wake
# or: ~/omnilore/ops/bin/omnilore-agent-grants availability
6. Optional but recommended (Wayland reliability)
sudo apt install grim
Avoids flaky GNOME screenshot portal issues on some Ubuntu seats.
Use from CoTrinity (desktop)
- Install CoTrinity ≥ 1.0.34 (prefer VS Code).
- Reload the window after install.
- Confirm status bar-ish seat status: online · awake · capture on/off.
- In CoTrinity Chat, say for example:
- “Take a screenshot”
- “Desktop probe”
- “Seat status”
- Or Command Palette: OmniLore: Seat screenshot / Seat implementer status.
Output path on your machine:
~/.local/share/omnilore/seat/captures/ (private files).
See also: COTRINITY_IDE.md.
Capture vs inspect (product meaning)
| You say | What happens |
|---------|----------------|
| “Take a screenshot” | capture only — private PNG + metadata (path, hash, backend) |
| “Inspect my screen” / “What’s wrong on my desktop?” | capture_inspect — same capture plus local VL diagnosis (summary, likely cause, next steps). Sensitive OCR redacted by default |
| “Fix it” | Propose only — inspect may recommend steps; OmniLore will not click/type/fix without a future owner-approved control path (L4 HOLD) |
Local:
~/omnilore/ops/bin/omnilore-desk inspect --prompt "Why is this stuck?"
# or: ~/omnilore/ops/bin/omnilore-seat-agent job capture_inspect
Chat (OmniLore mode): ask to inspect the screen, or tools seat_request(job_kind="capture_inspect") then seat_job_status.
Use from Chat (https://chat.omnilore.ai)
- Leave the desktop machine on with seat agent running (and logged into a desktop session).
- Open Chat → OmniLore mode (not Quick — Quick has no fabric tools).
- Prefer a new chat after tool updates.
- Ask in plain language, for example:
- “List my seat devices”
- “Is my seat online?”
- “Capture my desktop screenshot”
- Under the hood, tools are:
seat_list·seat_status·seat_request·seat_job_status.
| Chat message meaning | If it fails |
|----------------------|-------------|
| No device enrolled | Run setup on the desk (above) |
| Device offline | Start seat agent / wake the PC (systemctl --user start omnilore-seat-agent) |
| Capture denied | ~/omnilore/ops/bin/omnilore-desk grant-capture |
| Agent asleep | ~/omnilore/ops/bin/omnilore-agent-wake |
Remote Chat cannot choose arbitrary save folders (fixed private path only).
See also: USER_GUIDE_CHAT_OMNILORE_AI.md.
Revoke access (lost laptop / stop implementer)
| Method | How |
|--------|-----|
| Membership portal (ops) | User → Seat implementers → Revoke |
| Chat / tools | seat_revoke with your device id |
| On the machine | ~/omnilore/ops/bin/omnilore-desk revoke-remote |
After revoke, capture and remote jobs stop. To restore: re-enroll (~/omnilore/ops/bin/omnilore-desk enroll --force) and ~/omnilore/ops/bin/omnilore-seat-agent register-remote again, or ops Reactivate then heartbeat.
Security (plain language)
- Only your enrolled devices for your account.
- Screenshots stay under private paths (and optional server outbox under your user id).
- Not full remote desktop; no mouse/keyboard control from Chat.
- You can revoke anytime.
Operator/security detail: ops SECURITY_SEAT_CHAT_CAPTURE_2026-08-11.md.
Troubleshooting
| Symptom | Try |
|---------|-----|
| “Device offline” in Chat | PC awake; systemctl --user status omnilore-seat-agent; ~/omnilore/ops/bin/omnilore-seat-agent register-remote + heartbeat |
| Capture fails on Wayland | Install grim; ensure desktop session is logged in |
| CoTrinity has no seat tools | Extension ≥ 1.0.34; reload window; seat agent running |
| Portal/GNOME screenshot glitches | Host package updates; grim fallback — residual is desktop OS, not Chat “down” |
| omnilore-desk: command not found | Use full path ~/omnilore/ops/bin/omnilore-desk …, or re-run bash ~/omnilore/ops/bin/install-seat-agent-user.sh and ensure ~/.local/bin is on PATH |
Check: ~/omnilore/ops/bin/omnilore-desk status on the machine.
Related member pages
| Page | Why |
|------|-----|
| GETTING_STARTED.md | First steps |
| FEATURES_USER.md | Feature list |
| WHAT_OMNILORE_CAN_CANNOT_DO.md | Honesty |
| KNOWN_LIMITATIONS.md | Limits |
| COTRINITY_IDE.md | CoTrinity install honesty |
End member desktop seat capture guide.
Plane separation (agents)
Do not confuse this feature with Core monorepo Unreleased plans or celld research. See docs/NOTE_SEAT_IMPLEMENTER_VS_MONOREPO_VS_CELLD_2026-08-13.md.