st-chat

给 Streamlit 应用一键加上 ChatGPT 式聊天界面

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 267 🐛 待处理 41 👀 关注 9
GitHub ↗
GitHub 星标 ★ 1100
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源组件,MIT许可证,完全免费,无付费版本。

项目预览

st-chat 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队AI-Yash
定价模式🏷️完全免费
价格说明开源组件,MIT许可证,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言JavaScript
技术栈/模型chatbot,hacktoberfest,streamlit-component
GitHub 星标★ 1100
上线时间2021-12-18 00:00:00
代码更新2024-08-19
仓库体积13.7 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数3

项目介绍

st-chat 是一个基于 Streamlit 的聊天机器人 UI 组件,用 JavaScript 编写,旨在为 Streamlit 应用快速添加类 ChatGPT 的聊天界面。它解决了 Streamlit 原生缺乏交互式聊天组件的问题,让开发者无需深入前端知识,就能在数据应用中集成对话功能。核心能力包括:支持流式输出、自定义消息样式、管理聊天历史、集成用户输入等,并提供了简洁的 Python API 供调用。该项目处于成长阶段,社区活跃,适合数据科学家和 Streamlit 用户快速构建原型或生产级对话应用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1100

技术标签

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 3 步

环境要求

  • Python 环境,且能正常使用 pip
  • Streamlit 应用运行环境(st-chat 是 Streamlit 组件,需在 Streamlit 应用中调用)

安装与启动步骤

  1. 1安装组件包

    用 pip 安装 streamlit-chat,它会提供后续使用的 message 函数。建议在虚拟环境中安装,避免与已有依赖冲突。

    pip install streamlit-chat
  2. 2编写聊天页面

    新建 app.py,从 streamlit_chat 导入 message 并调用即可渲染消息气泡;is_user=True 的消息会右对齐。

    import streamlit as st
    from streamlit_chat import message
    
    message("My message")
    message("Hello bot!", is_user=True)
  3. 3启动应用

    在 app.py 所在目录启动应用,终端会输出本地访问地址,用浏览器打开就能看到聊天界面。

    streamlit run app.py

关键配置

配置项必填说明示例
is_user否设为 True 时该条消息靠右对齐,代表用户发言;不传则默认在左侧True

如何确认成功

浏览器打开启动后给出的地址,页面出现两个消息气泡,其中 is_user=True 的那条靠右显示。

常见问题

Q:怎么区分用户消息和机器人消息?

A:在 message() 中加 is_user=True,消息会右对齐表示用户发言;不加该参数时消息显示在左侧,通常作为机器人回复。

Q:怎么清空聊天记录?

A:把历史存在 st.session_state 里(如 past、generated 两个列表),示例中通过 del st.session_state.past[:] 和 del st.session_state.generated[:] 清空后重绘。

Q:可以插入 HTML 或富媒体内容吗?

A:可以。README 示例从 streamlit.components.v1 导入 html,将 iframe、markdown 等 HTML 字符串作为消息内容一起渲染。

注意事项

  • README 只给出 pip 安装与用法示例,未提供生产部署、端口或服务器配置说明
  • 示例应用可参考 https://share.streamlit.io/ai-yash/st-chat/main/examples/chatbot.py
  • 组件必须运行在 Streamlit 应用内,不能单独作为网页服务启动

核心亮点

  • 专为 Streamlit 设计,安装即用,Python API 简洁,上手快
  • 支持流式输出,聊天体验流畅,接近原生对话应用
  • 高度可定制,消息样式、组件布局可灵活调整

不足之处

  • 依赖 Streamlit 生态,适用范围限于 Streamlit 应用
  • 文档和示例相对有限,高级用法需自行探索

适用场景

  • 在 Streamlit 数据应用中嵌入智能问答助手
  • 快速构建内部工具或原型,需要对话式交互界面
  • 为机器学习模型提供交互式演示和用户反馈收集

替代项目

streamlit-chat、Chainlit、Gradio

上一篇:awesome-gpt

下一篇:web-llm-chat

同类项目推荐

ParallelChat 开源

一个界面同时问遍所有主流 AI,免费免 Key,对比结果一目了然。

ParallelChat 是一款开源的多 AI 并行对话桌面应用,让你在一个界面中同时使用 ChatGPT、K···

★ 197 2026-08-09
BotFramework-WebChat 开源

把 Azure Bot 快速变成网页聊天框,还能深度改皮肤

A highly-customizable web-based client for Azure Bot Services.

★ 1786 2026-08-09
ChatGPT-in-Slack 开源

在 Slack 里直接召唤 ChatGPT,无需切换工具,提升团队效率

Swift demonstration of how to build a Slack app that enables end-users to interact w···

★ 512 2026-08-09
awesome-chatgpt 开源

一页看尽ChatGPT生态,快速找到趁手工具

Curated list of awesome tools, demos, docs for ChatGPT and GPT-3

★ 8211 2026-08-09
Radhika 开源

多模型 AI 聊天伙伴,懂心情更懂你

Radhika is a multi-model AI assistant built for your mood and friendship

★ 111 2026-08-09
Magento-Chatbot 开源

给 Magento 店铺装上多平台聊天机器人,自动回复省人力

Magento Chatbot Integration with Telegram, Messenger, Whatsapp, WeChat, Skype and wi···

★ 180 2026-08-09
Termino.js 开源

在网页里轻松嵌入终端,打造酷炫命令行交互。

Create a web based terminal on any website - great for games, animations and real wo···

★ 647 2026-08-09
xiaogpt 开源

让小米音箱秒变 ChatGPT 语音入口,动口就能聊

Play ChatGPT and other LLM with Xiaomi AI Speaker

★ 7021 2026-08-09