Skip to main content

strands-emotiv

strands-emotiv

An agent that can feel the person it's talking to.
EPOC X → Cortex → Strands tools · live brain dashboard · LeRobot v3 datasets.
docs · soul · dataset

▶ I put my brain on a dashboard and gave my AI agent a nervous system
1:40 — how it works

2019: how do I control X with my mind? Blink = click. A slower keyboard. 2026: what does an agent become when it can feel you?

Not a mind-reader. A friend across the table who notices you tensed up, went quiet, lit up — and changes how it talks.

Run

pip install strands-emotiv            # or: uv tool install strands-emotiv
export EMOTIV_CLIENT_ID= EMOTIV_CLIENT_SECRET=   # free Basic license
strands-emotiv doctor                 # Cortex ✓ headset ✓ streams ✓
strands-emotiv dashboard              # → localhost:8765

Use the USB dongle — the cable only charges. No headset: --fake replays 865 real samples.

What the agent sees

One line per turn. The dashboard shows the exact same line.

[brain: focus 0.71 ↑ · stress 0.22 · alpha dominant O1/O2 · still 38s · CQ 13/14 good]
you it
stress ↑, build failed 3 lines, 1 next step, no questions
alpha up, still 40 s shuts up — you're thinking
CQ < 10/14 "I can't see your brain right now"

Three speeds, never mixed: reflex ≤100 ms (blink · clench = veto) · ambient ~10 s (the line) · intent opt-in (one trained yes).

The mirror

Left = you: skull with 14 live electrodes, 5 band topomaps, 10-min waterfall, head trail. Right = the agent: the line it reads, event river, metric radar, sonification, consent. Bottom: streaming chat — under each message, what it saw when you sent it.

The dataset

▶ watch an ECoT episode get recorded live
1 min — recording an ECoT episode on the dashboard, live

Embodied chain-of-thought, brain edition: observation = band power · CQ · motion · metrics · facial · events @ 8 Hz. action = what the agent said. reward = your brain 2 s later. LeRobot v3.0, trains with stock tooling.

from lerobot.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("cagataydev/emotiv-ecot")        # private
ds[80]["observation.state"].shape                    # [70]  14 ch × θ α βL βH γ
ds[80]["task"]
# TASK: One sentence: how does my brain look right now? | AMBIENT: [brain: theta dominant · CQ 13/14 good]
# | PLAN: Calm and settled — theta's leading with solid contact… | TOOL: none | ACT: Calm and settled… | REWARD: Δstress=…

That's a real frame from the first live episode. ● REC in the header → talk → Publish.

Tools

from strands_emotiv.tools import brain_snapshot, brain_bands, head_pose, contact_quality, wait_for_brain_event
agent("wait until I blink twice, then tell me what my alpha did")

Every agent action stamps the EEG record (injectMarker). The loop closes both ways.

MIT · Cagatay Cali · 2019 → 2026

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strands_emotiv-0.1.0.tar.gz (408.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strands_emotiv-0.1.0-py3-none-any.whl (297.3 kB view details)

Uploaded Python 3

File details

Details for the file strands_emotiv-0.1.0.tar.gz.

File metadata

  • Download URL: strands_emotiv-0.1.0.tar.gz
  • Upload date:
  • Size: 408.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.11

File hashes

Hashes for strands_emotiv-0.1.0.tar.gz
Algorithm Hash digest
SHA256 80372db5a88475c589549d6949f7a02ea86a81b77054c51ad6c7837b83f76ab0
MD5 a1a3c7d548d28f08d79063639f30fee4
BLAKE2b-256 91804b6923e56d50400320a66143e70a0658c1867bc7b7c5d9586d2ae33c232a

See more details on using hashes here.

File details

Details for the file strands_emotiv-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for strands_emotiv-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd0e5610bdca5b814ba2b74b8d0de04deffb5d3988f62bd42fadeca942100549
MD5 be8e2bf5691909aff558a93c33930ff7
BLAKE2b-256 1969844d3bba6939929fd5366f1d26474a11114e9f6bad8a21a88ba1c35873e1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page