[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mpaepper--content-chatbot":3,"tool-mpaepper--content-chatbot":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":76,"owner_twitter":72,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":76,"difficulty_score":32,"env_os":88,"env_gpu":88,"env_ram":88,"env_deps":89,"category_tags":97,"github_topics":98,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":102,"updated_at":103,"faqs":104,"releases":140},4964,"mpaepper\u002Fcontent-chatbot","content-chatbot","Build a chatbot or Q&A bot of your website's content","content-chatbot 是一款能将网站内容快速转化为智能问答机器人或对话助手的开源工具。它主要解决了用户希望基于自有文档、博客或帮助文档构建专属知识库，并让 AI 能够准确回答相关问题且提供来源引用的需求。\n\n这款工具特别适合开发者、技术博主以及需要为网站搭建自助客服系统的团队使用。其核心亮点在于基于 LangChain 框架和 OpenAI API，通过向量化技术（Embeddings）将网站内容转化为语义向量存储。用户只需提供网站的 sitemap 或通过 Zendesk API 获取内容，脚本即可自动完成文本清洗、分块及索引构建。\n\n在实际应用中，content-chatbot 不仅能直接回答具体问题并列出参考网址，还支持多轮交互式对话。当遇到不确定的问题时，它会诚实告知，避免了胡编乱造。此外，项目还特别增强了对 Zendesk 知识库的支持，使得从客服系统提取内容构建问答库变得更加便捷。整体而言，这是一个轻量级、易于部署且功能实用的解决方案，能帮助各类网站轻松拥有懂内容的 AI 助手。","\nThis repo reached the front page of hacker news on March 22nd 2023, see the discussion \u003Ca href=\"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=35252223\" target=\"_blank\">here\u003C\u002Fa>.\n\n## Your website content -> chatbot \u002F Q&A agent\n\nTurn your website content into a question answering bot which can cite your document sources.\n\nAlternatively, use it in an interactive chatbot style fashion.\n\nAll this can be achieved with a tool called \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain\" target='_blank'>langchain\u003C\u002Fa> which in turn uses the OpenAI API.\n\nThis simple repository showcases how to apply it on your own website content.\n\nTo do so, there are three scripts:\n\n* create_embeddings.py: this is the main script which loops your website's sitemap.xml to create embeddings (vectors representing the semantics of your data) of your content\n* ask_question.py: after you have the embeddings (a file called `faiss_store.pkl` was created), this script can be used to directly ask a question. It will answer the question and return the URLs of your website which were used as the source.\n* start_chat_app.py: starts a simple chat interface where you can ask a question and then follow-up on the answer. If the bot is uncertain, it will indicate so. Note that you can tune the query in this script to be more relevant for your content. In my case I mentioned it to be specific to machine learning and technical topics.\n\nTo install the dependencies, simply run `pip install -r requirements.txt`.\n\n### Create your embeddings\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmpaepper_content-chatbot_readme_564f2304287b.png\" alt=\"overview of the embedding process: each blog post is split into N documents and each document yields a vector representation.\" \u002F>\n\nThis is the most important step and you will need to obtain an OpenAI API key to use it.\n\nOnce you have the `$api_key`, you can run `export OPENAI_API_KEY='$api_key'` in your terminal.\n\nThen simply run `python create_embeddings.py --sitemap https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fsitemap.xml --filter https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fblog\u002Fposts`.\n\nThis will create your embeddings in a file called `faiss_store.pkl`. You need to point your website's sitemap.xml to the script and you can filter for URL's to start with filter. If you want to include all pages of your site, you can just set `--filter https:\u002F\u002F`.\n\nFor more details about this, please check \u003Ca href=\"https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fbuild-q-and-a-bot-of-your-website-using-langchain\u002F\">this blog post\u003C\u002Fa>.\n\n### Answering a question while getting the answer source documents\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmpaepper_content-chatbot_readme_e634462902a3.png\" alt=\"overview of the Q&A process: first we find the closest matches of our documents from the FAISS store and then we ask the question to the GPT3 API.\" \u002F>\n\nWith the embeddings set up, ask a question like this: `python ask_question.py \"How to detect objects in images?\"`\n\n    Answer:\n\n    Object detection in images can be done using algorithms such as R-CNN, Fast R-CNN, and data augmentation techniques such as shifting, rotations, elastic deformations, and gray value variations.\n\n    Sources:\n\n    https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fdeep-learning-on-medical-images-with-u-net\u002F\n    https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fend-to-end-object-detection-with-transformers\u002F\n\n### Starting a chatbot on your content\n\nWith the embeddings set up, start a chatbot like this: `python start_chat_app.py`. Then when it's running, ask your questions and follow-ups.\n\n\n## Zendesk Content Embedding\n\nThis repository includes an enhancement to the LangChain chatbot project, introducing the `create_embeddings` for Zendesk feature. This functionality utilizes the Zendesk API to retrieve website content and construct a Faiss knowledge base for improved chatbot responses.\n\n### How it Works\n\nThe `create_embeddings` script performs the following steps:\n\n1. **Zendesk API Integration:** Retrieves articles using the Zendesk API.\n2. **Text Cleaning:** Parses HTML content, extracting and cleaning text for embedding.\n3. **Text Splitting:** Breaks down the content into smaller chunks for efficient embedding processing.\n4. **Embedding Creation:** Utilizes OpenAI Embeddings to create embeddings for the text chunks.\n5. **Faiss Knowledge Base Construction:** Constructs a Faiss store with the generated embeddings, facilitating efficient similarity search.\n\n### Usage\n\n- **Zendesk API Credentials:** To create a Faiss knowledge base from Zendesk content, please obtain and configure your Zendesk API credentials.\n\n### Running the Script\n\n   **Execute the Script:** Run the `create_embeddings.py` script to generate the Faiss store.\n\n   Example:\n   ```bash\n    python create_embeddings.py -m zendesk -z \"https:\u002F\u002Fyour.zendesk.api\u002F\"   #replace the link\n","该仓库于2023年3月22日登上Hacker News首页，讨论链接：\u003Ca href=\"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=35252223\" target=\"_blank\">点此查看\u003C\u002Fa>。\n\n## 将你的网站内容转化为聊天机器人\u002F问答代理\n\n将你的网站内容转化为一个能够引用你文档来源的问答机器人。\n\n或者，以交互式聊天机器人的形式使用它。\n\n这一切都可以通过名为 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhwchase17\u002Flangchain\" target='_blank'>langchain\u003C\u002Fa> 的工具来实现，而 langchain 又依赖于 OpenAI API。\n\n这个简单的仓库展示了如何将其应用到你自己的网站内容上。\n\n为此，有三个脚本：\n\n* create_embeddings.py：这是主脚本，它会遍历你网站的 sitemap.xml 文件，为你的内容创建嵌入向量（表示数据语义的向量）。\n* ask_question.py：在你生成了嵌入向量（即 `faiss_store.pkl` 文件）之后，你可以使用这个脚本直接提问。它会回答问题，并返回作为答案来源的你网站上的 URL 链接。\n* start_chat_app.py：启动一个简单的聊天界面，你可以在其中提问并针对回答进行追问。如果机器人不确定答案，它会明确指出这一点。请注意，你可以在这个脚本中调整查询参数，使其更贴合你的内容。在我的例子中，我将其设置为专注于机器学习和技术主题。\n\n要安装依赖项，只需运行 `pip install -r requirements.txt`。\n\n### 创建你的嵌入向量\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmpaepper_content-chatbot_readme_564f2304287b.png\" alt=\"嵌入过程概览：每篇博客文章被拆分成 N 个文档，每个文档都会生成一个向量表示。\" \u002F>\n\n这是最重要的步骤，你需要获取 OpenAI 的 API 密钥才能使用它。\n\n一旦你有了 `$api_key`，就可以在终端中运行 `export OPENAI_API_KEY='$api_key'`。\n\n然后只需运行 `python create_embeddings.py --sitemap https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fsitemap.xml --filter https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fblog\u002Fposts`。\n\n这将会把你的嵌入向量保存到名为 `faiss_store.pkl` 的文件中。你需要将你网站的 sitemap.xml 文件路径传递给脚本，并且可以通过 `--filter` 参数指定需要处理的 URL 前缀。如果你想包含你网站的所有页面，可以简单地设置为 `--filter https:\u002F\u002F`。\n\n更多详细信息，请参阅 \u003Ca href=\"https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fbuild-q-and-a-bot-of-your-website-using-langchain\u002F\">这篇博客文章\u003C\u002Fa>。\n\n### 回答问题并获取答案来源文档\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmpaepper_content-chatbot_readme_e634462902a3.png\" alt=\"问答过程概览：首先从 FAISS 知识库中找到最接近的匹配文档，然后将问题提交给 GPT3 API 进行回答。\" \u002F>\n\n嵌入向量准备好后，你可以这样提问：`python ask_question.py \"如何检测图像中的物体？\"`\n\n    答案：\n\n    图像中的目标检测可以使用 R-CNN、Fast R-CNN 等算法，以及平移、旋转、弹性变形和灰度值变化等数据增强技术来实现。\n\n    来源：\n\n    https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fdeep-learning-on-medical-images-with-u-net\u002F\n    https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fend-to-end-object-detection-with-transformers\u002F\n\n### 在你的内容上启动聊天机器人\n\n嵌入向量准备好后，运行 `python start_chat_app.py` 即可启动聊天机器人。程序运行后，你就可以提出问题并进行追问了。\n\n## Zendesk 内容嵌入\n\n该仓库对 LangChain 聊天机器人项目进行了扩展，新增了用于 Zendesk 的 `create_embeddings` 功能。此功能利用 Zendesk API 获取网站内容，并构建 Faiss 知识库，从而提升聊天机器人的响应质量。\n\n### 工作原理\n\n`create_embeddings` 脚本执行以下步骤：\n\n1. **Zendesk API 集成：** 使用 Zendesk API 获取文章内容。\n2. **文本清洗：** 解析 HTML 内容，提取并清理文本以便进行嵌入处理。\n3. **文本分割：** 将内容拆分为较小的块，以便高效地进行嵌入计算。\n4. **创建嵌入向量：** 利用 OpenAI Embeddings 为文本块生成嵌入向量。\n5. **构建 Faiss 知识库：** 使用生成的嵌入向量构建 Faiss 存储，便于进行高效的相似性搜索。\n\n### 使用方法\n\n- **Zendesk API 凭证：** 若要从 Zendesk 内容中创建 Faiss 知识库，请先获取并配置你的 Zendesk API 凭证。\n\n### 运行脚本\n\n   **执行脚本：** 运行 `create_embeddings.py` 脚本以生成 Faiss 知识库。\n\n   示例：\n   ```bash\n    python create_embeddings.py -m zendesk -z \"https:\u002F\u002Fyour.zendesk.api\u002F\"   #请替换链接","# content-chatbot 快速上手指南\n\n将您的网站内容或 Zendesk 知识库转化为具备引用来源能力的智能问答机器人（Chatbot\u002FQ&A Agent）。本项目基于 LangChain 和 OpenAI API，支持从 Sitemap 或 Zendesk 提取内容并构建向量索引。\n\n## 环境准备\n\n*   **系统要求**：Python 3.8+\n*   **前置依赖**：\n    *   有效的 **OpenAI API Key**（用于生成文本嵌入和调用大模型）。\n    *   （可选）若需集成 Zendesk，需准备 **Zendesk API 凭证**及子域名链接。\n*   **网络提示**：由于依赖 OpenAI 服务，请确保您的开发环境能够正常访问外部 API。\n\n## 安装步骤\n\n1.  克隆项目代码到本地。\n2.  进入项目目录，安装 Python 依赖包：\n    ```bash\n    pip install -r requirements.txt\n    ```\n    > **提示**：国内用户如遇下载缓慢，可指定清华镜像源安装：\n    > `pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n3.  配置 OpenAI API Key：\n    *   **Linux\u002FMac**:\n        ```bash\n        export OPENAI_API_KEY='sk-...'\n        ```\n    *   **Windows (PowerShell)**:\n        ```powershell\n        $env:OPENAI_API_KEY=\"sk-...\"\n        ```\n\n## 基本使用\n\n本工具的核心流程分为两步：**创建嵌入（索引）** -> **提问\u002F对话**。\n\n### 第一步：创建内容嵌入 (Create Embeddings)\n\n根据您的数据来源选择以下任一方式运行脚本，这将生成 `faiss_store.pkl` 索引文件。\n\n#### 场景 A：基于网站 Sitemap\n遍历网站 sitemap.xml 抓取内容并建立索引。\n```bash\npython create_embeddings.py --sitemap https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fsitemap.xml --filter https:\u002F\u002Fpath\u002Fto\u002Fyour\u002Fblog\u002Fposts\n```\n*   `--sitemap`: 您的网站 sitemap 地址。\n*   `--filter`: URL 过滤前缀。若想包含全站，可设置为 `--filter https:\u002F\u002F`。\n\n#### 场景 B：基于 Zendesk 知识库\n利用 Zendesk API 抓取帮助文档并建立索引。\n```bash\npython create_embeddings.py -m zendesk -z \"https:\u002F\u002Fyour.zendesk.api\u002F\"\n```\n*   `-m zendesk`: 指定模式为 Zendesk。\n*   `-z`: 您的 Zendesk API 基础链接。\n\n### 第二步：开始问答或对话\n\n索引构建完成后，您可以选择单次提问或启动交互式聊天。\n\n#### 方式 1：单次提问（带来源引用）\n直接询问一个问题，系统将返回答案及参考的原始 URL。\n```bash\npython ask_question.py \"How to detect objects in images?\"\n```\n**输出示例：**\n> Answer: Object detection in images can be done using algorithms such as R-CNN...\n> Sources:\n> https:\u002F\u002Fwww.paepper.com\u002Fblog\u002Fposts\u002Fdeep-learning-on-medical-images-with-u-net\u002F\n\n#### 方式 2：启动交互式聊天机器人\n启动一个简单的命令行聊天界面，支持多轮对话和追问。\n```bash\npython start_chat_app.py\n```\n*   启动后直接在终端输入问题即可。\n*   若机器人不确定答案，会明确提示。\n*   *进阶*：您可编辑 `start_chat_app.py` 中的 query 提示词，使其更贴合您的特定领域（如机器学习、技术支持等）。","某 SaaS 公司的技术支持团队正试图提升其在线帮助文档的自助服务效率，以减少人工客服压力。\n\n### 没有 content-chatbot 时\n- 用户面对数百篇分散的技术文章和 Zendesk 工单记录，难以快速定位特定报错代码的解决方案，往往需要手动翻阅多个页面。\n- 客服人员每天花费大量时间重复回答“如何配置 API\"或“支持哪些数据格式”等基础问题，导致处理复杂故障的时间被压缩。\n- 当用户提问时，得到的回复往往缺乏具体出处，用户无法验证信息的准确性，不得不再次发起人工咨询以确认来源。\n- 网站内容更新后，旧的搜索结果依然置顶过时信息，导致用户依据错误文档操作，引发更多投诉。\n\n### 使用 content-chatbot 后\n- 用户直接输入自然语言问题（如\"API 返回 403 错误怎么办”），content-chatbot 立即从全站文档中提取精准答案，并自动附带原始文章链接供核对。\n- 常见问题由 bot 全天候即时响应，释放了客服团队 60% 以上的精力，使其能专注于解决复杂的架构集成难题。\n- 每次回答均明确标注引用的 Zendesk 文章或博客 URL，若遇到不确定的问题，bot 会主动提示而非胡乱编造，大幅提升了信任度。\n- 运维人员只需重新运行嵌入脚本，content-chatbot 即可基于最新的 sitemap 或 Zendesk 内容实时更新知识库，确保用户始终获取最新指南。\n\ncontent-chatbot 将静态的网站文档转化为可交互、可溯源的智能助手，显著降低了用户获取信息的门槛并提升了支持团队的运营效能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmpaepper_content-chatbot_650ad773.png","mpaepper","Marc Päpper","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmpaepper_c5b00de7.jpg","Software development and machine learning in Python",null,"Hamburg, Germany","https:\u002F\u002Fwww.paepper.com","https:\u002F\u002Fgithub.com\u002Fmpaepper",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,540,53,"2026-03-15T14:00:25","未说明",{"notes":90,"python":88,"dependencies":91},"该工具主要依赖 OpenAI API 进行嵌入生成和问答，需配置 OPENAI_API_KEY 环境变量。若使用 Zendesk 功能，需配置 Zendesk API 凭证。核心数据存储在 faiss_store.pkl 文件中，无需本地大模型或 GPU 支持（除非自行修改为本地模型）。",[92,93,94,95,96],"langchain","faiss-cpu","openai","requests","beautifulsoup4",[35,14],[99,100,101],"deep-learning","llm","machine-learning","2026-03-27T02:49:30.150509","2026-04-11T16:50:05.748465",[105,110,115,120,125,130,135],{"id":106,"question_zh":107,"answer_zh":108,"source_url":109},22548,"安装依赖时提示找不到 argparse==1.3.1 版本怎么办？","这是因为 PyPI 上不存在 argparse 1.3.1 版本。解决方法是将 requirements.txt 中的版本号修改为存在的版本（如 1.4.0），或者直接运行 `pip install argparse==1.4.0`。此外，如果安装后仍报错，可能还需要手动安装其他缺失的依赖：`pip install openai tiktoken faiss-cpu`。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F1",{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},22549,"遇到文本长度限制错误（problem with length）导致程序崩溃如何解决？","这通常是因为某些页面解析后的文本过长且无法通过换行符正常分块。解决方案是在 `create_embeddings.py` 中排除这些特定 URL。例如，在循环中添加判断条件：`if args.filter in url and 'https:\u002F\u002Fwww.phonepe.com\u002Fpress' not in url:`，将导致问题的 URL 排除在处理列表之外。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F3",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},22550,"当网站内容更新或新增内容时，是否需要重新生成所有嵌入向量？","不需要重新生成所有数据。虽然当前代码未完全实现自动增量更新，但理论上可以加载现有的 FAISS 存储，仅对变更部分创建新的嵌入向量并更新存储，从而最小化成本。实现思路是建立一个观察者机制，监测变化后重新索引受影响的部分并保存。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F4",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},22551,"大规模使用时如何降低 API 调用成本？","嵌入向量的生成成本较低且可本地存储，主要成本来自查询请求。建议将用户的历史问题及其答案也进行嵌入存储。在处理新请求前，先检索库中相似的已回答问题直接展示给用户，从而减少对新 API 调用的依赖。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F7",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},22552,"如何修改检索最相关文档的数量（默认是 4 个）？","可以在初始化链时通过参数 `k` 来调整。默认是 `k=4`，你可以将其改为你需要的数量。示例代码如下：\n```python\nchain = VectorDBQAWithSourcesChain.from_llm(\n    llm=OpenAI(temperature=0, verbose=True), \n    vectorstore=store, \n    k=10  # 将 4 改为 10 或其他数值\n)\n```","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F9",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},22553,"README.md 中的架构图是使用什么工具绘制的？","作者使用了一个名为 Excalidraw 的工具来绘制这些图表，这是一个非常好用的手绘风格绘图工具，网址是 https:\u002F\u002Fexcalidraw.com\u002F。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F8",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},22554,"首次使用 OpenAI API 时遇到 RateLimitError 或程序卡住怎么办？","如果是新账户，首先请检查是否激活了账户或免费额度（如 $18 赠金）是否已过期。其次，确认环境变量 `OPENAI_API_KEY` 是否正确设置（可在终端运行 `echo $OPENAI_API_KEY` 验证）。如果在 WSL2 环境下运行，通常不是系统兼容性问题，重点检查密钥有效性和账户状态。","https:\u002F\u002Fgithub.com\u002Fmpaepper\u002Fcontent-chatbot\u002Fissues\u002F6",[]]