From 2601a264f2d73ac47b463fdf3e7c4b7888b81c3e Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 27 May 2024 20:02:23 +0200 Subject: [PATCH 01/21] Added a banner for the start page --- app/MindWork AI Studio/Components/Pages/Home.razor | 4 +--- app/MindWork AI Studio/wwwroot/svg/banner.svg | 1 + media/Banners.ai | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 app/MindWork AI Studio/wwwroot/svg/banner.svg create mode 100644 media/Banners.ai diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index 8dcabea..e68ac6e 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -1,5 +1,3 @@ @page "/" -Home - -

Hello :)

\ No newline at end of file + diff --git a/app/MindWork AI Studio/wwwroot/svg/banner.svg b/app/MindWork AI Studio/wwwroot/svg/banner.svg new file mode 100644 index 0000000..116f230 --- /dev/null +++ b/app/MindWork AI Studio/wwwroot/svg/banner.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/media/Banners.ai b/media/Banners.ai new file mode 100644 index 0000000..fdb0fb2 --- /dev/null +++ b/media/Banners.ai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643ff1ec3e586883873a1c0b4a81fe7f63be000245ad99ddca90bbc3b138437b +size 259110 From 095689e0fe66af50ab3bdee00954248863a24e8e Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 27 May 2024 20:02:57 +0200 Subject: [PATCH 02/21] Formatting --- app/MindWork AI Studio/Chat/ContentBlockComponent.razor | 1 - 1 file changed, 1 deletion(-) diff --git a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor index b66eadb..75877da 100644 --- a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor +++ b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor @@ -44,7 +44,6 @@ } else { - } } From 4d5a46038c330bcef804388e8b68e601209e046f Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 12:37:29 +0200 Subject: [PATCH 03/21] Fixed viewport --- app/MindWork AI Studio/wwwroot/svg/banner.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/wwwroot/svg/banner.svg b/app/MindWork AI Studio/wwwroot/svg/banner.svg index 116f230..e2130e7 100644 --- a/app/MindWork AI Studio/wwwroot/svg/banner.svg +++ b/app/MindWork AI Studio/wwwroot/svg/banner.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 004285270695fc776c648a19abea4e261df56073 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 18:31:08 +0200 Subject: [PATCH 04/21] Unified about page content into expansion panels --- .../Components/Pages/About.razor | 48 +++++++++---------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/app/MindWork AI Studio/Components/Pages/About.razor b/app/MindWork AI Studio/Components/Pages/About.razor index 9f389db..e78590c 100644 --- a/app/MindWork AI Studio/Components/Pages/About.razor +++ b/app/MindWork AI Studio/Components/Pages/About.razor @@ -3,30 +3,29 @@ About MindWork AI Studio - - -
- - Versions -
-
- - - The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.: - - - - - - - - - - - -
- + + +
+ + Versions +
+
+ + + The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.: + + + + + + + + + + + +
@@ -49,9 +48,6 @@ - - -
From 841600f1038880cf2fa1e5a7cff44cbacafabb6b Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 20:45:37 +0200 Subject: [PATCH 05/21] Spelling --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5d365b4..bd52f84 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # MindWork AI Studio MindWork AI Studio is a desktop application available for macOS, Windows, and Linux. It provides a unified chat interface for Large Language Models (LLMs). You bring your own API key for the respective LLM provider to use the models. The API keys are securely stored by the operating system. -**Key features:** +**Key advantages:** - **Free of charge**: The app is free to use, both for personal and commercial purposes. - **Independence**: Users are not tied to any single provider. The initial version supports OpenAI models (like GPT-4o, GPT-4, GPT-4 Turbo, etc.). Future versions will support other providers such as Mistral or Google Gemini. - **Unrestricted usage**: Unlike services like ChatGPT, which impose limits after intensive use, MindWork AI Studio offers unlimited usage through the providers API. - **Cost-effective**: You only pay for what you use, which can be cheaper than monthly subscription services like ChatGPT Plus, especially if used infrequently. But beware, here be dragons: For extremely intensive usage, the API costs can be significantly higher. Unfortunately, providers currently do not offer a way to display current costs in the app. Therefore, check your account with the respective provider to see how your costs are developing. When available, use prepaid and set a cost limit. -- **Privacy**: Data entered in the app is not used for training by the providers because we are using the API. +- **Privacy**: The data entered into the app is not used for training by the providers since we are using the provider's API. - **Flexibility**: Choose the provider and model best suited for your current task. **Ready to get started 🤩?** [Download the appropriate setup for your operating system here](https://github.com/MindWorkAI/AI-Studio/releases/latest). From 8924acb5c10db1fe0348a1d3a55b749fee92de00 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 20:46:26 +0200 Subject: [PATCH 06/21] Made the text justified & use auto-hyphen --- .../Components/Blocks/ThirdPartyComponent.razor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor b/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor index 193e7cf..ad6a6cd 100644 --- a/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor +++ b/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor @@ -11,7 +11,9 @@ - @this.UseCase + + @this.UseCase + License: @this.LicenseName From a990011311f046f8f642df74d235c4298f962de9 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 20:46:44 +0200 Subject: [PATCH 07/21] Added a mud text list component --- .../Components/Blocks/MudTextList.razor | 8 +++++++ .../Components/Blocks/MudTextList.razor.cs | 22 +++++++++++++++++++ app/MindWork AI Studio/wwwroot/app.css | 4 ++++ 3 files changed, 34 insertions(+) create mode 100644 app/MindWork AI Studio/Components/Blocks/MudTextList.razor create mode 100644 app/MindWork AI Studio/Components/Blocks/MudTextList.razor.cs diff --git a/app/MindWork AI Studio/Components/Blocks/MudTextList.razor b/app/MindWork AI Studio/Components/Blocks/MudTextList.razor new file mode 100644 index 0000000..2c42cc2 --- /dev/null +++ b/app/MindWork AI Studio/Components/Blocks/MudTextList.razor @@ -0,0 +1,8 @@ + + @foreach(var item in this.Items) + { + + @item.Header: @item.Text + + } + \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Blocks/MudTextList.razor.cs b/app/MindWork AI Studio/Components/Blocks/MudTextList.razor.cs new file mode 100644 index 0000000..4c94284 --- /dev/null +++ b/app/MindWork AI Studio/Components/Blocks/MudTextList.razor.cs @@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Components; + +namespace AIStudio.Components.Blocks; + +public partial class MudTextList : ComponentBase +{ + [Parameter] + public bool Clickable { get; set; } + + [Parameter] + public IList Items { get; set; } = []; + + [Parameter] + public string Icon { get; set; } = Icons.Material.Filled.CheckCircle; + + [Parameter] + public string Class { get; set; } = ""; + + private string Classes => $"mud-text-list {this.Class}"; +} + +public readonly record struct TextItem(string Header, string Text); \ No newline at end of file diff --git a/app/MindWork AI Studio/wwwroot/app.css b/app/MindWork AI Studio/wwwroot/app.css index ba1d244..4bb06c5 100644 --- a/app/MindWork AI Studio/wwwroot/app.css +++ b/app/MindWork AI Studio/wwwroot/app.css @@ -29,4 +29,8 @@ font-style: normal; font-weight: 700; src: url('fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +.mud-text-list .mud-list-item-icon { + margin-top: 4px; } \ No newline at end of file From c49d5aea930ec9790d75927912d39695fe670731 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 28 May 2024 20:47:11 +0200 Subject: [PATCH 08/21] Added introduction content --- .../Components/Pages/Home.razor | 43 +++++++++++++++++++ .../Components/Pages/Home.razor.cs | 18 ++++++++ 2 files changed, 61 insertions(+) create mode 100644 app/MindWork AI Studio/Components/Pages/Home.razor.cs diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index e68ac6e..392a239 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -1,3 +1,46 @@ @page "/" +Let's get started + + + + + +
+ + Introduction +
+
+ + + Welcome to MindWork AI Studio! + + + Thank you for considering MindWork AI Studio for your AI needs. This app is designed to help you harness + the power of Large Language Models (LLMs). Please note that this app doesn't come with an integrated + LLM. Instead, you will need to bring an API key from a suitable provider. + + + Here's what makes MindWork AI Studio stand out: + + + + We hope you enjoy using MindWork AI Studio to bring your AI projects to life! + + +
+ + + +
+ + Quick Start Guide +
+
+ + + +
+ +
\ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor.cs b/app/MindWork AI Studio/Components/Pages/Home.razor.cs new file mode 100644 index 0000000..756d5b9 --- /dev/null +++ b/app/MindWork AI Studio/Components/Pages/Home.razor.cs @@ -0,0 +1,18 @@ +using AIStudio.Components.Blocks; + +using Microsoft.AspNetCore.Components; + +namespace AIStudio.Components.Pages; + +public partial class Home : ComponentBase +{ + private static readonly TextItem[] ITEMS = + [ + new TextItem("Free of charge", "The app is free to use, both for personal and commercial purposes."), + new TextItem("Independence", "Users are not tied to any single provider. The initial version supports OpenAI models (like GPT-4o, GPT-4, GPT-4 Turbo, etc.). Future versions will support other providers such as Mistral or Google Gemini."), + new TextItem("Unrestricted usage", "Unlike services like ChatGPT, which impose limits after intensive use, MindWork AI Studio offers unlimited usage through the providers API."), + new TextItem("Cost-effective", "You only pay for what you use, which can be cheaper than monthly subscription services like ChatGPT Plus, especially if used infrequently. But beware, here be dragons: For extremely intensive usage, the API costs can be significantly higher. Unfortunately, providers currently do not offer a way to display current costs in the app. Therefore, check your account with the respective provider to see how your costs are developing. When available, use prepaid and set a cost limit."), + new TextItem("Privacy", "The data entered into the app is not used for training by the providers since we are using the provider's API."), + new TextItem("Flexibility", "Choose the provider and model best suited for your current task."), + ]; +} \ No newline at end of file From 11edd5827ec80dc1f58264789ba0117b8b08f857 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Wed, 29 May 2024 23:10:09 +0200 Subject: [PATCH 09/21] Fixed #54 --- .../Components/Pages/About.razor | 118 +++++++++--------- .../Components/Pages/Home.razor | 94 ++++++++------ 2 files changed, 116 insertions(+), 96 deletions(-) diff --git a/app/MindWork AI Studio/Components/Pages/About.razor b/app/MindWork AI Studio/Components/Pages/About.razor index e78590c..57b7021 100644 --- a/app/MindWork AI Studio/Components/Pages/About.razor +++ b/app/MindWork AI Studio/Components/Pages/About.razor @@ -3,60 +3,64 @@ About MindWork AI Studio - - - -
- - Versions -
-
- - - The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.: - - - - - - - - - - - -
- - -
- - Used Open Source Projects -
-
- - - - - - - - - - - - - - -
- - -
- - License: FSL-1.1-MIT -
-
- - - -
-
\ No newline at end of file +
+
+ + + +
+ + Versions +
+
+ + + The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.: + + + + + + + + + + + +
+ + +
+ + Used Open Source Projects +
+
+ + + + + + + + + + + + + + +
+ + +
+ + License: FSL-1.1-MIT +
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index 392a239..c2c950b 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -3,44 +3,60 @@ Let's get started - - - - -
- - Introduction -
-
- - - Welcome to MindWork AI Studio! - - - Thank you for considering MindWork AI Studio for your AI needs. This app is designed to help you harness - the power of Large Language Models (LLMs). Please note that this app doesn't come with an integrated - LLM. Instead, you will need to bring an API key from a suitable provider. - - - Here's what makes MindWork AI Studio stand out: - - - - We hope you enjoy using MindWork AI Studio to bring your AI projects to life! - - -
+
+
+ - - -
- - Quick Start Guide -
-
- + + +
+ + Introduction +
+
+ + + Welcome to MindWork AI Studio! + + + Thank you for considering MindWork AI Studio for your AI needs. This app is designed to help you harness + the power of Large Language Models (LLMs). Please note that this app doesn't come with an integrated + LLM. Instead, you will need to bring an API key from a suitable provider. + + + Here's what makes MindWork AI Studio stand out: + + + + We hope you enjoy using MindWork AI Studio to bring your AI projects to life! + + +
-
-
- -
\ No newline at end of file + + +
+ + Our vision +
+
+ + + +
+ + + +
+ + Quick Start Guide +
+
+ + + +
+ + +
+
\ No newline at end of file From ba1998645a9fb44a728870a04cd7efa08408088f Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 11:12:35 +0200 Subject: [PATCH 10/21] Disable scrolling on the top level --- app/MindWork AI Studio/Components/App.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/Components/App.razor b/app/MindWork AI Studio/Components/App.razor index 5176741..ae3b65b 100644 --- a/app/MindWork AI Studio/Components/App.razor +++ b/app/MindWork AI Studio/Components/App.razor @@ -15,7 +15,7 @@ - + From ab938b850221d67582081028a9d2298bb29a29a7 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 11:23:30 +0200 Subject: [PATCH 11/21] Removed the error page --- .../Components/Pages/Error.razor | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 app/MindWork AI Studio/Components/Pages/Error.razor diff --git a/app/MindWork AI Studio/Components/Pages/Error.razor b/app/MindWork AI Studio/Components/Pages/Error.razor deleted file mode 100644 index 30c1b33..0000000 --- a/app/MindWork AI Studio/Components/Pages/Error.razor +++ /dev/null @@ -1,38 +0,0 @@ -@page "/Error" -@using System.Diagnostics - -Error - -

Error.

-

An error occurred while processing your request.

- -@if (ShowRequestId) -{ -

- Request ID: @RequestId -

-} - -

Development Mode

-

- Swapping to Development environment will display more detailed information about the error that occurred. -

-

- The Development environment shouldn't be enabled for deployed applications. - It can result in displaying sensitive information from exceptions to end users. - For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development - and restarting the app. -

- -@code{ - - [CascadingParameter] - private HttpContext? HttpContext { get; set; } - - private string? RequestId { get; set; } - private bool ShowRequestId => !string.IsNullOrEmpty(RequestId); - - protected override void OnInitialized() => - RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; - -} \ No newline at end of file From cfd1b0d4481445505fc1eba13809904c26ef5221 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 11:24:00 +0200 Subject: [PATCH 12/21] Unified border settings --- .../Components/Blocks/ThirdPartyComponent.razor | 2 +- app/MindWork AI Studio/Components/Pages/About.razor | 6 +++--- app/MindWork AI Studio/Components/Pages/Home.razor | 6 +++--- app/MindWork AI Studio/Components/Pages/Settings.razor | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor b/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor index ad6a6cd..29c6e8c 100644 --- a/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor +++ b/app/MindWork AI Studio/Components/Blocks/ThirdPartyComponent.razor @@ -1,5 +1,5 @@ - + @this.Header diff --git a/app/MindWork AI Studio/Components/Pages/About.razor b/app/MindWork AI Studio/Components/Pages/About.razor index 57b7021..135eb22 100644 --- a/app/MindWork AI Studio/Components/Pages/About.razor +++ b/app/MindWork AI Studio/Components/Pages/About.razor @@ -6,7 +6,7 @@
- +
@@ -28,7 +28,7 @@ - +
@@ -50,7 +50,7 @@ - +
diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index c2c950b..301c580 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -7,7 +7,7 @@
- +
@@ -33,7 +33,7 @@ - +
@@ -45,7 +45,7 @@ - +
diff --git a/app/MindWork AI Studio/Components/Pages/Settings.razor b/app/MindWork AI Studio/Components/Pages/Settings.razor index 2820b10..47466fa 100644 --- a/app/MindWork AI Studio/Components/Pages/Settings.razor +++ b/app/MindWork AI Studio/Components/Pages/Settings.razor @@ -2,9 +2,9 @@ Settings - + Configured Providers - + From ebfa8367566c3c277aa608ece70970fdcefcdf51 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 11:30:49 +0200 Subject: [PATCH 13/21] Added benefit "no bloatware" --- app/MindWork AI Studio/Components/Pages/Home.razor.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor.cs b/app/MindWork AI Studio/Components/Pages/Home.razor.cs index 756d5b9..beaa051 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/Home.razor.cs @@ -14,5 +14,6 @@ public partial class Home : ComponentBase new TextItem("Cost-effective", "You only pay for what you use, which can be cheaper than monthly subscription services like ChatGPT Plus, especially if used infrequently. But beware, here be dragons: For extremely intensive usage, the API costs can be significantly higher. Unfortunately, providers currently do not offer a way to display current costs in the app. Therefore, check your account with the respective provider to see how your costs are developing. When available, use prepaid and set a cost limit."), new TextItem("Privacy", "The data entered into the app is not used for training by the providers since we are using the provider's API."), new TextItem("Flexibility", "Choose the provider and model best suited for your current task."), + new TextItem("No bloatware", "The app requires minimal storage for installation and operates with low memory usage. Additionally, it has a minimal impact on system resources, which is beneficial for battery life."), ]; } \ No newline at end of file From 987a24591d6ce526ae128a07983aca71adad40c5 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 12:27:25 +0200 Subject: [PATCH 14/21] Added the vision --- app/MindWork AI Studio/Components/Pages/Home.razor | 13 +++++++++++-- .../Components/Pages/Home.razor.cs | 12 +++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index 301c580..8d95f71 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -26,7 +26,7 @@ Here's what makes MindWork AI Studio stand out: - + We hope you enjoy using MindWork AI Studio to bring your AI projects to life! @@ -41,7 +41,16 @@
- + + Curious about the vision for MindWork AI Studio and what the future holds? We're here to address just that. Remember, this is a free, open-source project, meaning we can't guarantee when or if this vision will be fully realized. Our aim is to share our vision with you to help you decide whether this app is right for you. + + + So, where are we headed, and how could the app evolve in the coming months and years? The following list outlines our ideas, though not in order of priority: + + + + We hope this vision excites you as much as it excites us. Together, let's build a powerful and flexible AI toolkit to support all your creative, professional, and everyday needs with MindWork AI Studio. +
diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor.cs b/app/MindWork AI Studio/Components/Pages/Home.razor.cs index beaa051..3184802 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/Home.razor.cs @@ -6,7 +6,7 @@ namespace AIStudio.Components.Pages; public partial class Home : ComponentBase { - private static readonly TextItem[] ITEMS = + private static readonly TextItem[] ITEMS_ADVANTAGES = [ new TextItem("Free of charge", "The app is free to use, both for personal and commercial purposes."), new TextItem("Independence", "Users are not tied to any single provider. The initial version supports OpenAI models (like GPT-4o, GPT-4, GPT-4 Turbo, etc.). Future versions will support other providers such as Mistral or Google Gemini."), @@ -16,4 +16,14 @@ public partial class Home : ComponentBase new TextItem("Flexibility", "Choose the provider and model best suited for your current task."), new TextItem("No bloatware", "The app requires minimal storage for installation and operates with low memory usage. Additionally, it has a minimal impact on system resources, which is beneficial for battery life."), ]; + + private static readonly TextItem[] ITEMS_VISION = + [ + new TextItem("Meet your needs", "Whatever your job or task is, MindWork AI Studio aims to meet your needs: whether you're a project manager, scientist, artist, author, software developer, or game developer."), + new TextItem("One stop shop", "The app will strive to fulfill all your AI needs: text-generation AI (LLM), image-generation AI, audio-generation AI (text-to-speech, potentially even text-to-music), and audio input (transcription, dictation). When there's a provider and an API available, we'll try to integrate it."), + new TextItem("Local file system", "When you wish, we aim to integrate your local system. Local documents could be incorporated using Retrieval-Augmented Generation (RAG), and we could directly save AI-generated content to your file system."), + new TextItem("Local AI systems", "Want to use AI systems locally and offline? We aim to make that possible too."), + new TextItem("Your AI systems", "Prefer to run your AI systems with providers like replicate.com? We plan to support that!"), + new TextItem("Assistants", "We aim to integrate specialized user interfaces as assistants. For example, a UI specifically for writing emails, or one designed for translating and correcting text, and more."), + ]; } \ No newline at end of file From e7aab74112ac7be552c4b8ca8f4df08ea343b32e Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 21:00:10 +0200 Subject: [PATCH 15/21] Added a quick start guide --- .../Components/Pages/Home.razor | 7 +-- .../Components/Pages/Home.razor.cs | 48 +++++++++++++++++++ 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor b/app/MindWork AI Studio/Components/Pages/Home.razor index 8d95f71..d19c615 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor +++ b/app/MindWork AI Studio/Components/Pages/Home.razor @@ -1,4 +1,5 @@ @page "/" +@using AIStudio.Tools Let's get started @@ -44,11 +45,11 @@ Curious about the vision for MindWork AI Studio and what the future holds? We're here to address just that. Remember, this is a free, open-source project, meaning we can't guarantee when or if this vision will be fully realized. Our aim is to share our vision with you to help you decide whether this app is right for you. - + So, where are we headed, and how could the app evolve in the coming months and years? The following list outlines our ideas, though not in order of priority: - + We hope this vision excites you as much as it excites us. Together, let's build a powerful and flexible AI toolkit to support all your creative, professional, and everyday needs with MindWork AI Studio. @@ -62,7 +63,7 @@
- +
diff --git a/app/MindWork AI Studio/Components/Pages/Home.razor.cs b/app/MindWork AI Studio/Components/Pages/Home.razor.cs index 3184802..dc0a08d 100644 --- a/app/MindWork AI Studio/Components/Pages/Home.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/Home.razor.cs @@ -26,4 +26,52 @@ public partial class Home : ComponentBase new TextItem("Your AI systems", "Prefer to run your AI systems with providers like replicate.com? We plan to support that!"), new TextItem("Assistants", "We aim to integrate specialized user interfaces as assistants. For example, a UI specifically for writing emails, or one designed for translating and correcting text, and more."), ]; + + private const string QUICK_START_GUIDE = + """ + Ready to dive in and get started with MindWork AI Studio? This quick start guide will help you set up everything you need to start using the app. + + ## Step 1: Create an Account with OpenAI + 1. Go to [OpenAI's platform](https://platform.openai.com/). + 2. Click on "Sign up" and follow the instructions provided. + + ## Step 2: Obtain an API Key + 1. After creating your OpenAI account, ensure you have a project named "default". + 2. If you want, you can create a new project by clicking "Create project". + 3. Navigate to a project of your choice, then click on "API keys" in the left-hand navigation menu. + 4. You might need to validate your phone number. Click "Start verification" and follow the instructions. + 5. Once verified, click "Create new secret key" to generate a new API key for the selected project. + 6. Name your key something descriptive like "AI Studio Laptop." + 7. Copy the displayed secret key. Remember, you will not be able to see this key again. + 8. Store it in a password manager like [KeePassXC](https://keepassxc.org). + 9. **Important:** Treat your API key like a secret password. Anyone with access to your key can use OpenAI's systems **at your expense**. **Do not share it with anyone!** + + ## Step 3: Add OpenAI as a Provider in MindWork AI Studio + 1. Go to the settings section in MindWork AI Studio. + 2. Click "Add Provider" and select OpenAI as the provider. + 3. Paste your API key into the corresponding field. + + ## Step 4: Load OpenAI Models + 1. Ensure you have an internet connection and your API key is valid. + 2. Click "Reload" to retrieve a list of available OpenAI models. + 3. Select "gpt-4o" to use the latest model. + 4. Provide a name for this combination of provider, API key, and model. This is called the "instance name". For example, you can name it based on the usage context, such as "Personal OpenAI" or "Work OpenAI". + + ## Step 5: Save the Provider + 1. Click "Add" to save the provider. + 2. Depending on your operating system and settings, you may need to enter your login password. This is required to store and access your API key securely. + + ## Step 6: Add Funds to Your OpenAI Account + To utilize OpenAI's services, you need to add funds to your account. It's best to use the prepaid method to avoid high bills and set your budget. Navigate to the "Billing" section. Here, you can see your current balance. Click on "Add to credit balance" to deposit an amount. A balance of $10 is sufficient to start. + + ## Step 7: Start Chatting with the AI + 1. Switch to the chat section in MindWork AI Studio. + 2. Select your provider from the dropdown menu at the top. + 3. Enter your question or message in the input field below to start your first chat with the AI. + + ## Additional Resources + There are also video tutorials on how to obtain your OpenAI API key. One example is this video by Anders Jensen: [https://www.youtube.com/watch?v=OB99E7Y1cMA](https://www.youtube.com/watch?v=OB99E7Y1cMA). + + That's it! You're ready to explore and create with MindWork AI Studio. Enjoy your journey! + """; } \ No newline at end of file From f40216dcfa99d4c20788d250fd03c3c8972221fe Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 21:02:05 +0200 Subject: [PATCH 16/21] Added the 'no bloatware' section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd52f84..1c964df 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ MindWork AI Studio is a desktop application available for macOS, Windows, and Li - **Cost-effective**: You only pay for what you use, which can be cheaper than monthly subscription services like ChatGPT Plus, especially if used infrequently. But beware, here be dragons: For extremely intensive usage, the API costs can be significantly higher. Unfortunately, providers currently do not offer a way to display current costs in the app. Therefore, check your account with the respective provider to see how your costs are developing. When available, use prepaid and set a cost limit. - **Privacy**: The data entered into the app is not used for training by the providers since we are using the provider's API. - **Flexibility**: Choose the provider and model best suited for your current task. +- **No bloatware**: The app requires minimal storage for installation and operates with low memory usage. Additionally, it has a minimal impact on system resources, which is beneficial for battery life. **Ready to get started 🤩?** [Download the appropriate setup for your operating system here](https://github.com/MindWorkAI/AI-Studio/releases/latest). From 5bd05c1cc8a9f2a63b98927dc838d6f3322acaca Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 21:05:29 +0200 Subject: [PATCH 17/21] Fixed sys command due to latest NuShell update --- app/MindWork AI Studio/build.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/build.nu b/app/MindWork AI Studio/build.nu index ea6dbaa..b628b65 100755 --- a/app/MindWork AI Studio/build.nu +++ b/app/MindWork AI Studio/build.nu @@ -160,7 +160,7 @@ def get_rids []: nothing -> list { } def get_os []: nothing -> string { - (sys).host.name | str downcase + (sys host).name | str downcase } def update_build_time []: nothing -> nothing { From 4c9d671f2043c43bbf288b97bc5d9335e3938c3b Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 23:06:34 +0200 Subject: [PATCH 18/21] Improved .NET regex --- app/MindWork AI Studio/build.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/build.nu b/app/MindWork AI Studio/build.nu index b628b65..6a5fe27 100755 --- a/app/MindWork AI Studio/build.nu +++ b/app/MindWork AI Studio/build.nu @@ -192,7 +192,7 @@ def update_dotnet_version []: nothing -> nothing { mut dotnet_sdk_version = $meta_lines.3 mut dotnet_version = $meta_lines.4 - let dotnet_data = (^dotnet --info) | parse --regex '(?s).NET SDK:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+)' + let dotnet_data = (^dotnet --info) | parse --regex '.?NET SDK:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+)' let sdk_version = $dotnet_data.sdkVersion.0 let host_version = $dotnet_data.hostVersion.0 let sdkCommit = $dotnet_data.sdkCommit.0 From 900e979da4255d61ba47cea4ff054b964256db03 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Thu, 30 May 2024 23:06:48 +0200 Subject: [PATCH 19/21] Prepared next version --- metadata.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/metadata.txt b/metadata.txt index aac2df6..befbfd2 100644 --- a/metadata.txt +++ b/metadata.txt @@ -1,6 +1,6 @@ -0.4.7 -2024-05-26 08:48:48 UTC -147 +0.5.0 +2024-05-30 23:00:00 UTC +148 8.0.205 (commit 3e1383b780) 8.0.5 (commit 087e15321b) 1.78.0 (commit 9b00956e5) From 6b1b8ee52eb7951e60b488dd509533d85318e585 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 31 May 2024 10:57:06 +0200 Subject: [PATCH 20/21] Fixed parsing .NET versions, cf. https://github.com/nushell/nushell/issues/13011 --- app/MindWork AI Studio/build.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/MindWork AI Studio/build.nu b/app/MindWork AI Studio/build.nu index 6a5fe27..2d6e2da 100755 --- a/app/MindWork AI Studio/build.nu +++ b/app/MindWork AI Studio/build.nu @@ -192,7 +192,7 @@ def update_dotnet_version []: nothing -> nothing { mut dotnet_sdk_version = $meta_lines.3 mut dotnet_version = $meta_lines.4 - let dotnet_data = (^dotnet --info) | parse --regex '.?NET SDK:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+)' + let dotnet_data = (^dotnet --info) | collect | parse --regex '(?ms).?NET SDK:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P[0-9.]+).+Commit:\s+(?P[a-zA-Z0-9]+)' let sdk_version = $dotnet_data.sdkVersion.0 let host_version = $dotnet_data.hostVersion.0 let sdkCommit = $dotnet_data.sdkCommit.0 From b636b9d08c892e20ce3c869806c97b68a7c56f43 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 31 May 2024 10:58:29 +0200 Subject: [PATCH 21/21] Prepared next version --- metadata.txt | 2 +- runtime/Cargo.lock | 2 +- runtime/Cargo.toml | 2 +- runtime/tauri.conf.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/metadata.txt b/metadata.txt index befbfd2..b3ec3ec 100644 --- a/metadata.txt +++ b/metadata.txt @@ -6,4 +6,4 @@ 1.78.0 (commit 9b00956e5) 6.19.1 1.6.1 -9b36969c8b, dev debug +6b1b8ee52eb, dev debug diff --git a/runtime/Cargo.lock b/runtime/Cargo.lock index 984cfd2..44b11a6 100644 --- a/runtime/Cargo.lock +++ b/runtime/Cargo.lock @@ -2189,7 +2189,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mindwork-ai-studio" -version = "0.4.7" +version = "0.5.0" dependencies = [ "arboard", "flexi_logger", diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 4a49a05..5bedf94 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mindwork-ai-studio" -version = "0.4.7" +version = "0.5.0" edition = "2021" description = "MindWork AI Studio" authors = ["Thorsten Sommer"] diff --git a/runtime/tauri.conf.json b/runtime/tauri.conf.json index c967c4e..00faebd 100644 --- a/runtime/tauri.conf.json +++ b/runtime/tauri.conf.json @@ -6,7 +6,7 @@ }, "package": { "productName": "MindWork AI Studio", - "version": "0.4.7" + "version": "0.5.0" }, "tauri": { "allowlist": {