{"id":29893986,"url":"https://github.com/iansinnott/svelte-chat-ui","last_synced_at":"2025-10-09T10:08:31.521Z","repository":{"id":154765286,"uuid":"626944445","full_name":"iansinnott/svelte-chat-ui","owner":"iansinnott","description":"Chat with LLMs. Bring your own key. Keyboard-centric, mobile friendly, searchable.","archived":true,"fork":false,"pushed_at":"2025-07-17T08:22:16.000Z","size":4121,"stargazers_count":193,"open_issues_count":13,"forks_count":16,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-29T05:52:05.911Z","etag":null,"topics":["chatgpt","gpt","gpt-4","openai-api","sqlite","wasm"],"latest_commit_sha":null,"homepage":"https://chat.prompta.dev","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iansinnott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["iansinnott"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2023-04-12T13:24:12.000Z","updated_at":"2025-09-09T13:14:35.000Z","dependencies_parsed_at":"2023-11-24T06:23:47.734Z","dependency_job_id":"720ec844-f1e4-479a-acb1-c3217b9ddfe7","html_url":"https://github.com/iansinnott/svelte-chat-ui","commit_stats":null,"previous_names":["iansinnott/svelte-chat-ui"],"tags_count":103,"template":false,"template_full_name":null,"purl":"pkg:github/iansinnott/svelte-chat-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansinnott%2Fsvelte-chat-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansinnott%2Fsvelte-chat-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansinnott%2Fsvelte-chat-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansinnott%2Fsvelte-chat-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iansinnott","download_url":"https://codeload.github.com/iansinnott/svelte-chat-ui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iansinnott%2Fsvelte-chat-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001321,"owners_count":26083040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","gpt","gpt-4","openai-api","sqlite","wasm"],"created_at":"2025-08-01T04:02:24.424Z","updated_at":"2025-10-09T10:08:31.515Z","avatar_url":"https://github.com/iansinnott.png","language":"Svelte","funding_links":["https://github.com/sponsors/iansinnott"],"categories":["Svelte"],"sub_categories":[],"readme":"\u003c!-- display a screenshot --\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"src-tauri/icons/icon_256x256.png\" alt=\"svelte chat ui logo\" width=128\u003e\u003cbr\u003e\n\n# Svelte Chat UI\n\n\u003c/div\u003e\n\n\u003e [!NOTE] \u003e **This project is no longer maintained.**\n\u003e\n\u003e [Raycast recently announced](https://www.raycast.com/changelog/1-100-0) that you can bring your own API key. Raycast offers a much more polished and actively maintained interface for chatting with LLMs. This change fully addresses the original problem that this project was designed to solve.\n\u003e\n\u003e I created this project to solve my own need: a fast, keyboard-centric way to chat with LLMs using my own API key. For many months, it was my primary AI chat app and it was a joy to build something that solved my own problem and was useful to others.\n\u003e\n\u003e For that reason, I've decided to archive the project. The code will remain available on GitHub and the [web app](https://chat.prompta.dev) will stay online, but I will no longer be working on it.\n\u003e\n\u003e Thank you to everyone who used the app, filed issues, and provided feedback. If you're interested in taking over the project, please feel free to reach out.\n\u003e\n\u003e If you want more context: https://notes.iansinnott.com/blog/posts/Sunsetting+Prompta+-+My+LLM+Chat+App\n\n---\n\nYet another interface for chatting with LLMs via API.\n\n[Website](https://www.prompta.dev)\n| [Downloads](https://github.com/iansinnott/svelte-chat-ui/releases)\n| [Launch App](https://chat.prompta.dev)\n\n\u003cdiv align=\"center\"\u003e\n\n![](static/screenshot_20230513023629.png)\n\n\u003c/div\u003e\n\n| Mobile                                       | Search chats                      | Keyboard Centric                                            | Comments                                    |\n| -------------------------------------------- | --------------------------------- | ----------------------------------------------------------- | ------------------------------------------- |\n| ![mobile view](static/screenshot_mobile.png) | ![fts](static/screenshot_fts.png) | ![keyboard centric](static/screenshot_keyboard_centric.png) | ![comments](static/screenshot_comments.png) |\n\n## Features\n\n- [x] Search all previous conversations (full-text!)\n- [x] Sync your chat history across devices\n- [x] Keyboard centric\n- [x] Leave notes on responses, such as \"working code!\" or \"not working\"\n- [x] Keep all your chat history stored locally\n- [x] Search previous chat threads\n- [x] Chat with the latest models (updated dynamically)\n- [x] Use local LLMs like Llama, Mistral, etc\n- [x] Customize the system message\n\n## How to use\n\n- In your web browser: [chat.prompta.dev](https://chat.prompta.dev)\n- Desktop app: download the latest build from [the releases page](https://github.com/iansinnott/svelte-chat-ui/releases)\n\n### Running on macOS\n\nFor macOS users you will need to right-click the app and select \"Open\" the first time you run it. This is because the app is signed but not notarized.\n\n| Right-click to open                           | Now you can click \"Open\"                      |\n| --------------------------------------------- | --------------------------------------------- |\n| ![macOS open](static/screenshot_macopen1.png) | ![macOS open](static/screenshot_macopen2.png) |\n\n## Developing\n\n`bun` is used for development. You cam try using `yarn`, `bun`, `npm`, etc but other package managers have not been tested and are not deliberately supported:\n\n```bash\nbun install\nbun run dev\n\n# To devlop the Tuari desktop app as well:\nbun run dev:tauri\n```\n\n## Building\n\nTo create a production version of your app:\n\n```bash\nbun run build\n```\n\nIf you want to build only for the browser, ignoring the desktop app:\n\n```bash\nbun run ui:build-static\n```\n\nThe advantage here is that you don't need any Rust dependencies which are required for building Tauri.\n\n## Releasing a new Version\n\n```bash\nbun run release\n```\n\nYou will be prompted to enter a new version number. New versions that don't contain a suffix such as `-beta` or `-alpha` will be published to GitHub.\n\n## Built With\n\n- [SQLite](https://www.sqlite.org/index.html) via [vlcn/cr-sqlite](https://vlcn.io/) - SQLite compiled to WASM running in the browser using CRDTs for conflict-free replication.\n- [Tauri](https://tauri.studio) - A Rust-based alternative to Electron (Only used in desktop builds)\n- [Svelte](https://svelte.dev) - Reactive UI framework\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiansinnott%2Fsvelte-chat-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiansinnott%2Fsvelte-chat-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiansinnott%2Fsvelte-chat-ui/lists"}