Skip to content

Devices: your own computers

A device is one of your own computers that does work for Me. Planned capabilities (ADR 0024, not built yet) include:

  • browsing as you;
  • running a Claude Desktop session;
  • driving desktop software such as QuickBooks Desktop.

The first connector offers only system.ping, a connectivity check.

Each device runs a connector: a small program that holds the device’s own token, takes requests from the server, and returns results. A device is a restricted agent. It may only run device.* work, and every request to it is a High-risk operation that waits for your approval.

Partly on main. Enrolling a computer and the device.* commands are on main. The connector itself (me connector login, me connector run), with live push and polling as the fallback, is coming soon in PR #111. Until it merges, an enrolled device can’t serve requests, even though me device enroll already tells you to give its token to me connector login.

Run this on the computer you are enrolling, logged in as yourself:

Terminal window
me device enroll --name "Home desktop" # --days n: token lifetime (default 365)

This command:

  1. creates an agent principal for the computer, allowed only device.*, up to LocalWrite and Confidential;
  2. records the enrolment;
  3. prints a token once, which you give to the connector on that computer through stdin, never as an argument.

Only a person can enrol a computer. An agent is refused.

Terminal window
me device list # your devices, what they offer, whether they are online
me device invoke --capability <name> --input '{…}' [--device dev_…]
  • Online means the device checked in within the last 2 minutes.
  • The result arrives as a device.invocation.completed event (done, failed or expired), at most 64 KB.
  • If no device does it in time, the default deadline being 10 minutes, it expires with “No device did it before its deadline.”
  • If none of your devices offers the capability, invoke says “None of your devices offers …”.