Full agent app built from the 8 agent primitives: the agent thinks, searches and reads your workspace on a live activity timeline, writes a memo into a side panel, answers with citations, then asks before it shares the memo. Scripted end to end, so it runs with no backend until you plug in your model.
Set your access key from API keys as NEXTUI_TOKEN in .env.local and add the @nextui namespace below to components.json once. Then every item installs by name. Each install counts as a copy on a free account.
$pnpm dlx shadcn@latest add @nextui/research-agent
1{2"registries": {3"@nextui": {4"url": "https://nextui.dev/r/{name}.json",5"headers": { "Authorization": "Bearer ${NEXTUI_TOKEN}" }6}7}8}
1"use client";23import { ResearchAgent } from "@/components/pages/research-agent";45export default function Page() {6return (7<ResearchAgent8brand="Scout"9question="Should we move the API to usage-based pricing?"10onShare={(memo) => console.log("share", memo)}11/>12);13}
| Prop | Type | Default | Description |
|---|---|---|---|
| brand | string | "Scout" | Product name in the top bar |
| question | string | a pricing question | Asked on load so the page opens with the agent at work; pass an empty string to start on the suggestions |
| suggestions | string[] | 3 prompts | Shown in the empty chat |
| script | ResearchScript | a pricing memo | Reasoning, steps, memo, answer, sources and share step the scripted run plays |
| onShare | (memo: string) => void | – | The person approved the share step |
| className | string | – | Extra classes on the section |
Sign in to see the code
Preview it freely. A free account copies code and prompts a few times a day.