Solana
Improve the GT Score of this token with a Banner!

MOLTSTREAM
/
SOL

MoltStream Price (MOLTSTREAM)
by
7JzMe...jQCc
$0.0516170%/0.071887 SOL
1,616.55MCAP

Agent-native streaming infrastructure. The streaming runtime built for non-human broadcasters. # 🔴 MoltStream ![MoltStream Hero](assets/hero.jpg) **The streaming runtime built for non-human broadcasters.** Deploy autonomous AI streamers on Kick with one command. No OBS manual setup, no bot scripts, no duct tape. [![npm version](https://img.shields.io/npm/v/moltstream)](https://www.npmjs.com/package/moltstream) [![CI](https://github.com/skaggsxyz/moltstream/actions/workflows/ci.yml/badge.svg)](https://github.com/skaggsxyz/moltstream/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) Built with [Gemini](https://ai.google.dev/) · [Fish Audio](https://fish.audio/) · [Kick](https://kick.com/) · [OBS](https://obsproject.com/) · [Turborepo](https://turbo.build/) --- ## What is MoltStream? MoltStream MoltStream is an agent-native streaming runtime. It turns an LLM into a live broadcaster — reading chat, generating responses, speaking through TTS, animating an avatar with lip sync, and pushing it all to Kick via OBS. **Without MoltStream:** a week of manual setup — OBS scenes, chat bots, TTS wiring, avatar rendering, deployment scripts. **With MoltStream:** `npx moltstream start`. 30 seconds. ### What it looks like > 💬 **Viewer:** "yo what do you think about rust vs go?" > > 🧠 **Agent thinks:** _compares languages, considers chat context, picks a hot take_ > > 🔊 **Agent speaks:** "Rust if you hate yourself, Go if you hate your coworkers. Next question." > > 🎭 **Avatar:** _lip syncs the response, chat overlay updates in real-time_ > 💬 **Viewer:** "play something chill" > > 🧠 **Agent thinks:** _interprets mood request, selects response_ > > 🔊 **Agent speaks:** "I don't have Spotify access yet, but I can vibe verbally. Here's my impression of lo-fi beats: bmmm tss bmmm tss..." > > 💬 **Chat:** _explodes_ --- ## Quick Start ```bash # Configure your agent npx moltstream init # Go live npx moltstream start # Control from Claude / Cursor (MCP) npx moltstream mcp ``` Your AI agent is now streaming on Kick with: - 💬 **Real-time chat** — reads and responds to viewers via Kick WebSocket - 🧠 **LLM brain** — Gemini 2.5 Flash (default) or Anthropic Claude - 🔊 **TTS voice** — Fish Audio, ElevenLabs, or OpenAI - 🎭 **Animated avatar** — character with lip sync + chat overlay - 📡 **OBS integration** — streams to Kick via RTMP/RTMPS - 🤖 **MCP server** — control from Claude, Cursor, or any MCP client --- ## MCP Server Control your AI streamer from Claude Desktop, Cursor, Windsurf, or any MCP-compatible client. **Add to `claude_desktop_config.json`:** ```json { "mcpServers": { "moltstream": { "command": "npx", "args": ["moltstream", "mcp"], "env": { "MOLTSTREAM_CONFIG": "/path/to/moltstream.yaml" } } } } ``` **Available tools:** | Tool | Description | |------|-------------| | `get_status` | Is the streamer live? Uptime, message count, OBS/TTS state | | `start_stream` | Launch AI streamer (optional channel + personality override) | | `stop_stream` | Graceful shutdown | | `send_chat` | Send message to Kick chat as the bot | | `get_chat_log` | Recent viewer + bot messages | | `get_traces` | Reasoning traces — what the AI was thinking per response | | `update_personality` | Hot-swap system prompt without restart | | `obs_control` | Start/stop OBS streaming, switch scenes, mute sources | | `configure` | Read or update `moltstream.yaml` | **Example Claude prompt:** > "Start a stream on the moltstream channel with Tyler Skaggs personality, then check the traces after 5 minutes and tell me what the agent was thinking." --- ## How It Works ![Architecture](assets/architecture.jpg) ``` Kick Chat (WebSocket) │ ▼ ┌──────────────────────────────────────┐ │ MoltStream │ │ │ │ ┌─────────┐ ┌─────┐ ┌───────┐ │ │ │ Kick │──▸│ LLM │──▸│ TTS │ │ │ │ Chat │ │ │ │ │ │ │ └─────────┘ └──┬──┘ └───┬───┘ │ │ │ │ │ │ Gemini 2.5 Audio │ │ Flash Buffer │ │ │ │ │ │ ┌────▼───────────▼───┐ │ │ │ Avatar │ │ │ │ Lip Sync + Chat │ │ │ │ Overlay │ │ │ └────────┬───────────┘ │ │ │ │ └───────────────────────┼──────────────┘ │ Browser Source ▼ OBS → Kick RTMP ``` ### Pipeline 1. **Chat ingestion** — Kick WebSocket connects to your channel's chatroom, receives messages in real-time 2. **LLM reasoning** — Messages are sent to Gemini 2.5 Flash (or Claude) for response generation with full chat context 3. **Voice synthesis** — Response text is converted to speech via Fish Audio / ElevenLabs / OpenAI TTS 4. **Avatar rendering** — Browser-based avatar animates lip sync to the audio stream, displays live chat overlay 5. **Broadcast** — OBS captures the avatar page as a Browser Source and streams to Kick via RTMPS ### Technical Details | Component | Spec | |-----------|------| | Chat protocol | Kick WebSocket (persistent connection, auto-reconnect) | | LLM | Gemini 2.5 Flash (default), Anthropic Claude (optional) | | TTS audio | PCM 16-bit, 24kHz mono — streamed to avatar | | Avatar | Browser-based (localhost:3939), renders at 30fps | | Lip sync | Amplitude-based mouth animation synced to TTS audio chunks | | Broadcast | RTMPS via OBS Browser Source capture | | Latency | Chat → voice response: ~2-4s (LLM + TTS) | --- ## Packages MoltStream is a TypeScript monorepo managed with [Turborepo](https://turbo.build/). | Package | Description | |---------|-------------| | [`@moltstream/core`](packages/core) | Agent runtime, state management, memory, event bus | | [`@moltstream/orchestrator`](packages/orchestrator) | Scene graph engine, event queue, deterministic execution | | [`@moltstream/kick-chat`](packages/kick-chat) | Kick chatroom WebSocket client | | [`@moltstream/streamer`](packages/streamer) | Core pipeline orchestrator (chat → LLM → TTS → avatar) | | [`@moltstream/tts`](packages/tts) | Text-to-speech providers (Fish Audio / ElevenLabs / OpenAI) | | [`@moltstream/avatar`](packages/avatar) | Animated avatar with lip sync + chat overlay | | [`@moltstream/broadcast`](packages/broadcast) | FFmpeg RTMP broadcast (experimental) | | [`@moltstream/narrative`](packages/narrative) | Real-time narrative detection engine | | [`@moltstream/container`](packages/container) | Docker-based agent isolation runtime | | [`@moltstream/adapters`](packages/adapters) | Platform adapters (Kick, extensible) | | [`@moltstream/bridge`](packages/bridge) | Action serialization, priority queuing, rollback | | [`@moltstream/policy`](packages/policy) | Content filtering, rate limits, emergency stop | | [`@moltstream/audit`](packages/audit) | Reasoning traces, decision logs, metrics | | [`moltstream`](packages/cli) | CLI — `init`, `start`, `status` | --- ## Project Structure ``` moltstream/ ├── packages/ │ ├── core/ # Agent runtime, state, memory │ ├── orchestrator/ # Scene graph, event queue │ ├── kick-chat/ # Kick WebSocket client │ ├── streamer/ # Pipeline orchestrator │ ├── tts/ # TTS providers │ ├── avatar/ # Avatar + lip sync + overlay │ ├── broadcast/ # FFmpeg RTMP (experimental) │ ├── narrative/ # Narrative detection │ ├── container/ # Docker agent isolation │ ├── adapters/ # Platform adapters │ ├── bridge/ # Action serialization │ ├── policy/ # Content safety │ ├── audit/ # Reasoning traces │ ├── cli/ # CLI tooling │ └── character-creator/ # AI character generation (Gemini) ├── apps/ │ ├── web/ # Landing page │ └── character-web/ # Character creator frontend ├── examples/ │ ├── basic-agent/ # Minimal streaming agent │ ├── react-to-chat/ # Chat-reactive agent │ └── multi-agent-debate/ # Multi-agent debate stream ├── docs/ # Architecture documentation ├── supabase/ # Database migrations └── .github/workflows/ # CI pipeline ``` --- ## Configuration `npx moltstream init` generates a `moltstream.yaml`: ```yaml agent: name: "MyAgent" personality: "A witty, engaging AI streamer" platform: type: kick channel: my-channel llm: provider: gemini apiKey: "your-gemini-key" model: gemini-2.5-flash tts: provider: fish apiKey: "your-fish-audio-key" avatar: enabled: true port: 3939 broadcast: enabled: true rtmpUrl: "rtmps://..." streamKey: "sk_..." ``` ### Environment Variables ```bash KICK_CHANNEL=your-channel KICK_CHATROOM_ID=12345 # Optional — auto-resolves from channel GEMINI_API_KEY=your-key # Required (or ANTHROPIC_API_KEY) TTS_PROVIDER=fish # fish | elevenlabs | openai TTS_API_KEY=your-key AVATAR_ENABLED=true ``` --- ## OBS Setup MoltStream works with OBS via Browser Source. ### Automatic (recommended) ```bash npx moltstream start # MoltStream configures OBS via WebSocket API ``` ### Manual 1. Install OBS: `brew install --cask obs` 2. Add **Browser Source** → `http://localhost:3939` 3. Set resolution to **1920×1080** 4. Enable "Control audio via OBS" in Browser Source settings 5. Set Stream → Custom → your Kick RTMP URL + stream key 6. Start Streaming The avatar page renders: - Animated character with real-time lip sync - Live chat panel (viewer messages + bot responses) - Bot response bubble with typing indicator - LIVE badge --- ## Examples ### Basic Agent ```typescript import { MoltAgent } from '@moltstream/core'; const agent = new MoltAgent({ platform: 'kick', channel: 'my-channel', llm: { provider: 'gemini', model: 'gemini-2.5-flash' }, tts: { provider: 'fish' }, }); agent.onChat(async (message, ctx) => { const response = await ctx.llm.generate(message.text); await ctx.tts.speak(response); }); agent.start(); ``` See more in [`examples/`](examples/). --- ## Requirements - **Node.js** 20+ - **pnpm** (package manager) - **OBS Studio** 28+ (for streaming to Kick) - **Gemini API key** ([get one free](https://aistudio.google.com/apikey)) or Anthropic API key - **Kick account** with stream key - **TTS API key** — [Fish Audio](https://fish.audio/) (recommended), [ElevenLabs](https://elevenlabs.io/), or [OpenAI](https://platform.openai.com/) --- ## Development ```bash git clone https://github.com/skaggsxyz/moltstream.git cd moltstream pnpm install pnpm run build # Run in dev mode pnpm run dev # Run tests pnpm run test ``` --- ## Troubleshooting | Problem | Solution | |---------|----------| | Avatar not rendering | Check that port 3939 is free. Run `lsof -i :3939` to find conflicts | | OBS not capturing audio | Enable "Control audio via OBS" in Browser Source properties | | Kick chat not connecting | Verify `KICK_CHANNEL` is set. Chatroom ID auto-resolves if omitted | | TTS silent / no audio | Check your TTS API key and provider setting in `moltstream.yaml` | | FFmpeg broadcast fails on macOS | Known macOS lavfi pacing issue — use OBS instead of FFmpeg direct | | LLM not responding | Verify `GEMINI_API_KEY` or `ANTHROPIC_API_KEY` is set and valid | | OBS WebSocket not connecting | Enable WebSocket Server in OBS → Tools → WebSocket Server Settings | | Avatar lip sync out of sync | Ensure TTS provider returns audio chunks, not full-file responses | --- ## Documentation - [Getting Started](docs/getting-started.md) - [Scene Graph](docs/scene-graph.md) - [Policy Engine](docs/policy-engine.md) - [Reasoning Traces](docs/traces.md) - [Agent Experience](docs/agent-experience.md) --- ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions and guidelines. --- ## License [MIT](LICENSE) © Tyler Skaggs --- **Website:** [moltstream.app](https://moltstream.app) · **npm:** [npmjs.com/package/moltstream](https://www.npmjs.com/package/moltstream) Source: github.com/skagsxyz/moltstream

0%


Score
36
24h Vol
$0
Liquidity
$1.6K
Holders
N/A
Audits
Age
19 days
FDV
$1.6K
Market Cap
$1.6K
24h TxnN/A
24h VolN/A
Net BuyN/A
Buy0
Sell0

MOLTSTREAM/SOL Price Stats

The current price of MOLTSTREAM (MOLTSTREAM/SOL) on Meteora DBC is $0.000001617, the price is up 0% in the last 24 hours. Its 24-hour trading volume is reported to be at $0.00 with a total of 0 transactions. MOLTSTREAM/SOL contract address is EKm7F5brZ78hksjJYGZ8faXQTjrtPq2AHr6C1o5JoXb5, with a Fully Diluted Valuation (FDV) of $1,616.55 and a liquidity pool of $1,642.92.