char-slop/ai-dots
ai dotfiles
git clone https://git.t4t.associates/char-slop/ai-dots
67898d2
main
files
| README.md | 1.8 KiB |
| backend.ts | 5.1 KiB |
| wayland.ts | 10.3 KiB |
| windows.cs | 10.7 KiB |
| windows.ps1 | 1.5 KiB |
| windows.ts | 2.4 KiB |
Desktop backends
computer-use.ts owns action sequencing, screenshot IDs/recall, and tool rendering.
Each backend handles desktop actions and closes its per-call input session.
- Wayland: WayVNC on
127.0.0.1:5900for input,grimfor screenshots, Firefox for new tabs. The existing 1920×1080 desktop assumption is unchanged. - Native Windows: inbox Windows PowerShell (
powershell.exe) compileswindows.csand runs a JSON-lines helper for each tool call. Input usesSendInput; capture uses GDI/System.Drawing. No VNC server or additional packages are required. Keepwindows.ps1andwindows.csbesidewindows.ts.
Windows screenshots include the cursor and the entire virtual desktop, scaled into 1920×1080. Pointer coordinates use that same space, including monitors with negative native origins and differing DPI settings. Unicode text is injected without modifying the clipboard; named keys retain the tool's XKB-style spelling. URLs open through the default browser, which decides whether to reuse a tab.
Run Pi in an interactive, unlocked Windows desktop session. Input cannot cross Windows integrity-level boundaries: controlling an elevated application requires Pi to be elevated too. UAC secure desktops and login/locked screens are unsupported. Do not elevate Pi unless you need that access. Enterprise policy can prevent the PowerShell helper from running. Closing stdin lets it release its held inputs; if it hangs, cleanup forcibly terminates it after five seconds.
pnpm test tests shared sequencing/recall and the Windows helper transport without
interacting with the desktop. To also test real Windows capture, run in PowerShell:
$env:PI_TEST_WINDOWS_DESKTOP ='1' pnpm test
The native smoke test only captures a screenshot in memory; it does not click, type, open a browser, or save the screenshot.