Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4360925b6 | ||
|
|
425e1b0211 | ||
|
|
529687ffdb | ||
|
|
34e3511d62 | ||
|
|
70e2c81eff | ||
|
|
d8ba1f5696 | ||
|
|
b21f7490ec | ||
|
|
33eed32a15 | ||
|
|
b9887d9286 | ||
|
|
d1fbdad486 | ||
|
|
28d0860522 | ||
|
|
a4981b8e9c |
12
README.md
12
README.md
@@ -21,24 +21,24 @@ An [Ollama](https://github.com/ollama/ollama) client made with GTK4 and Adwaita.
|
|||||||
- Pull and delete models from the app
|
- Pull and delete models from the app
|
||||||
|
|
||||||
## Future features!
|
## Future features!
|
||||||
- Persistent conversations
|
|
||||||
- Multiple conversations
|
- Multiple conversations
|
||||||
- Image / document recognition
|
- Image / document recognition
|
||||||
|
- Notifications
|
||||||
|
- Code highlighting
|
||||||
|
|
||||||
## Screenies
|
## Screenies
|
||||||
Login to Ollama instance | Chatting with models | Managing models
|
Login to Ollama instance | Chatting with models | Managing models
|
||||||
:-------------------------:|:-------------------------:|:-------------------------:
|
:-------------------------:|:-------------------------:|:-------------------------:
|
||||||
 |  | 
|
 |  | 
|
||||||
|
|
||||||
## Preview
|
## Preview
|
||||||
1. Clone repo using Gnome Builder
|
1. Clone repo using Gnome Builder
|
||||||
2. Press the `run` button
|
2. Press the `run` button
|
||||||
|
|
||||||
## Instalation
|
## Instalation
|
||||||
1. Clone repo using Gnome Builder
|
1. Go to the `releases` page
|
||||||
2. Build the app using the `build` button
|
2. Download the latest flatpak package
|
||||||
3. Prepare the file using the `install` button (it doesn't actually install it, idk)
|
3. Open it
|
||||||
4. Then press the `export` button, it will export a `com.jeffser.Alpaca.flatpak` file, you can install it just by opening it
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
- You'll need an Ollama instance, I recommend using the [Docker image](https://ollama.com/blog/ollama-is-now-available-as-an-official-docker-image)
|
- You'll need an Ollama instance, I recommend using the [Docker image](https://ollama.com/blog/ollama-is-now-available-as-an-official-docker-image)
|
||||||
|
|||||||
@@ -64,8 +64,7 @@
|
|||||||
"sources" : [
|
"sources" : [
|
||||||
{
|
{
|
||||||
"type" : "git",
|
"type" : "git",
|
||||||
"url" : "https://github.com/Jeffser/Alpaca.git",
|
"url" : "file:///home/tentri/Documents/Alpaca"
|
||||||
"tag": "0.2.2"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
<name>Alpaca</name>
|
<name>Alpaca</name>
|
||||||
<summary>An Ollama client</summary>
|
<summary>An Ollama client</summary>
|
||||||
<description>
|
<description>
|
||||||
<p>Made with GTK4 and Adwaita.</p>
|
<p>Chat with multiple AI models</p>
|
||||||
|
<p>An Ollama client</p>
|
||||||
<p>Features</p>
|
<p>Features</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Talk to multiple models in the same conversation</li>
|
<li>Talk to multiple models in the same conversation</li>
|
||||||
@@ -29,8 +30,8 @@
|
|||||||
<category>Chat</category>
|
<category>Chat</category>
|
||||||
</categories>
|
</categories>
|
||||||
<branding>
|
<branding>
|
||||||
<color type="primary" scheme_preference="light">#ff00ff</color>
|
<color type="primary" scheme_preference="light">#8cdef5</color>
|
||||||
<color type="primary" scheme_preference="dark">#993d3d</color>
|
<color type="primary" scheme_preference="dark">#0f2b78</color>
|
||||||
</branding>
|
</branding>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
@@ -51,6 +52,22 @@
|
|||||||
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
|
<url type="homepage">https://github.com/Jeffser/Alpaca</url>
|
||||||
<url type="donation">https://github.com/sponsors/Jeffser</url>
|
<url type="donation">https://github.com/sponsors/Jeffser</url>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="0.3.0" date="2024-05-16">
|
||||||
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.3.0</url>
|
||||||
|
<description>
|
||||||
|
<p>Fixes and features</p>
|
||||||
|
<ul>
|
||||||
|
<li>Russian translation (thanks github/alexkdeveloper)</li>
|
||||||
|
<li>Fixed: Cannot close app on first setup</li>
|
||||||
|
<li>Fixed: Brand colors for Flathub</li>
|
||||||
|
<li>Fixed: App description</li>
|
||||||
|
<li>Fixed: Only show 'save changes dialog' when you actually change the url</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Please report any errors to the issues page, thank you.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release version="0.2.2" date="2024-05-14">
|
<release version="0.2.2" date="2024-05-14">
|
||||||
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.2.1</url>
|
<url type="details">https://github.com/Jeffser/Alpaca/releases/tag/0.2.1</url>
|
||||||
<description>
|
<description>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
ru
|
||||||
112
po/ru.po
Normal file
112
po/ru.po
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: \n"
|
||||||
|
"POT-Creation-Date: 2024-05-16 19:29+0800\n"
|
||||||
|
"PO-Revision-Date: 2024-05-16 19:59+0800\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: ru_RU\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 3.4.2\n"
|
||||||
|
"X-Poedit-Basepath: ../src\n"
|
||||||
|
"X-Poedit-SearchPath-0: .\n"
|
||||||
|
|
||||||
|
#: gtk/help-overlay.ui:11
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Общие"
|
||||||
|
|
||||||
|
#: gtk/help-overlay.ui:14
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Show Shortcuts"
|
||||||
|
msgstr "Показывать ярлыки"
|
||||||
|
|
||||||
|
#: gtk/help-overlay.ui:20
|
||||||
|
msgctxt "shortcut window"
|
||||||
|
msgid "Quit"
|
||||||
|
msgstr "Выйти"
|
||||||
|
|
||||||
|
#: window.ui:30
|
||||||
|
msgid "Manage models"
|
||||||
|
msgstr "Управление моделями"
|
||||||
|
|
||||||
|
#: window.ui:44
|
||||||
|
msgid "Menu"
|
||||||
|
msgstr "Меню"
|
||||||
|
|
||||||
|
#: window.ui:106
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Отправить"
|
||||||
|
|
||||||
|
#: window.ui:137
|
||||||
|
msgid "Pulling Model"
|
||||||
|
msgstr "Тянущая модель"
|
||||||
|
|
||||||
|
#: window.ui:218
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Предыдущий"
|
||||||
|
|
||||||
|
#: window.ui:233
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Следующий"
|
||||||
|
|
||||||
|
#: window.ui:259
|
||||||
|
msgid "Welcome to Alpaca"
|
||||||
|
msgstr "Добро пожаловать в Alpaca"
|
||||||
|
|
||||||
|
#: window.ui:260
|
||||||
|
msgid ""
|
||||||
|
"To get started, please ensure you have an Ollama instance set up. You can "
|
||||||
|
"either run Ollama locally on your machine or connect to a remote instance."
|
||||||
|
msgstr ""
|
||||||
|
"Для начала, пожалуйста, убедитесь, что у вас настроен экземпляр Ollama. Вы "
|
||||||
|
"можете либо запустить Ollama локально на своем компьютере, либо "
|
||||||
|
"подключиться к удаленному экземпляру."
|
||||||
|
|
||||||
|
#: window.ui:263
|
||||||
|
msgid "Ollama Website"
|
||||||
|
msgstr "Веб-сайт Ollama"
|
||||||
|
|
||||||
|
#: window.ui:279
|
||||||
|
msgid "Disclaimer"
|
||||||
|
msgstr "Отказ от ответственности"
|
||||||
|
|
||||||
|
#: window.ui:280
|
||||||
|
msgid ""
|
||||||
|
"Alpaca and its developers are not liable for any damages to devices or "
|
||||||
|
"software resulting from the execution of code generated by an AI model. "
|
||||||
|
"Please exercise caution and review the code carefully before running it."
|
||||||
|
msgstr ""
|
||||||
|
"Alpaca и ее разработчики не несут ответственности за любой ущерб, "
|
||||||
|
"причиненный устройствам или программному обеспечению в результате "
|
||||||
|
"выполнения кода, сгенерированного с помощью модели искусственного "
|
||||||
|
"интеллекта. Пожалуйста, будьте осторожны и внимательно ознакомьтесь с кодом "
|
||||||
|
"перед его запуском."
|
||||||
|
|
||||||
|
#: window.ui:292
|
||||||
|
msgid "Setup"
|
||||||
|
msgstr "Установка"
|
||||||
|
|
||||||
|
#: window.ui:293
|
||||||
|
msgid ""
|
||||||
|
"If you are running an Ollama instance locally and haven't modified the "
|
||||||
|
"default ports, you can use the default URL. Otherwise, please enter the URL "
|
||||||
|
"of your Ollama instance."
|
||||||
|
msgstr ""
|
||||||
|
"Если вы запускаете локальный экземпляр Ollama и не изменили порты по "
|
||||||
|
"умолчанию, вы можете использовать URL-адрес по умолчанию. В противном "
|
||||||
|
"случае, пожалуйста, введите URL-адрес вашего экземпляра Ollama."
|
||||||
|
|
||||||
|
#: window.ui:313
|
||||||
|
msgid "_Clear Conversation"
|
||||||
|
msgstr "_Очистить разговор"
|
||||||
|
|
||||||
|
#: window.ui:317
|
||||||
|
msgid "_Change Server"
|
||||||
|
msgstr "_Изменить Сервер"
|
||||||
|
|
||||||
|
#: window.ui:321
|
||||||
|
msgid "_About Alpaca"
|
||||||
|
msgstr "_О Программе"
|
||||||
@@ -51,6 +51,7 @@ class AlpacaApplication(Adw.Application):
|
|||||||
version='0.2.2',
|
version='0.2.2',
|
||||||
developers=['Jeffser https://jeffser.com'],
|
developers=['Jeffser https://jeffser.com'],
|
||||||
designers=['Jeffser https://jeffser.com'],
|
designers=['Jeffser https://jeffser.com'],
|
||||||
|
translator_credits='Alex K (Russian) https://github.com/alexkdeveloper',
|
||||||
copyright='© 2024 Jeffser',
|
copyright='© 2024 Jeffser',
|
||||||
issue_url='https://github.com/Jeffser/Alpaca/issues')
|
issue_url='https://github.com/Jeffser/Alpaca/issues')
|
||||||
about.present()
|
about.present()
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
gi.require_version("Soup", "3.0")
|
|
||||||
from gi.repository import Adw, Gtk, GLib
|
from gi.repository import Adw, Gtk, GLib
|
||||||
import json, requests, threading, os
|
import json, requests, threading, os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
@@ -361,6 +360,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
if result == "cancel": return
|
if result == "cancel": return
|
||||||
if result == "save":
|
if result == "save":
|
||||||
self.ollama_url = self.connection_url_entry.get_text()
|
self.ollama_url = self.connection_url_entry.get_text()
|
||||||
|
elif result == "discard" and self.ollama_url is None: self.destroy()
|
||||||
self.connection_dialog.force_close()
|
self.connection_dialog.force_close()
|
||||||
if self.ollama_url is None or self.verify_connection() == False:
|
if self.ollama_url is None or self.verify_connection() == False:
|
||||||
self.show_connection_dialog(True)
|
self.show_connection_dialog(True)
|
||||||
@@ -368,9 +368,13 @@ class AlpacaWindow(Adw.ApplicationWindow):
|
|||||||
|
|
||||||
|
|
||||||
def closing_connection_dialog(self, dialog):
|
def closing_connection_dialog(self, dialog):
|
||||||
if self.get_visible() == False:
|
if self.ollama_url is None: self.destroy()
|
||||||
self.destroy()
|
if self.ollama_url == self.connection_url_entry.get_text():
|
||||||
else:
|
self.connection_dialog.force_close()
|
||||||
|
if self.ollama_url is None or self.verify_connection() == False:
|
||||||
|
self.show_connection_dialog(True)
|
||||||
|
self.show_toast("error", 1, self.connection_overlay)
|
||||||
|
return
|
||||||
dialog = Adw.AlertDialog(
|
dialog = Adw.AlertDialog(
|
||||||
heading=f"Save Changes?",
|
heading=f"Save Changes?",
|
||||||
body=f"Do you want to save the URL change?",
|
body=f"Do you want to save the URL change?",
|
||||||
|
|||||||
Reference in New Issue
Block a user