# chatglm.vue
**Repository Path**: jiashisoft/chatglm.vue
## Basic Information
- **Project Name**: chatglm.vue
- **Description**: 基于Node.js的Express框架和Vue.js界面,搭建调用智谱AI官方ChatGLM对话API的聊天网页。
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 2
- **Created**: 2024-10-02
- **Last Updated**: 2025-02-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ChatGLM-Web
> 声明:此项目是在作者ChenZhaoYu的开源项目 基础上修改的,基于Vue技术框架和chatGLM在线接口,遵守 MIT 协议,开源免费且只作为学习调用大语言模型问答API的样例。


## 一、版本特性
[✓] 多会话储存和上下文逻辑
[✓] 对代码等消息类型的格式化美化处理
[✓] 访问权限控制
[✓] 数据导入、导出
[✓] 保存消息到本地图片
[✓] 界面多语言
[✓] 界面主题
## 二、安装部署环境
### 2.1 安装Node.js
`node` 需要 >= 20 (实测node.js v18 已经不行)
```shell
node -v
```
### 2.2 装PNPM包
如果你没有安装过 `pnpm`
```shell
npm install pnpm -g
```
### 2.3 配置填写密钥
获取 `zhipuai Api Key` 并填写本地配置文件 [跳转](#6环境变量)
```
# service/.env 文件
OPENAI_API_KEY=
```
## 三、安装依赖包
### 3.1 后端
进入文件夹 `/service` 运行以下命令
```shell
pnpm install
```
### 3.2前端
根目录下运行以下命令
```shell
pnpm bootstrap
```
## 四、测试运行
### 4.1 后端服务
进入文件夹 `/service` 运行以下命令
```shell
pnpm start
```
### 4.2 前端网页
根目录下运行以下命令
```shell
pnpm dev
```
## 五、环境变量
`API` 可用:
- `OPENAI_API_KEY`
- `OPENAI_API_MODEL` 设置模型,默认为调用GLM-4-Flash免费模型
- `OPENAI_API_BASE_URL` 设置接口地址
通用:
- `AUTH_SECRET_KEY` 访问权限密钥,可选
- `MAX_REQUEST_PER_HOUR` 每小时最大请求次数,可选,默认无限
- `TIMEOUT_MS` 超时,单位毫秒,可选
## 六、打包发布
### 6.1 手动打包
#### 6.1.1 后端服务
> 如果你不需要本项目的 `node` 接口,可以省略如下操作
复制 `service` 文件夹到你有 `node` 服务环境的服务器上。
```shell
# 安装
pnpm install
# 打包
pnpm build
# 运行
pnpm prod
```
PS: 不进行打包,直接在服务器上运行 `pnpm start` 也可
#### 6.1.2 前端网页
1、修改根目录下 `.env` 文件中的 `VITE_GLOB_API_URL` 为你的实际后端接口地址
2、根目录下运行以下命令,然后将 `dist` 文件夹内的文件复制到你网站服务的根目录下
[参考信息](https://cn.vitejs.dev/guide/static-deploy.html#building-the-app)
```shell
pnpm build
```
## 七、致谢
感谢 [JetBrains](https://www.jetbrains.com/) 为这个项目提供免费开源许可的软件。
## 许可证和所有权 License
MIT © [ChenZhaoYu](./license)