https://github.com/twlite/gorkhali
Gorkhali is an AI assistant built with ai sdk, shadcn and ai elements enabling generative ui, web search, weather search, and lyrics search.
https://github.com/twlite/gorkhali
ai ai-elements ai-sdk assistant generative-ui javascript llm nextjs self-host shadcn vercel
Last synced: about 2 months ago
JSON representation
Gorkhali is an AI assistant built with ai sdk, shadcn and ai elements enabling generative ui, web search, weather search, and lyrics search.
- Host: GitHub
- URL: https://github.com/twlite/gorkhali
- Owner: twlite
- Created: 2025-08-10T15:11:19.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-08-16T13:45:03.000Z (2 months ago)
- Last Synced: 2025-08-23T11:45:29.313Z (about 2 months ago)
- Topics: ai, ai-elements, ai-sdk, assistant, generative-ui, javascript, llm, nextjs, self-host, shadcn, vercel
- Language: TypeScript
- Homepage:
- Size: 845 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gorkhali
Gorkhali is an AI assistant that uses the [ai sdk](https://sdk.vercel.ai) library to generate responses. It is built with [Next.js](https://nextjs.org) and [shadcn/ui](https://ui.shadcn.com) + [AI Elements](https://ai-sdk.dev/elements). It also supports generative user interface for weather and lyrics.
## Setup
Run your model locally with [lmstudio](https://lmstudio.ai). Make sure you have the following models installed:
- [x] openai/gpt-oss-20b
```bash
lms get openai/gpt-oss-20b
```- [x] google/gemma-3-12b
```bash
lms get google/gemma-3-12b
```Or you can install your own models and update the `src/stores/model.ts` and `src/app/api/chat/route.ts` files.
## Environment Variables
Create a `.env` file by copying the `example.env` file.
```bash
cp example.env .env
```and update the `TAVILY_API_KEY` with your own API key.
```ini
TAVILY_API_KEY=tvly-your_tavily_api_key
```## Run
```bash
pnpm run dev
```## Tools
- [x] Web search via [tavily](https://tavily.com)
- [x] Weather via [weather-js](https://www.npmjs.com/package/weather-js)
- [x] Lyrics via [lrclib](https://lrclib.net)
- [x] SoundCloud via [soundcloud.ts](https://www.npmjs.com/package/soundcloud.ts)# Preview
## Web search
The agent is able to search the web and provide the information to the user using the `webSearchTool`, which is a tool that allows the agent to search the web and provide the information to the user using `tavily` API.

## Weather
The agent is able to provide the weather information to the user using the `weatherTool`, which is a tool that allows the agent to provide the weather information to the user using `weather-js` library.

## Lyrics
The agent is able to provide the lyrics to the user using the `lyricsTool`, which is a tool that allows the agent to provide the lyrics to the user using `lrclib` library.

## SoundCloud
The agent is able to search for tracks on SoundCloud and provide the information to the user using the `soundcloudTool`, which is a tool that allows the agent to search for tracks on SoundCloud and provide the information to the user using `soundcloud.ts` library.
