You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f24257b
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/architecture.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -256,15 +256,19 @@ The same clipboard gate retains a content-free reservation while a dispatched pa
256
256
Later automated writes require observed consumption or termination of the exact receiver process
257
257
generation. The reservation survives GUI restart; clipboard contents and comparison state do not.
258
258
Explicit clipboard tools read complete bounded plain text, an image preview, or advertised local
259
-
file references, or persistently replace text or an image; they do not paste. Reads use the existing silent permission policy and require
259
+
file references, or persistently replace text, an image, or file references; they do not paste. Reads use the existing silent permission policy and require
260
260
a stable generation, without entering or releasing the mutation gate. The GUI copies one bounded
261
261
image representation, renders an oriented preview off its main actor, and verifies the generation
262
262
again. Source and preview metadata stay distinct; the bounded preview uses the existing image
263
263
result and durable history without clipboard files or a second store. File reads return exact
264
264
advertised URLs and decoded paths without filesystem access; macOS may filter references before
265
265
exposing them to Ace. Image writes take an execution-host path: the host alone reads a bounded
266
266
regular file, and the GUI decodes its immutable copy before publishing the original representation.
267
-
Only source metadata is returned. Writes enter the same gate,
267
+
Only source metadata is returned. File-reference writes check path metadata on the host without
268
+
reading contents or resolving links. The GUI prepares one file URL item per literal path, preserving
269
+
order and duplicates, then publishes the complete bounded list with generation checks. Result metadata
270
+
describes requested references and native publication, not a receiving application's eventual copy.
271
+
Writes enter the same gate,
268
272
including pending-paste admission, and expose content-free native outcomes without window inspection.
269
273
Explicitly read content enters ordinary tool history as observed data; no permission layer is added.
270
274
Pi records their intent and never automatically replays an interrupted action. Results distinguish
Copy file name to clipboardExpand all lines: docs/desktop-tools.md
+12-4Lines changed: 12 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Native desktop tools
2
2
3
3
Ace's pi harness can inspect applications and windows, launch, activate or quit apps, open documents and URLs, close, focus, minimize, restore, move or resize windows, click observed controls, replace editable
4
-
field values, select and insert text, send keys or shortcuts, scroll, drag, read clipboard text, images or file references, and write clipboard textor images on the machine running the channel's tools. It uses
4
+
field values, select and insert text, send keys or shortcuts, scroll, drag, read clipboard text, images or file references, and write clipboard text, images or file references on the machine running the channel's tools. It uses
5
5
[Peekaboo](https://github.com/openclaw/Peekaboo) for macOS Accessibility, screen capture, and
6
6
targeted input. The model receives the accessibility text, screenshot, and action outcome. The
7
7
same result appears in the chat's expandable tool output, including after reopening the channel.
@@ -294,31 +295,55 @@ export function desktop(execute: Desktop): Extension {
294
295
defineTool({
295
296
name: "desktop_clipboard_write",
296
297
description:
297
-
"Replace this execution host's clipboard with text (up to 8192 UTF-16 units), or use format image and an absolute path on this execution host to one PNG/JPEG/TIFF file (at most 10 MiB and 64 million pixels). Image writes preserve the original bytes, orientation and transparency; they do not copy a file reference. Supply either text or format image with path. This persists until another copy or write; it does not paste or preserve the previous contents. A pending unverified paste refuses the write. Never blindly repeat an interrupted write: read the current clipboard before deciding what to do next.",
298
+
"Replace this execution host's clipboard with text (up to 8192 UTF-16 units), an image, or file references. Use format image with one absolute path to a PNG/JPEG/TIFF file (at most 10 MiB and 64 million pixels); its original bytes, orientation and transparency are preserved. Use format files with 1–32 absolute paths to existing files, directories or symbolic links on this execution host; metadata-only preflight does not read contents or resolve links. File references preserve order and duplicates within the complete 24 KB read-result bound. file_count reports requested references, not a receiver's copy or paste result. Supply only one form. This persists until another copy or write; it does not paste or preserve the previous contents. A pending unverified paste refuses the write. Never blindly repeat an interrupted write: read the current clipboard before deciding what to do next.",
0 commit comments