refactor: 部分应用优化 (#686)

This commit is contained in:
wanghe 2023-12-07 16:10:55 +08:00 committed by GitHub
parent 0adce85a27
commit 1646270042
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 129 additions and 321 deletions

View File

@ -1,186 +1,17 @@
<div align="center"> # ChatGPT-Next-Web
<img src="https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/images/icon.svg" alt="预览"/>
一键免费部署你的跨平台私人 ChatGPT 应用。
<h1 align="center">ChatGPT Next Web</h1>
## 特征:
一键免费部署你的私人 ChatGPT 网页应用。
- 只需在 1 分钟内即可在 Vercel 上一键免费部署
[演示 Demo](https://chat-gpt-next-web.vercel.app/) / [反馈 Issues](https://github.com/Yidadaa/ChatGPT-Next-Web/issues) / [加入 Discord](https://discord.gg/zrhvHCr79N) / [QQ 群](https://user-images.githubusercontent.com/16968934/228190818-7dd00845-e9b9-4363-97e5-44c507ac76da.jpeg) / [打赏开发者](https://user-images.githubusercontent.com/16968934/227772541-5bcd52d8-61b7-488c-a203-0330d8006e2b.jpg) / [Donate](#捐赠-donate-usdt) - Linux/Windows/MacOS 上的紧凑型客户端 (~5MB),立即下载
- 与自部署llms完全兼容推荐与RWKV-Runner或LocalAI配合使用
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY&env=CODE&project-name=chatgpt-next-web&repository-name=ChatGPT-Next-Web) - 隐私第一,所有数据都存储在浏览器本地
- Markdown 支持LaTex、mermaid、代码高亮等。
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web) - 响应式设计、深色模式和 PWA
- 首屏加载速度快(~100kb支持流式响应
![主界面](https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/images/cover.png) - v2 中的新增功能:使用提示模板(掩码)创建、共享和调试您的聊天工具
- 由Awesome-chatgpt-prompts-zh和Awesome-chatgpt-prompts提供支持的很棒的提示
</div> - 自动压缩聊天历史记录以支持长时间对话,同时保存您的令牌
- 国际化英语、简体中文、繁体中文、日本语、法语、西班牙语、意大利语、土耳其语、德语、Tiếng Việt、Русский、Čeština、한국어、印度尼西亚
## 开始使用
1. 准备好你的 [OpenAI API Key](https://platform.openai.com/account/api-keys);
2. 点击右侧按钮开始部署:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FYidadaa%2FChatGPT-Next-Web&env=OPENAI_API_KEY&env=CODE&project-name=chatgpt-next-web&repository-name=ChatGPT-Next-Web),直接使用 Github 账号登录即可,记得在环境变量页填入 API Key 和[页面访问密码](#配置页面访问密码) CODE
3. 部署完毕后,即可开始使用;
4. (可选)[绑定自定义域名](https://vercel.com/docs/concepts/projects/domains/add-a-domain)Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。
## 保持更新
如果你按照上述步骤一键部署了自己的项目,可能会发现总是提示“存在更新”的问题,这是由于 Vercel 会默认为你创建一个新项目而不是 fork 本项目,这会导致无法正确地检测更新。
推荐你按照下列步骤重新部署:
- 删除掉原先的仓库;
- 使用页面右上角的 fork 按钮fork 本项目;
- 在 Vercel 重新选择并部署,[请查看详细教程](https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/vercel-cn.md#如何新建项目)。
### 打开自动更新
> 如果你遇到了 Upstream Sync 执行错误,请手动 Sync Fork 一次!
当你 fork 项目之后,由于 Github 的限制,需要手动去你 fork 后的项目的 Actions 页面启用 Workflows并启用 Upstream Sync Action启用之后即可开启每小时定时自动更新
![自动更新](https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/images/enable-actions.jpg)
![启用自动更新](https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/images/enable-actions-sync.jpg)
### 手动更新代码
如果你想让手动立即更新,可以查看 [Github 的文档](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) 了解如何让 fork 的项目与上游代码同步。
你可以 star/watch 本项目或者 follow 作者来及时获得新功能更新通知。
## 配置页面访问密码
> 配置密码后,用户需要在设置页手动填写访问码才可以正常聊天,否则会通过消息提示未授权状态。
> **警告**:请务必将密码的位数设置得足够长,最好 7 位以上,否则[会被爆破](https://github.com/Yidadaa/ChatGPT-Next-Web/issues/518)。
本项目提供有限的权限控制功能,请在 Vercel 项目控制面板的环境变量页增加名为 `CODE` 的环境变量,值为用英文逗号分隔的自定义密码:
```
code1,code2,code3
```
增加或修改该环境变量后,请**重新部署**项目使改动生效。
## 环境变量
> 本项目大多数配置项都通过环境变量来设置,教程:[如何修改 Vercel 环境变量](https://github.com/Yidadaa/ChatGPT-Next-Web/raw/main/docs/vercel-cn.md)。
### `OPENAI_API_KEY` (必填项)
OpanAI 密钥,你在 openai 账户页面申请的 api key。
### `CODE` (可选)
访问密码,可选,可以使用逗号隔开多个密码。
**警告**:如果不填写此项,则任何人都可以直接使用你部署后的网站,可能会导致你的 token 被急速消耗完毕,建议填写此选项。
### `BASE_URL` (可选)
> Default: `https://api.openai.com`
> Examples: `http://your-openai-proxy.com`
OpenAI 接口代理 URL如果你手动配置了 openai 接口代理,请填写此选项。
> 如果遇到 ssl 证书问题,请将 `BASE_URL` 的协议设置为 http。
### `OPENAI_ORG_ID` (可选)
指定 OpenAI 中的组织 ID。
### `HIDE_USER_API_KEY` (可选)
如果你不想让用户自行填入 API Key将此环境变量设置为 1 即可。
### `DISABLE_GPT4` (可选)
如果你不想让用户使用 GPT-4将此环境变量设置为 1 即可。
### `HIDE_BALANCE_QUERY` (可选)
如果你不想让用户查询余额,将此环境变量设置为 1 即可。
## 开发
点击下方按钮,开始二次开发:
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Yidadaa/ChatGPT-Next-Web)
在开始写代码之前,需要在项目根目录新建一个 `.env.local` 文件,里面填入环境变量:
```
OPENAI_API_KEY=<your api key here>
# 中国大陆用户,可以使用本项目自带的代理进行开发,你也可以自由选择其他代理地址
BASE_URL=https://chatgpt1.nextweb.fun/api/proxy
```
### 本地开发
1. 安装 nodejs 18 和 yarn具体细节请询问 ChatGPT
2. 执行 `yarn install && yarn dev` 即可。⚠️ 注意:此命令仅用于本地开发,不要用于部署!
3. 如果你想本地部署,请使用 `yarn install && yarn build && yarn start` 命令,你可以配合 pm2 来守护进程,防止被杀死,详情询问 ChatGPT。
## 部署
### 容器部署 (推荐)
> Docker 版本需要在 20 及其以上,否则会提示找不到镜像。
> ⚠️ 注意docker 版本在大多数时间都会落后最新的版本 1 到 2 天,所以部署后会持续出现“存在更新”的提示,属于正常现象。
```shell
docker pull yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY="sk-xxxx" \
-e CODE="页面访问密码" \
yidadaa/chatgpt-next-web
```
你也可以指定 proxy
```shell
docker run -d -p 3000:3000 \
-e OPENAI_API_KEY="sk-xxxx" \
-e CODE="页面访问密码" \
--net=host \
-e PROXY_URL="http://127.0.0.1:7890" \
yidadaa/chatgpt-next-web
```
如果你的本地代理需要账号密码,可以使用:
```shell
-e PROXY_URL="http://127.0.0.1:7890 user password"
```
如果你需要指定其他环境变量,请自行在上述命令中增加 `-e 环境变量=环境变量值` 来指定。
### 本地部署
在控制台运行下方命令:
```shell
bash <(curl -s https://raw.githubusercontent.com/Yidadaa/ChatGPT-Next-Web/main/scripts/setup.sh)
```
⚠️ 注意:如果你安装过程中遇到了问题,请使用 docker 部署。
## 鸣谢
### 捐赠者
> 见英文版。
### 贡献者
[见项目贡献者列表](https://github.com/Yidadaa/ChatGPT-Next-Web/graphs/contributors)
## 开源协议
> 反对 996从我开始。
[Anti 996 License](https://github.com/kattgu7/Anti-996-License/blob/master/LICENSE_CN_EN)

View File

@ -1,8 +1,8 @@
name: ChatGPT-Next-Web name: ChatGPT-Next-Web
tags: tags:
- 工具 - 实用工具
title: 一键免费部署你的跨平台私人 ChatGPT 应用 title: 一键免费部署你的跨平台私人 ChatGPT 应用
type: 工具 type: 实用工具
description: 一键免费部署你的跨平台私人 ChatGPT 应用 description: 一键免费部署你的跨平台私人 ChatGPT 应用
additionalProperties: additionalProperties:
key: chatgpt-next-web key: chatgpt-next-web

Binary file not shown.

View File

@ -1,10 +0,0 @@
additionalProperties:
formFields:
- default: 12345
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number

View File

@ -1,10 +0,0 @@
version: "3"
services:
filecodebox:
image: lanol/filecodebox:beta
container_name: ${CONTAINER_NAME}
restart: always
volumes:
- /opt/FileCodeBox/:/app/data
ports:
- ${PANEL_APP_PORT_HTTP}:12345

View File

@ -1,12 +1,13 @@
## 默认账户信息
```
后端地址:`/#/admin`
后台密码:`FileCodeBox2023`
```
# FileCodeBox # FileCodeBox
匿名口令分享文本,文件,像拿快递一样取文件 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件
## 默认信息
后端地址:`/#/admin`
后台密码:`FileCodeBox2023`
## 主要特色 ## 主要特色
@ -22,4 +23,3 @@
- [x] 一键部署docker一键部署 - [x] 一键部署docker一键部署
- [x] 自由拓展S3协议、本地文件流可根据需求在storage文件中新增存储引擎 - [x] 自由拓展S3协议、本地文件流可根据需求在storage文件中新增存储引擎
- [x] 简单明了:适合新手练手项目 - [x] 简单明了:适合新手练手项目
- [x] 终端下载wget https://share.lanol.cn/share/select?code=83432

View File

@ -0,0 +1,10 @@
additionalProperties:
formFields:
- default: 40157
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number

View File

@ -0,0 +1,17 @@
version: '3'
services:
filecodebox:
container_name: ${CONTAINER_NAME}
image: lanol/filecodebox:beta
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:12345"
volumes:
- "./data:/app/data"
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

View File

@ -1,13 +1,20 @@
additionalProperties: name: FileCodeBox
key: filecodebox #应用的 key仅限英文用于在 Linux 创建文件夹
name: FileCodeBox #应用名称
tags: tags:
- Tool #应用标签,可以有多个,请参照下方的标签列表 - 实用工具
shortDescZh: 匿名口令分享文本,文件,像拿快递一样取文件 #应用中文描述不要超过30个字 title: 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件
shortDescEn: Anonymous password sharing text, files, retrieve files like taking a courier #应用英文描述 type: 实用工具
type: tool #应用类型,区别于应用分类,只能有一个,请参照下方的类型列表 description: 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件
crossVersionUpdate: true #是否可以跨大版本升级 additionalProperties:
limit: 1 #应用安装数量限制0 代表无限制 key: filecodebox
website: https://share.lanol.cn #官网地址 name: FileCodeBox
github: https://github.com/vastsa/FileCodeBox #github 地址 tags:
document: https://github.com/vastsa/FileCodeBox #文档地址 - Tool
shortDescZh: 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件
shortDescEn: File Express Cabinet - Anonymous Passcode Sharing Text, Files, Like Taking Express Delivery for Files
type: tool
crossVersionUpdate: true
limit: 1
recommend: 0
website: https://share.lanol.cn
github: https://github.com/vastsa/FileCodeBox
document: https://github.com/vastsa/FileCodeBox

View File

@ -49,3 +49,10 @@ additionalProperties: #固定参数
required: true required: true
rule: paramPort rule: paramPort
type: number type: number
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
required: true
type: text

View File

@ -1,10 +1,11 @@
version: "3.1" version: '3'
services: services:
koishi: koishi:
image: koishijs/koishi:v1.12.2 image: koishijs/koishi:v1.12.2
container_name: ${CONTAINER_NAME} container_name: ${CONTAINER_NAME}
restart: always
environment: environment:
- TZ=Asia/Shanghai - TZ=${TIME_ZONE}
networks: networks:
- 1panel-network - 1panel-network
ports: ports:
@ -13,7 +14,6 @@ services:
- ./data:/koishi - ./data:/koishi
labels: labels:
createdBy: "Apps" createdBy: "Apps"
restart: always
networks: networks:
1panel-network: 1panel-network:
external: true external: true

View File

@ -1,19 +1,6 @@
<div align="center"> # Koishi
<a href="https://koishi.chat/" target="_blank">
<img width="160" src="https://koishi.chat/logo.png" alt="logo">
</a>
<h1 id="koishi"><a href="https://koishi.chat/" target="_blank">Koishi</a></h1>
[![Codecov](https://img.shields.io/codecov/c/github/koishijs/koishi?style=flat-square)](https://codecov.io/gh/koishijs/koishi) **Koishi** 是一个跨平台、可扩展、高性能的聊天机器人框架。
[![downloads](https://img.shields.io/npm/dm/koishi?style=flat-square)](https://www.npmjs.com/package/koishi)
[![npm](https://img.shields.io/npm/v/koishi?style=flat-square)](https://www.npmjs.com/package/koishi)
[![GitHub](https://img.shields.io/github/license/koishijs/koishi?style=flat-square)](https://github.com/koishijs/koishi/blob/master/LICENSE)
</div>
Koishi 是一个跨平台、可扩展、高性能的聊天机器人框架。
它的名字和图标设计来源于来源于东方 Project 中的角色古明地恋 (Komeiji Koishi)。古明地恋是一个会做出无意识举动的角色,取这个名字既象征着聊天机器人的主题,也蕴含了开发者为之倾注的热爱。
## 特性 ## 特性
@ -36,21 +23,3 @@ Koishi 更为开发者准备了众多专业功能,使插件开发者得以在
- 类型支持Koishi 完全基于 TypeScript 开发,拥有顶级的类型支持,丰富的代码提示让你在编写代码的时候甚至无需查看文档 - 类型支持Koishi 完全基于 TypeScript 开发,拥有顶级的类型支持,丰富的代码提示让你在编写代码的时候甚至无需查看文档
- 单元测试:所有核心功能均已经通过单元测试,既确保了可靠性,也为开发者提供了一套测试插件和定位问题的最佳实践 - 单元测试:所有核心功能均已经通过单元测试,既确保了可靠性,也为开发者提供了一套测试插件和定位问题的最佳实践
- 模块热重载:开发 Koishi 插件时,只需轻点保存即可热重载,无需频繁重启机器人,如同前端开发一样丝滑顺畅 - 模块热重载:开发 Koishi 插件时,只需轻点保存即可热重载,无需频繁重启机器人,如同前端开发一样丝滑顺畅
## 快速起步
[前往文档](https://koishi.chat/manual/starter/)
## 许可证
Koishi 完全使用 [MIT](./LICENSE) 协议开源,维护良好的开源生态从我做起 (*>ω<
Copyright © 2019-2023, Shigma
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkoishijs%2Fkoishi.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkoishijs%2Fkoishi?ref=badge_large)
## 更多
- [贡献指南](./CONTRIBUTING.md)
- [参与讨论](https://koishi.chat/about/contact.html)
- [支持作者](https://afdian.net/a/shigma)

View File

@ -1,13 +1,20 @@
additionalProperties: #固定参数 name: Koishi
key: koishi #应用的 key ,仅限英文,用于在 Linux 创建文件夹
name: Koishi #应用名称
tags: tags:
- Tool #应用标签,可以有多个,请参照下方的标签列表 - 实用工具
shortDescZh: 跨平台、可扩展、高性能的聊天机器人框架 #应用中文描述不要超过30个字 title: 跨平台、可扩展、高性能的聊天机器人框架
shortDescEn: Cross-platform, extensive, high-performance chatbot framework #应用英文描述 type: 实用工具
type: tool #应用类型,区别于应用分类,只能有一个,请参照下方的类型列表 description: 跨平台、可扩展、高性能的聊天机器人框架
crossVersionUpdate: true #是否可以跨大版本升级 additionalProperties:
limit: 0 #应用安装数量限制0 代表无限制 key: koishi
website: https://koishi.chat #官网地址 name: Koishi
github: https://github.com/koishijs/koishi #github 地址 tags:
document: https://koishi.chat #文档地址 - Tool
shortDescZh: 跨平台、可扩展、高性能的聊天机器人框架
shortDescEn: Cross-platform, extensive, high-performance chatbot framework
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://koishi.chat
github: https://github.com/koishijs/koishi
document: https://koishi.chat/zh-CN/manual/introduction.html

View File

@ -1,6 +1,6 @@
# Prometheus # Prometheus
Prometheus 一个监控系统和时间序列数据库 **Prometheus** 一个监控系统和时间序列数据库
## 主要功能: ## 主要功能:

View File

@ -14,6 +14,7 @@ additionalProperties:
type: runtime type: runtime
crossVersionUpdate: false crossVersionUpdate: false
limit: 0 limit: 0
recommend: 0
website: https://prometheus.io website: https://prometheus.io
github: https://github.com/prometheus/prometheus github: https://github.com/prometheus/prometheus
document: https://prometheus.io/docs/introduction/overview/ document: https://prometheus.io/docs/introduction/overview/

View File

@ -1 +1,3 @@
#!/bin/bash
chmod -R 777 prometheus chmod -R 777 prometheus

View File

@ -1,41 +1,18 @@
# Tailchat # 关于后台
Tailchat 是一款功能强大的聊天工具,旨在提供出色的沟通和协作体验。
## 安装演示视频
- [在 bilibili 中观看](https://www.bilibili.com/video/BV1hP411v7Gj)
## 主要功能:
### 实时聊天
Tailchat 提供实时聊天功能,允许用户与他人进行即时沟通。无论是一对一聊天还是群组聊天,您都可以轻松地与同事、朋友和家人保持联系。
### 多平台支持
Tailchat 可以在多个平台上使用包括桌面、移动设备和Web浏览器。这意味着您可以随时随地访问您的聊天会话无需担心设备兼容性问题。
### 文件共享
用户可以在聊天中轻松共享文件,包括图片、文档和音频文件。这样,您可以与团队成员共享重要文档或娱乐内容,提高工作效率和娱乐乐趣。
### 消息历史记录
Tailchat 会自动保存聊天消息的历史记录,因此您可以随时查看之前的对话。这对于追踪项目进展、查找之前的信息或进行审计非常有用。
### 自定义表情和贴纸
为了增加聊天的趣味性Tailchat 支持自定义表情和贴纸。用户可以发送各种表情符号和有趣的贴纸来表达自己的情感和想法。
### 安全和隐私
Tailchat 提供了强大的安全性和隐私保护功能,包括端到端加密,以确保您的聊天内容不会被未经授权的访问。
## 部署说明
### 关于后台
访问 `http://<your-server-admin>:11002/admin/` 进入后台服务 访问 `http://<your-server-admin>:11002/admin/` 进入后台服务
*11002是后台默认端口你可以在安装时修改成自己想要的端口* > 11002是后台默认端口你可以在安装时修改成自己想要的端口。
# Tailchat
**Tailchat** 是一款功能强大的聊天工具,旨在提供出色的沟通和协作体验。
## 主要功能:
- **实时聊天**Tailchat 提供实时聊天功能,允许用户与他人进行即时沟通。无论是一对一聊天还是群组聊天,您都可以轻松地与同事、朋友和家人保持联系。
- **多平台支持**Tailchat 可以在多个平台上使用包括桌面、移动设备和Web浏览器。这意味着您可以随时随地访问您的聊天会话无需担心设备兼容性问题。
- **文件共享**:用户可以在聊天中轻松共享文件,包括图片、文档和音频文件。这样,您可以与团队成员共享重要文档或娱乐内容,提高工作效率和娱乐乐趣。
- **消息历史记录**Tailchat 会自动保存聊天消息的历史记录,因此您可以随时查看之前的对话。这对于追踪项目进展、查找之前的信息或进行审计非常有用。
- **自定义表情和贴纸**为了增加聊天的趣味性Tailchat 支持自定义表情和贴纸。用户可以发送各种表情符号和有趣的贴纸来表达自己的情感和想法。
- **安全和隐私**Tailchat 提供了强大的安全性和隐私保护功能,包括端到端加密,以确保您的聊天内容不会被未经授权的访问。