Your private AI assistant for Mac.
Write, translate, summarize, and work with your files using models running locally on your Mac.
Install Sumika, download a model in the app, and start chatting.
No recurring AI subscription required.
Download Sumika for Mac
For Apple silicon Macs running macOS 15 or later.
Install · Features · Privacy · Architecture · Development · License
|
|
|
Open Sumika, download a recommended model from Models, and start chatting in Chat mode. The initial model download requires an internet connection.
Once installed, Sumika checks automatically for new versions. When an update is available, the app guides you through installing it, so you do not need to download another DMG. You can also check manually from Sumika > Check for Updates….
- Analyze documents and spreadsheets. Attach Word documents, Excel spreadsheets, PowerPoint presentations, and PDFs. Get summaries and ask questions about their contents. Built-in AnyDoc reads the documents locally.
- Search the web and read pages. Find information through web search and ask Sumika to read public web pages for summaries or follow-up questions. Web access is optional and off by default.
- Connect apps and services. Use compatible MCP servers to bring tools from other apps and services into Work mode. Choose which connections each conversation can use.
- Write, translate, and brainstorm. Draft emails, improve your writing, translate text, or develop ideas in Chat mode.
- Create and preview local projects. Use Work mode to write code, edit text files, run commands, and preview HTML projects beside the conversation.
- Speak and listen. Dictate prompts with local speech recognition and hear responses using Apple system voices.
- Chat: ask questions, draft text, and discuss attached documents. Translate, brainstorm, or research the public web. No workspace access, commands, or file changes.
- Work: work with files, run commands, and use connected tools. Choose a workspace folder for coding and file tasks. Build local prototypes with an integrated terminal and browser preview.
Choose the files and folder you share with Sumika. Inspect model context, tool actions, approvals, and command output in the conversation.
Manual approval is the default for file changes, commands, and MCP calls. Enable Auto-approve in the composer's Options for a session, or change the default for new sessions in Settings.
Ask about Word, PDF, PowerPoint, Excel (including legacy XLS), OpenDocument, RTF, EPUB, CSV, and text files. Sumika reads documents locally with AnyDoc and reads CSV and text files directly. Work mode can also read supported documents from the selected workspace.
Attach up to eight files, with 32,000 extracted characters total per message and 64 MiB per document. Accepted text is supplied in full; these limits do not cap conversation history or response length. Scanned PDFs need OCR first; Sumika does not perform it.
Listen to responses with Apple system voices, or dictate prompts using local English or multilingual transcription models. Choose the voice and speech rate in Settings.
Web access is off by default. Enable it in Settings > Web Access, with Ask each time or Allow. Search uses DuckDuckGo or your SearXNG instance; page fetching uses the built-in extractor or self-hosted Firecrawl.
Connect apps and services through Model Context Protocol (MCP) servers. Configure stdio or Streamable HTTP servers in Settings, then select them per Work session. MCP tools follow the session's approval policy and are unavailable in Chat.
For Python servers, use uvx or uv: Sumika includes uv and downloads Python
and dependencies on first use, then reuses them. Setup may need internet access.
See MCP runtime details for paths, command
handling, and offline configuration.
Work mode reads the workspace-root AGENTS.md before each turn. Type $ to
browse skills or $name to activate one. Skills come from project and user
.agents/skills, .claude/skills, and .cursor/skills folders, in that order;
project skills take precedence over user skills.
Your chats, attachments, and settings are stored on your Mac. AI responses, document reading, dictation, and speech run locally. Sumika has no built-in telemetry or hosted AI service receiving your conversations.
Most app data lives in ~/Library/Application Support/Sumika/:
| Folder or file | Contents |
|---|---|
WorkspaceLibrary/ |
Workspace records and chat history, including messages, extracted document text, and tool results. |
Attachments/ |
Copies of files you attach to conversations. |
Models/ |
Downloaded AI models. |
Workspaces/Personal/ |
Files in the default Personal workspace. Other workspaces use the folders you select. |
app-behavior-settings.json, model-settings.json, web-access-settings.json, mcp-servers.json |
App preferences, model settings, web access settings, and MCP server configurations. |
MCP/ |
Managed Python installations and environments for MCP servers. |
debug/ |
Optional local diagnostic traces, which can include prompts, responses, and tool arguments. Tracing is off by default. |
Dictation models are stored separately in
~/Library/Application Support/FluidAudio/Models/. Python and package downloads
for MCP servers are cached in ~/Library/Caches/Sumika/MCP/uv/.
To open these locations in Finder, choose Go > Go to Folder and paste the
path. ~ means your home folder. macOS manages UI preferences and system voices
separately. See Persistence for storage details.
AI and dictation model downloads, update checks, and initial MCP dependency setup contact their download sources. They do not require uploading your conversations.
Web access is off by default. When enabled, search sends queries to your selected search provider, and page fetching sends URLs to the requested site or your configured Firecrawl service. MCP calls pass tool arguments to the selected server; connected services may receive the data you ask them to use.
Work commands and HTML previews can also make network requests, depending on the code you run or load. The Web Access setting controls Sumika's built-in web tools; it does not block network access for commands, previews, or MCP servers.
Sumika means "dwelling" or "place to live" in Japanese. It's a home for AI on your Mac.
All listed models run locally and support Chat mode and tool calling in Work mode. The model browser groups them by use case, highlights recommended choices, and marks whether a model accepts images or text only.
Download sizes are estimates of storage space, not the memory required to run a model. Larger models need more memory, and memory usage also grows with the length of the conversation. Start with a smaller model if your Mac has limited memory.
| Model | Download size |
|---|---|
| Gemma 4 E4B QAT 4-bit | 6.8 GB |
| Gemma 4 12B QAT 4-bit | 11.0 GB |
| Gemma 4 26B A4B QAT 4-bit | 15.6 GB |
| Gemma 4 31B QAT 4-bit | 28.8 GB |
| Qwen 3.6 35B A3B 4-bit | 20.4 GB |
| Qwen 3.6 35B A3B OptiQ 4-bit | 24.7 GB |
| Qwen 3.6 35B A3B 8-bit | 37.7 GB |
| Qwen 3.6 27B 4-bit | 16.1 GB |
| Qwen 3.6 27B OptiQ 4-bit | 20.0 GB |
| Qwen 3.6 27B 8-bit | 29.5 GB |
| Qwen 3.8 27B OptiQ 4-bit | 20.0 GB |
| Swift-1.5 4-bit | 15.8 GB |
| Qwen 3.6 40B uncensored 8-bit | 41.5 GB |
Sumika is an evolving prototype. It is useful for local conversations, everyday AI assistance, and agent workflows, but APIs, persisted data, and workflows are still changing.
The project uses one Swift package with three production modules and a thin native Xcode app target:
SumikaCoreowns provider-neutral domain models, agent/workflow logic, persistence, tools, and runtime interfaces.SumikaRuntimeMLXimplements the local MLX/Hugging Face runtime behind the core interfaces.SumikaAppowns SwiftUI/AppKit, launch composition, and macOS integrations such as Sparkle.sumika/contains only the native app launcher, resources, entitlements, and bundle metadata.
Dependencies point one-way: SumikaApp -> SumikaRuntimeMLX ->
SumikaCore; SumikaApp may also use SumikaCore directly. All external
product dependencies are declared in the root Package.swift; the isolated
SwiftLint tool package lives under script/swiftlint. The Xcode app target
links only the local SumikaApp product.
- Tool Runtime: core flow for adding type-safe tools, permissions, registries, and model-facing tool calls.
- Chat Runtime: chat turn lifecycle, cancellation, transcript state, and model-context filtering.
- Contributing: contribution and pull request expectations.
- Development: requirements, architecture, and dependencies.
- Testing: verification, sanitizer limitations, and benchmarks.
- Security: supported versions and private vulnerability reporting.
- Changelog: release history and notable changes.
- Release Process: signing, packaging, notarization, and update-feed publication.
Development requires the Apple toolchain recorded in versions.env, a macOS version supported by that Xcode release, and Homebrew.
Install the development tools and build the app from the repository root:
brew version-install just@1.58.0
brew version-install typos-cli@1.50.0
just deps
just build
open "build/DerivedData/Build/Products/Debug/Sumika.app"You can also open Sumika.xcodeproj and run the Sumika scheme for macOS.
See Development for setup and architecture,
Testing for tests and verification, and the
Release Process for signing and packaging.
Use just release-unsigned to build an unsigned release app.
Run just --list to see available tasks and just final-check before review.
After changing product dependencies, run just resolve-packages and
just check-package-locks, then commit both root and Xcode Package.resolved
files. The root lockfile is the canonical package selection; the Xcode lockfile
retains workspace-specific metadata. They are not expected to be byte-identical.
For the separate SwiftLint package, run just resolve-swiftlint and commit
script/swiftlint/Package.resolved.
Licensed under the Apache License 2.0.


