A personal assistant built with TogetherAI and Next.js.
- Clone the repository
- Install dependencies with
npm installorbun install - Start the development server
- Get your TogetherAI API key from TogetherAI
- Once the app is running, click the settings button and add your API key
Run the development server:
npm run dev
# or
bun run devOpen http://localhost:3000 to see the result.
- Chat with a personal assistant powered by TogetherAI
- Custom toast notifications
- Tool-based interactions
- Beautiful UI with animations
- Local storage of API keys
packages/web: Web applicationpackages/extension: Browser extension (coming soon)packages/shared: Shared code between packages
This monorepo contains:
@ask-ed/web- Next.js web application@ask-ed/extension- Plasmo browser extension for extracting Ed tokens@ask-ed/shared- Shared package with types and DB schema
This project uses Bun as the package manager and runtime:
# Quick setup with our script
bun setup
# Or manually:
bun install
bun build:sharedTwo different modes are available for developing all packages simultaneously:
# Dashboard mode: Periodically refreshes with logs from all packages in one view
bun dev
# Split screen mode: Uses tmux to create split panes for each package (requires tmux)
bun dev:splitThe dashboard mode (bun dev) displays a refreshing dashboard with the most recent logs from each package. The screen updates every 5 seconds to show the latest outputs.
The split screen mode (bun dev:split) uses tmux to create a split view with:
- The shared package in the top pane
- The web app in the bottom-left pane
- The extension in the bottom-right pane
This mode requires tmux to be installed on your system.
If you prefer to work on packages individually:
# Shared Package
bun dev:shared
# Web App
bun dev:web
# Browser Extension
bun dev:extensionTo build all packages in the correct order:
# Build everything
bun buildOr build packages individually:
# Build specific packages
bun build:shared
bun build:web
bun build:extension
# Package extension for distribution
bun package:extensionThe browser extension automatically extracts the Ed authentication token and makes it available for the Ask-Ed web application.
- Install the extension
- Visit any Ed platform page
- The extension will automatically extract your authentication token
- Copy the token from the extension popup
- Use it in the Ask-Ed web application
The project uses Drizzle ORM with a shared database schema.
# Generate migrations
bun --cwd packages/shared drizzle-kit generate
# Apply migrations
bun --cwd packages/web db:migrate