effect-uai — скилл

Скилл учит агента писать ИИ-агентов на effect-uai: потоки ходов модели, инструменты, провайдеры и рецепты.

  • 77 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Минимальный доступ

Почему такой уровень

  • Скилл дает инструкции и ссылки на рецепты, сам ничего не запускает.
Все причины и проверки

betalyra/effect-uai

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/effect-uai

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скилл дает инструкции и ссылки на рецепты, сам ничего не запускает.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

effect-uai — набор низкоуровневых примитивов на базе Effect: один ход модели это типизированный поток событий, а цикл агента пишет сам разработчик. Скилл объясняет эту философию и основные примитивы, подсказывает подключение провайдеров и отправляет агента к библиотеке рецептов. Вместо отдельного скилла на каждый рецепт внутри лежит каталог сценариев. Он связывает цель, например автоповтор, подтверждение вызова инструмента, гибридный поиск, голосовой цикл или бот для мессенджера, с папкой в `recipes/`. Агент открывает ее разбор и код, затем адаптирует под задачу. Новые рецепты доступны сразу, без выпуска нового скилла.

Для кого. Разработчикам на TypeScript, которые строят агентов поверх Effect и хотят, чтобы кодовый агент знал примитивы библиотеки.

Подходит, если

  • Агента собирают на Effect и нужен цикл с собственным состоянием и бюджетом.
  • К модели подключают провайдера OpenAI, Anthropic или Gemini через общий слой.
  • Вызовы инструментов проходят подтверждение человеком, цикл ставят на паузу.
  • Нужен голосовой агент или бот для Telegram, Discord и Slack.

Не подходит, если

  • Проект не использует Effect и не собирается на него переходить.
  • Нужен готовый фреймворк, который сам ведет цикл агента.
  • Требуется стабильный API без изменений между минорными релизами.

Пример запроса к агенту

Собери агента на effect-uai с подтверждением каждого вызова инструмента и автоповтором при лимите запросов.

Ограничения

Библиотека помечена как экспериментальная: в ветке 0.x минорные релизы могут ломать совместимость, для каждого выпускается руководство по миграции. Скилл только ориентирует агента, ключи провайдеров и запуск кода остаются на стороне проекта. Знание Effect агенту не гарантировано, поэтому незнакомые конструкции стоит сверять с документацией. Для каждого провайдера нужен собственный ключ и платный доступ к его API.

Как отключить. Удалите папку скилла из каталога навыков агента. Зависимости `@effect-uai/*` в проекте уберите отдельно.

Частые вопросы

Когда скилл включается?

По широким сигналам вроде «строю ИИ-агента на Effect» или «подключи сервис LanguageModel». Агент загружает его, только когда описание совпадает с задачей.

Какие провайдеры подключаются?

Responses и OpenAI, Anthropic, Gemini, Mistral, любой шлюз с `/chat/completions`, а также поиск (Exa, Tavily, Perplexity), чтение страниц (Firecrawl, Jina) и голос (ElevenLabs).

Чем библиотека отличается от фреймворка?

У нее нет рантайма и оркестратора: ход модели отдает поток событий, а состояние и цикл остаются кодом пользователя.

Что такое рецепты?

Готовые решения для совета моделей, автосжатия контекста, паузы и возобновления, гибридного поиска. У каждого есть разбор и исходный код.

Как обновляться между релизами?

Сайт библиотеки публикует руководства по миграции в виде «если видите X, пишите Y». Агенту достаточно показать нужную страницу.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Плагин с одним скиллом по проектированию, отладке и оценке ИИ-агентов, основанный на книге Bojie Li об инженерии агентов.

ПлагинМинимальный доступ51Звезды репозитория

Agents Best Practices

agents-best-practices

Скилл проектирования агентных систем без привязки к вендору: архитектура цикла, инструменты, права, память и наблюдаемость

СкиллМинимальный доступ2,4 тыс.Звезды репозитория

Реестр скиллов с CLI и API: агент описывает задачу и получает рекомендацию с оценкой доверия и командой установки

CLIРасширенный доступ371Звезды репозитория

Скилл превращает расплывчатый запрос в типизированный IntentSpec: сам ищет ответы в репозитории и задает один вопрос, который не решить без вас

СкиллРасширенный доступ95Звезды репозитория

Internet Court

Internet Court Skill

Скилл для сделок между агентами: единая точка входа в идентичность, переговоры, контракты, платежи, эскроу и разбор споров

СкиллШирокий доступ7,1 тыс.Звезды репозитория

Каталог из почти двухсот скиллов: доставка кода, ревью, отладка, управление ИИ, продуктовая работа и координация агентов.

СкиллМинимальный доступ175Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
effect-uai (эта карточка)нет77
Effect-TS Skillsда115учит общим приемам Effect-TS; effect-uai ориентирован на примитивы агентов и каталог рецептов
Effect skillнет355справка по самому Effect; этот скилл знает провайдеров, потоки ходов модели и рецепты агентов

Коротко о README

Скилл лежит в папке `skills/` репозитория. Сама библиотека разбита на пакеты: ядро без провайдерских зависимостей и отдельные пакеты для каждого сервиса. Статус проекта экспериментальный, автор записал вводный видеоролик на 47 минут и ведет сервер в Discord.

Бейдж для README

Исходный SKILL.md

---
name: effect-uai
description: Use when building AI agents and AI media workflows with effect-uai (Effect-based primitives for agent loops, tools, streaming, structured output, embeddings, retrieval, reranking, speech, realtime voice and camera sessions, messenger bots, browser chat UIs, music, and image generation). Covers design philosophy, core primitives, provider wiring, and a recipe library for retry, fallback, tool approval, RAG and hybrid retrieval, transcription, speech synthesis, voice loops, realtime voice agents, Telegram/Discord/Slack bots, music generation, image generation and editing, SSE/JSONL, and more.
license: MIT
---

# effect-uai

Low-level Effect primitives for building AI agents as ordinary programs.
The library does not own your control flow; it gives you the pieces and
gets out of the way.

## Design philosophy

Use this mental model when writing or recommending code:

1. **State is a record you own.** History is `ReadonlyArray<Items.HistoryItem>`.
   Add whatever else your app needs (turn index, budget, tenant id,
   pendingPrompts, ...). The library never inspects it.
2. **One turn is a `Stream<TurnEvent>`.** Text deltas, reasoning, tool
   calls, usage updates, and the terminal `TurnComplete` (carrying the
   assembled `Turn`) all flow through one typed stream.
3. **The loop is a pull-based combinator.** `loop((state) => Stream<Step<A, S>>)`
   threads state across iterations. Each body returns a stream that
   forwards values, then ends with `Loop.next(state)` to continue or
   `Loop.stop()` / `Loop.stop(state)` to exit.
4. **Tools are typed Effects (or Streams).** A `Tool` declares an input
   schema and a `run(input)` returning an Effect, or a Stream of snapshots
   of its own output type. Tools are grouped into a name-indexed `Toolkit`,
   and `Toolkit.run(toolkit, calls)` returns a stream of `ToolEvent.Partial`
   (every stream element, as it is produced) and `ToolEvent.Output` (a typed
   `Result`), so the UI sees progress while only the final value goes back
   to the model.
5. **Providers are Layers.** `LanguageModel` is a single service; each
   provider package (`@effect-uai/responses`, `@effect-uai/anthropic`,
   `@effect-uai/google`) ships a `layer({ apiKey })` that implements it.
   The program shape stays identical across providers.

When the user asks for a "framework feature" (auto-retry, mid-stream
abort, pause/resume, streaming JSONL, multi-model voting, ...), the
answer is almost always "compose primitives in the loop body", not
"reach for an integration." Recommend the appropriate recipe pattern
(see catalog below) instead of building wrapper layers.

## Install

```sh
pnpm add @effect-uai/core effect
# pick one or more providers:
pnpm add @effect-uai/openai            # OpenAI: Responses (language) + embeddings + speech + images

Сообщить о проблеме