Files
BrowserOS/packages/browseros-agent/tools/dev/browser/args.go
Dani Akash 290ee91a8b Add 'packages/browseros-agent/' from commit '90bd4be3008285bf3825aad3702aff98f872671a'
git-subtree-dir: packages/browseros-agent
git-subtree-mainline: 8f148d0918
git-subtree-split: 90bd4be300
2026-03-13 21:22:09 +05:30

59 lines
1.4 KiB
Go

package browser
import (
"fmt"
"path/filepath"
"browseros-dev/proc"
)
type ArgsConfig struct {
Root string
Ports proc.Ports
UserDataDir string
Headless bool
LoadDevExtensions bool
}
func BuildArgs(cfg ArgsConfig) []string {
binary := "/Applications/BrowserOS.app/Contents/MacOS/BrowserOS"
args := []string{binary}
if cfg.LoadDevExtensions {
args = append(args, "--no-first-run", "--no-default-browser-check")
}
args = append(args,
"--use-mock-keychain",
"--show-component-extension-options",
"--disable-browseros-server",
)
if cfg.LoadDevExtensions {
args = append(args, "--disable-browseros-extensions")
} else {
args = append(args, "--enable-logging=stderr")
}
if cfg.Headless {
args = append(args, "--headless=new")
}
args = append(args,
fmt.Sprintf("--remote-debugging-port=%d", cfg.Ports.CDP),
fmt.Sprintf("--browseros-mcp-port=%d", cfg.Ports.Server),
fmt.Sprintf("--browseros-extension-port=%d", cfg.Ports.Extension),
fmt.Sprintf("--user-data-dir=%s", cfg.UserDataDir),
)
if cfg.LoadDevExtensions {
controllerExtDir := filepath.Join(cfg.Root, "apps/controller-ext/dist")
agentExtDir := filepath.Join(cfg.Root, "apps/agent/dist/chrome-mv3-dev")
args = append(args, fmt.Sprintf("--load-extension=%s,%s", controllerExtDir, agentExtDir))
args = append(args, "chrome://newtab")
}
return args
}