mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-05 19:09:06 +00:00
Merge branch '43-add-start-page' into 'main'
Resolve "Add start page" Closes #43 and #54 See merge request products/mindwork-ai-studio!7
This commit is contained in:
commit
de985adea9
@ -1,13 +1,14 @@
|
|||||||
# MindWork AI Studio
|
# 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.
|
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.
|
- **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.
|
- **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.
|
- **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.
|
- **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.
|
- **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).
|
**Ready to get started 🤩?** [Download the appropriate setup for your operating system here](https://github.com/MindWorkAI/AI-Studio/releases/latest).
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
<MudMarkdown Value="@textContent.Text" OverrideHeaderTypo="@Markdown.OverrideHeaderTypo"/>
|
<MudMarkdown Value="@textContent.Text" OverrideHeaderTypo="@Markdown.OverrideHeaderTypo"/>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<HeadOutlet/>
|
<HeadOutlet/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="overflow: hidden;">
|
||||||
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)"/>
|
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)"/>
|
||||||
<script src="_framework/blazor.web.js"></script>
|
<script src="_framework/blazor.web.js"></script>
|
||||||
<script src="system/MudBlazor/MudBlazor.min.js"></script>
|
<script src="system/MudBlazor/MudBlazor.min.js"></script>
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
<MudList Clickable="@this.Clickable" Class="@this.Classes">
|
||||||
|
@foreach(var item in this.Items)
|
||||||
|
{
|
||||||
|
<MudListItem Icon="@this.Icon" Style="display: flex; align-items: flex-start;">
|
||||||
|
<MudText Typo="Typo.body1" Style="text-align: justify; hyphens: auto;"><b>@item.Header:</b> @item.Text</MudText>
|
||||||
|
</MudListItem>
|
||||||
|
}
|
||||||
|
</MudList>
|
@ -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<TextItem> 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);
|
@ -1,5 +1,5 @@
|
|||||||
<MudItem xs="6" Style="display:flex;">
|
<MudItem xs="6" Style="display:flex;">
|
||||||
<MudCard Style="display: flex; flex-direction: column; width: 100%;">
|
<MudCard Class="border-dashed border rounded-lg" Style="display: flex; flex-direction: column; width: 100%;">
|
||||||
<MudCardHeader>
|
<MudCardHeader>
|
||||||
<CardHeaderContent>
|
<CardHeaderContent>
|
||||||
<MudText Typo="Typo.h6">@this.Header</MudText>
|
<MudText Typo="Typo.h6">@this.Header</MudText>
|
||||||
@ -11,7 +11,9 @@
|
|||||||
</CardHeaderActions>
|
</CardHeaderActions>
|
||||||
</MudCardHeader>
|
</MudCardHeader>
|
||||||
<MudCardContent>
|
<MudCardContent>
|
||||||
<MudText>@this.UseCase</MudText>
|
<MudText Typo="Typo.body1" Style="text-align: justify; hyphens: auto;">
|
||||||
|
@this.UseCase
|
||||||
|
</MudText>
|
||||||
</MudCardContent>
|
</MudCardContent>
|
||||||
<MudCardActions Class="mt-auto">
|
<MudCardActions Class="mt-auto">
|
||||||
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary" Href="@this.LicenseUrl" Target="_blank">License: @this.LicenseName</MudButton>
|
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary" Href="@this.LicenseUrl" Target="_blank">License: @this.LicenseName</MudButton>
|
||||||
|
@ -3,14 +3,17 @@
|
|||||||
|
|
||||||
<MudText Typo="Typo.h3" Class="mb-2">About MindWork AI Studio</MudText>
|
<MudText Typo="Typo.h3" Class="mb-2">About MindWork AI Studio</MudText>
|
||||||
|
|
||||||
<MudCard Class="mb-3">
|
<div class="d-flex flex-column" style="height: calc(100vh - 6em);">
|
||||||
<MudCardHeader>
|
<div class="flex-auto overflow-auto">
|
||||||
|
<MudExpansionPanels Class="mb-3">
|
||||||
|
<MudExpansionPanel IsInitiallyExpanded="@true" Class="border-solid border rounded-lg">
|
||||||
|
<TitleContent>
|
||||||
<div class="d-flex align-center">
|
<div class="d-flex align-center">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Layers" Size="Size.Medium" class="mr-3"/>
|
<MudIcon Icon="@Icons.Material.Filled.Layers" Size="Size.Medium" class="mr-3"/>
|
||||||
<MudText Typo="Typo.h6">Versions</MudText>
|
<MudText Typo="Typo.h6">Versions</MudText>
|
||||||
</div>
|
</div>
|
||||||
</MudCardHeader>
|
</TitleContent>
|
||||||
<MudCardContent>
|
<ChildContent>
|
||||||
<MudText>
|
<MudText>
|
||||||
The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.:
|
The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.:
|
||||||
</MudText>
|
</MudText>
|
||||||
@ -23,11 +26,9 @@
|
|||||||
<MudListItem Icon="@Icons.Material.Outlined.Widgets" Text="@MudBlazorVersion"/>
|
<MudListItem Icon="@Icons.Material.Outlined.Widgets" Text="@MudBlazorVersion"/>
|
||||||
<MudListItem Icon="@Icons.Material.Outlined.Memory" Text="@TauriVersion"/>
|
<MudListItem Icon="@Icons.Material.Outlined.Memory" Text="@TauriVersion"/>
|
||||||
</MudList>
|
</MudList>
|
||||||
</MudCardContent>
|
</ChildContent>
|
||||||
</MudCard>
|
</MudExpansionPanel>
|
||||||
|
<MudExpansionPanel Class="border-solid border rounded-lg">
|
||||||
<MudExpansionPanels Class="mb-3">
|
|
||||||
<MudExpansionPanel>
|
|
||||||
<TitleContent>
|
<TitleContent>
|
||||||
<div class="d-flex align-center">
|
<div class="d-flex align-center">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.AutoAwesomeMotion" Size="Size.Medium" class="mr-3"/>
|
<MudIcon Icon="@Icons.Material.Filled.AutoAwesomeMotion" Size="Size.Medium" class="mr-3"/>
|
||||||
@ -49,10 +50,7 @@
|
|||||||
</MudGrid>
|
</MudGrid>
|
||||||
</ChildContent>
|
</ChildContent>
|
||||||
</MudExpansionPanel>
|
</MudExpansionPanel>
|
||||||
</MudExpansionPanels>
|
<MudExpansionPanel Class="border-solid border rounded-lg">
|
||||||
|
|
||||||
<MudExpansionPanels Class="mb-3">
|
|
||||||
<MudExpansionPanel>
|
|
||||||
<TitleContent>
|
<TitleContent>
|
||||||
<div class="d-flex align-center">
|
<div class="d-flex align-center">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Verified" Size="Size.Medium" class="mr-3"/>
|
<MudIcon Icon="@Icons.Material.Filled.Verified" Size="Size.Medium" class="mr-3"/>
|
||||||
@ -63,4 +61,6 @@
|
|||||||
<MudMarkdown Value="@LICENSE" OverrideHeaderTypo="@Markdown.OverrideHeaderTypo"/>
|
<MudMarkdown Value="@LICENSE" OverrideHeaderTypo="@Markdown.OverrideHeaderTypo"/>
|
||||||
</ChildContent>
|
</ChildContent>
|
||||||
</MudExpansionPanel>
|
</MudExpansionPanel>
|
||||||
</MudExpansionPanels>
|
</MudExpansionPanels>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,38 +0,0 @@
|
|||||||
@page "/Error"
|
|
||||||
@using System.Diagnostics
|
|
||||||
|
|
||||||
<PageTitle>Error</PageTitle>
|
|
||||||
|
|
||||||
<h1 class="text-danger">Error.</h1>
|
|
||||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
|
||||||
|
|
||||||
@if (ShowRequestId)
|
|
||||||
{
|
|
||||||
<p>
|
|
||||||
<strong>Request ID:</strong> <code>@RequestId</code>
|
|
||||||
</p>
|
|
||||||
}
|
|
||||||
|
|
||||||
<h3>Development Mode</h3>
|
|
||||||
<p>
|
|
||||||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
|
||||||
It can result in displaying sensitive information from exceptions to end users.
|
|
||||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
|
||||||
and restarting the app.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
@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;
|
|
||||||
|
|
||||||
}
|
|
@ -1,5 +1,72 @@
|
|||||||
@page "/"
|
@page "/"
|
||||||
|
@using AIStudio.Tools
|
||||||
|
|
||||||
<PageTitle>Home</PageTitle>
|
<MudImage Src="svg/banner.svg" />
|
||||||
|
<MudText Typo="Typo.h3" Class="mt-2 mb-2">Let's get started</MudText>
|
||||||
|
|
||||||
<h1>Hello :)</h1>
|
<div class="d-flex flex-column" style="height: calc(100vh - 288px - 3em);">
|
||||||
|
<div class="flex-auto overflow-auto">
|
||||||
|
<MudExpansionPanels Class="mb-3">
|
||||||
|
|
||||||
|
<MudExpansionPanel IsInitiallyExpanded="@true" Class="border-solid border rounded-lg">
|
||||||
|
<TitleContent>
|
||||||
|
<div class="d-flex align-center">
|
||||||
|
<MudIcon Icon="@Icons.Material.Filled.MenuBook" Size="Size.Medium" class="mr-3"/>
|
||||||
|
<MudText Typo="Typo.h6">Introduction</MudText>
|
||||||
|
</div>
|
||||||
|
</TitleContent>
|
||||||
|
<ChildContent>
|
||||||
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
|
Welcome to MindWork AI Studio!
|
||||||
|
</MudText>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
||||||
|
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.
|
||||||
|
</MudText>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
|
Here's what makes MindWork AI Studio stand out:
|
||||||
|
</MudText>
|
||||||
|
<MudTextList Icon="@Icons.Material.Filled.CheckCircle" Clickable="@true" Items="@ITEMS_ADVANTAGES" Class="mb-3"/>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
|
We hope you enjoy using MindWork AI Studio to bring your AI projects to life!
|
||||||
|
</MudText>
|
||||||
|
</ChildContent>
|
||||||
|
</MudExpansionPanel>
|
||||||
|
|
||||||
|
<MudExpansionPanel Class="border-solid border rounded-lg">
|
||||||
|
<TitleContent>
|
||||||
|
<div class="d-flex align-center">
|
||||||
|
<MudIcon Icon="@Icons.Material.Filled.Lightbulb" Color="Color.Warning" Size="Size.Medium" class="mr-3"/>
|
||||||
|
<MudText Typo="Typo.h6">Our vision</MudText>
|
||||||
|
</div>
|
||||||
|
</TitleContent>
|
||||||
|
<ChildContent>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
||||||
|
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.
|
||||||
|
</MudText>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
||||||
|
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:
|
||||||
|
</MudText>
|
||||||
|
<MudTextList Icon="@Icons.Material.Filled.CheckCircle" Clickable="@true" Items="@ITEMS_VISION" Class="mb-3"/>
|
||||||
|
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
||||||
|
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.
|
||||||
|
</MudText>
|
||||||
|
</ChildContent>
|
||||||
|
</MudExpansionPanel>
|
||||||
|
|
||||||
|
<MudExpansionPanel Class="border-solid border rounded-lg">
|
||||||
|
<TitleContent>
|
||||||
|
<div class="d-flex align-center">
|
||||||
|
<MudIcon Icon="@Icons.Material.Filled.RocketLaunch" Size="Size.Medium" class="mr-3"/>
|
||||||
|
<MudText Typo="Typo.h6">Quick Start Guide</MudText>
|
||||||
|
</div>
|
||||||
|
</TitleContent>
|
||||||
|
<ChildContent>
|
||||||
|
<MudMarkdown OverrideHeaderTypo="@Markdown.OverrideHeaderTypo" Value="@QUICK_START_GUIDE"/>
|
||||||
|
</ChildContent>
|
||||||
|
</MudExpansionPanel>
|
||||||
|
|
||||||
|
</MudExpansionPanels>
|
||||||
|
</div>
|
||||||
|
</div>
|
77
app/MindWork AI Studio/Components/Pages/Home.razor.cs
Normal file
77
app/MindWork AI Studio/Components/Pages/Home.razor.cs
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
using AIStudio.Components.Blocks;
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
|
||||||
|
namespace AIStudio.Components.Pages;
|
||||||
|
|
||||||
|
public partial class Home : ComponentBase
|
||||||
|
{
|
||||||
|
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."),
|
||||||
|
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."),
|
||||||
|
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."),
|
||||||
|
];
|
||||||
|
|
||||||
|
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!
|
||||||
|
""";
|
||||||
|
}
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
<MudText Typo="Typo.h3" Class="mb-12">Settings</MudText>
|
<MudText Typo="Typo.h3" Class="mb-12">Settings</MudText>
|
||||||
|
|
||||||
<MudPaper Class="pa-3">
|
<MudPaper Class="pa-3 border-solid border rounded-lg">
|
||||||
<MudText Typo="Typo.h4" Class="mb-3">Configured Providers</MudText>
|
<MudText Typo="Typo.h4" Class="mb-3">Configured Providers</MudText>
|
||||||
<MudTable Items="@this.SettingsManager.ConfigurationData.Providers">
|
<MudTable Items="@this.SettingsManager.ConfigurationData.Providers" Class="border-dashed border rounded-lg">
|
||||||
<ColGroup>
|
<ColGroup>
|
||||||
<col style="width: 3em;"/>
|
<col style="width: 3em;"/>
|
||||||
<col style="width: 12em;"/>
|
<col style="width: 12em;"/>
|
||||||
|
@ -160,7 +160,7 @@ def get_rids []: nothing -> list {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_os []: nothing -> string {
|
def get_os []: nothing -> string {
|
||||||
(sys).host.name | str downcase
|
(sys host).name | str downcase
|
||||||
}
|
}
|
||||||
|
|
||||||
def update_build_time []: nothing -> nothing {
|
def update_build_time []: nothing -> nothing {
|
||||||
@ -192,7 +192,7 @@ def update_dotnet_version []: nothing -> nothing {
|
|||||||
mut dotnet_sdk_version = $meta_lines.3
|
mut dotnet_sdk_version = $meta_lines.3
|
||||||
mut dotnet_version = $meta_lines.4
|
mut dotnet_version = $meta_lines.4
|
||||||
|
|
||||||
let dotnet_data = (^dotnet --info) | parse --regex '(?s).NET SDK:\s+Version:\s+(?P<sdkVersion>[0-9.]+).+Commit:\s+(?P<sdkCommit>[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P<hostVersion>[0-9.]+).+Commit:\s+(?P<hostCommit>[a-zA-Z0-9]+)'
|
let dotnet_data = (^dotnet --info) | collect | parse --regex '(?ms).?NET SDK:\s+Version:\s+(?P<sdkVersion>[0-9.]+).+Commit:\s+(?P<sdkCommit>[a-zA-Z0-9]+).+Host:\s+Version:\s+(?P<hostVersion>[0-9.]+).+Commit:\s+(?P<hostCommit>[a-zA-Z0-9]+)'
|
||||||
let sdk_version = $dotnet_data.sdkVersion.0
|
let sdk_version = $dotnet_data.sdkVersion.0
|
||||||
let host_version = $dotnet_data.hostVersion.0
|
let host_version = $dotnet_data.hostVersion.0
|
||||||
let sdkCommit = $dotnet_data.sdkCommit.0
|
let sdkCommit = $dotnet_data.sdkCommit.0
|
||||||
|
@ -30,3 +30,7 @@
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url('fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
|
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;
|
||||||
|
}
|
1
app/MindWork AI Studio/wwwroot/svg/banner.svg
Normal file
1
app/MindWork AI Studio/wwwroot/svg/banner.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 92 KiB |
BIN
media/Banners.ai
(Stored with Git LFS)
Normal file
BIN
media/Banners.ai
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
0.4.7
|
0.5.0
|
||||||
2024-05-26 08:48:48 UTC
|
2024-05-30 23:00:00 UTC
|
||||||
147
|
148
|
||||||
8.0.205 (commit 3e1383b780)
|
8.0.205 (commit 3e1383b780)
|
||||||
8.0.5 (commit 087e15321b)
|
8.0.5 (commit 087e15321b)
|
||||||
1.78.0 (commit 9b00956e5)
|
1.78.0 (commit 9b00956e5)
|
||||||
6.19.1
|
6.19.1
|
||||||
1.6.1
|
1.6.1
|
||||||
9b36969c8b, dev debug
|
6b1b8ee52eb, dev debug
|
||||||
|
2
runtime/Cargo.lock
generated
2
runtime/Cargo.lock
generated
@ -2189,7 +2189,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.4.7"
|
version = "0.5.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arboard",
|
"arboard",
|
||||||
"flexi_logger",
|
"flexi_logger",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.4.7"
|
version = "0.5.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "MindWork AI Studio"
|
description = "MindWork AI Studio"
|
||||||
authors = ["Thorsten Sommer"]
|
authors = ["Thorsten Sommer"]
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
"package": {
|
"package": {
|
||||||
"productName": "MindWork AI Studio",
|
"productName": "MindWork AI Studio",
|
||||||
"version": "0.4.7"
|
"version": "0.5.0"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
|
Loading…
Reference in New Issue
Block a user