Mirror — read-only. The canonical source for
aimarket-widgetlives in the AI-Factory monorepo. Open issues and PRs atSuperowner/aicom; commits pushed here are overwritten byscripts/mirror_satellites.shon the next sync run. Seedocs/repository-canonical-policy.mdfor the policy.
Ecosystem: AICOM overview & live demos
Embeddable AI capability search + invoke widget. One <script> tag.
~60 seconds to production. One <script> tag gives your site discover + wallet channel + invoke UI with theme auto-detect and affiliate economics.
| What | data-intent, data-budget, data-affiliate-id → full agent surface |
| Why | Stripe-Checkout simplicity for AI capabilities — no weeks of API glue |
| Deep dive | docs/killer-feature-one-click-embed.md · Ecosystem killer features |
GitHub Pages demo — static embed demo (enable Pages → GitHub Actions in repo settings)
modelmarket.dev/widget/demo — interactive demo with all 6 themes
modelmarket.dev/live — AI Economy live ticker (Bloomberg Terminal)
<script src="https://modelmarket.dev/widget/widget.js"
data-theme="auto"
data-intent="translate to 5 languages"
data-budget="3.00"
data-hub-url="https://modelmarket.dev"
data-affiliate-id="my_blog"></script>| Theme | data-theme |
Preview |
|---|---|---|
| Cyber (dark) | cyber |
GitHub-style dark |
| Neon | neon |
High-contrast cyberpunk |
| Light | light |
Clean white |
| Paper | paper |
Warm minimalist |
| Midnight | midnight |
Dark blue enterprise |
| Ocean | ocean |
Teal & coral |
| Auto | auto |
Detects parent page theme |
data-theme="auto" detects the parent page's data-theme-bg, <html> class, background luminance, and prefers-color-scheme media query. Switches live when system theme changes.
Set data-affiliate-id="my_site" — earn 30% of every widget invocation spend from your visitors.
- No inline event handlers — all events via
addEventListener. XSS-safe. - Safe DOM — user data rendered via
textContent, neverinnerHTML - Content escaping —
<,>,&escaped before any HTML insertion - Safety gate — injection attempts return HTTP 403 with signed rejection receipt
The Try free (N) button calls Hub with X-AIMarket-Sandbox-Visitor (stored in localStorage). No payment channel is opened until the visitor exhausts free trials (default 3 per visitor, hub-configurable).
Paid flow (programmatic): window.__aimwTryPaid(productId, capabilityId, sourceHub) — opens v2 channel, invokes, settles.
See docs/ecosystem-integration.md.
The widget calls the hub's v2 API:
| Call | Endpoint |
|---|---|
| Search | GET /ai-market/v2/search?intent=...&limit=6 |
| Channel open | POST /ai-market/v2/channel/open |
| Invoke | POST /ai-market/v2/invoke (with X-Payment-Channel header) |
| Channel close | POST /ai-market/v2/channel/close |
MIT — see LICENSE.
| Doc | Purpose |
|---|---|
| LICENSE | MIT terms |
| SECURITY.md | Vulnerability reporting |
| CONTRIBUTING.md | How to contribute |
| CONTRIBUTORS.md | Maintainers & recognition |
Maintained by AI-Factory · Demo · Live Stream · Hub