The Harness

全部包

computer

Control a computer: its desktop, its applications in the background, displays of its own

harness install computer
最新版本
0.8.1
Harness 版本
>=0.82,<2
平台
windows, macos, linux
依赖
无

提供

种类
desktop
本体
computer, ubuntu
Skill
desktop, physical, screens, windowtools
Benchmark
computer
实验
computer
设置
computer, physical, privacy

说明

The computer package lets the agent use the computer it runs on (Windows, macOS or Linux): it sees the screen or one window and acts with the pointer, the keyboard and the apps' accessibility trees, on a task you give it in a conversation.

What the agent does happens in your accounts and with your files. Alongside the input bounds and physical-input policy, the worker asks before sensitive actions it can identify from the accessibility tree or app shortcuts. Detection depends on what the app exposes.

Install

harness install computer

The app installs it the first time a conversation needs it. It installs the worker's environment: screen capture, pointer and keys, clipboard pasting, and on each system its window and accessibility backend.

Outside Python:

Use

The simplest way is the app (The app):

harness

Type what you want done. From the terminal:

harness run "Find flights from Beijing to New York on 2 November and show me the options" --workspace apps

configs/experiments/computer.toml is the desktop agent with this computer's prompt; its budget is 60 model calls, an hour and $2 an episode. The app's conversations use the core's configs/assistant.toml, the same agent with the plan skill.

Workspaces

A conversation works in a workspace of one of four kinds:

Workspace --workspace Systems Your mouse and keyboard
This desktop desktop Windows, macOS, Linux used as your physical-input policy allows, in turn with other agents
Background browser browser any, with Google Chrome installed never (see the browser package)
Apps in the background apps Windows, macOS, Linux on X11 only where nothing else reaches the window, and as your policy allows
A display of its own display Linux (a display server), Windows and macOS (a virtual machine) never

Every new conversation asks where it works: choose it in the app beside the model, or in the terminal chat's opening choice (/environment picks for the next conversation). computer.mode is the kind highlighted before you have chosen one. For a suite, pass the workspace explicitly:

harness run configs/experiments/computer.toml --workspace display --workspaces 4

From Python, pass workspace="display" to host.start(...). Where a kind cannot run (no Chrome, a Wayland session, no image for a virtual machine), the app hides it and Settings → Computer says what is missing.

Apps in the background works one window at a time without your focus. The agent reads a window's accessibility tree and acts on its elements (press a button, set a field, check a box), sends clicks and keys to the window itself, and drives a Chrome or Electron app it launched over DevTools. Apps it starts open off your screens until it or you bring them on (use_window(..., visible=True)). Your own windows stay out of its sight unless a rule under "your windows" lets it see one (Permissions); it then chooses one with use_window. On Linux this needs an X11 session: Tk, Qt and Motif apps take sent clicks and keys, GTK apps give their trees but not sent events.

A display of its own on Linux is an X display you never see: the apps the agent launches run there, and its clicks and keys use that display's own pointer and keyboard. On Windows and macOS it is a virtual machine started from an image you choose, with no window on your screen. Each machine runs over a copy-on-write layer of the image, deleted when the workspace ends, so the image never changes. Set computer.vm_image in Settings, or pass it to a run:

harness run configs/experiments/computer.toml --workspace display --vm-image PATH --workspaces 2

The image is an x86-64 desktop as qcow2, vmdk, vhdx, vdi, raw or a live ISO, a VMware folder, or on macOS a Tart VM folder. On a macOS guest, the machine's screen is the guest's screen sharing, so turn that on in the guest; the user is the vm_user setting and the password $HARNESS_VM_PASSWORD (both admin by default, as in Tart's images).

While it works

What it provides

Settings

Set in the app under Settings → Computer or in the terminal chat under /settings.

Key Default
mode browser the workspace new conversations start in: desktop, browser, apps, display
monitor 1 the monitor it starts on (1 is the primary)
max_side 1920 screenshots are scaled to at most this many pixels on the long side
step_limit 300 input steps a conversation may take
workspaces 4 workspaces of any kind that work at once
displays 2 displays of their own that run at once
display_backend auto auto (Linux: a display server; elsewhere a virtual machine), local, vm (a virtual machine on Linux too, with KVM)
vm_image empty the disk image a display workspace's virtual machine starts from
vm_hypervisor auto auto, qemu, vz (macOS Virtualization.framework)
vm_memory, vm_cpus 2048, 2 each virtual machine's memory (MiB) and processors
vm_accel hardware hardware only, or any: software emulation where the hypervisor is missing (much slower)

When the agent may use your real mouse and keyboard, and what its model learns of your other windows, are the physical and privacy settings (Permissions). For one session: --physical LEVEL, --allow-app, --deny-app, --window-details LEVEL.

Limits and known issues

版本

版本Harness 版本依赖sha256发布日期
0.8.1 >=0.82,<2 无 469d6f6fa011 2026-11-13 下载
0.8.0 >=0.81.1,<2 无 e592bfc95ee2 2026-11-13 下载
0.7.3 >=0.81.1,<2 无 54cb2efafa50 2026-11-10 下载
0.7.2 >=0.80,<2 无 85fffdc4b876 2026-11-10 下载
0.5.14 >=0.66.1,<2 无 2468c22d62ab 2026-11-03 下载
0.2.0 >=0.58,<2 无 8d6b581d34b5 2026-11-03 下载

更新日志

0.8.1

0.8.0

0.7.3

0.7.2

0.7.1

0.7.0

0.6.0

0.5.25

0.5.24

0.5.23

0.5.22

0.5.21

0.5.20

0.5.19

0.5.18

0.5.17

0.5.16

0.5.15

0.5.14

0.5.13

0.5.12

0.5.11

0.5.10

0.5.9

0.5.8

0.5.7

0.5.6

0.5.5

0.5.4

0.5.3

0.5.2

0.5.1

0.5.0

0.4.4

0.4.3

0.4.2

0.4.1

0.4.0

0.3.0

0.2.2

0.2.1

0.2.0

0.1.0