CLI for Stash — shared memory for AI coding agents
Project description
Collaborative memory for teams of AI agents
Every session, paper, webpage, and conversation goes into one shared knowledge base.
A curation tool organizes it into a searchable wiki — so your whole team learns from every agent.
Table of Contents
Features
Curation — On SessionEnd the Claude Code plugin spawns a headless agent that reads recent history and organizes it into a categorized wiki with folders, summaries, and [[backlinks]] — so knowledge stays structured without manual maintenance.
Wiki notebooks — Rich collaborative pages with [[wiki links]], page graph visualization, backlink tracking, and semantic search powered by pgvector embeddings.
Universal search — An agentic search loop that queries across files, history, notebooks, tables, and chats in a single request. Ask a question, get answers from everything.
Real-time collaboration — Agents and humans chat side-by-side in workspace channels. Share findings, coordinate work, and keep everyone in sync.
Shareable pages — Create HTML documents (reports, dashboards, slide decks) that anyone with a link can view. Turn research into deliverables.
Quick Start
One line installs the CLI, signs you in, picks a workspace, and installs the Claude Code plugin (if detected):
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Fergana-Labs/stash/main/install.sh)"
Then try it:
stash history search "authentication patterns" # Full-text search over events
stash history push "session notes here" # Push an event
stash --help # Full command list
Manual install
pipx install stashai # or: uv tool install stashai
stash connect # Interactive: sign in, pick a workspace, install plugin
CLI
stash connect # Configure API key + default workspace
stash history push <content> # Push an event
stash history search <query> # Full-text search over history events
stash notebooks list --all # List notebooks across your workspaces
stash --help # Full command list
Integrations
Claude Code plugin
The plugins/claude-plugin directory ships a Claude Code plugin that turns any session into a persistent Stash agent: activity streams to history, memory injects into every prompt, and context carries across sessions.
The Quick Start one-liner installs the plugin automatically when it detects Claude Code. To do it manually:
pipx install stashai # or: uv tool install stashai
claude plugin marketplace add Fergana-Labs/stash
claude plugin install stash@stash-plugins
stash connect # Sign in + pick a workspace
Everything is a stash CLI subcommand — there are no slash commands. The plugin ships one helper, /stash:welcome, that re-prints the post-install message. See the plugin README for full setup.
Self-Hosted
git clone https://github.com/Fergana-Labs/stash.git
cd stash
cp .env.example .env # fill in credentials + API keys
# edit Caddyfile → replace app.example.com with your domain
docker compose -f docker-compose.prod.yml up -d
Includes Caddy for automatic HTTPS. Requires PostgreSQL with pgvector. Optional: S3 storage, embedding provider (OpenAI, Hugging Face, local sentence-transformers, or BYO), Anthropic API key (curation + search).
Local development? Use
docker compose up -d(no-fflag) — simple setup with hardcoded dev credentials.
Documentation
| Document | What it covers |
|---|---|
| Architecture | System diagram, data model, backend/frontend structure |
| Use Cases | End-to-end scenarios — team KB, research, multi-agent |
| Contributing | Local dev setup, running tests, submitting PRs |
| Design System | Colors, typography, spacing, agent/human visual language |
| Testing | Test frameworks, suites, conventions |
| Security | Vulnerability reporting policy |
| Changelog | Release history |
FAQ
What LLMs does Stash use?
The curation tool and universal search use Anthropic Claude. Embeddings are pluggable — OpenAI, Hugging Face Inference API, local sentence-transformers, or bring your own. Set EMBEDDING_PROVIDER in .env (defaults to auto-detect). See .env.example for details.
Can I use this without Claude Code? Yes. The CLI and REST API work standalone with any client.
Is my data private? On the hosted version, workspaces are permissioned — only invited members can access data. For full control, self-host with Docker Compose and keep everything on your infrastructure.
Contributing
Contributions are welcome. See CONTRIBUTING.md to get started.
Found a bug? Open an issue.
Maintainers
| Name | Role | Contact |
|---|---|---|
| @henry-dowling | Creator & Lead maintainer | GitHub issues or security@stash.ac for vulnerabilities |
| @samzliu | Creator | GitHub issues |
| @triobaba | Creator | GitHub issues |
License
MIT — Copyright (c) 2026 Fergana Labs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stashai-0.1.9.tar.gz.
File metadata
- Download URL: stashai-0.1.9.tar.gz
- Upload date:
- Size: 66.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89f4cbafb39600f03913af17e7831d8921ef2c82963cf8f6a8f296a109ab8a85
|
|
| MD5 |
ab475f729b138786aed2cba73ef85713
|
|
| BLAKE2b-256 |
825b8096a2f4130ddae4734bd163ad4b448f4891ddfc6e02e3a2bc5161561b89
|
Provenance
The following attestation bundles were made for stashai-0.1.9.tar.gz:
Publisher:
publish.yml on Fergana-Labs/stash
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stashai-0.1.9.tar.gz -
Subject digest:
89f4cbafb39600f03913af17e7831d8921ef2c82963cf8f6a8f296a109ab8a85 - Sigstore transparency entry: 1341157187
- Sigstore integration time:
-
Permalink:
Fergana-Labs/stash@012b34bb3ef9e0fab812ad03bed4d7ba05fd49e7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Fergana-Labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@012b34bb3ef9e0fab812ad03bed4d7ba05fd49e7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file stashai-0.1.9-py3-none-any.whl.
File metadata
- Download URL: stashai-0.1.9-py3-none-any.whl
- Upload date:
- Size: 79.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4f29c9d29fcacfbf8801cebfba563e3ab56cf59f5fe49b62c59bc7f6e575016
|
|
| MD5 |
2de2bf280419b85eebf97080eaf14a89
|
|
| BLAKE2b-256 |
262f954ddf374cc88727c080fa73fdaadf1012cf6f86c61fa3b9d9dae1c84698
|
Provenance
The following attestation bundles were made for stashai-0.1.9-py3-none-any.whl:
Publisher:
publish.yml on Fergana-Labs/stash
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stashai-0.1.9-py3-none-any.whl -
Subject digest:
e4f29c9d29fcacfbf8801cebfba563e3ab56cf59f5fe49b62c59bc7f6e575016 - Sigstore transparency entry: 1341157241
- Sigstore integration time:
-
Permalink:
Fergana-Labs/stash@012b34bb3ef9e0fab812ad03bed4d7ba05fd49e7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Fergana-Labs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@012b34bb3ef9e0fab812ad03bed4d7ba05fd49e7 -
Trigger Event:
push
-
Statement type: