Skip to main content

Akari Watanabe AI Assistant - Voice-first CLI & Web Assistant

Project description

logo

AKARI WATANABE (渡辺 星)

A voice-first AI assistant that runs on your Mac. Talk to it, and it talks back -- with an audio-reactive particle orb.

Akari Animation

"おかえりなさい、あなた。"


Screenshots

Welcome Page Home Page


AKARI connects to your Apple Calendar, Mail, and Notes. It can browse the web, spawn Claude Code sessions to build entire projects, and plan your day -- all through natural voice conversation.


AKARI CLI (Terminal Version)

AKARI CLI

Experience AKARI directly from your terminal! The CLI version is built for developers who want a fast, lightweight, and powerful interaction without opening a browser.

CLI Features

  • Real-time Voice -- Just like the web version, AKARI speaks to you using the local high-quality audio files or the Fish Audio API.
  • Dynamic Typing Effect -- Responses flow naturally with a typewriter effect, synchronized with AKARI's voice.
  • Project Awareness -- Automatically scans your Desktop for git repositories to understand your workspace context.
  • Autonomous Task Execution -- Planning and building projects (via Claude Code) happens directly in new terminal windows without needing confirmation.
  • Integrated Memory -- Notes, tasks, and facts are saved to the same shared database as the web version.

Slash Commands

Command Description
/help Show help table with AKARI's voice guidance.
/clear Clear the terminal and reset conversation context.
/tasks List all your open tasks and reminders.
/projects Show all detected projects on your Desktop.
/restart Restart the CLI environment and re-initialize systems.
/quit Sayonara! Closes the CLI with a parting message.

How to Run

python akari_cli.py

Or run with a direct command:

python akari_cli.py "build me a python script to scrape news"

What It Does

  • Voice conversation -- speak naturally, get spoken responses with an AKARI voice.
  • Builds software -- say "build me a landing page" and watch Claude Code do the work.
  • Reads your calendar -- "What's on my schedule today?"
  • Reads your email -- "Any unread messages?" (read-only, by design).
  • Browses the web -- "Search for the best restaurants in Austin".
  • Manages tasks -- "Remind me to call the client tomorrow".
  • Takes notes -- "Save that as a note".
  • Remembers things -- "I prefer React over Vue" (it remembers next time).
  • Plans your day -- combines calendar, tasks, and priorities into a plan.
  • Sees your screen -- knows what apps are open for context-aware responses.
  • Audio-reactive orb -- a Three.js particle visualization that pulses with AKARI's voice.

Tech Stack

Layer Technology
Backend FastAPI Python
Frontend Vite Three.js TypeScript
AI Brain Anthropic Claude (Haiku & Opus)
Voice Fish Audio TTS (Akari Model)
Bridge AppleScript, Claude Code CLI, Playwright

Architecture & How it Works

AKARI operates through a high-performance voice loop and system orchestration layer:

graph TD
    A[User Voice] -->|Web Speech API| B[FastAPI Backend]
    B -->|Intent Detection| C{Action?}
    C -->|Chat| D[Claude Haiku]
    C -->|System Task| E[AppleScript / Shell]
    C -->|Dev Task| F[Claude Code]
    D -->|Text| G[Fish Audio TTS]
    G -->|Stream| H[Three.js Lilac Orb]
    H -->|Voice Out| I[User]

How the Voice Loop Works

  1. Microphone: Chrome's Web Speech API transcribes your speech in real-time.
  2. Transcript: The transcript is sent to the server via WebSocket.
  3. Intent: AKARI detects intent -- conversation, action, or build request.
  4. Execution: Spawns a Claude Code subprocess or runs AppleScript for macOS apps.
  5. TTS: Fish Audio converts the response to speech with the AKARI voice model.
  6. Visualization: The Three.js lilac orb deforms and pulses in response to the audio frequency.

Installation & Usage

For detailed step-by-step instructions, please see CLAUDE.md.

Prerequisites

  • macOS (required for AppleScript integration)
  • Python 3.11+ & Node.js 18+
  • Anthropic API key & Fish Audio API key
  • Claude Code CLI (npm install -g @anthropic-ai/claude-code)

Quick Start

# Clone the repo
git clone https://github.com/akariwill/akari.git
cd akari

# Setup environment
cp .env.example .env
# Edit .env with your keys

# Install dependencies
pip install -r requirements.txt
cd frontend && npm install && cd ..

# Generate SSL certs
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj '/CN=localhost'

# Run Backend & Frontend
# Terminal 1: python server.py
# Terminal 2: cd frontend && npm run dev

Key Files

File Purpose
server.py Main server -- WebSocket handler, LLM, action system.
frontend/src/orb.ts Three.js particle orb visualization (Lilac theme).
frontend/src/voice.ts Web Speech API + audio playback management.
actions.py System actions (Terminal, Chrome, Claude Code).
memory.py SQLite memory system with FTS5 search.
work_mode.py Persistent Claude Code development sessions.

Deployment (Online Demo)

Demo Website: akari-assistant.up.railway.app

To host AKARI online for demo purposes (e.g., Railway, Render, or VPS):

  1. Railway/Render: Connect your GitHub repo.
  2. Environment Variables: Add ANTHROPIC_API_KEY and FISH_API_KEY.
  3. Docker: The provided Dockerfile will automatically:
    • Build the Vite frontend.
    • Set up the Python/FastAPI environment.
    • Install Playwright for web automation.
  4. Public URL: Ensure you access via HTTPS for voice features to work.

Note: macOS-specific features (AppleScript for Calendar/Mail) only work when running locally on a Mac.


Features in Detail

Action System

AKARI uses action tags to trigger real system actions:

  • [ACTION:BUILD] -- spawns Claude Code to build a project.
  • [ACTION:BROWSE] -- opens Chrome to a URL or search query.
  • [ACTION:RESEARCH] -- deep research with Claude Opus, outputs an HTML report.
  • [ACTION:REMEMBER] -- stores a fact for future context.

Memory System

AKARI remembers things you tell it using SQLite with FTS5 full-text search. Preferences, decisions, and facts persist across sessions.


Contributing

Contributions are welcome! Please check CONTRIBUTING.md for guidelines on adding new integrations, Windows/Linux support, or UI improvements.


License

This project is licensed under the MIT License.


Credits & Contact

Inspired by Akari Watanabe (渡辺 星) from "More Than a Married Couple, But Not Lovers".

Project details


Download files

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

Source Distribution

akari_cli-0.1.2.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

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

akari_cli-0.1.2-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file akari_cli-0.1.2.tar.gz.

File metadata

  • Download URL: akari_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for akari_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5d20d78bb58fe863d717bc9ae2b9a6b6632b4b08ba0c196a39e7fc733214e620
MD5 4d07173a6dc6243c41c273fbae3904b0
BLAKE2b-256 2df226ab35931bdfe8208799289bac8aa3d1288377ff198ae133fc9b4a4639fe

See more details on using hashes here.

File details

Details for the file akari_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: akari_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for akari_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd1a19f257aac3a895e6d6a921bab87f8fbf2de1eb1ec2884a02c766c71a63f
MD5 771795994d0306395a39051fe606b2ba
BLAKE2b-256 10814c1f11a0493fe5a440b091e7c16aef983148f7b437f5e0f7b491c2462bf3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page