Drive agent workstation Request access

Your apps, and an assistant that can actually use them.

Runs where you decide. Learns how you work, and writes it down.

✓ Got it. You’re on the list.

Modifiers

TypeBevel
Segments3
Amount0.02 m
LimitAngle
RealtimeOn
Bevel the selected mesh. Three segments, keep it subtle.
On it.
  • Modifier Properties
  • Add Modifier › Generate › Bevel
  • Segments 3, Amount 0.02
Done. Saved as a procedure: bevel-subtle.
4 operationsHermes
Message this tab…
OpportunitiesAccountsContactsReportsQ3 pipeline
OpportunityStageAmountClose
Acme CorpNegotiation€48,00030 Sep
Nordwind LogisticsProposal€22,50014 Oct
Bellamy StudioQualified€9,80021 Oct
Kestrel HealthDiscovery€61,0002 Nov
Orbit MediaProposal€15,2009 Nov
Log the call with Acme and move them to Negotiation.
Logged the call on Acme Corp: today 14:32, 22 minutes. Stage Proposal → Negotiation. Next step set to “send revised quote”.
3 operationsHermes
Message this tab…
~/renders $ ls *.mov | wc -l 14 ~/renders $ cat ~/tools/convert.sh #!/usr/bin/env bash — written by the assistant, 11:04 for f in *.mov; do ffmpeg -i "$f" -vf scale=-2:1080 -c:v libx264 -crf 20 \ "${f%.mov}.mp4" done ~/renders $ ~/tools/convert.sh ✓ shot_01.mov → shot_01.mp4 9.1s ✓ shot_02.mov → shot_02.mp4 8.7s ✓ shot_03.mov → shot_03.mp4 10.2s … 11 more ✓ 14 files, 2m 10s
Turn every .mov in renders into a 1080p mp4.
Wrote a small script and ran it on 14 files. Kept it in ~/tools/convert.sh for next time.
2m 10sOpenCode
Message this tab…
interview_final.mp4 · 33:05
V1
A1
A2
Cut the silences out of the interview.
Found 23 gaps longer than 1.5s on A1. Removed them with ripple delete so V1 stays in sync. 41:20 → 33:05.
23 cutsHermes
Message this tab…

Layers

logo
shadow
background
Export: PNG · 200%
Export each layer as its own PNG at 2×.
Exported 3 layers to ~/export at 200%. Filenames taken from the layer panel.
3 filesPrime Intellect
Message this tab…

What this is for

“I know exactly what I want done, and I still have to do it myself.”

Your assistant can tell you which menu to use. It can’t click it. So you do the work anyway.

“Don’t forget to log it in the CRM.”

The work is done. Now there’s a second job: telling a system it’s done. Forget once and the record is wrong.

“I’ll write it up and send it round.”

Your assistant was in the meeting too. It knows what was decided. Nobody else does until you type it up.

“Ask Marie, she knows how.”

How your team works lives in three people’s heads. When they’re busy, everyone waits. When they leave, it leaves.

“We can’t use that here.”

The tools that would help send your work to someone else’s server. Your contracts say no.

“Sorry, I missed that thread.”

A hundred emails a day, Slack on top. You skim, and still don’t know what’s going on.

The assistant gets the whole app, not an API surface

Each app opens in its own tab. Beside it, a chat that can operate that app.

Where an app has an API, the assistant uses it. Where it doesn’t, it works the app itself: the same menus, panels and shortcuts you use. Nothing is out of reach.

A master chat works across every tab at once. Ask once, or leave standing instructions.

Blenderworking

Bevel

Segments3
Amount0.02

A task three menus deep, done through the app itself.

Master chat3 tabs
Prep the Acme renewal: pull last quarter’s numbers, draft the deck, and log it.
Running in three tabs.
  • Salesforce · pulling Q2 usage · done
  • LibreOffice · drafting 9 slides · working
  • Terminal · exporting charts · working
Message every tab…

One request, several apps, in parallel.

It checks before it clicks, and after

Every action starts from a fresh look at the screen: this window, this state, right now. An old screenshot can’t authorise a click.

Before input, a separate check confirms the target, the permission, and what’s at stake. After, it confirms the result, and that nothing else moved.

Clicked is not done. It tells you which one happened.

Salesforce · Acme Corpchecked
14:32:41look fresh frame, this tabsnapshot
14:32:41check Stage field, Acme Corpallowed
14:32:42input select Negotiationdelivered
14:32:43verify record reads Negotiationverified
14:32:43verify 5 other fields unchangeduntouched

Allowed, delivered, verified. Three separate answers.

When it isn’t sure, it says so

If an action may have gone through but the app didn’t confirm, it checks instead of trying again. One email, sent once.

Undo isn’t a safety net. Ctrl+Z can’t unsend a message or bring back an overwritten file, so anything that can’t be taken back waits for your yes.

Grab the mouse and it lets go. It works beside you, not over you.

Mail · Acme renewal
Send the revised quote to Acme, then replace the old one on the shared drive.
Pressed Send, but the app didn’t confirm. I won’t press it again. Checking Sent instead.
  • Found in Sent, 15:04
  • Sent once
Next step overwrites quote_v2.pdf. That can’t be undone. Go ahead?
not retriedwaiting for you

Uncertain means check, not repeat.

It writes down what worked

Do something twice and it becomes a procedure: readable English you can open, edit, and run again.

Every action is logged as a named operation, timestamped, attributed to a model.

Procedures are versioned like code. Your method, under version control.

Proceduresv3

bevel-subtle.md runs in Blender

Created by Marie, Mon. Last edited by Tom, Thu.

Round off the edges of whatever is selected without changing its silhouette.

  1. Open Modifier Properties for the selected object.
  2. Add a Bevel modifier from the Generate group.
  3. Set segments to 3 and amount to 0.02 m.
  4. Leave limit method on Angle. Don’t apply.
v1 · Marie · Monv2 · Marie · Tuev3 · Tom · Thu

A procedure is a readable file, under version control.

Audit logtoday
14:31:06open_panel modifier_propertiesHermes
14:31:09add_modifier bevelHermes
14:31:11set_field segments=3Hermes
14:31:12set_field amount=0.02Hermes
14:32:40crm.log_call acme, 22mHermes
14:32:41crm.set_stage negotiationHermes
14:40:02write_file ~/tools/convert.shOpenCode
14:40:05run convert.shOpenCode

Named operations, timestamped, attributed to a model.

One person figures it out. Everyone’s assistant learns it.

Working as a team, it compounds

Procedures are shared. Someone solves a problem on Monday; on Tuesday everyone has it, on their own machine.

New people inherit the method instead of relearning it.

Marie · MondayParis
Bevel the selected mesh. Three segments, keep it subtle.
Done. That’s the second time this week, so I wrote it down as bevel-subtle and shared it with the team.
procedure created
Tom · TuesdaySan Francisco
Run bevel-subtle on these.
Running Marie’s procedure on 6 selected objects, on this machine.
  • 6 of 6 done
inherited, not relearned

When the tool doesn’t exist, it gets built here

There’s a terminal and an editor in the box. When a job needs a script or a small tool, the assistant writes it, runs it, and keeps it for next time.

Software shaped like your work, without a ticket or a contractor.

Editor · invoices_to_csv.pyTerminal
# Reads the PDF invoices the supplier sends, # writes one CSV row per line item. import pdfplumber, csv, sys, pathlib def rows(pdf): with pdfplumber.open(pdf) as f: for page in f.pages: for r in page.extract_table() or []: yield [pdf.stem, *r] out = csv.writer(sys.stdout) for p in pathlib.Path("inbox").glob("*.pdf"): out.writerows(rows(p))
$ python invoices_to_csv.py > sept.csv ✓ 38 invoices, 412 rows $ open sept.csv # kept in ~/tools for next month

A one-off tool, asked for and built in the same tab.

Bring your own agent, and your own model

Hermes, Prime Intellect, OpenCode and others ship with it. Pick one per tab, or swap mid-task.

Models come through OpenRouter, through us, or from your own machine. Nothing ties you to one vendor.

Settings · Agents & models
TabAgentModelWhere
BlenderHermes ▾via OpenRouter ▾cloud
SalesforcePrime Intellect ▾via Drive ▾cloud
TerminalOpenCode ▾Local ▾this machine
KdenliveHermes ▾Local ▾this machine
GIMPPrime Intellect ▾via OpenRouter ▾cloud
swapped mid-task Salesforce tab moved from Hermes to Prime Intellect. Task continued from step 3.

Agent and model, chosen per tab.

It runs where you decide

Local, cloud, or both, set per tab. Shared work goes to the cloud so procedures move between people. Sensitive work stays on the machine it started on.

Local is not a degraded mode. Pull the cable mid-task and it finishes.

Kdenlive · local● network: offline
Cut the silences out of the interview.
Network dropped at 14:52. This tab runs on this machine, so nothing changes.
  • 23 gaps found
  • 19 of 23 removed
still workinglocal model

Cable out, task finishes.

What’s in it

Applications
Blender, GIMP, Kdenlive, LibreOffice, a terminal, and Chromium, which brings every web app with it. Plus Wazza, the master chat, and a settings app for logins and controls.
Agents
Hermes, Prime Intellect, OpenCode and others, selectable per tab.
Models
Through OpenRouter, through us, or locally. Open-weight models run on our own mesh, so they don’t cost more.
Compute
Adjust CPU and memory from inside the app. Burst to the cloud for heavy work without moving your files.

What it isn’t

Not equally fast everywhere

Apps with a good API are quick. Everything else the assistant operates directly, which is slower. Coverage is the same. Speed isn’t.

Not cloud-only, and not local-only

You set where each tab runs and where its data goes.

Not a file server

It versions the method, not the assets. Your files stay wherever they already live.

Questions

Which operating systems does it run on?

Windows, macOS and Linux.

Does my work go to a model provider?

Only if you pick a cloud model for that tab. Run local models and nothing leaves the machine. You can check by pulling the network.

Where you do use a provider, you set the data retention rule for it. Different providers, different rules, decided by you rather than inherited.

Where do my logins live?

In the settings app, inside your machine. Tokens are encrypted at rest in the operating system’s own credential store and never written to a skill file, a log, or a model prompt.

Assistants request a connection rather than reading the token. You grant it per app, you see what was granted, and you revoke it in one place. Nothing is held on our servers.

Can it see my other windows?

Only the ones you grant, one window at a time. A window with the same title isn’t the same window, so it asks again.

Each chat has its own access. One chat can’t see another’s screen or borrow its permissions.

What if I use the mouse while it’s working?

It steps back. Working alongside you is a mode you switch on, so it never fights you for the cursor.

Can I add my own applications?

Yes. Anything that installs on a normal machine installs here, and the assistant can operate it once it’s in. Licensed software comes in on your own licence.

What happens to my procedures if I stop?

They’re plain text files you can read and take with you. Files stay in standard formats.

What does it cost?

Per seat, plus storage. Model usage is billed at cost when we’re the provider.

Request access

Runs where you decide. Learns how you work, and writes it down.

✓ Got it. You’re on the list.