Ascii Art
ASCII-арт: pyfiglet, cowsay, boxes, image-to-ascii.
Метаданные навыка
| Источник | Опциональный — устанавливается командой hermes skills install official/creative/ascii-art |
| Путь | optional-skills/creative/ascii-art |
| Версия | 4.0.0 |
| Автор | 0xbyt4, Hermes Agent |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | ASCII, Art, Banners, Creative, Unicode, Text-Art, pyfiglet, figlet, cowsay, boxes |
| Связанные навыки | excalidraw |
Справочник: полный SKILL.md
Ниже — полное определение навыка, которое Hermes загружает при его активации. Именно это агент видит как инструкцию, когда навык включён.
Навык ASCII Art
Несколько инструментов под разные задачи ASCII-арта. Все они — локальные CLI-программы или бесплатные REST API, ключи доступа не нужны.
Инструмент 1: текстовые баннеры (pyfiglet — локально)
Рендерит текст в крупный ASCII-баннер. 571 встроенный шрифт.
Установка
pip install pyfiglet --break-system-packages -q
Использование
python -m pyfiglet "YOUR TEXT" -f slant
python -m pyfiglet "TEXT" -f doom -w 80 # Задать ширину
python -m pyfiglet --list_fonts # Список всех 571 шрифта
Рекомендуемые шрифты
| Стиль | Шрифт | Хорошо подходит для |
|---|---|---|
| Чистый и современный | slant | Названия проектов, заголовки |
| Жирный и блочный | doom | Титулы, логотипы |
| Крупный и читаемый | big | Баннеры |
| Классический баннер | banner3 | Широкие экраны |
| Компактный | small | Подзаголовки |
| Киберпанк | cyberlarge | Технологичные темы |
| 3D-эффект | 3-d | Заставки |
| Готика | gothic | Драматичный текст |
Советы
- Покажи 2–3 шрифта и дай пользователю выбрать понравившийся
- Короткий текст (1–8 символов) лучше смотрится в детализированных шрифтах вроде
doomилиblock - Длинный текст лучше смотрится в компактных шрифтах вроде
smallилиmini
Инструмент 2: текстовые баннеры (API asciified — удалённо, без установки)
Бесплатный REST API, превращающий текст в ASCII-арт. Более 250 шрифтов FIGlet. Возвращает обычный текст напрямую — парсить ничего не нужно. Используй, если pyfiglet не установлен, или как быстрый вариант.
Использование (через curl в терминале)
# Базовый текстовый баннер (шрифт по умолчанию)
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello+World"
# С конкретным шрифтом
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Slant"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Doom"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Star+Wars"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=3-D"
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=Hello&font=Banner3"
# Список всех доступных шрифтов (возвращает JSON-массив)
curl -s "https://asciified.thelicato.io/api/v2/fonts"
Советы
- Пробелы в параметре text кодируй как
+ - Ответ — обычный ASCII-арт текстом, без обёртки в JSON, готов к выводу сразу
- Названия шрифтов чувствительны к регистру; точные имена бери из эндпоинта fonts
- Работает из любого терминала с curl — Python и pip не нужны
Инструмент 3: Cowsay (текст-арт с персонажем)
Классический инструмент, оборачивающий текст в облако речи с ASCII-персонажем.
Установка
sudo apt install cowsay -y # Debian/Ubuntu
# brew install cowsay # macOS
Использование
cowsay "Hello World"
cowsay -f tux "Linux rules" # Пингвин Tux
cowsay -f dragon "Rawr!" # Дракон
cowsay -f stegosaurus "Roar!" # Стегозавр
cowthink "Hmm..." # Облако мыслей
cowsay -l # Список всех персонажей
Доступные персонажи (более 50)
beavis.zen, bong, bunny, cheese, daemon, default, dragon,
dragon-and-cow, elephant, eyes, flaming-skull, ghostbusters,
hellokitty, kiss, kitty, koala, luke-koala, mech-and-cow,
meow, moofasa, moose, ren, sheep, skeleton, small,
stegosaurus, stimpy, supermilker, surgery, three-eyes,
turkey, turtle, tux, udder, vader, vader-koala, www
Модификаторы глаз и языка
cowsay -b "Borg" # Глаза =_=
cowsay -d "Dead" # Глаза x_x
cowsay -g "Greedy" # Глаза $_$
cowsay -p "Paranoid" # Глаза @_@
cowsay -s "Stoned" # Глаза *_*
cowsay -w "Wired" # Глаза O_O
cowsay -e "OO" "Msg" # Свои глаза
cowsay -T "U " "Msg" # Свой язык
Инструмент 4: Boxes (декоративные рамки)
Рисует декоративные ASCII-рамки вокруг любого текста. Более 70 встроенных дизайнов.
Установка
sudo apt install boxes -y # Debian/Ubuntu
# brew install boxes # macOS
Использование
echo "Hello World" | boxes # Рамка по умолчанию
echo "Hello World" | boxes -d stone # Каменная рамка
echo "Hello World" | boxes -d parchment # Свиток-пергамент
echo "Hello World" | boxes -d cat # Рамка с котом
echo "Hello World" | boxes -d dog # Рамка с собакой
echo "Hello World" | boxes -d unicornsay # Единорог
echo "Hello World" | boxes -d diamonds # Узор из ромбов
echo "Hello World" | boxes -d c-cmt # Комментарий в стиле C
echo "Hello World" | boxes -d html-cmt # HTML-комментарий
echo "Hello World" | boxes -a c # Выровнять текст по центру
boxes -l # Список всех 70+ дизайнов
Комбинируем с pyfiglet или asciified
python -m pyfiglet "HERMES" -f slant | boxes -d stone
# Или без установленного pyfiglet:
curl -s "https://asciified.thelicato.io/api/v2/ascii?text=HERMES&font=Slant" | boxes -d stone
Инструмент 5: TOIlet (цветной текст-арт)
Похож на pyfiglet, но с ANSI-цветами и визуальными фильтрами. Отлично смотрится в терминале.
Установка
sudo apt install toilet toilet-fonts -y # Debian/Ubuntu
# brew install toilet # macOS
Использование
toilet "Hello World" # Базовый текст-арт
toilet -f bigmono12 "Hello" # Конкретный шрифт
toilet --gay "Rainbow!" # Радужная раскраска
toilet --metal "Metal!" # Металлический эффект
toilet -F border "Bordered" # Добавить рамку
toilet -F border --gay "Fancy!" # Комбинация эффектов
toilet -f pagga "Block" # Блочный шрифт (есть только в toilet)
toilet -F list # Список доступных фильтров
Фильтры
crop, gay (радуга), metal, flip, flop, 180, left, right, border
Примечание: toilet выводит ANSI-escape-коды для цвета — они работают в терминале, но могут не отрисоваться в других контекстах (например, в обычных текстовых файлах или некоторых чат-платформах).
Инструмент 6: превращение изображения в ASCII-арт
Конвертирует изображения (PNG, JPEG, GIF, WEBP) в ASCII-арт.
Вариант A: ascii-image-converter (рекомендуется, современный)
# Установка
sudo snap install ascii-image-converter
# ИЛИ: go install github.com/TheZoraiz/ascii-image-converter@latest
ascii-image-converter image.png # Базовый вывод
ascii-image-converter image.png -C # Цветной вывод
ascii-image-converter image.png -d 60,30 # Задать размеры
ascii-image-converter image.png -b # Символы Брайля
ascii-image-converter image.png -n # Негатив/инверсия
ascii-image-converter https://url/image.jpg # Прямая ссылка
ascii-image-converter image.png --save-txt out # Сохранить как текст
Вариант B: jp2a (лёгкий, только JPEG)
sudo apt install jp2a -y
jp2a --width=80 image.jpg
jp2a --colors image.jpg # С цветом
Инструмент 7: поиск готового ASCII-арта
Ищет подобранные вручную ASCII-рисунки в сети. Используй terminal с curl.
Источник A: ascii.co.uk (рекомендуется для готового арта)
Большая коллекция классического ASCII-арта, рассортированная по темам. Рисунки лежат внутри HTML-тегов <pre>. Загрузи страницу через curl, затем извлеки арт небольшим Python-скриптом.
Шаблон URL: https://ascii.co.uk/art/{subject}
Шаг 1 — загрузить страницу:
curl -s 'https://ascii.co.uk/art/cat' -o ~/.hermes/cache/scratch/ascii_art.html
Шаг 2 — извлечь арт из тегов pre:
import os, re, html
with open(os.path.expanduser('~/.hermes/cache/scratch/ascii_art.html')) as f:
text = f.read()
arts = re.findall(r'<pre[^>]*>(.*?)</pre>', text, re.DOTALL)
for art in arts:
clean = re.sub(r'<[^>]+>', '', art)
clean = html.unescape(clean).strip()
if len(clean) > 30:
print(clean)
print('\n---\n')
Доступные темы (используй как путь в URL):
- Животные:
cat,dog,horse,bird,fish,dragon,snake,rabbit,elephant,dolphin,butterfly,owl,wolf,bear,penguin,turtle - Предметы:
car,ship,airplane,rocket,guitar,computer,coffee,beer,cake,house,castle,sword,crown,key - Природа:
tree,flower,sun,moon,star,mountain,ocean,rainbow - Персонажи:
skull,robot,angel,wizard,pirate,ninja,alien - Праздники:
christmas,halloween,valentine
Советы:
- Сохраняй подписи и инициалы авторов — это важный этикет
- На странице обычно несколько рисунков — выбери лучший под запрос пользователя
- Работает надёжно через curl, JavaScript не нужен
Источник B: GitHub Octocat API (забавное пасхальное яйцо)
Возвращает случайного GitHub-октокота с мудрой цитатой. Авторизация не нужна.
curl -s https://api.github.com/octocat
Инструмент 8: забавные ASCII-утилиты (через curl)
Эти бесплатные сервисы возвращают ASCII-арт напрямую — приятное дополнение для настроения.
QR-коды как ASCII-арт
curl -s "qrenco.de/Hello+World"
curl -s "qrenco.de/https://example.com"
Погода как ASCII-арт
curl -s "wttr.in/London" # Полный прогноз погоды с ASCII-графикой
curl -s "wttr.in/Moon" # Фаза Луны в ASCII-арте
curl -s "v2.wttr.in/London" # Подробная версия
Инструмент 9: свой арт от LLM (запасной вариант)
Когда ничего из инструментов выше не подходит, генерируй ASCII-арт напрямую, используя эти символы Unicode:
Палитра символов
Рамки и линии: ╔ ╗ ╚ ╝ ║ ═ ╠ ╣ ╦ ╩ ╬ ┌ ┐ └ ┘ │ ─ ├ ┤ ┬ ┴ ┼ ╭ ╮ ╰ ╯
Блочные элементы: ░ ▒ ▓ █ ▄ ▀ ▌ ▐ ▖ ▗ ▘ ▝ ▚ ▞
Геометрия и символы: ◆ ◇ ◈ ● ○ ◉ ■ □ ▲ △ ▼ ▽ ★ ☆ ✦ ✧ ◀ ▶ ◁ ▷ ⬡ ⬢ ⌂
Правила
- Максимальная ширина: 60 символов в строке (безопасно для терминала)
- Максимальная высота: 15 строк для баннеров, 25 для сцен
- Только моноширинный шрифт: вывод должен корректно отображаться в фиксированной ширине
Логика выбора
- Текст как баннер → pyfiglet, если установлен, иначе API asciified через curl
- Обернуть сообщение в забавного персонажа → cowsay
- Добавить декоративную рамку → boxes (можно комбинировать с pyfiglet/asciified)
- Арт конкретного объекта (кот, ракета, дракон) → ascii.co.uk через curl с разбором
- Превратить изображение в ASCII → ascii-image-converter или jp2a
- QR-код → qrenco.de через curl
- Погода/луна → wttr.in через curl
- Что-то своё, творческое → генерация LLM с палитрой Unicode
- Нужный инструмент не установлен → установи его или переходи к следующему варианту