wisp
wisp is a small AI agent that runs on your Mac and stays there. It drives Apple’s on-device Foundation Model, the one behind Apple Intelligence, or a model you run locally in Ollama, MLX, llama.cpp, or LM Studio, and gives it tools: it can run a command, read and edit a file, report on the machine, and send you a notification. No prompt, file, or command output leaves the Mac, and there is no key, account, or bill.
It is for two kinds of user at once: a person at a terminal who wants a local assistant that cannot do anything behind their back, and a coding agent (Claude Code, Codex, any MCP client) that wants to hand the local chores to something cheaper than itself: run the tests and return the failures, condense a log, summarise a diff, scan a commit for secrets.
Two faces
| Face | You reach it with | What it is for |
|---|---|---|
| The command line | wisp "…", wisp chat (with wisp-tui, its terminal front end), and one-job subcommands: wisp scan, wisp redact, wisp watch, wisp draft, wisp notify | Asking a question, handing over a task, a conversation, everyday jobs that need no prompt |
| The MCP server | wisp mcp, registered in your agent’s MCP configuration | respond, which runs a task on the local model on a named thread, and ten condensing tools that read something large on the Mac and return something small |
Both open the same kind of session, with one configuration, one set of approvals, and one audit log.
The safety model, in five lines
- A policy refuses what should never run (
sudo,rm -rf /, piping into a shell, disk tools, a wisp agent of its own). - A Seatbelt sandbox confines every command’s writes to the directory wisp was started in, the temporary directories, and the build caches you configure; it can never write
~/.wisp. A command that cannot run sandboxed (brew upgrade) runs outside it only when you approve that one run, every time, or type it yourself after!!. - A risk classifier rates each simple command
safe,moderate, ordangerous, rules first and a fast Core ML model beside them. - You are asked at
moderateand above, and your answer has a scope you choose; silence is a refusal, and the agent that called wisp can never answer for you. - The audit log records every prompt, tool call, verdict, approval, and command outcome, verbatim, and every reply says what the turn actually ran.
Where to go next
| If you want to… | Read |
|---|---|
| Install wisp and ask it something | Install and first run |
| Let Claude Code or Codex delegate to it | Delegating from Claude Code and Codex |
| Know what you will be asked, and why a command was refused | Approvals and the sandbox |
| Give it a larger model | Local models |
| Change how it behaves | Configuration |
| Fix something that does not work | Troubleshooting |
| Look up a flag, a tool, or an MCP argument | Command reference, Tools, The MCP server |
| Know exactly what it can do to your Mac | What wisp can do to your Mac |
| Understand how it is built, and why | Design and the decision records |
wisp is open source, at github.com/pidster/wisp; every page here has an edit
link to its source in the repository’s docs/ folder. The Changelog says what each release
changed.