Skip to content

Compare versions

From:To:
+541
11¶ # Vercel AI SDK
22
33 **Что это.** Библиотека для TypeScript, через которую приложения говорят с языковыми моделями: потоковые ответы, инструменты, агенты. Сам проект описывает себя так: «The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents».
44
55 **Возраст.** Репозиторий на GitHub заведён 23 мая 2023 года. Проект ведёт компания Vercel.
66
77 **Размер.** 26 500 звёзд, 5 100 форков на сентябрь 2026.
8+¶ ## Привычки, описанные им самим
9+
10+ Правила лежат в [CONTRIBUTING.md](https://github.com/vercel/ai/blob/main/CONTRIBUTING.md), подробности — в каталоге `contributing/`. Главное проект говорит в первых строках: его сопровождение всё больше автоматизируется, и от этого меняется само понятие полезного вклада.
11+
12+ **Хороший баг-репорт ценится выше готового PR:**
13+
14+ > Because of this, **the most helpful contribution is often a high-quality issue rather than a complete pull request.** Clear bug reports, minimal reproductions, failing tests, precise documentation feedback, and thoughtful feature requests help us understand the problem and make better fixes for everyone.
15+
16+ *Поэтому самый полезный вклад — часто не готовый pull request, а качественная задача. Понятные баг-репорты, минимальные воспроизведения, падающие тесты, точные замечания по документации и продуманные запросы возможностей помогают понять проблему и сделать исправление лучше для всех.*
17+
18+ Автора задачи не забывают: если из неё вырастет исправление, его обещают указать соавтором — «we will credit the issue author with co-authorship where appropriate».
19+
20+ **Проект понимает, что это непривычно, и просит говорить, если мешает:**
21+
22+ > We know this transition may feel different from how open source contribution has traditionally worked… If this process creates friction or frustration, please open a `feedback` issue and tell us what is not working.
23+
24+ *Мы понимаем, что такой переход отличается от привычного открытого вклада… Если процесс создаёт трение или раздражение, откройте задачу типа `feedback` и расскажите, что не работает.*
825¶ ## Привычки, видные по переписке
926
1027 Отвечает по существу и проектное решение согласовывает за один день — а выпускает его через десять месяцев. Между вопросом и ответом в #309 — два года и восемь дней.
1128
1229 Цена осторожности названа устройством: новый обратный вызов в библиотеке, на которую опираются десятки тысяч, — это изменение контракта, а не добавленная функция.
30+¶ ## Мелкие правила, по которым узнаётся свой
31+
32+ **Формат коммитов не требуется, зато требуется подпись.** CONTRIBUTING: «We don't require a specific commit message format, but please be descriptive» — и тут же «All commits must be signed». Заголовок PR при этом форматный: `fix(package-name): description`, `feat(package-name): description`, `chore(package-name): description`.
33+
34+ **Changeset — всегда `patch`, и это не semver.** Комментарий в `.github/workflows/verify-changesets.yml` объясняет:
35+
36+ > vercel/ai uses https://github.com/changesets/changesets for versioning and changelogs, but is not following semantic versioning. Instead, **it uses `patch` for both fixes and features.** It uses `minor` for "marketing releases", accompanied by a blog post and migration guide.
37+
38+ *Проект использует changesets для версий и changelog, но не следует семантическому версионированию. `patch` идёт и на исправления, и на новые возможности; `minor` — для «маркетинговых релизов» с постом в блоге и гайдом по миграции.*
39+
40+ Отсюда жирное «Please do not use minor or major changesets» в CONTRIBUTING; CI проверяет это по меткам.
41+
42+ **Инструменты:** pnpm v11, Node v22.13, v24 или v26; `lint-staged` форматирует файлы при коммите. В именах никаких `e`, `msg`, `cfg`: `contributing/naming-conventions.md` требует «Avoid single-letter variables» — код читают и агенты.
43+
44+ **Метки ставит бот** по промпту из `.github/tigent.yml`: «when in doubt, add support». Файла CODEOWNERS нет.
45+¶ ## Чего ждать, если придёте со своей правкой
46+
47+ Всё ниже — из [CONTRIBUTING.md](https://github.com/vercel/ai/blob/main/CONTRIBUTING.md), шаблона PR и файлов `contributing/` самого проекта.
48+
49+ **Сначала задача, потом код:**
50+
51+ > Before investing in a full implementation for a bug fix, please consider opening or improving an issue first. **Maintainers and automated workflows may prepare the final fix**, and we will credit high-quality reports that lead to fixes.
52+
53+ *Прежде чем вкладываться в полную реализацию исправления, сначала откройте или улучшите задачу. Итоговое исправление могут подготовить мейнтейнеры и автоматика, а качественные отчёты, приведшие к исправлению, будут отмечены.*
54+
55+ **Чеклист PR короткий, и его нельзя править:** подписанные коммиты («PRs with unsigned commits cannot be merged»), тесты, документация, `patch`-changeset, самопроверка. Плюс раздел «End-to-End Verification» — как проверили вручную.
56+
57+ **Пустые задачи закрыты:** `blank_issues_enabled: false`, вопросы отправляют на форум community.vercel.com.
58+
59+ **Новый провайдер — лучше своим пакетом.** `contributing/add-new-provider.md`:
60+
61+ > Every provider is welcome to create a 3rd party package. We are happy to link to it from our documentation. If you would prefer a 1st party `@ai-sdk/<provider>` package, please create an issue first to discuss.
62+
63+ *Любой провайдер может сделать сторонний пакет — мы с радостью дадим на него ссылку в документации. Хотите пакет `@ai-sdk/<provider>` внутри проекта — сначала откройте задачу для обсуждения.*
64+
65+ **Релизы — дело мейнтейнеров:** `contributing/releases.md` озаглавлен «for maintainers only». Бот changesets собирает PR «Version Packages», его слияние публикует пакеты в npm.
1366¶ ## Кто в кадре
1467
1568 Люди, встреченные в наших разборах этого проекта. Черта называется только вместе с поступком — с датой и ссылкой. Ник — главный, имя — из профиля; нет имени в профиле — только ник.
1669
1770 ### lgrammel — Lars Grammel
1871
1972 Ведёт разработку SDK.
2073
2174 В [#309](https://github.com/vercel/ai/issues/309), открытом два года:
2275
2376 - 12.07.2024 — пришёл через год с ответом «the AI SDK functions support a `abortSignal` option» — верным и не про то, о чём спрашивали;
2477 - 17.09.2024 — на предложение xl0 ответил **в тот же день**: объяснил, почему предложенная форма плоха («because of typesafety»), и тут же предложил свою: «I would prefer something like `onAbort` — would that work for you?»;
2578 - 18.07.2025 — сам принёс [PR #7394](https://github.com/vercel/ai/pull/7394) с `onAbort`, закрыв и #309, и #6699.
2679
2780 Спроектировал решение за один день и выпускал его десять месяцев.
2881
2982 ### jvandenaardweg — Jordy van den Aardweg
3083
3184 10.07.2023 — [#309](https://github.com/vercel/ai/issues/309): спросил не про удобство, а про деньги: «I want to know how many tokens are generated when the user cancels the stream». Задача прожила два года и восемь дней.
3285
3386 ### verrannt — Pascal Schröder
3487
3588 03.08.2024 — через три недели после ответа мейнтейнера переспросил: «It is not at all clear to me how I would go about implementing it». Переспрос, показавший, что ответили на соседний вопрос.
3689
3790 ### xl0 — Alexey Zaytsev
3891
3992 17.09.2024 — предложил конкретное устройство («`abortSignal` должен вызывать `onFinish`»). Предложение отклонили, но именно оно сдвинуло задачу с мёртвой точки.
4093
4194 ### Хор #309
4295
4396 Люди, приходившие по одному с одним и тем же за два года: **lassegit** (Lasse, 31.08.2023 — «I need a callback to be able to track token usage»), **GorvGoyl** (Gourav Goyal, 18.10.2023 — «what are some current workarounds till the team fixes the issue?»), **yvngjordi** (Jordan, 20.01.2024 — «guess Vercel SDK is just limited»), **winddpan** (12.03.2024 — «hope Vercel can solve it»), **hassanbazzi** (25.07.2023 — «this is very important»).
4497
4598 Двадцать четыре комментария, и почти каждый — про учёт расхода.
4699¶ ## Разборы, где встречается
47100
48101 - **«Два года, чтобы перестать печатать»** — сколько токенов сгорело, когда пользователь нажал «стоп»: вопрос, проживший два года, и решение, спроектированное за день.
49102
50103 ---
51104
52 *Карточка собрана 02.09.2026 из открытых источников: репозиторий и переписка в PR и задачах. Правила проекта (CONTRIBUTING и подобные) в карточку ещё не разобраны — раздел «Привычки, описанные им самим» появится, когда будут. Фотографий и личных данных здесь нет и не будет. Нашли неточность или хотите, чтобы вас убрали, — напишите, поправим без вопросов.*
105+ *Карточка собрана 02.09.2026 из открытых источников: репозиторий, документация проекта, переписка в PR и задачах. Фотографий и личных данных здесь нет и не будет. Нашли неточность или хотите, чтобы вас убрали, — напишите, поправим без вопросов.*