API VEGA

Pipe — нативная для MCP среда выполнения, готовая к эксплуатации

Первый язык с встроенным MCP — сервер и клиент. 245 встроенных функций, единственный ~8 МБ двоичный файл. Никаких зависимостей.

Официально зарегистрирован в официальном MCP Registry (v1.1.1, активно). Установка в один клик из GitHub MCP Registry для Copilot и VS Code.

Что нового в v1.0

Pipe v1.0.0 — это релиз, готовый к эксплуатации, объединяющий всю серию v0.9.x:

  • Условия-охранники (guard clauses)| pattern if cond -> body в выражениях match

  • Примитивы конкуренции (Concurrency primitives) — каналы (send/recv/try_recv), мьютекс (lock/unlock), счетный семафор (acquire/release)

  • Улучшения байткод‑VM — константное свёртывание, алиасы пространств импортов, кэш байт-кода

  • Модуль MQTT 5.0 — чистый клиент Pipe MQTT с проверкой входных данных, свойства CONNACK, обработка DISCONNECT

  • docs-pipe — RAG‑модуль для поиска по документации на основе заголовков и разбивки на фрагменты

  • Тестовая инфраструктура — хуки setup/teardown, assert_near/assert_contains, тестовые блоки VM

  • Укреплённая песочница — раунды аудита 1–6, детерминированное маскирование окружения, центральный шлюз выхода

  • 245 встроенных функций — 36 AI + 13 MCP + 192 стандартных, больше чем в v0.9.3

  • 23 модуля — MQTT, SQLite, pipe-http, pipe-web, pipe-orm, pipe-cli и другие

Быстрая установка

curl -fsSL https://pipe-lang.com/install.sh | bash   # Linux & macOS

Windows (PowerShell): irm https://pipe-lang.com/install.ps1 | iex

Установщик загружает последнюю версию, проверяет контрольную сумму SHA256 и устанавливает pipe в ~/.local/bin (или /usr/local/bin при запуске от имени root). Задайте версию с помощью PIPE_VERSION=v1.0.0. См. полную документацию по установке.

Установленные копии сами обновляются до последней версии на GitHub: pipe --update (или pipe --update-check, чтобы просто проверить наличие), pipe --version, чтобы увидеть текущую версию. Обновлятор сверяет контрольную сумму релиза и заменяет двоичный файл на месте.

Конфиденциальность и DSGVO

Pipe — соответствие DSGVO / GDPR по умолчанию:

  • Нулевая телеметрия и аналитика — двоичный файл никогда не звонит домой, ничего не отправляется с вашего устройства

  • Самодостаточный единый двоичный файл — работает полностью на вашей инфраструктуре

  • Без облака — никакие данные не обрабатываются на серверах поставщиков

  • Открытый исходный код (MIT) — полностью подлежит аудиту

  • Локальный ИИ — с Ollama, ни один байт не покидает вашу сеть; облачные провайдеры используются только если вы их специально настроили

Проблема

Развертывание ИИ в продакшене сложнее, чем должно быть:

  • Безопасность — LLMs с доступом к файлам, сети и выполнению команд — риск. Нужна тонкая песочница на уровне языка, а не послекатегорная прослойка.

  • Производительность — последовательные вызовы API превращают одноступенчатый конвейер в узкое место. Параллелизм не должен требовать boilerplate.

  • Зависимость от поставщика — переход с OpenAI на DeepSeek требует переписывания кода SDK на Python. Изменения провайдеров должны быть одной строкой.

  • Интеграция инструментов — подключение LLM к внешним инструментам (GitHub, базы данных, файловые системы) — лабиринт SDK и обёрток API. MCP должен быть язывым примитивом, а не библиотекой.

Pipe решает эти задачи на уровне языка.

Что такое Pipe?

Pipe — это Semantic Pipeline Runtime (SPR) — язык с нативной конвейерной обработкой, где summarize, translate и classify лежат на той же синтаксической основе, что и +, sort и len. Данные проходят сверху вниз через композиционные преобразования. Один бинарник. Никаких зависимостей.

Python + LangChain (~80 строк):

import openai
client = openai.OpenAI()
def summarize(text):
    r = client.chat.completions.create(model="gpt-4o", messages=[{"role":"user","content":text}])
    return r.choices[0].message.content
def translate(text, lang):
    r = client.chat.completions.create(model="gpt-4o",
        messages=[{"role":"system","content":f"Translate to {lang}"},{"role":"user","content":text}])
    return r.choices[0].message.content
text = open("news.txt").read()
print(translate(summarize(text), "de"))

Pipe (5 строк):

summarize -- LLM call > translate "de" -- LLM call > print">``` read_file "news.txt" > summarize -- LLM call > translate "de" -- LLM call > print


## Model Context Protocol

Pipe имеет встроенный MCP — как сервер, так и клиент. Ни SDK, ни npm‑пакетов, ни Python. Чистая стандартная библиотека Go.

### MCP Server — Раскрывайте ваши инструменты

 "22°C, sunny"
        | "London" -> "15°C, rainy"
        | _ -> city ++ ": no data"

ai_tool "get_weather" "Get weather for a city" {city: "City name"} get_weather
mcp_server "Weather Agent" "1.0.0"
mcp_serve_stdio">```
fn get_weather city
    match city
        | "Berlin" -> "22°C, sunny"
        | "London" -> "15°C, rainy"
        | _ -> city ++ ": no data"

ai_tool "get_weather" "Get weather for a city" {city: "City name"} get_weather
mcp_server "Weather Agent" "1.0.0"
mcp_serve_stdio

Настройка в Claude Desktop (claude_desktop_config.json):

{ "mcpServers": { "pipe": { "command": "/tmp/pipe", "args": ["agent.pipe"] } } }

MCP Client — Используйте внешние инструменты

ai_provider "deepseek"
ai_set_key "deepseek" (env "DEEPSEEK_API_KEY")

-- Подключение к MCP серверам GitHub + файловой системе
mcp_use_stdio "npx" "-y" "@modelcontextprotocol/server-github" {GITHUB_TOKEN: (env "GITHUB_TOKEN")}
mcp_use_stdio "npx" "-y" "@modelcontextprotocol/server-filesystem" "/tmp"

-- ИИ автоматически обнаруживает и использует все инструменты
result: ai_with_tools "You are a DevOps assistant." "Search pipe's open issues and list files in /tmp." 10
print result

Любой stdio MCP сервер работает мгновенно: файловая система, GitHub, Git, Postgres, SQLite, Slack, Brave Search, Память, Непрерывное мышление — всё что угодно на npm/uvx.

Примеры использования

Анализ логов → Инцидент-отчет

split "\n" > filter is_critical > summarize > translate "de" > save "incident_report.txt"">``` is_critical: fn line contains line "critical"

read_file "/var/log/app/errors.log" > split "\n" > filter is_critical > summarize > translate "de" > save "incident_report.txt"


### RAG‑пайплайн

 print">```
ai_provider "deepseek"

docs: read_lines "knowledge_base.txt"
vectors: embed_batch docs

question: "How does the bytecode VM work?"
q_vec: embed question
top: nearest q_vec vectors 3

context: ""
for idx in top
    context: context ++ (at docs idx) ++ "\n---\n"

ask ("Context:\n" ++ context ++ "\nQuestion: " ++ question)
    > print

AI‑агент с вызовом инструментов

"22°C, sunny" | "London" -> "15°C, rainy" | _ -> city ++ ": no data"

ai_tool "get_weather" "Get current weather for a city" {city: "Name of the city"} get_weather

ai_with_tools "You are a weather assistant." "What's the weather in Berlin and London?" > print">``` fn get_weather city match city | "Berlin" -> "22°C, sunny" | "London" -> "15°C, rainy" | _ -> city ++ ": no data"

ai_tool "get_weather" "Get current weather for a city" {city: "Name of the city"} get_weather

ai_with_tools "You are a weather assistant." "What's the weather in Berlin and London?" > print


### Конкурентность — 3 вызова LLM за 1,5 с, а не за 4 с

> ask
b: "What is CP/M?" >> ask
c: "Explain RFC 791" >> ask

print a ++ b ++ c   -- будущее авторазрешение">```
ai_provider "deepseek"

a: "Explain monads" >> ask
b: "What is CP/M?" >> ask
c: "Explain RFC 791" >> ask

print a ++ b ++ c   -- будущее авторазрешение

Уведомления CI/CD в Discord

import "discord.pipe" as d
ai_provider "deepseek"

-- AI‑код-ревью по коммиту, отправляется как Discord embed
review: ai_chat "Review this code change" diff 800

d.d_webhook_embed (env "DISCORD_WEBHOOK") {
    title: "CI: Push to master",
    color: 3447003,
    fields: [
        {name: "Changed Files", value: stat},
        {name: "AI Review", value: review}
    ]
}

Сравнение: Pipe vs Python + LangChain

Python + LangChainPipe
RAG-пайплайн~80 LOC~8 LOC
Доступ к песочнице LLMСпециализированная прослойкаОдин блок sandbox_profile
Переключение провайдера ИИПереписать вызовы SDKai_provider "deepseek"
Развертывание на сервереDocker + venv + pipscp двоичного файла pipe
Параллельные вызовы LLMboilerplate с asyncio.gather()оператор >>, ai_batch
MCP Server + ClientЗависит от библиотеки13 встроенных функций, ноль зависимостей, 100+ серверов
Размер двоичного файла~500 МБ (с зависимостями)~8 МБ

Функции

  • MCP-native — 13 встроенных функций для MCP Server + Client. Чистая стандартная библиотека Go. Подключение к любому MCP‑серверу через stdio

  • Доставляйте AI‑пайплайны в 10x быстрее — 36 AI + 13 MCP встроенных функций: без импорта, без SDK, без обёрток API

  • Заточите агентов ИИ в одну строку — декларативные профили песочницы: ограничьте exec, write_file, http_get одним блоком

  • Развертывание за секунды — один статически слинкованный ~8 МБ бинарник. Нет venv, нет pip, нет Docker. Linux, macOS, Windows, Raspberry Pi или ваш браузер через WebAssembly

  • 3 вызова LLM за 1.5s, не 4s>> запускает любую стадию пайплайна в фоновом режиме. Futаes авто-резолвятся. ai_batch обрабатывает сотни текстов одновременно с встроенным ограничением скорости

  • Без vendor lock-in — OpenAI, Anthropic (Claude), DeepSeek, Ollama. Переключение одной строкой. Один и тот же код работает везде

  • Примитивы конкурентности — каналы (send/recv), мьютекс (lock/unlock), счетный семафор (acquire/release)

  • Синтаксис конвейерной природы> последовательный, >> параллельный. Данные текут сверху вниз — читаемо, составимо, отлаживаемо

  • Встроенные социальные платформы — вебхуки Discord и боты Telegram как модули Pipe. AI‑ревью кода, уведомления, чат — нулевые API‑расходы на отправку

  • Байткод VM — компиляция в байткод, выполнение на стековой VM с автоматическим кешированием. Эмпирически 0.6x–55x по сравнению с деревом‑обходчиком, в зависимости от нагрузки (рекурсии до ~55x)

  • Модульная экосистема — 23 curated модуля, реестр с привязкой версий (@1.0.0). pipe -get устанавливает, импорт по имени

  • Встроенное тестирование — блоки test с assert_eq, assert_error. Запускать через pipe -test. Ноль настроек

  • GitHub Action — запуск Pipe непосредственно в CI/CD. Установка не требуется

  • VSCode Extension — подсветка синтаксиса, IntelliSense, диагностика и автодополнение на основе LSP

  • Саморазворачивающийся бинарник — распространяйте ваш пайплайн как автономный исполняемый файл (pipe -build)

Быстрый старт

print'">``` git clone https://github.com/MachuraHarry/pipe && cd pipe && make build export DEEPSEEK_API_KEY="sk-..." ./bin/pipe -vm -q -c 'ai_provider "deepseek"; ask "What makes Pipe different?" > print'


## Попробуйте в браузере

Установка не требуется — Pipe полностью работает в вашем браузере через WebAssembly:

  [Открыть Pipe Playground](https://pipe-lang.com/playground.html)

classify levels
    > summarize
    > print">```
-- Вставьте это в playground и нажмите Run
levels: ["error","warn","info"]
read_file "server.log"
    > classify levels
    > summarize
    > print

GitHub Action

Запустите Pipe напрямую в CI/CD — установка не требуется:

- uses: MachuraHarry/pipe/.github/actions/pipe-action@master
  with:
    script: |
      print "Hello from CI/CD!"
      log: exec "git log --oneline -20"
      print (get log "output")

→ Документация GitHub Action

VSCode Extension

Синтаксическая подсветка и полное IntelliSense для файлов .pipe, основанные на клиенте Language Server Protocol (vscode/) и сервере pipe-lsp (cmd/pipe-lsp):

  • Автодополнение, справочная информация по элементам, сигнатуры функций, переход к определению, ссылки, переименование

  • Диагностика (ошибки разбора, определения/неиспользованные переменные) и семантическая подсветка

  • Форматирование документа, авто‑завершение скобок, авто‑отступы и свёртывание кода

make vsix     # собирает сервер и упаковывает vscode/pipe-syntax-1.0.0.vsix

Или запустите расширение в режиме разработки F5 из папки vscode/. Смотрите Документацию VSCode Extension.

Модульная экосистема

Pipe имеет курируемую библиотеку модулей23 повторно используемых модуля с привязкой версий:

ИнфраструктураДанные и CLIAI и агентыDevToolsСоциальное
pipe-httpsqliterag-pipepipe-testtelegram-bot
pipe-clijpipelog-analyzerpipe-validatemqtt
pipe-ormpipe-tplsentiment
pipe-webpipe-datecode-review
translate-batch
changelog-gen
email-classifier
incident-report
parallel-runner
date-formatter
docs-pipe
pipe -search                 # Просмотр модулей
pipe -search sql             # Фильтр по ключевому слову
pipe -get sqlite             # Установить последнюю версию
pipe -get sqlite@0.8.0       # Установить конкретную версию

each print">``` import "sqlite" -- база данных import "pipe-http" -- HTTP-клиент import "mqtt" -- MQTT 5.0 клиент import "discord.pipe" as d -- Discord вебхуки + бот

idx: index_create h "knowledge" index_add idx "Pipe is an AI-native language." index_search idx "language" 3 > each print


[→ Документация экосистемы](https://github.com/MachuraHarry/pipe/blob/master/docs/en/21-ecosystem.md) | [→ Вклад в модуль](https://github.com/MachuraHarry/pipe-modules/blob/master/CONTRIBUTING.md)

## Режимы выполнения

| Режим | Команда | Скорость |
| --- | --- | --- |
| Tree-Walker | ./bin/pipe script.pipe | Базовая производительность |
| Bytecode VM | ./bin/pipe -vm -q script.pipe | 0.6x-55x (для рекурсивно‑нагруженных задач до ~55x) |

## 49 встроенных функций для AI + MCP (36 AI + 13 MCP)

### Понимание

`summarize`, `translate`, `classify`, `extract`, `ask`, `generate`, `generate_json`

### Скорость и контроль

`ai_stream`, `ai_batch`, `ai_parallel`, `ai_rate_limit`, `ai_chat`, `ai_chat_json`

### Поиск и извлечение

`web_search`, `wiki_search`, `embed`, `embed_batch`, `cosine_sim`, `dot_product`, `nearest`

### Агенты и инструменты

`agent`, `agent_ask`, `agent_clear`, `ai_tool`, `ai_with_tools`

### Конфигурация и стоимость

`ai_provider`, `ai_model`, `ai_host`, `ai_set_key`, `ai_timeout`, `ai_cache`, `ai_cost`, `ai_tokens`, `ai_cache_hits`, `ai_cache_misses`

### MCP — Model Context Protocol

`mcp_server`, `mcp_serve_stdio`, `mcp_serve_sse`, `mcp_tools`, `mcp_resource`, `mcp_resource_template`, `mcp_prompt`, `mcp_resources`, `mcp_read_resource`, `mcp_prompts`, `mcp_prompt_get`, `mcp_use_stdio`, `mcp_use_sse`

### Самовосстановление

`try_ai`, `try_ai_log`

## Расширенные возможности

### Самовосстанавливающийся код (`try_ai`)

 AI оборачивает в to_num -> 126
catch e
    0                   -- выполняется только если исправление AI не удалось

print result           -- 126">```
ai_provider "deepseek"

result: try_ai
    "42" * 3           -- E002 Type Error -> AI wraps with to_num -> 126
catch e
    0                   -- выполняется только если исправление AI не удалось

print result           -- 126

Параллельный конвейер (>>)

ask b: "Frage B" >> ask c: "Frage C" >> ask

print a ++ b ++ c -- Будущее авторазрешение">``` a: "Frage A" >> ask b: "Frage B" >> ask c: "Frage C" >> ask

print a ++ b ++ c -- Будущее авторазрешение


### Условия-гвардии в match

 9 -> "critical"
        | s if s > 5 -> "warning"
        | _ -> "info"">```
fn classify severity
    match severity
        | s if s > 9 -> "critical"
        | s if s > 5 -> "warning"
        | _ -> "info"

Конкурентность: каналы

ch: chan 3
go { send ch "hello" }
go { send ch "world" }
print (recv ch) ++ " " ++ (recv ch)

Песочные профили

sandbox_profile "safe" {fs: "read-only", network: false, exec: false, ai: true}
sandbox_profile "agent" {fs: "temp-only", network: true, exec: false, ai: true}

set_sandbox "safe"
read_file "/etc/config"     -- чтение разрешено
write_file "/etc/config"    -- E_SANDBOX blocked

Архитектура

Лексер -> Парсер -> AST -> [ Tree-Walker | Compiler + VM ] | Встроенные функции (всего 245: 36 AI + 13 MCP + 192 стандартных) | MCP Server MCP Clients (stdio + HTTP)">``` Источник (.pipe) -> Лексер -> Парсер -> AST -> [ Tree-Walker | Compiler + VM ] | Встроенные функции (245: 36 AI + 13 MCP + 192 стандартных) | MCP Server <-> MCP Clients (stdio + HTTP)


- 67 типов токенов, 36 типов AST-узлов, 43 опкода

- ~37 000 строк кода на Go, 643 теста, 87 примеров программ

- Никаких зависимостей — чистая стандартная библиотека Go

## Документация

[→ Полная документация (English)](https://github.com/MachuraHarry/pipe/blob/master/docs/en/index.md)

[→ Vollständige Dokumentation (Deutsch)](https://github.com/MachuraHarry/pipe/blob/master/docs/de/index.md)

## Структура проекта

pipe/ ├── cmd/ │ ├── pipe/main.go # Точка входа │ └── pipe-lsp/ # Сервер языковой службы (IntelliSense) ├── pkg/ │ ├── ai/ # Интеграции AI-провайдеров │ ├── analysis/ # Библиотека IntelliSense (builtins, diagnostics, completion...) │ ├── ast/ # Определения AST-узлов │ ├── build/ # Конструктор самораспаковывающегося двоичного файла │ ├── cache/ # Кэш байт-кода │ ├── compiler/ # Компилятор в байткод │ ├── eval/ # Интерпретатор по дереву (tree-walk) │ ├── formatter/ # Форматтер кода │ ├── gen/ # Помощники генерации кода │ ├── lexer/ # Лексер и токены │ ├── mcp/ # MCP сервер и клиенты (нулевая зависимость) │ ├── object/ # Объекты времени выполнения │ ├── parser/ # Парсер │ ├── stdlib/ # Помощники стандартной библиотеки │ └── vm/ # Байткод VM ├── examples/ # 87 примеров программ ├── test/integration/ # Интеграционные тесты ├── vscode/ # Расширение VSCode (синтаксическая подсветка + LSP клиент) ├── docs/ # Документация (DE + EN) ├── website/ # Сайт проекта ├── modules/ # Языковые модули (mqtt, discord, x и т. д.) ├── Makefile ├── go.mod └── LICENSE


## Вклад

Смотрите [CONTRIBUTING.md](https://github.com/MachuraHarry/pipe/blob/master/CONTRIBUTING.md).

## Лицензия

MIT — см. [LICENSE](https://github.com/MachuraHarry/pipe/blob/master/LICENSE).