返回市场
蜂巢聊天

蜂巢聊天

作者:HiveNexus1124 星标更新:2025-09-17

项目介绍

<div align="center"> <img width="32" height="32" src="https://gips2.baidu.com/it/u=1762487792,2251070932&fm=3081&app=3081&f=PNG?w=48&h=48" /> <img height="32" alt="HiveChat" src="https://gips3.baidu.com/it/u=4126130863,4037531598&fm=3081&app=3081&f=PNG?w=966&h=216" /> <p>中文 | <a href="https://github.com/HiveNexus/HiveChat/blob/main/README_EN.md">English</a><p> <a href="https://deepwiki.com/HiveNexus/HiveChat" target="_blank"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a> <p>专为中小团队设计的 AI 聊天应用,支持 Deepseek、Open AI、Claude、Gemini 等模型。</p> </div>

1. 功能概述

一位管理员负责配置,使得整个团队能够轻松使用各种AI模型。

  • 支持配置电子邮件登录或企业微信、钉钉、飞书登录

  • 支持用户分组管理

    • 为分组用户设置不同的可用模型
    • 对于分组用户,可以分别设置每月的Token限制
  • 支持配置MCP服务器(SSE模式)

  • DeepSeek心智链显示

  • LaTeX和Markdown渲染

  • 图像理解

  • AI代理

  • 基于云的数据存储

  • 支持的大模型服务提供商:

    • Open AI
    • Claude
    • Gemini
    • DeepSeek
    • Moonshot (月亮的暗面)
    • Volcanic Ark (豆包)
    • Ali Bailian (千问)
    • 百度千扇
    • 腾讯混合
    • Zhipu
    • Open Router
    • Grok
    • Ollama
    • 硅基流
  • 同时支持任意Open AI风格服务提供商的自定义添加

普通用户端

登录您的账户以开始对话。

image

MCP使用

image

管理员面板

  • 管理员配置AI大模型服务提供商
  • 可手动添加用户,并启用或禁用账户注册,适用于公司/学校/组织等小型团队
  • 查看并管理所有用户

image

<details> <summary>更多图片</summary> 用户管理,可以为用户设置分组,针对不同分组设置可见模型和 Token 限额 <img src="https://gips3.baidu.com/it/u=1338314427,1273558196&fm=3081&app=3081&f=PNG?w=3540&h=1687" /> <img src="https://gips0.baidu.com/it/u=1621475449,2969872100&fm=3081&app=3081&f=PNG?w=3538&h=1688" /> 邮箱以及第三方登录 <img src="https://gips2.baidu.com/it/u=957647744,4124537430&fm=3081&app=3081&f=PNG?w=3168&h=1575" /> MCP 配置 <img src="https://gips1.baidu.com/it/u=800592041,3668568276&fm=3081&app=3081&f=PNG?w=3168&h=1577" /> 搜索设置 <img src="https://gips2.baidu.com/it/u=682335886,2844859382&fm=3081&app=3081&f=PNG?w=3144&h=1577" /> </details>

2. 在线演示

注意:以下是一个演示站点,数据可能会随时被清除

3. 技术栈

  • Next.js
  • Tailwindcss
  • Auth.js
  • PostgreSQL
  • Drizzle ORM
  • Ant Design

4. 安装与部署

方法1:本地部署

注意: 升级到旧版本可能导致数据库结构变化,请手动执行 npm run initdb 更新,即使没有更新也不会产生副作用

  1. 将此项目克隆到本地
git clone https://github.com/HiveNexus/hivechat.git
  1. 安装依赖库
cd hivechat
npm install
  1. 修改本地配置文件

复制样本文件到 .env

cp .env.example .env

修改 .env 文件

# PostgreSQL 数据库连接 URL,此处为示例,需本地安装或连接远程 PostgreSQL
# 注意,本地安装暂不支持使用 Vercel 或 Neon 提供的 Serverless PostgreSQL
DATABASE_URL=postgres://postgres:password@localhost/hivechat

# 用于用户信息等敏感信息的加密,可以使用 openssl rand -base64 32 生成一个随机的 32 位字符串作为密钥,此处为示例,请替换为自己生成的值。
AUTH_SECRET=hclqD3nBpMphLevxGWsUnGU6BaEa2TjrCQ77weOVpPg=

# 管理员授权码,初始化后,凭此值设置管理员账号,此处为示例,请替换为自己生成的值。
ADMIN_CODE=22113344

# 生产环境设置为正式域名,开启飞书等第三方登录时回调时会使用
NEXTAUTH_URL=http://127.0.0.1:3000

是否开启邮箱登录,开启值设为 ON,关闭时修改为 OFF,未设置时默认开启
EMAIL_AUTH_STATUS=ON

# 是否开启飞书登录,开启值设为 ON,关闭时修改为 OFF,详细说明见底部附2
FEISHU_AUTH_STATUS=OFF
FEISHU_CLIENT_ID="cli_xxxxxxxxxxxxxxxx"
FEISHU_CLIENT_SECRET="xxxxxxxxHOEWIoE7eDc1Lhc0042OXXXX"

# 是否开启企业微信登录,开启值设为 ON,关闭时修改为 OFF
WECOM_AUTH_STATUS=OFF
WECOM_CLIENT_ID="ww728c371c2fXXXXXX"
WECOM_AGENT_ID="100XXXX"
WECOM_CLIENT_SECRET="H-7J4jzG0m1axpXLGshaCDlMOZxdjvkX6bIVLuXXXXXX"

# 是否开启钉钉登录,开启值设为 ON,关闭时修改为 OFF
DINGDING_AUTH_STATUS=OFF
DINGDING_CLIENT_ID="dingpcfi2kpuplXXXXXX"
DINGDING_CLIENT_SECRET="3vk9-VFCExNckqNUk_CL2F-HEgz7qGN-BimH0lZ1gUx6hWO7g_an2lnkk6XXXXXX"
  1. 初始化数据库
npm run initdb
  1. 启动程序
// 测试开发
npm run dev
// 正式启动
npm run build
npm run start  
  1. 初始化管理员账户

访问 http://localhost:3000/setup (实际使用的域名和端口号),可以进入管理员账户设置页面,设置完成后即可正常使用系统。

方法2:Docker部署

由于近期频繁更新,目前没有可用于升级Docker数据库的SQL脚本。如果是历史版本升级,测试用户可以直接删除存储卷 hivechat_postgres_data 下的SQL脚本,数据库会自动重新初始化。如果官方环境中需要对Docker部署进行升级,请联系作者(微信:wuhaoworld)。其他部署方式不存在这个问题。

  1. 将此项目克隆到本地
git clone https://github.com/HiveNexus/hivechat.git
  1. 修改本地配置文件

复制样本文件到 .env

cp .env.example .env

根据实际情况修改以下配置项 修改 AUTH_SECRETADMIN_CODE 正式环境必须重置,测试用途时无需修改。 修改 .env 文件

# PostgreSQL 数据库连接 URL,Docker 部署时可留空
DATABASE_URL=

# 用于用户信息等敏感信息的加密,可以使用 openssl rand -base64 32 生成一个随机的 32 位字符串作为密钥,此处为示例,请替换为自己生成的值,测试用途时可不修改。
AUTH_SECRET=hclqD3nBpMphLevxGWsUnGU6BaEa2TjrCQ77weOVpPg=

# 管理员授权码,初始化后,凭此值设置管理员账号,此处为示例,请替换为自己生成的值。
ADMIN_CODE=22113344

# 生产环境设置为正式域名,开启飞书等第三方登录时回调时会使用
NEXTAUTH_URL=http://127.0.0.1:3000

# 是否开启邮箱登录,开启值设为 ON,关闭时修改为 OFF,未设置时默认开启
EMAIL_AUTH_STATUS=ON

# 是否开启飞书登录,开启值设为 ON,关闭时修改为 OFF,详细说明见底部附2
FEISHU_AUTH_STATUS=OFF
FEISHU_CLIENT_ID="cli_xxxxxxxxxxxxxxxx"
FEISHU_CLIENT_SECRET="xxxxxxxxHOEWIoE7eDc1Lhc0042OXXXX"

# 是否开启企业微信登录,开启值设为 ON,关闭时修改为 OFF
WECOM_AUTH_STATUS=OFF
WECOM_CLIENT_ID="ww728c371c2fXXXXXX"
WECOM_AGENT_ID="100XXXX"
WECOM_CLIENT_SECRET="H-7J4jzG0m1axpXLGshaCDlMOZxdjvkX6bIVLuXXXXXX"

# 是否开启钉钉登录,开启值设为 ON,关闭时修改为 OFF
DINGDING_AUTH_STATUS=OFF
DINGDING_CLIENT_ID="dingpcfi2kpuplXXXXXX"
DINGDING_CLIENT_SECRET="3vk9-VFCExNckqNUk_CL2F-HEgz7qGN-BimH0lZ1gUx6hWO7g_an2lnkk6XXXXXX"
  1. 启动容器
docker compose up -d
  1. 初始化管理员账户

访问 http://localhost:3000/setup (实际使用的域名和端口号),可以进入管理员账户设置页面,设置完成后即可正常使用系统。

方法3:在Vercel上部署

注意: 从旧版本升级到2025年4月5日之后的更新版本。如果您遇到卡住的升级,请手动登录Vercel数据库管理页面,并将 group 表下的 daily_token_limit 字段更改为 monthly_token_limit,然后重新部署。由于表结构调整,脚本执行无法自动确认或跳过,这可能导致部署卡住。新部署中不存在此问题,详情见这里

点击下方按钮开始部署。

在Vercel上部署

默认情况下,代码会被克隆到您自己的Github仓库中,您需要填写环境变量:

<img width="726" alt="image" src="https://gips2.baidu.com/it/u=4199888826,3338130807&fm=3081&app=3081&f=PNG?w=1452&h=878" />
# PostgreSQL 数据库连接 URL,Vercel 平台提供了免费的托管服务,详情见下面说明
DATABASE_URL=postgres://postgres:password@localhost/hivechat

# 用于用户信息等敏感信息的加密,可以使用 openssl rand -base64 32 生成一个随机的 32 位字符串作为密钥,此处为示例,请替换为自己生成的值。
AUTH_SECRET=hclqD3nBpMphLevxGWsUnGU6BaEa2TjrCQ77weOVpPg=

# 管理员授权码,初始化后,凭此值设置管理员账号,此处为示例,请替换为自己生成的值。
ADMIN_CODE=22113344

# 生产环境设置为正式域名,开启飞书等第三方登录时回调时会使用
# 首次可使用 `https://Vercel中的项目名.vercel.app`
NEXTAUTH_URL=https://hivechat-xxx.vercel.app

是否开启邮箱登录,开启值设为 ON,关闭时设为 OFF
EMAIL_AUTH_STATUS=ON

# 是否开启飞书登录,开启值设为 ON,关闭时修改为 OFF,详细说明见底部附2
FEISHU_AUTH_STATUS=OFF
FEISHU_CLIENT_ID="cli_xxxxxxxxxxxxxxxx"
FEISHU_CLIENT_SECRET="xxxxxxxxHOEWIoE7eDc1Lhc0042OXXXX"

# 是否开启企业微信登录,开启值设为 ON,关闭时修改为 OFF
WECOM_AUTH_STATUS=OFF
WECOM_CLIENT_ID="ww728c371c2fXXXXXX"
WECOM_AGENT_ID="100XXXX"
WECOM_CLIENT_SECRET="H-7J4jzG0m1axpXLGshaCDlMOZxdjvkX6bIVLuXXXXXX"

# 是否开启钉钉登录,开启值设为 ON,关闭时修改为 OFF
DINGDING_AUTH_STATUS=OFF
DINGDING_CLIENT_ID="dingpcfi2kpuplXXXXXX"
DINGDING_CLIENT_SECRET="3vk9-VFCExNckqNUk_CL2F-HEgz7qGN-BimH0lZ1gUx6hWO7g_an2lnkk6XXXXXX"

版本升级

  • 当通过npm在服务器上安装或更新时,先手动执行 npm run initdb 检查数据库是否有更新,即使没有更新也不会产生副作用
  • 当使用Docker模式升级到0.0.25镜像(发布于2025年6月28日)时,需要手动更新数据库并执行以下SQL语句
-- models 表新增内置工具的能力标识
ALTER TABLE models 
ADD COLUMN built_in_image_gen boolean DEFAULT false,
ADD COLUMN built_in_web_search boolean DEFAULT false;

-- API 风格新增枚举类型 openai_response
ALTER TYPE public.api_style ADD VALUE 'openai_response';
-- 设置 api_style 字段 not null
ALTER TABLE public.llm_settings 
ALTER COLUMN api_style SET NOT NULL;
  • 当使用Docker升级到0.0.26镜像(发布于2025年7月15日)时,需要手动更新数据库并执行以下SQL语句
CREATE TYPE message_send_shortcut AS ENUM ('enter', 'ctrl_enter');

ALTER TABLE public."user" 
ADD COLUMN message_send_shortcut message_send_shortcut NOT NULL DEFAULT 'enter';

附件1:Vercel (Neon) PostgreSQL配置

  1. 导航至Vercel平台顶部,选择“存储”标签,点击创建数据库

  2. 选择 Neon(Serverless Postgres) <img width="400" alt="image" src="https://gips2.baidu.com/it/u=2871723828,1069349373&fm=3081&app=3081&f=PNG?w=1096&h=1506" />

  3. 按照指示完成创建后,复制这里的 DATABASE_URL 填写前面步骤中的 DATABASE_URL 值 <img width="800" alt="image" src="https://gips3.baidu.com/it/u=217000708,18737