Repository navigation
Releases: Zero20230619/desktop-hand
Releases · Zero20230619/desktop-hand
Release list
Desktop Hand 1.0.0
Desktop Hand 1.0.0 - first public release.
First public release. Desktop Hand gives a DeepSeek Harness model real desktop
mouse/keyboard control plus a policy-guarded file toolkit, with a "see ? act ?
see" loop built on screenshots and read_image.
Added
- 21 model-facing tools
- Observation:
desktop_hand_get_pointer,desktop_hand_foreground_window,
desktop_hand_screenshot. - Real input:
desktop_hand_move_mouse,desktop_hand_click,
desktop_hand_drag,desktop_hand_scroll,desktop_hand_press_key,
desktop_hand_type_text. - Guarded files:
desktop_hand_read_file,desktop_hand_list_dir,
desktop_hand_write_file,desktop_hand_move_path,
desktop_hand_delete_path,desktop_hand_restore_path,
desktop_hand_list_trash. - Control:
desktop_hand_authorize,desktop_hand_revoke,
desktop_hand_status,desktop_hand_policy_override,
desktop_hand_emergency_stop.
- Observation:
- User-only
/desktop-handcommand for session grants, revocation, policy
tightening, status, emergency stop and resume. - Replaceable input provider layer: persistent Windows PowerShell agent
(user32SendInput/mouse events, Unicode text, DPI-aware, virtual-screen
screenshots), Linuxxdotool, macOScliclick/osascript, and a
deterministicfakeprovider for testing and dry runs. - Filesystem policy engine: directory-prefix, glob and regex zones resolved
against real paths (symlink/junction aware); separate read-only and
write-protected zones; protected OS roots, plugin data, trash directory and
workspace/home/drive roots. - Three delete modes:
forbid,trash(quarantine with metadata snapshot- restore) and
direct(explicit unlock +confirm_direct+ approval).
- restore) and
- Session-scoped, time- and action-bounded grants for input and files,
granted only through the human command or an approval-gated tool. - Approval gate on
tools/pre-executefor file mutations, direct deletes,
drags, key chords, sensitive-window text and security-posture changes. - System-wide emergency stop (default
Pause, configurable), which kills
the input backend, blocks operations, notifies the model and requires a
human/desktop-hand resume. - Limits and sensitive zones: action/click/scroll/text/drag caps, virtual
screen bounds checks, and taskbar/corner/system-area protection. - Append-only JSONL audit log with coordinates, keys, paths, policy hits,
timestamps and call ids; typed text is redacted unless explicitly enabled. - Install/uninstall scripts for a DSH profile, with patch backup, idempotent
managed block, seeded user config, and data-preserving uninstall. - Documentation: English and Chinese READMEs, configuration reference and a
manual acceptance guide (Blender modelling scenario, deletion modes,
emergency stop, grant budgets). - 167 automated tests covering configuration, policy, trash/audit,
authorization/limits/emergency, providers and end-to-end tool integration.
Security notes
- Real input and file mutations are off by default.
- The filesystem policy governs Desktop Hand tools (optionally DSH's own
read/write/edit tools viapolicy.enforceOnDshFsTools); it is not an OS
sandbox. Shell tools have their own policies and can bypass it. - Under a DSH approval policy of
never, everyaskcategory fails closed.
Switch the session approval policy toaskor set the relevant
approval.*categories togrant(relying on bounded session grants).
Asset: desktop-hand-1.0.0.zip (source snapshot, also available from the tag).
See README and ACCEPTANCE.
SHA-256 of desktop-hand-1.0.0.zip: a1cd61e1dd6456ca1d117f90c37993bdec3deeba2dd784680565d579813ef3c2