{"id":22937642,"url":"https://github.com/decipher2k/windows-ai-assistant","last_synced_at":"2026-05-01T13:33:07.337Z","repository":{"id":267952990,"uuid":"901968280","full_name":"decipher2k/Windows-AI-Assistant","owner":"decipher2k","description":"A voice controlled AI Assistant for Windows featuring ChatGPT and Groq","archived":false,"fork":false,"pushed_at":"2024-12-13T12:49:55.000Z","size":143,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-13T13:37:42.093Z","etag":null,"topics":["ai","assistant","chatgpt","groq","voice-recognition"],"latest_commit_sha":null,"homepage":"https://waia.online/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decipher2k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-11T16:45:56.000Z","updated_at":"2024-12-13T12:49:59.000Z","dependencies_parsed_at":"2024-12-13T13:38:00.397Z","dependency_job_id":"7b575d24-a6f0-470e-9923-8fe15c57d8e7","html_url":"https://github.com/decipher2k/Windows-AI-Assistant","commit_stats":null,"previous_names":["decipher2k/windows-ai-assistant"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decipher2k%2FWindows-AI-Assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decipher2k%2FWindows-AI-Assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decipher2k%2FWindows-AI-Assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decipher2k%2FWindows-AI-Assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decipher2k","download_url":"https://codeload.github.com/decipher2k/Windows-AI-Assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237645205,"owners_count":19343748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","chatgpt","groq","voice-recognition"],"created_at":"2024-12-14T12:13:53.259Z","updated_at":"2026-05-01T13:33:07.297Z","avatar_url":"https://github.com/decipher2k.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ch1\u003eWAIA, the Windows AI Assistant\u003c/h1\u003e\u003cbr\u003e\n\u003cbr\u003e\n\u003cb\u003eA voice-controlled AI Assistant for Microsoft Windows\u003c/b\u003e\u003cbr\u003e\n\u003cbr\u003e\n\u003cb\u003eNew: WAIA [Cloudless] which runs 100% on the local machine for increased privacy.\u003cbr\u003e\u003cbr\u003e\n\u003cb\u003eSpeech recognition does now detect longer sentences. Groq quota draining has been prevented. Chat history added. It is now possible to do real conversations.\u003c/b\u003e\u003cbr\u003e\n\u003cbr\u003e\n\u003cb\u003eThe Groq speech detection is now independent of background noise without speech. The Azure speech recognition has been disabled until quota draining has been repaired.\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cb\u003ePlease note that WAIA is just a client that unifies different AI services. The program itself does not provide any AI capabilities.\u003c/b\u003e\u003cbr\u003e\n\u003cb\u003eWindows control is done using plugins. So you will need plugins for it.\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n\u003cb\u003eOnly use Plugins from the WAIA GitHub repository. Otherwise, they could contain malware.\u003c/b\u003e\u003cbr\u003e\nThe URL of the repository is https://github.com/decipher2k/Windows-AI-Assistant.\u003cbr\u003e\u003cbr\u003e\n\u003ch2\u003eFeatures:\u003c/h2\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003eSeamlessly integrates with ChatGPT and Groq\u003c/li\u003e\n\u003cli\u003eAdvanced voice recognition powered by Groq\u003c/li\u003e\n\u003cli\u003eVoice controlled interaction with Windows\u003c/li\u003e\n\u003cul\u003e\u003cli\u003ePlugin system\u003c/li\u003e\n\u003cli\u003eProgram starter using key sentences\u003c/li\u003e\n\u003cli\u003eWebhooks using key sentences for integration with IFTTT (home automation etc.) - https://ifttt.com/ \u003cbr\u003e\n  (untested)\u003c/li\u003e\n\u003c/ul\u003e\n  \u003c/li\u003e\n  \u003c/ul\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003ch2\u003eDownload:\u003c/h2\u003e\nhttps://github.com/decipher2k/Windows-AI-Assistant/releases\u003cbr\u003e\u003cbr\u003e\n\u003ch1\u003eUsage\u003c/h1\u003e\n\u003cbr\u003e\nAfter starting the application, a tray icon is being added. Doubleclick on it to configure the settings.\u003cbr\u003e\nSetup the API keys and other informations using the \"Settings\" buttons.\u003cbr\u003e\n\u003cbr\u003e\nA green point on the tray icon means that speech has been recorded.\u003cbr\u003e\nA blue point means that the recorded text has been sent to the Chat AI.\n\u003cbr\u003e\n\u003cbr\u003e\nTo stop the voice output, right click the tray icon and click on \"Cancel\".\n\u003cbr\u003e\u003cbr\u003e\n                                                                 \nHow to allways show a tray icon:\u003cbr\u003e\nhttps://www.lifewire.com/show-or-hide-icons-in-system-tray-in-windows-10-5115219 \u003cbr\u003e\n\u003ch3\u003eChat History:\u003c/h3\u003e\nThe chat history contains the last 3 messages. Thus you can really chat with the AI.\u003cbr\u003e\n\u003ch3\u003eKeyword:\u003c/h3\u003e\nYou can set a custom keyword for starting speech recognition. Default is \"Computer\".\u003cbr\u003e\nThus you can say \"Computer, who was John F. Kennedy\" to get informations about John F. Kennedy.\u003cbr\u003e\n\u003cbr\u003e\n\u003cs\u003e\u003ch3\u003eKeyword Detection:\u003c/h3\u003e\nThere is now a keyword detection using Windows Speech Recognition.\u003cbr\u003e\nIt can be good to use it in a noisy environment, like when watching TV or listening to music, to prevent speech recognition quota draining.\u003cbr\u003e\nKeyword detection sets the keyword to \"Computer\", which can't be changed. Reliability differes between systems.\u003cbr\u003e\u003cbr\u003e\nRecognition quality can be enhaced by training:\u003cbr\u003e\nhttps://www.tenforums.com/tutorials/120674-add-delete-change-speech-recognition-profiles-windows-10-a.html\u003cbr\u003e\nTo access the control panel in Windows 11, hit the \"Windows\" key and enter \"control panel\".\u003cbr\u003e\u003c/s\u003e\n\u003cbr\u003e\n\u003ch3\u003eWindows Sound Recording Level:\u003c/h3\u003e\nIf the voice recognition is active too often without you saying anything, or no speech is being detected, you can try to adjust the microphone recording level in the Windows settings.\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eSuggested Services:\u003c/h3\u003e\nI had good experiences with the following setup.\u003cbr\u003e\nAll suggested services are available for free.\u003cbr\u003e\n\u003cbr\u003e\nVoice recognition: Groq.\u003cbr\u003e\nChat AI: Groq ist the fastest one.\u003cbr\u003e\nVoice Output: Windows Speech until Google Cloud AI has been implemented.\u003cbr\u003e\n\u003cbr\u003e\n\u003ch2\u003eProgram Starter\u003c/h2\u003e\nThe program starter can be configured using the \"Commands\" button.\n\u003cbr\u003e\u003cbr\u003e\nThe first column defines whether to use speech recognition or the chat AI to start the plugin.\u003cbr\u003e\nSpeech recognition will listen for the exact sentence.\u003cbr\u003e\nUsing the Chat AI allows you to vary sentences. The program does automatically precede the sentence with \"if the user asks for\". Thus, the sentence \"starting windows explorer\" will allow you to say either \"start windows explorer\", or \"run windows explorer\" etc.\u003cbr\u003e\n\u003cb\u003eChat AI commands have not been implemented yet.\u003c/b\u003e\u003cbr\u003e\nThe third column is the program file that should be started.\u003cbr\u003e\nThe fourth column allows you to set command parameters.\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003eWebhooks\u003c/h2\u003e\nWebhooks can be configured using the \"Commands\" button.\u003cbr\u003e\nThey can be used to raise events in webapplications, for example IFTTT. IFTTT can be used to control home automation systems etc.\u003cbr\u003e\n\n\u003cbr\u003e\u003cbr\u003e\nThe first column defines whether to use speech recognition or the chat AI to execute the webhook.\u003cbr\u003e\nSpeech recognition will listen for the exact sentence.\u003cbr\u003e\nUsing the Chat AI allows you to vary sentences. The program does automatically precede the sentence with \"if the user asks for\". Thus, the sentence \"turning on the light\" will allow you to say either \"turn on the light\", or \"switch on the light\" etc.\u003cbr\u003e\n\u003cb\u003eChat AI commands have not been implemented yet.\u003c/b\u003e\u003cbr\u003e\nThe second column defines the sentence that the program uses to recognize the command.\u003cbr\u003e\nThe third column is the URL of the webhook.\u003cbr\u003e\nThe fourth column defines whether to use HTTP POST or HTTP GET. For most webhooks, this will be HTTP GET.\u003cbr\u003e\nThe fifth colummn defines parameters to the webhook.\u003cbr\u003e\nIn case of GET messages, these parameters will be appended to the URL, for example \"?light=on\" will lead to \"https://example.com/webhook?light=on\".\u003cbr\u003e\nIn case of POST messages, these parameters will define the data that is being sent with the POST request, for example JSON data.\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003ePlugins\u003c/h2\u003e\nPlugins can be configured using the \"Commands\" button.\n\u003cbr\u003e\u003cbr\u003e\nThe media player plugin is included in the release of the program.\u003cbr\u003e\u003cbr\u003e\nThe first column defines whether to use speech recognition or the chat AI to start the plugin.\u003cbr\u003e\nSpeech recognition will listen for the exact sentence.\u003cbr\u003e\nUsing the Chat AI allows you to vary sentences. The program does automatically precede the sentence with \"if the user asks for\". Thus, the sentence \"playing media\" will allow you to say either \"play media\", or \"play the song\" etc.\u003cbr\u003e\n\u003cb\u003eChat AI commands have not been implemented yet.\u003c/b\u003e\u003cbr\u003e\nThe second column defines the sentence that the program uses to recognize the command.\u003cbr\u003e\nThe third column defines the name of the plugin DLL.\u003cbr\u003e\nThe following columns are there to parametrize the plugin. They do differ from plugin to plugin. Please read the plugin's manual for more information.\u003cbr\u003e\n\u003cb\u003eOnly use Plugins from this GitHub repository. Otherwise, they may containt malware.\u003c/b\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003ch2\u003eThe [TEXT] variable\u003c/h2\u003e\nWhenever you enter the token [TEXT] in a parameter of the commands section, the token will be replaced with the text that has been said after the command.\u003cbr\u003e\nFor example \"Create a note: Shopping\" using the key sentence \"Create a note: [TEXT]\" will pass the word \"Shopping\" instead of the [TEXT] token to a plugin, a webhook, or a program.\u003cbr\u003e\nThis will only work with Speech Recognition commands, not with Chat AI ones.\u003cbr\u003e\n\n\u003ch1\u003eSpeech recognition\u003c/h1\u003e\n\u003ch3\u003eGroq Speech Recognition:\u003c/h3\u003e\nGroq can be found at https://groq.com\u003cbr\u003e\nThe API keys can be created at https://console.groq.com/keys \u003cbr\u003e\n\u003cbr\u003e\n\u003ch1\u003eAI Chat\u003c/h1\u003e\n\u003ch3\u003eChatGPT:\u003c/h3\u003e\nhttps://medium.com/latinxinai/how-to-get-api-key-for-chat-gpt-3-5-or-4-0-fce40b35aa00 \u003cbr\u003e\n\u003cb\u003eYou will need ChatGPT API credits, not ChatGPT Plus!\u003c/b\u003e\u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eGroq LLM API:\u003c/h3\u003e\nGroq can be found at https://groq.com \u003cbr\u003e\nThe API keys can be created at https://console.groq.com/keys\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ch1\u003eSpeech Synthesis\u003c/h1\u003e\n\u003ch3\u003eElevenlabs:\u003c/h3\u003e\nLog in to your Elevenlabs account.\u003cbr\u003e\nIn the top-right corner, click on your profile icon \u003e Profile.\u003cbr\u003e\nNext to the API Key field, click the eye icon to view and copy your API key and store it in a safe place.\u003cbr\u003e\nPlease note: The \"voice\" field referes to the name of the voice, not to its ID.\u003cbr\u003e\n\u003ch3\u003eWindows Speech Synthesis:\u003c/h3\u003e\nAverage Quality.\u003cbr\u003e\nYou may need to set a voice according to your language in the settings.\n\u003cbr\u003e\n\u003ch1\u003eCosts\u003c/h1\u003e\u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eSpeech Recognition - one of the following:\u003c/h3\u003e\u003cbr\u003e\n-Groq (available for free, usage limits, fast)\u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eAI Chat - one of the following:\u003c/h3\u003e\u003cbr\u003e\n-ChatGPT (about 10$/month)\u003cbr\u003e\n-Groq LLM API (available for free, usage limits, fast) \u003cbr\u003e\n\u003cbr\u003e\n\u003ch3\u003eSpeech output - one of the following:\u003c/h3\u003e\u003cbr\u003e\n-Microsoft Windows Speech (free, average quality)\u003cbr\u003e\n-Elevenlabs (about 10$-20$/month, good quality)\u003cbr\u003e\n\u003cbr\u003e\nPlease note that prices are dependent on actual usage and may vary.\u003cbr\u003e\u003cbr\u003e\n\u003ch2\u003eWriting a plugin\u003c/h2\u003e\u003cbr\u003e\nTo write a plugin, add \"WAIA Plugin.dll\" to a new Visual Studio 2022 DotNet 8.0 class library project, implement the interface IWAIAPlugin and the following method:\u003cbr\u003e\u003cbr\u003e      \npublic String RunPlugin(String text, String[] parameters);\u003cbr\u003e\u003cbr\u003e\nThe parameter \"String text\" is the spoken input.\u003cbr\u003e\nThe parameter \"String[] parameters\" allows you to pass parameters to the plugin.\u003cbr\u003e\u003cbr\u003e\nThe return value of the function will be sent to the speech synthesis engine.\u003cbr\u003e\nIf the third parameter of \"String[] parameters\" is \"AI\", the return value of the function will be sent to the Chat AI.\u003cbr\u003e\n\u003cbr\u003e\n\u003ch1\u003eTroubleshooting\u003c/h1\u003e\nIf the speech doesn't get detected, try the following:\u003cbr\u003e\n-Adjust the microphone level of Windows\u003cbr\u003e\n-Enable online speech recognition in Windows settings\u003cbr\u003e\n-Speak slow and clearly\u003cbr\u003e\u003cbr\u003e\n\u003ch1\u003ePlanned Features\u003c/h1\u003e\nMore Plugins for Windows\u003cbr\u003e\n\u003cul\u003e\u003cli\u003eDictation\u003c/li\u003e\n\u003cli\u003e\u003cs\u003eSound Volume\u003c/s\u003e\u003c/li\u003e\n\u003cli\u003eMaximizing/Minimizing/Closing windows\u003c/li\u003e\n\u003cli\u003eAlt+Tab\u003c/li\u003e\n\u003cli\u003eShutdown/Restart\u003c/li\u003e  \n\u003cli\u003eMacros\u003c/li\u003e  \n\u003c/ul\u003e\nMore Services\u003cbr\u003e\n\u003cul\u003e\u003cli\u003eClaude\u003c/li\u003e\n\u003cli\u003eMicrosoft Chat AI\u003c/li\u003e\n\u003cli\u003eMicrosoft Azure Cortex Speech Recognition\u003c/li\u003e\n\u003cli\u003eGoogle Speech Synthesis\u003c/li\u003e\n\u003cli\u003eGoogle AI\u003c/li\u003e\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecipher2k%2Fwindows-ai-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecipher2k%2Fwindows-ai-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecipher2k%2Fwindows-ai-assistant/lists"}