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-chat | proxy к ChatGPT WHAM / Responses API для Codex flow |
POST /codex-auth/* | device auth proxy для входа через ChatGPT |
POST /telegram/call | proxy к Telegram Bot API |
GET /health | health check |
Что реально поддерживает /chat сейчас
packages/ai-agent-server/src/routes/chat.ts на сегодня поддерживает:
anthropicollama
Ветка 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
Конфигурация задаётся на стороне агента:
- прямо в
contentблокаrole - или через дочерний контейнер
AgentServer
Timelix читает эти поля:
agentServerUrlagentServerProvideragentServerModelagentServerEnableThinkingagentServerToolsagentServerOllamaUrlagentServerApiKey
После этого Timelix Chat формирует payload и отправляет его в {agentServerUrl}/chat.
Что Timelix отправляет в Agent Server
Типичный payload содержит:
messagessystemPromptprovidermodelenableThinkingtoolsmcpServerUrlcontextbaseUrlдля Ollama илиapiKeyдля Anthropic/OpenAI-подобных flows
Именно поэтому Agent Server не хранит весь продуктовый контекст у себя: большую часть конфигурации и tool wiring он получает от Timelix per request.
Codex / ChatGPT subscription flow
Для Codex Timelix использует отдельный путь:
- Timelix получает OAuth токены пользователя
- при необходимости проксирует device auth через
POST /codex-auth/* - chat runtime идёт через
POST /codex-chat - tool loop выполняется уже на стороне Timelix, а результаты подмешиваются обратно в WHAM поток
То есть Codex в текущей архитектуре — отдельный модуль поверх Agent Server, а не просто ещё один provider внутри /chat.
Деплой и переменные окружения
Сам сервис читает .env через dotenv/config и использует минимум:
PORT— порт сервера, по умолчанию3001CORS_ORIGIN— список разрешённых origin-ов
Provider-specific параметры часто приходят прямо в request body из Timelix, а не задаются как жёсткая server-wide конфигурация.
Когда выбирать отдельный Agent Server
Этот модуль полезен, когда нужно:
- вынести LLM runtime из Next.js
- обслуживать стриминг и tool loop отдельно
- проксировать запросы через другой регион
- централизовать Codex/WHAM и Telegram proxy возможности
Связанные разделы
- Timelix Chat — как Timelix выбирает этот модуль
- Timelix Context — что попадает в payload к серверу
- MCP-сервер Timelix — куда Agent Server отправляет tool calls