模型 / 数据集
johnbean393/Sidekick avatar
johnbean393/Sidekick

Sidekick:把 macOS 文件与网站变成本地模型的知识库

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.

3,311 个 Star148 个 ForkSwiftMIT

秒懂

它是什么?
Sidekick 是一款原生 macOS 应用,内置 llama.cpp 推理引擎,让你在离线状态下与本地大模型对话,并让它读取你指定的文件、文件夹和网页。它适合需要隐私保护的研究者,但它的 RAG 与代理能力也带来了一些值得注意的取舍。
适合谁用?
Sidekick 适合那些需要在不离开 Mac、不安装额外软件的情况下,让本地模型基于个人文件或网页内容作答的研究者、学生和隐私敏感用户。它不适合需要大规模并行推理、或者依赖非 OpenAI 兼容远程 API 的团队。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 115 天前。
用什么语言写的?
主要是 Swift(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

本地优先的聊天应用,解决什么问题

Sidekick 是一个用 Swift 编写的原生 macOS 应用,让你与本地大语言模型对话,而模型可以引用你 Mac 上的文件、文件夹和网站内容来作答。它内置了 llama.cpp 推理后端,因此你不需要安装 Python、Ollama 或其他任何依赖。对于研究者、学生或任何处理大量本地文档的人,它试图替代那种把文件上传到云端 AI 服务的做法。所有对话都在离线进行,数据不会离开你的机器。这一点与大多数在线聊天工具形成鲜明对比,也是它被称为 local first 的原因。

从文件到答案:RAG 与专家的机制

Sidekick 的核心是检索增强生成(RAG)。用户创建不同的专家(experts),每个专家可以配置一组特定的资源,比如某个文件夹或某个网站。激活一个专家后,Sidekick 会在这些资源中检索与当前问题相关的片段,再交给本地模型生成回答。文档声称,理论上你可以向每个专家放入无限量的资源,因为 RAG 只提取相关部分。回答下方会列出引用,点击即可打开原始文件。这种设计让用户能按学科或项目组织知识库,例如英语文学、数学或计算机科学,每个专家只在其领域内被激活。

拖拽文件、网页搜索与临时资源

除了专家,Sidekick 还允许用户直接把文件拖入输入框,使其成为临时资源,仅用于当前对话。这避免了为一次性问题专门创建专家的麻烦。此外,Sidekick 支持网页搜索,让模型能获取最新信息,弥补本地模型知识截止日期的不足。根据 README 的截图,用户可以在对话中触发搜索,结果会作为上下文供模型参考。这些功能共同构建了一个灵活的资源获取方式:既有长期配置的专家,也有临时的文件,还有实时的网络信息。

函数调用与本地代理:不止是聊天

Sidekick 实现了函数调用,允许模型在循环中依次调用工具,直到获得结果。README 给出的例子是计算英伟达 2025 年第三季度财务指标,Sidekick 为此进行了 27 次工具调用,最终保存了 CSV 文件。另一个例子是让它起草生日邀请邮件,它会从通讯录中找到生日和邮箱地址,然后在默认邮件客户端中创建草稿。这意味着 Sidekick 不只是聊天机器人,而是一个能执行操作的代理。函数调用是顺序执行的,这保证了步骤的可追溯性,但也意味着复杂任务可能需要较长时间。

深度研究:长任务代理的实现

Sidekick 内置了一个名为 Deep Research 的特定代理,用于处理多步骤、长周期研究任务。用户只需指定一个研究主题,Sidekick 就会自动阅读 50 到 80 个网页,并综合信息生成研究报告。这与其他聊天应用中的单轮问答不同,它需要规划、导航和摘要能力。由于所有推理在本地进行,这类任务对硬件的要求很高,尤其是内存和 CPU 性能。文档没有说明深度研究是否支持中断或恢复,但考虑到它需要读取大量网页,一次完整运行可能耗时较长。

记忆与画布:个性化与内容编辑

Sidekick 包含一个记忆功能,可以在对话之间记住用户分享的信息,例如用户的编程水平或当前项目。在后续对话中,模型会利用这些记忆来调整回答。例如,如果你告诉它你是 Python 初学者并正在制作俄罗斯方块,它推荐 pygame 替代方案时会基于这个背景。另一个功能是 Canvas,允许用户创建、编辑和预览网站、代码等文本内容。用户可以选择文本的一部分,然后要求聊天机器人进行针对性修改。这两个功能都依赖模型的上下文管理,但记忆的持久性如何、是否可清除,文档中没有详细说明。

图像生成与模型支持:内置还是外部

Sidekick 可以生成图像,但方式特殊:没有专门的按钮或模式,而是内置的 CoreML 模型自动识别用户的图像生成提示,然后触发生成。这减少了操作步骤,但也可能产生误判,即文本请求被错误地当作图像生成。对于本地模型,Sidekick 支持现代 GGUF 格式,例如 Qwen3.5,通过内置的 llama.cpp 后端运行。同时,它也允许用户自带 OpenAI 兼容 API 的密钥,并提供了多个提供商的预设,包括 OpenAI、Anthropic、Google AI Studio、DeepSeek、Groq 等。这意味着你可以在本地优先的基础上,接入远程模型以扩展能力。

运行方式与限制:你需要知道什么

根据仓库信息,Sidekick 仍处于 1.0.0 候选发布阶段,最近一次发布是 rc.18。这意味着 API 和功能可能仍会变化。要使用它,你需要从 GitHub Releases 下载应用,或者从源码构建,但 README 没有提供具体的构建命令。运行前,你需要准备一个 GGUF 格式的模型文件,因为应用不包含模型本身。一个明显的限制是,所有推理都在本机进行,因此模型大小受限于 Mac 的内存。深度研究功能需要读取大量网页,这会产生显著的功耗和时间成本。另一个限制是,虽然支持外部 API,但如果你完全依赖远程模型,就失去了本地优先的隐私优势。

编辑结论

Sidekick 适合那些需要在不离开 Mac、不安装额外软件的情况下,让本地模型基于个人文件或网页内容作答的研究者、学生和隐私敏感用户。它不适合需要大规模并行推理、或者依赖非 OpenAI 兼容远程 API 的团队。在采用前,请先确认你打算使用的模型是 GGUF 格式,并且你的 Mac 内存足以运行该模型,因为所有推理都在本机进行。同时,由于项目仍处于 1.0.0 候选发布阶段,建议先在小规模文档集上测试其引用准确性,再决定是否作为日常研究工具。

官方来源

  1. johnbean393/Sidekick on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
社区笔记

社区笔记