
What’s new in this fork
- Completely redesigned theme — light / dark (
prefers-color-scheme+data-theme), new sidebar / composer / messages layout, mobile-responsive. Seesrc/ollama_chat/static/app.cssandsrc/ollama_chat/static/app.js. - Thinking mode toggle — paw button in composer. Sends
{"think": true|false}viastartConversation/replyConversation→ChatManager(think=...)→ollama_chat(..., think=...)(src/ollama_chat/ollama.py:43,src/ollama_chat/chat.py:23). Persisted inlocalStorage(ollama-chat-thinking). Visual stateicon-btn thinking-active(src/ollama_chat/static/app.css:777). - Web search (tool calling) — globe button left of the thinking paw. Sends
{"search": true|false}, the back-end hands Ollama two tools (web_search,fetch_page) and runs thetool_callsloop (max 5 rounds per answer) →ChatManager(search=...)→ollama_chat(..., tools=...)(src/ollama_chat/web_tools.py,src/ollama_chat/chat.py). Persisted inlocalStorage(ollama-chat-websearch), off by default. Active classicon-btn websearch-active; used tools are shown as a collapsible block in the chat. - File attachments — upload button in composer, up to 10 files per message (selected files accumulate, each chip has a remove button,
3 / 10counter). Supported:txt,md,docx,png,jpg,jpeg. Text is appended to user message,docxparsed withpython-docx, images sent as base64images(src/ollama_chat/chat.py:67,src/ollama_chat/static/app.js:149). Attached file names are stored on the exchange (ConversationFileRef) and shown as chips above each user message, sending with empty text allowed. - Markdown viewer (.md preview in chat) — button next to theme toggle in sidebar toolbar. Opens system file picker (
accept=".md,.markdown"), reads file withFileReaderand renders it inside the chat area viamarked+DOMPurify(src/ollama_chat/static/app.js:505,src/ollama_chat/static/app.css:987). Header shows filename +Close previewbutton,Escalso closes. No upload to server, works offline. - Reliable rename —
Renamein chat menu now updates both sidebar and open header instantly and awaitsPOST /setConversationTitlebefore navigation (src/ollama_chat/static/app.js:885,src/ollama_chat/static/ollamaChatConversation.bare:312). - One-click Windows launch —
start.bat/install.bat—install.batclones to clean folder + creates.venv,start.batcreates.venvif missing and forwards all args toollama-chat(e.g.start.bat -p 8080).
Ollama Chat is a conversational AI chat client that uses Ollama to interact with local large language models (LLMs) entirely offline. Ideal for AI enthusiasts, developers, or anyone wanting private, offline LLM chats.
Fork: OlegUshakov-pl/ollama-chat — fork of craigahobbs/ollama-chat with a redesigned theme, thinking-mode toggle, and file attachments.
Quick start
Requirements: Ollama running + Python 3.11+ and Git on PATH.
Option A — via install.bat (clean folder, recommended for Windows)
The easiest way for new users — just copy install.bat into an empty folder and run it:
-
Create an empty folder and copy
install.batfrom this repository into it (or download it). -
Double-click
install.bat(or runinstall.batfrom a console).install.bat:1will clonehttps://github.com/OlegUshakov-pl/ollama-chat.gitinto.\ollama-chat(if not already present), create.venv, upgradepip, and runpip install -e .(includespython-docxfor.docxsupport). -
Go to the cloned folder and start the server:
cd ollama-chat start.batThe app opens at http://127.0.0.1:8080/ , config file is
ollama-chat.jsonin the user’s home directory.
Option B — via start.bat (if you already cloned)
git clone https://github.com/OlegUshakov-pl/ollama-chat.git
cd ollama-chat
start.bat
What start.bat does (start.bat:1):
- Creates
.venvin the project root if missing (python -m venv .venv). - Activates the environment and removes stale
~*directories fromsite-packages. - Installs dependencies and the package (
pip install -e .) if.venv\Scripts\ollama-chat.exeis not yet present (skips on re-run, works offline). - Runs
ollama-chat %*— all arguments are forwarded (e.g.start.bat -p 8080 -h 127.0.0.1).
You can also double-click start.bat in File Explorer.
If
OLLAMA_HOSTis nothttp://127.0.0.1:11434, set the environment variable before launching — seesrc/ollama_chat/ollama.py:19.





