Files
go-lcg/serve

Пакет serve

Этот пакет содержит HTTP сервер для веб-интерфейса LCG (Linux Command GPT).

Структура файлов

serve.go

Основной файл пакета. Содержит:

  • StartResultServer() - функция запуска HTTP сервера
  • registerRoutes() - регистрация всех маршрутов

results.go

Обработчики для результатов и файлов:

  • handleResultsPage() - главная страница со списком файлов результатов
  • handleFileView() - просмотр конкретного файла
  • handleDeleteFile() - удаление файла результата
  • getResultFiles() - получение списка файлов
  • formatFileSize() - форматирование размера файла

history.go

Обработчики для работы с историей запросов:

  • handleHistoryPage() - страница истории запросов
  • handleDeleteHistoryEntry() - удаление записи из истории
  • handleClearHistory() - очистка всей истории
  • readHistoryEntries() - чтение записей истории

history_utils.go

Утилиты для работы с историей:

  • HistoryEntry - структура записи истории
  • read() - чтение истории из файла
  • write() - запись истории в файл
  • DeleteHistoryEntry() - удаление записи по индексу

prompts.go

Обработчики для управления промптами:

  • handlePromptsPage() - страница управления промптами
  • handleAddPrompt() - добавление нового промпта
  • handleEditPrompt() - редактирование промпта
  • handleDeletePrompt() - удаление промпта
  • handleRestorePrompt() - восстановление системного промпта к значению по умолчанию
  • handleRestoreVerbosePrompt() - восстановление verbose промпта
  • handleSaveLang() - сохранение промптов при переключении языка

prompts_helpers.go

Вспомогательные функции для работы с промптами:

  • getVerbosePromptsFromFile() - получение verbose промптов из файла
  • translateVerbosePrompt() - перевод verbose промпта
  • getVerbosePrompts() - получение встроенных verbose промптов (fallback)
  • getSystemPromptsWithLang() - получение системных промптов с учетом языка
  • translateSystemPrompt() - перевод системного промпта

Использование

import "github.com/direct-dev-ru/linux-command-gpt/serve"

// Запуск сервера на localhost:8080
err := serve.StartResultServer("localhost", "8080")

Маршруты

Результаты

  • GET / - главная страница со списком файлов
  • GET /file/{filename} - просмотр файла результата
  • DELETE /delete/{filename} - удаление файла

История

  • GET /history - страница истории запросов
  • GET /history/view/{id} - просмотр записи истории в развернутом виде
  • DELETE /history/delete/{id} - удаление записи
  • DELETE /history/clear - очистка всей истории

Промпты

  • GET /prompts - страница управления промптами
  • POST /prompts/add - добавление промпта
  • PUT /prompts/edit/{id} - редактирование промпта
  • DELETE /prompts/delete/{id} - удаление промпта
  • POST /prompts/restore/{id} - восстановление системного промпта
  • POST /prompts/restore-verbose/{mode} - восстановление verbose промпта (v/vv/vvv)
  • POST /prompts/save-lang - сохранение языка промптов

Выполнение запросов

  • GET /run - веб-страница для выполнения запросов
  • POST /run - обработка выполнения запроса
  • POST /execute - API для программного доступа (только curl)

Особенности

  • Многоязычность: Поддержка английского и русского языков для промптов
  • Responsive дизайн: Адаптивный интерфейс для различных устройств
  • Markdown: Автоматическая конвертация Markdown файлов в HTML
  • История: Поиск дубликатов с учетом регистра
  • Промпты: Управление встроенными и пользовательскими промптами