Skip to content

Humanize all computer endpoints#169

Open
ulziibay-kernel wants to merge 2 commits intomainfrom
ulziibay-kernel/humanize-computer-endpoints
Open

Humanize all computer endpoints#169
ulziibay-kernel wants to merge 2 commits intomainfrom
ulziibay-kernel/humanize-computer-endpoints

Conversation

@ulziibay-kernel
Copy link
Contributor

@ulziibay-kernel ulziibay-kernel commented Mar 2, 2026

This is a plan to implement human like interactions for all Computer Controls. https://www.kernel.sh/docs/browsers/computer-controls#computer-controls.
#148 added human like mouse movements. However, there are other movements like clicking, scrolling, typing, pressing that could use human like improvements.


Note

Low Risk
Low risk because this PR only adds a planning/documentation file and does not change runtime code or APIs.

Overview
Adds a new design plan (plans/humanize-computer-endpoints.md) describing how to humanize the remaining computer-control endpoints (click, type, press key, scroll, drag) with performance constraints (minimize xdotool spawns) and proposed API additions like a smooth flag.

No implementation changes are included—this is documentation outlining intended future modifications to openapi.yaml, computer.go, and a proposed humanize helper library.

Written by Cursor Bugbot for commit 627054d. This will update automatically on new commits. Configure here.

Covers click, type, press key, scroll, and drag mouse with
performance-first algorithms (zero additional xdotool process spawns).
Includes the existing Bezier curve mouse movement as reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ulziibay-kernel ulziibay-kernel force-pushed the ulziibay-kernel/humanize-computer-endpoints branch from 6b34ba9 to f508bfa Compare March 2, 2026 18:06
@ulziibay-kernel ulziibay-kernel requested a review from rgarcia March 4, 2026 16:16
- Type text: use O(words) separate xdotool calls with Go-side sleeps
  instead of single-call chaining, since xdotool type consumes rest
  of argv and can't be chained with sleep.
- Type text: keep trailing delimiters (space, punctuation) with the
  preceding chunk so pauses happen after word boundaries.
- Scroll: use bounded total duration (default 200ms) instead of fixed
  per-tick slowMs/fastMs, so large tick counts don't block input.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants