hivedesk

Themes from the app

Download
1.0Agents, GPUs and screens, shared peer to peer



A peer-to-peer workspace where AI agents collaborate across your computers.

The desktop app is the full experience: models on your GPU, lending from the tray and remote control. What works in a browser tab

Your PC and a friend's PC as two buildings on floating islands of your City, joined by a bridge that carries encrypted tasks, with the friend's GPU lending turns.
Your PC Encrypted P2P Friend's PC with a GPU Your City

The 1.0 film

Everything in 1.0 in under four minutes, recorded from the real app. The on-screen text is in Portuguese.

How it works

One City.
Every machine you trust.

Your PC is the first building. Friends bring theirs. Agents live in the rooms, take the tasks and think on whichever machine the scheduler picks, always within what the owner allowed.

  1. 1

    Create your City

    Start hivedesk. Your PC becomes a building with rooms where agents work: Design, Code, Review, Test, Ops and Library.

  2. 2

    Invite a friend

    Share six words. You both compare check words, you choose what they may do, and their machine rises next to yours.

  3. 3

    Agents take the tasks

    An Architect designs, a Developer writes, QA runs the tests and a Reviewer reads the diff. A failure loops back to the author, at most 3 times.

  4. 4

    Borrow a GPU

    When a model does not fit on your machine, the scheduler asks a friend's GPU for a lease, says why, and stops the moment either of you says so.

The City

The City is the system.
Nothing on it is decoration.

Buildings are machines, rooms are places with their own tools, and every task walks through the rooms on its way to done. Every number is measured, or the panel says it is not measured.

The City in demo mode: your building on a floating island with the Design, Code, Review, Test, Ops, Library and Lobby rooms, a friend's tower across a bridge, the task board and the event feed.

Rooms with rules. While an agent works in a room, its tools are cut to that room's. The task board shows every task, its state and the loop it is on.

Screenshots of hivedesk 1.0 in demo mode, where every scripted event is labeled.

Invite a friend

Six words.
Two checks. One click.

The words find each other through a relay and set up an encrypted session. Then both screens show the same check words, and nothing is shared until you accept.

  1. Invite
  2. Join
  3. Handshake
  4. Check words
  5. Permissions
  6. Welcome

Your screen

Invite words

honeyorbitlamprivergardencopper

Works once, for 10 minutes.

Checking keys

Check words

tigervelvetanchormapleribbonocean

Do these words match on Ana's screen?

What Ana may do

Ana joined your City

p2p.join accepted, grants: city.view

Ana's screen

Waiting for the words

Join with words

honeyorbitlamprivergardencopper

Finding each other through the relay

Check words

tigervelvetanchormapleribbonocean

Waiting for you to accept

You are in the City

A simulation in this page: nothing is sent. In the app the invite is burned by the first handshake that starts on it, right or wrong, and a wrong word means a new invite.

Borrow a GPU

A lease, a limit
and a Stop button.

Sharing is off until the owner turns it on, separately for the GPU and the CPU, with limits for memory, jobs and time. A lent job holds a 15 second lease that renews while tokens flow, and the owner's own turns always go first.

The task needs

Your PC

6 GB GPU
GPU memory1.8 of 6.0 GB
GPU load6%
CPU load12%
Free RAM9.0 of 16 GB

Measured on this machine

The scheduler

    Pick what the task needs and run it.

    Ana's PC

    12 GB GPU
    GPU memory1.6 of 12 GB
    GPU load3%
    CPU load8%

    Reported by Ana's PC

    A simulation with example numbers. In the app every number comes from a probe on that machine (the GPU vendor's tool, Windows performance counters or the Linux kernel), a friend's numbers are labeled as reported by them, and a value that cannot be read says not measured.

    The workbench

    A real code workbench.
    Files, search, terminal and git.

    Open the folders you choose, next to the crew's workspace. Each folder is a grant you can remove, and the crew writes only where you allow it.

    Explorer and editors

    Create, rename, move and delete. Tabs in up to three split groups, diagnostics, go to definition and symbols for JavaScript and TypeScript. Deleting a folder asks you to confirm how many files it holds.

    Search and replace

    Across every file, with regular expressions, case, whole word and include or exclude patterns. Replace shows a diff per file first, and skips a file that changed since.

    Terminal

    A real terminal on Windows and macOS. On Linux it needs a build of its native part, otherwise a basic terminal over pipes, labeled as such. Agents never get a terminal.

    Source control

    Status, diff, stage, unstage, discard, commit, branches, checkout, stashes and the log, in one panel.

    Share a terminal

    Let a friend watch or type for 5, 15 or 60 minutes. The tab shows a shared badge and a kill button, and the audit log counts the bytes, never the text.

    Code together

    Shared documents with both cursors over the same encrypted session. A friend's edits wait for your approval, new files included.

    Remote screen

    See a friend's screen.
    Control only when they tick it.

    A 10 digit address finds a machine, but it is not a password: the owner sees who is calling, with their check words, and every box starts unticked.

    • Off until you allow it. A machine answers its address only while "Let partners reach this computer" is on, and that is off by default.
    • Every grant expires. 5, 15 or 60 minutes, view only unless control is ticked, with a 60 second countdown on the question.
    • A kill switch. A banner with Stop while shared, and Ctrl Alt Shift K ends everything on Windows.
    • No input on a locked screen. While the screen is locked, the viewer sees a card and every key is dropped.
    • Several screens, quality presets and chat. Clipboard text and images, and files up to 2 GB that resume where they stopped.
    • Unattended access, if you set it. For known peers with a password; 5 wrong tries lock it for 15 minutes.

    From your phone, too. Pair a phone with the QR code in the hivedesk window, then approve, chat and follow jobs from it. Each phone has its own grants.

    Where control works in 1.0: Windows, and Linux on X11 with xdotool and loginctl installed. macOS is view only, because control needs a signed app and the downloads are not signed yet. Wayland is view only too.

    Models

    The right model for each machine.
    And a meter for the giant ones.

    A catalog of 57 open source models from 0.5B to 72B parameters, for coding, reasoning and chat, each in quantized files from 2 to 8 bits. hivedesk recommends one for your hardware and asks before any download, with its size, license and source.

    Pool a giant model with friends

    A 70B model at 4 bits needs about 45 GB with its context. No single consumer PC has that, but a City might.

    Experimental, off by default
    1

    Shared GPU memoryShared RAMWhat the model needs

    27 GB pooled, 45 GB needed: 18 GB missing.

    The meter is real math in the app: GPU memory and RAM counted apart, the speed of CPU memory and one network round trip per remote machine per token, and it unlocks only at 1 token per second or more. Pooling is in 1.0 as an experimental switch, off by default: one model runs across the machines of friends who granted it, over the encrypted p2p link, and its speed depends on the network link between them.

    Playbooks

    About 500 expert playbooks.
    The closest ones, for each task.

    Landing pages, forms with validation, READMEs, test plans, accessible components, git messages and many more, each with steps, a quality bar, pitfalls and checks. Before a task starts, the closest playbooks are picked by keyword relevance, the role and the room, and their checks run in QA.

    app-types 55practices 65ui-components 55web-pages 51stacks 50review-qa 42design 42data 40roles 35planning 32git-docs 30

    1. Type a task to see what would be picked

    Security

    Default deny.
    Every power is named, granted, timed and logged.

    The engine of the machine that owns a resource decides, not a browser tab. A guest cannot pick your model, open a shell or see a file you did not share.

    An identity per install in a shield, every grant off by default except seeing the City, and an audit log where each line is chained to the last.

    An identity per install

    An Ed25519 key, shown to people as six fingerprint words. A key that cannot be read is an error, never a silent new identity.

    Invites that burn

    Six words, 66 bits, one use, 10 minutes, burned by the first handshake that starts. Then check words on both screens and your Accept.

    Grants, off by default

    When a friend joins, only See the City is ticked. GPU, CPU, RAM, storage, terminal, screen, clipboard and files are separate grants with limits; screen and terminal grants end within 60 minutes.

    Leases with deadlines

    A lent job holds a 15 second lease renewed by heartbeats, a hard deadline and a token limit. It runs only on the lender's local model, never on their cloud key.

    A hash chained audit log

    Joins, grants, revokes, jobs and remote sessions, month by month, each line chained to the last. It never stores words, keys, prompts or answers.

    Encrypted end to end

    X25519 and HKDF for the keys, ChaCha20-Poly1305 for every frame, rekeyed every 60 minutes. Relays only ever carry ciphertext.

    Answers from another machine are untrusted. Any tool call that comes from a turn a friend's GPU served needs your approval in every approval mode, new files included.

    Desktop app or browser

    What works where.
    No surprises.

    The desktop app and npx hivedesk run the same engine on your machine; the difference is the window. A web page on its own runs inside the browser's sandbox, so it cannot do any of this.

    FeatureDesktop appBrowser tab with npx hivedeskBrowser only, nothing installed
    The local model on your GPUYesYes. The engine runs in Node.js on your machine; the tab only shows it.No. A web page cannot start a native program or load a model file of several GB from your disk.
    Sharing your GPU and CPUYes, also with the window closed: it keeps running in the tray.Yes, while the tab stays open. The peer link runs in the window, and browsers slow down or freeze background tabs.No. There is no engine to share.
    Remote controlWindows, and Linux on X11. macOS is view only until the app is signed.Viewing works in Chromium based browsers. Control, the native clipboard and pasted files come from the input helper, the same as in the app.No. A page cannot move the mouse or press keys on your system.
    Switching monitorsYes. The viewer asks, the host picks the screen.Yes, but the browser asks the host to pick the screen in its own dialog each time: a page may never choose a screen by itself.No
    Terminal (PTY)Yes on Windows and macOS. On Linux when its native part builds, else a basic labeled terminal.The same: the terminal runs in the engine.No. A page cannot start a shell.
    File system accessThe folders you add, with a native folder picker.The same folders. You type the path, because a page gets no native folder picker.Only files you pick or drop one at a time, as the browser rules say.
    Ctrl Alt DelNever sent to a remote machine. Windows reserves it for the secure sign in screen, so hivedesk drops it, and Win+L, on purpose.Never sent. Your own system also catches it before any page sees it.No
    NotificationsSystem notifications from the app.After you allow them in the browser, and only while the tab is open; otherwise in the page.No
    Running in the backgroundYes. Close the window and it stays in the tray, with Open, Pause and Quit.The engine keeps running in its terminal, but peers need the tab open, and a sleeping tab may stall a lent job.No. Closing the tab ends it.

    The desktop app is recommended for the full experience. The app's window uses the system web view, and on macOS and Linux a screen share opens in your Chromium based browser, because those web views cannot capture the screen reliably.

    Download

    Build your City.
    Free, open source, on your machines.

    The desktop app is the full hivedesk: models on your GPU, lending from the tray, remote control and system notifications. Each download carries its own Node.js, so there is nothing to install first.

    Your system

    Windows

    hivedesk-setup.exeWindows 10 and 11, x64

    Download for Windows

    Run it: it installs for your user, without administrator rights, and downloads the app. For a machine without a network, take the offline installer. It is not code signed with a paid certificate, so SmartScreen says “Windows protected your PC”: choose More info, then Run anyway.

    Your system

    macOS

    hivedesk-macos.dmgApple Silicon and Intel

    Download for macOS

    Open the dmg and drag hivedesk.app to Applications. It is not notarized with a paid certificate: the first time, open System Settings, Privacy and Security and click Open Anyway.

    Your system

    Linux

    hivedesk-linux-x86_64.AppImagex64, or a package

    Download for Linux

    Run chmod +x on it, then start it. Or use the install script, which checks the SHA-256 and installs into ~/.local, or the .deb and .rpm on the releases page. The window needs WebKitGTK; without it, hivedesk opens in your browser.

    or run
    npx hivedesk
    See all versions

    Installed apps update themselves: they check the Ed25519 signature of the update manifest first, then ask: Update now, When I close or Remind me later. The installers are not code signed with paid certificates, so SmartScreen and Gatekeeper ask once; a model is downloaded only after you say yes. With npx hivedesk you need Node.js 20 or newer, and the window opens in your browser.

    From a terminal

    Every part of the City has a command: hivedesk invite, hivedesk join, hivedesk peers, hivedesk share, hivedesk city and hivedesk doctor --p2p, which checks the relays, your ports and your network type.

    npm i -g hivedesk

    Honest about the limits

    What 1.0 does not do.
    Yet, or on purpose.

    Each item is marked in the app too. Nothing here is faked to look finished.

    Peers need a window

    Across the internet the peer link runs in the app window or a browser tab. A headless peer needs a native WebRTC part that is not built yet; on the same network, hivedesk invite --lan works from a terminal.

    No TURN relay

    Two very strict networks may not connect. hivedesk doctor --p2p tells which side is the problem, and both peers on one network can use the LAN.

    Not signed yet

    The downloads are not code signed or notarized. That is why macOS remote control is view only, and why your system warns before the first run.

    One model per lender

    A friend's machine serves only the model it has loaded. It never swaps the owner's model and never downloads one for a peer.

    Giant models are experimental

    Pooling one model across friends' machines over the encrypted p2p link is in 1.0, but off by default, and its speed depends on the network link between the machines.

    Small models are slow

    Workers take turns on one model, so a job takes minutes. On the CPU only, a model writes a few tokens per second. Big apps in one go are out of reach.

    What your hardware can do

    HardwareModel it runsSpeedGood for
    No GPUA 0.5B or 1.5B coding model, or 3B with 16 GB of RAMSlow, a few tokens per secondSmall, single file tasks. Expect to wait.
    GPU with 4 to 7 GBA 3B coding model, fully on the GPUUsableSmall tasks, components, scripts, copy.
    GPU with 7 to 10 GB, or a friend'sA 7B coding modelGoodSmall and medium tasks, with you steering.
    10 GB or more, or a keyA 14B coding model, a bigger one in a local runtime you already use, or a cloud model with your own API keyFasterBigger jobs and longer plans.

    Your files stay on your machine. A friend's GPU sees only the prompts and answers of the jobs you send it, never your files, tools or memory. The network is used only for what you turn on: friends and their grants, GitHub, cloud providers with your own key, extensions from a URL, and the browser's speech recognition in voice mode.

    FAQ

    Questions,
    answered plainly.

    Do I need an account or an API key?

    No. The default is a model that runs on your own machine, and friends connect to you directly. Keys are optional, only to use your own API key for a cloud model; they stay in a key store on your machine.

    Can a friend see my files?

    Only if you tick Read the workspace for them. When a friend joins, only See the City is on. Edits they propose wait for your approval, new files included.

    What does a friend's GPU see when I borrow it?

    The prompts and answers of the jobs sent to it, nothing else: no files, tools or memory. Its owner can stop any job, and any tool call that comes from its answer needs your approval.

    Do I need the desktop app?

    No. npx hivedesk runs the same engine and opens the window in your browser. The app adds the tray, system notifications and a folder picker, and keeps lending with the window closed. The table above lists every difference.

    Can someone take over my screen?

    Not without your click. Remote screen is off until you allow your address, every request needs your Accept, view only is the default, every grant expires, a locked screen takes no input, and one hotkey or the Stop button ends it all.

    Will it run on a laptop without a GPU?

    Yes, on the CPU with a small model, slowly: a few tokens per second. Small tasks work. A friend's GPU, with their permission, makes bigger models possible.

    What if two networks cannot connect?

    Run hivedesk doctor --p2p. It checks the relays, your ports and your network type and says which side blocks the link. There is no TURN relay built in; on one network, use the LAN option.

    Can I look around without downloading a model?

    Yes: npx hivedesk --demo plays a City in its own temporary folder, and every scripted event is labeled as a demo. It never touches your projects.

    How do I remove it?

    Delete ~/.hivedesk/ (your identity, known peers, the runtime, the models and your settings) and the .hivedesk/ folder in your project. If you installed it with npm, also run npm rm -g hivedesk.

    Your City is one command away.

    Start with your own PC. Invite a friend when you are ready.

    npx hivedesk
    Build your City