stashai 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- stashai-0.1.0/LICENSE +21 -0
- stashai-0.1.0/PKG-INFO +173 -0
- stashai-0.1.0/README.md +148 -0
- stashai-0.1.0/cli/__init__.py +0 -0
- stashai-0.1.0/cli/client.py +551 -0
- stashai-0.1.0/cli/config.py +156 -0
- stashai-0.1.0/cli/formatting.py +91 -0
- stashai-0.1.0/cli/main.py +1663 -0
- stashai-0.1.0/pyproject.toml +53 -0
- stashai-0.1.0/setup.cfg +4 -0
- stashai-0.1.0/stashai.egg-info/PKG-INFO +173 -0
- stashai-0.1.0/stashai.egg-info/SOURCES.txt +14 -0
- stashai-0.1.0/stashai.egg-info/dependency_links.txt +1 -0
- stashai-0.1.0/stashai.egg-info/entry_points.txt +2 -0
- stashai-0.1.0/stashai.egg-info/requires.txt +4 -0
- stashai-0.1.0/stashai.egg-info/top_level.txt +1 -0
stashai-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fergana Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
stashai-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: stashai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: CLI for Stash — shared memory for AI coding agents
|
|
5
|
+
Author: Fergana Labs
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://stash.ac
|
|
8
|
+
Project-URL: Repository, https://github.com/Fergana-Labs/stash
|
|
9
|
+
Keywords: stash,ai,agents,coding,memory,cli
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Requires-Python: >=3.11
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: typer>=0.12.0
|
|
21
|
+
Requires-Dist: httpx>=0.27.0
|
|
22
|
+
Requires-Dist: rich>=13.0.0
|
|
23
|
+
Requires-Dist: questionary>=2.0.0
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<p align="center">
|
|
28
|
+
<img src="docs/assets/logo.svg" alt="Stash" width="320" />
|
|
29
|
+
</p>
|
|
30
|
+
|
|
31
|
+
<h3 align="center">Collaborative memory for teams of AI agents</h3>
|
|
32
|
+
|
|
33
|
+
<p align="center">
|
|
34
|
+
Every session, paper, webpage, and conversation goes into one shared knowledge base.<br/>
|
|
35
|
+
A curation tool organizes it into a searchable wiki — so your whole team learns from every agent.
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
<p align="center">
|
|
39
|
+
<a href="https://github.com/Fergana-Labs/stash/actions/workflows/test.yml"><img src="https://github.com/Fergana-Labs/stash/actions/workflows/test.yml/badge.svg" alt="CI" /></a>
|
|
40
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a>
|
|
41
|
+
<a href="https://stash.ac"><img src="https://img.shields.io/badge/Website-stash.ac-F97316" alt="Website" /></a>
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<img width="1195" height="1055" alt="Screenshot 2026-04-14 at 7 11 31 PM" src="https://github.com/user-attachments/assets/265c638f-64eb-460e-91e8-e677740cf97b" />
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Table of Contents
|
|
48
|
+
|
|
49
|
+
- [Features](#features)
|
|
50
|
+
- [Quick Start](#quick-start)
|
|
51
|
+
- [Integrations](#integrations)
|
|
52
|
+
- [Self-Hosted](#self-hosted)
|
|
53
|
+
- [Documentation](#documentation)
|
|
54
|
+
- [FAQ](#faq)
|
|
55
|
+
- [Contributing](#contributing)
|
|
56
|
+
- [License](#license)
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
**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.
|
|
61
|
+
|
|
62
|
+
**Wiki notebooks** — Rich collaborative pages with [[wiki links]], page graph visualization, backlink tracking, and semantic search powered by pgvector embeddings.
|
|
63
|
+
|
|
64
|
+
**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.
|
|
65
|
+
|
|
66
|
+
**Real-time collaboration** — Agents and humans chat side-by-side in workspace channels. Share findings, coordinate work, and keep everyone in sync.
|
|
67
|
+
|
|
68
|
+
**Shareable pages** — Create HTML documents (reports, dashboards, slide decks) that anyone with a link can view. Turn research into deliverables.
|
|
69
|
+
|
|
70
|
+
## Quick Start
|
|
71
|
+
|
|
72
|
+
### 1. Create an account
|
|
73
|
+
|
|
74
|
+
Go to [stash.ac](https://stash.ac) and register. Save your API key.
|
|
75
|
+
|
|
76
|
+
### 2. Install the CLI
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pip install stash
|
|
80
|
+
stash connect # Interactive: paste API key, pick a default workspace
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3. Try it
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
stash history search "authentication patterns" # Full-text search over events
|
|
87
|
+
stash history push "session notes here" # Push an event
|
|
88
|
+
stash --help # Full command list
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
For cross-resource agentic search, install the [Claude Code plugin](#integrations) and use `/stash:search`.
|
|
92
|
+
|
|
93
|
+
## CLI
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install stash
|
|
97
|
+
stash connect # Configure API key + default workspace
|
|
98
|
+
stash history push <content> # Push an event
|
|
99
|
+
stash history search <query> # Full-text search over history events
|
|
100
|
+
stash notebooks list --all # List notebooks across your workspaces
|
|
101
|
+
stash --help # Full command list
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Integrations
|
|
105
|
+
|
|
106
|
+
### Claude Code plugin
|
|
107
|
+
|
|
108
|
+
The [`plugins/claude-plugin`](plugins/claude-plugin/README.md) 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.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# From the octopus repo
|
|
112
|
+
claude plugin add ./plugins/claude-plugin
|
|
113
|
+
|
|
114
|
+
# Or from the marketplace
|
|
115
|
+
claude plugin install stash
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
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](plugins/claude-plugin/README.md) for full setup.
|
|
119
|
+
|
|
120
|
+
## Self-Hosted
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
git clone https://github.com/Fergana-Labs/stash.git
|
|
124
|
+
cd octopus
|
|
125
|
+
cp .env.example .env # fill in credentials + API keys
|
|
126
|
+
# edit Caddyfile → replace app.example.com with your domain
|
|
127
|
+
docker compose -f docker-compose.prod.yml up -d
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
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).
|
|
131
|
+
|
|
132
|
+
> Local development? Use `docker compose up -d` (no `-f` flag) — simple setup with hardcoded dev credentials.
|
|
133
|
+
|
|
134
|
+
## Documentation
|
|
135
|
+
|
|
136
|
+
| Document | What it covers |
|
|
137
|
+
|----------|---------------|
|
|
138
|
+
| [Architecture](ARCHITECTURE.md) | System diagram, data model, backend/frontend structure |
|
|
139
|
+
| [Use Cases](USE_CASES.md) | End-to-end scenarios — team KB, research, multi-agent |
|
|
140
|
+
| [Contributing](CONTRIBUTING.md) | Local dev setup, running tests, submitting PRs |
|
|
141
|
+
| [Design System](DESIGN.md) | Colors, typography, spacing, agent/human visual language |
|
|
142
|
+
| [Testing](TESTING.md) | Test frameworks, suites, conventions |
|
|
143
|
+
| [Security](SECURITY.md) | Vulnerability reporting policy |
|
|
144
|
+
| [Changelog](CHANGELOG.md) | Release history |
|
|
145
|
+
|
|
146
|
+
## FAQ
|
|
147
|
+
|
|
148
|
+
**What LLMs does Stash use?**
|
|
149
|
+
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.
|
|
150
|
+
|
|
151
|
+
**Can I use this without Claude Code?**
|
|
152
|
+
Yes. The CLI and REST API work standalone with any client.
|
|
153
|
+
|
|
154
|
+
**Is my data private?**
|
|
155
|
+
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.
|
|
156
|
+
|
|
157
|
+
## Contributing
|
|
158
|
+
|
|
159
|
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) to get started.
|
|
160
|
+
|
|
161
|
+
Found a bug? [Open an issue](https://github.com/Fergana-Labs/stash/issues).
|
|
162
|
+
|
|
163
|
+
## Maintainers
|
|
164
|
+
|
|
165
|
+
| Name | Role | Contact |
|
|
166
|
+
|------|------|---------|
|
|
167
|
+
| [@henry-dowling](https://github.com/henry-dowling) | Creator & Lead maintainer | GitHub issues or [security@stash.ac](mailto:security@stash.ac) for vulnerabilities |
|
|
168
|
+
| [@samzliu](https://github.com/samzliu) | Creator | GitHub issues |
|
|
169
|
+
| [@triobaba](https://github.com/triobaba) | Creator | GitHub issues |
|
|
170
|
+
|
|
171
|
+
## License
|
|
172
|
+
|
|
173
|
+
[MIT](LICENSE) — Copyright (c) 2026 Fergana Labs
|
stashai-0.1.0/README.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
|
|
2
|
+
<p align="center">
|
|
3
|
+
<img src="docs/assets/logo.svg" alt="Stash" width="320" />
|
|
4
|
+
</p>
|
|
5
|
+
|
|
6
|
+
<h3 align="center">Collaborative memory for teams of AI agents</h3>
|
|
7
|
+
|
|
8
|
+
<p align="center">
|
|
9
|
+
Every session, paper, webpage, and conversation goes into one shared knowledge base.<br/>
|
|
10
|
+
A curation tool organizes it into a searchable wiki — so your whole team learns from every agent.
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://github.com/Fergana-Labs/stash/actions/workflows/test.yml"><img src="https://github.com/Fergana-Labs/stash/actions/workflows/test.yml/badge.svg" alt="CI" /></a>
|
|
15
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a>
|
|
16
|
+
<a href="https://stash.ac"><img src="https://img.shields.io/badge/Website-stash.ac-F97316" alt="Website" /></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<img width="1195" height="1055" alt="Screenshot 2026-04-14 at 7 11 31 PM" src="https://github.com/user-attachments/assets/265c638f-64eb-460e-91e8-e677740cf97b" />
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Table of Contents
|
|
23
|
+
|
|
24
|
+
- [Features](#features)
|
|
25
|
+
- [Quick Start](#quick-start)
|
|
26
|
+
- [Integrations](#integrations)
|
|
27
|
+
- [Self-Hosted](#self-hosted)
|
|
28
|
+
- [Documentation](#documentation)
|
|
29
|
+
- [FAQ](#faq)
|
|
30
|
+
- [Contributing](#contributing)
|
|
31
|
+
- [License](#license)
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
**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.
|
|
36
|
+
|
|
37
|
+
**Wiki notebooks** — Rich collaborative pages with [[wiki links]], page graph visualization, backlink tracking, and semantic search powered by pgvector embeddings.
|
|
38
|
+
|
|
39
|
+
**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.
|
|
40
|
+
|
|
41
|
+
**Real-time collaboration** — Agents and humans chat side-by-side in workspace channels. Share findings, coordinate work, and keep everyone in sync.
|
|
42
|
+
|
|
43
|
+
**Shareable pages** — Create HTML documents (reports, dashboards, slide decks) that anyone with a link can view. Turn research into deliverables.
|
|
44
|
+
|
|
45
|
+
## Quick Start
|
|
46
|
+
|
|
47
|
+
### 1. Create an account
|
|
48
|
+
|
|
49
|
+
Go to [stash.ac](https://stash.ac) and register. Save your API key.
|
|
50
|
+
|
|
51
|
+
### 2. Install the CLI
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pip install stash
|
|
55
|
+
stash connect # Interactive: paste API key, pick a default workspace
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3. Try it
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
stash history search "authentication patterns" # Full-text search over events
|
|
62
|
+
stash history push "session notes here" # Push an event
|
|
63
|
+
stash --help # Full command list
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For cross-resource agentic search, install the [Claude Code plugin](#integrations) and use `/stash:search`.
|
|
67
|
+
|
|
68
|
+
## CLI
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pip install stash
|
|
72
|
+
stash connect # Configure API key + default workspace
|
|
73
|
+
stash history push <content> # Push an event
|
|
74
|
+
stash history search <query> # Full-text search over history events
|
|
75
|
+
stash notebooks list --all # List notebooks across your workspaces
|
|
76
|
+
stash --help # Full command list
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Integrations
|
|
80
|
+
|
|
81
|
+
### Claude Code plugin
|
|
82
|
+
|
|
83
|
+
The [`plugins/claude-plugin`](plugins/claude-plugin/README.md) 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.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# From the octopus repo
|
|
87
|
+
claude plugin add ./plugins/claude-plugin
|
|
88
|
+
|
|
89
|
+
# Or from the marketplace
|
|
90
|
+
claude plugin install stash
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
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](plugins/claude-plugin/README.md) for full setup.
|
|
94
|
+
|
|
95
|
+
## Self-Hosted
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
git clone https://github.com/Fergana-Labs/stash.git
|
|
99
|
+
cd octopus
|
|
100
|
+
cp .env.example .env # fill in credentials + API keys
|
|
101
|
+
# edit Caddyfile → replace app.example.com with your domain
|
|
102
|
+
docker compose -f docker-compose.prod.yml up -d
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
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).
|
|
106
|
+
|
|
107
|
+
> Local development? Use `docker compose up -d` (no `-f` flag) — simple setup with hardcoded dev credentials.
|
|
108
|
+
|
|
109
|
+
## Documentation
|
|
110
|
+
|
|
111
|
+
| Document | What it covers |
|
|
112
|
+
|----------|---------------|
|
|
113
|
+
| [Architecture](ARCHITECTURE.md) | System diagram, data model, backend/frontend structure |
|
|
114
|
+
| [Use Cases](USE_CASES.md) | End-to-end scenarios — team KB, research, multi-agent |
|
|
115
|
+
| [Contributing](CONTRIBUTING.md) | Local dev setup, running tests, submitting PRs |
|
|
116
|
+
| [Design System](DESIGN.md) | Colors, typography, spacing, agent/human visual language |
|
|
117
|
+
| [Testing](TESTING.md) | Test frameworks, suites, conventions |
|
|
118
|
+
| [Security](SECURITY.md) | Vulnerability reporting policy |
|
|
119
|
+
| [Changelog](CHANGELOG.md) | Release history |
|
|
120
|
+
|
|
121
|
+
## FAQ
|
|
122
|
+
|
|
123
|
+
**What LLMs does Stash use?**
|
|
124
|
+
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.
|
|
125
|
+
|
|
126
|
+
**Can I use this without Claude Code?**
|
|
127
|
+
Yes. The CLI and REST API work standalone with any client.
|
|
128
|
+
|
|
129
|
+
**Is my data private?**
|
|
130
|
+
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.
|
|
131
|
+
|
|
132
|
+
## Contributing
|
|
133
|
+
|
|
134
|
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) to get started.
|
|
135
|
+
|
|
136
|
+
Found a bug? [Open an issue](https://github.com/Fergana-Labs/stash/issues).
|
|
137
|
+
|
|
138
|
+
## Maintainers
|
|
139
|
+
|
|
140
|
+
| Name | Role | Contact |
|
|
141
|
+
|------|------|---------|
|
|
142
|
+
| [@henry-dowling](https://github.com/henry-dowling) | Creator & Lead maintainer | GitHub issues or [security@stash.ac](mailto:security@stash.ac) for vulnerabilities |
|
|
143
|
+
| [@samzliu](https://github.com/samzliu) | Creator | GitHub issues |
|
|
144
|
+
| [@triobaba](https://github.com/triobaba) | Creator | GitHub issues |
|
|
145
|
+
|
|
146
|
+
## License
|
|
147
|
+
|
|
148
|
+
[MIT](LICENSE) — Copyright (c) 2026 Fergana Labs
|
|
File without changes
|