{"id":13582900,"url":"https://github.com/felixbade/assistant","last_synced_at":"2026-02-02T02:35:45.515Z","repository":{"id":65986710,"uuid":"603397113","full_name":"felixbade/assistant","owner":"felixbade","description":"Web UI for ChatGPT API. No back-end, mobile-friendly, continuously user-tested","archived":false,"fork":false,"pushed_at":"2024-09-25T15:34:03.000Z","size":738,"stargazers_count":131,"open_issues_count":32,"forks_count":25,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-29T17:39:13.536Z","etag":null,"topics":["chatgpt","chatgpt-api","productivity"],"latest_commit_sha":null,"homepage":"https://assistant.bloat.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felixbade.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2023-02-18T11:40:28.000Z","updated_at":"2025-06-14T02:50:51.000Z","dependencies_parsed_at":"2024-08-05T18:08:09.907Z","dependency_job_id":"abc3c725-23fe-455c-b76f-298ad1040928","html_url":"https://github.com/felixbade/assistant","commit_stats":null,"previous_names":["felixbade/chatgpt-web-ui"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/felixbade/assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felixbade%2Fassistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felixbade%2Fassistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felixbade%2Fassistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felixbade%2Fassistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felixbade","download_url":"https://codeload.github.com/felixbade/assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felixbade%2Fassistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29001655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T01:32:03.847Z","status":"online","status_checked_at":"2026-02-02T02:00:07.448Z","response_time":58,"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","chatgpt-api","productivity"],"created_at":"2024-08-01T15:03:06.532Z","updated_at":"2026-02-02T02:35:45.497Z","avatar_url":"https://github.com/felixbade.png","language":"JavaScript","readme":"# Assistant – Web UI for ChatGPT API\n\nhttps://assistant.bloat.app\n\nA mobile-friendly human interface for ChatGPT API. There is no back-end server, so you can easily host your own instance (see details below).\n\nSee [`CHANGELOG.md`](CHANGELOG.md) for what’s new.\n\n## 🤔 Why API instead of ChatGPT Plus?\n- `gpt-3.5-turbo`: **Cheap** token-based cost, instead of flat 20$/mo\n- `gpt-4`: **Unlimited** requests (requires early access)\n- **No logouts** – if OpenAI started revoking API keys weekly, a lot of big SaaS products would get very angry\n- **Private** – OpenAI’s API policy says your prompts won’t be used for developing, unlike in the playground.\n\n## 🔩 Features\n- Very polished, mobile-friendly UI\n- PWA support: can be added to the phone’s home screen or installed on your computer as a Chrome app\n- Requests go directly from the browser to OpenAI – no backend server\n- Settings and API key are stored in `localStorage`\n- Unlimited conversation length by sending only x latest messages to the API (configurable)\n- Markdown rendering\n    - Bold, italic\n    - Embedded links\n    - Code keywords\n    - Code blocks\n    - Tables\n    - Images\n    - Horizontal lines\n- Automatic dark/light theme\n- Export the conversation as markdown\n- Screenshot the whole conversation even if it doesn't fit the window\n- Customize the assistant’s behind-the-scenes system message prompt\n- Send follow-up messages even before the previous answer is complete (processed in parallel)\n- Change the model with ctrl+M\n- Open Assistant with an initial prompt if you want to make integrations into other apps. Example: [https://assistant.bloat.app/#q=hello%20there](https://assistant.bloat.app/#q=hello%20there)\n\n## 🚚 In the future\n- Search old chats with GPT embeddings (meaning your search words don’t need to be an exact match)\n- Speak your messages using the Whisper API\n\n## 🔧 Hosting your own version\n- `npm install`\n- `npm run build:prod`\n- The bundle will go under `dist/`. Copy those files somewhere so they show up as a web page (for example GitHub Pages or Nginx).\n\n## 💙 Contributing\nThe best way to contribute is by adding feature requests and bug reports to the GitHub [issues](https://github.com/felixbade/chatgpt-web-ui/issues) – you don’t need to be a programmer for that. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for details.\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixbade%2Fassistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelixbade%2Fassistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixbade%2Fassistant/lists"}