{"id":13406165,"url":"https://github.com/mckaywrigley/chatbot-ui","last_synced_at":"2025-05-15T00:05:33.785Z","repository":{"id":143230458,"uuid":"612640604","full_name":"mckaywrigley/chatbot-ui","owner":"mckaywrigley","description":"AI chat for any model.","archived":false,"fork":false,"pushed_at":"2024-08-03T00:38:07.000Z","size":3644,"stargazers_count":31158,"open_issues_count":210,"forks_count":8801,"subscribers_count":259,"default_branch":"main","last_synced_at":"2025-05-07T23:35:09.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://JoinTakeoff.com","language":"TypeScript","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/mckaywrigley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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},"funding":{"github":"mckaywrigley"}},"created_at":"2023-03-11T14:53:14.000Z","updated_at":"2025-05-07T20:56:34.000Z","dependencies_parsed_at":"2023-12-28T16:54:01.075Z","dependency_job_id":"71195d88-fb25-42cf-b70b-389e021d073f","html_url":"https://github.com/mckaywrigley/chatbot-ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckaywrigley%2Fchatbot-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckaywrigley%2Fchatbot-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckaywrigley%2Fchatbot-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mckaywrigley%2Fchatbot-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mckaywrigley","download_url":"https://codeload.github.com/mckaywrigley/chatbot-ui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253736101,"owners_count":21955782,"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","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":[],"created_at":"2024-07-30T19:02:22.942Z","updated_at":"2025-05-15T00:05:31.859Z","avatar_url":"https://github.com/mckaywrigley.png","language":"TypeScript","funding_links":["https://github.com/sponsors/mckaywrigley"],"categories":["Open-Source Local LLM Projects","TypeScript","ChatGPT客户端","HarmonyOS","Tools for Self-Hosting","Azure Cognitive Search \u0026 OpenAI","Web apps","Web Apps","Uncategorized","Chatbots","A01_文本生成_文本对话","四、网页应用","web应用","📦 Legacy \u0026 Inactive Projects","Chat UIs","Chatbots \u0026 Virtual Companions","Community Projects","Web \u0026 Desktop UIs","Web applications","others","精选开源项目合集","Applications","Repos","通用聊天机器人工具包","Support list","Projects \u0026 Demos","Runtime","ChatGPT 工具","人工智能","List","Desktop \u0026 Web UIs (22)","AI Coding Agents","🌐 Self-hosted \u0026 Local Platforms","UIs","UI \u0026 Interaction Layers"],"sub_categories":["Windows Manager","ChatGPT","Hosted and self-hosted","ChatGPT-like UI","Uncategorized","大语言对话模型及数据","4.3、Chatbot UI","类似chatgpt的web-ui","Chat Interfaces","Other","GPT镜像平替","提示语（魔法）","Chatbot","客户端","GPT 相关","General Purpose","Complete LLM Platforms","Web applications"],"readme":"# Chatbot UI\n\nThe open-source AI chat app for everyone.\n\n\u003cimg src=\"./public/readme/screenshot.png\" alt=\"Chatbot UI\" width=\"600\"\u003e\n\n## Demo\n\nView the latest demo [here](https://x.com/mckaywrigley/status/1738273242283151777?s=20).\n\n## Updates\n\nHey everyone! I've heard your feedback and am working hard on a big update.\n\nThings like simpler deployment, better backend compatibility, and improved mobile layouts are on their way.\n\nBe back soon.\n\n-- Mckay\n\n## Official Hosted Version\n\nUse Chatbot UI without having to host it yourself!\n\nFind the official hosted version of Chatbot UI [here](https://chatbotui.com).\n\n## Sponsor\n\nIf you find Chatbot UI useful, please consider [sponsoring](https://github.com/sponsors/mckaywrigley) me to support my open-source work :)\n\n## Issues\n\nWe restrict \"Issues\" to actual issues related to the codebase.\n\nWe're getting excessive amounts of issues that amount to things like feature requests, cloud provider issues, etc.\n\nIf you are having issues with things like setup, please refer to the \"Help\" section in the \"Discussions\" tab above.\n\nIssues unrelated to the codebase will likely be closed immediately.\n\n## Discussions\n\nWe highly encourage you to participate in the \"Discussions\" tab above!\n\nDiscussions are a great place to ask questions, share ideas, and get help.\n\nOdds are if you have a question, someone else has the same question.\n\n## Legacy Code\n\nChatbot UI was recently updated to its 2.0 version.\n\nThe code for 1.0 can be found on the `legacy` branch.\n\n## Updating\n\nIn your terminal at the root of your local Chatbot UI repository, run:\n\n```bash\nnpm run update\n```\n\nIf you run a hosted instance you'll also need to run:\n\n```bash\nnpm run db-push\n```\n\nto apply the latest migrations to your live database.\n\n## Local Quickstart\n\nFollow these steps to get your own Chatbot UI instance running locally.\n\nYou can watch the full video tutorial [here](https://www.youtube.com/watch?v=9Qq3-7-HNgw).\n\n### 1. Clone the Repo\n\n```bash\ngit clone https://github.com/mckaywrigley/chatbot-ui.git\n```\n\n### 2. Install Dependencies\n\nOpen a terminal in the root directory of your local Chatbot UI repository and run:\n\n```bash\nnpm install\n```\n\n### 3. Install Supabase \u0026 Run Locally\n\n#### Why Supabase?\n\nPreviously, we used local browser storage to store data. However, this was not a good solution for a few reasons:\n\n- Security issues\n- Limited storage\n- Limits multi-modal use cases\n\nWe now use Supabase because it's easy to use, it's open-source, it's Postgres, and it has a free tier for hosted instances.\n\nWe will support other providers in the future to give you more options.\n\n#### 1. Install Docker\n\nYou will need to install Docker to run Supabase locally. You can download it [here](https://docs.docker.com/get-docker) for free.\n\n#### 2. Install Supabase CLI\n\n**MacOS/Linux**\n\n```bash\nbrew install supabase/tap/supabase\n```\n\n**Windows**\n\n```bash\nscoop bucket add supabase https://github.com/supabase/scoop-bucket.git\nscoop install supabase\n```\n\n#### 3. Start Supabase\n\nIn your terminal at the root of your local Chatbot UI repository, run:\n\n```bash\nsupabase start\n```\n\n### 4. Fill in Secrets\n\n#### 1. Environment Variables\n\nIn your terminal at the root of your local Chatbot UI repository, run:\n\n```bash\ncp .env.local.example .env.local\n```\n\nGet the required values by running:\n\n```bash\nsupabase status\n```\n\nNote: Use `API URL` from `supabase status` for `NEXT_PUBLIC_SUPABASE_URL`\n\nNow go to your `.env.local` file and fill in the values.\n\nIf the environment variable is set, it will disable the input in the user settings.\n\n#### 2. SQL Setup\n\nIn the 1st migration file `supabase/migrations/20240108234540_setup.sql` you will need to replace 2 values with the values you got above:\n\n- `project_url` (line 53): `http://supabase_kong_chatbotui:8000` (default) can remain unchanged if you don't change your `project_id` in the `config.toml` file\n- `service_role_key` (line 54): You got this value from running `supabase status`\n\nThis prevents issues with storage files not being deleted properly.\n\n### 5. Install Ollama (optional for local models)\n\nFollow the instructions [here](https://github.com/jmorganca/ollama#macos).\n\n### 6. Run app locally\n\nIn your terminal at the root of your local Chatbot UI repository, run:\n\n```bash\nnpm run chat\n```\n\nYour local instance of Chatbot UI should now be running at [http://localhost:3000](http://localhost:3000). Be sure to use a compatible node version (i.e. v18).\n\nYou can view your backend GUI at [http://localhost:54323/project/default/editor](http://localhost:54323/project/default/editor).\n\n## Hosted Quickstart\n\nFollow these steps to get your own Chatbot UI instance running in the cloud.\n\nVideo tutorial coming soon.\n\n### 1. Follow Local Quickstart\n\nRepeat steps 1-4 in \"Local Quickstart\" above.\n\nYou will want separate repositories for your local and hosted instances.\n\nCreate a new repository for your hosted instance of Chatbot UI on GitHub and push your code to it.\n\n### 2. Setup Backend with Supabase\n\n#### 1. Create a new project\n\nGo to [Supabase](https://supabase.com/) and create a new project.\n\n#### 2. Get Project Values\n\nOnce you are in the project dashboard, click on the \"Project Settings\" icon tab on the far bottom left.\n\nHere you will get the values for the following environment variables:\n\n- `Project Ref`: Found in \"General settings\" as \"Reference ID\"\n\n- `Project ID`: Found in the URL of your project dashboard (Ex: https://supabase.com/dashboard/project/\u003cYOUR_PROJECT_ID\u003e/settings/general)\n\nWhile still in \"Settings\" click on the \"API\" text tab on the left.\n\nHere you will get the values for the following environment variables:\n\n- `Project URL`: Found in \"API Settings\" as \"Project URL\"\n\n- `Anon key`: Found in \"Project API keys\" as \"anon public\"\n\n- `Service role key`: Found in \"Project API keys\" as \"service_role\" (Reminder: Treat this like a password!)\n\n#### 3. Configure Auth\n\nNext, click on the \"Authentication\" icon tab on the far left.\n\nIn the text tabs, click on \"Providers\" and make sure \"Email\" is enabled.\n\nWe recommend turning off \"Confirm email\" for your own personal instance.\n\n#### 4. Connect to Hosted DB\n\nOpen up your repository for your hosted instance of Chatbot UI.\n\nIn the 1st migration file `supabase/migrations/20240108234540_setup.sql` you will need to replace 2 values with the values you got above:\n\n- `project_url` (line 53): Use the `Project URL` value from above\n- `service_role_key` (line 54): Use the `Service role key` value from above\n\nNow, open a terminal in the root directory of your local Chatbot UI repository. We will execute a few commands here.\n\nLogin to Supabase by running:\n\n```bash\nsupabase login\n```\n\nNext, link your project by running the following command with the \"Project ID\" you got above:\n\n```bash\nsupabase link --project-ref \u003cproject-id\u003e\n```\n\nYour project should now be linked.\n\nFinally, push your database to Supabase by running:\n\n```bash\nsupabase db push\n```\n\nYour hosted database should now be set up!\n\n### 3. Setup Frontend with Vercel\n\nGo to [Vercel](https://vercel.com/) and create a new project.\n\nIn the setup page, import your GitHub repository for your hosted instance of Chatbot UI. Within the project Settings, in the \"Build \u0026 Development Settings\" section, switch Framework Preset to \"Next.js\".\n\nIn environment variables, add the following from the values you got above:\n\n- `NEXT_PUBLIC_SUPABASE_URL`\n- `NEXT_PUBLIC_SUPABASE_ANON_KEY`\n- `SUPABASE_SERVICE_ROLE_KEY`\n- `NEXT_PUBLIC_OLLAMA_URL` (only needed when using local Ollama models; default: `http://localhost:11434`)\n\nYou can also add API keys as environment variables.\n\n- `OPENAI_API_KEY`\n- `AZURE_OPENAI_API_KEY`\n- `AZURE_OPENAI_ENDPOINT`\n- `AZURE_GPT_45_VISION_NAME`\n\nFor the full list of environment variables, refer to the '.env.local.example' file. If the environment variables are set for API keys, it will disable the input in the user settings.\n\nClick \"Deploy\" and wait for your frontend to deploy.\n\nOnce deployed, you should be able to use your hosted instance of Chatbot UI via the URL Vercel gives you.\n\n## Contributing\n\nWe are working on a guide for contributing.\n\n## Contact\n\nMessage Mckay on [Twitter/X](https://twitter.com/mckaywrigley)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmckaywrigley%2Fchatbot-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmckaywrigley%2Fchatbot-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmckaywrigley%2Fchatbot-ui/lists"}