From 3daf8ad75f6bf0f196b79feccd98d6b6e49d9acf Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sat, 23 May 2026 15:06:46 +0800 Subject: [PATCH 1/6] Update README.md --- README.md | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 533f24a..1a989e7 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,130 @@ CHATAPI_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 # CHATAPI_TENCENTCLOUD_TEMPLATE_ID=100091 ``` -## 4. Nginx 反向代理示例 +# 基于手机端Termux的部署方案 +## 1.注意事项 +注意:请确保您的系统正常,并且使用了在Github或F-Droid下载的Termux或者国内打包版本ZeroTermux,请确保系统应当为64位(Arm64或aarch64) +以保证能正常运行和部署,通过以下命令可以查询自己设备的架构,为了更好更方便的管理,可以使用文件管理器,如MT管理器,遇到问题可以先将项目更新到最新版本 +或者询问AI,询问他人,为了避免豆包的疑惑行为,可以使用其他ai(如:DeepSeek,Qwen[千问]),如果遇到实在的bug请报告给创作者 +```bash +uname -m +``` +输出数据根据以下查看,应当输出aarch64才满足条件 +aarch64 说明:64位 ARM(ARMv8-A 或更高) +armv7l 或 armv8l 说明:32位 ARM(ARMv7-A 或兼容) +x86_64 说明:64位 x86 架构(Intel/AMD) +i686 或 i386 说明:32位 x86 架构 +riscv64 说明:RISC-V 64位架构 +至少Android 5以上,最好Android 12以上 + +注意:本项目本身还是基于电脑端的没有手机端的优化支持,但目前还是可以在手机端上运行的,还有请确保您已更新termux的相关文件已更新最新 +现在先来准备工作,输入以下指令,安装一些依赖等等 +## 2.准备工作 +```bash +termux-setup-storage #给文件权限 +termux-change-repo #更换镜像源,步骤:ok,↓↓,ok,等待跑完,反正就选中国(Chinese) +pkg update && pkg upgrade -y #更新一下 +pkg install -y git wget curl vim binutils clang make pkg-config #安装一些必备依赖 +pkg install -y python python-pip build-essential +pkg install -y libjpeg-turbo libpng freetype harfbuzz libtiff libwebp openjpeg +pip install uv +uname -m #再看一眼架构 +pkg install -y nodejs #安装不可或缺的东西 +node --version && npm --version #验证一下安装 +``` + +## 3.正式部署 +### 无需 Nginx 一键部署 +#### 下载项目+构建前端 + +```bash +cd ~/ +git clone https://github.com/zyf2007/ChatAPI.git +cd ChatAPI +cd frontend +npm i +npm run build +``` + +首页默认显示当前访问来源作为 API 基址;如需在构建时指定其他基址,可在构建前设置 `VITE_HOMEPAGE_API_BASE_URL`。 + +## 4. 配置环境变量 + +先复制配置模板: + +```bash +cd ~/ChatAPI/backend +cp .env.example .env +``` + +至少需要修改以下配置: + +```env +CHATAPI_USERNAME=admin #用户名(管理员名称) +CHATAPI_PASSWORD=change-me #用户密码(管理员密码) +# 可选;如果不填,后端会在首次启动时自动生成并写入数据库配置表 +# CHATAPI_SESSION_SECRET=change-this-session-secret +``` + +如果部署配置保存在项目目录之外,可以设置外部 env 文件路径: + +```env +CHATAPI_ENV_FILE=/path/to/chatapi.env +``` + +外部 env 文件与项目内 `.env` 使用相同格式,已存在的进程环境变量不会被文件中的值覆盖。 + +建议同时确认以下配置: + +```env +CHATAPI_DB_PATH=./data/chatapi.sqlite3 +CHATAPI_DATA_DIR=./data +CHATAPI_HOST=0.0.0.0 +CHATAPI_PORT=5000 +CHATAPI_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 +``` + +登录后可以在「系统设置」里启用并保存 `API Key`、站点标题、ntfy 地址、消息限流和 TOTP,这些不再需要放在 `.env` 里。 + +可选配置: + +```env +# 直接让 Flask 对外托管前端静态文件(例如 Vite build 后的 dist) +# CHATAPI_WEB_DIST_DIR=./frontend/dist + +# 直接由 Flask 提供 HTTPS 时使用 +# CHATAPI_TLS_CERT_FILE=./certs/server.crt +# CHATAPI_TLS_KEY_FILE=./certs/server.key + +# 邮件发送可选配置: +# CHATAPI_EMAIL_FROM=noreply@kirari.fun +# CHATAPI_SMTP_HOST=smtp.example.com +# CHATAPI_RESEND_API_KEY=re_xxxxxxxxx +# CHATAPI_BREVO_API_KEY=YOUR_BREVO_API_KEY +# CHATAPI_TENCENTCLOUD_SECRET_ID=AKIDxxxxxxxxxxxxxxxx +# CHATAPI_TENCENTCLOUD_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +# CHATAPI_TENCENTCLOUD_SES_REGION=ap-guangzhou +# 普通 SES 账号还需要模板 ID;模板数据会由程序动态生成。 +# CHATAPI_TENCENTCLOUD_TEMPLATE_ID=100091 +``` +## 5.启动服务(两个都要) +#### 启动后端 + +```bash +cd ~/ChatAPI/backend +uv sync +uv run main.py +``` + +#### 启动前端(需要后端) +由于需要同时启动,所以需要新建一个会话,两个会话要分别运行后端和前端,前端主要提供了用于管理的网页 +```bash +cd ~/ChatAPI/frontend +npm i +npm run dev +``` + +## Nginx 反向代理示例 以下示例假设: @@ -183,7 +306,7 @@ CHATAPI_WEB_DIST_DIR=./frontend/dist -调用示例: +## 调用示例: ```bash curl https://127.0.0.1:5000/v1/responses \ From bae8548dcfd1995c0d2c84381587d23f97825a7a Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sun, 24 May 2026 09:51:31 +0800 Subject: [PATCH 2/6] Update README.md --- README.md | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/README.md b/README.md index 1a989e7..e0d7e32 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,110 @@ cd ~/ChatAPI/frontend npm i npm run dev ``` +## 6.Termux 专用服务管理方案 + +#### 方案一:使用 tmux 管理多会话(推荐) + +##### 安装 tmux +```bash +pkg install tmux -y +``` + +##### 创建后端会话 +```bash +tmux new -s chatapi-backend +cd ~/ChatAPI/backend +uv run main.py +``` +Ctrl+B, D 分离会话 + +##### 创建前端会话 +```bash +tmux new -s chatapi-frontend +cd ~/ChatAPI/frontend +npm run dev -- --host 0.0.0.0 +``` +Ctrl+B, D 分离会话 + +##### 查看运行中会话 +```bash +tmux ls +``` + +##### 重新附着会话 +```bash +tmux attach -t chatapi-backend +``` + +#### 方案二:使用 nohup 后台运行 + +##### 后端 +```bash +cd ~/ChatAPI/backend +nohup uv run main.py > backend.log 2>&1 & +``` + +##### 前端 +```bash +cd ~/ChatAPI/frontend +nohup npm run dev -- --host 0.0.0.0 > frontend.log 2>&1 & +``` + +#### 开机自启(需安装 Termux:Boot 插件) + +1. 安装 Termux:Boot 插件/[(ZT)Termux:Boot] +2. 创建自启脚本 ~/.termux/boot/start-chatapi.sh: + +```bash +#!/data/data/com.termux/files/usr/bin/bash +cd ~/ChatAPI/backend +nohup uv run main.py > backend.log 2>&1 & +sleep 3 +cd ~/ChatAPI/frontend +nohup npm run dev -- --host 0.0.0.0 > frontend.log 2>&1 & +``` + +赋予执行权限: +```bash +chmod +x ~/.termux/boot/start-chatapi.sh +``` + +3.4 公网访问方案 + +Termux 中的服务通常运行在局域网中,如需公网访问,可使用以下内网穿透工具: + +```bash +# 使用 cloudflared(Cloudflare Tunnel) +pkg install cloudflared -y +cloudflared tunnel --url http://localhost:5000 + +# 或使用 ngrok(需要注册获取 token) +pkg install wget -y +wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm64.tgz +tar xzf ngrok-v3-stable-linux-arm64.tgz +./ngrok config add-authtoken YOUR_TOKEN +./ngrok http 5000 +``` + +四、安全增强建议 + +4.1 账户安全策略 + +1. 修改默认管理员密码:部署后立即修改 CHATAPI_PASSWORD,避免使用弱密码。 +2. 启用 TOTP 两步验证:在 Web 控制台的「系统设置」中启用 TOTP,配合 Google Authenticator 等认证器使用。TOTP 密钥应安全存储在数据库中。 +3. 启用 API Key 认证:为 API 调用启用 Bearer Token 认证,调用时需携带 Authorization: Bearer 头。 +4. 启用消息限流:在系统设置中配置请求限流策略,防止滥用。 + +4.2 网络安全配置 + +· 生产环境使用 HTTPS:强烈建议使用 Nginx 反向代理 + Let's Encrypt 免费证书 +· 限制 CORS 来源:仅允许必要的域名,避免使用通配符 +· 配置防火墙:Termux 中可使用 iptables 或 nftables 限制访问来源 IP + +4.3 敏感信息管理 + +· 登录后在 Web 控制台启用并保存 API Key、站点标题、ntfy 地址和 TOTP,这些配置不应放在 .env 文件中 +· SESSION_SECRET 若不填写,后端会在首次启动时自动生成并写入数据库配置表 ## Nginx 反向代理示例 From 8c9b67ca99d0507e3ed966c742231287c8244a95 Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sun, 24 May 2026 09:55:53 +0800 Subject: [PATCH 3/6] Update README.md --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e0d7e32..0bf3ca2 100644 --- a/README.md +++ b/README.md @@ -319,16 +319,18 @@ nohup npm run dev -- --host 0.0.0.0 > frontend.log 2>&1 & chmod +x ~/.termux/boot/start-chatapi.sh ``` -3.4 公网访问方案 +## 7.公网访问方案 Termux 中的服务通常运行在局域网中,如需公网访问,可使用以下内网穿透工具: +##### 使用 cloudflared(Cloudflare Tunnel) ```bash -# 使用 cloudflared(Cloudflare Tunnel) pkg install cloudflared -y cloudflared tunnel --url http://localhost:5000 +``` -# 或使用 ngrok(需要注册获取 token) +##### 或使用 ngrok(需要注册获取 token) +```bash pkg install wget -y wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm64.tgz tar xzf ngrok-v3-stable-linux-arm64.tgz @@ -336,14 +338,14 @@ tar xzf ngrok-v3-stable-linux-arm64.tgz ./ngrok http 5000 ``` -四、安全增强建议 +## 8.安全增强建议 -4.1 账户安全策略 +##### 8.1账户安全策略 1. 修改默认管理员密码:部署后立即修改 CHATAPI_PASSWORD,避免使用弱密码。 2. 启用 TOTP 两步验证:在 Web 控制台的「系统设置」中启用 TOTP,配合 Google Authenticator 等认证器使用。TOTP 密钥应安全存储在数据库中。 3. 启用 API Key 认证:为 API 调用启用 Bearer Token 认证,调用时需携带 Authorization: Bearer 头。 -4. 启用消息限流:在系统设置中配置请求限流策略,防止滥用。 +```4. 启用消息限流:在系统设置中配置请求限流策略,防止滥用。 4.2 网络安全配置 From 2fa62bf07581bf9db2ac137bc4ba7b3c3c974ac6 Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sun, 24 May 2026 10:52:48 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新了大量,增加了更多详细的Termux方案 --- README.md | 132 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 112 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0bf3ca2..da36581 100644 --- a/README.md +++ b/README.md @@ -131,18 +131,18 @@ CHATAPI_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 # 基于手机端Termux的部署方案 ## 1.注意事项 -注意:请确保您的系统正常,并且使用了在Github或F-Droid下载的Termux或者国内打包版本ZeroTermux,请确保系统应当为64位(Arm64或aarch64) -以保证能正常运行和部署,通过以下命令可以查询自己设备的架构,为了更好更方便的管理,可以使用文件管理器,如MT管理器,遇到问题可以先将项目更新到最新版本 +注意:请确保您的系统正常,并且使用了在Github或F-Droid下载的[[Termux](https://github.com/termux/termux-app/releases)]或者国内打包版本[[ZeroTermux](https://github.com/hanxinhao000/ZeroTermux/releases)],请确保系统应当为64位(Arm64或aarch64) +以保证能正常运行和部署,通过以下命令可以查询自己设备的架构,为了更好更方便的管理,可以使用文件管理器,如[[MT管理器](https://mt2.cn/download/)],遇到问题可以先将项目更新到最新版本 或者询问AI,询问他人,为了避免豆包的疑惑行为,可以使用其他ai(如:DeepSeek,Qwen[千问]),如果遇到实在的bug请报告给创作者 ```bash uname -m ``` 输出数据根据以下查看,应当输出aarch64才满足条件 -aarch64 说明:64位 ARM(ARMv8-A 或更高) -armv7l 或 armv8l 说明:32位 ARM(ARMv7-A 或兼容) -x86_64 说明:64位 x86 架构(Intel/AMD) -i686 或 i386 说明:32位 x86 架构 -riscv64 说明:RISC-V 64位架构 +###### aarch64 说明:64位 ARM(ARMv8-A 或更高) +###### armv7l 或 armv8l 说明:32位 ARM(ARMv7-A 或兼容) +###### x86_64 说明:64位 x86 架构(Intel/AMD) +###### i686 或 i386 说明:32位 x86 架构 +###### riscv64 说明:RISC-V 64位架构 至少Android 5以上,最好Android 12以上 注意:本项目本身还是基于电脑端的没有手机端的优化支持,但目前还是可以在手机端上运行的,还有请确保您已更新termux的相关文件已更新最新 @@ -167,7 +167,7 @@ node --version && npm --version #验证一下安装 ```bash cd ~/ -git clone https://github.com/zyf2007/ChatAPI.git +git clone https://github.com/zyf2007/ChatAPI.git #Github无法正确访问下载,请看下[其他所需] cd ChatAPI cd frontend npm i @@ -340,23 +340,115 @@ tar xzf ngrok-v3-stable-linux-arm64.tgz ## 8.安全增强建议 -##### 8.1账户安全策略 +#### 8.1账户安全策略 -1. 修改默认管理员密码:部署后立即修改 CHATAPI_PASSWORD,避免使用弱密码。 -2. 启用 TOTP 两步验证:在 Web 控制台的「系统设置」中启用 TOTP,配合 Google Authenticator 等认证器使用。TOTP 密钥应安全存储在数据库中。 -3. 启用 API Key 认证:为 API 调用启用 Bearer Token 认证,调用时需携带 Authorization: Bearer 头。 -```4. 启用消息限流:在系统设置中配置请求限流策略,防止滥用。 +1.修改默认管理员密码:部署后立即修改 CHATAPI_PASSWORD,避免使用弱密码。 -4.2 网络安全配置 +2.启用 TOTP 两步验证:在 Web 控制台的「系统设置」中启用 TOTP,配合 Google Authenticator 等认证器使用。TOTP 密钥应安全存储在数据库中。 -· 生产环境使用 HTTPS:强烈建议使用 Nginx 反向代理 + Let's Encrypt 免费证书 -· 限制 CORS 来源:仅允许必要的域名,避免使用通配符 -· 配置防火墙:Termux 中可使用 iptables 或 nftables 限制访问来源 IP +3.启用 API Key 认证:为 API 调用启用 Bearer Token 认证,调用时需携带 Authorization: Bearer 头。 -4.3 敏感信息管理 +4.启用消息限流:在系统设置中配置请求限流策略,防止滥用。 -· 登录后在 Web 控制台启用并保存 API Key、站点标题、ntfy 地址和 TOTP,这些配置不应放在 .env 文件中 -· SESSION_SECRET 若不填写,后端会在首次启动时自动生成并写入数据库配置表 +#### 8.2网络安全配置 + +1.生产环境使用 HTTPS:强烈建议使用 Nginx 反向代理 + Let's Encrypt 免费证书 + +2.限制 CORS 来源:仅允许必要的域名,避免使用通配符 + +3.配置防火墙:Termux 中可使用 iptables 或 nftables 限制访问来源 IP + +#### 8.3敏感信息管理 + +1.登录后在 Web 控制台启用并保存 API Key、站点标题、ntfy 地址和 TOTP,这些配置不应放在 .env 文件中 + +2.SESSION_SECRET 若不填写,后端会在首次启动时自动生成并写入数据库配置表 + + +## Termux常见问题排查 + +###### Q1:数据库锁错误(database is locked) + +原因:SQLite 在高并发写入时可能发生锁冲突。 + +解决方案: + + 1.启用 WAL 模式(?journal_mode=WAL) + + 2.使用连接池限制并发连接数 + + 3.将繁忙写入操作包装在事务中 + +###### Q2:Session Secret 相关错误 + +原因:未在 .env 中配置 CHATAPI_SESSION_SECRET。 + +解决方案:留空即可,后端会在首次启动时自动生成并写入数据库配置表。若需手动指定,建议使用高熵随机字符串。 + +###### Q3:邮件发送失败 + +检查项: + + 1.SMTP 服务器地址和端口是否正确 + + 2.是否启用了 SMTP 认证(部分服务商需要) + + 3.发件人邮箱是否经过验证 + + 4.使用第三方 API(如 Resend、腾讯云 SES)时,API Key 是否有效且权限正确。Resend 建议权限设置为“仅发送”,以降低泄露风险。 + +###### Q4:Termux 中 Node.js 构建前端失败 + +解决方案: + 1.增加 swap 空间:dd if=/dev/zero of=$PREFIX/swapfile bs=1M count=1024 && chmod 600 $PREFIX/swapfile && mkswap + $PREFIX/swapfile && swapon $PREFIX/swapfile + + 2.使用 npm run build 前确保内存充足(建议 1GB 以上可用 RAM) + +## 通过Github下载所需 +默认为最新版本,如果您的设备不支持请自行寻找适配版本下载 +[[ZeroTermux‖0.118.3.58‖全架构](https://github.com/hanxinhao000/ZeroTermux/releases/download/ZeroTermux-0.118.3.58/ZeroTermux-ZeroTermux-0.118.3.58_release_universal.apk)] + +[[Termux‖V0.119.0-beta3‖全架构](https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk)] + +## 通过下载站下载所需 +默认为最新版本,如果您的设备不支持请自行寻找适配版本下载 +使用下载站:[[gh-proxy](https://gh-proxy.com/)],Cloudflare +### Termux +[[Termux‖V0.119.0-beta3‖全架构](https://gh-proxy.org/https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk)]主站加速,全球高速分发 + +[[Termux‖V0.119.0-beta3‖全架构](https://v4.gh-proxy.org/https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk)]优选加速服务器,仅支持IPv4 网络智能解析 + +[[Termux‖V0.119.0-beta3‖全架构](https://v6.gh-proxy.org/https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk)]优选加速服务器,支持 IPv6/IPv4 网络智能解析 + +### ZeroTermux +[[ZeroTermux‖0.118.3.58‖全架构](https://gh-proxy.org/https://github.com/hanxinhao000/ZeroTermux/releases/download/ZeroTermux-0.118.3.58/ZeroTermux-ZeroTermux-0.118.3.58_release_universal.apk)]主站加速,全球高速分发 + +[[ZeroTermux‖0.118.3.58‖全架构](https://v4.gh-proxy.org/https://github.com/hanxinhao000/ZeroTermux/releases/download/ZeroTermux-0.118.3.58/ZeroTermux-ZeroTermux-0.118.3.58_release_universal.apk)]优选加速服务器,仅支持IPv4 网络智能解析 + +[[ZeroTermux‖0.118.3.58‖全架构](https://v6.gh-proxy.org/https://github.com/hanxinhao000/ZeroTermux/releases/download/ZeroTermux-0.118.3.58/ZeroTermux-ZeroTermux-0.118.3.58_release_universal.apk)]优选加速服务器,支持 IPv6/IPv4 网络智能解析 + +## 其他所需 +国内软件使用国内通道,Github相关使用[[下载站](https://gh-proxy.com/)],默认为最新版本,如果您的设备不支持请自行寻找适配版本下载 +### 克隆本项目(下载站) +##### 主站加速,全球高速分发 +```bash +git clone https://gh-proxy.org/https://github.com/zyf2007/ChatAPI.git +``` +##### 优选加速服务器,仅支持IPv4 网络智能解析 +```bash +git clone https://v4.gh-proxy.org/https://github.com/zyf2007/ChatAPI.git +``` +##### 优选加速服务器,支持 IPv6/IPv4 网络智能解析 +```bash +git clone https://v6.gh-proxy.org/https://github.com/zyf2007/ChatAPI.git +``` + +### MT管理器 +[[MT管理器](https://pan.mt2.cn/apk/26040964)] + +### MT管理器代替版[NP管理器] +[[NP管理器](http://normalplayer.top:8991/member/view/fileDownload/NP.apk)] ## Nginx 反向代理示例 From 7221094a966874095f40e4622f5ab8798f7d2d4e Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sun, 24 May 2026 13:04:18 +0800 Subject: [PATCH 5/6] Update README.md --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index da36581..b6ddc38 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,23 @@ tar xzf ngrok-v3-stable-linux-arm64.tgz 2.SESSION_SECRET 若不填写,后端会在首次启动时自动生成并写入数据库配置表 +## 消息推送地址安全设置 + +ChatAPI 支持通过 ntfy 发送消息通知。用户可以在「我的设置」中填写 ntfy 推送地址。 + +### Q:什么时候需要修改「消息推送地址」? + +大多数情况下保持默认「关闭」即可。只有自建 ntfy 和 ChatAPI 在同一台机器、同一个内网或私有网络里时,才需要开启,例如 `http://127.0.0.1:8080/topic` 或 `http://192.168.1.10:8080/topic`。 + +如果使用官方 `https://ntfy.sh/your-topic`,或自建 ntfy 使用公网域名,例如 `https://ntfy.example.com/topic`,都不需要修改。 + +三个选项含义: + +- 关闭:所有用户都不能填写本机或内网推送地址。 +- 仅管理员:只有管理员可以填写本机或内网推送地址。 +- 所有用户:所有登录用户都可以填写本机或内网推送地址。 + +推荐优先使用「仅管理员」,只在完全信任所有用户时选择「所有用户」。默认关闭是为了防止用户通过推送地址让服务器访问 `127.0.0.1`、`localhost`、内网 IP 或云 metadata 地址,造成 SSRF 风险。 ## Termux常见问题排查 From ef804186df36cb93f2677e0a0253831edbd13022 Mon Sep 17 00:00:00 2001 From: Jin-Jun <287124367+MN-LKs@users.noreply.github.com> Date: Sun, 24 May 2026 13:54:34 +0800 Subject: [PATCH 6/6] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b6ddc38..01b934b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # ChatAPI +[English](EN-README.md) | [简体中文](README.md) | [繁體中文](Zh-Hant-README.md) + [[Telegram](https://t.me/hutao_space)] | [[LinuxDO](https://linux.do/u/hutao)] | [[BiliBili](https://www.bilibili.com/video/BV11PLg6LEbB)] 本项目是一个让 各类 AI 客户端用 OpenAI Responses 风格接口调用人类的项目,并带有一个 Web 控制台界面,可以帮你组装 Tool Calling 请求,或设置自动回复规则。 通过这个项目,你可以让别人把你配置到 Agent 或 聊天机器人中,然后自己扮演 AI 助手被调用。 @@ -167,13 +169,13 @@ node --version && npm --version #验证一下安装 ```bash cd ~/ -git clone https://github.com/zyf2007/ChatAPI.git #Github无法正确访问下载,请看下[其他所需] +git clone https://github.com/zyf2007/ChatAPI.git cd ChatAPI cd frontend npm i npm run build ``` - +无法正确访问到Github,请看[[其他所需](https://github.com/MN-LKs/ChatAPI/edit/patch-1/README.md?pr=/zyf2007/ChatAPI/pull/17#%E5%85%B6%E4%BB%96%E6%89%80%E9%9C%80)] 首页默认显示当前访问来源作为 API 基址;如需在构建时指定其他基址,可在构建前设置 `VITE_HOMEPAGE_API_BASE_URL`。 ## 4. 配置环境变量