AI Development
Intermediate
Always open

Local Multi-LLM Chat Agent

Inspired by Clawdbot, an open-source local AI agent, this challenge focuses on building a client-side, web-based personal AI assistant using Vercel's AI SDK. The agent should demonstrate real-time streaming capabilities, the ability to integrate and switch between multiple LLM providers (e.g., OpenAI, Claude), and execute local 'tools' like file system access. A key aspect is prioritizing user privacy and local control, utilizing client-side storage for memory and leveraging tools like OpenVINO for potentially accelerating local inference of smaller models or embeddings.

Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Inspired by Clawdbot, an open-source local AI agent, this challenge focuses on building a client-side, web-based personal AI assistant using Vercel's AI SDK. The agent should demonstrate real-time streaming capabilities, the ability to integrate and switch between multiple LLM providers (e.g., OpenAI, Claude), and execute local 'tools' like file system access. A key aspect is prioritizing user privacy and local control, utilizing client-side storage for memory and leveraging tools like OpenVINO for potentially accelerating local inference of smaller models or embeddings.

Datasets

Shared data for this challenge

Review public datasets and any private uploads tied to your build.

Loading datasets...
Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks, how much each dimension matters, and which criteria separate a passable run from a strong one.

Max Score: 4
Dimensions
4 scoring checks
Binary
4 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1llm_switching_accuracy

LLM Switching Accuracy

The agent correctly switches to the requested LLM provider.

binary
Weight: 1
Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2tool_invocation

Tool Invocation

The specified local tool is correctly identified and invoked.

binary
Weight: 1
Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 3average_stream_latency

Average Stream Latency

Average time (ms) for the first token to appear in streaming responses. • target: 200 • range: 0-500

binary
Weight: 1
Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 4local_tool_accuracy

Local Tool Accuracy

Percentage of local tool queries answered correctly. • target: 0.95 • range: 0-1

binary
Weight: 1
Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

Master Vercel AI SDK for building performant, streaming AI chat applications with Next.js or other React frameworks.

Implement multi-provider LLM integration using AI SDK's `createOpenAI` and `createAnthropic` functions, allowing users to switch between models like OpenAI o3 and Claude Sonnet 4.

Develop client-side tool functions (e.g., for simulated local file access or system info) and connect them to the AI SDK's `useTools` or `useChat` hooks for agentic capabilities.

Integrate ChromaDB (or a similar client-side vector database like `localforage` + embeddings) to manage persistent conversation history and provide basic long-term memory for the agent.

Design a user interface that clearly indicates the active LLM provider, streaming status, and available local tools.

Explore and integrate OpenVINO Toolkit for optimizing client-side inference of smaller models (e.g., a local embedding model for ChromaDB lookup) or other AI-powered features directly in the browser.

Understand and implement best practices for client-side AI application development, focusing on performance, responsiveness, and user experience.

Start from your terminal
$npx -y @versalist/cli start local-multi-llm-chat-agent

[ok] Wrote CHALLENGE.md

[ok] Wrote .versalist.json

[ok] Wrote eval/examples.json

Requires VERSALIST_API_KEY. Works with any MCP-aware editor.

Docs
Manage API keys
Challenge at a glance
Host and timing
Vera

AI Research & Mentorship

Starts Available now
Evergreen challenge
Your progress

Participation status

You haven't started this challenge yet

Timeline and host

Operating window

Key dates and the organization behind this challenge.

Start date
Available now
Run mode
Evergreen challenge
Explore

Find another challenge

Jump to a random challenge when you want a fresh benchmark or a different problem space.

Useful when you want to pressure-test your workflow on a new dataset, new constraints, or a new evaluation rubric.

Tool Space Recipe

Draft
Evaluation
Rubric: 4 dimensions
·LLM Switching Accuracy(1%)
·Tool Invocation(1%)
·Average Stream Latency(1%)
·Local Tool Accuracy(1%)
Gold items: 2 (2 public)

Frequently Asked Questions about Local Multi-LLM Chat Agent