Bci kỹ năng thần kinh
{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}`#Bci kỹ năng thần kinh
Kết nối với phiên bản NeuroSkill đang chạy và kết hợp trạng thái nhận thức và cảm xúc theo thời gian thực của người dùng (tập trung, thư giãn, tâm trạng, tải nhận thức, buồn ngủ, nhịp tim, HRV, giai đoạn giấc ngủ và hơn 40 điểm EXG rút ra) vào phản hồi. Yêu cầu thiết bị đeo BCI (Muse 2/S hoặc OpenBCI) và ứng dụng máy tính để bàn NeuroSkill chạy cục bộ.
Siêu dữ liệu kỹ năng
| Nguồn | Tùy chọn — cài đặt với |
| `Hermes skills install official/health/neuroskill-bci | |
| ` | |
| Đường dẫn |
optional-skills/health/neuroskill-bci ` | | Phiên bản |
1.0.0 ` | | Tác giả | Đại lý Hermes + Nghiên cứu Nous | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |
BCI
, `neurofeedback
, `health
, `focus
, `EEG
, `cognitive-state
, `biometrics
,
neuroskill |
Tham khảo: đầy đủ SKILL.md
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
#Tích hợp BCI NeuroSkill
Kết nối Hermes với phiên bản NeuroSkill đang chạy để đọc số liệu về não và cơ thể theo thời gian thực từ thiết bị đeo BCI. Dùng cái này để tặng phản ứng nhận thức về mặt nhận thức, đề xuất các biện pháp can thiệp và theo dõi hoạt động tinh thần theo thời gian.`> ⚠️ Chỉ sử dụng cho nghiên cứu — NeuroSkill là một công cụ nghiên cứu nguồn mở. Đó là
KHÔNG phải là thiết bị y tế và KHÔNG được FDA, CE hoặc bất kỳ cơ quan quản lý nào cho phép cơ thể. Không bao giờ sử dụng các số liệu này để chẩn đoán hoặc điều trị lâm sàng.
Xem
references/metrics.md để tham khảo số liệu đầy đủ,
`references/protocols.md
cho các giao thức can thiệp và
references/API.md cho API WebSocket/HTTP.
Điều kiện tiên quyết
- Đã cài đặt Node.js 20+ ( `node --version
)
- Ứng dụng máy tính để bàn NeuroSkill chạy với thiết bị BCI được kết nối
- Phần cứng BCI: Muse 2, Muse S hoặc OpenBCI (EEG 4 kênh + PPG + IMU qua BLE)
npx neuroskill status trả về dữ liệu không có lỗi
Xác minh thiết lập
`
node --version # Must be 20+
npx neuroskill status # Full system snapshot
npx neuroskill status --JSON # Machine-parseable JSON
`
``Nếu
`npx neuroskill status
` trả về lỗi, hãy thông báo cho người dùng:
- Đảm bảo ứng dụng máy tính để bàn NeuroSkill đang mở
- Đảm bảo thiết bị BCI đã được bật nguồn và kết nối qua Bluetooth
- Kiểm tra chất lượng tín hiệu - chỉ báo màu xanh lá cây trong NeuroSkill ( ≥0,7 trên mỗi điện cực)
- Nếu
`command not found
, cài đặt Node.js 20+
---
## CLI Tham khảo:
`npx neuroskill <command
``Tất cả các lệnh đều hỗ trợ
--JSON
` (JSON thô, an toàn đường ống) và
--full
` (tóm tắt con người + JSON).
| Lệnh | Mô tả |
|----------|-------------|
|
`status
` | Ảnh chụp nhanh toàn bộ hệ thống: thiết bị, điểm số, băng tần, tỷ lệ, giấc ngủ, lịch sử |
|
`session [N]
` | Phân tích một phiên với xu hướng nửa đầu/nửa sau (0=gần đây nhất) |
|
`sessions
` | Liệt kê tất cả các phiên được ghi lại trong tất cả các ngày |
|
`search
` | Tìm kiếm tương tự ANN cho các khoảnh khắc lịch sử tương tự về mặt thần kinh |
|
`compare
` | So sánh phiên A/B với đồng bằng số liệu và phân tích xu hướng |
|
`sleep [N]
` | Phân loại giai đoạn giấc ngủ (Thức/N1/N2/N3/REM) bằng phân tích |
|
`label "text"
` | Tạo chú thích có dấu thời gian tại thời điểm hiện tại |
|
`search-labels "query"
` | Tìm kiếm vectơ ngữ nghĩa trên các nhãn trong quá khứ |
|
`interactive "query"
` | Tìm kiếm biểu đồ 4 lớp đa phương thức (văn bản → EXG → nhãn) |
|
`listen
` | Phát trực tuyến sự kiện theo thời gian thực (5 giây mặc định, đặt
--seconds N
) |
|
`umap
` | Phép chiếu UMAP 3D của phần nhúng phiên |
|
`calibrate
` | Mở cửa sổ hiệu chỉnh và bắt đầu hồ sơ |
|
`timer
` | Khởi chạy bộ hẹn giờ lấy nét (cài đặt trước Pomodoro/Deep Work/Short Focus) |
|
`notify "title" "body"
` | Gửi thông báo hệ điều hành qua ứng dụng NeuroSkill |
|
`raw '\{JSON}'
` | Truyền JSON thô tới máy chủ |### Cờ toàn cầu
| Cờ | Mô tả |
|------|-------------|
|
--JSON
` | Đầu ra JSON thô (không có ANSI, an toàn cho đường ống) |
|
--full
` | Tóm tắt về con người + JSON được tô màu |
|
--port <N
` | Ghi đè cổng máy chủ (mặc định: tự động phát hiện, thường là 8375) |
|
--ws
` | Buộc vận chuyển WebSocket |
|
--http
` | Buộc vận chuyển HTTP |
|
--k <N
` | Số lượng hàng xóm gần nhất (tìm kiếm, nhãn tìm kiếm) |
|
--seconds <N
` | Thời lượng nghe (mặc định: 5) |
|
--trends
` | Hiển thị xu hướng số liệu mỗi phiên (phiên) |
|
--dot
` | Đầu ra Graphviz DOT (tương tác) |
---
## 1. Kiểm tra trạng thái hiện tại
### Nhận số liệu trực tiếp
`
``` bash
npx neuroskill status --JSON
`
``**Luôn sử dụng
`
--JSON
** để phân tích cú pháp đáng tin cậy. Đầu ra mặc định được tô màu
văn bản con người có thể đọc được.
### Các trường chính trong phản hồi
Đối tượng
`scores
` chứa tất cả các số liệu trực tiếp (tỷ lệ 0–1 trừ khi được ghi chú):
`JSONc
{
"scores": {
"focus": 0.70, // β / (α + θ) — sustained attention
"relaxation": 0.40, // α / (β + θ) — calm wakefulness
"engagement": 0.60, // active mental investment
"meditation": 0.52, // alpha + stillness + HRV coherence
"mood": 0.55, // composite from FAA, TAR, BAR
"cognitive_load": 0.33, // frontal θ / temporal α · f(FAA, TBR)
"drowsiness": 0.10, // TAR + TBR + falling spectral centroid
"hr": 68.2, // heart rate in bpm (from PPG)
"snr": 14.3, // Signal-to-noise ratio in dB
"stillness": 0.88, // 0–1; 1 = perfectly still
"faa": 0.042, // Frontal Alpha Asymmetry (+ = approach)
"tar": 0.56, // Theta/Alpha Ratio
"bar": 0.53, // Beta/Alpha Ratio
"tbr": 1.06, // Theta/Beta Ratio (ADHD proxy)
"apf": 10.1, // Alpha Peak Frequency in Hz
"coherence": 0.614, // inter-hemispheric coherence
"bands": {
"rel_delta": 0.28, "rel_theta": 0.18,
"rel_alpha": 0.32, "rel_beta": 0.17, "rel_gamma": 0.05
}
}
}
`
``Cũng bao gồm:
`device
` (trạng thái, pin, chương trình cơ sở),
`Signal_quality
` (mỗi điện cực 0–1),
`session
` (thời lượng, kỷ nguyên),
`embeddings
,
`labels
, tóm tắt
`sleep
` và
`history
.
### Diễn giải kết quả đầu ra
Phân tích cú pháp JSON và dịch số liệu sang ngôn ngữ tự nhiên. Không bao giờ báo cáo thô
chỉ những con số - hãy luôn cho chúng ý nghĩa:
**NÊN:**
> "Sự tập trung của bạn hiện tại rất chắc chắn ở mức 0,70 — đó là lãnh thổ của trạng thái dòng chảy. Trái tim
> tốc độ ổn định ở mức 68 bpm và FAA của bạn dương, điều này cho thấy tốt
> tiếp cận động lực. Đây là thời điểm tuyệt vời để giải quyết vấn đề phức tạp."`**KHÔNG:**
> "Tập trung: 0,70, Thư giãn: 0,40, Nhịp tim: 68"
Các ngưỡng diễn giải chính (xem
`references/metrics.md
` để biết hướng dẫn đầy đủ):
- **Tập trung > 0,70** → lãnh thổ tiểu bang chảy, bảo vệ nó
- **Tập trung < 0,40** → đề xuất tạm dừng hoặc giao thức
- **Buồn ngủ > 0,60** → cảnh báo mệt mỏi, nguy cơ ngủ chập chờn
- **Thư giãn < 0,30** → cần can thiệp căng thẳng
- **Tải nhận thức > 0,70 duy trì** → tâm trí suy sụp hoặc suy sụp
- **TBR > 1,5** → theta chiếm ưu thế, giảm khả năng kiểm soát điều hành
- **FAA < 0** → rút tiền/ảnh hưởng tiêu cực — xem xét tái cân bằng FAA
- **SNR < 3 dB** → tín hiệu không đáng tin cậy, đề nghị thay đổi vị trí điện cực
---
## 2. Phân tích phiên
### Phân tích một phiên
`
``` bash
npx neuroskill session --JSON # most recent session
npx neuroskill session 1 --JSON # previous session
npx neuroskill session 0 --JSON | jq '\{focus: .metrics.focus, trend: .trends.focus}'
`
``Trả về số liệu đầy đủ với **xu hướng nửa đầu so với nửa sau** (
"up"
,
"down"
,
"flat"
).
Sử dụng điều này để mô tả cách một phiên phát triển:`> "Sự tập trung của bạn bắt đầu ở mức 0,64 và cuối cùng tăng lên 0,76 — một xu hướng tăng rõ ràng.
> Tải nhận thức giảm từ 0,38 xuống 0,28, cho thấy nhiệm vụ trở nên tự động hơn
> khi bạn định cư."
### Liệt kê tất cả các phiên
`
`bash
npx neuroskill sessions --JSON
npx neuroskill sessions --trends # show per-session metric trends
`
---
## 3. Tìm kiếm lịch sử
### Tìm kiếm sự tương đồng về thần kinh
`
`bash
npx neuroskill search --JSON # auto: last session, k=5
npx neuroskill search --k 10 --JSON # 10 nearest neighbors
npx neuroskill search --start <UTC --end <UTC --JSON
`
``Tìm những khoảnh khắc trong lịch sử giống nhau về mặt thần kinh bằng cách sử dụng HNSW gần đúng
tìm kiếm lân cận gần nhất trên các phần nhúng ZUNA 128-D. Trả về số liệu thống kê khoảng cách,
phân bổ theo thời gian (giờ trong ngày) và những ngày phù hợp nhất.
Sử dụng điều này khi người dùng hỏi:
- "Lần cuối cùng tôi ở trong tình trạng như thế này là khi nào?"
- "Tìm phiên tập trung tốt nhất của tôi"
- "Khi nào tôi thường gặp tai nạn vào buổi chiều?"
### Tìm kiếm nhãn ngữ nghĩa
`
``` bash
npx neuroskill search-labels "deep focus" --k 10 --JSON
npx neuroskill search-labels "stress" --JSON | jq '[.results[].EXG_metrics.tbr]'
`
``Tìm kiếm văn bản nhãn bằng cách sử dụng nhúng vectơ (Xenova/bge-small-en-v1.5). Trả lại
khớp nhãn với số liệu EXG liên quan của chúng tại thời điểm ghi nhãn.
### Tìm kiếm biểu đồ đa phương thức
`
`bash
npx neuroskill interactive "deep focus" --JSON
npx neuroskill interactive "deep focus" --dot | dot -Tsvg > graph.svg
`
``Biểu đồ 4 lớp: truy vấn → nhãn văn bản → Điểm EXG → nhãn lân cận. Sử dụng
`
--k-text
,
--k-EXG
,
--reach <minutes
` để điều chỉnh.
---
## 4. So sánh phiên
`
``` bash
npx neuroskill compare --JSON # auto: last 2 sessions
npx neuroskill compare --a-start <UTC --a-end <UTC --b-start <UTC --b-end <UTC --JSON
`
``Trả về delta số liệu với thay đổi tuyệt đối, thay đổi phần trăm và hướng cho
~50 số liệu. Cũng bao gồm các mảng
`insights.improved[]
` và
`insights.deCLIned[]
,
giai đoạn giấc ngủ cho cả hai phiên và ID công việc UMAP.
Giải thích những so sánh dựa trên bối cảnh — đề cập đến các xu hướng, không chỉ các vùng đồng bằng:
> "Hôm qua bạn có hai khối tập trung mạnh mẽ (10 giờ sáng và 2 giờ chiều). Hôm nay bạn có một khối
> bắt đầu từ khoảng 11 giờ sáng vẫn tiếp tục. Mức độ tương tác tổng thể của bạn hôm nay cao hơn
> nhưng căng thẳng tăng đột biến hơn — chỉ số căng thẳng của bạn tăng 15% và
> FAA giảm âm thường xuyên hơn."
`bash
# Sort metrics by improvement percentage
npx neuroskill compare --JSON | jq '.insights.deltas | to_entries | sort_by(.value.pct) | reverse'
`
---
## 5. Dữ liệu giấc ngủ
`
``` bash
npx neuroskill sleep --JSON # last 24 hours
npx neuroskill sleep 0 --JSON # most recent sleep session
npx neuroskill sleep --start <UTC --end <UTC --JSON
`
`Trả về giai đoạn giấc ngủ theo từng giai đoạn (cửa sổ 5 giây) kèm theo phân tích:
- **Mã giai đoạn**: 0=Wake, 1=N1, 2=N2, 3=N3 (sâu), 4=REM
- **Phân tích**: hiệu suất_pct, khởi phát_latency_min, rem_latency_min, số lần xuất hiện
- **Mục tiêu lành mạnh**: N3 15–25%, REM 20–25%, hiệu suất >85%, khởi phát <20 phút
``` bash
npx neuroskill sleep --JSON | jq '.summary | \{n3: .n3_epochs, rem: .rem_epochs}'
npx neuroskill sleep --JSON | jq '.analysis.efficiency_pct'
`
``Sử dụng điều này khi người dùng đề cập đến giấc ngủ, sự mệt mỏi hoặc quá trình hồi phục.
---
## 6. Ghi nhãn khoảnh khắc
`
`bash
npx neuroskill label "breakthrough"
npx neuroskill label "studying algorithms"
npx neuroskill label "post-meditation"
npx neuroskill label --JSON "focus block start" # returns label_id
`
``Tự động gắn nhãn khoảnh khắc khi:
- Người dùng báo cáo một bước đột phá hoặc cái nhìn sâu sắc
- Người dùng bắt đầu một loại nhiệm vụ mới (ví dụ: "chuyển sang xem lại mã")
- Người dùng hoàn thành một giao thức quan trọng
- Người dùng yêu cầu bạn đánh dấu thời điểm hiện tại
- Xảy ra sự chuyển đổi trạng thái đáng chú ý (luồng vào/ra)
Nhãn được lưu trữ trong cơ sở dữ liệu và được lập chỉ mục để truy xuất sau thông qua
`search-labels
và các lệnh
`interactive
.
---
## 7. Truyền phát theo thời gian thực
`
``` bash
npx neuroskill listen --seconds 30 --JSON
npx neuroskill listen --seconds 5 --JSON | jq '[.[] | select(.event == "scores")]'
`
``Truyền phát trực tiếp các sự kiện WebSocket (EXG, PPG, IMU, điểm số, nhãn) cho các mục được chỉ định
thời lượng. Yêu cầu kết nối WebSocket (không khả dụng với
`
--http
).
Sử dụng tính năng này cho các tình huống giám sát liên tục hoặc để quan sát các thay đổi của số liệu trong thời gian thực
trong một giao thức.
---
## 8. Trực quan hóa UMAP
`
``` bash
npx neuroskill umap --JSON # auto: last 2 sessions
npx neuroskill umap --a-start <UTC --a-end <UTC --b-start <UTC --b-end <UTC --JSON
`
``Phép chiếu UMAP 3D được tăng tốc GPU của các phần nhúng ZUNA.
`separation_score
cho biết hai phiên khác biệt về mặt thần kinh như thế nào:
- **> 1,5** → Các phiên có sự khác biệt về mặt thần kinh (các trạng thái não khác nhau)
- **< 0,5** → Trạng thái não tương tự trong cả hai phiên
---
## 9. Nhận thức trạng thái chủ động
### Kiểm tra bắt đầu phiên
Khi bắt đầu phiên, tùy ý chạy kiểm tra trạng thái nếu người dùng đề cập
họ đang đeo thiết bị hoặc hỏi về trạng thái của họ:
`
``` bash
npx neuroskill status --JSON
`
``Đưa ra một bản tóm tắt trạng thái ngắn gọn:
> "Đăng ký nhanh: sự tập trung đang được xây dựng ở mức 0,62, mức độ thư giãn tốt ở mức 0,55 và
> FAA tích cực — động lực tiếp cận được khuyến khích. Có vẻ như một sự khởi đầu vững chắc."
### Khi nào nên chủ động đề cập đến trạng thái
Đề cập đến trạng thái nhận thức **chỉ** khi:
- Người dùng hỏi rõ ràng ("Tôi dạo này thế nào?", "Kiểm tra tiêu điểm của tôi")
- Người dùng báo cáo khó tập trung, căng thẳng hoặc mệt mỏi
- Đã vượt qua ngưỡng quan trọng (buồn ngủ > 0,70, tập trung < 0,30 duy trì)
- Người dùng chuẩn bị làm điều gì đó đòi hỏi về mặt nhận thức và yêu cầu sẵn sàng`**KHÔNG** làm gián đoạn trạng thái luồng để báo cáo số liệu. Nếu tiêu điểm > 0,75, hãy bảo vệ
phiên - im lặng là phản ứng đúng.
---
## 10. Đề xuất giao thức
Khi số liệu cho thấy nhu cầu, hãy đề xuất giao thức từ
`references/protocols.md
.
Luôn hỏi trước khi bắt đầu - không bao giờ làm gián đoạn trạng thái dòng chảy:`> "Sự tập trung của bạn đã giảm sút trong 15 phút vừa qua và TBR đang vượt qua
> 1,5 — dấu hiệu của sự thống trị theta và tinh thần mệt mỏi. Muốn tôi hướng dẫn bạn qua
> Neo phản hồi thần kinh Theta-Beta? Đây là bài tập dài 90 giây sử dụng nhịp điệu
> đếm và thở để ức chế theta và nâng beta."
Trình kích hoạt chính:
- **Tập trung < 0,40, TBR > 1,5** → Neo phản hồi thần kinh Theta-Beta hoặc Thở hình hộp
- **Thư giãn < 0,30, chỉ số căng thẳng cao** → Sự kết hợp của tim hoặc nhịp thở 4-7-8
- **Tải nhận thức > 0,70 duy trì** → Giảm tải nhận thức (tải tâm trí)
- **Buồn ngủ > 0,60** → Đặt lại Ultradian hoặc Đặt lại đánh thức
- **FAA < 0 (âm)** → Tái cân bằng FAA
- **Trạng thái dòng chảy (tiêu điểm > 0,75, tương tác > 0,70)** → KHÔNG làm gián đoạn
- **Tĩnh lặng cao + nhức đầu_index** → Trình tự thả cổ
- **RMSSD thấp (< 25ms)** → Âm đạo
---
## 11. Công cụ bổ sung
### Hẹn giờ lấy nét
`
``` bash
npx neuroskill timer --JSON
`
Khởi chạy cửa sổ Hẹn giờ lấy nét với Pomodoro (25/5), Deep Work (50/10) hoặc
Cài đặt trước Tiêu điểm ngắn (15/5).
### Hiệu chuẩn
`
`bash
npx neuroskill calibrate
npx neuroskill calibrate --profile "Eyes Open"
`
Mở cửa sổ hiệu chuẩn. Hữu ích khi chất lượng tín hiệu kém hoặc người dùng
muốn thiết lập một đường cơ sở cá nhân hóa.
### Thông báo hệ điều hành
`
`bash
npx neuroskill notify "Break Time" "Your focus has been deCLIning for 20 minutes"
`
### Truyền JSON thô
`
`bash
npx neuroskill raw '\{"command":"status"}' --JSON
`
Đối với bất kỳ lệnh máy chủ nào chưa được ánh xạ tới lệnh phụ CLI.
---
## Xử lý lỗi
| Lỗi | Nguyên nhân có thể xảy ra | Sửa chữa |
|-------|-------------|------|
|
`npx neuroskill status
` bị treo | Ứng dụng NeuroSkill không chạy | Mở ứng dụng máy tính để bàn NeuroSkill |
|
`device.state: "disconnected"
` | Thiết bị BCI chưa được kết nối | Kiểm tra Bluetooth, pin thiết bị |
| Tất cả các điểm trả về 0 | Tiếp xúc điện cực kém | Định vị lại headband, làm ẩm điện cực |
| Giá trị
`Signal_quality
` < 0,7 | Điện cực lỏng lẻo | Điều chỉnh vừa vặn, làm sạch các điểm tiếp xúc điện cực |
| SNR < 3dB | Tín hiệu ồn ào | Giảm thiểu chuyển động đầu, kiểm tra môi trường |
|
`command not found: npx
` | Node.js chưa được cài đặt | Cài đặt Node.js 20+ |
---
## Ví dụ về tương tác**"Hiện tại tôi thế nào?"**
`
`bash
npx neuroskill status --JSON
`
→ Diễn giải điểm một cách tự nhiên, đề cập đến trọng tâm, sự thư giãn, tâm trạng và bất kỳ điều gì đáng chú ý
tỷ lệ (FAA, TBR). Chỉ đề xuất một hành động nếu số liệu cho thấy cần thiết.
**"Tôi không thể tập trung"**
`
`bash
npx neuroskill status --JSON
`
→ Kiểm tra xem các số liệu có xác nhận điều đó không (theta cao, beta thấp, TBR tăng, buồn ngủ nhiều).
→ Nếu được xác nhận, hãy đề xuất giao thức thích hợp từ
`references/protocols.md
.
→ Nếu các số liệu có vẻ ổn thì vấn đề có thể là do động lực chứ không phải do thần kinh.
**"So sánh sự tập trung của tôi ngày hôm nay và ngày hôm qua"**
`
`bash
npx neuroskill compare --JSON
`
→ Giải thích các xu hướng, không chỉ các con số. Đề cập đến những gì được cải thiện, những gì đã giảm và
nguyên nhân có thể.
**"Lần cuối cùng tôi ở trạng thái dòng chảy là khi nào?"**
`
`bash
npx neuroskill search-labels "flow" --JSON
npx neuroskill search --JSON
`
→ Báo cáo dấu thời gian, số liệu liên quan và những gì người dùng đang làm (từ nhãn).
**"Tôi ngủ thế nào?"**
`
`bash
npx neuroskill sleep --JSON
`
→ Báo cáo cấu trúc giấc ngủ (N3%, REM%, hiệu quả), so sánh với mục tiêu lành mạnh,
và lưu ý mọi vấn đề (thời gian thức cao, REM thấp).
**"Đánh dấu khoảnh khắc này — tôi vừa có một bước đột phá"**
`
`bash
npx neuroskill label "breakthrough"
`
→ Xác nhận nhãn đã được lưu. Tùy chọn lưu ý các số liệu hiện tại để ghi nhớ trạng thái.
---
## Tài liệu tham khảo
- [NeuroSkill Paper — arXiv:2603.03212](https://arxiv.org/abs/2603.03212) (Kosmyna & Hauptmann, Phòng thí nghiệm truyền thông MIT)
- [NeuroSkill Desktop App](https://GitHub.com/NeuroSkill-com/skill) (GPLv3)
- [NeuroLoop CLI Companion](https://GitHub.com/NeuroSkill-com/neuroloop) (GPLv3)
- [MIT Media Lab Project](https://www.media.mit.edu/projects/neuroskill/overview/)