Turn Browser Actions into CLI Commands

Powered by LLM and Chrome CDP, cliany-site automatically explores web workflows and generates reusable CLI commands. Control any website like calling a script.

✓ Connecting to Chrome CDP...
✓ Analyzing page structure...
✓ LLM planning workflow...
✓ CLI commands generated to ~/.cliany-site/adapters/github.com/

{"ok": true, "data": {"results": [...]}}

Core Features

4 core capabilities + 12 extended capabilities

Start with the core four, then enable advanced capabilities on demand.

01 CORE

Zero-Intrusion Exploration

Injection-free AXTree exploration to quickly locate automatable paths.

02 CORE

LLM-Driven Code Generation

Turn page semantics directly into executable CLI commands.

03 CORE

Standard JSON Output

Unified {ok,data,error} output for easy automation integration.

04 CORE

Persistent Sessions

Reuse one login across commands to eliminate repetitive operations.

🩹

Smart Self-Healing

AXTree snapshot diffing, hot-patch selectors without re-exploring.

✂️

Smart DOM Pruning

4-layer AXTree pruning reduces LLM token usage by up to 50% for complex pages.

Lazy Adapter Registry

On-demand adapter loading accelerates CLI startup times significantly.

🔍

Diagnostic Mode

AI-powered root cause analysis for command execution failures.

🔒

Metadata Schema v3

Enforces v3 metadata with `migrate` utility to auto-upgrade legacy adapters.

Extended Capabilities (12)

Hide complexity by default, unlock it when needed.

  • Dynamic Adapter Loading
  • Chrome Auto-Management
  • Incremental Adapter Merge
  • Atomic Command System
  • Smart Recording Validation
  • TUI Management Interface
  • Headless & Remote Browser
  • YAML Workflow Orchestration
  • Data-Driven Batch Execution
  • Python SDK & HTTP API
  • Security Hardening
  • Adapter Marketplace

Real-World Use Cases

Explore once, own your CLI forever

🔥

GitHub as Your CLI

Tired of repetitive clicks on GitHub? Search repos and view READMEs directly from your terminal.

Browser → Search → Click repo → View README

5 steps · ~30s

Single command, structured JSON, pipe-friendly

1 command · Instant
✓ Adapter generated at ~/.cliany-site/adapters/github.com/
{"ok": true, "data": {"results": [...]}}
CONCEPT
💡

No API? Build Your Own

Stuck with a legacy CRM with no API? Generate a dedicated CLI for any web portal in minutes.

Login → CRM → Search → Details → Orders → Filter

7 steps · ~2m

Extract structured data with pipes

1 command · Instant
$ cliany-site crm.company.com search-customer --name "John Doe" --json | jq '.orders[:5]'
{"ok": true, "data": {"name": "John Doe", "orders": [...]}}
CONCEPT
🚀

Team Toolbox

Stop wasting time on internal portal onboarding. Explore once, share adapters, and level up the whole team.

10+ docs + constant "where is this?" questions

Fragmented knowledge · High friction

Install shared adapters for instant access

Unified CLI · Zero learning curve
$ cliany-site market install ./team-toolkit.cliany-adapter.tar.gz
✓ Installed: jira.company.com, confluence.company.com, jenkins.company.com

$ cliany-site jira.company.com create-ticket --title "fix login bug" --json
{"ok": true, "data": {"id": "PROJ-1234"}}

How It Works

Three steps from web pages to CLI commands

1

Explore

Specify a target URL and task description — the LLM automatically analyzes page structure and plans the action path.

cliany-site explore "https://github.com" "search repos"
2

Generate

Transform exploration results into Python/Click CLI tools, automatically saved to the local adapter directory.

~/.cliany-site/adapters/github.com/commands.py
3

Run

Replay workflows with generated CLI commands. Fuzzy matching ensures stable execution even after minor page changes.

cliany-site github.com search --query "browser-use" --json

CLI Reference

$ cliany-site doctor --json
{"ok": true, "data": {"cdp": true, "llm": true}}

$ cliany-site login "https://github.com" --json
✓ Waiting for browser login...
✓ Session saved to ~/.cliany-site/sessions/

$ cliany-site explore "https://github.com" "Search repos and view README" --json
✓ Exploration complete, adapter generated

$ cliany-site list --json
{"ok": true, "data": {"adapters": ["github.com"]}}

$ cliany-site github.com search --query "browser-use" --json
{"ok": true, "data": {"results": [...]}}

Quick Start

Set up in five minutes

Step 1: Install

# PyPI install (v0.11.0+)
pip install cliany-site

# Or install from source
git clone https://github.com/pearjelly/cliany.site.git
cd cliany-site
pip install -e .

Step 2: Configure LLM

export CLIANY_LLM_PROVIDER=anthropic
export CLIANY_ANTHROPIC_API_KEY="sk-ant-..."

Step 3: Choose Provider

# Default: Chrome (Supported: Explore + Run)
cliany-site doctor --json

# Experimental: Obscura (Supported: Run only)
cliany-site obscura install 0.1.0 --json
export CLIANY_BROWSER_PROVIDER=obscura

Step 4: Start Exploring

# Note: explore requires Chrome provider
cliany-site explore "https://github.com" "search repos" --json

Experimental: Obscura Browser Provider

Obscura is a lightweight alternative to Chrome, currently in experimental status. Chrome remains the default provider.

  • Explore Not Supported: Obscura does not yet support AXTree exploration. Use it for executing existing adapters.
  • Platforms: darwin-arm64, darwin-x86_64, linux-x86_64, windows-x86_64
  • Lifecycle Commands: install / use / status / clean / rollback / upgrade / doctor