Skip to content

πŸ€–βœ¨ Dialog-first platform for developing interactive AI-Powered assistant-like applications on Linux

License

Notifications You must be signed in to change notification settings

mydroidandi/commbase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Package using Conda Python Version flake8 Lint json-lint Shell Linter

Commbase Commbase

Commbase

Commbase, short for Communicative Commands Base, is a comprehensive platform designed to empower computers and computer-based devices with cutting-edge conversational AI capabilities. While it includes a flexible and extensible ✨ development framework ✨ at its core, Commbase goes beyond mere development tools. It serves as both a module and library bundler, incorporating third-party Large Language Models (LLMs) to enable advanced features such as "distributed AIs" or "multi-agent systems" (MAS). Commbase adapts across a diverse range of devices, from computers to smart appliances, robots, vehicles, Iron Man-like suits, starships, and beyond, ensuring universal accessibility and functionality. Operating effortlessly on either a single machine or a pair of machines in a client-server architecture, Commbase offers unparalleled adaptability and scalability.

Features

Topic Description
βš™οΈ Control & Accessibility Offers multiple methods to start and stop Commbase, including init systems, cron jobs, terminal commands, or voice commands. Provides a terminal-based interface and option for custom UIs.
πŸ–₯️ Multi-pane Support Facilitates multitasking and organization within Commbase by providing a versatile workspace with options for navigating between different functionalities.
πŸ“ Logging & Recording Enables transparent monitoring of system activity, troubleshooting, and security maintenance through the recording of terminal and voice commands, along with secure access control.
πŸ”§ Configuration Simplifies customization of Commbase to meet specific user needs and preferences by offering easy-to-adjust centralized configuration files for built-in options.
πŸ€– Advanced Capabilities Demonstrates sophistication and cutting-edge AI functionalities by integrating Large Language Models (LLMs) and advanced assistant capabilities such as language understanding and vision.

For a detailed feature overview, follow this link.

Usage

INSTALL Commbase and then run the next command in a terminal to start the program:

commbase start

Commbase will be ready to receive Commbase voice commands and Commbase terminal commands to assist you.

For more terminal options, run:

commbase -h

Check out the User's Guide for a complete list of options.

Installation

For information on how to install Commbase, follow the steps in the file INSTALL.

User's Guide

For information on how to set up, use, and program Commbase read the User's Guide.

Structure

This project is coded and organized like this:

/path/to/my/commbase/app
β”œβ”€β”€ assets  # Stores different types of assets, such as images, fonts, and ASCII art
β”‚   β”œβ”€β”€ ascii
β”‚   β”œβ”€β”€ docs  # Stores the Commbase User's Guide
β”‚   β”‚   └── images
β”‚   β”œβ”€β”€ fonts
β”‚   β”œβ”€β”€ icons
β”‚   └── images
β”œβ”€β”€ bundles  # External software bundle and external asset bundle
β”‚   β”œβ”€β”€ commbase-data-exchange
β”‚   β”‚   β”œβ”€β”€ client
β”‚   β”‚   β”‚   └── templates
β”‚   β”‚   └── server
β”‚   β”‚       β”œβ”€β”€ client_data
β”‚   β”‚       └── templates
β”‚   β”œβ”€β”€ commbase-llm-google-gemini-p
β”‚   β”œβ”€β”€ commbase-llm-meta-llama-p
β”‚   β”œβ”€β”€ commbase-llm-openai-gpt-p
β”‚   β”œβ”€β”€ commbase-recorder-transmitter-b
β”‚   β”œβ”€β”€ commbase-recorder-transmitter-s
β”‚   β”œβ”€β”€ commbase-stt-whisper-proactive-p
β”‚   β”‚   └── examples
β”‚   β”œβ”€β”€ commbase-stt-whisper-reactive-p
β”‚   β”‚   β”œβ”€β”€ client_data
β”‚   β”‚   └── examples
β”‚   β”œβ”€β”€ commbase-tts-gTTS
β”‚   β”œβ”€β”€ commbase-tts-pyttsx3
β”‚   └── libcommbase
β”‚       β”œβ”€β”€ examples
β”‚       β”œβ”€β”€ libcommbase
β”‚       β”‚   β”œβ”€β”€ interactive
β”‚       β”‚   └── routines
β”‚       └── resources
β”‚           β”œβ”€β”€ bundles
β”‚           β”‚   └── sounds
β”‚           └── i18n
β”‚               β”œβ”€β”€ control_patterns
β”‚               β”‚   └── openai_whisper_models
β”‚               β”‚       β”œβ”€β”€ base
β”‚               β”‚       └── ...
β”‚               β”œβ”€β”€ discourses
β”‚               β”œβ”€β”€ log_messages
β”‚               └── skill_patterns
β”‚                   └── openai_whisper_models
β”‚                       β”œβ”€β”€ base
β”‚                       └── ...
β”œβ”€β”€ certificates  # Stores the security certificates
β”œβ”€β”€ config  # Stores the configuration file
β”œβ”€β”€ data  # Stores the voice recognition model results and other data files
β”œβ”€β”€ env  # Stores the environment file
β”œβ”€β”€ history  # Stores the Commbase commands history
β”œβ”€β”€ i18n  # Stores resources related to localization and internationalization
β”‚   β”œβ”€β”€ discourses
β”‚   └── log_messages
β”œβ”€β”€ log  # Stores the log messages
β”œβ”€β”€ screenshots  # Stores the image commbase.png
β”œβ”€β”€ scripts  # Stores the scripts for deploying and configuring Commbase, and a few utils
β”‚   β”œβ”€β”€ configuration
β”‚   β”‚   β”œβ”€β”€ install_commbase_executable
β”‚   β”‚   └── reset_commbase.conf
β”‚   β”œβ”€β”€ deployment
β”‚   └── utilities
β”‚       β”œβ”€β”€ back-up
β”‚       └── bundles
β”‚           └── vu-meter
β”œβ”€β”€ src  # This directory contains user-generated source code
β”‚   β”œβ”€β”€ client
β”‚   β”‚   β”œβ”€β”€ assets  # Stores different types of assets, such as images, fonts, and ASCII art
β”‚   β”‚   β”‚   β”œβ”€β”€ ascii
β”‚   β”‚   β”‚   └── docs  # Stores your app User's Guide
β”‚   β”‚   β”œβ”€β”€ bundles
β”‚   β”‚   β”‚   β”œβ”€β”€ audiobooks
β”‚   β”‚   β”‚   β”‚   └── Robinson_Crusoe
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   β”œβ”€β”€ config
β”‚   β”‚   β”œβ”€β”€ i18n
β”‚   β”‚   β”‚   β”œβ”€β”€ discourses
β”‚   β”‚   β”‚   β”œβ”€β”€ log_messages
β”‚   β”‚   β”‚   └── skill_patterns
β”‚   β”‚   β”‚       └── openai_whisper_models
β”‚   β”‚   β”‚           β”œβ”€β”€ base
β”‚   β”‚   β”‚           └── ...
β”‚   β”‚   β”œβ”€β”€ log
β”‚   β”‚   └── serial_communication
β”‚   β”‚       β”œβ”€β”€ arduino
β”‚   β”‚       β”‚   β”œβ”€β”€ arduino_0
β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ commbase_hardware_notifications
β”‚   β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ speech_to_text_engine_component
β”‚   β”‚       β”‚   β”‚   β”‚   └── ...
β”‚   β”‚       β”‚   β”‚   └── ...
β”‚   β”‚       β”‚   └── ...
β”‚   β”‚       └── ...
β”‚   β”œβ”€β”€ server
β”‚   β”‚   └── skills_db
β”‚   β”‚       β”œβ”€β”€ arduino
β”‚   β”‚       β”œβ”€β”€ bash
β”‚   β”‚       β”‚   └── f
β”‚   β”‚       β”‚       β”œβ”€β”€ firefox
β”‚   β”‚       β”‚       └── ...
β”‚   β”‚       β”œβ”€β”€ c++
β”‚   β”‚       β”œβ”€β”€ java
β”‚   β”‚       β”œβ”€β”€ multi-lang
β”‚   β”‚       β”œβ”€β”€ nodejs
β”‚   β”‚       β”œβ”€β”€ python
β”‚   β”‚       β”œβ”€β”€ rust
β”‚   β”‚       └── ...
β”‚   └── tests
β”œβ”€β”€ tests  # Stores the Commbase tests
└── user  # Stores previous chat conversations and other user files
    β”œβ”€β”€ analysis_zone
    └── conversation_logs

Approach and Philosophy

Our software embraces minimalism, the DRY (Don't Repeat Yourself) principle, and KISS (Keep It Simple, Stupid), ensuring streamlined features and eliminating unnecessary repetition for improved efficiency and simplicity, in line with the Unix philosophy.

We adhere to industry-standard best practices in software engineering for design and architecture, ensuring the development of robust, scalable, and maintainable systems that meet the highest quality standards and user expectations.

The open-source nature of our project empowers developers to extend its capabilities by adding more bundles or writing their own code, fostering a collaborative and adaptable environment beyond voice commands.

Additionally, our modular design facilitates flexible customization and extension of functionalities according to user needs. You can also incorporate your unique serial and wireless hardware into our platform, enabling tailored communication and interaction with devices for enhanced versatility and functionality.

Contributing

To contribute to Commbase, follow these steps:

  1. Fork this repository.
  2. Create a branch: git checkout -b <branch_name>.
  3. Make your changes and commit them: git commit -m '<commit_message>'
  4. Push to the original branch: git push origin <project_name>/<location>
  5. Create the pull request.

Alternatively see the GitHub documentation on creating a pull request.

Contributors

Thanks to the following people who have contributed to this project:

Contact

If you want to contact us you can reach us at stv.herrera@gmail.com.

License

This project uses the following license: License.