На этой странице
Подключитесь к запущенному экземпляру 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
[/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
[/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
[/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
[/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]
→ Подтвердите сохранение метки. Опционально отметьте текущие показатели, чтобы запомнить состояние.
Ссылки¶
- Статья NeuroSkill — arXiv:2603.03212 (Kosmyna & Hauptmann, MIT Media Lab)
- Десктопное приложение NeuroSkill (GPLv3)
- CLI-компаньон NeuroLoop (GPLv3)
- Справочник: полный SKILL.md
- Предварительные требования
- CLI-справочник:
npx neuroskill <command> - 1. Проверка текущего состояния
- 2. Анализ сессий
- 3. Исторический поиск
- 4. Сравнение сессий
- 5. Данные о сне
- 6. Разметка моментов
- 7. Потоковая передача в реальном времени
- 8. UMAP-визуализация
- 9. Проактивное осознание состояния
- 10. Предложение протоколов
- 11. Дополнительные инструменты
- Обработка ошибок
- Примеры взаимодействия
- Ссылки