Техническое задание
Koderra ScreenLink
Screen-to-Link Tool
1. Общая информация
Название проекта

Koderra ScreenLink

Описание

Koderra ScreenLink — portable Windows-приложение для быстрого создания скриншотов, автоматической загрузки файлов на сервер и получения публичной ссылки.

Основной сценарий:

Нажать кнопку →
Выделить область →
Скрин автоматически сохраняется →
Файл загружается на сервер →
Ссылка копируется в буфер обмена.

Приложение ориентировано на:

работу с ChatGPT и Claude;
VPS и терминалы;
разработчиков;
SEO-специалистов;
пользователей ИИ.
2. Технологии
Платформа
Windows 10
Windows 11
Язык
C#
UI Framework
WPF
Runtime
.NET 8
Тип приложения
Portable
Без установки
3. Структура проекта
Структура каталога
/ScreenLink/
    ScreenLink.exe
    config.json

    /screens/
    /cache/
    /logs/
4. Portable-архитектура

Все данные приложения должны храниться рядом с EXE.

Приложение не должно зависеть от:

AppData
Program Files
Registry (кроме optional autostart)
5. Floating Button
Описание

После запуска приложения отображается маленькая кнопка поверх всех окон.

6. Floating Button — требования
Свойства
always on top;
без рамки;
прозрачный фон;
поверх всех окон;
не отображается в taskbar.
Размер
20–24 px
Поведение
Idle

Полупрозрачная.

Hover

Увеличение opacity.

7. Floating Button — действия
ЛКМ

Открыть меню приложения.

Drag

Перемещение кнопки.

Позиция

Сохраняется в config.

8. Главное меню
Пункты меню
Сделать скрин
Группы
Последние файлы
Сообщения
Настройки
Поддержать проект
Выход
9. Создание скриншота
Сценарий
Пользователь нажимает:
"Сделать скрин"

→ экран затемняется
→ появляется overlay
→ пользователь выделяет область
→ нажимает Enter/Сделать скрин
10. Overlay
Требования
Overlay должен:
затемнять экран;
поддерживать multi-monitor;
быть поверх всех окон;
иметь resize области.
11. Выделение области
Возможности
Resize:
углы;
стороны.
Drag:
перемещение области.
Координаты

Отображать:

X Y W H
12. Горячие клавиши
Esc

Закрыть overlay.

Enter

Подтвердить создание скрина.

13. Кнопки overlay
Нижняя панель
Выделить область
Весь экран
Отмена
Сделать скрин
Верхняя кнопка
X

Закрытие overlay.

14. Создание файла
Формат
PNG
Имя файла

Пример:

2026-05-13_15-42-11_ab12.png
15. Группы
Описание

Группа = профиль сохранения.

16. Каждая группа содержит
локальный каталог;
удалённый каталог;
публичный URL;
включена ли upload-загрузка.
17. Структура группы
Пример
{
  "id": "claude",
  "name": "Claude",

  "local_dir": "./screens/claude",

  "remote_dir": "/srv/sites/koderra/public/for_screenlink/claude",

  "public_url": "https://screenlink.koderra.ru/for_screenlink/claude",

  "upload_enabled": true
}
18. Основная группа
Пример
{
  "id": "main",
  "name": "Основная",

  "local_dir": "./screens/main",

  "remote_dir": "/srv/sites/koderra/public/for_screenlink",

  "public_url": "https://screenlink.koderra.ru/for_screenlink",

  "upload_enabled": true
}
19. Автоматическое создание папок

Если папки не существуют:

./screens
./cache
./logs

приложение создаёт их автоматически.

20. Выбор группы

После создания скрина:

Сохранить в:
[Основная]
[Claude]
[VPS]
[Без группы]
21. Окно групп
Возможности
создать группу;
удалить группу;
редактировать группу;
выбрать группу по умолчанию.
22. Загрузка на сервер
Тип

SFTP

Библиотека

SSH.NET

23. SFTP параметры
Настройки
Host
Port
Username
Password или Key
24. Upload flow
Скрин создан
→ upload на сервер
→ генерация URL
→ копирование ссылки
→ уведомление
25. Публичная ссылка
Формат
https://screenlink.koderra.ru/for_screenlink/claude/file.png
26. Буфер обмена

После успешной загрузки:

ссылка автоматически копируется.
27. Toast-уведомление
Текст
Скриншот загружен
Ссылка скопирована в буфер обмена
28. Последние файлы
Раздел должен отображать
имя файла;
дату;
размер;
группу;
локальный путь;
публичную ссылку.
29. Действия для файла
Открыть
Открыть папку
Копировать ссылку
Удалить
30. Сообщения
Описание

Раздел с сообщениями от команды Koderra.

31. Типы сообщений
новости;
обновления;
советы;
инструкции;
уведомления.
32. Remote Config
URL
https://screenlink.koderra.ru/api/config.json
33. Поведение при запуске
Приложение запускается
→ пытается скачать config.json
→ обновляет:
   сообщения
   ссылки
   версию
   donate
34. Offline режим

Если сервер недоступен:

приложение продолжает работать;
используется cache.
35. Cache config
Каталог
./cache/config.json
36. Пример remote config
{
  "version": "1.0.0",

  "message": {
    "enabled": true,
    "title": "Сообщение от команды",
    "text": "Добавлена поддержка новых групп."
  },

  "donate": {
    "enabled": true,
    "url": "https://koderra.ru/donate"
  }
}
37. Сообщение при запуске

При наличии нового сообщения:

Появляется маленькое окно:
"Сообщение от команды Koderra"
Возможности
закрыть;
свернуть;
открыть позже.
38. Поддержать проект
Раздел
Спасибо за использование Koderra ScreenLink.
Вы можете поддержать развитие проекта.
Кнопка
Поддержать проект
39. Настройки
Разделы
Общие
автозагрузка;
язык;
тема.
Интерфейс
размер кнопки;
прозрачность;
позиция.
Скриншоты
формат;
имя файла;
качество.
Upload
host;
port;
login;
password/key.
40. Автозагрузка Windows
Настройка
[ ] Запускать вместе с Windows
Реализация

Через:

shell:startup
41. Логи
Каталог
./logs/
42. Логировать
ошибки upload;
ошибки overlay;
ошибки API;
ошибки SFTP.
43. API endpoints
Config
/api/config.json
Messages
/api/messages.json
Version
/api/version.json
44. UI стиль
Стиль
dark theme;
минимализм;
Windows 11 style;
мягкие синие/фиолетовые акценты.
45. Безопасность
Требования
HTTPS only;
не хранить SFTP password в открытом виде;
не собирать telemetry без согласия.
46. MVP включает

✅ Floating Button
✅ Overlay
✅ Resize области
✅ Скриншоты
✅ Группы
✅ SFTP Upload
✅ Public URL
✅ Clipboard copy
✅ Последние файлы
✅ Сообщения
✅ Remote Config
✅ Portable mode
✅ Автозагрузка

47. Не входит в MVP

❌ macOS
❌ Linux
❌ Видео
❌ OCR
❌ Облачное хранение
❌ Аккаунты
❌ AI-анализ скринов
❌ Редактор изображений

48. Возможные улучшения
Future features
горячие клавиши;
GIF capture;
Telegram upload;
drag-and-drop upload;
Cloudflare R2;
expiration links;
blur mode;
встроенный image editor;
AI upload helper.