Open Standard · TypeScript SDK

The Web,
Context-Ready

Web Context Interface (WCI) makes sites natively readable for LLM-based agents through structured data-wci-* markup, a semantic Distiller Engine, and a typed Interactivity Protocol — all in <8 KB.

~66% Token reduction
<8 KB Bundle size
0 Breaking changes
3 Core layers

Human View vs. Agent View

The same web — two radically different representations.

Feature 🧑 Human-Friendly (Standard) 🤖 Agent-Friendly (WCI)
Structure Deeply nested, CSS-dependent divs Flat, schema-typed node list
Navigation Visual cues — icons, colors, hover Descriptive data-wci-desc
State Implicit — URL changes, CSS classes Explicit ActionResult payloads
Noise High — ads, navbars, hero images Low — only functional nodes
Errors Red border, toast notification Typed error.code + error.hint
Context cost50–500 KB raw HTML 1–10 KB distilled JSON/MD
Side effectsRe-parse full DOM sideEffects[] in ActionResult
Auth Implicit redirect flow Auth-Required in wci.txt
Scoping None — full DOM exposed Landmark scopes bound reasoning

Live Demo

Interact with the form or click the Agent Actions to dispatch typed commands and watch the distilled output update in real time.

🧑 Human View Registration Form
Create your account

🤖 Agent Actions Dispatch Commands

Click to dispatch typed actions via WciBridge:

🤖 Agent View
— tokens
Loading…

Live Website to Agentic View

Paste browser-interpreted DOM (for example from Amazon) and infer an WCI-like view even when there are no data-wci-* tags.

Open the target page in your browser console and run: copy(document.documentElement.outerHTML) then paste it below.

Ready.

Metrics will appear here after parsing.
🧑 Raw DOM Structural outline of pasted browser DOM
No page loaded yet.
🤖 Inferred Agent View Heuristic conversion without custom tags
No page loaded yet.

Evaluation Results

Multi-step task grounding on 50 scenarios (OpenRouter). See evals/README.md for methodology and limitations.

📈 Benchmark Results

Multi-step grounding on 50 scenarios — all five evaluation approaches.

Success rate (%)
Raw HTML DOM outline Interactive candidates WCI full WCI grounding
Tokens per step (est.)
Raw HTML DOM outline Interactive candidates WCI full WCI grounding

🏆 Agent Performance Comparison

Performance comparison across 50 multi-step grounding scenarios evaluated over six LLMs (OpenRouter, May 2026). See evals/README.md for methodology and limitations.

Model Success rate (%) Tokens per step (est.)
Raw HTML DOM outline Candidates WCI full WCI grounding Raw HTML DOM outline Candidates WCI full WCI grounding
Loading benchmark results…

Site Context Layer

Like robots.txt — but for agents. Three files at the web root give LLMs site-wide grounding before they touch a single page.

📄 wci.txt

Directive file — allow/deny scopes, rate limits, auth requirements, human-confirmation guards. Machine-parsed by the agent runtime.

View file ↗
📋 wci.json

Structured site manifest — capabilities, authentication flows, multi-step task flows, scope descriptors. For tool-calling agents.

View file ↗
📖 wci.md

Rich Markdown narrative injected into the LLM's system prompt. Explains purpose, allowed actions, task flows, and error recovery.

View file ↗
🌐 Loaded Context Parsed from this page's site context files
Loading site context files…

data-wci-* Attribute Reference

12 attributes. Zero breaking changes. HTML5-compatible.

AttributeTypeDescription
data-wci-id string Stable unique identifier for this node
data-wci-role enum action · form · display · nav · status · landmark
data-wci-desc string LLM-optimised description of what this node does
data-wci-action enum click · fill · select · check · upload · submit · navigate
data-wci-state JSON Current observable state snapshot
data-wci-preconditionstring Natural language guard condition
data-wci-required boolean Whether this field must be satisfied before form submission
data-wci-options JSON arrayEnumerated choices for select/radio/checkbox groups
data-wci-emit string Custom DOM event fired after interaction
data-wci-scope string Parent landmark scope ID
data-wci-hidden boolean Flag decorative nodes for Distiller pruning
data-wci-priority 1–5 Importance ranking within scope (1 = primary CTA)