MyChatCLI — это CLI-инструмент на Python для удобной работы с промптами и их оценками без использования API AI-моделей. Он упрощает копирование, вставку и хранение результатов при работе с чатами (например, ChatGPT в браузере).
-
Управление промптами (JSON):
- Хранение шаблонов, базовых и кастомных промптов в папке
prompts/. - Быстрый просмотр/поиск промптов через CLI.
- Копирование полного текста промпта или фрагмента в буфер обмена (через pyperclip).
- Хранение шаблонов, базовых и кастомных промптов в папке
-
Сохранение ответов (outputs):
- При необходимости CLI может сохранять «сырые» ответы (вручную скопированные из чата) в
results/outputs/. - Это удобно, если вы хотите потом анализировать или повторно использовать ответ.
- При необходимости CLI может сохранять «сырые» ответы (вручную скопированные из чата) в
-
Оценка (Evaluations):
- Возможность выставлять оценку по заданным критериям (accuracy, clarity, relevance, и т. д.).
- Сохранение в JSON-файлы в
results/evaluations/. - Использование [Prompt Toolkit / Textual] для интерактивного запроса оценок (ручной ввод или полуавтомат).
- (Опционально) хранение времени, версии промпта, комментариев и других метаданных.
-
Логи:
- Общий лог запуска команд и параметров в
results/logs/run_log.txt.
- Общий лог запуска команд и параметров в
mychatcli/
├── README.md
├── pyproject.toml
├── mychatcli.py
├── prompts/
│ ├── base_prompts/
│ │ ├── prompt_a.json
│ │ └── ...
│ ├── custom_prompts/
│ │ └── custom_prompt_a.json
│ ├── templates/
│ │ └── template_a.json
│ └── __init__.py
├── results/
│ ├── outputs/
│ │ └── output_prompt_a_2025-02-13_10-00.json
│ ├── evaluations/
│ │ └── evaluation_prompt_a_2025-02-13_10-00.json
│ └── logs/
│ └── run_log.txt
├── scripts/
│ ├── snippet_manager.py
│ ├── evaluation.py
│ └── ...
├── tests/
│ └── ...
└── docs/
└── ...- Запуск приложения:
- Откройте консоль (например, Windows Terminal или PowerShell).
- Перейдите в каталог, где находится ваш проект.
- Запустите приложение командой:
python mychatcli.py
- Размещение окон:
- Организуйте рабочее пространство так, чтобы окно консоли и окно браузера (с открытым чатом GPT) были видны одновременно.
- Используйте сочетание клавиш Alt+Tab или Win+Стрелки влево/вправо для быстрого переключения между окнами.
- Просмотр списка промптов:
list_prompts # Выводит промпты, сгруппированные по проектам - Использование автодополнения:
- При вводе команд нажимайте Tab для автоподстановки.
- Например:
copy+ Tab → список доступных промптов.
copy <prompt_id> # Например: copy french_articles.article_structure- Если промпт содержит переменные, приложение запросит их значения
- После успешной подстановки, промпт копируется в буфер
- Используйте Ctrl+V для вставки в чат
save_output <prompt_id> # Сохраняет ответ в results/outputs/- Вставьте или введите ответ
- Завершите ввод пустой строкой
evaluate <prompt_id> # Сохраняет оценку в results/evaluations/- Введите критерии оценки
- Добавьте комментарии при необходимости
- Alt+Tab — переключение между консолью и браузером
- Ctrl+C/Ctrl+V — копирование/вставка текста
- Win+Стрелки — управление окнами
- Tab — автодополнение команд и ID промптов
- Enter (пустая строка) — завершение ввода многострочного текста
- Выбор: Используйте
list_promptsи Tab для быстрого выбора нужного промпта - Копирование:
copy <prompt_id>с автоматическим заполнением переменных - Использование: Alt+Tab → Ctrl+V в чат GPT
- Сохранение: Alt+Tab →
save_output <prompt_id>→ вставка ответа - Оценка:
evaluate <prompt_id>для анализа результата
# Клонирование репозитория
git clone <repository_url>
cd mychatcli
# Установка зависимостей
pip install -r requirements.txt
# Запуск приложения
python mychatcli.pyДля разработки и тестирования:
# Установка dev-зависимостей
pip install -e ".[dev]"
# Запуск тестов
pytest
# Проверка типов
mypy .