{"id":26965413,"url":"https://github.com/tomteipl/ollama-gui-chat","last_synced_at":"2026-05-15T20:02:14.884Z","repository":{"id":284416008,"uuid":"952008340","full_name":"tomteipl/Ollama-GUI-Chat","owner":"tomteipl","description":"Simple Ollama GUI app written in Python. Everything you need for your LLM.","archived":false,"fork":false,"pushed_at":"2025-04-06T17:29:12.000Z","size":217819,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T00:32:35.607Z","etag":null,"topics":["ai","chat-app","chatapp","customtkinter","gui-application","ollama","ollama-app","ollama-gui","tkinter-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomteipl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-03-20T15:31:42.000Z","updated_at":"2025-04-03T18:26:36.000Z","dependencies_parsed_at":"2025-03-25T19:40:49.658Z","dependency_job_id":"cc209de1-6d17-4646-be67-c1407fb57e7f","html_url":"https://github.com/tomteipl/Ollama-GUI-Chat","commit_stats":null,"previous_names":["tomteipl/ollama-gui-chat"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/tomteipl/Ollama-GUI-Chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomteipl%2FOllama-GUI-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomteipl%2FOllama-GUI-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomteipl%2FOllama-GUI-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomteipl%2FOllama-GUI-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomteipl","download_url":"https://codeload.github.com/tomteipl/Ollama-GUI-Chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomteipl%2FOllama-GUI-Chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33077925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","chat-app","chatapp","customtkinter","gui-application","ollama","ollama-app","ollama-gui","tkinter-python"],"created_at":"2025-04-03T07:21:06.722Z","updated_at":"2026-05-15T20:02:14.868Z","avatar_url":"https://github.com/tomteipl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003e Ollama-GUI-Chat \u003c/h1\u003e\n\u003c/div\u003e\n\n![OGC default colors photo](assets/themes_1.png)\n\n![GitHub License](https://img.shields.io/github/license/tomteipl/Ollama-GUI-Chat?style=for-the-badge\u0026logo=apache\u0026logoSize=auto\u0026labelColor=%235c549f\u0026color=orange)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/t/tomteipl/Ollama-GUI-Chat?style=for-the-badge\u0026logo=githubactions\u0026logoColor=black\u0026logoSize=auto\u0026labelColor=%235c549f\u0026color=orange)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/tomteipl/Ollama-GUI-Chat?style=for-the-badge\u0026logo=github\u0026logoColor=black\u0026logoSize=auto\u0026labelColor=%235c549f\u0026color=orange)\n![GitHub Release](https://img.shields.io/github/v/release/tomteipl/Ollama-GUi-Chat?sort=date\u0026display_name=tag\u0026style=for-the-badge\u0026logo=codesandbox\u0026logoColor=black\u0026logoSize=auto\u0026labelColor=%235c549f\u0026color=orange)\n![Static Badge Python](https://img.shields.io/badge/Python-100%25-dark?style=for-the-badge\u0026logo=python\u0026logoColor=black\u0026logoSize=auto\u0026labelColor=%235c549f\u0026color=orange)\n\nOGC (Ollama-GUI-Chat) is a simple chat app that uses **[Ollama](https://ollama.com/)**\nAI models installed on your hardware.\nYou can use models predefined in the dropdown menu\nor simply type your custom model name in the window.\nThe app is written in **Python** using modules\nlike `customtkinter`, `tkinter`, `requests`, and `json`.\n\nOGC sends a `payload` to your local server with the `Ollama` model.\nBy default, it's `http://localhost:11434/api/chat`.\nYou can enter custom `URL`, when you open the app\nthere is inserted default URL.\n\n## Table of Contents\n\n* **[Features][1]**\n* **[Installation][2]**\n* **[Usage][3]**\n* **[Customization][4]**\n* **[Themes][5]**\n  * [Gruvbox][6]\n  * [Tokyo Night][7]\n  * [Nordic][8]\n  * [Catppuccin-mocha][9]\n  * [Solarized-Osaka][10]\n* **[License](LICENSE)**\n\n[1]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#features\n[2]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#installation\n[3]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#usage\n[4]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#customization\n[5]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#themes\n[6]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#gruvbox\n[7]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#tokyo-night\n[8]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#nordic\n[9]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#catppuccin-mocha\n[10]: https://github.com/tomteipl/Ollama-GUI-Chat?tab=readme-ov-file#solarized-osaka\n\n## 🔥 Features\n\n* ✏️ Talk with **LLM** AI models with style using light GUI app.\n* 📂 Auto detect your models from **Host URL**.\n* 🌟 `settings.ini`, saves selected theme, URl and light/dark mode.\n* 🔖 Save, load and Clear chat.\n* 🍻 Switch themes with a simple button.\n* 🌓 Light and Dark modes.\n* 🗽 Toggle `autoscroll`.\n* 🌹 **Most important**, customize the style of the whole app with a simple `JSON` file !\n* 🎁 Its free and open-source. Use the source code to customize the app even more !\n* And **more** in development...\n\n## 👷 Installation\n\n\u003e[!IMPORTANT]\n\u003e You are required to have installed **[Ollama](https://ollama.com/)**.\n\u003e Please refer to the official website for installation instructions.\n\n**TL;DR**:\n\n* **Download** the latest [release](https://github.com/tomteipl/Ollama-GUI-Chat/releases/latest).\n* **Extract** the archive.\n* **Enjoy!**\n\n## Usage\n\n\u003e[!IMPORTANT]\n\u003e On the first message, the app may take a while to respond due to setting up a server.\n\nWhen you launch the app *for the first time*, it will create\n`settings.ini` (also after you manually remove it).\nBy default it will look like this:\n\n```ini\n[Settings]\ntheme = default.json\nhost = http://localhost:11434\nappearance = light\n```\n\n* `[theme]` = `...`, this value will change depending on the\ntheme picked from the *Change theme* button.\n\n**NEW FEATURE**: In theme selection window, now you\nhave a new **dropdown menu** that shows your custom themes.\n\n\u003cimg src=\"assets/change_theme_2.png\" alt=\"Change Theme 2\" width=\"600\"/\u003e\n\nOr:\n\nYou can add your own theme files and\ntype its `json` file name. Theme has to be placed in\n`_internal/theme/` folder.\n\n* `[host]` = `...`, this value is used for fetching your LLM models.\nIt is automatically inserted into the `host_url` entry field.\nYou can change it in the `settings.ini` file or by typing a\nnew URL into the entry field and hitting the **\"Enter\"** key.\nThis will fetch new models and save them to settings.\n\n* `[appearance]` = `light` or `dark`, which simply saves the dark mode preference,\nso you don't have to change it each time you open the app.\n\n### Saving and loading\n\nIf you wish, you can save whole conversation by\npressing a `Save` button. It will open a save window,\nselect any location, name and save it as `.txt` file.\n\nLoading a chat is no harder. Press `Load` button\nand select `.txt` file that you created earlier.\nYou will not get any prompt. I usually type\n`What was my first message?` and it responds according to\nthe file that i loaded.\n\n\u003e[!TIP]\n\u003eThe AI doesn't recognize from what LLM the chat was,\n\u003eso you can load for example a conversation from\n\u003e`llama3.1` into `gemma3`.\n\n### Other features\n\n* **Autoscroll** checkbox - whenever you want to hold the page\nand read, uncheck the box. If you check it again it will\nmove you to the last generating line.\n\n* **Font size** - You can increase/decrease the chat font by\npressing **red arrows**. This value is not being saved\nin `settings.ini`.\n\n* **Clear chat** - like the name says it clears the chat window\nand **Clears the conversation history** so the AI will\nnot remember this conversation.\n\n* **Stop button**: Whenever the AI is generating a response,\nthe **stop** button will pop up alongside the **progress bar**.\nWhen you hit it, of course it will stop the conversation,\nbut also it will remove your last question from the history.\n\n## 💻 Customization\n\n![OGC default colors photo](assets/Ollama_default_colors_both.png)\n\nYou can customize the style of the app by editing `*.json`.\nOr by adding your own theme files.\n**OGC** searches for the `json` file in the `_internal/theme/` folder.\n\nPart of the `default.json` file:\n\n```json\n{\n  \"CTk\": {\n    \"fg_color\": [\"#5c549f\", \"#000\"]\n  },\n  \"CTkButton\": {\n    \"corner_radius\": 6,\n    \"border_width\": 1,\n    \"fg_color\": [\"#978dfd\", \"#191a19\"],\n    \"hover_color\": [\"#6f68bd\", \"#4b4d4b\"],\n    \"border_color\": [\"#3a3666\", \"#02b508\"],\n    \"text_color\": [\"#FFFFFF\", \"#00ff04\"],\n    \"text_color_disabled\": [\"gray74\", \"gray60\"]\n  },\n  \"CTkLabel\": {\n    \"corner_radius\": 0,\n    \"fg_color\": \"transparent\",\n    \"text_color\": [\"#FFFFFF\", \"#00ff04\"]\n```\n\n\u003e[!TIP]\n\u003e Colors on the left are for **Light** theme, and on the right for **Dark** theme.\n\nIts pretty easy and self-explanatory. Just change the values\nand see the changes in the app.\nYou can use `HEX` colors or `names` like `\"green\"`.\n\nSome of the values are **hard coded** and `json` file\nhas no impact on them.\n\nDetailed usage of theme file can be found on\nthe official [CustomTkinter](https://customtkinter.tomschimansky.com/documentation/)\npage.\n\n## 🎨 Themes (WIP)\n\nYou can find more themes in **[themes](themes/)** folder.\nEach theme has light and dark mode.\n\n\u003e[!NOTE]\n\u003e`Gruvbox.json`, `Tokyo-Night.json` and `default.json` themes are included in the release file.\n\n### Gruvbox\n\n![Gruvbox Theme](assets/Ollama_gruvbox_both.png)\n\n### Tokyo Night\n\n![Tokyo Night Theme](assets/Ollama_tokyo_night_both.png)\n\n### Nordic\n\n[Download](https://github.com/tomteipl/Ollama-GUI-Chat/blob/main/themes/nordic.json)\n\n![Nordic theme](assets/Ollama_nordic_3.png)\n\n### Catppuccin-mocha\n\n[Download](https://github.com/tomteipl/Ollama-GUI-Chat/blob/main/themes/catppuccin-mocha.json)\n\n![Catppuccin-mocha](assets/Ollama_catppuccin_mocha_3.png)\n\n### Solarized-Osaka\n\n[Download](https://github.com/tomteipl/Ollama-GUI-Chat/blob/main/themes/solarized-osaka.json)\n\n![Solarized-Osaka](assets/Ollama_solarized_osaka_3.png)\n\n## License\n\nThis project is under the [**GPL-3.0**](LICENSE) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomteipl%2Follama-gui-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomteipl%2Follama-gui-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomteipl%2Follama-gui-chat/lists"}