[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-AI-Yash--st-chat":3,"tool-AI-Yash--st-chat":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 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[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 将是理想的起点。",85092,"2026-04-10T11:13:16",[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":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"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":80,"owner_email":80,"owner_twitter":81,"owner_website":80,"owner_url":82,"languages":83,"stars":104,"forks":105,"last_commit_at":106,"license":107,"difficulty_score":54,"env_os":108,"env_gpu":109,"env_ram":109,"env_deps":110,"category_tags":115,"github_topics":116,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":120,"updated_at":121,"faqs":122,"releases":168},8061,"AI-Yash\u002Fst-chat","st-chat","Streamlit Component, for a Chatbot UI","st-chat 是一个专为 Streamlit 框架设计的聊天机器人界面组件，旨在帮助开发者快速构建美观且功能丰富的对话应用。它解决了在 Streamlit 中从零开始定制聊天 UI 耗时费力的问题，让创作者能专注于核心逻辑而非前端样式。\n\n该工具主要适合 Python 开发者、数据科学家以及 AI 研究人员使用。只需通过简单的 pip 安装并导入 message 函数，即可轻松区分用户与机器人的消息气泡，自动完成左右对齐布局。其独特的技术亮点在于强大的内容渲染能力：不仅支持标准的文本对话，还允许通过配置直接展示 HTML 代码、音频播放器、图片、YouTube 视频嵌入，甚至能完美呈现包含数学公式、代码高亮和复杂表格的 Markdown 内容。此外，结合 Streamlit 的会话状态管理，st-chat 还能方便地实现历史记录清除和多轮对话交互。无论是搭建原型演示还是开发正式的智能客服系统，st-chat 都能以极低的代码成本提供专业级的聊天体验。","# st-chat\n\nStreamlit Component, for a Chat-bot UI, [example app](https:\u002F\u002Fshare.streamlit.io\u002Fai-yash\u002Fst-chat\u002Fmain\u002Fexamples\u002Fchatbot.py)\n\nauthors - [@yashppawar](https:\u002F\u002Fgithub.com\u002Fyashppawar) & [@YashVardhan-AI](https:\u002F\u002Fgithub.com\u002Fyashvardhan-ai)\n\n## Installation\n\nInstall `streamlit-chat` with pip\n```bash\npip install streamlit-chat \n```\n\nusage, import the `message` function from `streamlit_chat`\n```py\nimport streamlit as st\nfrom streamlit_chat import message\n\nmessage(\"My message\") \nmessage(\"Hello bot!\", is_user=True)  # align's the message to the right\n```\n   \n### Screenshot\n\n![chatbot-og](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-Yash_st-chat_readme_f2570861ce3d.png)\n\nAnother example for html in chat, and Refresh chat button\n```py\nimport streamlit as st\nfrom streamlit_chat import message\nfrom streamlit.components.v1 import html\n\ndef on_input_change():\n    user_input = st.session_state.user_input\n    st.session_state.past.append(user_input)\n    st.session_state.generated.append(\"The messages from Bot\\nWith new line\")\n\ndef on_btn_click():\n    del st.session_state.past[:]\n    del st.session_state.generated[:]\n\naudio_path = \"https:\u002F\u002Fdocs.google.com\u002Fuc?export=open&id=16QSvoLWNxeqco_Wb2JvzaReSAw5ow6Cl\"\nimg_path = \"https:\u002F\u002Fwww.groundzeroweb.com\u002Fwp-content\u002Fuploads\u002F2017\u002F05\u002FFunny-Cat-Memes-11.jpg\"\nyoutube_embed = '''\n\u003Ciframe width=\"400\" height=\"215\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FLMQ5Gauy17k\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; encrypted-media;\">\u003C\u002Fiframe>\n'''\n\nmarkdown = \"\"\"\n### HTML in markdown is ~quite~ **unsafe**\n\u003Cblockquote>\n  However, if you are in a trusted environment (you trust the markdown). You can use allow_html props to enable support for html.\n\u003C\u002Fblockquote>\n\n* Lists\n* [ ] todo\n* [x] done\n\nMath:\n\nLift($L$) can be determined by Lift Coefficient ($C_L$) like the following\nequation.\n\n$$\nL = \\\\frac{1}{2} \\\\rho v^2 S C_L\n$$\n\n~~~py\nimport streamlit as st\n\nst.write(\"Python code block\")\n~~~\n\n~~~js\nconsole.log(\"Here is some JavaScript code\")\n~~~\n\n\"\"\"\n\ntable_markdown = '''\nA Table:\n\n| Feature     | Support              |\n| ----------: | :------------------- |\n| CommonMark  | 100%                 |\n| GFM         | 100% w\u002F `remark-gfm` |\n'''\n\nst.session_state.setdefault(\n    'past', \n    ['plan text with line break',\n     'play the song \"Dancing Vegetables\"', \n     'show me image of cat', \n     'and video of it',\n     'show me some markdown sample',\n     'table in markdown']\n)\nst.session_state.setdefault(\n    'generated', \n    [{'type': 'normal', 'data': 'Line 1 \\n Line 2 \\n Line 3'},\n     {'type': 'normal', 'data': f'\u003Caudio controls src=\"{audio_path}\">\u003C\u002Faudio>'}, \n     {'type': 'normal', 'data': f'\u003Cimg width=\"100%\" height=\"200\" src=\"{img_path}\"\u002F>'}, \n     {'type': 'normal', 'data': f'{youtube_embed}'},\n     {'type': 'normal', 'data': f'{markdown}'},\n     {'type': 'table', 'data': f'{table_markdown}'}]\n)\n\nst.title(\"Chat placeholder\")\n\nchat_placeholder = st.empty()\n\nwith chat_placeholder.container():    \n    for i in range(len(st.session_state['generated'])):                \n        message(st.session_state['past'][i], is_user=True, key=f\"{i}_user\")\n        message(\n            st.session_state['generated'][i]['data'], \n            key=f\"{i}\", \n            allow_html=True,\n            is_table=True if st.session_state['generated'][i]['type']=='table' else False\n        )\n    \n    st.button(\"Clear message\", on_click=on_btn_click)\n\nwith st.container():\n    st.text_input(\"User Input:\", on_change=on_input_change, key=\"user_input\")\n\n```\n\n### Screenshot\n\n![chatbot-markdown-sp](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-Yash_st-chat_readme_a11e724bec7f.png)\n\n","# st-chat\n\nStreamlit 组件，用于聊天机器人 UI，[示例应用](https:\u002F\u002Fshare.streamlit.io\u002Fai-yash\u002Fst-chat\u002Fmain\u002Fexamples\u002Fchatbot.py)\n\n作者 - [@yashppawar](https:\u002F\u002Fgithub.com\u002Fyashppawar) 和 [@YashVardhan-AI](https:\u002F\u002Fgithub.com\u002Fyashvardhan-ai)\n\n## 安装\n\n使用 pip 安装 `streamlit-chat`\n```bash\npip install streamlit-chat \n```\n\n使用方法：从 `streamlit_chat` 中导入 `message` 函数\n```py\nimport streamlit as st\nfrom streamlit_chat import message\n\nmessage(\"我的消息\") \nmessage(\"你好，机器人！\", is_user=True)  # 将消息对齐到右侧\n```\n   \n### 截图\n\n![chatbot-og](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-Yash_st-chat_readme_f2570861ce3d.png)\n\n另一个关于在聊天中使用 HTML 以及刷新聊天按钮的示例\n```py\nimport streamlit as st\nfrom streamlit_chat import message\nfrom streamlit.components.v1 import html\n\ndef on_input_change():\n    user_input = st.session_state.user_input\n    st.session_state.past.append(user_input)\n    st.session_state.generated.append(\"来自机器人的消息\\n带换行\")\n\ndef on_btn_click():\n    del st.session_state.past[:]\n    del st.session_state.generated[:]\n\naudio_path = \"https:\u002F\u002Fdocs.google.com\u002Fuc?export=open&id=16QSvoLWNxeqco_Wb2JvzaReSAw5ow6Cl\"\nimg_path = \"https:\u002F\u002Fwww.groundzeroweb.com\u002Fwp-content\u002Fuploads\u002F2017\u002F05\u002FFunny-Cat-Memes-11.jpg\"\nyoutube_embed = '''\n\u003Ciframe width=\"400\" height=\"215\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FLMQ5Gauy17k\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; encrypted-media;\">\u003C\u002Fiframe>\n'''\n\nmarkdown = \"\"\"\n### 在 Markdown 中使用 HTML 是~相当~ **不安全** 的\n\u003Cblockquote>\n  然而，如果你处于受信任的环境（你信任该 Markdown），你可以使用 allow_html 属性来启用对 HTML 的支持。\n\u003C\u002Fblockquote>\n\n* 列表\n* [ ] 待办事项\n* [x] 已完成\n\n数学公式：\n\n升力 ($L$) 可以通过升力系数 ($C_L$) 按照以下公式计算。\n\n$$\nL = \\\\frac{1}{2} \\\\rho v^2 S C_L\n$$\n\n~~~py\nimport streamlit as st\n\nst.write(\"Python 代码块\")\n~~~\n\n~~~js\nconsole.log(\"这里有一些 JavaScript 代码\")\n~~~\n\n\"\"\"\n\ntable_markdown = '''\n一个表格：\n\n| 特性     | 支持              |\n| ----------: | :------------------- |\n| CommonMark  | 100%                 |\n| GFM         | 100% w\u002F `remark-gfm` |\n'''\n\nst.session_state.setdefault(\n    'past', \n    ['用文本计划，带换行',\n     '播放歌曲“跳舞的蔬菜”', \n     '给我看一张猫的图片', \n     '再给我看一段视频',\n     '给我看看一些 Markdown 示例',\n     'Markdown 中的表格']\n)\nst.session_state.setdefault(\n    'generated', \n    [{'type': 'normal', 'data': '第1行 \\n 第2行 \\n 第3行'},\n     {'type': 'normal', 'data': f'\u003Caudio controls src=\"{audio_path}\">\u003C\u002Faudio>'}, \n     {'type': 'normal', 'data': f'\u003Cimg width=\"100%\" height=\"200\" src=\"{img_path}\"\u002F>'}, \n     {'type': 'normal', 'data': f'{youtube_embed}'},\n     {'type': 'normal', 'data': f'{markdown}'},\n     {'type': 'table', 'data': f'{table_markdown}'}]\n)\n\nst.title(\"聊天占位符\")\n\nchat_placeholder = st.empty()\n\nwith chat_placeholder.container():    \n    for i in range(len(st.session_state['generated'])):                \n        message(st.session_state['past'][i], is_user=True, key=f\"{i}_user\")\n        message(\n            st.session_state['generated'][i]['data'], \n            key=f\"{i}\", \n            allow_html=True,\n            is_table=True if st.session_state['generated'][i]['type']=='table' else False\n        )\n    \n    st.button(\"清除消息\", on_click=on_btn_click)\n\nwith st.container():\n    st.text_input(\"用户输入:\", on_change=on_input_change, key=\"user_input\")\n\n```\n\n### 截图\n\n![chatbot-markdown-sp](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-Yash_st-chat_readme_a11e724bec7f.png)","# st-chat 快速上手指南\n\n`st-chat` 是一个专为 Streamlit 设计的聊天机器人 UI 组件，能够轻松在应用中集成对话界面。\n\n## 环境准备\n\n- **系统要求**：支持 Windows、macOS 或 Linux 的任意现代操作系统。\n- **前置依赖**：\n  - Python 3.7 或更高版本\n  - `streamlit` 库（若未安装需先安装）\n\n建议在使用前确保已安装最新版本的 pip：\n```bash\npython -m pip install --upgrade pip\n```\n\n> 💡 **国内加速提示**：如遇网络问题，可使用清华或阿里云镜像源加速安装：\n> ```bash\n> pip install streamlit -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n使用 pip 安装 `streamlit-chat`：\n\n```bash\npip install streamlit-chat\n```\n\n> 💡 **国内加速安装**：\n> ```bash\n> pip install streamlit-chat -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\n以下是最简单的使用示例，展示如何发送用户消息和机器人消息：\n\n```py\nimport streamlit as st\nfrom streamlit_chat import message\n\nmessage(\"My message\") \nmessage(\"Hello bot!\", is_user=True)  # 将消息右对齐，表示用户发言\n```\n\n运行方式：\n1. 将上述代码保存为 `app.py`\n2. 在终端执行：\n   ```bash\n   streamlit run app.py\n   ```\n3. 浏览器将自动打开本地预览页面，即可看到聊天界面效果。\n\n该组件支持自定义消息内容、对齐方式，并可扩展支持 HTML、Markdown、表格等丰富内容类型，适用于构建智能客服、问答机器人等交互场景。","某初创团队正在基于 Streamlit 快速构建一个内部智能客服原型，需要向管理层演示包含富媒体回复的对话效果。\n\n### 没有 st-chat 时\n- **界面开发繁琐**：开发者需手动编写大量 HTML\u002FCSS 代码来模拟气泡布局，区分用户与机器人的左右对齐样式极其耗时。\n- **富媒体支持困难**：想要在对话中嵌入音频播放器、YouTube 视频或渲染复杂的 Markdown 表格，需要额外处理原生组件的兼容性问题。\n- **状态管理混乱**：多轮对话的历史记录存储与刷新逻辑全靠手写 Session State 管理，代码冗长且容易出现消息错位。\n- **交互体验割裂**：缺乏现成的“清空对话”或动态输入反馈机制，导致演示时的操作流程生硬，难以体现真实聊天场景。\n\n### 使用 st-chat 后\n- **一键生成 UI**：仅需调用 `message` 函数并设置 `is_user` 参数，即可瞬间获得专业的左右分栏气泡界面，无需关注底层样式。\n- **原生富媒体集成**：通过 `allow_html=True` 参数，直接在一个消息块内完美渲染音频控件、视频嵌入代码及数学公式表格。\n- **会话逻辑简化**：配合示例代码中的 Session State 模式，轻松实现消息列表的自动追加、历史回溯及一键清除功能。\n- **沉浸式演示效果**：内置的输入框联动机制让原型具备完整的即时交互感，使管理层能直观体验端到端的智能问答流程。\n\nst-chat 将原本需要数天开发的聊天界面工作压缩至几分钟，让开发者能专注于核心对话逻辑而非前端样式打磨。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI-Yash_st-chat_f2570861.png","AI-Yash","Yash AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAI-Yash_2977c3da.png","Collaborative projects of @yashppawar and @YashVardhan-AI ",null,"yashai_","https:\u002F\u002Fgithub.com\u002FAI-Yash",[84,88,92,96,100],{"name":85,"color":86,"percentage":87},"JavaScript","#f1e05a",34.6,{"name":89,"color":90,"percentage":91},"Python","#3572A5",27.8,{"name":93,"color":94,"percentage":95},"TypeScript","#3178c6",14.9,{"name":97,"color":98,"percentage":99},"HTML","#e34c26",12.6,{"name":101,"color":102,"percentage":103},"CSS","#663399",10.2,1096,273,"2026-04-10T10:39:43","MIT","","未说明",{"notes":111,"python":109,"dependencies":112},"该工具是一个 Streamlit 组件，用于构建聊天机器人 UI。安装只需运行 'pip install streamlit-chat'。代码示例展示了如何显示文本、HTML（音频、图片、视频）、Markdown 表格及数学公式。未提及特定的操作系统、GPU、内存或 Python 版本限制，通常遵循 Streamlit 的通用运行环境要求。",[113,114],"streamlit","streamlit-chat",[15],[117,118,119],"streamlit-component","chatbot","hacktoberfest","2026-03-27T02:49:30.150509","2026-04-16T16:00:06.020885",[123,128,133,138,143,148,153,158,163],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},36095,"如何在聊天消息中插入 Markdown 格式（如代码块、列表）？","直接使用 st.markdown 即可。最新版本的 streamlit-chat 已支持 HTML 和 Markdown，你可以直接在 message() 函数中传入 Markdown 语法的字符串。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F7",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},36096,"如何更改聊天界面中的头像图片？","可以通过修改 message() 函数的参数来实现。虽然具体参数名在讨论中未完全展开，但维护者指出可以通过设置 seed 参数或相关配置来改变显示效果。通常结合 avatar_style 参数或传入图片路径（需配合静态文件服务）使用。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F5",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},36097,"消息中的换行符（\\n）被忽略怎么办？","该问题已在 v0.0.2.2 版本中修复。请升级您的 streamlit-chat 包到最新版本：\npip install --upgrade streamlit-chat\n升级后，消息将正确显示换行符。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F18",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},36098,"运行示例代码 chatbot.py 时出现 'KeyError: generated_text' 错误如何解决？","这通常是因为缺少配置文件或 API 密钥设置不当。\n1. 确保在项目根目录下创建了 .streamlit\u002Fsecrets.toml 文件。\n2. 在该文件中配置 API 密钥。\n3. 检查代码中的 Authorization 头，可能需要更新为以下格式：\nheaders = {\"Authorization\": \"Bearer st.secrets['api_key']}\n注意添加 'Bearer' 前缀。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F12",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},36099,"如何在聊天消息中显示数据框（DataFrames）或图表（Plots）？","目前不能直接渲染对象，但可以通过以下方式变通实现：\n1. 将图表保存为图片（如 PNG）到 static 文件夹。\n2. 利用 Streamlit 的静态文件服务功能。\n3. 使用 Markdown 语法在 message() 中引用图片：\nmessage('![描述](\u002Fapp\u002Fstatic\u002Fplot.png)')\n对于 Plotly 图表，可以将其保存为 HTML 并使用 iframe 嵌入。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F39",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},36100,"发送相同内容的消息时报错 'DuplicateWidgetID' 怎么办？","这是因为多个 widget 具有相同的内部结构导致键冲突。解决方法是在调用 message() 函数时显式传递一个唯一的 key 参数。例如：\nmessage(\"Hello bot!\", is_user=True, key=99)\n确保每条消息的 key 值都是独一无二的。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F52",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},36101,"用户消息默认右对齐且文字右对齐导致难以阅读，如何调整？","维护者已在新版本中移除了强制的 text-align: right 样式。如果您遇到此问题，请确保升级到最新版本的 streamlit-chat。升级后，用户消息将不再强制右对齐文本，从而提高可读性。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F51",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},36102,"如何在聊天消息中显示本地图片？","需要结合 Streamlit 的静态文件服务功能。步骤如下：\n1. 将图片存放在项目的 static 文件夹中。\n2. 确保安装了支持 HTML\u002FMarkdown 的最新版本 streamlit-chat。\n3. 使用 Markdown 语法调用图片：\nmessage('![图片描述](\u002Fapp\u002Fstatic\u002Fcat.jpg)')\n其中 \u002Fapp\u002F 是 Streamlit 静态服务的根路径前缀。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F38",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},36103,"如何在消息中添加超链接？","可以通过 Markdown 语法或 HTML 支持来实现。在 message() 函数中直接使用 Markdown 链接格式：\nmessage('[点击这里访问](https:\u002F\u002Fexample.com)')\n或者使用 HTML 标签（需确保版本支持 HTML 渲染）。","https:\u002F\u002Fgithub.com\u002FAI-Yash\u002Fst-chat\u002Fissues\u002F35",[169,174,179],{"id":170,"version":171,"summary_zh":172,"released_at":173},288909,"v0.0.2.2","streamlit-chat 发布 v0.0.2 https:\u002F\u002Fpypi.org\u002Fproject\u002Fstreamlit-chat\u002F0.0.2.2\u002F\n变更\n- 更新 Dicebear API 的 URL\n- 添加对换行的支持\n- 将用户的默认头像更改为趣味表情风格\n\n[示例应用](https:\u002F\u002Fshare.streamlit.io\u002Fai-yash\u002Fst-chat\u002Fmain\u002Fexamples\u002Fchatbot.py) ","2023-03-09T12:53:59",{"id":175,"version":176,"summary_zh":177,"released_at":178},288910,"v0.0.2","streamlit-chat 发布了 v0.0.2 版本：https:\u002F\u002Fpypi.org\u002Fproject\u002Fstreamlit-chat\u002F0.0.2.1\u002F  \n**变更内容**  \n- 代码清理  \n- 修复 Python 版本依赖问题  \n- 将用户的默认头像更改为像素风中性表情  \n\n现在有一个[示例应用](https:\u002F\u002Fshare.streamlit.io\u002Fai-yash\u002Fst-chat\u002Fmain\u002Fexamples\u002Fchatbot.py)，展示了该组件的非常简单的用法。","2021-12-28T06:33:10",{"id":180,"version":181,"summary_zh":182,"released_at":183},288911,"v0.0.1","# 用于聊天机器人 UI 的 Streamlit 组件\n现已在 PyPI 上发布：https:\u002F\u002Fpypi.org\u002Fproject\u002Fstreamlit-chat\u002F0.0.1\u002F\n安装命令：`pip install streamlit-chat`","2021-12-27T04:11:05"]