Metadata-Version: 2.4
Name: control-center-ai
Version: 5.2.0
Summary: Generate themed AI control center dashboards with voice, real-time widgets, and Claude AI chat
Project-URL: Homepage, https://github.com/vltrn/control-center-ai
Project-URL: Issues, https://github.com/vltrn/control-center-ai/issues
Author-email: VLTRN <dev@vltrn.io>
License-Expression: MIT
License-File: LICENSE
Keywords: ai,claude,control-center,dashboard,saas,voice
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: User Interfaces
Requires-Python: >=3.9
Requires-Dist: anthropic>=0.20.0
Requires-Dist: click>=8.0
Requires-Dist: jinja2>=3.1
Description-Content-Type: text/markdown

# control-center-ai

Generate themed AI control center dashboards with voice control, real-time system widgets, Claude AI chat with tool use, persistent user memory, and full productivity features.

One command. Any theme. Your own AI command center. It remembers who you are — forever.

## Install

```bash
pip install control-center-ai
```

## Quick Start

```bash
# Generate from a built-in preset
control-center create --preset cyberpunk --name my-dashboard

# Start it
control-center start my-dashboard

# Or manually
cd my-dashboard && node server.js
```

Open `http://localhost:4005` in Chrome (required for voice).

On first launch, you'll be prompted to set your name and optionally rename the AI. This identity is locked into persistent memory and survives restarts forever.

## Commands

```bash
# Create a dashboard from a preset
control-center create --preset kitt --name my-kitt

# Create from a custom description (requires ANTHROPIC_API_KEY)
control-center create --theme "Star Wars Imperial Command Center" --name imperial-hq

# List all presets
control-center presets

# Start a dashboard
control-center start my-dashboard --port 4005
```

## Built-in Presets

| Preset | AI Name | Style |
|--------|---------|-------|
| `kitt` | K.I.T.T. | Red/cyan on black — refined, sardonic |
| `jarvis` | J.A.R.V.I.S. | Blue/gold on dark — dry wit, formal |
| `hal` | HAL 9000 | Red/white on black — calm, unsettling |
| `cyberpunk` | NETRUNNER | Magenta/cyan neon — street-smart hacker |
| `startrek` | LCARS | Orange/blue — Starfleet computer |
| `nasa` | CAPCOM | White/blue on navy — mission control |
| `executive` | ATLAS | Gold/white on charcoal — professional |
| `retro` | MAINFRAME | Green phosphor on black — 80s terminal |

## Features

- **Persistent User Memory**: First-run identity prompt locks your name forever. AI never forgets who you are across restarts, reboots, or reinstalls.
- **Remember Tool**: Tell the AI anything about yourself — preferences, facts, your title — and it stores it permanently in `user-memory.json`.
- **Voice Control**: Always-on wake word detection + speech synthesis
- **AI Chat**: Claude Haiku with tool use (shell commands, file read, osascript)
- **Real-time Widgets**: CPU, memory, disk, battery, email, calendar, reminders
- **Terminal Feed**: Live shell history and running processes
- **Data Viewer**: Shows tool call results in a dedicated panel
- **Proactive Engine**: AI initiates conversation during idle periods
- **Boot Sequence**: Themed initialization animation

## Memory System

On first launch, the setup screen prompts for:
1. **Your name** — what the AI calls you (required)
2. **AI name** — optionally rename the AI (optional)

This identity is saved to `user-memory.json` in the dashboard directory. The AI uses it in every conversation and never falls back to a generic title.

You can also tell the AI things during conversation:
- "Call me Neo" — updates your preferred title
- "Remember that I run VLTRN Holdings" — stores as a fact
- "I prefer dark themes" — stores as a preference

All memory persists across server restarts.

### Memory API

```bash
# Get current user identity
curl http://localhost:4005/api/user

# Get full memory
curl http://localhost:4005/api/memory

# Update memory programmatically
curl -X POST http://localhost:4005/api/memory \
  -H "Content-Type: application/json" \
  -d '{"name": "Neo", "preferred_title": "Neo"}'
```

## Custom Themes

Set `ANTHROPIC_API_KEY` in your environment, then:

```bash
control-center create --theme "Blade Runner Nexus-6 Replicant Interface" --name nexus
control-center create --theme "Hogwarts Magical Command Center" --name hogwarts
control-center create --theme "Submarine Tactical Operations" --name sub-ops
```

Claude generates a complete theme config including colors, personality, boot sequence, and voice settings.

## Configuration

Each generated dashboard includes a `.env.example` file:

```env
ANTHROPIC_API_KEY=your-key-here
PORT=4005
MODEL=claude-haiku-4-5-20251001
```

Copy to `.env` and add your Anthropic API key for AI chat. Without it, the dashboard still works with canned responses.

## Requirements

- Python 3.9+
- Node.js 18+ (for running the generated dashboard)
- Chrome browser (for Web Speech API)

## License

MIT
