Introduction
Running a language model in a terminal and typing questions manually is a useful starting point, but it is not how most people want to use AI in practice. The real productivity gain comes when local models integrate seamlessly into the tools you already use — your text editor, your note-taking application, your browser, your code environment. This lesson covers the practical pathways for connecting a locally running model to the software in your existing workflow.
The key that unlocks most integrations is the OpenAI-compatible API. Ollama, LM Studio, and Jan all expose a local HTTP endpoint that accepts requests in exactly the same format that OpenAI's API uses. This means that any application with an OpenAI integration — and there are thousands of them — can be redirected to your local model by changing one setting. You do not need to modify the application, rewrite code, or understand how the model works internally. You just change a URL and, in most cases, the application works immediately with your local model.
This lesson walks through three categories of integration: graphical chat interfaces that give you a polished user experience, editor and IDE plugins that bring local AI into your writing and coding environment, and programmatic access via Python and JavaScript for users who want to build their own simple tools. By the end you will have at least one integration running that fits your actual daily workflow.
Graphical Interfaces: From Terminal to Chat Window
The most immediate improvement over the terminal is a graphical chat interface. Open WebUI is the most popular choice: it is a browser-based application you can run locally that provides a ChatGPT-style conversation interface connected to your Ollama server. It supports conversation history, multiple chat sessions, document uploads, image understanding (with vision-capable models), and a model selector that lets you switch between any model you have downloaded. Installation via Docker requires two commands and takes about five minutes.
LM Studio includes a built-in chat interface as part of its desktop application, making it a single-package solution for users who prefer not to manage Docker containers. The chat view in LM Studio also includes parameter controls — you can adjust temperature (which affects how creative or deterministic the responses are), context length, and other settings without touching a configuration file. Jan similarly provides an integrated chat interface with a focus on privacy: it has no telemetry by default and all conversation history is stored locally on your machine.
For mobile users, several iOS and Android applications can connect to a locally running Ollama server over your home Wi-Fi network. This setup — a desktop machine running Ollama, a phone app connecting to it — effectively gives you a private AI assistant on your phone that runs entirely on hardware you own, with no subscription and no data leaving your home network. The Ollama server needs to be configured to accept connections from your local network rather than only from localhost, which involves a one-line environment variable change documented in the Ollama repository.
Choosing between these interfaces is largely a matter of preference and technical comfort. Open WebUI is the most feature-rich and actively developed. LM Studio's built-in interface is the most beginner-friendly. Jan is the most privacy-preserving. All three accomplish the same core function: turning your local Ollama server into something that feels like a normal application rather than a command-line tool.
Editor Integrations: AI in Your Writing and Coding Environment
For writers, the most useful integrations are in tools like Obsidian and VS Code. Obsidian — a popular local-first note-taking application — has a plugin called Copilot that can be configured to use a local Ollama endpoint instead of a cloud API. Once configured, you can highlight any text in your notes, open a chat panel, and ask questions about it, request rewrites, or generate continuations — all without leaving the application and without sending your notes to a cloud server. This is particularly valuable for journals, research notes, or any writing that contains sensitive personal information.
For developers, VS Code has multiple extensions that support local model backends. Continue.dev is one of the most capable: it provides inline code completion, a chat sidebar, and the ability to ask questions about selected code, all pointed at your local Ollama instance. The experience is similar to GitHub Copilot but runs entirely locally. Configuration requires adding your Ollama endpoint and model name to Continue's settings file — a process that takes about ten minutes and is well-documented.
Neovim users have even more mature local AI integration options, as the community around that editor has built several plugins designed from the start to work with local models. Emacs users will find similar support. The pattern is consistent across editors: find a plugin that supports OpenAI-compatible endpoints, point it at http://localhost:11434/v1, provide any string as the API key (local Ollama does not require authentication), and select your model. The same three steps work across virtually every tool that has attempted an AI integration.
Programmatic Access: Building Simple Tools in Python
For users comfortable with basic programming, Ollama's Python library makes it possible to build custom tools in a few lines of code. After installing the library with pip install ollama, you can send a prompt and receive a response in four lines of Python. This opens up possibilities that no existing application addresses: automatically summarizing a folder of documents, asking questions about a CSV file, drafting responses to emails based on templates, or generating structured data from unstructured text.
Ollama also supports the OpenAI Python SDK directly. You instantiate the OpenAI client with base_url="http://localhost:11434/v1" and any string as the API key. Every method — chat.completions.create, streaming, function calling, embeddings — works with your local model. This matters because the enormous ecosystem of tutorials, libraries, and examples built around the OpenAI SDK is immediately available to you, all running against your local hardware rather than a paid cloud service.
A practical starting project is a simple document question-answering script: read a text file, construct a prompt that includes its contents, ask a question, and print the answer. This script has real utility — you can use it to quickly extract information from long documents, compare two versions of a file, or check whether a piece of writing covers required topics. It also teaches you the core pattern of all local AI programming: load content, construct a prompt, send to the model, process the output. Every more sophisticated application builds on this foundation.
Key Terms
- OpenAI-compatible API — An HTTP endpoint that accepts requests in the same format as OpenAI's API, allowing applications built for OpenAI to work with local models without code changes.
- Docker — A containerization platform that packages applications with all their dependencies; used to run Open WebUI and other self-hosted tools reliably across different operating systems.
- Temperature — A parameter controlling the randomness of model output; low values produce consistent, predictable responses while high values produce more varied and creative ones.
- Plugin / extension — A software add-on that extends an existing application; editor plugins bring AI functionality into tools like VS Code and Obsidian.
- Embedding — A numerical representation of text as a vector of numbers; used by retrieval systems to find semantically similar passages without keyword matching.
- Localhost — The network address referring to the current machine; Ollama listens on localhost by default, meaning only programs on the same computer can reach it.
Discussion Questions
- The OpenAI-compatible API standard means that local models and cloud models are increasingly interchangeable from a software perspective. What are the implications of this for the AI industry, and who benefits most?
- Editor integrations like Continue.dev mean that AI can read your code and notes as you write them. Does the local nature of these integrations change your comfort level with this kind of access? Where do you draw the line?
- Most existing AI integrations were designed for cloud APIs with reliable high-speed internet connections. What assumptions baked into these tools become problems when the model is running on local hardware that might be slower or less consistent?
Further Reading
- Continue.dev Team — Continue Documentation: Local Model Setup Guide (continue.dev)
- Olivier Halligon — Building AI-Powered Tools with the OpenAI Python SDK (practical tutorial series)
- Simon Willison — LLM, a CLI utility and Python library for working with large language models (simonwillison.net/llm)
Key Takeaways
- The OpenAI-compatible API standard means that thousands of existing tools can connect to your local model by changing a single URL, with no code modifications required.
- Graphical interfaces like Open WebUI, LM Studio, and Jan transform local AI from a terminal curiosity into a usable daily tool for non-technical users.
- Editor integrations bring AI assistance directly into writing and coding workflows, with local models eliminating the privacy concerns that come with cloud-based coding assistants.
- Even basic Python programming skills unlock powerful custom workflows that no existing application offers out of the box.
Homework
Choose one integration from this lesson and implement it: install Open WebUI, configure the Continue.dev VS Code extension, or write a ten-line Python script that sends a prompt to your local Ollama server and prints the response. Write 350 words describing what you built, what friction you encountered, and what you used it for in a real task. If you do not have a suitable device, research one integration in depth — read its documentation and watch a tutorial — and write 350 words describing what it does, how it works, and what you would use it for if you had access to the hardware.