AI-powered research chat built with Convex, Vite, & React.
- Use It Now: researchly.chat
- Docs: docs/README.md
- Web search + page scraping
- Streaming agent responses (SSE)
- Chat sharing + export (markdown/html/json/txt)
- Local-only mode and Convex-backed mode
npm install
cp .env.example .env.local
# Set VITE_CONVEX_URL in .env.local (https://<deployment>.convex.cloud)
# Optionally set CONVEX_DEPLOYMENT for Convex CLI commands
# Required for browser clients (CORS allowlist)
npx convex env set CONVEX_ALLOWED_ORIGINS "http://localhost:5173"
# Configure an AI provider key (choose one)
npx convex env set LLM_API_KEY "..."
# or: npx convex env set OPENAI_API_KEY "..."
# or: npx convex env set OPENROUTER_API_KEY "..."
npm run dev- Development
- Configuration
- Testing
- API
- Deployment
- Architecture
- Review Context Pipeline to understand how conversational context is managed by agents/sub-agents, crawling, web search, and other tool calls.
- Review Scraping and Crawling for exact server-side runtime behavior, dependencies, and failure semantics.
npm run dev(frontend + backend)npm run build/npm run previewnpm run lint/npm run typechecknpm run test:allnpm run validate
See CONTRIBUTING.md.
- Composer — AI-assisted email application (GitHub)
- TUI4J — Modern terminal user interface library for Java
- Brief — Beautiful terminal AI chat with tool calling (GitHub)
Copyright © 2026 William Callahan.
See LICENSE.md.
