22 <h1> Ollama-GUI-Chat </h1>
33</div >
44
5- ![ OGC default colors photo] ( assets/Ollama_default_colors5 .png )
5+ ![ OGC default colors photo] ( assets/themes_1 .png )
66
77![ GitHub License] ( https://img.shields.io/github/license/tomteipl/Ollama-GUI-Chat?style=for-the-badge&logo=apache&logoSize=auto&labelColor=%235c549f&color=orange )
88![ GitHub commit activity] ( https://img.shields.io/github/commit-activity/t/tomteipl/Ollama-GUI-Chat?style=for-the-badge&logo=githubactions&logoColor=black&logoSize=auto&labelColor=%235c549f&color=orange )
@@ -26,29 +26,32 @@ there is inserted default URL.
2626
2727* ** [ Features] [ 1 ] **
2828* ** [ Installation] [ 2 ] **
29- * ** [ Customization] [ 3 ] **
30- * ** [ Themes] [ 4 ] **
31- * [ Gruvbox] [ 5 ]
32- * [ Tokyo Night] [ 6 ]
33- * ** [ Roadmap] [ 7 ] **
29+ * ** [ Usage] [ 3 ] **
30+ * ** [ Customization] [ 4 ] **
31+ * ** [ Themes] [ 5 ] **
32+ * [ Gruvbox] [ 6 ]
33+ * [ Tokyo Night] [ 7 ]
34+ * ** [ Roadmap] [ 8 ] **
3435* ** [ License] ( LICENSE ) **
3536
3637[ 1 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#features
3738[ 2 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#installation
38- [ 3 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#customization
39- [ 4 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#themes
40- [ 5 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#gruvbox
41- [ 6 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#tokyo-night
42- [ 7 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#roadmap
39+ [ 3 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#usage
40+ [ 4 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#customization
41+ [ 5 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#themes
42+ [ 6 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#gruvbox
43+ [ 7 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#tokyo-night
44+ [ 8 ] : https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#roadmap
4345
4446## 🔥 Features
4547
46- * ✏️ Talk with ** Ollama** AI models with style using light GUI app.
47- * 📂 Choose a model from the list or type your ** own** model name.
48- * 🔖 Save and Clear chat history.
49- * 🍻 Load chat from a saved file and continue your conversation.
48+ * ✏️ Talk with ** LLM** AI models with style using light GUI app.
49+ * 📂 Auto detect your models from ** Host URL** .
50+ * 🌟 ` settings.ini ` , saves selected theme, URl and light/dark mode.
51+ * 🔖 Save, load and Clear chat.
52+ * 🍻 Switch themes with a simple button.
5053* 🌓 Light and Dark modes.
51- * 🗽 Auto detect your LLMs .
54+ * 🗽 Toggle ` autoscroll ` .
5255* 🌹 ** Most important** , customize the style of the whole app with a simple ` JSON ` file !
5356* 🎁 Its free and open-source. Use the source code to customize the app even more !
5457* And ** more** in development...
@@ -59,21 +62,93 @@ there is inserted default URL.
5962> You are required to have installed ** [ Ollama] ( https://ollama.com/ ) ** .
6063> Please refer to the official website for installation instructions.
6164
65+ ** TL;DR** :
66+
6267* ** Download** the latest [ release] ( https://github.com/tomteipl/Ollama-GUI-Chat/releases/latest ) .
6368* ** Extract** the archive.
6469* ** Enjoy!**
6570
66- > [ !NOTE]
67- > * ` custom_theme.json ` is located inside of ` _internal/theme ` folder.*
71+ ## Usage
72+
73+ > [ !IMPORTANT]
74+ > On the first message, the app may take a while to respond due to setting up a server.
75+
76+ When you launch the app * for the first time* , it will create
77+ ` settings.ini ` (also after you manually remove it).
78+ By default it will look like this:
79+
80+ ``` ini
81+ [Settings]
82+ theme = default.json
83+ host = http://localhost:11434
84+ appearance = light
85+ ```
86+
87+ * ` [theme] ` = ` ... ` , this value will change depending on the
88+ theme picked from the * Change theme* button.
89+
90+ ![ theme button] ( assets/change_theme_1.png )
91+
92+ Or:
93+
94+ You can add your own theme files and
95+ type its ` json ` file name. Theme has to be placed in
96+ ` _internal/theme/ ` folder.
97+
98+ * ` [host] ` = ` ... ` , this value is used for fetching your LLM models.
99+ It is automatically inserted into the ` host_url ` entry field.
100+ You can change it in the ` settings.ini ` file or by typing a
101+ new URL into the entry field and hitting the ** "Enter"** key.
102+ This will fetch new models and save them to settings.
103+
104+ * ` [appearance] ` = ` light ` or ` dark ` , which simply saves the dark mode preference,
105+ so you don't have to change it each time you open the app.
106+
107+ ### Saving and loading
108+
109+ If you wish, you can save whole conversation by
110+ pressing a ` Save ` button. It will open a save window,
111+ select any location, name and save it as ` .txt ` file.
112+
113+ Loading a chat is no harder. Press ` Load ` button
114+ and select ` .txt ` file that you created earlier.
115+ You will not get any prompt. I usually type
116+ ` What was my first message? ` and it responds according to
117+ the file that i loaded.
118+
119+ > [ !TIP]
120+ > The AI doesn't recognize from what LLM the chat was,
121+ > so you can load for example a conversation from
122+ > ` llama3.1 ` into ` gemma3 ` .
123+
124+ ### Other features
125+
126+ * ** Autoscroll** checkbox - whenever you want to hold the page
127+ and read, uncheck the box. If you check it again it will
128+ move you to the last generating line.
129+
130+ * ** Font size** - You can increase/decrease the chat font by
131+ pressing ** red arrows** . This value is not being saved
132+ in ` settings.ini ` .
133+
134+ * ** Clear chat** - like the name says it clears the chat window
135+ and ** Clears the conversation history** so the AI will
136+ not remember this conversation.
137+
138+ * ** Stop button** : Whenever the AI is generating a response,
139+ the ** stop** button will pop up alongside the ** progress bar** .
140+ When you hit it, of course it will stop the conversation,
141+ but also it will remove your last question from the history.
68142
69143## 💻 Customization
70144
71- ![ OGC default colors photo] ( assets/Ollama_default_colors7 .png )
145+ ![ OGC default colors photo] ( assets/Ollama_default_colors_both .png )
72146
73- You can customize the style of the app by editing ` custom-theme.json ` .
147+ You can customize the style of the app by editing ` *.json ` .
148+ Or by adding your own theme files.
74149** OGC** searches for the ` json ` file in the ` _internal/theme/ ` folder.
75150
76- Part of the ` custom-theme .json` file:
151+ Part of the ` default .json` file:
77152
78153``` json
79154{
@@ -102,32 +177,28 @@ Its pretty easy and self-explanatory. Just change the values
102177and see the changes in the app.
103178You can use `HEX` colors or `names` like `"green"`.
104179
180+ Some of the values are **hard coded** and `json` file
181+ has no impact on them.
182+
105183Detailed usage of theme file can be found on
106184the official [CustomTkinter](https://customtkinter.tomschimansky.com/documentation/)
107185page.
108186
109- If you wish you can modify `PATHs` to app and theme
110-
111- ```python
112- APP_PATH: str = os.path.dirname(os.path.realpath(__file__))
113- THEME_PATH: str = os.path.join(APP_PATH, "theme", "custom-theme.json")
114- ```
115-
116187## 🎨 Themes (WIP)
117188
118189You can find more themes in **[themes](themes/)** folder.
119190Each theme has light and dark mode.
120191
121- >[!TIP ]
122- >Copy and paste whole code from any theme preset into `custom_theme.json` .
192+ >[!NOTE ]
193+ >Default themes are included in the release file .
123194
124195### Gruvbox
125196
126- 
197+ 
127198
128199### Tokyo Night
129200
130- 
201+ 
131202
132203## 📆 Roadmap
133204
@@ -144,7 +215,7 @@ Start: **27.03.2025**
144215* [x] ~**Improve UI**~
145216* [x] ~**Change theme handling**~
146217
147- Finished: **01.04.2025**
218+ Finished: 💥 **01.04.2025**💥
148219
149220## License
150221
0 commit comments