Skip to content

monaxovdulov/MyChatCLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyChatCLI

MyChatCLI — это CLI-инструмент на Python для удобной работы с промптами и их оценками без использования API AI-моделей. Он упрощает копирование, вставку и хранение результатов при работе с чатами (например, ChatGPT в браузере).

1. Возможности

  • Управление промптами (JSON):

    • Хранение шаблонов, базовых и кастомных промптов в папке prompts/.
    • Быстрый просмотр/поиск промптов через CLI.
    • Копирование полного текста промпта или фрагмента в буфер обмена (через pyperclip).
  • Сохранение ответов (outputs):

    • При необходимости CLI может сохранять «сырые» ответы (вручную скопированные из чата) в results/outputs/.
    • Это удобно, если вы хотите потом анализировать или повторно использовать ответ.
  • Оценка (Evaluations):

    • Возможность выставлять оценку по заданным критериям (accuracy, clarity, relevance, и т. д.).
    • Сохранение в JSON-файлы в results/evaluations/.
    • Использование [Prompt Toolkit / Textual] для интерактивного запроса оценок (ручной ввод или полуавтомат).
    • (Опционально) хранение времени, версии промпта, комментариев и других метаданных.
  • Логи:

    • Общий лог запуска команд и параметров в results/logs/run_log.txt.

2. Структура проекта

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/
    └── ...

3. Гайдлайн по эффективному использованию

3.1 Подготовка рабочего пространства

  • Запуск приложения:
    • Откройте консоль (например, Windows Terminal или PowerShell).
    • Перейдите в каталог, где находится ваш проект.
    • Запустите приложение командой:
      python mychatcli.py
  • Размещение окон:
    • Организуйте рабочее пространство так, чтобы окно консоли и окно браузера (с открытым чатом GPT) были видны одновременно.
    • Используйте сочетание клавиш Alt+Tab или Win+Стрелки влево/вправо для быстрого переключения между окнами.

3.2 Основной рабочий процесс

3.2.1 Просмотр и выбор промптов

  • Просмотр списка промптов:
    list_prompts  # Выводит промпты, сгруппированные по проектам
  • Использование автодополнения:
    • При вводе команд нажимайте Tab для автоподстановки.
    • Например: copy + Tab → список доступных промптов.

3.2.2 Копирование промпта в буфер обмена

copy <prompt_id>  # Например: copy french_articles.article_structure
  • Если промпт содержит переменные, приложение запросит их значения
  • После успешной подстановки, промпт копируется в буфер
  • Используйте Ctrl+V для вставки в чат

3.2.3 Обработка ответа от GPT

save_output <prompt_id>  # Сохраняет ответ в results/outputs/
  • Вставьте или введите ответ
  • Завершите ввод пустой строкой

3.2.4 Оценка ответа

evaluate <prompt_id>  # Сохраняет оценку в results/evaluations/
  • Введите критерии оценки
  • Добавьте комментарии при необходимости

3.3 Горячие клавиши

  • Alt+Tab — переключение между консолью и браузером
  • Ctrl+C/Ctrl+V — копирование/вставка текста
  • Win+Стрелки — управление окнами
  • Tab — автодополнение команд и ID промптов
  • Enter (пустая строка) — завершение ввода многострочного текста

3.4 Эффективный рабочий поток

  1. Выбор: Используйте list_prompts и Tab для быстрого выбора нужного промпта
  2. Копирование: copy <prompt_id> с автоматическим заполнением переменных
  3. Использование: Alt+Tab → Ctrl+V в чат GPT
  4. Сохранение: Alt+Tab → save_output <prompt_id> → вставка ответа
  5. Оценка: evaluate <prompt_id> для анализа результата

4. Установка и запуск

# Клонирование репозитория
git clone <repository_url>
cd mychatcli

# Установка зависимостей
pip install -r requirements.txt

# Запуск приложения
python mychatcli.py

5. Разработка

Для разработки и тестирования:

# Установка dev-зависимостей
pip install -e ".[dev]"

# Запуск тестов
pytest

# Проверка типов
mypy .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages