Metadata-Version: 2.4
Name: microclaw-streams
Version: 0.1.0
Summary: Push-to-talk voice conversations powered by Whisper and Claude Code
Author-email: Your Name <you@example.com>
Maintainer-email: Your Name <you@example.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/visendi/microclaw-streams
Project-URL: Repository, https://github.com/visendi/microclaw-streams
Project-URL: Issues, https://github.com/visendi/microclaw-streams/issues
Keywords: voice,whisper,claude,speech,tts
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: sounddevice
Requires-Dist: openai-whisper

# MicroClaw Streams

Voice calls with Claude – talk it out. Voice in, voice out. Push-to-talk voice conversations powered by [Whisper](https://github.com/openai/whisper) and [Claude Code](https://docs.anthropic.com/en/docs/claude-code).

Whisper runs **entirely on your machine** — no audio is sent to the cloud. Only the transcribed text is sent to Claude.

~490 lines of Python across 5 modules, with just three dependencies: `numpy`, `sounddevice`, and `openai-whisper`.

## Setup

```bash
pip install -e .
```

Requires [Claude Code](https://docs.anthropic.com/en/docs/claude-code) to be installed and authenticated.

## Usage

```bash
microclaw-streams
microclaw-streams --model turbo
microclaw-streams --resume <session-id>
microclaw-streams -l sv -e high
```

### Options

| Flag | Description | Default |
|------|-------------|---------|
| `-m`, `--model` | Whisper model size (`tiny`, `base`, `small`, `medium`, `large`, `turbo`) | `base` |
| `-l`, `--language` | Transcription language (e.g. `en`, `sv`, `de`) | `auto` |
| `-e`, `--effort` | Claude effort level (`low`, `medium`, `high`, `max`) | `low` |
| `-r`, `--resume` | Resume a previous Claude Code session by its session ID | — |
| `--fp16` | Use half-precision inference (requires CUDA GPU) | off |

### Controls

| Key | Action |
|-----|--------|
| `Enter` | Start/stop recording |
| `A` | Record with auto-approve (allows edits, writes, bash) |
| `W` | Record with web search enabled |
| `T` | Type a message instead of speaking |
| `E` | Cycle effort level |
| `L` | Cycle transcription language |
| `Space` | Interrupt speech output |

## How it works

1. **Record** — Press Enter to start recording, press Enter again to stop
2. **Transcribe** — Whisper transcribes your speech locally
3. **Respond** — Claude Code processes your message and streams a response
4. **Speak** — Voice output is spoken via macOS `say` command

## Requirements

- macOS (uses `say` for text-to-speech)
- Python 3.10+
- Claude Code CLI
