Skip to main content

A warm, child-safe AI family chat experience in your terminal

Project description

FamilyCLI ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ

A warm, child-safe AI family chat experience in your terminal

๐Ÿšง Beta Release Notice

Welcome to Family AI CLI v1.1.0! ๐ŸŽ‰

This is our initial beta release and we're thrilled to have you as part of our testing community! Your feedback and contributions are invaluable in making this the best family-friendly AI experience possible.

๐Ÿ› Found a bug or have suggestions? We'd love to hear from you!

Thank you for helping us improve Family AI CLI! ๐Ÿ™


About Family AI CLI

FamilyCLI brings AI-powered family members to life in your command line. Chat with loving personas like Grandma Rose, Uncle Joe, Dad Mike, and more - each with unique personalities, memories, and caring responses designed for children and families.

โœจ Features

v1.1 New Features ๐ŸŽ‰

  • ๐Ÿง  Memory & Continuity - Personas remember conversations and preferences across sessions
  • ๐ŸŽญ Rich Persona Templates - Advanced personality traits, tones, knowledge domains, and quirks
  • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family Tree View - Visual family relationships and tree navigation
  • ๐Ÿ“ฆ Persona Packs - Pre-built persona collections and community sharing
  • ๐ŸŽญ Scene Mode - Immersive storytelling with multi-persona roleplay
  • ๐Ÿ“Š User Feedback Loop - Rate responses and continuous improvement
  • ๐Ÿ”„ Configuration Reload - Update settings without restart
  • ๐Ÿ—๏ธ Production Architecture - Enhanced error handling and scalability

Core Features

  • ๐Ÿ  6 Unique Family Members - Each with distinct personalities and LLM providers
  • ๐Ÿ’ญ Conversation Memory - Personas remember and reference previous messages
  • ๐Ÿ›ก๏ธ Child-Safe Responses - Carefully engineered prompts for appropriate, caring interactions
  • ๐Ÿ” Secure API Storage - Encrypted API key management in ~/.familyai
  • ๐Ÿ”„ Multi-Provider Support - Groq, OpenAI, Anthropic, Cerebras, Google
  • ๐Ÿ“ฑ WhatsApp-like Interface - Familiar chat experience with recent conversations
  • ๐ŸŽจ Rich UI - Beautiful terminal interface with markdown support
  • โšก Retry & Fallback - Robust error handling and graceful degradation

๐Ÿš€ Quick Start

Installation

Option 1: Install from PyPI (Recommended)

pip install familycli

Option 2: Install from Source

# Clone the repository
git clone https://github.com/AIMLDev726/ai-family-cli.git
cd ai-family-cli

# Install in development mode
pip install -e .

# PyPI Project URL
https://pypi.org/project/familycli/1.0.0/

First Run

# Start the Family AI CLI
familycli

# Or if installed from source
python -m familycli.main

Setup API Keys

  1. Choose option 4 (Settings & Management)
  2. Select API Key Management
  3. Add keys for your preferred providers (Groq recommended for speed)

๐Ÿ“‹ CLI Commands

# Main command
familycli                    # Start the family chat interface

# New v1.1 Commands
familycli tree              # Display family tree visualization
familycli add-pack          # Install persona packs
familycli scene             # Start immersive scene mode
familycli feedback          # View feedback statistics
familycli memory            # View persona memories
familycli reload            # Reload configuration

# Alternative (if installed from source)
python -m familycli.main          # Direct module execution

Usage

  1. Initialize the database:
    python -m familycli.main
    
  2. Register a user and login via CLI prompts.
  3. Create personas, start chat sessions, and interact with AI family members.

Configuration Management

  • All configuration is managed via JSON files in the familycli/config/ directory and can be overridden by environment variables.
  • Use familycli/config/config_manager.py to load, get, and reload config at runtime.
  • Example:
    from familycli.config.config_manager import ConfigManager
    config = ConfigManager().load('llm_providers')
    value = ConfigManager().get('llm_providers', 'default_provider')
    ConfigManager().reload('llm_providers')
    
  • Environment variable override: set LLM_PROVIDERS_OPENAI_API_KEY to override OpenAI key in config.

Performance Optimization

  • Database uses connection pooling and batch commit for high throughput.
  • LLM responses are cached (LRU) and API usage is tracked for cost management.

Error Handling

  • All critical operations have robust error handling and failover logic.
  • LLM manager supports rate limit handling and provider failover.
  • Streaming and chat modules recover from deadlocks and interruptions.

Runtime Reload

  • You can reload configuration at runtime using the reload method in ConfigManager and UniversalLLMManager.

Project Structure

familycli/
โ”œโ”€โ”€ familycli/
โ”‚   โ”œโ”€โ”€ auth/
โ”‚   โ”œโ”€โ”€ personas/
โ”‚   โ”œโ”€โ”€ chat/
โ”‚   โ”œโ”€โ”€ llm/
โ”‚   โ”œโ”€โ”€ database/
โ”‚   โ”œโ”€โ”€ ui/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ main.py
โ”œโ”€โ”€ examples/
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ MANIFEST.in
โ””โ”€โ”€ LICENCE

Security

  • All sensitive data is encrypted at rest.
  • API keys are stored securely and never exposed in logs.

Testing

  • Run unit and integration tests with pytest:
    pytest
    

Extending

  • Add new LLM providers by implementing a subclass of BaseLLMProvider.
  • Add new UI features in familycli/ui/.

๐Ÿ‘จโ€๐Ÿ’ป Creator

Created by AIMLDev726

๐Ÿ› Reporting Issues & Getting Help

How to Report a Bug

  1. Check Existing Issues: Browse current issues to see if it's already reported
  2. Create New Issue: Report a new bug
  3. Provide Details: Include the following information:

Bug Description A clear description of what went wrong

Steps to Reproduce

  1. Go to '...'
  2. Click on '...'
  3. See error

Expected Behavior What you expected to happen

Environment

  • OS: [e.g., Windows 11, macOS 13, Ubuntu 22.04]
  • Python Version: [e.g., 3.11.5]
  • Family CLI Version: [e.g., 1.0.0]

Error Messages Any error messages or logs (check ~/.familyai/logs/familycli.log)

Screenshots If applicable, add screenshots to help explain the problem

Request a Feature

Have an idea to make Family AI CLI better? Request a feature and include:

  • Feature Description: What you'd like to see added
  • Use Case: How this would help families
  • Child Safety: How this maintains our family-friendly focus

Beta Testing Feedback

As a beta tester, your feedback is especially valuable! Please share:

  • What works well: Features you love and find useful
  • What's confusing: Areas that need better documentation or UX
  • Performance issues: Slow responses, crashes, or errors
  • Family experience: How your family interacts with the AI personas
  • Safety concerns: Any responses that seem inappropriate for children

Get Help

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details on:

  • How to submit bug reports and feature requests
  • Development setup and coding standards
  • Pull request process
  • Code of conduct

Quick Contributing Steps

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the Mozilla Public License 2.0 (MPL-2.0).

See the LICENSE file for details.

What this means:

  • โœ… You can use this software for any purpose
  • โœ… You can modify and distribute the software
  • โœ… You can use it in proprietary software
  • โš ๏ธ If you modify MPL-licensed files, you must share those modifications
  • โš ๏ธ You must include the original license and copyright notices

๐Ÿ™ Acknowledgments

  • Built with โค๏ธ for families who want safe AI interactions
  • Powered by multiple LLM providers for the best experience
  • Inspired by the need for child-safe AI conversations

Family AI CLI - Bringing AI family members to life in your terminal! ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ

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

familycli-1.1.0.tar.gz (91.1 kB view details)

Uploaded Source

Built Distribution

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

familycli-1.1.0-py3-none-any.whl (100.8 kB view details)

Uploaded Python 3

File details

Details for the file familycli-1.1.0.tar.gz.

File metadata

  • Download URL: familycli-1.1.0.tar.gz
  • Upload date:
  • Size: 91.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for familycli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0eb3e7d3544a010d4b5be8470706d2021fdd2b2788715128094e2e1377ec6138
MD5 69c8d2cb00b88e80f68c25cde4d09b66
BLAKE2b-256 2f91eaf4004242a5d66e433f7bf4e1074314af157f4e87c2f0f1e3b613ad456b

See more details on using hashes here.

File details

Details for the file familycli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: familycli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 100.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for familycli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 155e8aadca6fd201e9f3dcfcc2862ff801652bd82acd9e4825f04191d4457f9e
MD5 2e53ea2d6c3c1cc4f21f76f017ec3f16
BLAKE2b-256 ad232644192d608762426cf01aa2f0868b8d3f802e17872121354112146cb2bb

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