Skip to content
Euler Docs

Euler Copilot

The Copilot is the assistant built into every screen of Euler. Ask it a question and it answers from your own project and from these docs. Ask it to do something and it does it through the same operations and checks the screens use: it opens the right screen, fills in forms, edits labels, accepts episodes, queues layers and builds exports. Anything that changes your data or spends money waits for your yes first.

Opening it

The assistant floats in the corner of every screen. Click it, or press Ctrl+I (Cmd+I on a Mac), to open or close it. Ctrl+K still opens the command palette.

The panel floats over the screen, so nothing underneath is squeezed. On a wide window you can dock it to the side as a drawer; on a phone it opens as a sheet from the bottom. Conversations are kept per person: a teammate never sees your threads, and you never see theirs.

Each screen starts you with suggestions that fit what is in front of you. On Review with an episode open, for example: Explain this receipt, Accept this episode, Show the flagged span in 3D. The first suggestion everywhere is What can you do here?

What it sees

It knows which screen you are on, which project and episode you have open, which panel is showing and which episodes you have selected. It reads text about your data: names, readiness numbers, check results, labels, captions, run progress, error messages and costs. It never sees your frames or video. See Privacy.

What it can do

Every action is one of the platform’s own operations, held to your role: it cannot do anything for you that your account cannot do on the screen. A viewer’s assistant reads and explains; a reviewer’s can also accept, reject and edit labels; an engineer’s can also run and configure the pipeline; an admin’s can also manage the team.

AreaWhat it doesTry asking
Projects and workspacesLists, opens, creates, renames and moves projects; sets the training target”Create a project for the kitchen clips in Home tasks”
SourcesRegisters a bucket, tests a connection, renames, copies a source into another project, opens the drop zone for an upload”Copy the kitchen source into Ego showcase”
RunsStarts and cancels runs, reports progress, explains what failed, resolves a checkpoint”Why did the last run stop?”
Annotation and layersShows which layers are on and what they cost, queues a layer for some or all episodes, rebuilds 3D, cleans up tracks and hands”Run hand pose on ep000 only”
ReadinessExplains a receipt check by check, re-measures and re-scores, routes failing episodes to review”Explain this receipt”
ReviewLists episodes, accepts or rejects them, edits labels, captions, dense text and sub-tasks”Accept this episode and label it pouring”
Curation and exportsPreviews and applies a curation strategy, saves slices, builds, seals and re-exports”Export the accepted episodes in LeRobot format”
SharingCreates, lists and revokes read-only share links”Share the accepted episodes for seven days, no downloads”
Costs and auditEstimates what a run will cost before you start it, shows spend, reads the audit log for admins”What would depth on the whole project cost?”
TeamLists members, invites a teammate, resends or revokes an invite, changes a role”Invite sam@acme.com as a reviewer”
DocsSearches these docs and answers with numbered citations”How do I connect an S3 bucket?”
NavigationTakes you to a screen, selects an episode, opens a panel, turns a layer on, points at a control”Take me to the 3D view of ep004”

An admin can switch whole areas off for a workspace in Settings, under Copilot. Docs and navigation are always on.

Confirmations

Reading and navigating happen straight away. Anything that changes your data, spends money or cannot be undone stops at a confirmation card first. The card shows:

Press Approve and exactly that action runs, once, with exactly the values shown; it cannot turn into a different action after you approve. Press Reject and nothing runs; the assistant says so and may offer another way. A card expires after ten minutes, and reloading the page brings back any card that is still waiting.

When you do many review edits in a row, the first review card offers Do not ask again for review edits. It covers accepting, rejecting, labels and text edits for the rest of that conversation only, and every edit it covers still lands in the audit log.

Confirmation policy

Each workspace has a confirmation policy, set by an admin:

PolicyWhat asks first
Confirm every change (the default)Every change, every spend and every action that cannot be undone
Confirm spending and deletions onlyOnly actions that spend money or cannot be undone; plain edits run straight away
Allow autopilotWith autopilot switched on in the assistant, nothing asks; with it off, every change asks

Whatever the policy, every action is recorded in the audit log with your name, the conversation it came from and who approved it.

The assistant can move the app for you. It opens screens, selects an episode at a moment in time, opens the 3D or depth panel, turns a layer on and points at the control you asked about.

When an action belongs on a form, such as adding a source, creating a project or inviting a teammate, it fills the form and stops. You check the values and press the screen’s own Save. It never presses Save for you. Uploads work the same way: it opens the drop zone, and you choose the files.

Citations

When an answer comes from these docs, it carries numbered markers like [1] that link to cards under the answer, and each card opens the section it used. If the docs do not cover a question, it says so rather than guess.

Levels and budgets

The assistant has three levels. An admin picks one per workspace in Settings, under Copilot.

LevelBest forRelative cost
Balanced (recommended)Everyday work: questions and navigation run at the economy rate, and anything that changes data gets the stronger reasoningA few cents to about 15 cents per action
EconomyQuestions, docs and navigation. When you ask for a change, it hands that request to the balanced level so the change is done carefullyUnder 1 cent per question
ThoroughLong multi-step work where care matters more than costAbout 2 to 3 times Balanced

Two limits bound what the assistant spends:

Both count toward your workspace’s weekly model budget, never instead of it. The assistant shows what the current request has spent as it works, and Settings shows this month’s spend against the cap.

The work it starts, such as a run or a layer job, costs the same as when you start it yourself, and the confirmation card shows that cost before anything is queued.

Privacy

Your frames never leave the platform. The assistant is text only. What it sends to its language model is text about your data: project and workspace names, readiness numbers, check results, labels, captions, run summaries, error messages and costs. Frames, video, images and file contents are never sent. Vision work runs on Euler’s own self-hosted models.

This is enforced in code, not by convention. Every piece of context and every action result passes a check before the model sees it, and that check refuses image bytes, embedded images and media file paths. A change that tried to send a frame would fail at that check instead of shipping pixels.

A share link the assistant creates is shown to you once, in the step that made it, and is not stored in the conversation.

Limits

From your own code

The same assistant is available over the API as a stream of events, so a script or an internal tool can drive it. It is held to the same roles, confirmations and budgets.

EndpointPurpose
POST /v1/copilot/chatSend a message; the reply streams as server-sent events
POST /v1/copilot/confirmApprove or reject a waiting confirmation by its id
GET /v1/copilot/threadsYour conversations
GET /v1/copilot/settingsA workspace’s level, budgets, areas and confirmation policy
GET /v1/copilot/budgetThis month’s spend against the cap
GET /v1/copilot/manifestThe screens, panels and forms it can act on
curl -N -X POST "https://api.euler.sudotank.com/v1/copilot/chat" \
  -H "Authorization: Bearer <your API token>" \
  -H "Content-Type: application/json" \
  -d '{"message": "Why did my last run fail?", "screen": {"route": "run", "project_id": "kitchen-pilot"}}'

A confirmation arrives as a confirmation event carrying a confirm_id. Send that id to /v1/copilot/confirm with "decision": "approve" or "reject". Full request and event shapes are in the API reference.

Next