- OpenAI-compatible gateway with intelligent routing via cortiq-router (allaigate) - Embedded build-free admin SPA at /admin: 7 languages (en/ru/de/fr/es/zh/tr), light/dark themes, hot config reload (no restart) - Admin API, per-request statistics + Prometheus /metrics, secret store, playground - English documentation (primary) with Russian translations (*.ru.md)
2.3 KiB
2.3 KiB
Read this in English.
Contributing to Cortiq Gateway
Спасибо за интерес к проекту! Это открытый шлюз, и мы рады контрибьюциям.
С чего начать
- Прочитайте docs/ARCHITECTURE.md — устройство и дорожная карта.
- Посмотрите docs/PROTOCOLS.md и docs/ROUTING.md.
- Текущая фаза — Phase 0 (скелет). Хорошие первые задачи помечены
good first issue.
Как добавить...
- Новый входящий протокол — реализуйте трейт
InboundProtocolвsrc/protocols/, переведите его в/из канонической модели (ChatRequest/ChatResponse), добавьте флаг в[protocols]. Не трогайте провайдеры. - Нового провайдера — реализуйте трейт
Providerвsrc/providers/. Большинство локальных серверов OpenAI-совместимы → часто достаточно переиспользоватьopenai.rs. - Новую политику роутинга — расширьте
src/routing.rsи секцию[routing.policy].
Принцип: N протоколов × M провайдеров общаются только через каноническую модель — никаких прямых переводов «протокол↔провайдер».
Стиль и проверки
cargo fmt --all
cargo clippy --all-targets -- -D warnings
cargo test
- Пишите код в стиле окружающего кода.
- Секреты — только через
*_env, никогда в репозиторий. - Новый функционал сопровождайте тестами и обновлением docs/.
Pull requests
- Небольшие, сфокусированные PR. Один PR — одна логическая единица.
- В описании: что, зачем, как протестировано.
- Линкуйте issue, если есть.
Лицензия
Контрибьюции принимаются под Apache-2.0.