# webnn

Помогает агенту встроить Web Neural Network API в JS или TS: проверки navigator.ml, MLContext, графы, тензоры и откат на локальные рантаймы.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 463 установки · ★ 52
- Автор: webmaxru
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/webmaxru/web-ai-agent-skills/tree/HEAD/skills/webnn/SKILL.md
- Обновлён: 2026-09-29
- HTML: https://affpapa.org/nevibecode/skills/webnn

## Что делает

Скилл описывает пошаговый порядок работы с WebNN в браузере. Сначала агент ищет точки входа фронтенда — HTML, воркеры, файлы бутстрапа фреймворка — и при наличии Node запускает `node scripts/find-webnn-targets.mjs .`, чтобы собрать список подходящих файлов. Если фронтендов несколько, он останавливается и спрашивает, в какое приложение встраивать. Для серверного инференса, обучения моделей и облачных AI API скилл не подходит, и агент об этом скажет.

Перед кодом агент читает справочники из папки `references`: `webnn-reference.md`, `examples.md`, `compatibility.md` и `troubleshooting.md`. Дальше он выбирает форму рантайма — прямой граф через `MLGraphBuilder` или адаптер вокруг уже подключённого локального рантайма вроде ONNX Runtime Web. Поддержку он проверяет централизованно: `window.isSecureContext`, `navigator.ml` и нужный контекст (`Window` или `Worker`).

Работать это будет только в защищённом контексте, и это первое, что стоит проверить при отладке. `accelerated` и `powerPreference` — пожелания, а не гарантия: бэкенд браузера может разбить граф или откатить отдельные операторы. Если `context.lost` сработал, контекст, граф и тензоры считаются недействительными и создаются заново. Отдельно скилл требует явного, согласованного с продуктом запасного пути — подменять локальный инференс удалённым провайдером молча нельзя.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add webmaxru/web-ai-agent-skills --skill webnn -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/webnn/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/webnn/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add webmaxru/web-ai-agent-skills --skill webnn -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/webnn/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add webmaxru/web-ai-agent-skills --skill webnn -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/webnn/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install webmaxru/web-ai-agent-skills webnn
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/webnn/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add webmaxru/web-ai-agent-skills --skill webnn -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/webmaxru/web-ai-agent-skills --path skills/webnn
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/webnn/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add webmaxru/web-ai-agent-skills --skill webnn -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/webmaxru/web-ai-agent-skills/tree/HEAD/skills/webnn/SKILL.md

## Когда брать
- проверить поддержку WebNN и безопасный контекст перед запуском инференса
- собрать граф через `MLGraphBuilder` и выполнить его на устройстве
- выбрать между `high-performance`, `low-power` и CPU-инференсом
- пережить потерю контекста и пересобрать граф с тензорами
- оставить явный откат на ONNX Runtime Web для браузеров без поддержки

## Примеры запросов агенту
- добавь в это приложение проверку `navigator.ml` и инициализацию `MLContext`
- собери граф через `MLGraphBuilder` и прогони тензоры через `writeTensor`, `dispatch` и `readTensor`
- сделай явный откат на ONNX Runtime Web, если ускоренный контекст не создаётся

## Похожие
- [zoom-video-sdk-web](https://affpapa.org/nevibecode/skills/zoom-video-sdk-web.md) — скилл · ★ 7596
- [opencli-adapter-author](https://affpapa.org/nevibecode/skills/opencli-adapter-author.md) — скилл · 16200 установок
- [chrome-extension-development](https://affpapa.org/nevibecode/skills/chrome-extension-development.md) — скилл · 2800 установок
- [prefetch](https://affpapa.org/nevibecode/skills/prefetch.md) — скилл · 1500 установок
- [playwright-generate-test](https://affpapa.org/nevibecode/skills/playwright-generate-test.md) — скилл · 18162 установки
- [jshookmcp](https://affpapa.org/nevibecode/mcp/jshookmcp.md) — MCP-сервер · ★ 2061

Из того же набора: [webmaxru/web-ai-agent-skills](https://affpapa.org/nevibecode/by/webmaxru/web-ai-agent-skills.md) — 3 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
