Publisher-defined
Sites declare meaningful components, capabilities, allowed values, protected areas, and named views.
Open protocol for safe AI website customisation
Customex lets a website publish a machine-readable visual contract. AI can then translate natural-language requests into reviewable, reversible view changes—without arbitrary selectors, credentials, or server-side actions.
Sites declare meaningful components, capabilities, allowed values, protected areas, and named views.
Users can say “make this calmer” or “show only design and operations posts.” The model proposes a patch; it does not receive authority.
The extension validates every action against the live manifest. Apply is explicit, changes are atomic, and Undo restores the previous state.
A minimal manifest describes visual surfaces. Supported reference capabilities are:
visibilitydensitythemelayoutCustomex.register({
version: "0.1",
site: { name: "Pulseboard" },
components: [{
id: "workboard",
label: "Today's workboard",
selector: "#workboard",
capabilities: ["density", "theme", "layout"],
constraints: { values: {
density: ["compact", "comfortable"],
theme: ["calm", "contrast"],
layout: ["grid", "stacked"]
}}
}],
views: [{
id: "focus", name: "Focus mode",
description: "A calm, spacious workspace",
actions: [{ component: "workboard", capability: "theme", value: "calm" }]
}],
policy: { protected: ["billing"] }
});
Turn a news site into a distraction-free reading list, hide navigation, and enlarge text without changing the underlying service.
Give a project board a focus, compact, or accessibility-oriented view for different moments in the workday.
Share advisory recipes such as “calm GitHub inbox” or “compact Reddit reading view.” Recipes can request declared values but never grant new permissions.
MCP commonly exposes tools that perform server-side work on a user’s behalf. Customex is intentionally different: it is a presentation-layer protocol for choosing what a site shows and how it is rendered. Authentication, account mutations, and external side effects remain outside this reference protocol.
Customex starts with visual capabilities such as visibility, density, theme, layout, metadata-based filtering, and named views. A publisher can also declare additional typed view capabilities with allowed values and CSS or site-owned rendering behavior—for example grouping a feed by topic, switching a chart mode, creating an accessibility view, or applying a custom design system.
The boundary is deliberate: Customex can change a website’s local, read-only presentation, but it does not grant API access, credentials, account mutations, or external side effects. Those authenticated actions belong in a separate tool or MCP-style protocol.
Run python -m http.server 8000 from the repository root, open Pulseboard or the JSON-backed feed, then load the unpacked Chrome extension from extension/. The feed includes publisher views and deterministic topic filtering.