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.1.tar.gz (38.1 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.1-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stashai-0.1.1.tar.gz
  • Upload date:
  • Size: 38.1 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.1.tar.gz
Algorithm Hash digest
SHA256 f68d4efb428d4f69a27fbc2ccbccdf5c75787f8d924bde86846a5c8e5d4b6d8c
MD5 f41fd46cd063d76b9a0afe32733a2019
BLAKE2b-256 554756c08f1cad5b4f9fa3db8bca6ceca3e87275a875777e6f1185ea5f7ba909

See more details on using hashes here.

Provenance

The following attestation bundles were made for stashai-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: stashai-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 38.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ecc96cfb108777ed311a92cc2e742f449ebecfc1f890253bda695e744ea41cf
MD5 895a7a6b627aa94efe2ab6db60c48246
BLAKE2b-256 6a7286afd9d6deff8204b6120c983fca56cfe25e92e4bd30cbc9fd994ad25ee9

See more details on using hashes here.

Provenance

The following attestation bundles were made for stashai-0.1.1-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