ChatFiles

上传多个文档,直接对话提问,秒级获取答案。

ChatFiles 是一个基于 GPT 和 Embedding 技术的文档对话机器人,支持同时上传多个文件(如 PDF、TXT 等),并针对文件内容进行问答。它解决了传统文档检索效率低、无法直接对话的问题,通过向量化索引和语义匹配,让用户能够以自然语言快速获取文档中的关键信息。核心能力包括多文件上传、内容解析、向量存储、相似度检索以及基于 ChatGPT 的生成式回答,界面简洁,部署简单,适合个人或小团队快速搭建私有知识库问答系统。

开源 unknown 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3337
维护状态 低维护
是否开源 是
定价模式 unknown

项目数据

分类对话助手
开发团队guangzhengli
所属国家
官网地址
定价模式unknown
价格说明开源项目,需自行部署,定价信息未提供
访问状态
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型chatbot,chatfile,chatgpt,chatgpt-api,chatpdf
GitHub 星标★ 3337
30天Star增速
HF 下载量
上线时间2023-03-28 00:00:00
最近更新2026-09-18 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 7 步

环境要求

  • Node.js 环境(需运行 npm install / npm run dev)
  • 一个 Supabase 项目用于创建向量数据库(参考 doc/vectordb/supabase.md)
  • 需在项目根目录准备 .env 文件并填写环境变量(参考 doc/env-vars.md)

安装与启动步骤

  1. 1克隆仓库

    把 ChatFiles 源码下载到本地,README 第一步要求 clone 该仓库。

    git clone https://github.com/guangzhengli/ChatFiles.git
    cd ChatFiles
  2. 2创建 .env 文件

    在项目根目录新建 .env 文件,所有环境变量都写在这里。

    touch .env
  3. 3填写环境变量

    按仓库 doc/env-vars.md 的说明逐项设置变量,至少包含 Supabase 与上传路径相关配置。

  4. 4初始化向量数据库

    按 doc/vectordb/supabase.md 在 Supabase 上创建向量库,否则文件无法被索引检索。

  5. 5安装依赖

    进入 chatfiles-ui 目录执行安装,README 使用 npm 管理依赖。

    npm install
  6. 6启动本地服务

    运行开发服务器,README 说明启动后用浏览器访问 3000 端口。

    npm run dev
  7. 7浏览器访问

    打开 http://localhost:3000 即可上传文件并与文档对话。

关键配置

配置项必填说明示例
NEXT_PUBLIC_CHAT_FILES_UPLOAD_PATH是文件上传的临时目录,Vercel 部署时必须为 /tmp/tmp
SUPABASE_URL是Supabase 项目地址,用于连接向量数据库https://xxxxxxxx.supabase.co
SUPABASE_SERVICE_ROLE_KEY是Supabase 服务角色密钥,用于读写向量数据eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxx
OPENAI_API_KEY是调用 GPT 与 Embedding 接口所需的密钥,请以 doc/env-vars.md 为准sk-xxxxxxxxxxxxxxxx

如何确认成功

浏览器打开 http://localhost:3000 页面能正常加载,即可上传文件发起对话。

常见问题

Q:环境变量具体要填哪些?

A:README 指向仓库内 doc/env-vars.md,请按该文档逐项配置;Vercel 部署按钮提示至少需要 NEXT_PUBLIC_CHAT_FILES_UPLOAD_PATH、SUPABASE_SERVICE_ROLE_KEY、SUPABASE_URL。

Q:部署到 Vercel 时上传路径怎么写?

A:README 特别提醒 NEXT_PUBLIC_CHAT_FILES_UPLOAD_PATH 的值必须为 /tmp,否则文件上传会失败。

Q:没有向量数据库能直接问答吗?

A:不能。需要先按 doc/vectordb/supabase.md 在 Supabase 上创建向量库,文件才会被向量化并支持语义检索。

Q:如何本地运行且不受限制?

A:按 README 的 'How to run locally without limited' 流程:克隆仓库、在根目录创建 .env、按 doc/env-vars.md 配置变量,然后访问 http://localhost:3000。

注意事项

  • README 未给出完整的 .env 变量清单,实际配置需查阅 doc/env-vars.md。
  • Vercel 一键部署时上传目录固定为 /tmp,本地则按自身环境设置。
  • 项目基于 LangchainJS 与 Chatbot-ui 二次开发,仅支持 GPT-3.5 对话与文件问答。

核心亮点

  • 支持多文件同时上传,批量处理文档,提升效率
  • 基于向量检索,回答内容有据可依,减少幻觉
  • 部署简单,一条命令即可启动,适合快速体验

不足之处

  • 文档格式支持有限,主要针对文本类文件
  • 文档/社区待观察

适用场景

  • 个人知识库问答,快速查找本地文档内容
  • 团队内部资料检索,替代传统关键词搜索
  • 教育场景中,学生与教材或讲义进行互动问答

替代项目

ChatPDF、quivr、privateGPT

项目介绍

ChatFiles 是对话助手领域的开源项目,由 guangzhengli 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(3,337)位列前 30%,在对话助手分类的 907 个项目里位列前 8%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-18。需自行部署,定价信息未提供。

它主要面向的使用场景是:个人知识库问答,快速查找本地文档内容。同类可对比的替代方案包括 ChatPDF、quivr、privateGPT。

上一篇:chaskiq

下一篇:Sidekick

同类项目推荐

open-webui 开源

给本地模型配个漂亮聊天室,全家都能用

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

★ 152821 2026-08-09
prompts.chat 开源

海量好提示词,抄了就能让 AI 更听话

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the commun···

★ 170999 2026-08-09
elia 开源

终端里用键盘快速聊 AI,多模型切换不打断思路

A snappy, keyboard-centric terminal user interface for interacting with large langua···

★ 2479 2026-08-09
NextChat 开源

一个界面聊遍所有主流AI模型,支持全平台部署,轻快又私密。

✨ Zero-config AI chat assistant. No API key needed — sign up and instantly chat wi···

★ 88802 2026-08-09