Merge branch 'main' of https://github.com/supermemoryai/supermemory
402
README.md
|
|
@ -1,105 +1,361 @@
|
|||
<p align="center" style="padding-bottom:20px;padding-top:20px">
|
||||
<p align="center">
|
||||
<picture>
|
||||
<source srcset="apps/web/public/logo-fullmark.svg" media="(prefers-color-scheme: dark)">
|
||||
<source srcset="apps/web/public/logo-light-fullmark.svg" media="(prefers-color-scheme: light)">
|
||||
<img src="apps/web/public/logo-fullmark.svg" alt="supermemory Logo" width="400" />
|
||||
<img src="apps/web/public/logo-fullmark.svg" alt="Supermemory" width="400" />
|
||||
</picture>
|
||||
<br/><br/>
|
||||
<em>Your AI second brain for saving and organizing everything that matters.</em>
|
||||
<br/><br/>
|
||||
<a href="https://app.supermemory.ai" style="text-decoration: none;">
|
||||
<img src="https://img.shields.io/badge/Web-App-000000?style=for-the-badge" alt="Web App" />
|
||||
</a>
|
||||
|
||||
<a href="https://chromewebstore.google.com/detail/supermemory/afpgkkipfdpeaflnpoaffkcankadgjfc" style="text-decoration: none;">
|
||||
<img src="https://img.shields.io/badge/Chrome-Extension-4285F4?style=for-the-badge&logo=googlechrome&logoColor=white" alt="Chrome Extension" />
|
||||
</a>
|
||||
|
||||
<a href="https://www.raycast.com/supermemory/supermemory" style="text-decoration: none;">
|
||||
<img src="https://img.shields.io/badge/Raycast-Extension-FF6363?style=for-the-badge&logo=raycast&logoColor=white" alt="Raycast Extension" />
|
||||
</a>
|
||||
|
||||
<a href="https://supermemory.link/discord" style="text-decoration: none;">
|
||||
<img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p style="font-size: 0.9em; color: #666;">
|
||||
<strong>Building with Supermemory?</strong> Check out the <a href="https://console.supermemory.ai?utm_source=github&utm_medium=readme&utm_campaign=consumer_app">Developer Console</a> and <a href="https://docs.supermemory.ai?utm_source=github&utm_medium=readme&utm_campaign=consumer_app">Documentation</a> for API access.
|
||||
<p align="center">
|
||||
<strong>State-of-the-art memory and context engine for AI.</strong>
|
||||
</p>
|
||||
<p style="font-size: 0.9em; color: #666;">
|
||||
<strong>Want to self-host?</strong> See our <a href="https://supermemory.ai/docs/deployment/self-hosting#self-hosting">Self-Hosting Guide</a> for enterprise deployment options.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://supermemory.ai/docs">Docs</a> ·
|
||||
<a href="https://supermemory.ai/docs/quickstart">Quickstart</a> ·
|
||||
<a href="https://console.supermemory.ai">Dashboard</a> ·
|
||||
<a href="https://supermemory.link/discord">Discord</a>
|
||||
</p>
|
||||
<br/>
|
||||
|
||||
<div align="center" style="padding-bottom:10px;padding-top:10px">
|
||||
<img src="apps/web/public/landing-page.jpeg" alt="supermemory" width="100%" />
|
||||
</div>
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.com/package/supermemory"><img src="https://img.shields.io/npm/v/supermemory?style=flat-square&color=blue" alt="npm" /></a>
|
||||
<a href="https://pypi.org/project/supermemory/"><img src="https://img.shields.io/pypi/v/supermemory?style=flat-square&color=blue" alt="pypi" /></a>
|
||||
<a href="https://supermemory.ai/docs"><img src="https://img.shields.io/badge/docs-supermemory.ai-blue?style=flat-square" alt="docs" /></a>
|
||||
</p>
|
||||
|
||||
## Features
|
||||
---
|
||||
|
||||
### Core Functionality
|
||||
Supermemory is the memory and context layer for AI. **#1 on [LongMemEval](https://github.com/xiaowu0162/LongMemEval), [LoCoMo](https://github.com/snap-research/locomo), and [ConvoMem](https://github.com/Salesforce/ConvoMem)** — the three major benchmarks for AI memory.
|
||||
|
||||
- **[Add Memories from Any Content](#add-memory)**: Easily add memories from URLs, PDFs, and plain text—just paste, upload, or link.
|
||||
- **[Chat with Your Memories](#chat-memories)**: Converse with your stored content using natural language chat.
|
||||
- **[Supermemory MCP Integration](#mcp-integration)**: Seamlessly connect with all major AI tools (Claude, Cursor, etc.) via Supermemory MCP.
|
||||
- **[Browser Extension](#browser-extension)**: Save memories directly from your browser with integrations for ChatGPT, Claude, and Twitter/X.
|
||||
- **[Raycast Extension](#raycast-extension)**: Add and search memories directly from Raycast with keyboard shortcuts.
|
||||
We are a research lab building the engine, plugins and tools around it.
|
||||
|
||||
## How do I use this?
|
||||
Your AI forgets everything between conversations. Supermemory fixes that.
|
||||
|
||||
Go to [app.supermemory.ai](https://app.supermemory.ai) and sign in with your account
|
||||
It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.
|
||||
|
||||
1. <a id="add-memory"></a>Start Adding Memory with your choice of format (Note, Link, File)
|
||||
<div align="center" style="padding-bottom:10px;padding-top:10px">
|
||||
<img src="apps/web/public/add-memory.png" alt="supermemory" width="100%" />
|
||||
</div>
|
||||
| | |
|
||||
|---|---|
|
||||
| 🧠 **Memory** | Extracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting. |
|
||||
| 👤 **User Profiles** | Auto-maintained user context — stable facts + recent activity. One call, ~50ms. |
|
||||
| 🔍 **Hybrid Search** | RAG + Memory in a single query. Knowledge base docs and personalized context together. |
|
||||
| 🔌 **Connectors** | Google Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks. |
|
||||
| 📄 **Multi-modal Extractors** | PDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works. |
|
||||
|
||||
2. You can also Connect to your favourite services (Notion, Google Drive, OneDrive)
|
||||
<div align="center" style="padding-bottom:10px;padding-top:10px">
|
||||
<img src="apps/web/public/add-connections.png" alt="supermemory" width="100%" />
|
||||
</div>
|
||||
All of this is in our single memory structure and ontology.
|
||||
|
||||
3. <a id="chat-memories"></a>Once Memories are added, you can chat with Supermemory by clicking on "Open Chat" and retrieve info from your saved memories
|
||||
<div align="center" style="padding-bottom:10px;padding-top:10px">
|
||||
<img src="apps/web/public/chat.png" alt="supermemory" width="100%" />
|
||||
</div>
|
||||
<img width="1414" height="937" alt="image" src="https://github.com/user-attachments/assets/8863b6d9-c043-4c75-b200-4f1759e7edaf" />
|
||||
|
||||
4. <a id="mcp-integration"></a>Add MCP to your AI Tools (by clicking on "Connect to your AI" and select the AI tool you are trying to integrate)
|
||||
<div align="center" style="padding-bottom:10px;padding-top:10px">
|
||||
<img src="apps/web/public/mcp.png" alt="supermemory" width="100%" />
|
||||
</div>
|
||||
|
||||
5. <a id="browser-extension"></a>**Browser Extension**: Install the [Chrome/Edge extension](https://chromewebstore.google.com/detail/supermemory/afpgkkipfdpeaflnpoaffkcankadgjfc) to save memories directly from any webpage, integrate with ChatGPT and Claude conversations, and import from Twitter/X. Right-click on any content or use the extension popup to save memories instantly.
|
||||
---
|
||||
|
||||
6. <a id="raycast-extension"></a>**Raycast Extension**: Install the [Raycast extension](https://www.raycast.com/supermemory/supermemory) to add and search memories directly from Raycast. Use the "Add Memory" command to quickly save content, or "Search Memories" to find and retrieve your saved information with keyboard shortcuts.
|
||||
## Use Supermemory
|
||||
|
||||
## Support
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%" valign="top">
|
||||
|
||||
Have questions or feedback? We're here to help:
|
||||
<h3>🧑💻 I use AI tools</h3>
|
||||
|
||||
- Email: [support@supermemory.ai](mailto:support@supermemory.ai)
|
||||
- Discord: [Join our Discord server](https://supermemory.link/discord)
|
||||
- Documentation: [docs.supermemory.ai](https://docs.supermemory.ai)
|
||||
Build your own personal supermemory by using our app. Builds **persistent memory graph across every conversation**.
|
||||
|
||||
## Contributing
|
||||
Your AI remembers your preferences, projects, past discussions — and gets smarter over time.
|
||||
|
||||
We welcome contributions from developers of all skill levels! Whether you're fixing bugs, adding features, or improving documentation, your help makes supermemory better for everyone.
|
||||
**[→ Jump to User setup](#give-your-ai-memory)**
|
||||
|
||||
For detailed guidelines, development setup, coding standards, and the complete contribution workflow, please see our [**Contributing Guide**](CONTRIBUTING.md).
|
||||
</td>
|
||||
<td width="50%" valign="top">
|
||||
|
||||
### Ways to Contribute
|
||||
<h3>🔧 I'm building AI products</h3>
|
||||
|
||||
- 🐛 **Bug fixes** - Help us squash those pesky issues
|
||||
- ✨ **New features** - Add functionality that users will love
|
||||
- 🎨 **UI/UX improvements** - Make the interface more intuitive
|
||||
- ⚡ **Performance optimizations** - Help us make supermemory faster
|
||||
Add memory, RAG, user profiles, and connectors to your agents and apps with **a single API**.
|
||||
|
||||
Check out our [Issues](https://github.com/supermemoryai/supermemory/issues) page for `good first issue` and `help wanted` labels to get started!
|
||||
No vector DB config. No embedding pipelines. No chunking strategies.
|
||||
|
||||
## Updates & Roadmap
|
||||
**[→ Jump to developer quickstart](#build-with-supermemory-api)**
|
||||
|
||||
Stay up to date with the latest improvements:
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
- [Changelog](https://docs.supermemory.ai/changelog/overview)
|
||||
- [X](https://x.com/supermemory).
|
||||
---
|
||||
|
||||
## Give your AI memory
|
||||
|
||||
The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.
|
||||
|
||||
### The app
|
||||
|
||||
You can use supermemory without any code, by using our consumer-facing app for free.
|
||||
|
||||
Start at https://app.supermemory.ai
|
||||
|
||||
<img width="1705" height="1030" alt="image" src="https://github.com/user-attachments/assets/5b43af30-b998-4585-8de6-f3e9a26d894a" />
|
||||
|
||||
It also comes with an agent embedded inside, which we call Nova.
|
||||
|
||||
### Supermemory Plugins
|
||||
|
||||
Supermemory comes built with Plugins for Claude Code, OpenCode and OpenClaw.
|
||||
|
||||
<img width="844" height="484" alt="image" src="https://github.com/user-attachments/assets/ecb879a2-8652-495d-9228-f305a97ba603" />
|
||||
|
||||
These plugins are implementations of the supermemory API, and they are open source!
|
||||
|
||||
You can find them here:
|
||||
|
||||
- Openclaw plugin: https://github.com/supermemoryai/openclaw-supermemory
|
||||
- Claude code plugin: https://github.com/supermemoryai/claude-supermemory
|
||||
- OpenCode plugin: https://github.com/supermemoryai/opencode-supermemory
|
||||
|
||||
### MCP - Quick install
|
||||
|
||||
```bash
|
||||
npx -y install-mcp@latest https://mcp.supermemory.ai/mcp --client claude --oauth=yes
|
||||
```
|
||||
|
||||
Replace `claude` with your client: `cursor`, `windsurf`, `vscode`, etc.
|
||||
|
||||
Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp
|
||||
|
||||
### What your AI gets
|
||||
|
||||
| Tool | What it does |
|
||||
|---|---|
|
||||
| `memory` | Save or forget information. Your AI calls this automatically when you share something worth remembering. |
|
||||
| `recall` | Search memories by query. Returns relevant memories + your user profile summary. |
|
||||
| `context` | Injects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type `/context`. |
|
||||
|
||||
### How it works
|
||||
|
||||
Once installed, Supermemory runs in the background:
|
||||
|
||||
1. **You talk to your AI normally.** Share preferences, mention projects, discuss problems.
|
||||
2. **Supermemory extracts and stores the important stuff.** Facts, preferences, project context — not noise.
|
||||
3. **Next conversation, your AI already knows you.** It recalls what you're working on, how you like things, what you discussed before.
|
||||
|
||||
Memory is scoped with **projects** (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.
|
||||
|
||||
### Supported clients
|
||||
|
||||
**Claude Desktop** · **Cursor** · **Windsurf** · **VS Code** · **Claude Code** · **OpenCode** · **OpenClaw**
|
||||
|
||||
The MCP server is open source — [view the source](https://supermemory.ai/docs/supermemory-mcp/mcp).
|
||||
|
||||
### Manual configuration
|
||||
|
||||
Add this to your MCP client config:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"supermemory": {
|
||||
"url": "https://mcp.supermemory.ai/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Or use an API key instead of OAuth:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"supermemory": {
|
||||
"url": "https://mcp.supermemory.ai/mcp",
|
||||
"headers": {
|
||||
"Authorization": "Bearer sm_your_api_key_here"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Build with Supermemory (API)
|
||||
|
||||
If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.
|
||||
|
||||
### Install
|
||||
|
||||
```bash
|
||||
npm install supermemory # or: pip install supermemory
|
||||
```
|
||||
|
||||
### Quickstart
|
||||
|
||||
```typescript
|
||||
import Supermemory from "supermemory";
|
||||
|
||||
const client = new Supermemory();
|
||||
|
||||
// Store a conversation
|
||||
await client.add({
|
||||
content: "User loves TypeScript and prefers functional patterns",
|
||||
containerTag: "user_123",
|
||||
});
|
||||
|
||||
// Get user profile + relevant memories in one call
|
||||
const { profile, searchResults } = await client.profile({
|
||||
containerTag: "user_123",
|
||||
q: "What programming style does the user prefer?",
|
||||
});
|
||||
|
||||
// profile.static → ["Loves TypeScript", "Prefers functional patterns"]
|
||||
// profile.dynamic → ["Working on API integration"]
|
||||
// searchResults → Relevant memories ranked by similarity
|
||||
```
|
||||
|
||||
```python
|
||||
from supermemory import Supermemory
|
||||
|
||||
client = Supermemory()
|
||||
|
||||
client.add(
|
||||
content="User loves TypeScript and prefers functional patterns",
|
||||
container_tag="user_123"
|
||||
)
|
||||
|
||||
result = client.profile(container_tag="user_123", q="programming style")
|
||||
|
||||
print(result.profile.static) # Long-term facts
|
||||
print(result.profile.dynamic) # Recent context
|
||||
```
|
||||
|
||||
Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.
|
||||
|
||||
### Framework integrations
|
||||
|
||||
Drop-in wrappers for every major AI framework:
|
||||
|
||||
```typescript
|
||||
// Vercel AI SDK
|
||||
import { withSupermemory } from "@supermemory/tools/ai-sdk";
|
||||
const model = withSupermemory(openai("gpt-4o"), "user_123");
|
||||
|
||||
// Mastra
|
||||
import { withSupermemory } from "@supermemory/tools/mastra";
|
||||
const agent = new Agent(withSupermemory(config, "user-123", { mode: "full" }));
|
||||
```
|
||||
|
||||
**Vercel AI SDK** · **LangChain** · **LangGraph** · **OpenAI Agents SDK** · **Mastra** · **Agno** · **Claude Memory Tool** · **n8n**
|
||||
|
||||
### Search modes
|
||||
|
||||
```typescript
|
||||
// Hybrid (default) — RAG + Memory in one query
|
||||
const results = await client.search.memories({
|
||||
q: "how do I deploy?",
|
||||
containerTag: "user_123",
|
||||
searchMode: "hybrid",
|
||||
});
|
||||
// Returns deployment docs (RAG) + user's deploy preferences (Memory)
|
||||
|
||||
// Memories only
|
||||
const results = await client.search.memories({
|
||||
q: "user preferences",
|
||||
containerTag: "user_123",
|
||||
searchMode: "memories",
|
||||
});
|
||||
```
|
||||
|
||||
### User profiles
|
||||
|
||||
Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:
|
||||
|
||||
```typescript
|
||||
const { profile } = await client.profile({ containerTag: "user_123" });
|
||||
|
||||
// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]
|
||||
// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]
|
||||
```
|
||||
|
||||
One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.
|
||||
|
||||
### Connectors
|
||||
|
||||
Auto-sync external data into your knowledge base:
|
||||
|
||||
**Google Drive** · **Gmail** · **Notion** · **OneDrive** · **GitHub** · **Web Crawler**
|
||||
|
||||
Real-time webhooks. Documents automatically processed, chunked, and searchable.
|
||||
|
||||
### API at a glance
|
||||
|
||||
| Method | Purpose |
|
||||
|---|---|
|
||||
| `client.add()` | Store content — text, conversations, URLs, HTML |
|
||||
| `client.profile()` | User profile + optional search in one call |
|
||||
| `client.search.memories()` | Hybrid search across memories and documents |
|
||||
| `client.search.documents()` | Document search with metadata filters |
|
||||
| `client.documents.uploadFile()` | Upload PDFs, images, videos, code |
|
||||
| `client.documents.list()` | List and filter documents |
|
||||
| `client.settings.update()` | Configure memory extraction and chunking |
|
||||
|
||||
Full API reference → [supermemory.ai/docs](https://supermemory.ai/docs)
|
||||
|
||||
---
|
||||
|
||||
## Benchmarks
|
||||
|
||||
Supermemory is state of the art across all major AI memory benchmarks:
|
||||
|
||||
| Benchmark | What it measures | Result |
|
||||
|---|---|---|
|
||||
| **[LongMemEval](https://github.com/xiaowu0162/LongMemEval)** | Long-term memory across sessions with knowledge updates | **81.6% — #1** |
|
||||
| **[LoCoMo](https://github.com/snap-research/locomo)** | Fact recall across extended conversations (single-hop, multi-hop, temporal, adversarial) | **#1** |
|
||||
| **[ConvoMem](https://github.com/Salesforce/ConvoMem)** | Personalization and preference learning | **#1** |
|
||||
|
||||
We also built **[MemoryBench](https://supermemory.ai/docs/memorybench/overview)** — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:
|
||||
|
||||
```bash
|
||||
bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run
|
||||
```
|
||||
|
||||
### Benchmarking your own memory solution
|
||||
|
||||
We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.
|
||||
|
||||
```
|
||||
npx skills add supermemoryai/memorybench
|
||||
```
|
||||
|
||||
Simply run this and do `/benchmark-context` - Supermemory will automatically do the work for you!
|
||||
|
||||
---
|
||||
|
||||
## How memory works under the hood
|
||||
|
||||
```
|
||||
Your app / AI tool
|
||||
↓
|
||||
Supermemory
|
||||
│
|
||||
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
|
||||
│ auto-forgets expired info
|
||||
├── User Profiles Static facts + dynamic context built from engine, always fresh
|
||||
├── Hybrid Search RAG + Memory in one query
|
||||
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
|
||||
└── File Processing PDFs, images, videos, code → searchable chunks
|
||||
```
|
||||
|
||||
**Memory is not RAG.** RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks *facts about users* over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval *and* personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag
|
||||
|
||||
**Automatic forgetting.** Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.
|
||||
|
||||
---
|
||||
|
||||
## Links
|
||||
|
||||
- 📖 [Documentation](https://supermemory.ai/docs)
|
||||
- 🚀 [Quickstart](https://supermemory.ai/docs/quickstart)
|
||||
- 🧪 [MemoryBench](https://supermemory.ai/docs/memorybench/overview)
|
||||
- 🔌 [Integrations](https://supermemory.ai/docs/integrations)
|
||||
- 💬 [Discord](https://supermemory.link/discord)
|
||||
- 𝕏 [Twitter](https://twitter.com/supermemory)
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<strong>Give your AI a memory. It's about time.</strong>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -100,4 +100,20 @@ This works for Google Drive, Notion, and OneDrive. See the full setup in [Custom
|
|||
```
|
||||
|
||||
Use the returned key exactly like a normal API key — it just won't work outside its container scope.
|
||||
|
||||
### Disable a scoped key
|
||||
|
||||
To revoke a scoped key, send a `DELETE` request with the `id` returned at creation time. This disables the key immediately — any subsequent requests using it will get a `401`. Memories and container tags are **not** affected.
|
||||
|
||||
```bash
|
||||
curl https://api.supermemory.ai/v3/auth/scoped-key/KEY_ID \
|
||||
--request DELETE \
|
||||
--header 'Authorization: Bearer YOUR_API_KEY'
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
||||
```json
|
||||
{ "success": true }
|
||||
```
|
||||
</Accordion>
|
||||
|
|
@ -159,6 +159,7 @@
|
|||
"integrations/claude-memory",
|
||||
"integrations/pipecat",
|
||||
"integrations/n8n",
|
||||
"integrations/viasocket",
|
||||
"integrations/zapier"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
BIN
apps/docs/images/viaSocket-supermemory-auth.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
apps/docs/images/viaSocket-supermemory-connect.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
apps/docs/images/viaSocket-supermemory-trigger.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
apps/docs/images/viasocket-icon-ico.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
apps/docs/images/viasocket-supermemory-action.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
apps/docs/images/viasocket-supermemory-configured-trigger.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
apps/docs/images/viasocket-supermemory-connection.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
apps/docs/images/viasocket-supermemory-go-live.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
80
apps/docs/integrations/viasocket.mdx
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
title: "viaSocket"
|
||||
sidebarTitle: "viaSocket"
|
||||
description: "Connect Supermemory with viaSocket to build automation flows using triggers, API tokens, and actions like Gmail."
|
||||
icon: "/images/viasocket-icon-ico.ico"
|
||||
---
|
||||
|
||||
Connect Supermemory to viaSocket to build powerful automation flows — search your memory, trigger actions, and wire up services like Gmail, all without writing code.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A Supermemory API key ([get one here](https://console.supermemory.ai/settings))
|
||||
- A viaSocket account
|
||||
|
||||
## Step-by-Step Tutorial
|
||||
|
||||
<Steps>
|
||||
<Step title="Generate Supermemory API Token">
|
||||
- Log in to your [Supermemory account](https://console.supermemory.ai).
|
||||
- Go to **Settings → API Key**.
|
||||
- Copy your Personal API key.
|
||||
- Keep the key secure — treat it like a password.
|
||||

|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Create a New Flow in viaSocket">
|
||||
- Click **Create New Flow** in your viaSocket dashboard.
|
||||
- In the **Trigger** section, search for and select **Supermemory**.
|
||||
- Choose a trigger — **Search Memory** or **Search User Profile**.
|
||||

|
||||

|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Connect Your Supermemory Account">
|
||||
- Click **Connect to Supermemory**.
|
||||
- Paste your Supermemory API key.
|
||||
- Click **Save** to store the connection.
|
||||
- Confirm the connection is successfully added before proceeding.
|
||||

|
||||
</Step>
|
||||
|
||||
<Step title="Configure the Trigger">
|
||||
- Provide a **Query** — either a static value or a dynamic input from a previous step.
|
||||
- Click **TEST** to run a sample and verify the output.
|
||||
- Save the trigger once the test returns expected data.
|
||||

|
||||
</Step>
|
||||
|
||||
<Step title="Add an Action (Example: Gmail Send Email)">
|
||||
- Click **Add Step**.
|
||||
- Select **Gmail → Send Email**.
|
||||
- Choose an existing Gmail connection or create a new one.
|
||||
- Map the required fields:
|
||||
- **To** — recipient email address
|
||||
- **Subject** — email subject line
|
||||
- **Message Body** — use the trigger's `body` object as dynamic input
|
||||
- Click **Test** to send a test email.
|
||||
- Confirm a **200** response status before saving.
|
||||

|
||||
</Step>
|
||||
|
||||
<Step title="Go Live & Monitor">
|
||||
- Click **GO LIVE** to activate your flow.
|
||||
- Confirm the activation prompt.
|
||||
- Use **Flow View** to inspect the flow structure and **Log View** to monitor executions in real time.
|
||||
- If needed, re-run any execution from **Run History**.
|
||||

|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
<Note>
|
||||
Make sure your Supermemory API key has the correct permissions before
|
||||
connecting. If the TEST step returns no data, double-check the query and
|
||||
ensure your Supermemory account has indexed content.
|
||||
</Note>
|
||||
|
||||
You can extend this flow with other actions and services supported by viaSocket. For all available Supermemory API endpoints, refer to the [API Reference](/api-reference) tab.
|
||||
|
|
@ -62,8 +62,7 @@ type OgData = {
|
|||
image?: string
|
||||
}
|
||||
|
||||
const IS_DEV = process.env.NODE_ENV === "development"
|
||||
const PAGE_SIZE = IS_DEV ? 100 : 100
|
||||
const PAGE_SIZE = 100
|
||||
const MAX_TOTAL = 1000
|
||||
|
||||
// Discriminated union for masonry items
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ export const fetchSubscriptionStatus = (
|
|||
return statusMap
|
||||
},
|
||||
queryKey: ["subscription-status"],
|
||||
refetchInterval: 5000, // Refetch every 5 seconds
|
||||
staleTime: 4000, // Consider data stale after 4 seconds
|
||||
refetchInterval: 60 * 1000, // Refetch every 1 minute
|
||||
staleTime: 55 * 1000, // Consider data stale after 55 seconds
|
||||
enabled: isEnabled,
|
||||
})
|
||||
|
||||
|
|
@ -132,18 +132,41 @@ export const useDeleteDocument = (selectedProject: string) => {
|
|||
["documents-with-memories", selectedProject],
|
||||
(old: unknown) => {
|
||||
if (!old || typeof old !== "object") return old
|
||||
const typedOld = old as {
|
||||
pages?: Array<{ documents?: DocumentWithMemories[] }>
|
||||
|
||||
// Handle Infinite Query structure (TanStack Query v5 uses 'pages')
|
||||
if (
|
||||
"pages" in old &&
|
||||
Array.isArray((old as Record<string, unknown>).pages)
|
||||
) {
|
||||
const typedOld = old as {
|
||||
pages: Array<{ documents?: DocumentWithMemories[] }>
|
||||
}
|
||||
return {
|
||||
...typedOld,
|
||||
pages: typedOld.pages.map((page) => ({
|
||||
...page,
|
||||
documents: page.documents?.filter(
|
||||
(doc: DocumentWithMemories) => doc.id !== documentId,
|
||||
),
|
||||
})),
|
||||
}
|
||||
}
|
||||
return {
|
||||
...typedOld,
|
||||
pages: typedOld.pages?.map((page) => ({
|
||||
...page,
|
||||
documents: page.documents?.filter(
|
||||
|
||||
// Handle Standard Query structure
|
||||
if (
|
||||
"documents" in old &&
|
||||
Array.isArray((old as Record<string, unknown>).documents)
|
||||
) {
|
||||
const typedOld = old as { documents: DocumentWithMemories[] }
|
||||
return {
|
||||
...typedOld,
|
||||
documents: typedOld.documents.filter(
|
||||
(doc: DocumentWithMemories) => doc.id !== documentId,
|
||||
),
|
||||
})),
|
||||
}
|
||||
}
|
||||
|
||||
return old
|
||||
},
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
---
|
||||
name: setup-supermemory
|
||||
description: "Automatically set up supermemory (Perfect agent memory) in your own agent or application, end-to-end. Asks user questions, chooses the right context solution for the agent and does the implementation for you."
|
||||
---
|
||||
|
||||
# Supermemory Claude Skill
|
||||
|
||||
A comprehensive Claude skill that teaches AI agents about Supermemory - the state-of-the-art memory and context infrastructure for building personalized, context-aware AI applications.
|
||||
|
|
|
|||