grokytalky

command module
v1.78.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2026 License: Apache-2.0 Imports: 45 Imported by: 0

README

GrokYtalkY

Grok terminal companion — walkie talk / live Strudel patterns / hex video / MIDI, built with Charm Bubble Tea v2 + Lip Gloss (same lineage as cliamp).

Mesh audio + MIDI handling patterns from signls / sektron. Mini-notation inspired by strudel.cc and Qbpm jam bridge.

Org: fornevercollective
Module: github.com/fornevercollective/grokytalky

License Go Pages

Site: fornevercollective.github.io/GrokYtalkY · inspired by charm.land


Quick Start

# terminal-wide short command (recommended)
git clone https://github.com/fornevercollective/GrokYtalkY.git
cd GrokYtalkY && make install    # → ~/.local/bin/gy

gy                 # companion dock
gy burst           # dual Glyph Matrix walkie (auto-fits 80×24 → 13×13)
gy serve           # mesh hub
gy watch clip.mp4

Burst / Glyph: dual circular LEDs (Nothing GDK layout). [ ] scale · g res · space PTT. Site: burst.html · docs.

Hybrid streams: Cloudflare for 1k+ web viewers · DOJO SFU sidecar for private rooms + glyph/hex lanes · terminals stay 25²/half-block. See docs/streams-capacity.md · scaffold sfu/.

Space-style chat: public 1k+ → CF Workers + Durable Objects (chat/worker) · DOJO 16–32 → gy hub / SFU chat. Same JSON envelope. Demo: chat.html. See docs/chat.md.

gy serve
cd chat/worker && npm i && npx wrangler dev          # public Space :8787
gy chat-bridge --hosts YOUR_NICK                     # DOJO → Space captions
# open site/chat.html  (Public Space | DOJO hub)

make sfu && ./sfu/target/release/gy-sfu --bind 127.0.0.1:9880
make sfu-media   # webrtc-rs track fan-out + outbound glyph/chat DCs
# open site/dojo.html ×2 tabs → Join · glyph pulse · chat (e2e)
Install (pick one)
Method Command Binary on PATH
Make (user) make install gy~/.local/bin
System-wide make install-system /usr/local/bin/gy + checks ffmpeg/yt-dlp
Launch make launch new Terminal window running gy
Go go install github.com/fornevercollective/grokytalky@latest grokytalky only
Homebrew (checkout) brew install --build-from-source ./Formula/grokytalky.rb gy + grokytalky

Streams: /watch and gy watch <url> auto-resolve with yt-dlp (YouTube/Twitch/X/…) or pass raw m3u8/rtsp/files to ffmpeg.

Depth / gsplat: live mono depth (d cycles) — zip-lite offline, ZipDepth sidecar (:8766 from aito-mac), or gsplat-style stack (aito / overview). See docs/depth-gsplat.md.

Drag & drop: drop image/video files onto the Terminal window (gy / gy lab) or the site feed wall — paths auto-open as watch tiles or stills.

Scrub: while a video is open — k/space pause, j/l ±5s, J/L ±30s, 0 restart, <> rate, /seek, /rate.

Binary streams: encode/decode RGB/PCM at packet level — .gyst / .gyhex / .pcap (see docs/stream-binary.md).

gy encode clip.mp4 out.gyst
gy decode out.pcap
gy watch out.gyst          # play packets; j/k scrub
# TUI: /rec → /export out.gyhex · /load out.gyst · /hexdump

# live headless (DOJO/Colossus) → hub → peers (no file)
gy serve
gy stream-pub sim --kind hexlum --hex 25 --nick colossus
gy colossus examples/dojo.pcap        # pcap loop (ts pace, default loop)
# other terminal: gy  (renders type:gyst frames)
# multi-pcap + Cursor-Grok Forge watermarks (lab):
#   /forge examples/dojo.pcap examples/dojo.pcap

Video lab: multi-feed wall next to chat with listed FPS / scale / style / layout controls:

gy lab                 # or V inside companion
# [ ] scale · , . fps · m style · L layout
# a +sim · c +cam · tab next feed · o toggle lists
# styles: half hex braille ascii blocks points halftone depth gsplat
#         edges poster scan dither neon  (heavy styles auto-throttle under stream)
# social: /watch @user · /social twitch:name · yt:@ch · tt:@user  (live first · lazy lab)
# live:   gy stream-pub sim|cam|- --kind hexlum --room dojo --dual
# jam:    /duplex · /meshmidi · /overlay auto · /grok-cap · /grok-fx
# phone:  gy serve → open http://LAN:9876/phone.html on phone (same Wi‑Fi)
# news:   /news [us|eu|all 8]  · glyph wall of live agencies (GrokGlyph styles)
# media:  H health · R restart tile · K kill pipe · GY_MEDIA_MAX · GY_NEWS_MAX
# orch:   /orch [hint] · *  → STYLE/CAPTION/PATTERN/GLYPH take (XAI_API_KEY)
# layouts: side | stack | grid | focus
gy watch 'https://www.youtube.com/watch?v=…'
gy watch 'https://cdn.example.com/live.m3u8'
# in TUI: paste URL + Enter (watch mode) or /watch URL
gy doctor   # ffmpeg · ffplay · yt-dlp
# ensure user bins are on PATH (zsh)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

# Go install path (if you used go install)
echo 'export PATH="$(go env GOPATH)/bin:$PATH"' >> ~/.zshrc

Not uv — this is a Go binary (uv is for Python). Use go install / make install / Homebrew instead.

Version & updates
gy --version          # one line
gy version            # commit, build date, install channel, binary path
gy update --check     # compare to GitHub latest (exit 2 if outdated)
gy update             # install latest via same channel (go / brew / local)

Builds embed version via ldflags (make install uses git describe).

Grok prompt: "Clone fornevercollective/GrokYtalkY, run make install, then gy as a companion dock."


Companion, not takeover

Default UI is a small Charm dock (alt-screen, width-clamped) meant to sit beside Grok / Cursor / Dojo work — not replace them.

Mode (tab) Enter does
chat Mesh walkie chat + SPACE = PTT
live Strudel mini-notation s("bd*4")
grok ✦ Grok (xAI API or local backend)
watch ffmpeg → terminal half-block video
./bin/grokytalky              # companion dock
./bin/grokytalky burst        # Siri-sized video walkie orb (Glyph Matrix)
./bin/grokytalky --full       # larger layout
./bin/grokytalky serve        # Colossus/server: hub only, no TUI
./bin/grokytalky join host:9876

Video burst: hold space in burst mode for short face+voice PTT. Frames ship as JPEG + 25×25 glyph grid for Nothing Glyph Matrix. Web orb: site/burst.html. Android toy scaffold: glyph/.


Stack

Layer Tech
TUI Bubble Tea v2, Lip Gloss v2
Mesh WebSocket hub (serve)
Patterns Strudel-lite mini-notation + local synth
MIDI Buffered outs + virtual port GrokYtalkY (signls/sektron-style)
Video ffmpeg raw RGB24 → truecolor (clamped)
Audio afplay/ffplay; ffplay for file watch
Grok XAI_API_KEY → api.x.ai · or GROK_CLI_URL backend

Optional runtime: ffmpeg, ffplay, whisper-cli (PTT translate), softsynth on MIDI port GrokYtalkY.


Environment

# .env.example
export XAI_API_KEY=xai-...          # or GROK_API_KEY
export GROK_MODEL=grok-3-mini
export GROK_CLI_URL=http://127.0.0.1:3000   # local notes backend
export GROK_OFFLINE=0

Keys also load from ~/.grok/env if present.


Keys

Key Action
tab Cycle chat · live · grok · watch
enter Send (mode-dependent)
g Grok mode
p Pattern play/stop
c Camera strip
/watch path ffmpeg pixel video
F Full ↔ companion
? Help
q Quit

Layout

GrokYtalkY/
├── site/                  # GitHub Pages (charm.land-style landing)
│   ├── index.html
│   └── styles.css
├── main.go model.go …     # companion TUI + hub
├── midi/                  # signls/sektron-style MIDI + clock
├── strudel/               # mini-notation engine + audio/MIDI sinks
├── scripts/install.sh
├── configs/ docs/ examples/
├── .github/workflows/     # ci.yml + pages.yml
└── AGENTS.md LLMS.md


License

Apache-2.0 — see LICENSE.

Documentation

Overview

GrokYtalkY — terminal walkie-talkie on the Charm stack (cliamp lineage) with MIDI audio handling from emprcl/signls + emprcl/sektron, and live speech translation via whisper-cli.

Bubble Tea v2 + Lip Gloss v2
MIDI: buffered outs + virtual "GrokYtalkY" port + clock (signls/sektron)
XL8:  whisper-cli -tr on PTT release

Usage:

grokytalky
grokytalky --midi --translate
grokytalky join host:9876
grokytalky hub

Directories

Path Synopsis
Clock adapted from emprcl/sektron sequencer/clock.go MIDI clock: 6 pulses per 16th note.
Clock adapted from emprcl/sektron sequencer/clock.go MIDI clock: 6 pulses per 16th note.
Package strudel implements a live subset of Strudel / Tidal mini-notation for terminal performance — inspired by https://strudel.cc/ and Qbpm jam bridge.
Package strudel implements a live subset of Strudel / Tidal mini-notation for terminal performance — inspired by https://strudel.cc/ and Qbpm jam bridge.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL