Публічний реєстрЗвіт про здоров'я програмного забезпечення схема 0.11.0 · метрики 2.10.0 · 2026-07-16 18:10 UTC
Engine-agnostic LLM gateway in Rust. Full OpenAI & Anthropic API compatibility across vLLM, TRT-LLM, TokenSpeed, SGLang, OpenAI, Gemini & more. Industry-first gRPC pipeline, KV cache-aware routing, chat history, tokenization caching, Responses API, embeddings, WASM plugins, MCP, and multi-tenant auth.
Додати бейдж оцінки до README Порівняти з…
Rust · Python Apache-2.0 ★ 398 зірок ⑂ 118 форків з лист. 2025 р. Переглянути на GitHub ↗ Тип Бібліотека MCP-сервер Мережевий сервіс Інструмент командного рядка як це визначено lightseekorg/smg має індекс здоров’я 92 зі 100, що відповідає смузі «Відмінний». Найвищий показник — Vitality (100/100), найнижчий — Security (57/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконують 2 учасники.
Індекс здоров'я програмного забезпечення Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).
92
Винятковий 93-100 Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний 80-92 Сильний за всіма напрямами; незначні прогалини
Добрий 65-79 Здоровий; прогалини обмежені та керовані
Помірний 50-64 Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий 35-49 Суттєві недоліки в кількох сферах
У зоні ризику 20-34 Суттєві слабкі місця; впровадження потребує обережності
Критичний 1-19 Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
Життєздатність Спільнота та впровадження Сталість та врядування Інженерна якість Безпека Готовність до ШІ Профіль оцінок Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.
Зважений загальний бал 78 калібровано до 92 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).
Власність 168 підписників 7 публічних репозиторіїв з жовт. 2025 р.
За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.
Пакетні екосистеми
Метрики за категоріями Чи живий проєкт — чи пишеться код і чи виходять релізи?
100 Винятковий · 21% загального індексу
Як обчислюється оцінка 36/36 Свіжість push — останній push 0 дн. тому 36/36 Ритм комітів — 52/52 тижнів із комітами 18/18 Обсяг комітів — 1 935 комітів за останній рік 10/10 OpenSSF Scorecard: Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
Як обчислюється оцінка 27/27 Випускає релізи — опубліковано 12 релізів 36/36 Свіжість релізів — останній реліз 16 дн. тому 27/27 Ритм релізів — реліз кожні ~12,4 дн. 0/10 OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.
Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?
63 Помірний · 17% загального індексу
Як обчислюється оцінка 42.2/60 Зірки — 398 зірок 17.2/25 Форки — 118 форків 0/15 Спостерігачі — 1 спостерігачів
Використані вхідні дані
Як обчислюється оцінка 22.5/22.5 README 22.5/22.5 Ліцензія — визнана ліцензія (Apache-2.0) 18/18 Настанови CONTRIBUTING 13.5/13.5 Кодекс поведінки 0/7.2 Шаблон issue 6.3/6.3 Шаблон PR
Використані вхідні дані
Як обчислюється оцінка 21.4/80 Щомісячні завантаження — 39 завантажень/місяць у crates, pypi 0/20 Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.
Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?
75 Добрий · 23% загального індексу
Як обчислюється оцінка 25.2/54 Бас-фактор — на 2 контриб’ютор(ів) припадає половина всіх комітів 11.9/22.5 Розподіл комітів — головний контриб’ютор — автор 47% комітів 13.5/13.5 Широта контриб’юторів — 100 контриб’юторів 10/10 OpenSSF Scorecard: Contributors — project has 14 contributing companies or organizations
Використані вхідні дані
Як обчислюється оцінка 33.6/42 Вирішення issue — закрито 80% issue 22.5/30 Прийняття PR — злито 1 216/1 621 вирішених PR 0/13 Newcomer PR acceptance — за 30 дн. не вирішено жодного PR від новачка 13.5/15 OpenSSF Scorecard: Code-Review — Found 25/27 approved changesets -- score normalized to 9
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Newcomer PR acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка 30/30 Підтримка власника — у власності організації 0/20 Верифікований домен — статус підтвердженого домену для цієї організації не зчитано 16/25 Охоплення власника — 168 підписників у lightseekorg 8.1/25 Послужний список — 7 публічних репозиторіїв, вік облікового запису ~0 р.
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.
Як обчислюється оцінка 25/25 Опубліковано й доступно — 2 пакет(ів) у crates, pypi 35/35 Свіжість публікацій — остання публікація 17 дн. тому 20/20 Історія версій — 15 опублікованих версій 20/20 Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані Чи наявні базові інженерні практики та документація?
92 Відмінний · 19% загального індексу
Як обчислюється оцінка 24/24 Процеси CI — 32 процес(ів) CI 24/24 Наявні тести 16/16 Конфігурація лінтера — ruff.toml 9.6/9.6 Pre-commit-хуки 0/6.4 .editorconfig 20/20 OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
Як обчислюється оцінка 30/30 README 25/25 Каталог документації 15/15 Сайт документації / домашня сторінка — https://lightseek.org/smg 10/10 Опис репозиторію 10/10 Теми — 17 тем 0/10 Wiki
Використані вхідні дані Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?
57 Помірний · 16% загального індексу
Як обчислюється оцінка 7.5/7.5 Binary-Artifacts — no binaries found in the repo 3/7.5 Branch-Protection — branch protection is not maximal on development and all release branches 2.5/2.5 CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 0/2.5 CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected 6.8/7.5 Code-Review — Found 25/27 approved changesets -- score normalized to 9 2.5/2.5 Contributors — project has 14 contributing companies or organizations 10/10 Dangerous-Workflow — no dangerous workflow patterns detected 7.5/7.5 Dependency-Update-Tool — update tool detected 0/5 Fuzzing — project is not fuzzed 2.5/2.5 Ліцензія — license file detected 7.5/7.5 Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10 5/5 Packaging — packaging workflow detected 0.5/5 Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1 0/5 SAST — SAST tool is not run on all commits -- score normalized to 0 0/5 Security-Policy — security policy file not detected 0/7.5 Signed-Releases — немає даних 0/7.5 Token-Permissions — detected GitHub workflow tokens with excessive permissions 0/7.5 Vulnerabilities — 13 existing vulnerabilities detected
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Signed-Releases. Залишкові ваги перенормовано.
Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.
65 Добрий · 4% загального індексу
Як обчислюється оцінка 0/45 Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора 0/15 Машиночитана документація (llms.txt) 0/40 Читабельна історія комітів — немає даних
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Читабельна історія комітів. Залишкові ваги перенормовано.
Як обчислюється оцінка 18/18 Розгортання однією командою — Makefile, bindings/golang/Makefile, bindings/golang/examples/oai_server/Makefile 22/22 Автоматизовані тести 11/11 Конфігурація лінтера / форматера — ruff.toml 11/11 Статична перевірка типів — mypy.ini 10/10 Відтворюване середовище — Dockerfile, lockfile 0/10 Підтверджена практика роботи з агентами — немає даних 5/8 Автоматизоване супроводження — автоматизацію залежностей налаштовано, але у вибірці комітів її не видно 1/10 OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Використані вхідні дані Виключено з оцінювання (немає даних або не застосовно): Підтверджена практика роботи з агентами. Залишкові ваги перенормовано.
Як обчислюється оцінка 45/45 Типізований код — Rust (статично типізована) 53.4/55 Керовані розміри файлів — 27/928 файлів вихідного коду понад 60 КБ
Використані вхідні дані
Як обчислюється оцінка 40/40 Схема API (OpenAPI/GraphQL/proto) — crates/grpc_client/proto/common.proto, crates/grpc_client/proto/mlx_engine.proto, crates/grpc_client/proto/sglang_encoder.proto, crates/grpc_client/proto/sglang_scheduler.proto, crates/grpc_client/proto/tokenspeed_encoder.proto, crates/grpc_client/proto/tokenspeed_scheduler.proto, crates/grpc_client/proto/trtllm_service.proto, crates/grpc_client/proto/vllm_engine.proto, crates/mesh/src/proto/gossip.proto 20/20 Сервер MCP 40/40 Придатні до запуску приклади — examples
Використані вхідні дані
Ключові факти 398 зірок GitHub
100 контриб'юторів
1 935 комітів за останні 12 місяців
0 днів від останнього пушу
12 релізів
2 бас-фактор
56 відкритих issue
crates.io, PyPI пакетних екосистем
Попередження щодо збору даних Could not fetch pypi package 'smg-e2e-tests' from its registry
Докладніше OpenSSF Scorecard 5.7 / 10 5.7 сукупно
Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard . Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль). Scorecard v5.5.0 · 2026-07-16 18:09 UTC
Прямі залежності 109 Реєстр Пакет Обмеження версії Маніфест PyPI anthropic —e2e_test/pyproject.toml PyPI datasets —e2e_test/pyproject.toml PyPI grpcio —e2e_test/pyproject.toml PyPI grpcio-health-checking —e2e_test/pyproject.toml PyPI httpx —e2e_test/pyproject.toml PyPI jinja2 —e2e_test/pyproject.toml PyPI mcp >=1.2,<2e2e_test/pyproject.toml PyPI numpy —e2e_test/pyproject.toml PyPI openai —e2e_test/pyproject.toml PyPI pandas —e2e_test/pyproject.toml PyPI pillow —e2e_test/pyproject.toml PyPI pytest —e2e_test/pyproject.toml PyPI pytest-rerunfailures —e2e_test/pyproject.toml PyPI requests —e2e_test/pyproject.toml PyPI tqdm —e2e_test/pyproject.toml PyPI uvicorn >=0.30e2e_test/pyproject.toml PyPI websockets —e2e_test/pyproject.toml PyPI smg-grpc-proto >=0.4.13grpc_servicer/pyproject.toml PyPI grpcio >=1.81.1grpc_servicer/pyproject.toml PyPI grpcio-reflection >=1.81.1grpc_servicer/pyproject.toml PyPI grpcio-health-checking >=1.81.1grpc_servicer/pyproject.toml crates.io anyhow —model_gateway/Cargo.toml crates.io async-trait —model_gateway/Cargo.toml crates.io blake3 —model_gateway/Cargo.toml crates.io chrono —model_gateway/Cargo.toml crates.io dashmap —model_gateway/Cargo.toml crates.io futures —model_gateway/Cargo.toml crates.io http —model_gateway/Cargo.toml crates.io lru —model_gateway/Cargo.toml crates.io parking_lot —model_gateway/Cargo.toml crates.io prost —model_gateway/Cargo.toml crates.io prost-types —model_gateway/Cargo.toml crates.io rand —model_gateway/Cargo.toml crates.io subtle —model_gateway/Cargo.toml crates.io thiserror —model_gateway/Cargo.toml crates.io tonic —model_gateway/Cargo.toml crates.io tonic-prost —model_gateway/Cargo.toml crates.io tracing —model_gateway/Cargo.toml crates.io tracing-subscriber —model_gateway/Cargo.toml crates.io axum —model_gateway/Cargo.toml crates.io bytemuck —model_gateway/Cargo.toml crates.io reqwest —model_gateway/Cargo.toml crates.io serde —model_gateway/Cargo.toml crates.io tokio —model_gateway/Cargo.toml crates.io tokio-util —model_gateway/Cargo.toml crates.io uuid —model_gateway/Cargo.toml crates.io openai-protocol —model_gateway/Cargo.toml crates.io reasoning-parser —model_gateway/Cargo.toml crates.io tool-parser —model_gateway/Cargo.toml crates.io wfaas —model_gateway/Cargo.toml crates.io llm-tokenizer —model_gateway/Cargo.toml crates.io smg-auth —model_gateway/Cargo.toml crates.io smg-mcp —model_gateway/Cargo.toml crates.io kv-index —model_gateway/Cargo.toml crates.io smg-data-connector —model_gateway/Cargo.toml crates.io llm-multimodal —model_gateway/Cargo.toml crates.io smg-mm-rdma —model_gateway/Cargo.toml crates.io smg-wasm —model_gateway/Cargo.toml crates.io smg-mesh —model_gateway/Cargo.toml crates.io smg-grpc-client —model_gateway/Cargo.toml crates.io bincode 1.3model_gateway/Cargo.toml crates.io clap 4model_gateway/Cargo.toml crates.io axum-server 0.8.0model_gateway/Cargo.toml crates.io ndarray 0.17model_gateway/Cargo.toml crates.io memmap2 0.9model_gateway/Cargo.toml crates.io rayon 1.12model_gateway/Cargo.toml crates.io rustix 1model_gateway/Cargo.toml crates.io tower 0.5model_gateway/Cargo.toml crates.io tower-http 0.7model_gateway/Cargo.toml crates.io serde_json 1.0model_gateway/Cargo.toml crates.io bytes 1.12.0model_gateway/Cargo.toml crates.io http-body 1.0model_gateway/Cargo.toml crates.io http-body-util 0.1model_gateway/Cargo.toml crates.io futures-util 0.3model_gateway/Cargo.toml crates.io xxhash-rust 0.8model_gateway/Cargo.toml crates.io tracing-log 0.2model_gateway/Cargo.toml crates.io tracing-appender 0.2.5model_gateway/Cargo.toml crates.io opentelemetry 0.32model_gateway/Cargo.toml crates.io opentelemetry_sdk 0.32model_gateway/Cargo.toml crates.io opentelemetry-otlp 0.32model_gateway/Cargo.toml crates.io tracing-opentelemetry 0.33model_gateway/Cargo.toml crates.io kube 3.0.1model_gateway/Cargo.toml crates.io k8s-openapi 0.27.0model_gateway/Cargo.toml crates.io metrics 0.24.6model_gateway/Cargo.toml crates.io metrics-exporter-prometheus 0.18.3model_gateway/Cargo.toml crates.io regex 1.12model_gateway/Cargo.toml crates.io memchr 2.8model_gateway/Cargo.toml crates.io url 2.5.8model_gateway/Cargo.toml crates.io tokio-stream 0.1model_gateway/Cargo.toml crates.io rustls 0.23model_gateway/Cargo.toml crates.io tokio-rustls 0.26model_gateway/Cargo.toml crates.io rustls-pemfile 2.2model_gateway/Cargo.toml crates.io openssl 0.10.81model_gateway/Cargo.toml crates.io rmcp 1.7model_gateway/Cargo.toml crates.io serde_yaml 0.9model_gateway/Cargo.toml crates.io openai-harmony 0.0.8model_gateway/Cargo.toml crates.io openmetrics-parser 0.4.4model_gateway/Cargo.toml crates.io arc-swap 1.9.1model_gateway/Cargo.toml crates.io bitflags —model_gateway/Cargo.toml crates.io once_cell 1.21.4model_gateway/Cargo.toml crates.io sha2 0.11model_gateway/Cargo.toml crates.io base64 0.22model_gateway/Cargo.toml crates.io image 0.25.10model_gateway/Cargo.toml crates.io tokio-tungstenite —model_gateway/Cargo.toml crates.io webpki-roots —model_gateway/Cargo.toml crates.io wasmtime —model_gateway/Cargo.toml crates.io tempfile 3.27model_gateway/Cargo.toml crates.io multer —model_gateway/Cargo.toml crates.io str0m —model_gateway/Cargo.toml
Усі залежності 145 Повний розв'язаний набір залежностей із графа залежностей GitHub: 64 прямих і 81 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.
Реєстр Пакет Версія Зв'язок crates.io arc-swap —пряма crates.io async-trait —пряма crates.io axum-server —пряма crates.io base64 —пряма crates.io bincode —пряма crates.io bytes —пряма crates.io chrono —пряма crates.io clap —пряма crates.io futures —пряма crates.io futures-util —пряма crates.io http-body —пряма crates.io http-body-util —пряма crates.io image —пряма crates.io k8s-openapi —пряма crates.io kube —пряма crates.io memchr —пряма crates.io memmap2 —пряма crates.io metrics —пряма crates.io metrics-exporter-prometheus —пряма crates.io ndarray —пряма crates.io once_cell —пряма crates.io openai-harmony —пряма crates.io openmetrics-parser —пряма crates.io openssl —пряма crates.io opentelemetry —пряма crates.io opentelemetry-otlp —пряма crates.io opentelemetry_sdk —пряма crates.io prost —пряма crates.io prost-types —пряма crates.io rayon —пряма crates.io regex —пряма crates.io reqwest —пряма crates.io rmcp —пряма crates.io rustix —пряма crates.io rustls —пряма crates.io rustls-pemfile —пряма crates.io serde —пряма crates.io serde_json —пряма crates.io serde_yaml —пряма crates.io sha2 —пряма crates.io tempfile —пряма crates.io tokio —пряма crates.io tokio-rustls —пряма crates.io tokio-stream —пряма crates.io tonic —пряма crates.io tonic-prost —пряма crates.io tower —пряма crates.io tower-http —пряма crates.io tracing —пряма crates.io tracing-appender —пряма crates.io tracing-log —пряма crates.io tracing-opentelemetry —пряма crates.io url —пряма crates.io uuid —пряма crates.io xxhash-rust —пряма PyPI grpcio —пряма PyPI grpcio-health-checking —пряма PyPI grpcio-reflection —пряма PyPI httpx —пряма PyPI mcp —пряма PyPI pytest —пряма PyPI requests —пряма PyPI smg-grpc-proto —пряма PyPI uvicorn —пряма crates.io aho-corasick —непряма crates.io async-channel —непряма crates.io backoff —непряма crates.io cc —непряма crates.io crdts —непряма crates.io criterion —непряма crates.io deadpool —непряма crates.io deadpool-postgres —непряма crates.io deadpool-redis —непряма crates.io fast_image_resize —непряма crates.io hf-hub —непряма crates.io jsonwebtoken —непряма crates.io lazy_static —непряма crates.io libc —непряма crates.io libloading —непряма crates.io minijinja —непряма crates.io minijinja-contrib —непряма crates.io nixl-sys —непряма crates.io npyz —непряма crates.io num-bigint —непряма crates.io opencv —непряма crates.io opentelemetry-proto —непряма crates.io oracle —непряма crates.io pkg-config —непряма crates.io portpicker —непряма crates.io prost-build —непряма crates.io pyo3 —непряма crates.io redis —непряма crates.io rsa —непряма crates.io rustc-hash —непряма crates.io rustfft —непряма crates.io rustpython-parser —непряма crates.io serde_bytes —непряма crates.io serde_yaml_ng —непряма crates.io serial_test —непряма crates.io symphonia —непряма crates.io tiktoken-rs —непряма crates.io tokenizers —непряма crates.io tokio-postgres —непряма crates.io toml —непряма crates.io tonic-prost-build —непряма crates.io tracing-test —непряма crates.io ulid —непряма crates.io unicode-segmentation —непряма crates.io validator —непряма crates.io wasm-encoder —непряма crates.io wat —непряма crates.io wiremock —непряма crates.io wit-bindgen —непряма crates.io zip —непряма Go github.com/andybalholm/brotli v1.1.0непряма Go github.com/klauspost/compress v1.17.9непряма Go github.com/stretchr/testify v1.10.0непряма Go github.com/valyala/bytebufferpool v1.0.0непряма Go github.com/valyala/fasthttp v1.52.0непряма Go go.uber.org/multierr v1.10.0непряма Go go.uber.org/zap v1.27.0непряма Go golang.org/x/net v0.48.0непряма Go golang.org/x/sys v0.39.0непряма Go golang.org/x/text v0.32.0непряма Go google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217непряма Go google.golang.org/grpc v1.79.3непряма Go google.golang.org/protobuf v1.36.10непряма Go google.golang.org/protobuf v1.36.11непряма Go gopkg.in/natefinch/lumberjack.v2 v2.2.1непряма Maven com.fasterxml.jackson.core:jackson-annotations 2.17.1непряма Maven com.fasterxml.jackson.core:jackson-databind 2.17.1непряма Maven com.fasterxml.jackson.datatype:jackson-datatype-jsr310 2.17.1непряма Maven jakarta.annotation:jakarta.annotation-api 2.1.1непряма PyPI grpcio-tools —непряма PyPI maturin —непряма PyPI mlx —непряма PyPI mlx-lm —непряма PyPI msgspec —непряма PyPI protobuf —непряма PyPI pydantic —непряма PyPI pyzmq —непряма PyPI setuptools —непряма PyPI sglang —непряма PyPI transformers —непряма PyPI vllm —непряма
Звіт у форматі JSON машиночитний
Зворотний зв’язок Помітили щось хибне у цьому звіті або маєте чим поділитися? Неправильні вимірювання, непомічені інструменти, ідеї, запитання — усе доречно. Кожне повідомлення читається й отримує відповідь.