Skir: Современная альтернатива Protocol Buffers для типобезопасного обмена данными

✍️ OpenClawRadar📅 Опубликовано: 9 марта 2026 г.🔗 Source
Skir: Современная альтернатива Protocol Buffers для типобезопасного обмена данными
Ad

Что делает Skir

Skir — это современная альтернатива Protocol Buffers, которая служит единым источником истины для типов данных. Вы пишете схему один раз в файле .skir и генерируете идиоматичный, типобезопасный код для нескольких языков.

Ключевые особенности и рабочий процесс

Вся конфигурация находится в одном YAML-файле. Вы можете инициализировать проект с помощью npx skir init. Режим отслеживания автоматически перекомпилирует код при изменении файлов.

Вот пример схемы из источника:

struct Point {
  x: int32;
  y: int32;
  label: string;
}

struct Shape { points: [Point]; /// Краткое описание этой фигуры. label: string; }

const TOP_RIGHT_CORNER: Point = { x: 600, y: 400, label: "верхний правый угол", };

Использование сгенерированного кода

Сгенерированный код включает методы сериализации и десериализации. Для TypeScript:

import { Point } from "../skirout/shapes";

const point = Point.create({ x: 3, y: 4, label: "P" });

const pointJson = Point.serializer.toJson(point); console.log(pointJson); // [3, 4, "P"]

const restored = Point.serializer.fromJson(pointJson); console.log(restored.label); // "P"

Ad

Эволюция схемы и поддержка RPC

Skir включает встроенные проверки и рекомендации для безопасной эволюции схем в долгоживущих или распределённых системах. Он также поддерживает RPC со сквозной типобезопасностью, аналогичной gRPC.

Пример определения RPC:

struct WhatToWearRequest {
  temperature_celsius: float32;
  raining: bool;
}

struct WhatToWearResponse { bottom_outfit: string; sunglasses: bool; }

method WhatToWear(WhatToWearRequest): WhatToWearResponse = 770862;

Дополнительные возможности

  • Сериализация в компактный JSON (плотный, позволяет эволюцию схемы), читаемый JSON (для отладки) или бинарный формат (для производительности)
  • Встроенный менеджер пакетов, который импортирует типы напрямую из репозиториев GitHub
  • Расширение для VS Code с валидацией в реальном времени, автодополнением кода и автоматическим форматированием
  • Поддерживаемые языки: TypeScript, Python, C++, Java, Kotlin, Dart

Для кого это предназначено

Командам, использующим стеки из разных языков, которым нужен типобезопасный обмен данными между сервисами, особенно полезно для full-stack приложений с разными языками на фронтенде и бэкенде.

📖 Read the full source: HN AI Agents

Ad

👀 Смотрите также

Реализация локального агента OpenClaw с кэшированием TurboQuant для оборудования среднего класса
Инструменты

Реализация локального агента OpenClaw с кэшированием TurboQuant для оборудования среднего класса

Приложение для OpenClaw с локальными моделями теперь работает на устройствах среднего класса, таких как MacBook Air с 16 ГБ оперативной памяти, используя кэширование TurboQuant и прогрев контекста. Реализация включает патчи для llama.cpp для надежного вызова инструментов и достигает 10-15 токенов в секунду с моделями Gemma 4 и QWEN 3.5.

OpenClawRadar
Разграничение уровня управления для разработки мультиагентного искусственного интеллекта
Инструменты

Разграничение уровня управления для разработки мультиагентного искусственного интеллекта

Delimit — это открытый слой управления, который координирует работу нескольких ИИ-агентов для программирования, предотвращая конфликты. Он предоставляет общую память, обнаружение коллизий и отслеживание действий для таких агентов, как Claude Code, Codex и Gemini.

OpenClawRadar
Иллюзия завершённой работы в Claude Code: Почему анализ пути агента важнее, чем diff
Инструменты

Иллюзия завершённой работы в Claude Code: Почему анализ пути агента важнее, чем diff

Claude Code способен выдать чистый diff, пройти тесты и написать хорошее резюме, но при этом упустить реальное поведение, проблемы безопасности или архитектурные ограничения. Автор утверждает, что теперь необходимо проверять цепочку действий (планы, прочитанные файлы, выполненные команды, вывод тестов), а не только итоговый diff.

OpenClawRadar
Cloudflare Dynamic Worker Loader: Изоляция AI-агентов с помощью изолятов
Инструменты

Cloudflare Dynamic Worker Loader: Изоляция AI-агентов с помощью изолятов

Динамический загрузчик воркеров Cloudflare, который теперь находится в открытой бета-версии, позволяет воркерам создавать новые воркеры с кодом, указанным во время выполнения, в изолированных песочницах с использованием изолятов V8, обеспечивая запуск в 100 раз быстрее, чем контейнеры, и без глобальных ограничений на параллелизм.

OpenClawRadar