mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2025-11-16 01:29:55 +00:00
v2.0.15
This commit is contained in:
@@ -69,8 +69,8 @@ lcg co -f
|
||||
"host": "localhost"
|
||||
},
|
||||
"validation": {
|
||||
"max_system_prompt_length": 1000,
|
||||
"max_user_message_length": 2000,
|
||||
"max_system_prompt_length": 2000,
|
||||
"max_user_message_length": 4000,
|
||||
"max_prompt_name_length": 2000,
|
||||
"max_prompt_desc_length": 5000,
|
||||
"max_command_length": 8000,
|
||||
@@ -116,12 +116,12 @@ lcg co -f
|
||||
|
||||
### Настройки валидации (validation)
|
||||
|
||||
- **max_system_prompt_length** - максимальная длина системного промпта
|
||||
- **max_user_message_length** - максимальная длина пользовательского сообщения
|
||||
- **max_prompt_name_length** - максимальная длина названия промпта
|
||||
- **max_prompt_desc_length** - максимальная длина описания промпта
|
||||
- **max_command_length** - максимальная длина команды/ответа
|
||||
- **max_explanation_length** - максимальная длина объяснения
|
||||
- **max_system_prompt_length** - максимальная длина системного промпта (по умолчанию: 2000)
|
||||
- **max_user_message_length** - максимальная длина пользовательского сообщения (по умолчанию: 4000)
|
||||
- **max_prompt_name_length** - максимальная длина названия промпта (по умолчанию: 2000)
|
||||
- **max_prompt_desc_length** - максимальная длина описания промпта (по умолчанию: 5000)
|
||||
- **max_command_length** - максимальная длина команды/ответа (по умолчанию: 8000)
|
||||
- **max_explanation_length** - максимальная длина объяснения (по умолчанию: 20000)
|
||||
|
||||
## 🔒 Безопасность
|
||||
|
||||
|
||||
@@ -35,10 +35,17 @@ Explanations:
|
||||
|
||||
Clipboard support requires `xclip` or `xsel`.
|
||||
|
||||
## What's new in 2.0.1
|
||||
## What's new in 2.0.14
|
||||
|
||||
- Mobile UI improvements: better responsiveness (buttons, fonts, spacing) and reduced motion support
|
||||
- Public REST endpoint: `POST /execute` (curl-only) for programmatic access — see `API_GUIDE.md`
|
||||
- Authentication: JWT-based authentication with HTTP-only cookies
|
||||
- CSRF protection: Full CSRF protection with tokens and middleware
|
||||
- Security: Enhanced security with token validation and sessions
|
||||
- Kubernetes deployment: Full set of manifests for Kubernetes deployment with Traefik
|
||||
- Reverse Proxy: Support for working behind reverse proxy with cookie configuration
|
||||
- Web interface: Improved web interface with modern design
|
||||
- Monitoring: Prometheus metrics and ServiceMonitor
|
||||
- Scaling: HPA for automatic scaling
|
||||
- Testing: CSRF protection testing tools
|
||||
|
||||
## Environment
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ sudo apt-get install xsel
|
||||
|
||||
```bash
|
||||
|
||||
git clone --depth 1 https://github.com/Direct-Dev-Ru/go-lcg.git ~/.linux-command-gpt
|
||||
git clone --depth 1 https://github.com/Direct-Dev-Ru/linux-command-gpt.git ~/.linux-command-gpt
|
||||
cd ~/.linux-command-gpt
|
||||
go build -o lcg
|
||||
|
||||
@@ -60,7 +60,7 @@ lcg --file /path/to/context.txt "хочу вывести список дирек
|
||||
Действия: (c)копировать, (s)сохранить, (r)перегенерировать, (e)выполнить, (v|vv|vvv)подробно, (n)ничего:
|
||||
```
|
||||
|
||||
### Что нового в 3.0.0
|
||||
### Что нового в 2.0.14
|
||||
|
||||
- **Аутентификация**: Добавлена система аутентификации с JWT токенами и HTTP-only cookies
|
||||
- **CSRF защита**: Полная защита от CSRF атак с токенами и middleware
|
||||
|
||||
@@ -8,26 +8,26 @@
|
||||
|
||||
| Переменная | Описание | По умолчанию |
|
||||
|------------|----------|--------------|
|
||||
| `LCG_MAX_SYSTEM_PROMPT_LENGTH` | Максимальная длина системного промпта | 1000 |
|
||||
| `LCG_MAX_USER_MESSAGE_LENGTH` | Максимальная длина пользовательского сообщения | 2000 |
|
||||
| `LCG_MAX_PROMPT_NAME_LENGTH` | Максимальная длина названия промпта | 200 |
|
||||
| `LCG_MAX_PROMPT_DESC_LENGTH` | Максимальная длина описания промпта | 500 |
|
||||
| `LCG_MAX_COMMAND_LENGTH` | Максимальная длина команды/ответа | 2000 |
|
||||
| `LCG_MAX_EXPLANATION_LENGTH` | Максимальная длина объяснения | 2000 |
|
||||
| `LCG_MAX_SYSTEM_PROMPT_LENGTH` | Максимальная длина системного промпта | 2000 |
|
||||
| `LCG_MAX_USER_MESSAGE_LENGTH` | Максимальная длина пользовательского сообщения | 4000 |
|
||||
| `LCG_MAX_PROMPT_NAME_LENGTH` | Максимальная длина названия промпта | 2000 |
|
||||
| `LCG_MAX_PROMPT_DESC_LENGTH` | Максимальная длина описания промпта | 5000 |
|
||||
| `LCG_MAX_COMMAND_LENGTH` | Максимальная длина команды/ответа | 8000 |
|
||||
| `LCG_MAX_EXPLANATION_LENGTH` | Максимальная длина объяснения | 20000 |
|
||||
|
||||
## 🚀 Примеры использования
|
||||
|
||||
### Установка через переменные окружения
|
||||
|
||||
```bash
|
||||
# Увеличить лимит системного промпта до 2к символов
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
# Увеличить лимит системного промпта до 3к символов
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=3000
|
||||
|
||||
# Уменьшить лимит пользовательского сообщения до 1к символов
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=1000
|
||||
# Уменьшить лимит пользовательского сообщения до 2к символов
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=2000
|
||||
|
||||
# Увеличить лимит названия промпта до 500 символов
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=500
|
||||
# Увеличить лимит названия промпта до 3000 символов
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=3000
|
||||
```
|
||||
|
||||
### Установка в .env файле
|
||||
@@ -35,11 +35,11 @@ export LCG_MAX_PROMPT_NAME_LENGTH=500
|
||||
```bash
|
||||
# .env файл
|
||||
LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
LCG_MAX_USER_MESSAGE_LENGTH=1500
|
||||
LCG_MAX_PROMPT_NAME_LENGTH=300
|
||||
LCG_MAX_PROMPT_DESC_LENGTH=1000
|
||||
LCG_MAX_COMMAND_LENGTH=3000
|
||||
LCG_MAX_EXPLANATION_LENGTH=5000
|
||||
LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
LCG_MAX_PROMPT_NAME_LENGTH=2000
|
||||
LCG_MAX_PROMPT_DESC_LENGTH=5000
|
||||
LCG_MAX_COMMAND_LENGTH=8000
|
||||
LCG_MAX_EXPLANATION_LENGTH=20000
|
||||
```
|
||||
|
||||
### Установка в systemd сервисе
|
||||
@@ -55,8 +55,8 @@ User=lcg
|
||||
WorkingDirectory=/opt/lcg
|
||||
ExecStart=/opt/lcg/lcg serve
|
||||
Environment=LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
Environment=LCG_MAX_USER_MESSAGE_LENGTH=1500
|
||||
Environment=LCG_MAX_PROMPT_NAME_LENGTH=300
|
||||
Environment=LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
Environment=LCG_MAX_PROMPT_NAME_LENGTH=2000
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
@@ -72,7 +72,7 @@ FROM golang:1.21-alpine AS builder
|
||||
FROM alpine:latest
|
||||
COPY --from=builder /app/lcg /usr/local/bin/
|
||||
ENV LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
ENV LCG_MAX_USER_MESSAGE_LENGTH=1500
|
||||
ENV LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
CMD ["lcg", "serve"]
|
||||
```
|
||||
|
||||
@@ -84,8 +84,8 @@ services:
|
||||
image: lcg:latest
|
||||
environment:
|
||||
- LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
- LCG_MAX_USER_MESSAGE_LENGTH=1500
|
||||
- LCG_MAX_PROMPT_NAME_LENGTH=300
|
||||
- LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
- LCG_MAX_PROMPT_NAME_LENGTH=2000
|
||||
ports:
|
||||
- "8080:8080"
|
||||
```
|
||||
@@ -153,9 +153,9 @@ validation.FormatLengthInfo(systemPrompt, userMessage)
|
||||
## 📝 Примеры сообщений об ошибках
|
||||
|
||||
```
|
||||
❌ Ошибка: system_prompt: системный промпт слишком длинный: 1500 символов (максимум 1000)
|
||||
❌ Ошибка: user_message: пользовательское сообщение слишком длинное: 2500 символов (максимум 2000)
|
||||
❌ Ошибка: prompt_name: название промпта слишком длинное: 300 символов (максимум 200)
|
||||
❌ Ошибка: system_prompt: системный промпт слишком длинный: 2500 символов (максимум 2000)
|
||||
❌ Ошибка: user_message: пользовательское сообщение слишком длинное: 4500 символов (максимум 4000)
|
||||
❌ Ошибка: prompt_name: название промпта слишком длинное: 2500 символов (максимум 2000)
|
||||
```
|
||||
|
||||
## 🔄 Миграция с жестко заданных значений
|
||||
@@ -179,25 +179,25 @@ if err := validation.ValidateSystemPrompt(prompt); err != nil {
|
||||
### Для разработки
|
||||
```bash
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=2000
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=200
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=500
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=2000
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=5000
|
||||
```
|
||||
|
||||
### Для продакшена
|
||||
```bash
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=1000
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=1500
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=100
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=300
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=2000
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=4000
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=2000
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=5000
|
||||
```
|
||||
|
||||
### Для высоконагруженных систем
|
||||
```bash
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=500
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=1000
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=50
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=200
|
||||
export LCG_MAX_SYSTEM_PROMPT_LENGTH=1000
|
||||
export LCG_MAX_USER_MESSAGE_LENGTH=2000
|
||||
export LCG_MAX_PROMPT_NAME_LENGTH=1000
|
||||
export LCG_MAX_PROMPT_DESC_LENGTH=2500
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user