StashBase
Like an IDE, but for writing.
StashBase is an open-source, local-first writing workspace where you can write with Claude and Codex, drawing on your own sources and past work.
- 🔎 From files to context. Give your agent fast, accurate search across your
- 📝 Doc diff ≠ Code diff. Read edits in the flow of your document, without
- ✍️ Make it sound like you. Use your past writing and edits to guide new
Product Preview
https://github.com/user-attachments/assets/4ba282a3-85d2-4a08-b7af-562a1e71e716
Document Diff
After an Agent changes Markdown documents, its conversation shows **Changed in this turn. Choose Review** beside an edited file to see its changes in the prose: deleted words are struck through in red and additions highlighted in green.
Use Undo or Keep for individual changes, or Undo all and Keep all for the remaining set. Changes are already saved; Undo restores earlier text through the document's normal save path. Keeping everything leaves the file exactly as the Agent wrote it. New files offer Open instead of Review.
Agent file diffs and editor save-conflict comparisons are separate features and still work the way they did.
Get Started
macOS 12+ (Apple Silicon and Intel) and Windows 10+ (x64) are the primary platforms. Linux x86_64 Debian 12+ / Ubuntu 22.04+ is community-supported. On Intel Macs, local search and PDF/image text extraction require macOS 15+; older supported systems can still open projects and edit files. Agent runtime requirements may vary. Intel installers are available starting with v2.9.5.
On macOS, install with Homebrew:
brew install --cask liliu-z/stashbase/stashbase
Or download the latest release:
| Platform | Download |
|---|---|
| macOS Apple Silicon | StashBase-*-mac-arm64.dmg |
| macOS Intel | StashBase-*-mac-x64.dmg |
| Windows x64 | StashBase-*-win-x64.exe |
| Linux x86_64 | StashBase-*-linux-amd64.deb or .AppImage |
See Installation for platform steps, updates, and troubleshooting.
Start Writing
- Enter a project. Open or create a local folder.
- Choose an Agent. Select Claude or Codex and complete its setup
- Talk it through. Try: “I want to write a blog post about Humanizer.
- Draft and revise. Ask your Agent to draft the article, then review and
Choose between Chat and Documents modes to suit the task at hand. You can write and revise this way, and use the document diff to review fine edits inside the prose.
See Using StashBase for everyday document and search workflows.
Explore the Gallery
Explore how people organize files and write with Agents. Copy a ready-made project or reuse its prompt to try a workflow with your own material.
For example, How to Start a Startup brings together Stanford CS183B lecture transcripts and a founder playbook.
Your Files and Your Data
Your documents stay in local project folders. Removing a project from StashBase doesn't delete its files. Browsing, editing, previews, and keyword search work without an account. PDF text extraction and OCR run locally, with required components downloaded on first use.
Agent conversations send your prompts and relevant context to model services. Claude and Codex use your provider accounts; the Default Agent connects through StashBase's hosted model gateway.
Search by meaning requires your own OpenAI or OpenRouter key in Settings → Advanced → Search by Meaning. It sends source text and search queries to your chosen embedding provider. Default Agent credits don't cover this service.
Official builds share basic usage statistics by default, excluding document and conversation content. You can turn this off in **Settings → General → Privacy**. See Usage statistics for details.
Connect External Agents
Agents in the built-in Chat connect to StashBase's tools automatically.
To use an external MCP client, keep StashBase running and copy the connection configuration from Settings → Advanced → External apps (MCP) into that client. It can read, search, and edit supported files in the project you select.
See MCP Configuration for client examples, transports, and access settings.
Build From Source
Install Node.js 24.11.0+, pnpm, and Python 3.13 with venv support. See Local Development for platform dependencies.
git clone https://github.com/liliu-z/stashbase
cd stashbase
pnpm install
pnpm setup:python
env -u ELECTRON_RUN_AS_NODE pnpm dev
The launch command above uses POSIX shell syntax to clear an inherited
ELECTRON_RUN_AS_NODE. On Windows, clear that variable in your shell before
running pnpm dev.
See Contributing for OCR setup, testing, and release guidance.
Contributing
StashBase is also an experiment in human-directed, AI-first development. Humans own product direction and trust decisions; AI helps connect design, implementation, review, and evidence. The Project Maintenance Model describes that working loop.
Small focused PRs are preferred. Open an issue before larger changes so scope and direction can be discussed first.
- Contributing guide — development and validation.
- Product design — intent, workflows, and contribution areas.
- Engineering contracts — ownership, invariants, and review.
Feedback
Report an issue or join the Discord community for support and discussion.
About
StashBase is an independent open-source project built by Li Liu and Bing Wu.
Licensed under Apache 2.0.