[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mckaywrigley--chatbot-ui":3,"tool-mckaywrigley--chatbot-ui":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85052,"2026-04-08T11:03:08",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":23,"last_commit_at":63,"category_tags":64,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[14,26,13,15,46],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":81,"owner_twitter":76,"owner_website":82,"owner_url":83,"languages":84,"stars":104,"forks":105,"last_commit_at":106,"license":107,"difficulty_score":108,"env_os":109,"env_gpu":110,"env_ram":110,"env_deps":111,"category_tags":119,"github_topics":81,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":120,"updated_at":121,"faqs":122,"releases":153},5927,"mckaywrigley\u002Fchatbot-ui","chatbot-ui","AI chat for any model.","Chatbot UI 是一款面向所有人的开源 AI 聊天应用，旨在让用户能够轻松接入并对话任意大语言模型。它解决了以往本地部署聊天界面时面临的配置复杂、数据存储不安全以及多模态支持受限等痛点，提供了一个既美观又功能强大的统一交互平台。\n\n这款工具特别适合开发者、技术爱好者以及希望私有化部署 AI 服务的研究人员使用。对于普通用户而言，如果不想自行托管，也可以直接使用其官方提供的云端版本体验流畅的对话服务。\n\nChatbot UI 的技术亮点在于其架构的灵活性与现代化。最新版本（2.0）摒弃了原本局限于浏览器的本地存储方案，转而集成 Supabase 作为后端数据库。这一变革不仅利用 PostgreSQL 提升了数据的安全性和存储容量，还完美支持了多模态应用场景。此外，项目提供了详尽的本地快速启动指南，支持通过 Docker 和 CLI 工具一键部署本地开发环境，并允许社区在\"Discussions\"板块自由交流协作。无论是想要定制专属聊天机器人，还是学习如何构建现代 AI 应用，Chatbot UI 都是一个理想的选择。","# Chatbot UI\n\nThe open-source AI chat app for everyone.\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmckaywrigley_chatbot-ui_readme_952aec7d7e13.png\" alt=\"Chatbot UI\" width=\"600\">\n\n## Demo\n\nView the latest demo [here](https:\u002F\u002Fx.com\u002Fmckaywrigley\u002Fstatus\u002F1738273242283151777?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:\u002F\u002Fchatbotui.com).\n\n## Sponsor\n\nIf you find Chatbot UI useful, please consider [sponsoring](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fmckaywrigley) 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:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9Qq3-7-HNgw).\n\n### 1. Clone the Repo\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-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 & 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:\u002F\u002Fdocs.docker.com\u002Fget-docker) for free.\n\n#### 2. Install Supabase CLI\n\n**MacOS\u002FLinux**\n\n```bash\nbrew install supabase\u002Ftap\u002Fsupabase\n```\n\n**Windows**\n\n```bash\nscoop bucket add supabase https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fscoop-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\u002Fmigrations\u002F20240108234540_setup.sql` you will need to replace 2 values with the values you got above:\n\n- `project_url` (line 53): `http:\u002F\u002Fsupabase_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:\u002F\u002Fgithub.com\u002Fjmorganca\u002Follama#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:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000). Be sure to use a compatible node version (i.e. v18).\n\nYou can view your backend GUI at [http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor](http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor).\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:\u002F\u002Fsupabase.com\u002F) 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:\u002F\u002Fsupabase.com\u002Fdashboard\u002Fproject\u002F\u003CYOUR_PROJECT_ID>\u002Fsettings\u002Fgeneral)\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\u002Fmigrations\u002F20240108234540_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>\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:\u002F\u002Fvercel.com\u002F) 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 & 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:\u002F\u002Flocalhost: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\u002FX](https:\u002F\u002Ftwitter.com\u002Fmckaywrigley)\n","# 聊天机器人界面\n\n面向所有人的开源 AI 聊天应用。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmckaywrigley_chatbot-ui_readme_952aec7d7e13.png\" alt=\"聊天机器人界面\" width=\"600\">\n\n## 演示\n\n查看最新演示 [这里](https:\u002F\u002Fx.com\u002Fmckaywrigley\u002Fstatus\u002F1738273242283151777?s=20)。\n\n## 更新\n\n大家好！我认真听取了大家的反馈，并正在努力进行一次重大更新。\n\n诸如更简单的部署、更好的后端兼容性以及优化的移动端布局等功能即将推出。\n\n很快就会回来。\n\n—— 麦凯\n\n## 官方托管版本\n\n无需自行托管，即可使用聊天机器人界面！\n\n在 [这里](https:\u002F\u002Fchatbotui.com) 找到聊天机器人界面的官方托管版本。\n\n## 赞助\n\n如果您觉得聊天机器人界面很有用，请考虑 [赞助](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fmckaywrigley) 我，以支持我的开源工作 :)\n\n## 问题\n\n我们仅将“问题”用于与代码库相关的实际问题。\n\n目前收到的问题过多，其中很多只是功能请求、云服务商相关问题等。\n\n如果您在设置等方面遇到问题，请参阅上方“讨论”选项卡中的“帮助”部分。\n\n与代码库无关的问题很可能会被立即关闭。\n\n## 讨论\n\n我们非常鼓励您参与上方的“讨论”选项卡！\n\n“讨论”是提问、分享想法和寻求帮助的好地方。\n\n很可能您遇到的问题，其他人也遇到过。\n\n## 旧版代码\n\n聊天机器人界面最近已更新至 2.0 版本。\n\n1.0 版本的代码可在 `legacy` 分支中找到。\n\n## 更新\n\n在本地聊天机器人界面仓库的根目录下打开终端，运行：\n\n```bash\nnpm run update\n```\n\n如果您运行的是托管实例，还需要运行：\n\n```bash\nnpm run db-push\n```\n\n以将最新的迁移应用到您的线上数据库。\n\n## 本地快速入门\n\n按照以下步骤，在本地运行您自己的聊天机器人界面实例。\n\n您可以观看完整的视频教程 [这里](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9Qq3-7-HNgw)。\n\n### 1. 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui.git\n```\n\n### 2. 安装依赖\n\n在本地聊天机器人界面仓库的根目录下打开终端，运行：\n\n```bash\nnpm install\n```\n\n### 3. 安装 Supabase 并本地运行\n\n#### 为什么选择 Supabase？\n\n过去，我们曾使用本地浏览器存储来保存数据。然而，这种方案存在一些问题：\n\n- 安全隐患\n- 存储空间有限\n- 不利于多模态应用场景\n\n现在我们选择 Supabase，因为它易于使用、开源、基于 Postgres，并且提供免费的托管层级。未来我们将支持其他提供商，以便为您提供更多选择。\n\n#### 1. 安装 Docker\n\n您需要安装 Docker 才能在本地运行 Supabase。您可以从 [这里](https:\u002F\u002Fdocs.docker.com\u002Fget-docker) 免费下载。\n\n#### 2. 安装 Supabase CLI\n\n**MacOS\u002FLinux**\n\n```bash\nbrew install supabase\u002Ftap\u002Fsupabase\n```\n\n**Windows**\n\n```bash\nscoop bucket add supabase https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fscoop-bucket.git\nscoop install supabase\n```\n\n#### 3. 启动 Supabase\n\n在本地聊天机器人界面仓库的根目录下打开终端，运行：\n\n```bash\nsupabase start\n```\n\n### 4. 填写密钥\n\n#### 1. 环境变量\n\n在本地聊天机器人界面仓库的根目录下打开终端，运行：\n\n```bash\ncp .env.local.example .env.local\n```\n\n通过运行以下命令获取所需值：\n\n```bash\nsupabase status\n```\n\n注意：请将 `NEXT_PUBLIC_SUPABASE_URL` 设置为 `supabase status` 中的 `API URL`。\n\n然后打开 `.env.local` 文件，填写相应值。\n\n如果环境变量已设置，则会禁用用户设置中的输入项。\n\n#### 2. SQL 设置\n\n在第一个迁移文件 `supabase\u002Fmigrations\u002F20240108234540_setup.sql` 中，您需要将两个值替换为刚才获取的值：\n\n- `project_url`（第 53 行）：`http:\u002F\u002Fsupabase_kong_chatbotui:8000`（默认值）可以保持不变，除非您在 `config.toml` 文件中更改了 `project_id`。\n- `service_role_key`（第 54 行）：此值来自之前运行的 `supabase status`。\n\n这样做可以避免存储文件无法正确删除的问题。\n\n### 5. 安装 Ollama（可选，用于本地模型）\n\n请按照 [这里](https:\u002F\u002Fgithub.com\u002Fjmorganca\u002Follama#macos) 的说明进行操作。\n\n### 6. 在本地运行应用\n\n在本地聊天机器人界面仓库的根目录下打开终端，运行：\n\n```bash\nnpm run chat\n```\n\n此时，您的本地聊天机器人界面实例应该已经在 [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000) 上运行。请确保使用兼容的 Node.js 版本（例如 v18）。\n\n您还可以访问后端管理界面：[http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor](http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor)。\n\n## 托管快速入门\n\n按照以下步骤，在云端运行您自己的聊天机器人界面实例。\n\n视频教程即将发布。\n\n### 1. 按照本地快速入门操作\n\n重复上述“本地快速入门”中的步骤 1 到 4。\n\n建议为本地和托管实例分别创建独立的仓库。\n\n在 GitHub 上为您的托管聊天机器人界面实例创建一个新的仓库，并将代码推送到该仓库。\n\n### 2. 使用 Supabase 设置后端\n\n#### 1. 创建新项目\n\n前往 [Supabase](https:\u002F\u002Fsupabase.com\u002F) 并创建一个新项目。\n\n#### 2. 获取项目信息\n\n进入项目仪表板后，点击左下角的“项目设置”图标。\n\n在这里您可以获取以下环境变量的值：\n\n- `Project Ref`：在“常规设置”中找到“参考 ID”。\n- `Project ID`：在您的项目仪表板 URL 中找到（例如：https:\u002F\u002Fsupabase.com\u002Fdashboard\u002Fproject\u002F\u003CYOUR_PROJECT_ID>\u002Fsettings\u002Fgeneral）。\n\n继续在“设置”页面中，点击左侧的“API”选项卡。\n\n在这里您可以获取以下环境变量的值：\n\n- `Project URL`：在“API 设置”中找到“项目 URL”。\n- `Anon key`：在“项目 API 密钥”中找到“anon public”。\n- `Service role key`：在“项目 API 密钥”中找到“service_role”（提醒：请将其视为密码！）。\n\n#### 3. 配置认证\n\n接下来，点击左侧的“认证”图标。\n\n在文本选项卡中，点击“提供商”，并确保“电子邮件”已启用。\n\n对于个人实例，我们建议关闭“确认电子邮件”功能。\n\n#### 4. 连接托管数据库\n\n打开您托管聊天机器人界面实例的仓库。\n\n在第一个迁移文件 `supabase\u002Fmigrations\u002F20240108234540_setup.sql` 中，您需要将两个值替换为刚才获取的值：\n\n- `project_url`（第 53 行）：使用上面获取的“项目 URL”值。\n- `service_role_key`（第 54 行）：使用上面获取的“服务角色密钥”值。\n\n现在，在本地聊天机器人界面仓库的根目录下打开终端。我们将在此执行几条命令。\n\n首先登录 Supabase：\n\n```bash\nsupabase login\n```\n\n然后使用您刚才获取的“项目 ID”链接您的项目：\n\n```bash\nsupabase link --project-ref \u003Cproject-id>\n```\n\n至此，您的项目已成功链接。\n\n最后，将数据库推送到 Supabase：\n\n```bash\nsupabase db push\n```\n\n您的托管数据库现已设置完毕！\n\n### 3. 使用 Vercel 部署前端\n\n前往 [Vercel](https:\u002F\u002Fvercel.com\u002F) 并创建一个新项目。\n\n在设置页面中，导入您用于托管 Chatbot UI 实例的 GitHub 仓库。在项目的“构建与开发设置”部分，将框架预设切换为“Next.js”。\n\n在环境变量中，根据您之前获取的值添加以下内容：\n\n- `NEXT_PUBLIC_SUPABASE_URL`\n- `NEXT_PUBLIC_SUPABASE_ANON_KEY`\n- `SUPABASE_SERVICE_ROLE_KEY`\n- `NEXT_PUBLIC_OLLAMA_URL`（仅在使用本地 Ollama 模型时需要；默认值为：`http:\u002F\u002Flocalhost:11434`）\n\n您还可以将 API 密钥作为环境变量添加：\n\n- `OPENAI_API_KEY`\n- `AZURE_OPENAI_API_KEY`\n- `AZURE_OPENAI_ENDPOINT`\n- `AZURE_GPT_45_VISION_NAME`\n\n有关完整的环境变量列表，请参阅 `.env.local.example` 文件。如果已为 API 密钥设置了环境变量，则会禁用用户设置中的输入框。\n\n点击“部署”，等待您的前端完成部署。\n\n部署完成后，您就可以通过 Vercel 提供的 URL 使用您托管的 Chatbot UI 实例了。\n\n## 贡献\n\n我们正在编写贡献指南。\n\n## 联系方式\n\n请在 [Twitter\u002FX](https:\u002F\u002Ftwitter.com\u002Fmckaywrigley) 上联系 Mckay。","# Chatbot UI 快速上手指南\n\nChatbot UI 是一款开源的 AI 聊天应用，支持本地部署和云端托管。本指南将帮助你快速在本地或云端运行该应用。\n\n## 环境准备\n\n### 系统要求\n- **Node.js**: 推荐版本 v18 或更高。\n- **Git**: 用于克隆代码仓库。\n- **Docker**: 本地部署 Supabase 数据库必需。\n- **操作系统**: macOS, Linux, Windows 均支持。\n\n### 前置依赖\n1. **Supabase CLI**: 用于管理本地或云端数据库。\n   - **macOS\u002FLinux**:\n     ```bash\n     brew install supabase\u002Ftap\u002Fsupabase\n     ```\n   - **Windows**:\n     ```bash\n     scoop bucket add supabase https:\u002F\u002Fgithub.com\u002Fsupabase\u002Fscoop-bucket.git\n     scoop install supabase\n     ```\n2. **Ollama (可选)**: 如需使用本地大模型，请安装 [Ollama](https:\u002F\u002Fgithub.com\u002Fjmorganca\u002Follama#macos)。\n\n> **提示**: 国内用户若遇到 `brew` 或 `npm` 下载缓慢，可配置国内镜像源加速。\n\n## 安装步骤\n\n### 方案一：本地快速启动 (Local Quickstart)\n\n适合开发测试或个人私有化部署。\n\n**1. 克隆项目**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui.git\ncd chatbot-ui\n```\n\n**2. 安装依赖**\n```bash\nnpm install\n```\n\n**3. 启动本地 Supabase 数据库**\n确保 Docker 已运行，然后在项目根目录执行：\n```bash\nsupabase start\n```\n\n**4. 配置环境变量**\n复制示例配置文件：\n```bash\ncp .env.local.example .env.local\n```\n获取本地 Supabase 状态信息：\n```bash\nsupabase status\n```\n编辑 `.env.local` 文件，将 `supabase status` 输出的 `API URL` 填入 `NEXT_PUBLIC_SUPABASE_URL`。\n\n**5. 初始化数据库迁移**\n打开 `supabase\u002Fmigrations\u002F20240108234540_setup.sql` 文件，找到第 54 行左右的 `service_role_key`，将其替换为 `supabase status` 输出中对应的 key 值（防止存储文件删除异常）。\n\n**6. 启动应用**\n```bash\nnpm run chat\n```\n应用将在 [http:\u002F\u002Flocalhost:3000](http:\u002F\u002Flocalhost:3000) 运行。后端管理界面位于 [http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor](http:\u002F\u002Flocalhost:54323\u002Fproject\u002Fdefault\u002Feditor)。\n\n---\n\n### 方案二：云端托管启动 (Hosted Quickstart)\n\n适合生产环境或需要公网访问的场景。需准备 **Supabase** (后端) 和 **Vercel** (前端) 账号。\n\n**1. 准备代码仓库**\n遵循上述“本地快速启动”的步骤 1-4 完成本地基础配置。建议为云端部署创建独立的 GitHub 仓库并推送代码。\n\n**2. 配置 Supabase 后端**\n- 登录 [Supabase](https:\u002F\u002Fsupabase.com\u002F) 创建新项目。\n- 在 **Project Settings** -> **General** 获取 `Project Ref` 和 `Project ID`。\n- 在 **Project Settings** -> **API** 获取 `Project URL`, `anon public` (Anon key), 和 `service_role` (Service role key)。\n- 在 **Authentication** -> **Providers** 中启用 \"Email\"，个人使用可关闭 \"Confirm email\"。\n- 修改本地代码中的 `supabase\u002Fmigrations\u002F20240108234540_setup.sql`，填入云端的 `project_url` 和 `service_role_key`。\n- 在终端执行以下命令关联并推送数据库：\n  ```bash\n  supabase login\n  supabase link --project-ref \u003C你的 Project ID>\n  supabase db push\n  ```\n\n**3. 部署 Vercel 前端**\n- 登录 [Vercel](https:\u002F\u002Fvercel.com\u002F) 导入你的 GitHub 仓库。\n- 在 **Build & Development Settings** 中将 Framework Preset 设为 `Next.js`。\n- 在 **Environment Variables** 中添加以下变量：\n  - `NEXT_PUBLIC_SUPABASE_URL` (来自 Supabase Project URL)\n  - `NEXT_PUBLIC_SUPABASE_ANON_KEY` (来自 Supabase anon public)\n  - `SUPABASE_SERVICE_ROLE_KEY` (来自 Supabase service_role)\n  - `OPENAI_API_KEY` (或其他模型密钥，如 `AZURE_OPENAI_API_KEY`)\n- 点击 **Deploy** 完成部署。\n\n## 基本使用\n\n1. **访问应用**: 打开浏览器访问 `http:\u002F\u002Flocalhost:3000` (本地) 或 Vercel 提供的域名 (云端)。\n2. **配置模型**:\n   - 首次进入可在用户设置中输入 API Key (如 OpenAI Key)。\n   - 若已在环境变量中配置了 Key，设置项将被禁用，直接开始对话。\n3. **开始对话**: 选择模型后，即可在聊天窗口输入问题进行交互。\n4. **本地模型**: 若安装了 Ollama 且环境变量 `NEXT_PUBLIC_OLLAMA_URL` 配置正确，可选择本地运行的模型进行对话。","某初创团队希望为内部客服系统快速搭建一个支持多模型切换的 AI 对话界面，以便测试不同大语言模型在回答客户咨询时的表现。\n\n### 没有 chatbot-ui 时\n- 开发人员需从零编写前端界面，耗费数周时间处理消息气泡、历史记录和设置面板等基础 UI 组件。\n- 每次切换测试不同的 AI 模型（如从 GPT-4 切到本地 Llama），都需要修改大量后端代码和接口配置，效率极低。\n- 缺乏统一的数据存储方案，聊天记录仅保存在浏览器本地，不仅存在安全隐患，还无法在多设备间同步或进行多模态扩展。\n- 移动端适配缺失，客服人员无法在手机或平板上流畅使用测试中的对话功能。\n\n### 使用 chatbot-ui 后\n- 团队通过简单的克隆和依赖安装，几分钟内就部署好了功能完备的对话界面，立即开始模型测试工作。\n- 借助其“支持任意模型”的特性，只需在设置中调整 API 密钥即可无缝切换不同大模型，无需改动核心代码。\n- 集成 Supabase 作为后端，自动解决了数据持久化、安全性和多端同步问题，为未来引入图片识别等多模态功能打下基础。\n- 内置的响应式布局让客服人员在移动设备上也能获得完美的操作体验，随时随地查看历史对话记录。\n\nchatbot-ui 将原本需要数周的前后端开发工作缩短至小时级，让团队能专注于核心业务逻辑而非重复造轮子。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmckaywrigley_chatbot-ui_952aec7d.png","mckaywrigley","Mckay Wrigley","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmckaywrigley_46df35ac.jpg","Founder, Takeoff AI. I build AI tools.","Takeoff AI",null,"mckaywrigley.com","https:\u002F\u002Fgithub.com\u002Fmckaywrigley",[85,89,93,97,100],{"name":86,"color":87,"percentage":88},"TypeScript","#3178c6",95.6,{"name":90,"color":91,"percentage":92},"PLpgSQL","#336790",3.9,{"name":94,"color":95,"percentage":96},"JavaScript","#f1e05a",0.2,{"name":98,"color":99,"percentage":96},"CSS","#663399",{"name":101,"color":102,"percentage":103},"Shell","#89e051",0,33155,9430,"2026-04-09T10:36:13","MIT",4,"Linux, macOS, Windows","未说明",{"notes":112,"python":110,"dependencies":113},"该项目基于 Next.js，需安装 Node.js (推荐 v18) 和 npm。本地运行后端数据库必须安装 Docker 和 Supabase CLI。若需使用本地大模型，需额外安装 Ollama。部署云端前端推荐使用 Vercel，后端数据库可使用托管版 Supabase。",[114,115,116,117,118],"Node.js v18","npm","Docker","Supabase CLI","Ollama (可选)",[15],"2026-03-27T02:49:30.150509","2026-04-09T23:50:18.280281",[123,128,133,138,143,148],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},26896,"如何在 Windows (WSL) 环境下配置 Ollama 以使用本地大模型？","在 Windows 上使用 WSL 运行 Ollama 时，如果本地 LLM（如 LLama）不显示或无法连接，通常是因为端口转发问题。WSL 需要打开特定端口并路由流量。请参考 Ollama 官方 issue #1431 中的步骤进行修复：https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fissues\u002F1431。此外，确保在 .env.local 文件中正确设置了 `NEXT_PUBLIC_OLLAMA_URL`（例如 `http:\u002F\u002Flocalhost:11434`），如果是从局域网其他设备访问，可能还需要同时修改 Supabase 和 Ollama 的 URL 配置。","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F1225",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},26897,"为什么 Docker 镜像中找不到 GPT-4 模型或下拉菜单中没有 GPT-4 选项？","这通常不是应用本身的问题，而是您的 OpenAI API Key 没有 GPT-4 的访问权限。即使您在 OpenAI 添加了支付方式，也需要先加入 GPT-4 API 等待列表并获得批准。您可以运行以下命令检查当前 API Key 可访问的模型列表：\n```bash\ncurl https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fmodels \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\"\n```\n如果返回的列表中没有 `gpt-4`，说明您的账号尚未获得访问权限。","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F282",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},26898,"调用 `\u002Fapi\u002Fmodels` 接口时报 500 错误怎么办？","如果您在中国大陆地区或网络受限环境，直接连接 OpenAI 可能会导致 500 错误。解决方法是在 `.env.local` 文件中设置代理主机地址。例如：\n`OPENAI_API_HOST=https:\u002F\u002Fopen.aiproxy.xyz`\n将其指向一个可用的反向代理服务即可解决连接问题。","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F470",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},26899,"项目维护压力过大，是否有分支版本或替代方案推荐？","由于原项目代码差异较大且合并困难，社区成员已经 fork 并发布了名为 **unSAGED** 的独立项目。该项目默认仅依赖 Supabase，旨在提供一个简单且功能强大的解决方案。如果您需要更活跃的维护或不同的架构，可以尝试该项目：https:\u002F\u002Fgithub.com\u002Fjorge-menjivar\u002FunSAGED","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F682",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},26900,"如何在项目中实现多用户支持和关系型数据库（RDBMS）？","原生项目主要设计为单用户或使用 Supabase。如果需要支持 Postgres、MySQL 等关系型数据库以及基于用户名\u002F密码的多用户认证系统，可以参考社区的扩展实现。例如，可以查看 `@chatbot-ui\u002Fsupabase` 扩展或相关 fork 仓库（如 jorge-menjivar 的分支）来获取关于实施 TypeORM 和认证系统的灵感与代码参考。目前官方并未内置完整的传统 RDBMS 多用户认证面板。","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F620",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},26901,"配置了 Ollama 但聊天界面中仍然看不到本地模型列表，如何排查？","首先确认 Ollama 服务正在运行且可通过浏览器或其他工具（如 ollama-webui）访问。如果在 Chatbot UI 中仍不显示，请检查以下几点：\n1. 确保 `.env.local` 中的 `NEXT_PUBLIC_OLLAMA_URL` 地址正确（本地通常为 `http:\u002F\u002Flocalhost:11434`）。\n2. 如果部署在 Vercel 或远程服务器，确保 Ollama 服务器允许远程连接且防火墙已放行端口。\n3. 检查浏览器控制台是否有 CORS 错误，虽然有时并非严格的 CORS 问题，但网络请求可能被拦截。\n4. 尝试重启 Chatbot UI 服务以确保环境变量生效。","https:\u002F\u002Fgithub.com\u002Fmckaywrigley\u002Fchatbot-ui\u002Fissues\u002F1072",[]]