daemon

command module
v0.0.0-...-1d32ed5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: MIT Imports: 3 Imported by: 0

README

GSD Cloud daemon

The Go binary that runs on user machines and connects to GSD Cloud. Open source so you can audit exactly what's running on your machine before installing it.

Install

curl -fsSL https://install.gsd.build | sh

Then:

gsd-cloud login
gsd-cloud start

What it does

  • Maintains a persistent websocket connection to the GSD Cloud relay
  • Manages local Claude Code sessions on your behalf
  • Streams session output back to the cloud for cross-device access
  • Stores session state in a local write-ahead log (~/.gsd-cloud/)

Operator Diagnostics Boundary

The daemon exposes a small remote surface on purpose:

  • relay heartbeats and online/offline state
  • local socket status and active-session metadata
  • task output that the user already asked the daemon to produce

What it does not do today:

  • no remote raw daemon-log streaming for operators
  • no background support bundle upload
  • no automatic upload of recent local logs during failures

If an incident requires daemon log inspection, the supported path is still local access on the user's machine via gsd-cloud logs or the log file under ~/.gsd-cloud/.

The only bounded upload path in the daemon today is explicit task-related image upload to the relay. That path is not a general-purpose diagnostics channel and should not be treated as one during incident response.

Build from source

go build -o gsd-cloud .
./gsd-cloud version

License

MIT — see LICENSE.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
api
Package api contains HTTP clients for the GSD Cloud web app.
Package api contains HTTP clients for the GSD Cloud web app.
claude
Package claude defines the normalized Claude stream-json event shape.
Package claude defines the normalized Claude stream-json event shape.
config
Package config handles the persistent daemon configuration stored in ~/.gsd-cloud/config.json.
Package config handles the persistent daemon configuration stored in ~/.gsd-cloud/config.json.
fs
Package fs exposes the filesystem operations the daemon allows remote browsers to perform.
Package fs exposes the filesystem operations the daemon allows remote browsers to perform.
lab
logging
Package logging configures structured logging via log/slog with optional log-file rotation via lumberjack.
Package logging configures structured logging via log/slog with optional log-file rotation via lumberjack.
loop
Package loop contains the main daemon event loop: connect to relay, dispatch incoming messages to the session manager, run periodic heartbeats.
Package loop contains the main daemon event loop: connect to relay, dispatch incoming messages to the session manager, run periodic heartbeats.
pi
Package pi owns daemon execution through the pi CLI.
Package pi owns daemon execution through the pi CLI.
relay
Package relay implements the WebSocket client the daemon uses to talk to the Fly.io relay.
Package relay implements the WebSocket client the daemon uses to talk to the Fly.io relay.
service
Package service provides a platform abstraction for installing and managing the gsd-cloud daemon as a background service (launchd on macOS, systemd on Linux).
Package service provides a platform abstraction for installing and managing the gsd-cloud daemon as a background service (launchd on macOS, systemd on Linux).
session
Package session ties task execution and relay forwarding together into one "session actor" per user session.
Package session ties task execution and relay forwarding together into one "session actor" per user session.
update
Package update queries GitHub Releases for daemon versions and handles downloading, checksum verification, pi extension installation, backup, and rollback of the daemon binary.
Package update queries GitHub Releases for daemon versions and handles downloading, checksum verification, pi extension installation, backup, and rollback of the daemon binary.
upload
Package upload provides an HTTP client for uploading images to the relay's /internal/upload endpoint, authenticated with the daemon's machine token.
Package upload provides an HTTP client for uploading images to the relay's /internal/upload endpoint, authenticated with the daemon's machine token.
tests
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL