8000 GitHub - gopiinho/toolkit.dev: Extensible chatbot with toggleable toolkits and Generative UI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gopiinho/toolkit.dev

 
 

Repository files navigation

Banner Image

An extensible AI chat application with Generative UI built for the T3 Cloneathon using the T3 Stack. Toolkit.dev features a powerful toolkit system that allow users to toggle sets of AI tools to interact with external services, search the web, manage files, and much more.

Every Toolkit includes customizable UI components, enabling rich, interactive, and visually engaging displays for all tool outputs and interactions.

Table of Contents

Features

Extensible Toolkit System

Toolkit.dev's toolkit architecture allows AI assistants to use powerful tools:

Web Search & Research

  • Exa Search - Neural web search

Development & Code

  • GitHub API - Repository management, issue tracking, code search
  • E2B - Code execution in secure sandboxes

Productivity & Knowledge

  • Google Calendar - Event management and scheduling
  • Google Drive - File management and document access
  • Notion - Database queries and page management
  • Memory (Mem0) - Persistent memory for conversations

Multiple LLM Providers

  • OpenAI
  • Anthropic
  • XAI
  • Google
  • Perplexity

Choose any LLM provider - the app automatically adapts to your configuration!

Flexible Authentication

  • Discord OAuth
  • Google OAuth
  • GitHub OAuth
  • Twitter OAuth
  • Notion OAuth

Just configure one auth provider and you're ready to go!

Media & Content

  • Image Processing - Advanced image analysis and manipulation

Modern UI/UX

  • Responsive design with Tailwind CSS
  • Real-time chat interface
  • Interactive tool result displays
  • Loading states and progress indicators
  • Dark/light mode support

Security & Type Safety

  • Server-side API key management
  • Type-safe API calls with tRPC
  • Zod schema validation
  • Secure authentication flow

Built With the T3 Stack

Toolkit.dev leverages the full power of the T3 Stack:

Plus additional tools:

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm
  • Database (PostgreSQL recommended)

1. Clone the Repository

git clone https://github.com/jasonhedman/toolkit.dev.git
cd open-chat

2. Install Dependencies

pnpm install

3. Environment Configuration

Copy the example environment file:

cp .env.example .env

Required Configuration

Database:

DATABASE_URL="postgresql://username:password@localhost:5432/Toolkit.dev"

App Configuration:

APP_URL="http://localhost:3000"
AUTH_SECRET="your-secret-key"  # Generate with: openssl rand -base64 32
NODE_ENV="development"

Choose at least one Authentication Provider

Option 1: Discord

AUTH_DISCORD_ID="your-discord-client-id"
AUTH_DISCORD_SECRET="your-discord-client-secret"

Option 2: Google

AUTH_GOOGLE_ID="your-google-client-id"
AUTH_GOOGLE_SECRET="your-google-client-secret"

Option 3: GitHub

AUTH_GITHUB_ID="your-github-client-id"
AUTH_GITHUB_SECRET="your-github-client-secret"

Option 4: Twitter

AUTH_TWITTER_ID="your-twitter-client-id"
AUTH_TWITTER_SECRET="your-twitter-client-secret"

Option 5: Notion

AUTH_NOTION_ID="your-notion-client-id"
AUTH_NOTION_SECRET="your-notion-client-secret"

Add an OpenRouter key

OPENROUTER_API_KEY=""

Optional Toolkit API Keys

Enable specific toolkits by adding their API keys:

# Web Search
EXA_API_KEY="your-exa-key"

# Memory
MEM0_API_KEY="your-mem0-key"

# Code Execution
E2B_API_KEY="your-e2b-key"

# Image Generation
OPENAI_API_KEY=""
XAI_API_KEY=""

Note: The app automatically detects which providers and toolkits are configured and adapts the interface accordingly!

4. Database Setup

Run database migrations:

pnpm db:push

5. Start Development Server

pnpm dev

Open http://localhost:3000 to see your Toolkit.dev instance!

Development

Adding New Toolkits

Toolkit.dev's modular architecture makes it easy to add new toolkits. Check out the Toolkit Development Guide for detailed instructions.

Project Structure

src/
├── app/                 # Next.js App Router
├── components/          # React components
├── lib/                 # Utility functions
├── server/             # tRPC server and database
├── toolkits/           # Extensible toolkit system
└── env.js              # Environment validation

Database Commands

# Push schema changes
pnpm db:push

# Generate Prisma client
pnpm db:generate

# Open database studio
pnpm db:studio

T3 Cloneathon

This project was built for the T3 Cloneathon, showcasing:

  • Modern T3 Stack usage with latest patterns
  • Type Safety throughout the entire application
  • Scalable Architecture with the toolkit system
  • Developer Experience with comprehensive tooling
  • Production Ready with proper error handling and validation

Contributing

Contributions are welcome! Please read our Toolkit Development Guide to get started with creating new toolkits.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with love for the T3 Cloneathon

About

Extensible chatbot with toggleable toolkits and Generative UI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.2%
  • CSS 1.5%
  • Other 1.3%
0