> ## Documentation Index
> Fetch the complete documentation index at: https://cache-pot.thatdevguy.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Run RESP commands interactively in the Cache-Pot Workbench

> The Workbench is an in-browser CLI for Cache-Pot. Run any RESP command, view typed responses, browse history, and get syntax hints as you type.

The Workbench is an interactive command-line interface built directly into the dashboard. Open it at [http://localhost:8080](http://localhost:8080) and select **workbench** in the sidebar to start running commands against your Cache-Pot instance from the browser. Every command executes in-process through the same pipeline as TCP client commands, so it appears in the Profiler and is recorded in the AOF.

## Running commands

Type a command in the input box at the bottom of the page and press **Enter** or click **run**. The scrollback area above shows your command echoed back, the server's response, and the time taken in microseconds.

Responses are rendered with full RESP type information:

| Response type | Display                         |
| ------------- | ------------------------------- |
| Simple string | Plain text in green             |
| Bulk string   | Quoted text, e.g. `"hello"`     |
| Integer       | Labelled, e.g. `(integer) 42`   |
| Array         | Numbered list, nested as needed |
| Error         | Prefixed with `(error)` in red  |
| Nil           | `(nil)` or `(empty array)`      |

Press `Ctrl+L` to clear the scrollback without losing your history.

**Example session:**

```
SET greeting "hello world"
GET greeting
HSET user:1 name Alice age 30
HGETALL user:1
```

## Syntax hints

As you type, a hint strip beneath the input box shows the full command signature. Typing the start of a command name shows matching command names; completing a full command name shows the syntax and a short description.

For example, typing `VSEARCH` shows:

```
VSEARCH key f1 f2 ... fn [TOPK k] [WITHSCORES] — search for nearest vectors
```

## Command history

The Workbench keeps a rolling history of up to 200 commands, saved in your browser's `localStorage` so it persists across page reloads and browser sessions.

* Press **↑** to move back through previous commands.
* Press **↓** to move forward, returning to your current draft on the final press.

<Tip>
  Use the Workbench to prototype commands before integrating them into your application code. The exact command syntax you confirm here will work identically over a TCP connection.
</Tip>

## Running AI commands

The Workbench is the most convenient way to experiment with Cache-Pot's AI and vector extensions. All AI commands follow standard RESP syntax and respond in the scrollback like any other command:

```
# Store vectors (3-dimensional)
VSET myembeds v1 0.1 0.9 0.2 META "first document"
VSET myembeds v2 0.8 0.1 0.7 META "second document"

# Find the nearest neighbours
VSEARCH myembeds 0.15 0.85 0.18 TOPK 2 WITHSCORES

# Semantic cache (requires embedding config)
SCACHE.SET "What is Go?" "Go is a statically typed language." 3600
SCACHE.GET "Tell me about the Go language"

# Agent memory
REMEMBER session-1 topic "vector databases"
RECALL session-1
```

Vector keys created with `VSET` appear in the Key Browser as `vector` type, where you can inspect the vector count and dimension. Use the Workbench for all vector reads and writes.

## Blocked commands

A small set of commands are not available in the Workbench because they require persistent connections or streaming behaviour that the browser CLI cannot support. Use the dedicated dashboard pages instead:

| Blocked command                                          | Use instead                                                        |
| -------------------------------------------------------- | ------------------------------------------------------------------ |
| `MONITOR`                                                | **Profiler** page — real-time command stream with pause and filter |
| `SUBSCRIBE`, `UNSUBSCRIBE`, `PSUBSCRIBE`, `PUNSUBSCRIBE` | **Pub/Sub** page — subscribe to channels and publish messages      |
| `QUIT`, `RESET`                                          | **Clients** page — view and terminate connections                  |

<Note>
  Attempting to run a blocked command in the Workbench returns an error message directing you to the appropriate dashboard page. No connection state is affected.
</Note>
