[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6999":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":19,"lastSyncTime":48,"discoverSource":49},6999,"Sidekick","johnbean393\u002FSidekick","johnbean393","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 any other software. Powered by llama.cpp.","https:\u002F\u002Fjohnbean393.github.io\u002FSidekick\u002F",null,"Swift",3269,143,26,33,0,3,36,2,63.58,"MIT License",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"agentic-ai","agents","ai","ai-agents","aichat","chatbot","deep-research","deepseek","deepseek-r1","gpt-oss","llama","llama4","llm","macos","qwen","qwen3","rag","swift","swiftui","2026-06-12 04:00:31","\u003Ch1 align=\"center\">\n  \u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FappIcon.png\" alt=\"Logo\" width = \"200\" height = \"200\">\n  \u003C\u002Fp>\n  \u003Cbr \u002F>\n  Sidekick\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n\u003Cimg alt=\"Downloads\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fjohnbean393\u002FSidekick\u002Ftotal?label=Downloads\" height=22.5>\n\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fjohnbean393\u002FSidekick?label=License\" height=22.5>\n\u003C\u002Fp>\n\nChat 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 \u003Cstrong>local first\u003C\u002Fstrong> application –– with a built in inference engine for local models, while accommodating OpenAI compatible APIs for additional model options.\n\nSidekick supports modern GGUF local models such as Qwen3.5 out of the box through its built-in `llama.cpp` backend.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FdemoScreenshot.png)\n\n## Example Use\n\nLet’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.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FExperts\u002FdemoHistoryScreenshot.png)\n\nHere, you can ask Sidekick, “Did the Aztecs use captured Spanish weapons?”, and it responds with direct quotes with page numbers and a brief analysis.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FExperts\u002FdemoHistorySource.png)\n\nTo 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.\n\n## Features\n\nRead more about Sidekick's features and how to use them [here](https:\u002F\u002Fjohnbean393.github.io\u002FSidekick\u002F).\n\n### Resource Use\n\nSidekick 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.\n\nBecause 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.\n\nFor 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`.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FExperts\u002FdemoExpertUse.png)\n\nUsers can also give Sidekick access to files just by dragging them into the input field.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FdemoTemporaryResource.png)\n\nSidekick can even respond with the latest information using **web search**, speeding up research.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FWeb%20Search\u002FwebSearch.png)\n\n### Bring Your Own API Key\n\nIn 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.\n\nSidekick 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.\n\n### Function Calling\n\nSidekick 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.\n\nFor 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.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FFunction%20Calling\u002FfunctionCallingFinancialMetrics.png)\n\nWhen 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.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FFunction%20Calling\u002FfunctionCallingDraftEmail.png)\n\nThis enables agents running fully locally.\n\n### Deep Research\n\nDeep Research is a specific agent implemented in Sidekick to handle long horizon, multi-step research tasks.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FDeep%20Research\u002FdeepResearchProgress.png)\n\nSpecify a research topic, and let Sidekick do the rest –– reading 50-80 webpages, and synthesizing information to prepare a research report.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FDeep%20Research\u002FdeepResearchReport.png)\n\n### Memory\n\nSidekick 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.\n\nFor example, I might tell Sidekick that I am a beginner in Python trying to create my own version of Tetris.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FMemory\u002FmemoryRemember.png)\n\nWhen I ask it about `pygame` alternatives, it makes recommendations based on my current project, Tetris.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FMemory\u002FmemoryUse.png)\n\n### Canvas\n\nCreate, edit and preview websites, code and other textual content using Canvas.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FCanvas\u002FcanvasWebsite.png)\n\nSelect parts of the text, then prompt the chatbot to perform selective edits.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FCanvas\u002FcanvasSelectiveEdit.png)\n\n### Image Generation\n\nSidekick can generate images from text, allowing you to create visual aids for your work.\n\nThere 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.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FImage%20Generation\u002FimageGeneration.png)\n\nImage generation is available on macOS 15.2 or above, and requires Apple Intelligence.\n\n### Advanced Markdown Rendering\n\nMarkdown is rendered beautifully in Sidekick.\n\n#### LaTeX\n\nSidekick offers native LaTeX rendering for mathematical equations.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FlatexRendering1.png)\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FlatexRendering2.png)\n\n#### Data Visualization\n\nVisualizations are automatically generated for tables when appropriate, with a variety of charts available, including bar charts, line charts and pie charts.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FdataVisualization1.png)\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FdataVisualization2.png)\n\nCharts can be dragged and dropped into third party apps.\n\n#### Code\n\nCode is beautifully rendered with syntax highlighting, and can be exported or copied at the click of a button.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FConversations\u002FcodeExport.png)\n\n### Toolbox\n\nUse **Tools** in Sidekick to supercharge your workflow.\n\n#### Inline Writing Assistant\n\nPress `Command + Control + I` to access Sidekick's inline writing assistant. For example, use the `Answer Question` command to do your homework without leaving Microsoft Word!\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FInline%20Writing%20Assistant\u002FinlineWritingAssistantCommands.png)\n\nUse the default keyboard shortcut `Tab` to accept suggestions for the next word, or `Shift + Tab` to accept all suggested words. View a demo [here](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1DDzdNHid7MwIDz4tgTpnqSA-fuBCajQA\u002Fpreview).\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FInline%20Writing%20Assistant\u002FinlineWritingAssistantCompletions.png)\n\n#### Detector\n\nUse Detector to evaluate the AI percentage of text, and use provided suggestions to rewrite AI content.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FDetector\u002FdetectorEvaluationResults.png)\n\n#### Diagrammer\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FDiagrammer\u002FdiagrammerPrompt.png)\n\nDiagrammer allows you to swiftly generate intricate relational diagrams all from a prompt. Take advantage of the integrated preview and editor for quick edits.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FDiagrammer\u002FdiagrammerPreviewEditor2.png)\n\n#### Slide Studio\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FSlide%20Studio\u002FslideStudioPrompt.png)\n\nInstead of making a PowerPoint, just write a prompt. Use AI to craft 10-minute presentations in just 5 minutes.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FSlide%20Studio\u002FslideStudioPreviewEditor.png)\n\nExport to common formats like PDF and PowerPoint.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FTools\u002FSlide%20Studio\u002FslideStudioExport.png)\n\n### Fast Generation\n\nSidekick 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.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FLocal%20Models\u002FspeculativeDecodingSupport.png)\n\nOptionally, you can offload generation to speed up processing while extending the battery life of your MacBook.\n\n![Screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fjohnbean393\u002FSidekick\u002Frefs\u002Fheads\u002Fmain\u002FDocs%20Images\u002FFeatures\u002FRemote%20Models\u002FremoteModelSettingsTop.png)\n\n## Installation\n\n### Requirements\n\n- A Mac with Apple Silicon\n- RAM ≥ 8 GB\n\n### Via Homebrew\n\n```bash\nbrew install --cask arcadi4\u002Ftap\u002Fsidekick\n```\n\n### Download and Setup\n\n- Follow the guide [here](https:\u002F\u002Fjohnbean393.github.io\u002FSidekick\u002FMarkdown\u002FgettingStarted\u002F).\n\n## Goals\n\nThe main goal of Sidekick is to make open, local, private, and contextually aware AI applications accessible to the masses.\n\nRead more about our mission [here](https:\u002F\u002Fjohnbean393.github.io\u002FSidekick\u002FMarkdown\u002FAbout\u002Fmission\u002F).\n\n## Developer Setup\n\n### Requirements\n\n- A Mac with Apple Silicon\n- RAM ≥ 8 GB\n\n### Developer Setup Instructions\n\n1. Clone this repository.\n1. Run `security find-identity -p codesigning -v` to find your signing identity.\n   - You'll see something like\n   - `1) \u003CSIGNING IDENTITY> \"Apple Development: Michael DiGovanni ( XXXXXXXXXX)\"`\n1. Run `.\u002Fsetup.sh \u003CTEAM_NAME> \u003CSIGNING IDENTITY FROM STEP 2>` to change the team in the Xcode project and download and sign the `marp` binary.\n   - The `marp` binary is required for building and must be signed to create presentations.\n1. Open and run in Xcode.\n\n## Contributing\n\nContributions are very welcome. Let's make Sidekick simple and powerful.\n\n## Contact\n\nContact this repository's owner at \u003Cjohnbean393@gmail.com>, or file an issue.\n\n## Credits\n\nThis project would not be possible without the hard work of:\n\n- psugihara and contributors who built [FreeChat](https:\u002F\u002Fgithub.com\u002Fpsugihara\u002FFreeChat), which this project took heavy inspiration from\n- Georgi Gerganov for [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp)\n- Alibaba for training Qwen 2.5\n- Meta for training Llama 3\n- Google for training Gemma 3\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#johnbean393\u002FSidekick&Date\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=johnbean393\u002FSidekick&type=Date&theme=dark\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=johnbean393\u002FSidekick&type=Date\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=johnbean393\u002FSidekick&type=Date\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n","Sidekick 是一款原生 macOS 应用程序，允许用户与本地的大型语言模型（LLM）进行聊天，该模型能够从用户的文件、文件夹和网站中提取信息，而无需安装其他软件。其核心功能包括使用内置的 `llama.cpp` 引擎支持本地模型（如 Qwen3.5），并兼容 OpenAI API 以提供更多模型选项；此外，它还采用了检索增强生成（RAG）技术，使得用户可以为特定领域配置专家资源库，让 Sidekick 能够高效地引用相关资料来辅助分析。这款应用非常适合需要在离线环境下安全地处理个人数据的研究人员、学生或任何希望利用本地AI助手提高工作效率的人士。","2026-06-11 03:10:04","top_language"]