Skip to content

docs(ganet): cover macOS in the PC device-link setup SOP - #791

Open
nianyucatfish wants to merge 1 commit into
lsdefine:mainfrom
nianyucatfish:feat/ganet-sop-macos
Open

docs(ganet): cover macOS in the PC device-link setup SOP#791
nianyucatfish wants to merge 1 commit into
lsdefine:mainfrom
nianyucatfish:feat/ganet-sop-macos

Conversation

@nianyucatfish

@nianyucatfish nianyucatfish commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Extend memory/ganet_pc_setup_sop.md so GA can configure GAnet on macOS as well as Windows (GAnet v0.5.0 now publishes signed darwin arm64/amd64 sidecars).
  • Move the default component clone location to ~/.genericagent/components/GAnet on every platform: a checkout under the GA root's temp/ gets wiped by the temp rewind mechanism (observed on a first macOS run).
  • Record the per-platform facts the flow depends on: launcher (ganet.cmd / ganet.sh), sidecar data directory, login autostart mechanism, platform: darwin in release entries, Mach-O verification, and the advisory screen_access result that setup/upgrade returns on macOS.

No step of the flow changes; Windows behaviour is unaffected apart from the new default location.

Test plan

  • Windows: inspect-component, configure-host (idempotent), check_env, ssh_device_probe, install_release upgrade and forced rollback, autostart remove/install; phone 鈫?PC tools including screenshot and file transfer
  • macOS (Apple Silicon, macOS 26.5), step by step with the same GAnet APIs the SOP names: dependency install, configure-host, user-center login, enrollment, launchd takeover, four green checks, ssh_device_probe, install_release upgrade and rollback, phone pairing and all tools including screenshot
  • remove_environment(approved=True) returns the Mac to a clean state (no LaunchAgent, no state directories, server records retired)
  • macOS: full GA-driven run of this SOP text against the mirrored GAnet v0.5.0 release (clone, dependencies, configure-host, login, sidecar download/verify/install, enrollment, launchd takeover, four green checks, phone pairing and tools including screenshot)

GAnet 0.5.0 ships macOS sidecars, so the SOP no longer stops on non-Windows
desktops. The flow itself is unchanged; the edits are the platform facts GA
needs to follow it on a Mac:

- default component location moves to ~/.genericagent/components/GAnet on
  every platform; a checkout under the GA root's temp/ is wiped by the temp
  rewind mechanism
- launcher is ganet.cmd on Windows and ganet.sh on macOS; the bound Python
  shim is ga_python.cmd / ga_python.sh
- sidecar data lives in %LOCALAPPDATA%\GenericAgent\GAnet or
  ~/Library/Application Support/GenericAgent/GAnet; login autostart is the
  HKCU Run entry or a LaunchAgent; both are removed by remove_environment()
- release entries for macOS use platform "darwin", and verify_release checks
  Mach-O as well as PE
- on macOS, setup and upgrades request the screen-recording permission at the
  end and report it in screen_access; it is advisory and never blocks
- macOS needs no sudo; git/python placeholders without Xcode CLT must not be
  invoked
@nianyucatfish
nianyucatfish marked this pull request as ready for review September 2, 2026 14:51
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.

1 participant