TinMan

TinMan — AI Assistant

TinMan is a private, locally hosted AI assistant built for home use. It runs entirely on your own hardware, connects to a set of intelligent tools, and remembers who you are across conversations — all without sending any data to external cloud services.

What TinMan Can Do

💬 Conversation

TinMan holds natural, flowing conversations on almost any topic — answering questions, explaining concepts, helping with decisions, or just chatting. It adapts to the way you communicate and maintains context throughout a session.

🔍 Web Search

When a question requires up-to-date information, TinMan searches the internet in real time and summarises the results. It automatically decides when to search based on the nature of your question — you do not need to ask it to.

🌤️ Weather Forecasts

Ask for a weather forecast for any city or region and TinMan will retrieve the current conditions and an outlook for the coming days. Example: "What is the weather like in Dublin this week?"

📖 Deep Research

For complex topics, TinMan can run a multi-step research process — gathering information from multiple sources, cross-referencing results, and producing a detailed written summary. Deep research tasks stream their progress live so you can see each stage as it completes.

💻 Code Assistance

TinMan can write, explain, and debug code across many languages including Python, JavaScript, TypeScript, HTML, CSS, SQL, and more. Code responses are syntax-highlighted and include a one-click copy button. It automatically switches to a coding-optimised model when a coding request is detected.

🧠 Memory

TinMan remembers you. It stores key facts about your preferences, interests, and past conversations, and recalls relevant context each time you start a new session. The memory system works silently in the background — you never need to remind it who you are.

News & Feeds

📰 Curated News

The News page aggregates headlines from international and European news sources via the NewsAPI service. Articles are scored using sentiment analysis and filtered to surface positive or neutral stories. The feed refreshes automatically and is cached for three hours to respect API limits.

🌱 Interest Feeds

Alongside the news strip, TinMan displays live RSS feeds from sources chosen around the household's interests — currently covering homesteading and self-sufficiency, children's books and education, and animation industry news. Each column shows the three most recent articles with thumbnail images.

How TinMan Is Designed

Local-First Architecture

Every part of TinMan runs on hardware inside your home network. The AI model runs locally via Ollama, conversation history is stored in a local Qdrant vector database, and authentication is handled by a self-hosted Keycloak server. No conversation text, personal data, or usage information is transmitted to any external service.

Three-Tier Memory System

TinMan's memory is organised into three layers that work together automatically:

  • Conversational memory — the recent turns of your current session, giving the model short-term context.
  • Episodic memory — summarised snapshots of past sessions, retrieved by semantic similarity to your current question.
  • Profile / Facts — discrete facts learned about you over time (preferences, background, goals), stored and retrieved as structured data.

All memory is scoped to your user account and is never shared between users. You can view and delete your memory data from the admin tools.

Tool System (MCP)

TinMan's capabilities beyond conversation are delivered through a Model Context Protocol (MCP) server — a local service that exposes tools the AI model can call. The model decides autonomously which tool to use based on your message. Tools include web search, weather lookup, and deep research. The tool list is extensible: new tools can be added to the MCP server without changing TinMan itself.

Streaming Responses

All AI responses stream token by token to the browser using Server-Sent Events (SSE), so you see the reply as it is generated rather than waiting for it to complete. Long tool calls (such as deep research) stream a live progress indicator showing each stage.

Content Safety

Every response passes through a content guardrail layer before it is shown. Responses that contain blocked language or inappropriate content are intercepted and replaced with a safe alternative. The guardrails are designed to keep the experience suitable for all ages.

Authentication

Access to the AI Assistant is protected by Keycloak using the OpenID Connect protocol. Only users with a valid account on the local Keycloak server can log in. Sessions are managed securely and logout clears both the TinMan session and the Keycloak single sign-on token.

Technology Stack

TinMan is built entirely from open-source components and runs without any cloud subscriptions.

Flask 3 Python 3.12 Ollama Qdrant Keycloak MCP Authlib httpx NewsAPI feedparser VADER Sentiment Markdown / Pygments

Getting Started

If you have a login, click Login in the menu to sign in with your Keycloak account. Once authenticated, the AI Assistant link will appear in the navigation menu.

You can ask anything in plain language. TinMan will automatically choose the right tool — searching the web, checking the weather, or running a deep research task — without you needing to specify how it should respond.

Visit the News page at any time to browse the latest curated headlines and interest feeds — no login required.