Git Product home page Git Product logo

commbase's Introduction

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

Commbase Commbase

Commbase

Commbase is a flexible and extensible โœจ development framework โœจ designed to empower computers and other devices with cutting-edge conversational AI capabilities. It serves as both a module and library bundler, incorporating third-party LLMs to enable features such as "distributed AIs" or "multi-agent systems" (MAS). Commbase adapts across a diverse range of devices, from computers to robots, smart appliances, 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.

Detailed Feature Overview

Topic Features
๐Ÿ› ๏ธ Installation & Setup * Detailed installation steps, structure, and contribution guidelines are available on the GitHub repository, ensuring secure and transparent setup processes.
๐Ÿ’ป Commands & Interfaces * Help option to see available built-in commands for terminal use or development.
* Built-in commands support both voice and terminal command calls.
โš™๏ธ Control & Accessibility * Easy to start and stop using init systems, cron jobs, terminal commands, or voice commands.
* Terminal-based interface, with the option to create custom UIs.
๐Ÿ”€ Navigation * Seamlessly switch among windows using keybindings to access dashboards, server connections, etc.
๐Ÿ–ฅ๏ธ Multi-pane Support * Multiple panes are provided, covering functionalities like the chat room, STT engine (Speech-to-Text), server pane, client pane, and additional options.
๐Ÿ“‚ Custom Applications * Load custom terminal applications and seamlessly switch back to the chat room in the same pane.
๐ŸŽจ Personalization * Customizable application, user, and assistant names.
๐Ÿ“ Logging & Recording * Terminal and voice command recorder-transmitter area easy to install even in other hosts for remote control through networks, with enabled secure access control and logging.
๐Ÿ”ง Configuration * Effortlessly adjust and customize your settings with our platform's centralized configuration files. No code is required to configure built-in options.
๐Ÿ—ฃ๏ธ STT & TTS Engines * The STT Engine operates in Whisper reactive mode by default, with the ability to switch to Whisper proactive mode at any time.
* TTS Engines are dedicated for text-to-speech functionalities, so projects can effectively speak in various languages, enhancing accessibility and global reach.
๐ŸŒ Internationalization * Support to global audiences with seamless internationalization.
* Tailor your user experience by modifying i18n files to customize voice commands.
๐Ÿ“œ Custom Scripting * Effortlessly create custom server-side command scripts with a single file catalog database (scalable to any RDBMS), our up-to-date well-documented API, and JSON simplicity.
* Write command scripts in any programming language.
โ™ป๏ธ Reusable Functions * Access to a comprehensive library of reusable functions to enhance custom command scripts with streamlined efficiency and tailored functionalities.
๐Ÿค– Advanced Capabilities * LLMs (Large Language Models) integration.
* Enhanced assistant capabilities with advanced language understanding, including additional features like vision.
๐Ÿ“Š Activity Management * Efficiently manage your system's activity and user interactions by seamlessly integrating Commbase logs with custom app logs.
* Logs include customizable backups of past assistant-user conversations.
๐Ÿ›ก๏ธ Platform Stability * The use of Linux enhances the stability, reliability, and security of our software, ensuring robust and flexible performance in various environments.

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 embodies the minimalism and DRY (Don't Repeat Yourself) Unix philosophies, ensuring streamlined features and avoiding unnecessary repetition for enhanced efficiency and simplicity.

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.

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.

Moreover, you can incorporate your unique serial and wireless hardware into our platform, enabling tailored communication and interaction with devices, enhancing 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 [email protected].

License

This project uses the following license: License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.