Skip to main content

CLI for Stash — shared memory for AI coding agents

Project description

Stash

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.

CI License: MIT Website

Screenshot 2026-04-14 at 7 11 31 PM

Table of Contents

Features

Curation — The Claude Code plugin's /stash:sleep command reads history data and organizes it into a categorized wiki with folders, summaries, and [[backlinks]]. It also runs automatically on SessionEnd, 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 (/stash:search in the Claude Code plugin) 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

1. Create an account

Go to stash.ac and register. Save your API key.

2. Install the CLI

pip install stash
stash connect               # Interactive: paste API key, pick a default workspace

3. 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

For cross-resource agentic search, install the Claude Code plugin and use /stash:search.

CLI

pip install stash
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.

# From the octopus repo
claude plugin add ./plugins/claude-plugin

# Or from the marketplace
claude plugin install stash

Slash commands include /stash:connect (onboarding), /stash:sleep (curate history into a wiki — also runs on SessionEnd), /stash:search (agentic cross-resource search), and /stash:status. See the plugin README for full setup.

Self-Hosted

git clone https://github.com/Fergana-Labs/stash.git
cd octopus
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 -f flag) — 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stashai-0.1.0.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stashai-0.1.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file stashai-0.1.0.tar.gz.

File metadata

  • Download URL: stashai-0.1.0.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stashai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 14a0e3df748747194d1ca0239f20d3861d93b5e548048e58a7b1e7249c6db066
MD5 2923cc39c4889ef9526fd84e83547f17
BLAKE2b-256 d53997cf11fa26bfd12b24fc87da165a7819651fd6b1ad5ea118e35a34b84517

See more details on using hashes here.

Provenance

The following attestation bundles were made for stashai-0.1.0.tar.gz:

Publisher: publish.yml on Fergana-Labs/stash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stashai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: stashai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stashai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f798e09a5b76c63cdb1aabd75b6850b55ca3290770d7b81575c1310ad61b56e
MD5 ee67d5e39c11d1cb2f72d32dc98b8f09
BLAKE2b-256 bf8e2114564d9bc800bcbed2b13f4133ed149ef3bdbac2fb944d71177b0328a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for stashai-0.1.0-py3-none-any.whl:

Publisher: publish.yml on Fergana-Labs/stash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page