fb84a566f2
- app.md - cdp-cli/ Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cdp-cli
Wrapper Go de las funciones del dominio browser del registry. Subcomandos one-shot para hablar con una instancia de Chrome via CDP.
Diseñado para coexistir con la navegacion humana: el binario NO mata al browser al salir, conecta, ejecuta y se va. Tu sigues navegando, los enrichers/agentes invocan cdp-cli cuando necesitan HTML post-JS, screenshots, evaluar JS, etc.
Issue: 0038-browser-launch-cdp-control.md (fase 0038c).
Build
cd projects/osint_graph/apps/graph_explorer/cdp-cli
go build -o cdp-cli .
Funciones del registry envueltas
| Subcomando | Funcion |
|---|---|
launch |
chrome_launch_go_browser |
navigate |
cdp_navigate_go_browser (+ cdp_wait_load opcional) |
get-html |
cdp_get_html_go_browser |
screenshot |
cdp_screenshot_go_browser |
evaluate |
cdp_evaluate_go_browser |
click |
cdp_click_go_browser |
type |
cdp_type_text_go_browser |
wait-load |
cdp_wait_load_go_browser |
wait-element |
cdp_wait_element_go_browser |
set-cookie |
cdp_set_cookie_go_browser |
Uso tipico
# 1) Lanzar Chrome con perfil aislado del app
./cdp-cli launch \
--port 9222 \
--user-data-dir /home/lucas/fn_registry/projects/osint_graph/apps/graph_explorer/local_files/browser_profiles/default
# Output: pid=12345 port=9222
# 2) Navegar (en otra terminal o desde otro proceso)
./cdp-cli navigate --port 9222 --url https://example.com
# 3) HTML post-JS
./cdp-cli get-html --port 9222 > page.html
# 4) Screenshot pagina completa
./cdp-cli screenshot --port 9222 --out /tmp/shot.png --full-page
# 5) Eval JS
./cdp-cli evaluate --port 9222 --js "document.querySelectorAll('a').length"
Modo "tu y yo a la vez"
Una unica instancia de Chrome aceptando varios clientes CDP simultaneos:
┌──────────────────────────────┐
chrome --remote-debugging-port=9222 --user-data-dir=... │
│ │
▼ ▼
Tu navegando manualmente cdp-cli get-html
(extension issue 0014) (enricher / agente)
Cookies/login son los del profile → tu logueas LinkedIn una vez, los enrichers heredan la sesion.
Roadmap (fuera de v0)
cdp-clileebrowser_sessionsdegraph_explorer.dbpara resolver--profile NAME→ puerto (fase 0038d, panel UI).- Auto-launch si el profile pedido no esta vivo (0038g).
- Enricher
fetch_webpage_browserque invocacdp-cli get-htmlen lugar de HTTP plano (0038e).