VS Code Extension
Mind Palace Observer is the VS Code extension for the Mind Palace ecosystem.
Install
-
Install CLI first (required):
curl -L https://github.com/koksalmehmet/mind-palace/releases/latest/download/palace-darwin-arm64 -o palace chmod +x palace && sudo mv palace /usr/local/bin/ -
Install extension from VS Code Marketplace: “Mind Palace Observer”
Features
Status Bar (HUD)
| State | Color | Meaning |
|---|---|---|
| Fresh | Green | Index matches filesystem |
| Stale | Red | Files changed since last scan |
| Scanning | Amber | Heal in progress |
Click to open action menu.
Sidebar Views
The extension adds a Mind Palace activity bar with four views:
Blueprint View
- Tree view: Rooms as folders, entry points as files
- Graph view: Cytoscape visualization of room relationships
- Click to navigate to files
Knowledge View
Browse and manage your knowledge records:
- Ideas: Grouped by status (active, exploring, implemented, dropped)
- Decisions: Grouped by status (active, superseded, reversed)
- Learnings: Grouped by scope (palace, room, file)
- Context menu for creating links between records
Sessions View
Track AI agent sessions:
- View active, completed, and abandoned sessions
- Start new sessions with goal tracking
- End sessions with outcome recording
- View session activity history
Corridor View
Personal cross-workspace learnings:
- Browse learnings promoted to your personal corridor
- View linked workspaces
- Reinforce learning confidence
Semantic Search
AI-powered search for your knowledge base:
- Combines keyword matching with semantic similarity
- Filter by record type (ideas, decisions, learnings)
- Requires embedding backend configuration (Ollama or OpenAI)
Access via Cmd/Ctrl+Shift+F or Command Palette: “Mind Palace: Semantic Search”
Conversation Storage
Store and search past AI conversations:
- Automatically links conversations to sessions
- Search by summary or content
- View full conversation history
Links Management
Create relationships between records:
- supports: Record supports another
- contradicts: Record contradicts another
- implements: Record implements another
- supersedes: Record supersedes another
- inspired_by: Record is inspired by another
- related: General relationship
Auto-Heal
On file save:
- Wait for debounce (default: 1.5s)
- Run
palace scan && palace collect - Update HUD and refresh views
Keyboard Shortcuts
| Shortcut | Command |
|---|---|
Cmd/Ctrl+Shift+H | Heal (scan & collect) |
Cmd/Ctrl+Shift+S | Check Status |
Cmd/Ctrl+Shift+B | Open Blueprint |
Cmd/Ctrl+Shift+K | Quick Store (with selection) |
Cmd/Ctrl+Shift+F | Semantic Search |
Cmd/Ctrl+Shift+M | Show Menu |
Configuration
VS Code Settings
{
"mindPalace.binaryPath": "palace",
"mindPalace.autoSync": true,
"mindPalace.autoSyncDelay": 1500,
"mindPalace.waitForCleanWorkspace": false,
"mindPalace.showStatusBarItem": true,
"mindPalace.showFileDecorations": true,
"mindPalace.enableSemanticSearch": true
}| Setting | Default | Description |
|---|---|---|
binaryPath | "palace" | Path to palace CLI executable |
autoSync | true | Auto-heal on file save |
autoSyncDelay | 1500 | Debounce delay in ms (500-30000) |
waitForCleanWorkspace | false | Wait for all files saved before heal |
showStatusBarItem | true | Show status bar indicator |
showFileDecorations | true | Show inline editor decorations |
enableSemanticSearch | true | Enable semantic search features |
Embedding Configuration
To enable semantic search, configure embeddings in .palace/palace.jsonc:
{
// ... other config ...
// Option 1: Ollama (local, free)
"embeddingBackend": "ollama",
"embeddingModel": "nomic-embed-text",
"embeddingUrl": "http://localhost:11434",
// Option 2: OpenAI
"embeddingBackend": "openai",
"embeddingModel": "text-embedding-3-small",
"embeddingApiKey": "sk-..."
}Architecture
┌─────────────────────────────────────────────────────────────┐
│ VS CODE EXTENSION │
│ ┌─────────┐ ┌───────────┐ ┌──────────┐ ┌─────────────────┐ │
│ │ HUD │ │ Sidebar │ │ Decorator│ │ Tree Providers │ │
│ └────┬────┘ └─────┬─────┘ └────┬─────┘ └────────┬────────┘ │
│ └────────────┼────────────┼────────────────┘ │
│ │ │ │
│ ┌─────▼────────────▼─────┐ │
│ │ Bridge │ │
│ │ (MCP Client) │ │
│ └───────────┬────────────┘ │
└──────────────────────────┼──────────────────────────────────┘
│ JSON-RPC over stdio
┌──────▼──────┐
│ palace │
│ butler │
└─────────────┘Key principle: Extension has no state. CLI is source of truth.
Communication
The extension communicates with the CLI via MCP (Model Context Protocol):
- JSON-RPC over stdio
- Tool-based API for all operations
- Real-time updates via WebSocket (dashboard)
Commands
| Command | Description |
|---|---|
mindPalace.heal | Scan and collect context |
mindPalace.checkStatus | Verify staleness |
mindPalace.openBlueprint | Show sidebar |
mindPalace.refreshKnowledge | Refresh knowledge view |
mindPalace.refreshSessions | Refresh sessions view |
mindPalace.refreshCorridor | Refresh corridor view |
mindPalace.startSession | Start new agent session |
mindPalace.endSession | End current session |
mindPalace.storeIdea | Store selection as idea |
mindPalace.storeDecision | Store selection as decision |
mindPalace.storeLearning | Store selection as learning |
mindPalace.quickStore | Quick store with auto-classification |
mindPalace.semanticSearch | Search knowledge semantically |
mindPalace.searchConversations | Search past conversations |
mindPalace.showLinks | Show links for a record |
mindPalace.createLink | Create link between records |
mindPalace.showFileIntel | Show file intelligence |
mindPalace.showCallGraph | Show call graph |
mindPalace.showMenu | Show action menu |
Troubleshooting
“Palace binary not found”
- Check:
palace --version - Set
mindPalace.binaryPathto absolute path
HUD stuck on Scanning
- Check Output panel → “Mind Palace”
- Try
palace scanmanually
Search returns nothing
- Verify index exists:
ls .palace/index/palace.db - Rebuild:
palace scan
Semantic search not working
- Check embedding config in
.palace/palace.jsonc - For Ollama: ensure
ollama serveis running - For OpenAI: verify API key is set
Views not refreshing
- Use refresh button in view title bar
- Check Output panel for errors
- Restart extension:
Developer: Restart Extension Host