mirror of
https://github.com/samvallad33/vestige.git
synced 2026-04-25 00:36:22 +02:00
New features: - deep_reference tool (#22): 8-stage cognitive reasoning pipeline with FSRS-6 trust scoring, intent classification (FactCheck/Timeline/RootCause/Comparison/ Synthesis), spreading activation expansion, temporal supersession, trust-weighted contradiction analysis, relation assessment, dream insight integration, and algorithmic reasoning chain generation — all without calling an LLM - cross_reference (#23): backward-compatible alias for deep_reference - retrieval_mode parameter on search (precise/balanced/exhaustive) - get_batch action on memory tool (up to 20 IDs per call) - Token budget raised from 10K to 100K on search + session_context - Dates (createdAt/updatedAt) on all search results and session_context lines Bug fixes (GitHub Issue #25 — all 10 resolved): - state_transitions empty: wired record_memory_access into strengthen_batch - chain/bridges no storage fallback: added with edge deduplication - knowledge_edges dead schema: documented as deprecated - insights not persisted from dream: wired save_insight after generation - find_duplicates threshold dropped: serde alias fix - search min_retention ignored: serde aliases for snake_case params - intention time triggers null: removed dead trigger_at embedding - changelog missing dreams: added get_dream_history + event integration - phantom Related IDs: clarified message text - fsrs_cards empty: documented as harmless dead schema Security hardening: - HTTP transport CORS: permissive() → localhost-only - Auth token panic guard: &token[..8] → safe min(8) slice - UTF-8 boundary fix: floor_char_boundary on content truncation - All unwrap() removed from HTTP transport (unwrap_or_else fallback) - Dream memory_count capped at 500 (prevents O(N²) hang) - Dormant state threshold aligned (0.3 → 0.4) Stats: 23 tools, 758 tests, 0 failures, 0 warnings, 0 unwraps in production Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
156 lines
3 KiB
Markdown
156 lines
3 KiB
Markdown
# Windsurf
|
|
|
|
> Give Cascade a brain that remembers between sessions.
|
|
|
|
Windsurf has native MCP support through its Cascade AI. Add Vestige and Cascade remembers your architecture, preferences, and past decisions across every session.
|
|
|
|
---
|
|
|
|
## Setup
|
|
|
|
### 1. Open the config file
|
|
|
|
**Option A — Via UI:**
|
|
|
|
1. Open **Windsurf > Settings > Advanced Settings**
|
|
2. Scroll to the **"Cascade"** section
|
|
3. Click **"view the raw JSON config file"**
|
|
|
|
**Option B — Direct path:**
|
|
|
|
| Platform | Path |
|
|
|----------|------|
|
|
| macOS / Linux | `~/.codeium/windsurf/mcp_config.json` |
|
|
| Windows | `%USERPROFILE%\.codeium\windsurf\mcp_config.json` |
|
|
|
|
```bash
|
|
# macOS / Linux
|
|
open -e ~/.codeium/windsurf/mcp_config.json
|
|
```
|
|
|
|
### 2. Add Vestige
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"vestige": {
|
|
"command": "/usr/local/bin/vestige-mcp",
|
|
"args": [],
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**With environment variable expansion** (Windsurf-specific feature):
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"vestige": {
|
|
"command": "${env:HOME}/.cargo/bin/vestige-mcp",
|
|
"args": [],
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Windows:**
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"vestige": {
|
|
"command": "C:\\Users\\you\\.cargo\\bin\\vestige-mcp.exe",
|
|
"args": [],
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### 3. Restart Windsurf
|
|
|
|
Restart the IDE or refresh the Cascade panel.
|
|
|
|
### 4. Verify
|
|
|
|
Open Cascade and ask:
|
|
|
|
> "What MCP tools do you have?"
|
|
|
|
You should see Vestige's tools listed.
|
|
|
|
---
|
|
|
|
## First Use
|
|
|
|
In Cascade:
|
|
|
|
> "Remember that this project uses Next.js 15 with the App Router and Drizzle ORM"
|
|
|
|
Start a **new Cascade session**, then:
|
|
|
|
> "What framework does this project use?"
|
|
|
|
It remembers.
|
|
|
|
---
|
|
|
|
## Project-Specific Memory
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"vestige": {
|
|
"command": "/usr/local/bin/vestige-mcp",
|
|
"args": ["--data-dir", "${env:HOME}/projects/my-app/.vestige"],
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Important: Tool Limit
|
|
|
|
Windsurf has a **hard cap of 100 tools** across all MCP servers. Vestige uses 23 tools, leaving plenty of room for other servers.
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
<details>
|
|
<summary>Vestige not appearing in Cascade</summary>
|
|
|
|
1. Verify the config file is valid JSON:
|
|
```bash
|
|
cat ~/.codeium/windsurf/mcp_config.json | python3 -m json.tool
|
|
```
|
|
2. Ensure you're using absolute paths (or `${env:HOME}` expansion).
|
|
3. Check the Cascade panel for error messages.
|
|
4. Fully restart Windsurf.
|
|
</details>
|
|
|
|
<details>
|
|
<summary>Tool limit exceeded</summary>
|
|
|
|
If you have many MCP servers and exceed 100 total tools, Cascade will ignore excess servers. Remove unused servers or use Vestige's unified tools (each handles multiple operations).
|
|
</details>
|
|
|
|
---
|
|
|
|
## Also Works With
|
|
|
|
| IDE | Guide |
|
|
|-----|-------|
|
|
| Xcode 26.3 | [Setup](./xcode.md) |
|
|
| Cursor | [Setup](./cursor.md) |
|
|
| VS Code (Copilot) | [Setup](./vscode.md) |
|
|
| Codex | [Setup](./codex.md) |
|
|
| JetBrains | [Setup](./jetbrains.md) |
|
|
| Claude Code | [Setup](../CONFIGURATION.md#claude-code-one-liner) |
|
|
| Claude Desktop | [Setup](../CONFIGURATION.md#claude-desktop-macos) |
|
|
|
|
Your AI remembers everything, everywhere.
|