Бортовой журнал Ктулху

Минималистичный macOS-клиент для GPT Chat API

Сейчас много клиентов на базе веба и Electron — мне не нравится, что они тяжелые и громоздкие. Поэтому, мне  захотелось создать свой велосипед, то есть, минималистичный, быстрый, удобный и нативный инструмент, который будет работать плавно и легко на Mac, без лишних зависимостей.

Во вложении архив с программой со всеми необходимыми вирусами (шутка, без них).

 

 

2025 06 20 20.46.40 

Что должно быть в приложении

  • Поле для ввода API ключа (с возможностью сохранения)
  • Кнопка "Тест соединения" для проверки доступности API
  • Поле для текста запроса к GPT
  • Поле с ответом, из которого можно легко скопировать результат
  • Поле для вывода ошибок
  • Переключатель моделей: GPT-3.5-turbo, GPT-4, GPT-4o

Как работает API OpenAI

Чтобы общаться с GPT, нужно использовать API OpenAI и пополнить баланс, конечно же:

  • Запросы идут на https://api.openai.com/v1/chat/completions
  • В заголовках передаётся API ключ
  • Тело запроса — JSON с моделью и сообщениями
  • В ответ приходит JSON с текстом ответа

Пример тела запроса для GPT-4o:

{
  "model": "gpt-4o",
  "messages": [
    {"role": "user", "content": "Привет, Олег!"}
  ]
}

Как получить API ключ и оплатить тариф

  1. Зарегистрируйтесь на https://platform.openai.com/.
  2. Создайте API ключ в разделе API Keys.
  3. Для доступа к GPT-4 и другим моделям нужно выбрать тариф и добавить платёжные данные.
  4. Тарифы (примерные):
    • GPT-3.5-turbo: $0.0005 / 1K токенов
    • GPT-4: $0.03 / 1K токенов (вывод)
    • GPT-4o: $0.015 / 1K токенов (вывод)

Баланс и расход отображается в аккаунте OpenAI.

Технические детали реализации

  • Я выбрал SwiftUI для интерфейса — он отлично подходит для macOS и позволяет быстро собрать минималистичный UI.
  • Для запросов использую URLSession с JSON-кодированием.
  • Ключ хранится в UserDefaults с возможностью обновления.
  • Есть переключатель моделей — просто меняем параметр "model" в запросе.
  • Ответ и ошибки выводятся в отдельных текстовых полях.
  • Возможность копировать ответ в буфер обмена.

 

И самое интересное:

Недостатки использования GPT через API

Хотя OpenAI API мощный и гибкий, у него есть серьёзные ограничения, особенно если вы привыкли к опыту работы с ChatGPT на сайте:

0. Нет встроенной истории и контекста

1. Каждый запрос — это полностью отдельный диалог. API не "помнит" ничего, если вы сами не передаёте это вручную.

2. Потеря связности диалога

Без сохранения истории запросов и ответов — невозможно построить настоящий диалог, где ИИ "помнит", о чём шла речь.

Это особенно разочаровывает при работе над текстами, рассказами или проектами, требующими последовательности.
Но я над этим работаю.

То есть, если вам нужен связный диалог, то лучше выбрать браузерную версию, а если много одиночных вопросов - добро пожаловать на борт!

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (miniGPTdesktop.zip)miniGPTdesktop.zip 129 Кб