QOwnNotes
QOwnNotes copied to clipboard
[FEATURE] Add "AI" support
I want to try to integrate support for the OpenAI Autocomplete API to see where that leads us. I mainly plan to expose that to the scripting engine, so users can come up with new ideas of what to do with it. 😊
Currently, you can create API Keys at https://console.groq.com/keys for free to play around.
Many thanks for this interesting development, Patrizio. Unfortunately, the AI toolbar doesn't function properly in my portable installation (24.5.4, with previously customised toolbars and layout). Only one button can be enabled manually (first row, far right):
On a clean portable install, this is how it looks with two drop-down lists (AI toolbar moved down to improve screenshot):
Is there anything I can do to make it work in my existing installation? In the AI toolbar settings, AI backend selector and AI model selector (which provide the drop-down lists) are not listed, and I couldn't find those in any of the toolbar items in the left column.
Update: the issue has been fixed by editing QOwnNotes.ini. I removed some lines (struck out below) and re-numbered (highlighted in bold) the subsequent lines:
~~5\name=aiToolbar~~ ~~5\title=AI toolbar~~ ~~5\items=@Invalid()~~ 6\name=windowToolbar 6\title=window toolbar 6\items=actionWorkspaceComboBox, actionStore_as_new_workspace, actionRemove_current_workspace, actionRename_current_workspace, actionSwitch_to_previous_workspace, actionUnlock_panels, , actionToggle_distraction_free_mode, action_Increase_note_text_size, action_Decrease_note_text_size, action_Reset_note_text_size 7\name=quitToolbar 7\title=quit toolbar 7\items=action_Export_note_as_PDF_markdown, actionExport_preview_HTML, customAction_pandocExport, action_Settings, action_Quit
New code:
5\name=windowToolbar
5\title=window toolbar
5\items=actionWorkspaceComboBox, actionStore_as_new_workspace, actionRemove_current_workspace, actionRename_current_workspace, actionSwitch_to_previous_workspace, actionUnlock_panels, , actionToggle_distraction_free_mode, action_Increase_note_text_size, action_Decrease_note_text_size, action_Reset_note_text_size
6\name=quitToolbar
6\title=quit toolbar
6\items=action_Export_note_as_PDF_markdown, actionExport_preview_HTML, customAction_pandocExport, action_Settings, action_Quit
If the toolbar gets too long it's just cut off, you can either move toolbar items to somewhere else or turn off toolbars you don't need.
It's not the length. I could move the AI toolbar item to the start, and it would still show only one button (after adding it manually — until then, there was no button on the AI toolbar).
Anyway, editing it out of the INI file fixed the issue.
Only one button? Did you try to move the enable button from the main menu to a toolbar manually? There is an AI toolbar with the button and two selectors, that just can be turned on...
There is an AI toolbar with the button and two selectors, that just can be turned on...
I turned it on after upgrading to 24.5.4, and only a blank toolbar (no icons) appeared.
Only one button? Did you try to move the enable button from the main menu to a toolbar manually?
Yes, and that's how I managed to show the 'database' button. The two dropdown list items are nowhere to be found.
I turned it on after upgrading to 24.5.4, and only a blank toolbar (no icons) appeared.
Really!? What OS and what Qt version do you have?
Yes, and that's how I managed to show the 'database' button. The two dropdown list items are nowhere to be found.
Yes, there is no drop-down in the main menu. Those are added in source code, like e.g. the workspace selector. 🤔
Really!? What OS and what Qt version do you have?
Windows 11, Qt 5.15.2 (official 24.5.2 build). Also occurs with Windows 10.
I just tried it on a Windows 8 VM. Updated from a year-old release of QOwnNotes. The AI Toolbar was intact for me, just cut off because there was no space to show it in full... I made a little room and the backend and model selector were present.
Is the toolbar layout/buttons customised?
The AI toolbar? No.
I customised other toolbars' buttons before the AI toolbar was introduced. Those changes are stored in the QOwnNotes.ini file. Maybe this is what resulted in my issue. After all, a clean portable install of 24.5.4 has no problems with the AI toolbar.
Hm, maybe... And you are really sure the toolbar was not just cut off? Your first screenshot doesn't really show that. 🤔
Definitely not cut off. Both rows are fully presented. I've highlighted the AI toolbar, showing the blank space where the drop-down lists should have been:
If there is not enough room, the whole widget will not be shown. I can't say if there was enough room on your screenshot.
I have a backup of the INI file before I modified it. Here are screenshots of the entire program using it:
Upon start-up, the AI Toolbar is hiding here:
AI toolbar moved up to the top row and expanded. No buttons are visible:
No button listed in the AI toolbar settings:
Enable AI support added from the Edit toolbar item list:
This is the result — one button:
Interesting, good to know. Thank you!
24.5.8
- You can now also select an AI model to use in the Edit main menu, instead of only in the AI toolbar (for #3026)
24.5.7
- There now is a new scripting command
script.inputDialogGetMultiLineTextto open an input dialog with a multi-line text edit- For more information please take a look at Opening an input dialog with a multi-line text edit
- The scripting command
script.inputDialogGetTextwill now return an empty string, ifCancelwas clicked orEscapewas pressed- For more information please take a look at Opening an input dialog with a line edit
24.5.5
- Try to fix build on very old build systems again (for #3026)
- The scripting command
script.inputDialogGetItemwill now return an empty string, ifCancelwas clicked orEscapewas pressed- For more information please take a look at Opening an input dialog with a select box
24.5.4
- Try to fix build on very old build systems (for #3026)
24.5.3
- QOwnNotes now has AI support, currently for Groq
(because you can get free API keys) and OpenAI
(for #3026)
- There is a new AI toolbar where can turn the service on, and you can select the AI backend and model
- As a first step, there is a new script
AI Autocompletionin the script repository that uses the selected AI model to autocomplete the current block in the note text edit - You can now add a OpenAI API key in the new AI settings
- Use the new
script.aiComplete(prompt)scripting command to your own imagination (see below)
- There now is a new scripting command
script.aiComplete(prompt)to use a completion prompt on the currently selected AI model (for #3026)- For more information please take a look at the Scripting documentation
- There now is a new scripting command
script.noteTextEditCurrentBlock()to get the text of the current block (for #3026)- For more information please take a look at the Scripting documentation
24.5.2
- The first part of the upcoming AI support is already visible
Also, see the blog post AI support was added to QOwnNotes.