npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

flowwit-backend

v0.9.0

Published

Multi-agent LLM platform with a visual workflow engine — chat with agents directly or build deterministic node-graph pipelines they execute step by step.

Readme

Flowwit

English version

Мультиагентная LLM-платформа с визуальным движком воркфлоу. Можно общаться с агентами напрямую в чате, а можно строить детерминированные пайплайны (граф нод), которые агенты исполняют пошагово — вместо того чтобы каждый раз полагаться на решение LLM, что делать дальше.

Это бэкенд платформы. Есть отдельный фронтенд с визуальным редактором воркфлоу — опциональный, работать можно и без него, например через Telegram-канал.

Установка

git clone https://github.com/Kirilqa/flowwit-backend
cd flowwit-backend
npm install

Настройка

Скопировать файл-пример окружения и настроить хотя бы одного провайдера:

cp .env.example .env
OPENAI_API_KEY=sk-...
# или
OPENROUTER_API_KEY=sk-or-...
# или, для локальных моделей через Ollama, ключ не нужен:
OLLAMA_BASE_URL=http://localhost:11434
# или, для локальных моделей через LM Studio, ключ нужен только если включён там:
LMSTUDIO_BASE_URL=http://localhost:1234

Обязательно нужно настроить хотя бы одного провайдера — у OpenAI/OpenRouter должен быть задан ключ, у Ollama/LM Studio достаточно явно раскомментировать соответствующий *_BASE_URL (обе пробуются при старте только если их переменная присутствует). Ключ у LM Studio опционален — задавай LMSTUDIO_API_KEY только если включил "Require Authentication" в её собственных настройках сервера. Всё остальное в .env.example (порт/host сервера, пути хранения, доп. опции провайдеров, настройки каналов) — опционально, с разумными дефолтами.

Все персистентные данные (конфиги агентов/MCP/каналов, сессии, скиллы, память, воркфлоу, запланированные задачи) по умолчанию лежат под ./data/ — для сохранности достаточно бэкапить или монтировать эту одну папку. При первом запуске (пустая ./data/) сервер сам создаёт стартового агента и устанавливает пять системных скиллов-гайдов — руками ничего заводить не нужно.

Запуск

npm run dev             # API-сервер на http://localhost:3000 (или SERVER_PORT), с hot reload конфигов
npm run dev -- --chat   # консольный чат вместо сервера

Для продакшн-сборки:

npm run build
npm run start

Или через Docker:

docker build -t flowwit-backend .
docker run --env-file .env -p 3000:3000 -v $(pwd)/data:/app/data flowwit-backend

Монтирование -v — это то, что позволяет данным пережить пересоздание контейнера (например, на следующем docker run после обновления) — без него всё под ./data/ живёт только в writable-слое контейнера и теряется в момент его удаления.

Если используешь OLLAMA_BASE_URL/LMSTUDIO_BASE_URL и сам бэкенд тоже запущен в Docker — localhost внутри контейнера означает сам контейнер, а не хост-машину. Указывай http://host.docker.internal:11434/http://host.docker.internal:1234 (Docker Desktop на Mac/Windows) или реальный LAN-адрес хоста (Linux).

Использование

  • Серверный режим (по умолчанию) — REST + SSE API для чата, воркфлоу, агентов, планировщика и остального. SSE-стрим генерации — POST /messages.
  • Консольный режим (--chat) — общение с агентом прямо в терминале.
  • Агенты, MCP-серверы, каналы, воркфлоу и запланированные задачи описываются декларативно в JSON-файлах (по умолчанию ./data/agents.json, ./data/mcp.json, ./data/channels.json, ./data/workflows/, ./data/scheduled-tasks.json — пути настраиваются, см. .env.example) и подхватываются на лету без рестарта процесса.

Что внутри

  • Агенты — LLM-агенты с вызовом инструментов, две стратегии мышления (свободный ReAct и явный Plan-and-Execute), скиллы, сабагенты, MCP-серверы, бюджеты, гуардрейлы с интерактивным подтверждением, персистентные сессии.
  • Скиллы — файловые SKILL.md с инструкциями, скриптами (исполняются, не читаются как код) и бинарными ассетами; маркетплейс ClawHub для установки/обновления чужих скиллов.
  • WorkFlow — бэкенд для графового редактора: типизированные порты, параллельные ветки, циклы, стриминг событий выполнения.
  • Scheduler — запуск промпта агента или воркфлоу разово, по cron-расписанию или по требованию.
  • Каналы — Web (SSE) и Console из коробки, Telegram как первый пользовательский канал; у каждого свои настройки и hot reload.
  • Гуардрейлы — интерактивное разрешение/запрет вызовов инструментов, с правилами на трёх уровнях (global/agent/session) и glob-паттернами.
  • Память — файловая персистентная память агента между сессиями, с настраиваемыми лимитами по объёму.

Стек

Node.js, TypeScript (strict), Zod, Fastify, Server-Sent Events, Pino.

Разработка

npm run lint            # eslint
npm run check-format    # prettier --check
npm test                # jest
npm run test:coverage   # jest --coverage

Лицензия

MIT