Перейти к содержанию

На этой странице

Подключитесь к запущенному экземпляру NeuroSkill и используйте когнитивное и эмоциональное состояние пользователя в реальном времени (фокус, расслабление, настроение, когнитивная нагрузка, сонливость, пульс, вариабельность сердечного ритма, стадии сна и 40+ производных EXG-показателей) в ответах. Требуется BCI-гарнитура (Muse 2/S или OpenBCI) и запущенное локально десктопное приложение NeuroSkill.

Метаданные навыка

| | |---|---| |Источник| Опционально — установка: hermes skills install official/health/neuroskill-bci | |Путь| optional-skills/health/neuroskill-bci | |Версия| 1.0.0 | |Автор| Hermes Agent + Nous Research | |Лицензия| MIT | |Теги| BCI, neurofeedback, health, focus, EEG, cognitive-state, biometrics, neuroskill |

Справочник: полный SKILL.md

info Ниже приведено полное определение навыка, которое Hermes загружает при активации этого навыка. Это инструкции, которые видит агент, когда навык активен.

NeuroSkill BCI Integration

Подключите Hermes к запущенному экземпляру NeuroSkill для чтения показателей мозга и тела в реальном времени с BCI-гарнитуры. Используйте это для когнитивно-осознанных ответов, предложения интервенций и отслеживания умственной производительности с течением времени.

⚠️ Только для исследований — NeuroSkill — это исследовательский инструмент с открытым исходным кодом. Это НЕ медицинское устройство, и оно НЕ было одобрено FDA, CE или любым регулирующим органом. Никогда не используйте эти показатели для клинической диагностики или лечения.

Смотрите references/metrics.md для полного справочника по показателям, references/protocols.md для протоколов интервенций и references/api.md для WebSocket/HTTP API.


Предварительные требования

  • Node.js 20+ установлен (node --version)
  • Десктопное приложение NeuroSkill запущено с подключённым BCI-устройством
  • BCI-оборудование: Muse 2, Muse S или OpenBCI (4-канальная ЭЭГ + PPG + IMU через BLE)
  • npx neuroskill status возвращает данные без ошибок

Проверка настройки

[code] node --version # Должен быть 20+ npx neuroskill status # Полный снимок системы npx neuroskill status --json # Машиночитаемый JSON

[/code]

Если npx neuroskill status возвращает ошибку, сообщите пользователю:

  • Убедитесь, что десктопное приложение NeuroSkill открыто
  • Убедитесь, что BCI-устройство включено и подключено через Bluetooth
  • Проверьте качество сигнала — зелёные индикаторы в NeuroSkill (≥0.7 на электрод)
  • Если `command not found», установите Node.js 20+

CLI-справочник: npx neuroskill <command>

Все команды поддерживают --json (сырой JSON, безопасный для конвейеров) и --full (текстовая сводка + JSON).

Команда Описание
status Полный снимок системы: устройство, показатели, диапазоны, соотношения, сон, история
session [N] Разбивка одной сессии с трендами первой/второй половины (0 = самая последняя)
sessions Список всех записанных сессий за все дни
search ANN-поиск по нейронной схожести для исторических моментов
compare A/B сравнение сессий с дельтами показателей и анализом трендов
sleep [N] Классификация стадий сна (Бодрствование/N1/N2/N3/REM) с анализом
label "text" Создание аннотации с временной меткой в текущий момент
search-labels "query" Семантический векторный поиск по прошлым меткам
interactive "query" Кросс-модальный 4-слойный графовый поиск (текст → EXG → метки)
listen Потоковая передача событий в реальном времени (по умолчанию 5 с, установите --seconds N)
umap 3D UMAP-проекция эмбеддингов сессии
calibrate Открыть окно калибровки и запустить профиль
timer Запустить таймер фокуса (предустановки Pomodoro/Deep Work/Short Focus)
notify "title" "body" Отправить уведомление ОС через приложение NeuroSkill
raw '{json}' Передача сырого JSON на сервер

Глобальные флаги

Флаг Описание
--json Сырой JSON на выходе (без ANSI, безопасный для конвейеров)
--full Текстовая сводка + цветной JSON
--port <N> Переопределить порт сервера (по умолчанию: автоопределение, обычно 8375)
--ws Принудительно использовать WebSocket-транспорт
--http Принудительно использовать HTTP-транспорт
--k <N> Количество ближайших соседей (search, search-labels)
--seconds <N> Длительность для listen (по умолчанию: 5)
--trends Показывать тренды показателей по сессиям (sessions)
--dot Вывод в формате Graphviz DOT (interactive)

1. Проверка текущего состояния

Получение живых показателей

[code] npx neuroskill status --json

[/code]

Всегда используйте --json для надёжного парсинга. Вывод по умолчанию — цветной человекочитаемый текст.

Ключевые поля в ответе

Объект scores содержит все живые показатели (шкала 0–1, если не указано иное):

[code] {
"scores": {
"focus": 0.70, // β / (α + θ) — устойчивое внимание "relaxation": 0.40, // α / (β + θ) — спокойное бодрствование "engagement": 0.60, // активная умственная вовлечённость "meditation": 0.52, // альфа + неподвижность + когерентность ВСР "mood": 0.55, // композитный из FAA, TAR, BAR "cognitive_load": 0.33, // фронтальная θ / височная α · f(FAA, TBR) "drowsiness": 0.10, // TAR + TBR + падающий спектральный центроид "hr": 68.2, // частота пульса в ударах в минуту (из PPG) "snr": 14.3, // отношение сигнал/шум в дБ "stillness": 0.88, // 0–1; 1 = полная неподвижность "faa": 0.042, // Фронтальная альфа-асимметрия (+ = подход) "tar": 0.56, // Соотношение Тета/Альфа "bar": 0.53, // Соотношение Бета/Альфа "tbr": 1.06, // Соотношение Тета/Бета (прокси СДВГ) "apf": 10.1, // Пиковая частота альфа в Гц "coherence": 0.614, // межполушарная когерентность "bands": {
"rel_delta": 0.28, "rel_theta": 0.18, "rel_alpha": 0.32, "rel_beta": 0.17, "rel_gamma": 0.05 }
}
}

[/code]

Также включает: device (состояние, заряд батареи, прошивка), signal_quality (поэлектродно 0–1), session (длительность, эпохи), embeddings, labels, сводку sleep и history.

Интерпретация вывода

Парсите JSON и переводите показатели в естественный язык. Никогда не сообщайте только сырые числа — всегда придавайте им смысл:

ПРАВИЛЬНО:

«Ваш фокус сейчас на хорошем уровне — 0.70, это территория состояния потока. Пульс стабилен — 68 уд/мин, и FAA положительный, что указывает на хорошую мотивацию подхода. Отличное время для решения сложной задачи.»

НЕПРАВИЛЬНО:

«Фокус: 0.70, Расслабление: 0.40, ЧСС: 68»

Ключевые пороги интерпретации (полное руководство см. в references/metrics.md):

  • Фокус > 0.70 → территория состояния потока, не прерывайте
  • Фокус < 0.40 → предложите перерыв или протокол
  • Сонливость > 0.60 → предупреждение об усталости, риск микросна
  • Расслабление < 0.30 → требуется интервенция для снятия стресса
  • Когнитивная нагрузка > 0.70 продолжительно → разгрузка ума или перерыв
  • TBR > 1.5 → доминирование тета, сниженный исполнительный контроль
  • FAA < 0 → отстранение/отрицательный аффект — рассмотрите FAA-ребалансировку
  • SNR < 3 дБ → ненадёжный сигнал, предложите перепозиционировать электроды

2. Анализ сессий

Разбивка одной сессии

[code] npx neuroskill session --json # самая последняя сессия npx neuroskill session 1 --json # предыдущая сессия npx neuroskill session 0 --json | jq '{focus: .metrics.focus, trend: .trends.focus}'

[/code]

Возвращает полные показатели с трендами первой половины по сравнению со второй ("up", "down", "flat"). Используйте это, чтобы описать, как развивалась сессия:

«Ваш фокус начался с 0.64 и к концу поднялся до 0.76 — чёткий восходящий тренд. Когнитивная нагрузка снизилась с 0.38 до 0.28, что позволяет предположить, что задача стала более автоматической по мере погружения.»

Список всех сессий

[code] npx neuroskill sessions --json npx neuroskill sessions --trends # показать тренды показателей по сессиям

[/code]


3. Исторический поиск

Поиск по нейронной схожести

[code] npx neuroskill search --json # авто: последняя сессия, k=5 npx neuroskill search --k 10 --json # 10 ближайших соседей npx neuroskill search --start --end --json

[/code]

Находит исторические моменты, нейронно схожие, используя HNSW приближённый поиск ближайших соседей по 128-мерным ZUNA-эмбеддингам. Возвращает статистику расстояний, временное распределение (час дня) и лучшие совпадающие дни.

Используйте это, когда пользователь спрашивает:

  • «Когда я последний раз был в таком состоянии?»
  • «Найди мои лучшие сессии фокуса»
  • «Когда у меня обычно бывает спад во второй половине дня?»

Семантический поиск по меткам

[code] npx neuroskill search-labels "deep focus" --k 10 --json npx neuroskill search-labels "stress" --json | jq '[.results[].EXG_metrics.tbr]'

[/code]

Ищет текст меток с помощью векторных эмбеддингов (Xenova/bge-small-en-v1.5). Возвращает совпадающие метки с соответствующими EXG-показателями на момент создания метки.

Кросс-модальный графовый поиск

[code] npx neuroskill interactive "deep focus" --json npx neuroskill interactive "deep focus" --dot | dot -Tsvg > graph.svg

[/code]

4-слойный граф: запрос → текстовые метки → EXG-точки → соседние метки. Используйте --k-text, --k-EXG, --reach <minutes> для настройки.


4. Сравнение сессий

[code] npx neuroskill compare --json # авто: последние 2 сессии npx neuroskill compare --a-start --a-end --b-start --b-end --json

[/code]

Возвращает дельты показателей с абсолютным изменением, процентным изменением и направлением для ~50 показателей. Также включает массивы insights.improved[] и insights.declined[], стадии сна для обеих сессий и ID задачи UMAP.

Интерпретируйте сравнения в контексте — упоминайте тренды, а не только дельты:

«Вчера у вас было два сильных блока фокуса (10:00 и 14:00). Сегодня у вас был один, начавшийся около 11:00, который всё ещё продолжается. Ваша общая вовлечённость сегодня выше, но было больше всплесков стресса — ваш стресс-индекс подскочил на 15%, и FAA чаще уходил в отрицательную зону.»

[code] # Сортировка показателей по проценту улучшения npx neuroskill compare --json | jq '.insights.deltas | to_entries | sort_by(.value.pct) | reverse'

[/code]


5. Данные о сне

[code] npx neuroskill sleep --json # последние 24 часа npx neuroskill sleep 0 --json # самая последняя сессия сна npx neuroskill sleep --start --end --json

[/code]

Возвращает поэпохальные стадии сна (окна по 5 секунд) с анализом:

  • Коды стадий: 0=Бодрствование, 1=N1, 2=N2, 3=N3 (глубокий), 4=REM
  • Анализ: efficiency_pct, onset_latency_min, rem_latency_min, количество эпизодов
  • Целевые показатели: N3 15–25%, REM 20–25%, эффективность >85%, засыпание <20 мин

[code] npx neuroskill sleep --json | jq '.summary | {n3: .n3_epochs, rem: .rem_epochs}' npx neuroskill sleep --json | jq '.analysis.efficiency_pct'

[/code]

Используйте это, когда пользователь упоминает сон, усталость или восстановление.


6. Разметка моментов

[code] npx neuroskill label "breakthrough" npx neuroskill label "studying algorithms" npx neuroskill label "post-meditation" npx neuroskill label --json "focus block start" # возвращает label_id

[/code]

Автоматически ставьте метки, когда:

  • Пользователь сообщает о прорыве или инсайте
  • Пользователь начинает новый тип задачи (например, «переключаюсь на ревью кода»)
  • Пользователь завершает значимый протокол
  • Пользователь просит отметить текущий момент
  • Происходит заметное изменение состояния (вход/выход из потока)

Метки хранятся в базе данных и индексируются для последующего поиска с помощью команд search-labels и interactive.


7. Потоковая передача в реальном времени

[code] npx neuroskill listen --seconds 30 --json npx neuroskill listen --seconds 5 --json | jq '[.[] | select(.event == "scores")]'

[/code]

Передаёт потоковые WebSocket-события (EXG, PPG, IMU, scores, labels) в течение указанной длительности. Требует WebSocket-соединения (недоступно с --http).

Используйте это для сценариев непрерывного мониторинга или наблюдения за изменениями показателей в реальном времени во время протокола.


8. UMAP-визуализация

[code] npx neuroskill umap --json # авто: последние 2 сессии npx neuroskill umap --a-start --a-end --b-start --b-end --json

[/code]

GPU-ускоренная 3D UMAP-проекция ZUNA-эмбеддингов. separation_score показывает, насколько нейронно различны две сессии:

  • > 1.5 → Сессии нейронно различны (разные состояния мозга)
  • < 0.5 → Похожие состояния мозга в обеих сессиях

9. Проактивное осознание состояния

Проверка в начале сессии

В начале сессии опционально выполните проверку состояния, если пользователь упоминает, что носит устройство, или спрашивает о своём состоянии:

[code] npx neuroskill status --json

[/code]

Вставьте краткую сводку состояния:

«Быстрая проверка: фокус нарастает до 0.62, расслабление хорошее — 0.55, и ваш FAA положительный — мотивация подхода активна. Похоже на уверенное начало.»

Когда проактивно упоминать состояние

Упоминайте когнитивное состояние только когда:

  • Пользователь явно спрашивает («Как у меня дела?», «Проверь мой фокус»)
  • Пользователь сообщает о трудностях с концентрацией, стрессе или усталости
  • Достигнут критический порог (сонливость > 0.70, фокус < 0.30 продолжительно)
  • Пользователь собирается делать что-то когнитивно затратное и спрашивает о готовности

НЕ прерывайте состояние потока для сообщения показателей. Если фокус > 0.75, оберегайте сессию — молчание — правильный ответ.


10. Предложение протоколов

Когда показатели указывают на необходимость, предложите протокол из references/protocols.md. Всегда спрашивайте перед началом — никогда не прерывайте состояние потока:

«Ваш фокус снижается последние 15 минут, и TBR поднимается выше 1.5 — признаки тета-доминирования и умственной усталости. Хотите, я проведу вас через Тета-Бета Нейрофидбек-Анкер? Это 90-секундное упражнение с ритмичным счётом и дыханием, чтобы подавить тета и поднять бета.»

Ключевые триггеры:

  • Фокус < 0.40, TBR > 1.5 → Тета-Бета Нейрофидбек-Анкер или Квадратное дыхание
  • Расслабление < 0.30, stress_index высокий → Кардиальная когерентность или дыхание 4-7-8
  • Когнитивная нагрузка > 0.70 продолжительно → Разгрузка когнитивной нагрузки (mind dump)
  • Сонливость > 0.60 → Ультрадианный сброс или Сброс бодрствования
  • FAA < 0 (отрицательный) → FAA-ребалансировка
  • Состояние потока (фокус > 0.75, вовлечённость > 0.70) → НЕ прерывать
  • Высокая неподвижность + headache_index → Последовательность расслабления шеи
  • Низкий RMSSD (< 25ms) → Вагусная тонизация

11. Дополнительные инструменты

Таймер фокуса

[code] npx neuroskill timer --json

[/code]

Запускает окно таймера фокуса с предустановками Pomodoro (25/5), Deep Work (50/10) или Short Focus (15/5).

Калибровка

[code] npx neuroskill calibrate npx neuroskill calibrate --profile "Eyes Open"

[/code]

Открывает окно калибровки. Полезно, когда качество сигнала плохое или пользователь хочет установить персонализированный базовый уровень.

Уведомления ОС

[code] npx neuroskill notify "Break Time" "Your focus has been declining for 20 minutes"

[/code]

Передача сырого JSON

[code] npx neuroskill raw '{"command":"status"}' --json

[/code]

Для любых серверных команд, ещё не привязанных к CLI-подкомандам.


Обработка ошибок

Ошибка Вероятная причина Исправление
npx neuroskill status зависает Приложение NeuroSkill не запущено Откройте десктопное приложение NeuroSkill
device.state: "disconnected" BCI-устройство не подключено Проверьте Bluetooth, заряд устройства
Все показатели возвращают 0 Плохой контакт электродов Перепозиционируйте повязку, увлажните электроды
Значения signal_quality < 0.7 Ослабленные электроды Отрегулируйте посадку, очистите контакты электродов
SNR < 3 дБ Зашумлённый сигнал Минимизируйте движения головы, проверьте окружение
command not found: npx Node.js не установлен Установите Node.js 20+

Примеры взаимодействия

«Как у меня сейчас дела?»

[code] npx neuroskill status --json

[/code]

→ Интерпретируйте показатели естественным языком, упоминая фокус, расслабление, настроение и любые примечательные соотношения (FAA, TBR). Предложите действие только если показатели указывают на необходимость.

«Я не могу сосредоточиться»

[code] npx neuroskill status --json

[/code]

→ Проверьте, подтверждают ли это показатели (высокая тета, низкая бета, растущий TBR, высокая сонливость). → Если подтверждено, предложите подходящий протокол из references/protocols.md. → Если показатели в норме, проблема может быть мотивационной, а не неврологической.

«Сравни мой фокус сегодня и вчера»

[code] npx neuroskill compare --json

[/code]

→ Интерпретируйте тренды, а не только числа. Упомяните, что улучшилось, что ухудшилось и возможные причины.

«Когда я последний раз был в состоянии потока?»

[code] npx neuroskill search-labels "flow" --json npx neuroskill search --json

[/code]

→ Сообщите временные метки, связанные показатели и чем пользователь занимался (из меток).

«Как я спал?»

[code] npx neuroskill sleep --json

[/code]

→ Сообщите архитектуру сна (N3%, REM%, эффективность), сравните с целевыми показателями и отметьте любые проблемы (много эпох бодрствования, низкий REM).

«Отметь этот момент — у меня только что был прорыв»

[code] npx neuroskill label "breakthrough"

[/code]

→ Подтвердите сохранение метки. Опционально отметьте текущие показатели, чтобы запомнить состояние.


Ссылки