add noninteractive flag to prevent opening browser

This commit is contained in:
Bruce MacDonald 2024-12-18 14:03:50 -08:00
parent 444640f3c7
commit ac300ec32b
2 changed files with 7 additions and 1 deletions

View file

@ -555,7 +555,7 @@ func unknownKey(unknownKeyErr error) error {
return unknownKeyErr
}
if term.IsTerminal(int(os.Stdout.Fd())) {
if term.IsTerminal(int(os.Stdout.Fd())) && !envconfig.Noninteractive() {
// URL encode the key and device name for the browser URL
encodedKey := base64.RawURLEncoding.EncodeToString([]byte(localPubKey))
d, _ := os.Hostname()
@ -1547,6 +1547,8 @@ func NewCLI() *cobra.Command {
envVars["OLLAMA_GPU_OVERHEAD"],
envVars["OLLAMA_LOAD_TIMEOUT"],
})
case pushCmd:
appendEnvDocs(cmd, []envconfig.EnvVar{envVars["OLLAMA_NONINTERACTIVE"]})
default:
appendEnvDocs(cmd, envs)
}

View file

@ -165,6 +165,9 @@ var (
IntelGPU = Bool("OLLAMA_INTEL_GPU")
// MultiUserCache optimizes prompt caching for multi-user scenarios
MultiUserCache = Bool("OLLAMA_MULTIUSER_CACHE")
// Noninteractive is true when CLI interactive features should be disabled.
// This affects features like automatic browser opening.
Noninteractive = Bool("OLLAMA_NONINTERACTIVE")
)
func String(s string) func() string {
@ -250,6 +253,7 @@ func AsMap() map[string]EnvVar {
"OLLAMA_ORIGINS": {"OLLAMA_ORIGINS", Origins(), "A comma separated list of allowed origins"},
"OLLAMA_SCHED_SPREAD": {"OLLAMA_SCHED_SPREAD", SchedSpread(), "Always schedule model across all GPUs"},
"OLLAMA_MULTIUSER_CACHE": {"OLLAMA_MULTIUSER_CACHE", MultiUserCache(), "Optimize prompt caching for multi-user scenarios"},
"OLLAMA_NONINTERACTIVE": {"OLLAMA_NONINTERACTIVE", Noninteractive(), "Disable interactive CLI features, such as automatically opening the browser"},
// Informational
"HTTP_PROXY": {"HTTP_PROXY", String("HTTP_PROXY")(), "HTTP proxy"},