sketch: default -open=false when SSH_CONNECTION is set, improve help

I use sketch over ssh so I don't want a ton of web browsers window open remotely.
diff --git a/cmd/sketch/main.go b/cmd/sketch/main.go
index 4b90b02..b9caf9d 100644
--- a/cmd/sketch/main.go
+++ b/cmd/sketch/main.go
@@ -178,7 +178,7 @@
 	flag.StringVar(&flags.addr, "addr", "localhost:0", "local debug HTTP server address")
 	flag.StringVar(&flags.skabandAddr, "skaband-addr", "https://sketch.dev", "URL of the skaband server")
 	flag.BoolVar(&flags.unsafe, "unsafe", false, "run directly without a docker container")
-	flag.BoolVar(&flags.openBrowser, "open", true, "open sketch URL in system browser")
+	flag.BoolVar(&flags.openBrowser, "open", true, "open sketch URL in system browser; on by default except if -one-shot is used or a ssh connection is detected")
 	flag.StringVar(&flags.httprrFile, "httprr", "", "if set, record HTTP interactions to file")
 	flag.Uint64Var(&flags.maxIterations, "max-iterations", 0, "maximum number of iterations the agent should perform per turn, 0 to disable limit")
 	flag.DurationVar(&flags.maxWallTime, "max-wall-time", 0, "maximum time the agent should run per turn, 0 to disable limit")
@@ -211,7 +211,7 @@
 
 	flag.Parse()
 
-	// -open's default value should be true normally but false in one-shot mode.
+	// -open's default value is not a simple true/false; it depends on other flags and conditions.
 	// Distinguish between -open default value vs explicitly set.
 	openExplicit := false
 	flag.Visit(func(f *flag.Flag) {
@@ -220,7 +220,9 @@
 		}
 	})
 	if !openExplicit {
-		flags.openBrowser = !flags.oneShot
+		// Not explicitly set.
+		// Calculate the right default value: true except with one-shot mode or if we're running in a ssh session.
+		flags.openBrowser = !flags.oneShot && os.Getenv("SSH_CONNECTION") != ""
 	}
 
 	return flags