TimelixTimelix
Модули

Agent Server

Отдельный LLM runtime и proxy-сервис, который Timelix деплоит отдельно от основного приложения

Agent Server — это отдельный Node.js/Hono сервис из packages/ai-agent-server, который деплоится отдельно от Next.js-приложения Timelix.

Он нужен для двух классов задач:

  • отдельный runtime для agent chat с потоковыми ответами и tool loop
  • proxy-слой для Codex / ChatGPT subscription и некоторых внешних API

Основные endpoints

EndpointНазначение
POST /chatосновной streaming endpoint для agent runtime
POST /codex-chatproxy к ChatGPT WHAM / Responses API для Codex flow
POST /codex-auth/*device auth proxy для входа через ChatGPT
POST /telegram/callproxy к Telegram Bot API
GET /healthhealth check

Что реально поддерживает /chat сейчас

packages/ai-agent-server/src/routes/chat.ts на сегодня поддерживает:

  • anthropic
  • ollama

Ветка openai в generic /chat маршруте пока существует только как заглушка и возвращает ошибку OpenAI provider not implemented yet.

Это важно: если вам нужен OpenAI/ChatGPT subscription flow в Timelix, смотрите не generic /chat, а отдельный Codex путь через POST /codex-chat.

Не документируйте POST /chat как готовый generic OpenAI runtime. В текущем коде OpenAI там ещё не реализован.

Как Agent Server подключается к Timelix

Конфигурация задаётся на стороне агента:

  1. прямо в content блока role
  2. или через дочерний контейнер AgentServer

Timelix читает эти поля:

  • agentServerUrl
  • agentServerProvider
  • agentServerModel
  • agentServerEnableThinking
  • agentServerTools
  • agentServerOllamaUrl
  • agentServerApiKey

После этого Timelix Chat формирует payload и отправляет его в {agentServerUrl}/chat.

Что Timelix отправляет в Agent Server

Типичный payload содержит:

  • messages
  • systemPrompt
  • provider
  • model
  • enableThinking
  • tools
  • mcpServerUrl
  • context
  • baseUrl для Ollama или apiKey для Anthropic/OpenAI-подобных flows

Именно поэтому Agent Server не хранит весь продуктовый контекст у себя: большую часть конфигурации и tool wiring он получает от Timelix per request.

Codex / ChatGPT subscription flow

Для Codex Timelix использует отдельный путь:

  1. Timelix получает OAuth токены пользователя
  2. при необходимости проксирует device auth через POST /codex-auth/*
  3. chat runtime идёт через POST /codex-chat
  4. tool loop выполняется уже на стороне Timelix, а результаты подмешиваются обратно в WHAM поток

То есть Codex в текущей архитектуре — отдельный модуль поверх Agent Server, а не просто ещё один provider внутри /chat.

Деплой и переменные окружения

Сам сервис читает .env через dotenv/config и использует минимум:

  • PORT — порт сервера, по умолчанию 3001
  • CORS_ORIGIN — список разрешённых origin-ов

Provider-specific параметры часто приходят прямо в request body из Timelix, а не задаются как жёсткая server-wide конфигурация.

Когда выбирать отдельный Agent Server

Этот модуль полезен, когда нужно:

  • вынести LLM runtime из Next.js
  • обслуживать стриминг и tool loop отдельно
  • проксировать запросы через другой регион
  • централизовать Codex/WHAM и Telegram proxy возможности

Связанные разделы