Sidekick is a free, open source ai interaction & interfaces project written in Swift and released under MIT. It has 3,321 GitHub stars, 146 forks and 37 open issues, and was last pushed 1 months ago. On this registry it ranks #82 of 156 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available. It gained 5 stars over the last 30 tracked days.

What is Sidekick?

Sidekick is a native macOS application that lets a user chat with a local large language model which can answer using the contents of files, folders, and websites on that Mac, without installing any other software.

What it is

Sidekick is an open-source, MIT-licensed native macOS app written in Swift. It ships with a built-in inference engine powered by llama.cpp, so local models such as Qwen3.5 run out of the box in the GGUF format, and it is local-first by design: all conversations happen offline and data stays on the machine. Alongside that local core, it accommodates OpenAI-compatible APIs for users who want additional model options on top of the local workflow.

The concrete problem it solves is the assembly work a Mac user would otherwise do to get retrieval-augmented chat over their own material: wiring up a separate local model runtime, a retrieval layer, and a chat front end. Sidekick bundles inference, retrieval, and conversation into one application, which is why the project describes it as requiring no other software. It lives in the macOS application ecosystem, leans on the llama.cpp and GGUF model ecosystem for local inference, and speaks the OpenAI-compatible API convention when remote models are added.

Key capabilities

  • Local inference through the built-in llama.cpp backend, with modern GGUF models such as Qwen3.5 supported out of the box.
  • "Experts" are individually configurable resource sets of files, folders, and websites scoped to specific areas of interest; activating an expert lets Sidekick fetch and reference those materials as needed.
  • RAG-based retrieval means an expert can theoretically hold unlimited resources while Sidekick still finds information relevant to the request.
  • Temporary resources are added by dragging files directly into the input field for the current request.
  • Web search supplies current information to speed up research.
  • Bring your own key for OpenAI-compatible APIs, with built-in presets for OpenAI, Anthropic, Google AI Studio, DeepSeek, Groq, MiniMax, Mistral, xAI, and more.
  • Function calling runs sequentially in a loop until a result is obtained; in the documented example, asking for Nvidia Q3 2025 financial metrics produces 27 tool calls, saves a CSV file, and presents the results.

Who uses it and how

  • Students maintaining one expert per subject, such as English Literature, Mathematics, Geography, Computer Science, and Physics, activating only the one relevant to the current work.
  • Researchers doing source-level work: a history paper on interactions between Aztecs and Spanish troops, where the question "Did the Aztecs use captured Spanish weapons?" returns direct quotes with page numbers, and clicking a reference opens the cited paper in the viewer.
  • Desktop automation: asked to draft an invitation email for a birthday celebration, Sidekick finds the birthday and the recipient's email address from the contacts book and creates a draft in the default email client.
  • Analysts pulling financial metrics, letting the function loop run, and receiving a saved CSV.
  • Privacy-conscious users who need inference and document handling to stay on the Mac while still having the option of remote models via their own API keys.

Getting started

Sidekick is distributed as a native macOS app, so getting started means obtaining the application itself rather than configuring a separate runtime, and no other software is required because the llama.cpp inference engine is built in. Feature documentation and usage guidance are published at https://johnbean393.github.io/Sidekick/.

How it compares

The supplied facts name no paid products that Sidekick replaces, and they name no similar tools to place it alongside. Sidekick therefore stands alone in this registry, and any comparison against other local-model chat clients would go beyond what the available evidence supports.

When to use it — and when not to

The clear boundary is platform: Sidekick is a native macOS app, so anyone on Windows, Linux, or a shared server has no path to it. Teams needing centrally hosted models, multi-user deployment, or audit of conversations should look elsewhere, because the design assumes a single Mac and keeps data on that machine. Honestly noted weaknesses: the project carries 37 open issues, its feature documentation relies heavily on screenshots rather than written specification, and the supplied facts give no packaged distribution method such as a Homebrew formula or image name, so the install path is whatever the project homepage currently offers.

project readme (upstream, from github) — read inline

Logo


Sidekick

Downloads License

Chat with a local LLM that can respond with information from your files, folders and websites on your Mac without installing any other software. All conversations happen offline, and your data stays secure. Sidekick is a local first application –– with a built in inference engine for local models, while accommodating OpenAI compatible APIs for additional model options.

Sidekick supports modern GGUF local models such as Qwen3.5 out of the box through its built-in llama.cpp backend.

Screenshot

Example Use

Let’s say you're collecting evidence for a History paper about interactions between Aztecs and Spanish troops, and you’re looking for text about whether the Aztecs used captured Spanish weapons.

Screenshot

Here, you can ask Sidekick, “Did the Aztecs use captured Spanish weapons?”, and it responds with direct quotes with page numbers and a brief analysis.

Screenshot

To verify Sidekick’s answer, just click on the references displayed below Sidekick’s answer, and the academic paper referenced by Sidekick immediately opens in your viewer.

Features

Read more about Sidekick's features and how to use them here.

Resource Use

Sidekick accesses files, folders, and websites from your experts, which can be individually configured to contain resources related to specific areas of interest. Activating an expert allows Sidekick to fetch and reference materials as needed.

Because Sidekick uses RAG (Retrieval Augmented Generation), you can theoretically put unlimited resources into each expert, and Sidekick will still find information relevant to your request to aid its analysis.

For example, a student might create the experts English Literature, Mathematics, Geography, Computer Science and Physics. In the image below, he has activated the expert Computer Science.

Screenshot

Users can also give Sidekick access to files just by dragging them into the input field.

Screenshot

Sidekick can even respond with the latest information using web search, speeding up research.

Screenshot

Bring Your Own API Key

In addition to its core local-first capabilities, Sidekick allows you to bring your own key for OpenAI compatible APIs. This allows you to tap into additional remote models while still preserving a primarily local-first workflow.

Sidekick ships with built-in presets for popular providers, including OpenAI, Anthropic, Google AI Studio, DeepSeek, Groq, MiniMax, Mistral, xAI, and more — just select a provider and enter your API key to get started.

Function Calling

Sidekick can call functions to boost the mathematical and logical capabilities of models, and to execute actions. Functions are called sequentially in a loop until a result is obtained.

For example, when asking Sidekick to calculate Q3 2025 financial metrics for Nvidia, it makes 27 tool calls, saves the CSV file and presents the results.

Screenshot

When telling Sidekick to draft an invitation email for a birthday celebration to my friend Jean, Sidekick finds my birthday and Jean's email address from my contacts book, and creates a draft in my default email client.

Screenshot

This enables agents running fully locally.

Deep Research

Deep Research is a specific agent implemented in Sidekick to handle long horizon, multi-step research tasks.

Screenshot

Specify a research topic, and let Sidekick do the rest –– reading 50-80 webpages, and synthesizing information to prepare a research report.

Screenshot

Memory

Sidekick can now remember helpful information between conversations, making its responses more relevant and personalized. Whether you're typing, speaking, or generating images in Sidekick, it can recall details and preferences you’ve shared and use them to tailor its responses. The more you use it, the more useful it becomes, and you’ll start to notice improvements over time.

For example, I might tell Sidekick that I am a beginner in Python trying to create my own version of Tetris.

Screenshot

When I ask it about pygame alternatives, it makes recommendations based on my current project, Tetris.

Screenshot

Canvas

Create, edit and preview websites, code and other textual content using Canvas.

Screenshot

Select parts of the text, then prompt the chatbot to perform selective edits.

Screenshot

Image Generation

Sidekick can generate images from text, allowing you to create visual aids for your work.

There are no buttons, no switches to flick, no Image Generation mode. Instead, a built-in CoreML model automatically identifies image generation prompts, and generates an image when necessary.

Screenshot

Image generation is available on macOS 15.2 or above, and requires Apple Intelligence.

Advanced Markdown Rendering

Markdown is rendered beautifully in Sidekick.

LaTeX

Sidekick offers native LaTeX rendering for mathematical equations.

Screenshot

Screenshot

Data Visualization

Visualizations are automatically generated for tables when appropriate, with a variety of charts available, including bar charts, line charts and pie charts.

Screenshot

Screenshot

Charts can be dragged and dropped into third party apps.

Code

Code is beautifully rendered with syntax highlighting, and can be exported or copied at the click of a button.

Screenshot

Fast Generation

Sidekick uses llama.cpp as its inference backend, which is optimized to deliver lightning fast generation speeds on Apple Silicon. It also supports speculative decoding, which can further improve the generation speed.

Screenshot

Optionally, you can offload generation to speed up processing while extending the battery life of your MacBook.

Screenshot

Installation

Requirements

  • A Mac with Apple Silicon
  • RAM ≥ 8 GB

Via Homebrew

brew install --cask arcadi4/tap/sidekick

Download and Setup

  • Follow the guide here.

Goals

The main goal of Sidekick is to make open, local, private, and contextually aware AI applications accessible to the masses.

Read more about our mission here.

Developer Setup

Requirements

  • A Mac with Apple Silicon
  • RAM ≥ 8 GB

Developer Setup Instructions

  1. Clone this repository.
  2. Run ./setup.sh to change the team in the Xcode project.
  3. Open and run in Xcode.

Contributing

Contributions are very welcome. Let's make Sidekick simple and powerful.

Contact

Contact this repository's owner at , or file an issue.

Credits

This project would not be possible without the hard work of:

  • psugihara and contributors who built FreeChat, which this project took heavy inspiration from
  • Georgi Gerganov for llama.cpp
  • Alibaba for training Qwen 2.5
  • Meta for training Llama 3
  • Google for training Gemma 3

Star History

Star History Chart

Frequently asked questions

Is Sidekick free to use?

Sidekick is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Sidekick do?

A native macOS app that allows users to chat with a local LLM that can respond with information from files, folders and websites on your Mac without installing

What is Sidekick written in?

Sidekick is primarily written in Swift. Its source is publicly available at https://github.com/johnbean393/Sidekick, and it has 3,321 GitHub stars.