Agmen Stream Inspector for Redis
A Visual Studio Code extension for inspecting, searching, monitoring, and replaying Redis Streams — directly from your editor.
Features
Search & Filter
- Full-text search across stream messages with field-level filtering
- JSON path traversal — search nested JSON payloads using dot notation (e.g.
data.user.name)
- Case-insensitive matching with optional exact-match mode
- Find Last N — retrieve the most recent N messages from selected streams
- Ascending / Descending scan modes with configurable page size
- Multiple stream selection — search across several streams simultaneously
Real-Time Monitoring (Pro)
- Watch mode — monitor streams in real-time with configurable polling intervals
- New messages appear automatically as they arrive
- Uses
XREAD for efficient polling
Connection Management
- Multiple connection profiles with environment labels (Dev / Test / Prod)
- Color-coded environments for visual distinction
- SSH tunnel support — connect to Redis servers behind SSH bastions with password or private key authentication
- Secure credential storage — passwords stored in your OS keychain via VS Code SecretStorage
- Test connection — verify connectivity before saving
- Drag-and-drop profile reordering via Manage Profiles dialog
Message Viewer
- Pretty-printed JSON with syntax highlighting
- Find within message (
Ctrl+F) with match navigation
- Double-decode support — automatically unwraps JSON strings containing embedded JSON
- Resizable split panel — drag the divider between results list and message viewer
Export (Pro)
- JSON export — save search results as a formatted JSON array
- CSV export — save results with Stream, Id, DateTime, and RawMessage columns
Replay (Pro)
- Replay messages to another Redis server using
XADD
- Select a target connection profile with environment filtering
- Replay individual messages or all results at once
- Confirmation prompt for bulk replays (>10 messages)
Getting Started
Install from VSIX
- Download the
.vsix file
- In VS Code:
Ctrl+Shift+P > Extensions: Install from VSIX...
- Select the downloaded file
- Reload VS Code
Open the Inspector
- Click the Agmen Stream Inspector icon in the Activity Bar (left sidebar)
- Press
Ctrl+Shift+R (or Cmd+Shift+R on macOS)
- Open the Command Palette (
Ctrl+Shift+P) and run Agmen Stream Inspector: Open
Add a Connection
- Click + Add in the Connection section
- Enter a name and Redis URL (e.g.
redis://localhost:6379 or rediss://host:6380)
- Optionally configure Redis authentication and SSH tunnel settings
- Click Test Connection to verify, then Save
Search Streams
- Select a connection profile from the dropdown
- Click Fetch to discover available streams
- Select one or more streams from the list
- Configure search options (Find Field, Find Equals, Find Last, etc.)
- Click Find to search
Commands
| Command |
Shortcut |
Description |
| Agmen Stream Inspector: Open |
Ctrl+Shift+R |
Open the inspector panel |
| Agmen Stream Inspector: Add Connection |
- |
Add a new Redis connection |
| Agmen Stream Inspector: Export Results (JSON) |
- |
Export results as JSON |
| Agmen Stream Inspector: Export Results (CSV) |
- |
Export results as CSV |
| Agmen Stream Inspector: Activate Pro License |
- |
Activate or check Pro license |
Settings
| Setting |
Default |
Description |
redisInspector.defaultJsonField |
message |
Default stream field name containing the JSON payload |
redisInspector.pollIntervalMs |
100 |
Watch mode polling interval in milliseconds (50-5000) |
Free vs Pro
| Feature |
Free |
Pro |
| Saved connections |
1 |
Unlimited |
| Find Last |
Max 100 |
Unlimited |
| Find Max |
Max 2 |
Unlimited |
| Selected streams |
Max 3 |
Unlimited |
| Search (Find) |
Yes |
Yes |
| Watch (real-time) |
- |
Yes |
| Export (JSON/CSV) |
- |
Yes |
| Replay |
- |
Yes |
The extension accepts standard Redis connection URLs:
redis://[[username:]password@]host[:port][/db]
rediss://[[username:]password@]host[:port][/db]
redis:// - plain TCP connection
rediss:// - TLS-encrypted connection
- Default port:
6379
SSH Tunnel
For Redis servers accessible only via SSH:
- Enable SSH Tunnel in the connection editor
- Enter SSH host, port (default 22), and username
- Authenticate with password or private key (with optional passphrase)
- The extension creates a local tunnel and connects Redis through it
Development
Prerequisites
- Node.js 20+
- VS Code 1.85+
Setup
git clone https://github.com/cristianofx/agmen-stream-inspector-vscode.git
cd agmen-stream-inspector-vscode
npm install
Build and Run
# Development (watch mode)
npm run watch
# Or press F5 in VS Code to launch Extension Development Host
# Production build
npm run build
# Run tests
npm test
# Package as VSIX
npm run package
Project Structure
src/
extension.ts # Entry point (activate/deactivate)
core/
models/ # Data models (SearchOptions, SearchHit, etc.)
services/ # Redis services (SearchRunner, MessageMatcher, etc.)
licensing/ # Pro/Free tier licensing logic
providers/ # Webview panel providers
mainPanelProvider.ts # Central orchestrator
editConnectionProvider.ts
replayDialogProvider.ts
manageProfilesProvider.ts
sidebarProvider.ts
services/ # Connection profile storage
webview/ # Browser-side UI (HTML/CSS/TS)
main/ # Main inspector panel
editConnection/ # Connection editor dialog
replayDialog/ # Replay target selector
manageProfiles/ # Profile reordering dialog
shared/ # Shared types and styles
test/
suite/ # Unit tests (Mocha)
Technology Stack
- TypeScript - Extension host and webview code
- ioredis - Redis client (XRANGE, XREVRANGE, XREAD, XADD, SCAN)
- ssh2 - SSH tunnel support
- esbuild - Bundling (Node.js CJS for extension, browser IIFE for webviews)
- VS Code Webview API - UI panels with message passing
- VS Code SecretStorage - Secure credential management
- Mocha - Unit testing
License
See LICENSE for details.