This adapter script resolves the following error in Zed IDE:
data did not match any variant of untagged enum ResponseStreamResult
which occurs when using a custom Open Web UI model (pipe functions). Open Web UI sends invalid chunks in the stream, causing parsing exceptions.
- Proxies requests to Open Web UI
- Filters out and removes invalid chunks from the stream, allowing Zed IDE to properly receive responses
- Supports both streaming and regular JSON responses
- Allows overriding system messages in requests (optional)
- Clone or download the script
- Set environment variables:
OPENWEBUI_URL— URL of your Open Web UI serverOPENWEBUI_API_KEY— API key for access- (optional)
ZED_SYSTEM_PROMPT_FILE— path to a file with a system prompt - (optional)
ZED_SYSTEM_PROMPT_MODE— mode for handling system messages, one of:default(leave system messages unchanged)replace(replace all system messages with the one from the file)disable(remove all system messages)
- Install dependencies:
pip install fastapi httpx uvicorn python-dotenv- Run the server:
python openAI_adapter.py- Configure Zed IDE to use this proxy instead of direct connection to Open Web UI
- The invalid chunk issue only occurs when using Open Web UI custom models (pipe functions)
- No such problems occur when using models via OpenRouter
- This script is intended as a temporary workaround for smooth operation with Zed IDE
If you have any questions, feel free to reach out.
Author: Savkin Vladimir Date: 2025
Этот скрипт-адаптер решает проблему с ошибкой в Zed IDE:
data did not match any variant of untagged enum ResponseStreamResult
Возникающую при использовании кастомной модели Open Web UI (pipe functions), когда Open Web UI отправляет невалидные чанки в stream, что вызывает исключения при парсинге.
- Проксирует запросы к Open Web UI
- Фильтрует и удаляет невалидные чанки из stream, позволяя Zed IDE корректно принимать ответы
- Поддерживает как streaming, так и обычные JSON-ответы
- Позволяет переопределять системные сообщения в запросах (опционально)
- Клонируйте или скачайте скрипт
- Задайте переменные окружения:
OPENWEBUI_URL— URL вашего Open Web UI сервераOPENWEBUI_API_KEY— API ключ для доступа- (опционально)
ZED_SYSTEM_PROMPT_FILE— путь к файлу с системным сообщением - (опционально)
ZED_SYSTEM_PROMPT_MODE— режим обработки системных сообщений, одно из:default(оставить системные сообщения без изменений)replace(заменить все системные сообщения на указанное в файле)disable(удалить все системные сообщения)
- Установите зависимости:
pip install fastapi httpx uvicorn python-dotenv- Запустите сервер:
python openAI_adapter.py- Настройте Zed IDE использовать этот прокси вместо прямого подключения к Open Web UI
- Проблема с невалидными чанками возникает только при использовании кастомной модели Open Web UI (pipe functions)
- При использовании моделей через OpenRouter подобных проблем не наблюдается
- Скрипт сделан как временное решение для корректной работы с Zed IDE
Если возникнут вопросы — обращайтесь.
Автор: Владимир Савкин
Дата: 2025