kepler-chat/README.md
Thomas G. Lopes 2cca0770ee update again
2025-06-19 02:17:37 +01:00

2 KiB

Thom Chat

thom-chat

Clone of T3 Chat

🚀 Features

  • Cached query for fast chat loading
  • Openrouter provider for access to 400+ models
  • File uploads
  • Web search
  • Full-text search over your chat history
  • Cursor-like rules
  • Privacy mode for streams and screen-sharing
  • Markdown rendered messages with syntax highlighting
  • Chat sharing
  • Keyboard shortcuts

🛠️ Tech Stack

  • Framework: SvelteKit
  • Language: TypeScript
  • Styling: Tailwind
  • Backend: Convex
  • Auth: BetterAuth + Convex
  • Components: Melt UI (next-gen)
  • Testing: Humans
  • Package Manager: pnpm
  • Linting: ESLint
  • Formatting: Prettier

📦 Running locally

  1. Clone the repo
  2. Install dependencies with pnpm install
  3. Copy .env.example to .env and fill in the values
  4. Run pnpm dev
  5. Open http://localhost:5173

TODO

  • Login & Auth
  • useCachedQuery
  • Convex schemas for chats
  • Actual fucking UI for chat
  • Providers (BYOK)
    • Openrouter
    • [ ] HuggingFace
    • [ ] OpenAI
  • File upload
  • Ensure responsiveness
  • Streams on the server (Resumable streams)
  • Syntax highlighting with Shiki/markdown renderer
  • Eliminate FOUC
  • Cascade deletes
  • Google Auth
  • Fix light mode (urgh)
  • Privacy mode

Chat

  • loading state
  • deal with error states, both on creation attempt and message generation failure
  • delete conversations option
  • conversation title generation
  • kbd powered popover model picker
  • autosize
  • AbortController for message generation
  • Per route msg persistance

Extra

  • Web Search
  • Chat branching
  • Regenerate message
  • [ ] Image generation
  • Chat sharing
  • 404 page/redirect
  • [ ] Test link with free credits
  • Cursor-like Rules (@ieedan's idea!)
  • Full-text search