feat: parity — news, currency, crypto, fun, wiki, power, help (82 commands)

Mirrors the rust analog-inspired tier-2 packs. yaml + ast smoke pass.
56 → 82 commands (+26 yaml entries; 14 of them are power/fun/wiki/
news/etc. permutations).

main.py — 7 new action handlers, all built on stdlib urllib.request
(no new dep). Helper _http_get() with User-Agent header so RSS feeds
that 403 default UAs go through.

+ do_news: pulls RSS (default Lenta.ru), extracts <title> via regex,
  skips channel title (idx 0), takes 5, sends to Groq for a 2-3
  sentence summary at temp 0.4. Falls back to reading first 3
  headlines verbatim if no token.
+ do_currency_rate: cbr-xml-daily.ru daily_json.js. Recognises
  USD/EUR/CNY/GBP/JPY/KZT in the phrase, computes value/nominal,
  diffs against Previous, speaks Russian with direction.
+ do_crypto_price: CoinGecko simple/price for BTC/ETH/SOL/DOGE/TON
  with 24h change, picked by phrase keywords.
+ do_fun_ask: joke / fact / quote / compliment via Groq at temp 1.0
  with per-kind system prompts, random seed in user message.
+ do_wiki_lookup: ru.wikipedia opensearch → page summary, optional
  Groq retell when extract > 350 chars.
+ do_power: dispatch table for shutdown / restart / sleep /
  hibernate / logoff / cancel — runs shutdown.exe /s|/r|/h|/l|/a
  or rundll32 powrprof,SetSuspendState. 30-second grace on shutdown
  and restart with /c message so "отмени выключение" works.
+ do_help_commands: sorts VA_CMD_LIST.keys(), speaks first 12 + total,
  full list to clipboard.

commands.yaml +26 entries:
news_headlines, currency_rate, crypto_price, joke / fact / quote /
compliment (action:fun_ask, kind: ...), wiki_lookup, shutdown_pc /
restart_pc / sleep_pc / hibernate_pc / logoff_user / cancel_shutdown
(action:power, op: ...), help.

Inspired by what mainstream voice assistants (Siri/Alexa/Алиса/
Cortana) ship by default + power-user utilities (shutdown,
window/process control).
This commit is contained in:
Bossiara13 2026-05-15 12:43:26 +03:00
parent 5790ca18af
commit 40a46567b8
2 changed files with 360 additions and 0 deletions

View file

@ -553,6 +553,134 @@ stopwatch_stop:
- выключи секундомер
action: {type: stopwatch, op: stop}
news_headlines:
phrases:
- что нового
- новости
- что в мире
- последние новости
- расскажи новости
- топ новостей
action: {type: news}
currency_rate:
phrases:
- курс доллара
- курс евро
- сколько стоит доллар
- сколько стоит евро
- курс юаня
- курс валют
- что с долларом
- что с евро
action: {type: currency_rate}
crypto_price:
phrases:
- сколько биткоин
- цена биткоина
- курс биткоина
- цена эфира
- сколько эфир
- цена крипты
- цена соланы
action: {type: crypto_price}
joke:
phrases:
- расскажи шутку
- пошути
- анекдот
- рассмеши меня
action: {type: fun_ask, kind: joke}
fact:
phrases:
- расскажи факт
- интересный факт
- поделись фактом
action: {type: fun_ask, kind: fact}
quote:
phrases:
- вдохнови меня
- цитата дня
- мотивируй
- процитируй кого-нибудь
action: {type: fun_ask, kind: quote}
compliment:
phrases:
- сделай комплимент
- похвали меня
action: {type: fun_ask, kind: compliment}
wiki_lookup:
phrases:
- что такое
- кто такой
- кто такая
- расскажи про
- википедия про
- найди в википедии про
action: {type: wiki_lookup}
shutdown_pc:
phrases:
- выключи компьютер
- выключи пк
- выключи комп
action: {type: power, op: shutdown}
restart_pc:
phrases:
- перезагрузи компьютер
- перезагрузи пк
- ребутни
- ребут
action: {type: power, op: restart}
sleep_pc:
phrases:
- усыпи компьютер
- усыпи пк
- режим сна
- перейди в сон
action: {type: power, op: sleep}
hibernate_pc:
phrases:
- гибернация
- переведи в гибернацию
- режим гибернации
action: {type: power, op: hibernate}
logoff_user:
phrases:
- выйди из системы
- разлогинь
- выйди из учётки
- сеанс закончи
action: {type: power, op: logoff}
cancel_shutdown:
phrases:
- отмени выключение
- отмени ребут
- отмени перезагрузку
- стой не выключай
action: {type: power, op: cancel}
help:
phrases:
- что ты умеешь
- какие команды
- список команд
- помощь
- помоги
- что можешь
action: {type: help_commands}
thanks:
phrases:
- спасибо