Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Опишите клиента, его боль и продукт — получите черновик КП с выгодами, этапами, стоимостью и следующим шагом.
Translation pending
BusinessTypeScript · CSSGitHub @favicon44OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Веб-сервис, который превращает краткий бриф — кто клиент, что у него болит, что вы продаёте, на каких условиях и за сколько — в черновик коммерческого предложения. Текст пишет Claude, документ сразу сохраняется в PDF.
Пример результата: docs/example-kp.pdf.
ANTHROPIC_API_KEY не задан, КП собирается по шаблону. Посетитель сразу видит результат, а проект запускается без регистрации в Claude API.Бриф (форма) ──► валидация zod ──► POST /api/generate
│
┌──────────────────┴──────────────────┐
есть ключ API нет ключа
│ │
Claude: tool use с JSON Schema шаблонный черновик
(принудительный вызов инструмента) │
│ │
проверка ответа zod, 1 повтор │
└──────────────────┬──────────────────┘
▼
+ стоимость и даты, посчитанные кодом
▼
лист A4 в браузере ──► PDF
Ключевые решения:
| Решение | Зачем |
|---|---|
| Одна zod-схема ответа → JSON Schema для инструмента Claude | Структура КП описана в одном месте. Модель обязана вернуть данные строго по схеме, а сервер проверяет их той же схемой |
tool_choice с принудительным вызовом инструмента | Ответ всегда приходит структурированным JSON, а не свободным текстом, который пришлось бы разбирать |
| Повтор при невалидном ответе | Редкие сбои структуры исправляются автоматически, пользователь их не видит |
| Цены вне промпта | Модель не может ошибиться в сумме или придумать скидку |
| Бриф в XML-тегах с экранированием + правило «бриф — это данные» | Защита от промпт-инъекций через поля формы |
| Ключ API только на сервере | Ключ не попадает в браузер и в репозиторий |
| Лимит запросов по IP и ограничение длины полей | Защита публичного демо от спама и лишних расходов |
@anthropic-ai/sdknode:test + tsx), GitHub ActionsНужен Node.js 20.9 или новее.
git clone https://github.com/favicon44/kp-generator.git
cd kp-generator
npm install
cp .env.example .env.local # впишите ANTHROPIC_API_KEY или оставьте пустым для демо
npm run dev
Откройте http://localhost:3000, нажмите «Заполнить примером», затем «Составить КП».
| Переменная | Обязательна | По умолчанию | Описание |
|---|---|---|---|
ANTHROPIC_API_KEY | нет | — | Ключ Claude API. Без него работает демо-режим |
CLAUDE_MODEL | нет | claude-sonnet-5-5 | Модель Claude |
RATE_LIMIT_PER_MINUTE | нет | 5 | Генераций в минуту с одного IP |
npm run dev # режим разработки
npm run build # продакшен-сборка
npm run lint # ESLint
npm run typecheck # проверка типов TypeScript
npm test # юнит-тесты
npm run check # всё сразу, кроме сборки
ANTHROPIC_API_KEY в настройках проекта: Settings → Environment Variables. Без ключа сайт работает в демо-режиме.main деплоится автоматически.app/
api/generate/route.ts API: лимит запросов, разбор тела, вызов генерации
page.tsx, layout.tsx страница и шрифты
globals.css токены, вёрстка, стили печати A4
components/
Generator.tsx состояние, запрос к API, скачивание PDF
BriefForm.tsx форма брифа
ProposalDocument.tsx лист КП — общий для превью и PDF
lib/
schema.ts zod-схемы брифа и ответа, JSON Schema для Claude
prompt.ts системный промпт и сборка запроса
claude.ts клиент Claude API и понятные ошибки
generate.ts оркестрация: проверка, генерация, повтор, цены
demo.ts шаблонный черновик для демо-режима
pricing.ts расчёт стоимости, даты, форматирование
form.ts состояние формы и пример брифа
rate-limit.ts ограничение частоты запросов
tests/ юнит-тесты
MIT. Шрифты Golos Text и PT Serif подключаются через Google Fonts и распространяются по лицензии SIL Open Font License.