home / skills / sstobo / convex-skills / convex-agents-playground
This skill helps you test and debug Convex agents with a web playground, enabling real-time messaging, history inspection, and context tuning.
npx playbooks add skill sstobo/convex-skills --skill convex-agents-playgroundReview the files below or copy the command above to add this skill to your agents.
---
name: "Convex Agents Playground"
description: "Sets up a web UI for testing, debugging, and developing agents without code. Use this to manually test agents, browse conversation history, and verify behavior in real-time."
---
## Purpose
The Playground is a graphical interface for interacting with agents. It lets you browse threads, send messages, inspect tool calls, and adjust context parameters without writing code.
## When to Use This Skill
- Testing agents during development
- Manually verifying agent behavior
- Debugging unexpected responses
- Experimenting with prompts and context options
- Demoing agents to stakeholders
- Inspecting tool calls and results
- Analyzing message structure and metadata
## Set Up Playground API Endpoint
Create a Convex function that exposes playground APIs:
```typescript
// convex/playground.ts
import { definePlaygroundAPI } from "@convex-dev/agent";
import { components } from "./_generated/api";
import { weatherAgent, supportAgent, creativeAgent } from "./agents";
export const {
isApiKeyValid,
listAgents,
listUsers,
listThreads,
listMessages,
createThread,
generateText,
fetchPromptContext,
} = definePlaygroundAPI(components.agent, {
agents: [weatherAgent, supportAgent, creativeAgent],
});
```
## Generate API Key
```bash
# Generate API key from CLI
npx convex run --component agent apiKeys:issue '{"name":"my-key"}'
# Output:
# { "id": "abc123def456", "name": "my-key" }
```
## Use Hosted Playground
Access the online playground:
```
1. Visit: https://get-convex.github.io/agent/
2. Enter your Convex deployment URL (from .env.local)
3. Enter your API key
4. Select your playground path (default: "playground")
5. Choose an agent and user to test
```
## Run Playground Locally
```bash
# Install and run local playground
npx @convex-dev/agent-playground
# Uses VITE_CONVEX_URL from .env.local
# Open browser to http://localhost:5173
```
## Playground Features
```
1. User Selection
- Pick a user to view their threads
- See all conversations for that user
2. Thread Browsing
- List all threads for selected user
- View thread metadata (title, summary)
- Click to open a thread
3. Message History
- View all messages in thread
- See message ordering and step order
- Inspect message metadata
- View tool call details
4. Send Message
- Type a message to test agent
- Configure save options
- Send and see response in real-time
- View usage information
5. Context Configuration
- Adjust recentMessages count
- Enable/disable text search
- Enable/disable vector search
- Set search result limits
- Test different context options
6. Tool Call Analysis
- View tool calls and parameters
- See tool results
- Inspect tool execution details
```
## Test Multiple Agents
Switch between agents in playground:
```typescript
// convex/playground.ts
export const {
isApiKeyValid,
listAgents,
// ...
} = definePlaygroundAPI(components.agent, {
agents: [fastAgent, creativeAgent, analyticalAgent, supportAgent],
});
```
## Manage API Keys
Generate and revoke keys:
```bash
# Generate new key (or reissue existing)
npx convex run --component agent apiKeys:issue '{"name":"dev-key"}'
# Reusing a name revokes and reissues
# Multiple keys for different environments:
npx convex run --component agent apiKeys:issue '{"name":"prod-key"}'
npx convex run --component agent apiKeys:issue '{"name":"staging-key"}'
```
## Key Principles
- **Security via API keys**: Keys needed to access playground
- **Read-only by default**: Doesn't modify data unless you send messages
- **Real-time updates**: See agent responses immediately
- **Context control**: Experiment with context settings live
- **No code needed**: Use without writing any code
## Development Workflow
```
1. Define agent (convex/agents.ts)
2. Export in playground (convex/playground.ts)
3. Generate API key
4. Open playground
5. Test agent
6. Debug behavior
7. Adjust agent
8. Repeat
```
## Next Steps
- See **debugging** for logging context
- See **fundamentals** for agent setup
- See **rate-limiting** for understanding costs
This skill sets up a web-based Playground for testing, debugging, and developing Convex agents without writing code. It provides a graphical interface to browse conversations, send messages, inspect tool calls, and tweak context settings in real time. Use it to validate agent behavior, reproduce issues, and demo agents to stakeholders quickly.
The Playground exposes a small API layer that lists agents, users, threads, and messages, and lets you generate responses and fetch prompt context. You run a hosted or local frontend that connects to your Convex deployment using an API key to view threads, send test messages, and inspect tool calls. Context parameters like recentMessages, text/vector search, and search limits are adjustable on the UI so you can experiment without code changes.
How do I run the Playground locally?
Install and run the package (npx @convex-dev/agent-playground) and open the local URL; ensure VITE_CONVEX_URL is set.
How do I secure access to the Playground?
Generate Convex API keys for each environment and only share keys with trusted developers; keys can be revoked or reissued.