HiveChat:提升团队协作效率的AI聊天应用

什么是 HiveChat ?

HiveChat 作为一款专为中小团队设计的 AI 聊天应用,支持 DeepseekOpen AIClaudeGemini 等模型。管理员一人配置,全团队轻松使用各种 AI 模型。凭借其强大的功能和便捷的操作,有望成为团队沟通协作的得力助手。

主要特点

  • 多模型支持:用户可以根据需要选择不同的 AI 模型进行对话。
  • 易于使用:管理员可以配置不同的登录方式(如邮箱、企业微信、钉钉、飞书等),使团队成员能够轻松访问。
  • 在线演示:提供用户端和管理员端的在线演示,方便用户体验和管理。
  • 强大的技术栈:使用 Next.jsTailwindcssPostgreSQL 等技术,确保应用的高效性和可扩展性。
  • 自托管解决方案:用户可以选择在本地或 Docker 上部署 HiveChat,便于管理和定制。

HiveChat 旨在提高团队的沟通效率,帮助他们更好地利用 AI 技术进行协作。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 hivechat ,选择第一个 hivenexus/hivechat,版本选择 0.0.4

建目录

使用 SSH 客户端登录到群晖,在命令行执行下面的命名创建和进入目录

1
2
3
4
5
# 新建文件夹 hivechat 和 子目录
mkdir -p /volume1/docker/hivechat/{data,sql}

# 进入 hivechat 目录
cd /volume1/docker/hivechat

env.txt

env.txt 基于官方的 .env.example ,源文件地址:https://github.com/HiveNexus/HiveChat/blob/main/.env.example

【注意】:因为注释中有中文,所以一定要使用 UTF-8 格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# PostgreSQL 数据库连接 URL,需本地安装或连接远程 PostgreSQL
# Docker 部署时无需填写
DATABASE_URL=
# 用于用户信息等敏感信息的加密,可以使用 openssl rand -base64 32 生成一个随机的 32 位字符串作为密钥。
# 以下为示例,生产环境请重新生成
AUTH_SECRET=PKqQmr74pyUXLR18kx85is9yXguIinaJ40DrOBim+Tg=
# 管理员授权码,安装完成后,凭此值访问 /setup 页设置管理员账号
ADMIN_CODE=11223344
# 生产环境设置为正式域名
NEXTAUTH_URL=http://192.168.0.197:3274
AUTH_TRUST_HOST=true

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

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

#是否开启企业微信登录,开启值设为 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"

老苏只修改了 NEXTAUTH_URL,其中 192.168.0.197 为安装 HiveChat 的主机 IP,也就是老苏的群晖主机的 IP

其他环境变量都采用了默认值,请根据需要进行修改

hivechat_init.sql

hivechat_init.sql 是数据库初始化脚本文件,因为较长,这里就不贴了,需要自行下载

浏览器中打开 https://github.com/HiveNexus/HiveChat/blob/main/docker/hivechat_init.sql,右上角可以找到 Download raw file

docker-compose.yml

docker-compose.yml 基于官方的版本做了些微调

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
services:
app:
image: hivenexus/hivechat:0.0.4
container_name: hivechat
restart: unless-stopped
ports:
- "3274:3000"
environment:
DATABASE_URL: "postgres://postgres:postgres@db:5432/hivechat"
AUTH_SECRET: ${AUTH_SECRET}
ADMIN_CODE: ${ADMIN_CODE}
NEXTAUTH_URL: ${NEXTAUTH_URL}
AUTH_TRUST_HOST: ${AUTH_TRUST_HOST}
EMAIL_AUTH_STATUS: ${EMAIL_AUTH_STATUS}
FEISHU_AUTH_STATUS: ${FEISHU_AUTH_STATUS}
FEISHU_CLIENT_ID: ${FEISHU_CLIENT_ID}
FEISHU_CLIENT_SECRET: ${FEISHU_CLIENT_SECRET}
WECOM_AUTH_STATUS: ${WECOM_AUTH_STATUS}
WECOM_CLIENT_ID: ${WECOM_CLIENT_ID}
WECOM_AGENT_ID: ${WECOM_AGENT_ID}
WECOM_CLIENT_SECRET: ${WECOM_CLIENT_SECRET}
DINGDING_AUTH_STATUS: ${DINGDING_AUTH_STATUS}
DINGDING_CLIENT_ID: ${DINGDING_CLIENT_ID}
DINGDING_CLIENT_SECRET: ${DINGDING_CLIENT_SECRET}
depends_on:
- db

db:
image: postgres:16-alpine
container_name: hivechat-db
restart: unless-stopped
volumes:
- ./data:/var/lib/postgresql/data
- ./sql:/docker-entrypoint-initdb.d/
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: hivechat
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres -d hivechat" ]
interval: 5s
timeout: 5s
retries: 5

启动

docker-compose.ymlenv.txt 放入当前目录

hivechat_init.sql 放入 sql 子目录

以上工作都完成后,就可以一键启动了

1
2
# 一键启动
docker-compose --env-file env.txt up -d

运行

如果在浏览器中输入 http://群晖IP:3274,但是还没有账号和密码

设置管路员

需要先进入管理员账号设置页面 http://群晖IP:3274/setup

设置完成后

【注意】:密码不能少于 8 位;

就可以正常使用系统

模型

左下角进入 管理后台,以 硅基流动 为例

目前硅基流动新用户注册会获得  2000 万 Tokens,足够用一阵子的

注册地址

https://cloud.siliconflow.cn/i/NkUiXVhQ

现在返回主页就可以使用了

智能体

内置了少量智能体

可以自己添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#角色:你是一个图像生成助手

#作者:杨浦老苏
#时间:2025.03.13
#版本:v2

#技能:能根据用户输入的简单描述,想象并详细描述出一幅完整的画面。

#规则:
1.用户输入的简单描述,插入到【输出】的{user_prompt}部分
2.将详细描述插入到【输出】的{ai_chinese_prompt}部分
3.将详细描述翻译成英文,插入到【输出】的{ai_english_prompt}部分
4.如果用户的描述中包含高度信息,直接插入到【输出】的{width}部分,否则插入默认值 1280
5.如果用户的描述中包含宽度信息,直接插入到【输出】的{height}部分,否则插入默认值 1280
6.如果出现比例,指宽:高,宽度默认用1280,根据比例计算高度,插入到【输出】的{height}部分
7.随机生成一个整数,插入到【输出】的{seed}部分
8.根据用户对画面风格的描述,选择对应的模型。如果用户没有描述,从下面 7 个模型中随机选一个模型,插入到【输出】的{model}部分
- `flux`(默认模型)
- `flux-pro`(加强效果)
- `flux-realism`(写实风格)
- `flux-anime`(动漫风格)
- `flux-3d`(3D 风格)
- `flux-cablyai`(未知)
- `turbo`(快速生成)
9.不需将{ai_english_prompt}显示出来。

#输出:
![](https://image.pollinations.ai/prompt/{ai_english_prompt}?width={width}&height={height}&seed={seed}&enhance=true&private=true&nologo=true&safe=true&model={model})

这段提示词之前老苏用过,这次只是将输出从 html 改为了 markdown 格式

文章传送门:Pollinations.AI赋能Cherry Studio生图智能体

将新建的智能体 添加到对话

开始对话

添加用户

进入 管理后台 –> 用户管理 –> 添加用户

参考文档

HiveNexus/HiveChat: An AI chat bot for small and medium-sized teams, supporting models such as Deepseek, Open AI, Claude, and Gemini. 专为中小团队设计的 AI 聊天应用,支持 Deepseek、Open AI、Claude、Gemini 等模型。
地址:https://github.com/HiveNexus/HiveChat