mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2025-11-16 17:49:55 +00:00
111 lines
5.0 KiB
Markdown
111 lines
5.0 KiB
Markdown
# Пакет 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()` - перевод системного промпта
|
||
|
||
## Использование
|
||
|
||
```go
|
||
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
|
||
- **История**: Поиск дубликатов с учетом регистра
|
||
- **Промпты**: Управление встроенными и пользовательскими промптами
|