# 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的样例。

![cover](./docs/testGLM.png)
![show program code](./docs/testChart.png)

## 一、版本特性
[✓] 多会话储存和上下文逻辑<br />
[✓] 对代码等消息类型的格式化美化处理<br />
[✓] 访问权限控制<br />
[✓] 数据导入、导出<br />
[✓] 保存消息到本地图片<br />
[✓] 界面多语言<br />
[✓] 界面主题<br />

## 二、安装部署环境

### 2.1 安装Node.js

`node` 需要 >= 20 (实测node.js v18 已经不行) <br />

```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)