stablyai / stablyai/orca

[Feature]: Support pasting local screenshots into SSH remote sessions

Open
#6,889 3 comments 2 reactions 1 assignee Claimed by @OrcaWin View on GitHub
enhancement size/m
Dominant language
TypeScript
Stars
72.1k
Forks
4.7k
Avg merge
14h 54m
Merged PRs (30d)
520

Description

## Feature request

Support pasting or sending local clipboard images/screenshots into SSH-backed remote workspaces and agent sessions.

## Problem

When working in an Orca SSH remote workspace, the active agent/session runs on the remote host, but screenshots and copied images usually live on the local desktop clipboard.

Today this makes common workflows awkward. For example:

1. Connect to a remote SSH host in Orca.
2. Run an agent/session in that remote workspace.
3. Take a screenshot locally, or copy an image from the local browser/desktop.
4. Try to send that image to the remote agent.

There does not appear to be an easy Cursor/VS Code-like path that bridges the local clipboard image into the remote workspace/session. Users have to manually save the image locally, transfer it to the remote machine, then reference the remote path in the agent prompt.

## Desired behavior

From a remote SSH workspace/session, Orca should let users paste or attach local images/screenshots without manual file transfer.

Possible UX options:

- Paste an image directly into the remote agent prompt/chat and have Orca upload it to a temporary remote file, then attach/reference that file for the agent.
- Add a “Paste image from local clipboard” action for SSH workspaces.
- When an image is pasted into a remote terminal/session prompt, upload it through the existing SSH/SFTP/relay path and insert the remote path.
- Optionally show a short toast/status like “Uploaded screenshot to remote workspace”.

## Why this matters

Image and screenshot context is common in AI coding workflows:

- UI bug reports
- visual diffs
- error dialogs
- browser screenshots
- design references
- mobile/emulator screenshots

For local workspaces, sending image context is relatively straightforward. For SSH remotes, the local/remote boundary makes it much less convenient even though the user is still interacting with Orca locally.

## Suggested implementation direction

If feasible, reuse the existing SSH filesystem/SFTP/relay upload path rather than introducing a new transport:

1. Detect pasted clipboard image on the local desktop side.
2. Save it as a temporary file under a remote-safe location, for example inside the remote workspace or `~/.orca-remote/uploads/`.
3. Insert/attach the resulting remote path into the target agent/session.
4. Clean up old uploaded clipboard images eventually, or make the retention policy explicit.

## Edge cases / questions

- Should uploads be scoped to the workspace, the SSH target, or the session?
- What should happen when the SSH target is disconnected?
- Should filenames include timestamps and safe extensions (`.png`, `.jpg`, etc.)?
- Should large images be size-limited or compressed before upload?
- Should the user see the remote path that was created?
- Can this share behavior with any existing local image-paste support?

## Security / privacy considerations

- Do not upload clipboard images unless the user explicitly pastes/chooses the action.
- Avoid logging image contents or remote upload paths unnecessarily.
- Use safe generated filenames and avoid trusting clipboard-provided names.
- Make it clear the image is being copied from the local machine to the remote host.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.