- Мульти-провайдер: PAPAYU_LLM_PROVIDERS — сбор планов от нескольких ИИ (Claude, OpenAI), агрегация - Тренды дизайна и иконок: вкладка в модалке, поиск по безопасным доменам (Tavily include_domains) - Snyk Code: PAPAYU_SNYK_SYNC, REST API issues → snyk_findings в agent-sync - Documatic: architecture_summary из .papa-yu/architecture.md в agent-sync - Личная автоматизация: capability personal-automation (терминал git/npm/cargo, открытие URL) - agent_sync расширен: snyk_findings, architecture_summary; analyze_project_cmd и run_batch пишут sync - Документация: SNYK_AND_DOCUMATIC_SYNC.md, SECURITY_AND_PERSONAL_AUTOMATION.md, обновлён CLAUDE_AND_AGENT_SYNC Co-authored-by: Cursor <cursoragent@cursor.com>
5.5 KiB
Подключение PAPA YU к OpenAI
Инструкция по настройке кнопки «Предложить исправления» для работы через API OpenAI.
1. Получение API-ключа OpenAI
- Зайдите на platform.openai.com.
- Войдите в аккаунт или зарегистрируйтесь.
- Откройте API keys (раздел Settings → API keys или прямая ссылка).
- Нажмите Create new secret key, задайте имя (например,
PAPA YU) и скопируйте ключ. - Сохраните ключ в надёжном месте — повторно его показать нельзя.
2. Переменные окружения
Перед запуском приложения задайте три переменные.
Обязательные
| Переменная | Значение | Описание |
|---|---|---|
PAPAYU_LLM_API_URL |
https://api.openai.com/v1/chat/completions |
URL эндпоинта Chat Completions OpenAI. |
PAPAYU_LLM_API_KEY |
Ваш API-ключ OpenAI | Ключ передаётся в заголовке Authorization: Bearer <ключ>. |
Опциональные
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
PAPAYU_LLM_MODEL |
gpt-4o-mini |
Модель для генерации плана (например, gpt-4o, gpt-4o-mini, gpt-4-turbo). |
PAPAYU_LLM_MODE |
chat |
Режим агента: chat (инженер-коллега) или fixit (обязан вернуть патч + проверку). См. docs/AGENT_CONTRACT.md. |
3. Запуск с OpenAI
Вариант A: В текущей сессии терминала (macOS / Linux)
cd /Users/yrippertgmail.com/Desktop/papa-yu
export PAPAYU_LLM_API_URL="https://api.openai.com/v1/chat/completions"
export PAPAYU_LLM_API_KEY="sk-ваш-ключ-openai"
export PAPAYU_LLM_MODEL="gpt-4o-mini"
npm run tauri dev
Подставьте вместо sk-ваш-ключ-openai свой ключ.
Вариант B: Одна строкой (без сохранения ключа в истории)
cd /Users/yrippertgmail.com/Desktop/papa-yu
PAPAYU_LLM_API_URL="https://api.openai.com/v1/chat/completions" \
PAPAYU_LLM_API_KEY="sk-ваш-ключ" \
PAPAYU_LLM_MODEL="gpt-4o-mini" \
npm run tauri dev
Вариант C: Файл .env в корне проекта (если приложение его подхватывает)
В PAPA YU переменные читаются из окружения процесса. Tauri сам по себе не загружает .env. Чтобы использовать .env, можно запускать через env или скрипт:
# В papa-yu создайте файл .env (добавьте .env в .gitignore, чтобы не коммитить ключ):
# PAPAYU_LLM_API_URL=https://api.openai.com/v1/chat/completions
# PAPAYU_LLM_API_KEY=sk-ваш-ключ
# PAPAYU_LLM_MODEL=gpt-4o-mini
# Запуск с подгрузкой .env (macOS/Linux, если установлен dotenv-cli):
# npm install -g dotenv-cli
# dotenv -e .env -- npm run tauri dev
Или простой скрипт start-with-openai.sh:
#!/bin/bash
cd "$(dirname "$0")"
set -a
source .env # или export переменные здесь
set +a
npm run tauri dev
4. Проверка
- Запустите приложение с заданными переменными.
- Выберите проект (папку или путь).
- Запустите Анализ.
- Введите цель (например: «Добавить README и .gitignore»).
- Нажмите «Предложить исправления».
Если всё настроено верно, план будет сформирован через OpenAI. В случае ошибки в интерфейсе или в логах будет указание на API (например, 401 — неверный ключ, 429 — лимиты).
5. Безопасность
- Не коммитьте API-ключ в репозиторий и не вставляйте его в скрипты, которые попадают в историю.
- Добавьте
.envв.gitignore, если храните ключ в.env. - При утечке ключа отзовите его в OpenAI API keys и создайте новый.
6. Другие модели OpenAI
Можно указать другую модель через PAPAYU_LLM_MODEL, например:
gpt-4o— более способная модель.gpt-4o-mini— быстрее и дешевле (по умолчанию в коде).gpt-4-turbo— баланс качества и скорости.
Актуальный список и цены: OpenAI Pricing.
7. Если переменные не заданы
Если PAPAYU_LLM_API_URL не задана или пустая, кнопка «Предложить исправления» работает без API: используется встроенная эвристика (правила для README, .gitignore, LICENSE, .env.example и т.п.).