Единый контракт API
Используйте стандартные OpenAI SDK и меняйте только base URL и ключ. Chat Completions и Responses работают в одном пространстве.
/v1/responses200/v1/chat/completions200Подключайте привычные OpenAI-клиенты, Codex и другие совместимые агенты. Ключи, расходы, безопасность и веб-чат остаются в одном спокойном интерфейсе.
from openai import OpenAI
client = OpenAI(
api_key="ts-...",
base_url="https://tripplestar.space/v1"
)
response = client.responses.create(
model="gpt-5.6-sol",
input="Проверь проект"
)
print(response.output_text)
Техническая мощность остаётся под капотом, а повседневные действия занимают минимум времени.
Используйте стандартные OpenAI SDK и меняйте только base URL и ключ. Chat Completions и Responses работают в одном пространстве.
/v1/responses200/v1/chat/completions200Codex и совместимые клиенты исполняют shell, apply_patch и другие инструменты локально в собственном sandbox.
Баланс, резервы, списания, модели и задержки собраны в одном кабинете без непрозрачных расчётов.
HttpOnly-сессии, CSRF-защита, MFA, хешированные API-ключи и неизменяемый журнал администраторских действий являются частью продукта, а не платной надстройкой.
Tripplestar передаёт структурированные вызовы и результаты, но не разворачивает удалённую файловую систему и не исполняет пользовательский код.
Оставьте привычный SDK и формат сообщений. Замените параметры клиента — остальной код продолжит работать.
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url="https://tripplestar.space/v1",
)Интерфейс различает проблемы сети, политики аккаунта, баланса и upstream. Статус и повтор запроса отображаются там, где пользователь принимает решение.
Проверить состояние сервисаДля стандартных OpenAI-compatible сценариев достаточно заменить base URL и ключ. Агентные клиенты дополнительно должны поддерживать Responses API и локальное исполнение tool calls.
Нет. Tripplestar возвращает структурированный tool call, а Codex или другой агент исполняет его локально в своей среде и отправляет результат следующим запросом.
Клиент получит нормализованную ошибку с подходящим HTTP-кодом. Веб-чат сохранит сообщение и предложит безопасный повтор, когда это возможно.
История веб-чата хранится локально в браузере и изолируется по аккаунтам. API-запросы учитываются в статистике без создания облачной рабочей директории.
Создайте аккаунт, проверьте доступные модели и перенесите существующий OpenAI-compatible клиент без лишней инфраструктуры.
Оплачивайте только фактические входные, кэшированные и выходные токены. Все ставки указаны за один миллион токенов.
Перед отправкой Tripplestar резервирует полную возможную стоимость. После ответа списывается фактический usage, а неиспользованный резерв мгновенно возвращается на баланс. RUB используется только для удобного отображения по текущему курсу.
Base URL один и тот же. Секрет хранится в переменной окружения, а инструменты агент выполняет на своей машине.
Responses API + локальное исполнение tools
base_url = "https://tripplestar.space/v1"
api_key_env = "OPENAI_API_KEY"
wire_api = "responses"Агент должен отправлять output локального tool call следующим запросом и сохранять previous_response_id.
Официальный пакет openai
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url="https://tripplestar.space/v1",
)Официальный пакет openai
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://tripplestar.space/v1",
});Минимальная проверка соединения
curl https://tripplestar.space/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY"Страница показывает текущую доступность Tripplestar. Исторические SLA и uptime появятся только после накопления достоверных измерений.
Выполняется безопасный запрос к live endpoint.
Доступность приложения и маршрутизации
Состояние уточняется во время реального запроса модели
Исполняются клиентом и не зависят от файловой системы сервера
Зелёное состояние подтверждает, что процесс приложения отвечает. Доступность конкретной модели зависит от upstream, политики аккаунта и баланса — эти ошибки интерфейс показывает отдельно и не маскирует общим статусом.
Показываем агрегированную активность API и веб-чата за выбранный период.
| Модель | Статус | Токены | Задержка | Время |
|---|
| Операция | Сумма | Баланс после | Причина | Время |
|---|---|---|---|---|
| Операций пока нет | ||||
Ключи нужны для доступа к API из внешних приложений. Веб-чат работает автоматически и отдельного ключа не требует.
Создавайте отдельный ключ под каждое приложение: production, staging, локальные тесты. Так проще отозвать доступ без остановки остальных интеграций.
| Название | Префикс | Создан | Последнее использование |
|---|
Меняйте пароль и управляйте двухфакторной защитой. После каждого изменения все активные веб-сессии отзываются.
Одноразовый код защищает вход даже при утечке пароля.
Управление доступом, балансом, квотами и политиками моделей. Каждое изменение записывается в неизменяемый audit log.
| ID | Пользователь | Статус | Баланс | Квота |
|---|
| Модель | Upstream | Политика |
|---|
| Модель | Input | Cached | Output | Лимиты | Статус |
|---|
| Оповещение | Аудитория | Уровень | Статус | Период |
|---|
| Время | Actor | Action | Target | Причина | До | После |
|---|
API следует формату OpenAI и работает с официальными SDK в локальном агентном профиле. Используйте API-ключ триплстар и готовый базовый URL.
Создайте ключ в личном кабинете и установите SDK:
pip install openaifrom openai import OpenAI
client = OpenAI(
api_key="ts-ВАШ_КЛЮЧ",
base_url="https://tripplestar.space/v1"
)
response = client.chat.completions.create(
model="gpt-5.6-sol",
messages=[{"role": "user", "content": "Привет!"}]
)
print(response.choices[0].message.content)Передавайте ключ в заголовке каждого запроса.
Authorization: Bearer ts-ВАШ_КЛЮЧСоздаёт ответ модели. Поддерживаются обычные и потоковые ответы.
curl https://tripplestar.space/v1/chat/completions \
-H "Authorization: Bearer ts-ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{"role":"user","content":"Привет!"}],
"stream": false
}'model — идентификатор модели.
messages — массив сообщений ролей system, user и assistant.
stream — включение SSE-потока.
Агентный API с semantic SSE, function/custom tools, reasoning и локальными shell/apply_patch вызовами.
response = client.responses.create(
model="gpt-5.6-sol",
input="Проверь проект и предложи исправление",
tools=[{"type": "shell", "environment": {"type": "local"}}],
store=False
)Сервер возвращает shell_call или apply_patch_call, но не исполняет их. Команду выполняет агент в своём sandbox и отправляет соответствующий call output следующим запросом.
Облачные инструменты и серверное выполнение кода не предоставляются. Для продолжения цепочки передайте previous_response_id. Состояние ответа хранится на сервере в зашифрованном виде; store=false отключает сохранение.
Tripplestar сохраняет структуру tool call, но никогда не исполняет shell-команды и не создаёт удалённую рабочую директорию. Клиент валидирует вызов, выполняет его в локальном sandbox и возвращает output с тем же call_id.
{
"type": "shell_call_output",
"call_id": "call_...",
"output": "Process exited with code 0"
}Права файловой системы, подтверждения опасных действий, сетевой доступ и аудит локальных команд контролирует агент. API не расширяет эти разрешения.
Укажите stream=true и читайте события до завершающего сообщения. Клиент должен быть готов к разрыву сети и не повторять неоднозначный mutation без того же Idempotency-Key.
with client.responses.stream(
model="gpt-5.6-sol",
input="Проверь соединение"
) as stream:
for event in stream:
print(event.type)Возвращает список доступных моделей.
curl https://tripplestar.space/v1/models \
-H "Authorization: Bearer ts-ВАШ_КЛЮЧ"Tripplestar ограничивает частоту, параллелизм и периодическое использование токенов. Ответы 429 могут содержать Retry-After, а заголовки quota показывают границу текущего UTC bucket.
Для запросов, которые нельзя безопасно продублировать, передавайте уникальный Idempotency-Key. Повтор с тем же телом возвращает сохранённый результат; повтор с другим телом завершается конфликтом.
Idempotency-Key: 9ad8f5d0-...
X-Usage-Quota-Remaining: 120000
X-Usage-Quota-Reset: 2026-08-15T22:00:00ZКаждый запрос резервирует prompt и запрошенный либо настроенный сервером output limit. Если остаток меньше, output limit автоматически уменьшается. После успешного ответа списывается реальный usage, неиспользованный резерв возвращается.
402 insufficient_quota означает, что баланс не покрывает prompt и минимум один output token. Заголовки X-Balance-Available, X-Balance-Reserved и X-Request-Cost показывают денежный баланс, активный резерв и окончательную стоимость запроса в USD.
429 quota_exceeded означает, что периодическая token quota исчерпана. Границы текущего fixed UTC bucket передаются в X-Usage-Quota-Limit, X-Usage-Quota-Remaining и X-Usage-Quota-Reset.
Другие коды: 400 — ошибка запроса, 401 — неверный ключ, 403 — аккаунт или модель недоступны, 409 — конфликт Idempotency-Key, 429 — rate/concurrency limit, 502 — upstream недоступен.