Distillation Labs

Distillation Labs / Agentyc / Dokumentacja

Docs Agentyc

Instalacja, konfiguracja wspoldzielonej przegladarki, obsluga state, deterministyczna ekstrakcja i wskazowki debugowania dla Agentyc jako browser MCP runtime w prawdziwych workflowach developerskich.

Przeglad

Agentyc to deterministyczny browser MCP runtime dla agentow kodujacych. Udostepnia publiczny serwer MCP po stdio, rozmawia z Chrome lub Chromium przez CDP i zwraca zwarty browser state ze stabilnymi refami, aby agenci mogli inspekowac i dzialac bez kruchych selektorow lub pelnych dumpow DOM.

Historia produktu jest celowo waska: automatyzacja przegladarki dla agentow kodujacych, a nie autonomiczny framework agentow. Domyslna sciezka browser runtime nie polega na fallbacku LLM i utrzymuje kluczowe workflowy w modelu local first.

Bez Agentyc

Agenci czytaja duze payloady DOM, wielokrotnie odbudowuja selektory i traca czas na debugowanie przegladarki przez posrednie abstrakcje.

Z Agentyc

Agenci inspekcjonuja zwarty state, celuja w stabilne refy, czekaja na prawdziwa aktywnosc sieci i debugguja zywa przegladarke z jednej deterministycznej powierzchni MCP.

Instalacja

Domyslna sciezka jest prosta: zainstaluj przez `uv`, uruchom `agentyc`, a potem skieruj kompatybilnego z MCP agenta na lokalna komende. Dla domyslnego browser runtime nie jest potrzebny API key.

uv tool install agentyc
agentyc
agentyc init

Kompatybilnosc

  • Python 3.11 or newer
  • Local Chrome or Chromium, or an existing browser exposed over CDP
  • stdio MCP runtime with direct CDP browser control
  • No Playwright dependency in the public browser path

Szybki start

01

Zainstaluj

uv tool install agentyc

02

Uruchom serwer MCP

agentyc

03

Zarejestruj serwer

claude mcp add agentyc -- agentyc

04

Sprawdz strone

browser_get_state(mode="min")

Konfiguracja klienta

Claude Code

claude mcp add agentyc -- agentyc

Claude Desktop / Cursor / Windsurf

{
  "mcpServers": {
    "agentyc": {
      "command": "agentyc"
    }
  }
}

OpenCode

{
  "mcp": {
    "agentyc": {
      "type": "local",
      "command": ["agentyc"]
    }
  }
}

Wspoldzielona przegladarka

Agentyc wspiera model wspoldzielonej przegladarki do rownoleglej pracy agentow. Agent glowny uruchamia jedna przegladarke, a kolejne runtimey podpinalaja sie do tego samego profilu i automatycznie zajmuja wlasna karte wspolpracy.

agentyc browser --port 9222 --detach
agentyc mcp --reuse-local-browser --runtime-label "Agent-1"
agentyc mcp --cdp-url ws://127.0.0.1:9222/devtools/browser/... --runtime-label "Agent-2"

Model operacyjny

  • Each runtime gets its own owned tab by default
  • Cookies and local storage stay shared with the browser profile
  • State snapshots, refs, and logs stay scoped to the owned tab
  • `browser_new_tab` is the right next step when one runtime needs another surface

State i refy

Primary primitive

`browser_get_state` returns structured browser state instead of a raw DOM dump.

Stable refs

Interactive elements get refs like `e123`, which are the preferred targeting contract.

Compact modes

Start with `mode="min"` and escalate only when compact state omitted something you need.

Since hash

Use `since_hash` for follow-up polling so unchanged pages return metadata only.

Deterministyczna ekstrakcja

`browser_extract_content` pozostaje deterministyczne w publicznym runtime MCP. Gdy zapytanie pasuje do wspieranej trasy, Agentyc moze wyciagac linki, kolekcje linkow, obrazy, tabele, listy, pola formularzy i panele key value bez przekazywania strony do LLM.

Dobre zapytania

  • `table rows`
  • `all links`
  • `form fields`
  • `key value pairs`

Observability i debugowanie

  1. Step 01

    Read browser console output through `browser_get_console_logs()`.

  2. Step 02

    Inspect recent traffic with `browser_get_network_log()`.

  3. Step 03

    Wait for one precise request or response before continuing.

  4. Step 04

    Inspect or replay one captured request when an app is API-heavy.

  5. Step 05

    Apply narrow mocks or throttling per tab instead of faking the whole browser.

  6. Step 06

    Export one debug bundle with state, logs, network, trace summary, and optional screenshot.

  7. Step 07

    Use `browser_set_intent` and the optional HUD surfaces for short operator-facing progress labels.

  8. Step 08

    Capture traces when browser performance itself is the debugging target.

Konfiguracja

Publiczny runtime czyta glownie zmienne `AGENTYC_`. Domyslne wartosci sa praktyczne dla lokalnej automatyzacji przegladarki, podczas gdy CI i wspoldzielona przegladarka czesto dodaja jawne ustawienia headless lub reuse.

Zmienna Przyklad Cel
AGENTYC_HEADLESS false Run the browser headless when you need CI or background automation.
AGENTYC_ALLOWED_DOMAINS example.com,*.example.org Restrict navigation to an allowlist when you want tighter runtime safety.
AGENTYC_REUSE_LOCAL_BROWSER 1 Auto-attach to the latest locally launched Agentyc browser without copying a CDP URL.
AGENTYC_ACTION_TIMEOUT_S 180 Per-action timeout enforced by the runtime for browser operations.
AGENTYC_HUD_OVERLAY 1 Mirror sanitized runtime activity in the optional desktop HUD window.
AGENTYC_LOGGING_LEVEL info Set Agentyc logging verbosity for local debugging and support.

Referencja narzedzi

Agentyc dostarcza 66 narzedzi MCP. To te, po ktore developerzy zwykle siegaja najpierw, gdy podlaczaja agenta kodujacego do prawdziwej pracy w przegladarce.

Start here

browser_get_state(mode="min")

Primary browser inspection primitive. Returns compact page state with stable refs.

browser_navigate(url="https://example.com")

Navigate to a URL, optionally in a new tab.

browser_wait_for_stable_dom()

Let client-rendered pages settle before you inspect or act again.

browser_search_page(pattern="pricing")

Search long pages without manually scrolling or dumping the whole document.

Interaction

browser_click(ref="e123")

Click by stable ref, index, or coordinates.

browser_type(ref="e145", text="hello")

Clear and type into a field.

browser_select_option(ref="e212", text="Enterprise")

Pick a select option by visible label.

browser_new_tab(url="https://example.com")

Open a new working surface without disturbing another runtime.

Debugging & extraction

browser_extract_content(query="table rows")

Deterministically extract common page structures without LLM fallback.

browser_wait_for_response(url_substring="/api", status=200)

Synchronize precisely against API activity.

browser_inspect_network_entry(url_substring="/api/orders")

Inspect one request or response, including bodies when needed.

browser_export_debug_bundle(include_screenshot=true)

Return a compact artifact with state, logs, network, trace summary, and optional screenshot.

Benchmarks

Import time

194.4 ms

Cold session init

1027.4 ms

Average tool latency

43.3 ms

P95 tool latency

161.6 ms

Screenshot reduction

8.3× smaller

Tool surface

66 MCP tools

Rozwiazywanie problemow

Command not found after install

Verify `uv tool install agentyc` completed and that your uv tool bin directory is on `PATH`. If needed, run the server from an activated environment instead.

Agent loses refs after a re-render

Call `browser_get_state()` again and use the fresh `e123` refs. Stable refs survive normal re-renders, but a changed DOM still means you should re-read state before retrying.

Need multiple agents in the same authenticated browser

Start one shared browser with `agentyc browser --port 9222 --detach`, then attach additional runtimes with `agentyc mcp --reuse-local-browser` or `--cdp-url ...`.

Need browser debugging data after a failure

Use `browser_export_debug_bundle()` for a compact state-plus-logs artifact, or wait for a precise request and inspect it with `browser_inspect_network_entry()`.