Giter Club home page Giter Club logo

newelle's Introduction

Newelle
Newelle - Your Ultimate Virtual Assistant

Download on Flathub Download on Flathub

Please Don't Theme

screenshot screenshot

Newelle is an advanced chat bot that aims to revolutionize your virtual assistant experience. Here's a concise overview of its key features:

Features

screenshot screenshot

  • File and System Management: Take control of your computer effortlessly. Newelle enables you to create folders, rename files, edit content, and access detailed file information, enhancing your overall productivity.

  • Code Execution and Collaboration: Execute Python code seamlessly within the chat interface. Collaborate on coding projects, seek assistance, and share code snippets effortlessly with Newelle.

  • Intuitive Graphical Interface: Enjoy a visually appealing interface with a sidebar for chat history and a file explorer panel. Drag and drop files and folders directly into the chat, streamlining your workflow.

  • Flexible Message Manipulation: Edit, continue, or regenerate messages easily. Right-click on a user's message to make quick modifications. Newelle grants you full control over your conversations.

  • Effortless Chat Management: Copy and save chat conversations effortlessly for future reference. Newelle automatically generates names for chat sessions, making organization a breeze.

screenshot screenshot

Installation and Getting Started

To start using our program, you have two options: compiling it through GNOME Builder or downloading the release from GitHub. Additionally, we have provided a limited version of the program on Flathub.

Compiling with GNOME Builder

  1. Install GNOME Builder on your system.
  2. Clone the Newelle repository from GitHub.
  3. Open the project in GNOME Builder and compile it.
  4. Once compiled, you can run the program from the compiled executable.

Downloading from GitHub

  1. Visit the Newelle GitHub repository.
  2. Navigate to the "Releases" section.
  3. Download the latest release package compatible with your operating system.
  4. Extract the downloaded package.
  5. Run the program from the extracted files.

Installing from Flathub

  1. Ensure you have Flatpak installed on your system.
  2. Install Newelle by executing: flatpak install flathub io.github.qwersyk.Newelle
  3. Once installed, you can launch Newelle.

Please note that the Flatpak version of Newelle has some limitations for security purposes. It can only access the .var/app/io.github.qwersyk.Newelle folder, and it can only run within the Flatpak sandboxed environment.

To extend the program's capabilities, follow these steps:

  1. Install Flatseal on your system.
  2. Launch Flatseal and locate "Newelle" in the application list.
  3. Enable the "All user files" permission for Newelle to access user files.
  4. To allow Newelle to run outside the Flatpak sandbox, enable the "Session Bus" permission and add a new talk with the name "org.freedesktop.Flatpak".
  5. Disable virtualization in the program settings to run Newelle outside the Flatpak sandbox.

Please note that by performing these steps, the program's security may be compromised as it gains access to your data and terminal. Although our program is open-source and can be verified for malicious actions, the models that can be used may be proprietary. We cannot guarantee where your chat data is sent or rule out the possibility of incorrect or malicious commands from the neural network. Please be careful when enabling these options.

By running the following command when launching the program, you can grant temporary access to memory and the console:flatpak run --talk-name=org.freedesktop.Flatpak --filesystem=home io.github.qwersyk.Newelle

newelle's People

Contributors

albanobattistella avatar francescocaracciolo avatar nokse22 avatar qwersyk avatar reinhart1010 avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

newelle's Issues

Problems with Newelle on Vanilla OS 2 Orchid

Hello qwersyk,

I'm writing to let you know about a problem I'm having with the Newelle app on Vanilla OS 2 Orchid.

Your application is extremely useful for Linux users, providing a wide range of functions, including file creation, system management, and Python code execution. However, I ran into a bug that prevents me from sending messages to the bot.

I have attached a screenshot of that error. I would appreciate it if you could investigate this issue and implement a solution as soon as possible.

I would also like to suggest better integration of Newelle with Vanilla OS 2 Orchid. The documentation available at https://docs.vanillaos.org/ could be a valuable resource to facilitate this integration.

I strongly believe that Newelle has the potential to be an exceptional virtual assistant for Linux users. With its unique extensions and advanced features, Newelle differentiates itself significantly from other available options.

I would like to request that you consider the following improvements:

  • Update Prioritization: Ensuring periodic updates to keep Newelle compatible with the latest versions of Vanilla OS.
  • Optimization for Vanilla OS: Adapting Newelle to the specifics of Vanilla OS 2 Orchid, providing a smoother and more integrated user experience.
  • Implementation of Advanced Commands: Extending Newelle functionality to include Vanilla OS specific commands such as power management, network configuration and peripheral device control.

I am convinced that implementing these suggestions will help strengthen Newelle's position as an essential tool for Linux users, providing them with a complete and intuitive solution for interacting with their operating system.

Thank you for your time and attention. I look forward to solving the problem with sending messages and implementing the suggested improvements.

Regards,
Raul Popescu

Add Text To Speech (TTS)

We should add Text To Speech (I would say disabled by default), offering different programs/APIs and languages to choose from as for user preference.
Some of the services/programs we may want to include:

From some programs, it probably is better to just call them outside of flatpak rather than adding more dependencies

File search causes app crash

Prompt

"List out all the PDFs in the Downloads folder"

Expected behaviour

A list of PDF files from the Downloads folder

Actual behaviour

App crash.

Not sure if this is helpful, but I see the following in the terminal as the app crashes

(newelle:2): Gtk-CRITICAL **: 02:32:29.828: gtk_text_attributes_ref: assertion 'values != NULL' failed
**
Gtk:ERROR:../gtk/gtktextlayout.c:1261:set_para_values: code should not be reached
Bail out! Gtk:ERROR:../gtk/gtktextlayout.c:1261:set_para_values: code should not be reached

Add speech to text

We can use SpeechRecognition library that supports a lot of services and looks pretty easy.
To enable speech recognition, we can add a microphone icon to hold or just click near the message box. It would be also nice to add something like keyword recognition to activate it.

Run locale models

This is an amazing application but it would be so much better if there would be the capability of running locale models, like this censoring is not a problem but mainly "openai" is not getting lists of files and so on.

Ability to see which commands will be run beforehand

Hello,

I just discovered this project and I think it's really cool.

The ability to run commands using the flatpak sandbox is really nice, but do you think it would be possible to have the option to see what command will be run in the console before clicking on a button to validate/cancel it?

It might be nice for people running commands without a sandbox, or just to check what is happening with the model (I'm sure nobody likes to get a rm -rf / or a fork bomb prompt-injected into their console, even in a sandbox).

Thanks again for the hard work!

appstream check fails

1/3 Validate desktop file          OK              0.02s
2/3 Validate schema file           OK              0.01s
3/3 Validate appstream file        FAIL            1.25s   exit status 1
>>> MALLOC_PERTURB_=252 /usr/bin/appstream-util validate data/io.github.qwersyk.Newelle.appdata.xml
―――――――――――――――――――――――――――――――――――――――――― ✀  ――――――――――――――――――――――――――――――――――――――――――
stdout:
data/io.github.qwersyk.Newelle.appdata.xml: FAILED:
• attribute-invalid     : <screenshot> height too large [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot1.png] maximum is 900px
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot1.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot1.png]
• style-invalid         : <caption> requires sentence case [chat page 1]
• attribute-invalid     : <screenshot> height too large [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot2.png] maximum is 900px
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot2.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/qwersyk/Newelle/master/data/screenshots/screenshot2.png]
• style-invalid         : <caption> requires sentence case [chat page 2]
• style-invalid         : <ul> cannot start a description [(null)]
• style-invalid         : Not enough <p> tags for a good description [0/1]
stderr:
Validation of files failed
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Summary of Failures:

3/3 Validate appstream file FAIL            1.25s   exit status 1

Ok:                 2   
Expected Fail:      0   
Fail:               1   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   

Custom prompts

Having fixed prompts causes these problems:

  • Some AI models we may want to add in the future support system prompts
  • Being the text almost all in English, often the assistant starts speaking it even if most of the conversation was in another language
  • If the user wants the AI to behave in a certain matter, it will often don't

Also, it would be just nice to have the user customize the prompt.
How I think we can integrate it:

  • We store the prompts in a json saved in a dconf string setting. I think that it is more clever than adding multiple dconf entries.
  • We add an actionrow in the prompt control section of the settings with a button that opens another window where the user can customize the prompts text

I think the latter is the best way since settings are becoming a bit too long and may overload the user with information.

[Feature Request] Implement BAI Chat API Key support.

Suggestion/Bug Fix

Proposal : Implement a system to allow BAI Chat to be connected to via an API Key.

Explanation : This would fix the current issues with BAI Chat and open the way to changing the BAI Chat model in the future.
I am currently unable to find the name of the BAI-Chat free model (and I am unsure if it even exists) in the BAI Chat documentation (https://docs.theb.ai/quickstart) but believe that adding API functionality will be beneficial in the future, particularly if we also were to implement the ability to choose the model.

(I will be trying to learn how to implement this myself but it will be a long time before I can manage such a thing. Thank you for making such an amazing project!)

Request to enable snap support

There are many hardcoded path in this app, which works only with snaps. Kindly generalise them and enable support for other packaging formats like snap. Patching them is often tough, cause we need to update the patch also with each release. Also, the flatpak spwan command is used which is unnecessary for Snaps.

Add a small presentation at the first start of Newelle

It would be nice to show the user a small presentation that explains Newelle's features and capabilities to the user. It should also show the prompt to give Newelle all the extra permissions to operate on the user system.

[BUG TRACKING] Various crashes

Hello,
I just discovered this app as a flatpak and it is awesome !
But unfortunately, the app just crah when I type certain prompts. For example :
list all files in /home/darkpepito result in a crash.
I use i3 as my main WM but I don't know if it's important.

Here are the specs of my machine :
Dell Latitude-E5470
CPU: Intel cored i5-6300U
GPU: Intel HD graphics 520
16 GB of RAM
OS: Zorin OS 16.2

Thank you for your time !

Support for local language models

It would be a good idea to add support for local language models.
We can think about using GPT4All bindings for python that looks pretty easy to use.

Also, we should add a voice in settings to make the user choose which language model to use, which prompt to use, and probably also a "download manager".

Chat not usable on ChromeOS's Debian

Installed on Linux on ChromeOS, that chat is deadly white, the menus seem fine.
Screenshot 2023-09-08 11 27 58

Can you please try to fix it? That would be worth a coffee.')

Bug

ok so i am in a debian vm.
i ran this promt:
image
it worked without any problems.
but than i got this without typing anything:
image
and this is not the user and the home folder.
Maybe i got the output of someones other promt?!

Replace Bai Chat with another default provider

Since Bai Chat now requires login, it can't be used anymore as default provider. We should find another provider that does not need additional steps to configure. There are many providers we can use from Gpt4Free, however, I'm not able to install g4f on build.
Alternatively, we can think about integrating one of those by ourselves or find another library that is easy to build

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.