Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1656Tools index
Pricing
Open Source
Type
TOOL
GitHub
11 stars
Date

About

Go rewrite of harnessless: daemon-based Chrome DevTools Protocol bridge for concurrent browser automation.

What it does

Go Harnessless keeps one connection to an already running Chrome session, then accepts short-lived automation requests from shell commands or Go programs. It can navigate, click coordinates, type, press keys, capture screenshots, inspect tabs, evaluate JavaScript, collect browser events, and forward raw DevTools commands.

Why it's ranked here

The design makes a strong case for automation that must preserve browser state while serving concurrent callers. Per-tab locks allow parallel reads, a fixed worker pool limits pressure on Chrome, and request-specific response channels avoid global response routing. The focused command set remains practical for scripts and language-model tool calls.

What's good

The daemon retains the active Chrome session and cookies between client invocations. Read operations can run concurrently across tabs, while mutations receive exclusive tab access. Each DevTools request has a 30-second timeout. Users get both a shell-friendly client and typed Go helpers, plus raw protocol access when the helpers fall short.

Tradeoffs

Setup requires Chrome 144 or newer, remote debugging enabled, and Go for building from source. The transport uses a fixed Unix domain socket, which narrows the natural deployment environment. Browser interaction centers on coordinates, focused-element text input, JavaScript, and raw protocol commands. The documented high-level surface does not include selector-based element targeting.

How to use it well

Use it for local agents, shell scripts, or Go services that repeatedly control an existing Chrome profile and benefit from parallel work across tabs. Keep the daemon alive, use helpers for common actions, and drop to raw DevTools commands for gaps. It does not replace browser provisioning or a higher-level element-finding framework.

Technical notes+

go.mod declares module github.com/browser-use/go-harnessless, Go 1.23.4, and github.com/gorilla/websocket as its sole listed dependency. daemon.go owns the persistent WebSocket, sync.Map of pending responses, four-worker workerCh, 500-event buffer, 30-second CDP timeout, stale-session retry, and newline-delimited JSON server on /tmp/harnessless.sock. tab_manager.go implements manager-level and per-tab sync.RWMutex locking. client.go opens a fresh Unix connection for every Send and applies a 35-second connection deadline. helpers.go supplies higher-level actions, while cmd/client/main.go and cmd/daemon/main.go build the two command interfaces.

Observed

Primary language
Go
Packaging
Go module with separate daemon and client binaries built from source
Interfaces
Command-line client, Go library, Unix-socket JSON protocol, and raw Chrome DevTools Protocol passthrough
Browser requirement
Chrome 144 or newer with remote debugging enabled
Go declaration
go.mod declares Go 1.23.4
Runtime dependency
go.mod lists github.com/gorilla/websocket
Transport
Local Unix domain socket at /tmp/harnessless.sock
Repository structure
The supplied repository tree shows no test directory or test files

Read from README.md, go.mod, types.go, client.go, daemon.go, helpers.go, tab_manager.go, cmd/client/main.go, cmd/daemon/main.go.

What it can do

  • Bridge Chrome DevTools Protocol communications

    DevTools Protocol commands and eventsProcessed protocol messages between client and browser

  • Enable concurrent browser automation

    Multiple automation scripts or commandsParallel browser operations execution

  • Run as background daemon service

    System startup configurationPersistent background process for browser control

  • Manage browser instances without UI harnesses

    Browser launch parametersHeadless or lightweight browser sessions

  • Handle multiple browser connections simultaneously

    Connection requests from automation clientsEstablished browser communication channels

Tags

browser-usecdpgobrowser-automationdaemon

Tech Stack

Go

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.