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.5.tar.gz (63.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.5-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stashai-0.1.5.tar.gz
  • Upload date:
  • Size: 63.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.5.tar.gz
Algorithm Hash digest
SHA256 51504c421be9d9fe822d0580b92ee9a609e1fa49a01d0c8d502d630097d0ed99
MD5 c4b5b5d102e87c89b82962001f42d014
BLAKE2b-256 69c94fecb15f0d7f36ea4b67b43cab17231024be2772942d83c48670640646ee

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: stashai-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 75.8 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 298a736751c02cd470c5b5141707ecdd2b75d0de97ac4ce4607ed5bafb93d1bb
MD5 8034b62fce02fffb8488862781026080
BLAKE2b-256 428aba12d835ed01dbd4b0724a989c3a925059450612a4cbc35f17f39db7cfcc

See more details on using hashes here.

Provenance

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