How egouilliard/pinchtab-webgraph works
pinchtab-webgraph crawls JavaScript-rendered sites into navigation and content graphs, then answers navigation and content questions from those graphs. Its main workflow is browser discovery → graph/cache → offline query or runnable action; declarative flows and the optional web workspace add automation and interactive access. The README documents several subsystems whose implementation was not sampled, so their nodes use only paths present in the tree and uncertain internal links are omitted.
Main entry points: server.py Web app server · interaction_crawl.py Interaction crawler · api.py Query API · cli.py Command line
Components 26
Site discovery
- Navigation crawler
pinchtab_webgraph/crawl.py - Interaction crawler
pinchtab_webgraph/interaction_crawl.py - Authenticated access
pinchtab_webgraph/login.py - Per-host graph cache
pinchtab_webgraph/cache_store.py
Graph queries
- Query API
pinchtab_webgraph/api.py - Cache-first answers
pinchtab_webgraph/ask.py - How-to discovery
pinchtab_webgraph/howto.py - Structured queries
pinchtab_webgraph/query_cmd.py - Live recipe discovery
pinchtab_webgraph/recipe.py
Automation
- One-shot execution
pinchtab_webgraph/perform.py - Flow step VM
pinchtab_webgraph/flow.py - Saved flows
pinchtab_webgraph/ui/flow_store.py
Access surfaces
- Command line
pinchtab_webgraph/cli.py - MCP tools
pinchtab_webgraph/mcp_server.py - UTCP manual
pinchtab_webgraph/utcp_manual.py
Web workspace
- Web app server
pinchtab_webgraph/ui/server.py - Workspace interface
pinchtab_webgraph/ui/static/app.js - Chat agent
pinchtab_webgraph/ui/chat.py - Claude Code backend
pinchtab_webgraph/ui/chat_claude_code.py - Chat sessions
pinchtab_webgraph/ui/chat_store.py - Live browser pane
pinchtab_webgraph/ui/screencast.py - Flow editor
pinchtab_webgraph/ui/static/flows.js - Flow runner
pinchtab_webgraph/ui/flow_runner.py
Other components
- User or agent
- PinchTab browser
- Anthropic service
Connections 36
- User or agent → Command line: runs commands
- User or agent → Workspace interface: uses workspace
- User or agent → MCP tools: invokes tools
- Command line → Navigation crawler: starts crawl
- Command line → Interaction crawler: starts crawl
- Navigation crawler → PinchTab browser: drives browser
- Interaction crawler → PinchTab browser: drives browser
- Interaction crawler → Authenticated access: uses login
- Interaction crawler → Per-host graph cache: writes graph
- Navigation crawler → Per-host graph cache: saves graph
- Cache-first answers → Per-host graph cache: checks cache
- Cache-first answers → Interaction crawler: discovers on miss
- Cache-first answers → Query API: queries graph
- How-to discovery → Query API: queries graph
- Structured queries → Query API: calls queries
- MCP tools → Query API: calls queries
- UTCP manual → Structured queries: runs commands
- Command line → Structured queries: dispatches queries
- Live recipe discovery → PinchTab browser: probes live UI
- One-shot execution → PinchTab browser: executes actions
- Workspace interface → Web app server: requests services
- Web app server → Query API: serves queries
- Web app server → Chat agent: dispatches chat
- Web app server → Chat sessions: stores sessions
- Chat agent → MCP tools: uses tools
- Chat agent → Anthropic service: requests responses
- Web app server → Claude Code backend: dispatches backend
- Claude Code backend → MCP tools: uses tools
- Web app server → Live browser pane: streams browser
- Live browser pane → PinchTab browser: opens browser
- Workspace interface → Flow editor: opens editor
- Flow editor → Web app server: loads and saves
- Web app server → Saved flows: persists flows
- Web app server → Flow runner: runs flows
- Flow runner → Flow step VM: executes steps
- Flow runner → PinchTab browser: drives browser