{/* 此页面由 website/scripts/generate-skill-docs.py 从技能的 SKILL.md 自动生成。请编辑源文件 SKILL.md,而非此页面。 */}
神经技能 BCI
连接到运行的 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 |
| 平台 | linux, macos, windows |
| 标签 | BCI, neurofeedback, health, focus, EEG, cognitive-state, biometrics, neuroskill |
参考:完整 SKILL.md
:::info 以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
NeuroSkill BCI 集成
将 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(通过 BLE 的 4 通道 EEG + PPG + IMU)
npx neuroskill status返回数据无错误
验证设置
node --version # 必须为 20+
npx neuroskill status # 完整系统快照
npx neuroskill status --json # 机器可解析的 JSON如果 npx neuroskill status 返回错误,告知用户:
- 确保 NeuroSkill 桌面应用已打开
- 确保 BCI 设备已开机并通过蓝牙连接
- 检查信号质量 —— NeuroSkill 中的绿色指示器(每个电极 ≥0.7)
- 如果
command not found,安装 Node.js 20+
CLI 参考:npx neuroskill <命令>
所有命令支持 --json(原始 JSON,管道安全)和 --full(人类摘要 + JSON)。
| 命令 | 描述 |
|---|---|
status | 完整系统快照:设备、分数、频段、比率、睡眠、历史 |
session [N] | 单次会话分解,含前半/后半趋势(0=最近) |
sessions | 列出所有日期记录的所有会话 |
search | ANN 相似性搜索,寻找神经相似的历史时刻 |
compare | A/B 会话比较,含指标差值和趋势分析 |
sleep [N] | 睡眠分期分类(清醒/N1/N2/N3/REM)含分析 |
label "文本" | 在当前时刻创建时间戳标注 |
search-labels "查询" | 对过去标签进行语义向量搜索 |
interactive "查询" | 跨模态 4 层图搜索(文本 → EXG → 标签) |
listen | 实时事件流(默认 5s,设置 --seconds N) |
umap | 会话嵌入的 3D UMAP 投影 |
calibrate | 打开校准窗口并启动配置文件 |
timer | 启动专注计时器(番茄/深度工作/短专注预设) |
notify "标题" "正文" | 通过 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. 检查当前状态
获取实时指标
npx neuroskill status --json始终使用 --json 以获得可靠解析。默认输出是彩色人类可读文本。
响应中的关键字段
scores 对象包含所有实时指标(除非注明,范围为 0–1):
{
"scores": {
"focus": 0.70, // β / (α + θ) —— 持续注意力
"relaxation": 0.40, // α / (β + θ) —— 平静清醒
"engagement": 0.60, // 主动心理投入
"meditation": 0.52, // alpha + 静止 + HRV 相干性
"mood": 0.55, // 来自 FAA, TAR, BAR 的综合指标
"cognitive_load": 0.33, // 前额 θ / 颞叶 α · f(FAA, TBR)
"drowsiness": 0.10, // TAR + TBR + 光谱质心下降
"hr": 68.2, // 心率(bpm,来自 PPG)
"snr": 14.3, // 信噪比(dB)
"stillness": 0.88, // 0–1;1 = 完全静止
"faa": 0.042, // 前额 Alpha 不对称(+ = 趋近)
"tar": 0.56, // θ/α 比率
"bar": 0.53, // β/α 比率
"tbr": 1.06, // θ/β 比率(ADHD 代理指标)
"apf": 10.1, // Alpha 峰值频率(Hz)
"coherence": 0.614, // 半球间相干性
"bands": {
"rel_delta": 0.28, "rel_theta": 0.18,
"rel_alpha": 0.32, "rel_beta": 0.17, "rel_gamma": 0.05
}
}
}解释输出
解析 JSON 并将指标翻译为自然语言。绝不单独报告原始数字 —— 始终赋予其意义:
正确做法:
“您现在专注力良好,0.70 —— 属于心流区域。心率稳定在 68 bpm,FAA 为正,表明趋近动机良好。非常适合处理复杂任务。”
错误做法:
“专注力:0.70,放松度:0.40,心率:68”
关键解释阈值:
- 专注力 > 0.70 → 心流状态区域,保护它
- 专注力 < 0.40 → 建议休息或干预
- 困倦 > 0.60 → 疲劳警告,微睡眠风险
- 放松度 < 0.30 → 需要压力干预
- 认知负荷 > 0.70 持续 → 脑力倾泻或休息
- TBR > 1.5 → θ 主导,执行控制下降
- FAA < 0 → 退缩/负面情绪 —— 考虑 FAA 再平衡
- SNR < 3 dB → 信号不可靠,建议重新调整电极
2. 会话分析
单次会话分解
npx neuroskill session --json # 最近会话
npx neuroskill session 1 --json # 前一个会话
npx neuroskill session 0 --json | jq '{focus: .metrics.focus, trend: .trends.focus}'返回完整指标,附带前半 vs 后半趋势("up", "down", "flat")。
列出所有会话
npx neuroskill sessions --json
npx neuroskill sessions --trends # 显示每会话指标趋势3. 历史搜索
神经相似性搜索
npx neuroskill search --json # 自动:最后会话,k=5
npx neuroskill search --k 10 --json # 10 个最近邻语义标签搜索
npx neuroskill search-labels "深度专注" --k 10 --json
npx neuroskill search-labels "压力" --json | jq '[.results[].EXG_metrics.tbr]'跨模态图搜索
npx neuroskill interactive "深度专注" --json4. 会话比较
npx neuroskill compare --json # 自动:最后 2 个会话5. 睡眠数据
npx neuroskill sleep --json # 最后 24 小时
npx neuroskill sleep 0 --json # 最近睡眠会话返回逐时期睡眠分期(5 秒窗口)及分析:
- 分期代码:0=清醒, 1=N1, 2=N2, 3=N3(深睡), 4=REM
- 分析:效率 %, 入睡潜伏期(分钟), REM 潜伏期(分钟), 段落计数
- 健康目标:N3 15–25%, REM 20–25%, 效率 >85%, 潜伏期 <20 分钟
6. 标记时刻
npx neuroskill label "突破"
npx neuroskill label "学习算法"
npx neuroskill label "冥想后"
npx neuroskill label --json "专注块开始" # 返回 label_id在以下情况下自动标记:
- 用户报告突破或洞见
- 用户开始新任务类型
- 用户完成重要干预
- 用户要求标记当前时刻
- 发生显著状态转换
7. 实时流式
npx neuroskill listen --seconds 30 --json
npx neuroskill listen --seconds 5 --json | jq '[.[] | select(.event == "scores")]'8. UMAP 可视化
npx neuroskill umap --json # 自动:最后 2 个会话GPU 加速的 3D UMAP 投影。separation_score 表示两个会话的神经差异性:
- > 1.5 → 会话神经差异大(不同脑状态)
- < 0.5 → 两个会话脑状态相似
9. 主动状态感知
会话开始时检查
npx neuroskill status --json何时主动提及状态
仅在以下情况提及认知状态:
- 用户明确询问
- 用户报告困难
- 超出关键阈值
- 用户即将处理认知密集型任务且询问准备状态
不要中断心流状态报告指标。如果专注力 > 0.75,保护当前会话 —— 沉默是正确的回应。
10. 建议干预方案
当指标表明需要时,建议 references/protocols.md 中的方案。始终在开始前询问:
关键触发条件:
- 专注力 < 0.40, TBR > 1.5 → θ-β 神经反馈锚定或箱式呼吸
- 放松度 < 0.30, 压力指数高 → 心脏相干性或 4-7-8 呼吸
- 认知负荷 > 0.70 持续 → 认知负荷卸载(脑力倾泻)
- 困倦 > 0.60 → 超日节律重置或清醒重置
- FAA < 0(负值) → FAA 再平衡
- 心流状态(专注力 > 0.75, 投入度 > 0.70) → 不要中断
11. 额外工具
专注计时器
npx neuroskill timer --json校准
npx neuroskill calibrate操作系统通知
npx neuroskill notify "休息时间" "您的专注力已持续下降 20 分钟"错误处理
| 错误 | 可能原因 | 修复方法 |
|---|---|---|
npx neuroskill status 挂起 | NeuroSkill 应用未运行 | 打开 NeuroSkill 桌面应用 |
device.state: "disconnected" | BCI 设备未连接 | 检查蓝牙、设备电池 |
| 所有分数返回 0 | 电极接触不良 | 重新调整头带,湿润电极 |
signal_quality 值 < 0.7 | 电极松动 | 调整佩戴,清洁电极触点 |
| SNR < 3 dB | 信号噪声大 | 减少头部移动,检查环境 |
command not found: npx | Node.js 未安装 | 安装 Node.js 20+ |
交互示例
“我现在状态如何?”
npx neuroskill status --json“我无法集中注意力”
npx neuroskill status --json“比较我今天和昨天的专注力”
npx neuroskill compare --json“我上次心流状态是什么时候?”
npx neuroskill search-labels "flow" --json
npx neuroskill search --json“我睡得怎么样?”
npx neuroskill sleep --json“标记此刻 —— 我刚刚有了突破”
npx neuroskill label "突破"参考
- NeuroSkill 论文 — arXiv:2603.03212 (Kosmyna & Hauptmann, MIT Media Lab)
- NeuroSkill 桌面应用 (GPLv3)
- NeuroLoop CLI 配套工具 (GPLv3)
- MIT Media Lab 项目