malt666 commited on
Commit
7a59454
·
verified ·
1 Parent(s): 71cac81

Upload 6 files

Browse files
Files changed (4) hide show
  1. Dockerfile +5 -27
  2. README.md +121 -121
  3. app.py +0 -0
  4. requirements.txt +0 -0
Dockerfile CHANGED
@@ -1,46 +1,24 @@
1
  FROM python:3.11-slim
2
 
3
- # 设置工作目录
4
- WORKDIR /app
5
 
6
- # 安装系统依赖
7
- RUN apt-get update && apt-get install -y \
8
- build-essential \
9
- curl \
10
- && rm -rf /var/lib/apt/lists/*
11
 
12
- # 复制依赖文件
13
  COPY requirements.txt .
 
14
 
15
- # 安装Python依赖
16
- RUN pip install --no-cache-dir --upgrade pip && \
17
- pip install --no-cache-dir -r requirements.txt
18
-
19
- # 复制应用代码
20
  COPY . .
21
 
22
  # 设置环境变量
23
  ENV HOST=0.0.0.0
24
  ENV PORT=7860
25
- ENV PYTHONUNBUFFERED=1
26
- ENV DEBIAN_FRONTEND=noninteractive
27
 
28
  # 删除敏感文件
29
  RUN rm -f config.json password.txt
30
 
31
- # 创建非root用户
32
- RUN useradd -m -u 1000 user && \
33
- chown -R user:user /app
34
-
35
- # 切换到非root用户
36
- USER user
37
-
38
  # 暴露端口(Hugging Face默认使用7860端口)
39
  EXPOSE 7860
40
 
41
- # 健康检查
42
- HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
43
- CMD curl -f http://localhost:7860/health || exit 1
44
-
45
  # 启动命令
46
- CMD ["python", "app.py"]
 
1
  FROM python:3.11-slim
2
 
3
+ # 设置用户为root
4
+ USER root
5
 
6
+ WORKDIR /app
 
 
 
 
7
 
 
8
  COPY requirements.txt .
9
+ RUN pip install --no-cache-dir -r requirements.txt
10
 
 
 
 
 
 
11
  COPY . .
12
 
13
  # 设置环境变量
14
  ENV HOST=0.0.0.0
15
  ENV PORT=7860
 
 
16
 
17
  # 删除敏感文件
18
  RUN rm -f config.json password.txt
19
 
 
 
 
 
 
 
 
20
  # 暴露端口(Hugging Face默认使用7860端口)
21
  EXPOSE 7860
22
 
 
 
 
 
23
  # 启动命令
24
+ CMD ["python", "app.py"]
README.md CHANGED
@@ -1,121 +1,121 @@
1
- ---
2
- title: Abacus Chat Proxy
3
- emoji: 🤖
4
- colorFrom: blue
5
- colorTo: purple
6
- sdk: docker
7
- sdk_version: "3.9"
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
13
-
14
- # Abacus Chat Proxy
15
-
16
- > 📢 本项目基于 [orbitoo/abacus_chat_proxy](https://github.com/orbitoo/abacus_chat_proxy) 改进
17
- >
18
- > 特别感谢 orbitoo 大佬提供的原始项目!
19
- >
20
- > 本项目增加了:Docker部署支持、Hugging Face一键部署、自动保活功能等
21
-
22
- 一个用于中转API请求的代理服务器。
23
-
24
- #### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
25
-
26
- [![Deploy to Hugging Face Spaces](https://huggingface.co/datasets/huggingface/badges/raw/main/deploy-to-spaces-lg.svg)](https://huggingface.co/spaces/malt666/abacus_chat_proxy?duplicate=true)
27
-
28
- ## ⚠️ 警告
29
-
30
- **本地部署方式已失效!**为了适配hugging face,本项目的本地部署方式已不再可用。目前只能通过Hugging Face Spaces部署来使用本代理服务。请使用下方的Hugging Face一键部署方法。
31
-
32
- ## 🚀 快速开始
33
-
34
- ### Hugging Face一键部署
35
-
36
- #### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
37
-
38
- 1. 点击上方的"Deploy to Hugging Face Spaces"按钮
39
- 2. 登录你的Hugging Face账号(如果还没有,需要注册一个)
40
- 3. 在弹出的页面中设置你的Space名称,注意创建space的时候把private改为public,因为不改为为public导致的错误别来找我
41
- 4. 创建完Space后,在Space的Settings -> Repository Secrets中添加以下配置:
42
- - `cookie_1`: 第一个cookie
43
- - `cookie_2`: 第二个cookie(如果有)
44
- - 以此类推...
45
- - `password`: (必填,最好超过8位数,不然被盗用api导致点数用光,损失自负)api调用密码,也是dashboard登录密码
46
- 5. 等待自动部署完成即可
47
- 6. 登录dashboard查看使用情况,space里面是没办法登录的,点击弹出的登录页面的小窗口提示“请点击 https://xyz-abacus-chat-proxy.hf.space 来登录并查看使用情况”的链接来登录,登录密码是你设置的password
48
- 7. **获取API链接**:部署成功后,网络的登录页面会显示api接口链接;或者你点击右上角的三个点按钮,在弹出的选项卡里面点击"Embed this Space",然后在弹出的"Embed this Space"界面里的"Direct URL"就是你的访问链接,你可以用这个链接调用API和查看使用情况
49
- 8. api调用:api调用的时候注意密钥填写你的password,不然没办法调用
50
- ### 本地运行(已失效)
51
-
52
- > ⚠️ 以下本地运行方法已失效,仅作参考。请使用Hugging Face部署方式。
53
-
54
- #### Windows用户
55
-
56
- 1. 双击运行 `start.bat`
57
- 2. 首次运行选择 `0` 进行配置
58
- 3. 配置完成后选择 `Y` 直接启动,或 `N` 返回菜单
59
- 4. 之后可直接选择 `1` 启动代理
60
- 5. 代理服务器默认运行在 `http://127.0.0.1:9876/`
61
-
62
- #### Linux/macOS用户
63
-
64
- ```bash
65
- # 赋予脚本执行权限
66
- chmod +x start.sh
67
-
68
- # 运行脚本
69
- ./start.sh
70
- ```
71
-
72
- 选项说明同Windows。
73
-
74
- ### 🌐 Hugging Face部署
75
-
76
- 1. Fork本仓库到你的GitHub账号
77
- 2. 在Hugging Face上创建新的Space(选择Docker类型)
78
- 3. 在Space的设置中连接你的GitHub仓库
79
- 4. 在Space的设置中添加以下Secrets:
80
- - 第1组配置:
81
- - `cookie_1`: 第1个cookies字符串
82
- - 第2组配置(如果需要):
83
- - `cookie_2`: 第2个cookies字符串
84
- - 更多配置以此类推(`cookie_3`...)
85
- - `password`: (可选)访问密码
86
- 5. Space会自动部署,服务将在 `https://你的空间名-你的用户名.hf.space` 上运行
87
-
88
- ## ⚙️ 环境要求
89
-
90
- - Python 3.8+
91
- - pip
92
-
93
- ## 📦 依赖
94
-
95
- ```bash
96
- Flask==3.1.0
97
- requests==2.32.3
98
- PyJWT==2.8.0
99
- ```
100
-
101
- ## 📝 配置说明
102
-
103
- ### 本地配置
104
-
105
- 首次运行时,请选择 `0` 进行配置,按照提示填写相关信息。配置文件将保存在 `config.json` 中。
106
-
107
- ### 环境变量配置
108
-
109
- 在Docker或云平台部署时,需要配置以下环境变量:
110
-
111
- - 必需的配置(至少需要一组):
112
- - `cookie_1`: 第1组配置
113
- - `cookie_2`: 第2组配置(可选)
114
- - 以此类推...
115
- - 可选配置:
116
- - `password`: 访问密码
117
-
118
- ## 🔒 安全说明
119
-
120
- - 建议在部署到Hugging Face时设置访问密码
121
- - 在Hugging Face上配置时,请使用Secrets来存储敏感信息
 
1
+ ---
2
+ title: Abacus Chat Proxy
3
+ emoji: 🤖
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: docker
7
+ sdk_version: "3.9"
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
+
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
13
+
14
+ # Abacus Chat Proxy
15
+
16
+ > 📢 本项目基于 [orbitoo/abacus_chat_proxy](https://github.com/orbitoo/abacus_chat_proxy) 改进
17
+ >
18
+ > 特别感谢 orbitoo 大佬提供的原始项目!
19
+ >
20
+ > 本项目增加了:Docker部署支持、Hugging Face一键部署、自动保活功能等
21
+
22
+ 一个��于中转API请求的代理服务器。
23
+
24
+ #### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
25
+
26
+ [![Deploy to Hugging Face Spaces](https://huggingface.co/datasets/huggingface/badges/raw/main/deploy-to-spaces-lg.svg)](https://huggingface.co/spaces/malt666/abacus_chat_proxy?duplicate=true)
27
+
28
+ ## ⚠️ 警告
29
+
30
+ **本地部署方式已失效!**为了适配hugging face,本项目的本地部署方式已不再可用。目前只能通过Hugging Face Spaces部署来使用本代理服务。请使用下方的Hugging Face一键部署方法。
31
+
32
+ ## 🚀 快速开始
33
+
34
+ ### Hugging Face一键部署
35
+
36
+ #### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
37
+
38
+ 1. 点击上方的"Deploy to Hugging Face Spaces"按钮
39
+ 2. 登录你的Hugging Face账号(如果还没有,需要注册一个)
40
+ 3. 在弹出的页面中设置你的Space名称,注意创建space的时候把private改为public,因为不改为为public导致的错误别来找我
41
+ 4. 创建完Space后,在Space的Settings -> Repository Secrets中添加以下配置:
42
+ - `cookie_1`: 第一个cookie
43
+ - `cookie_2`: 第二个cookie(如果有)
44
+ - 以此类推...
45
+ - `password`: (必填,最好超过8位数,不然被盗用api导致点数用光,损失自负)api调用密码,也是dashboard登录密码
46
+ 5. 等待自动部署完成即可
47
+ 6. 登录dashboard查看使用情况,space里面是没办法登录的,点击弹出的登录页面的小窗口提示“请点击 https://xyz-abacus-chat-proxy.hf.space 来登录并查看使用情况”的链接来登录,登录密码是你设置的password
48
+ 7. **获取API链接**:部署成功后,网络的登录页面会显示api接口链接;或者你点击右上角的三个点按钮,在弹出的选项卡里面点击"Embed this Space",然后在弹出的"Embed this Space"界面里的"Direct URL"就是你的访问链接,你可以用这个链接调用API和查看使用情况
49
+ 8. api调用:api调用的时候注意密钥填写你的password,不然没办法调用
50
+ ### 本地运行(已失效)
51
+
52
+ > ⚠️ 以下本地运行方法已失效,仅作参考。请使用Hugging Face部署方式。
53
+
54
+ #### Windows用户
55
+
56
+ 1. 双击运行 `start.bat`
57
+ 2. 首次运行选择 `0` 进行配置
58
+ 3. 配置完成后选择 `Y` 直接启动,或 `N` 返回菜单
59
+ 4. 之后可直接选择 `1` 启动代理
60
+ 5. 代理服务器默认运行在 `http://127.0.0.1:9876/`
61
+
62
+ #### Linux/macOS用户
63
+
64
+ ```bash
65
+ # 赋予脚本执行权限
66
+ chmod +x start.sh
67
+
68
+ # 运行脚本
69
+ ./start.sh
70
+ ```
71
+
72
+ 选项说明同Windows。
73
+
74
+ ### 🌐 Hugging Face部署
75
+
76
+ 1. Fork本仓库到你的GitHub账号
77
+ 2. 在Hugging Face上创建新的Space(选择Docker类型)
78
+ 3. 在Space的设置中连接你的GitHub仓库
79
+ 4. 在Space的设置中添加以下Secrets:
80
+ - 第1组配置:
81
+ - `cookie_1`: 第1个cookies字符串
82
+ - 第2组配置(如果需要):
83
+ - `cookie_2`: 第2个cookies字符串
84
+ - 更多配置以此类推(`cookie_3`...)
85
+ - `password`: (可选)访问密码
86
+ 5. Space会自动部署,服务将在 `https://你的空间名-你的用户名.hf.space` 上运行
87
+
88
+ ## ⚙️ 环境要求
89
+
90
+ - Python 3.8+
91
+ - pip
92
+
93
+ ## 📦 依赖
94
+
95
+ ```bash
96
+ Flask==3.1.0
97
+ requests==2.32.3
98
+ PyJWT==2.8.0
99
+ ```
100
+
101
+ ## 📝 配置说明
102
+
103
+ ### 本地配置
104
+
105
+ 首次运行时,请选择 `0` 进行配置,按照提示填写相关信息。配置文件将保存在 `config.json` 中。
106
+
107
+ ### 环境变量配置
108
+
109
+ 在Docker或云平台部署时,需要配置以下环境变量:
110
+
111
+ - 必需的配置(至少需要一组):
112
+ - `cookie_1`: 第1组配置
113
+ - `cookie_2`: 第2组配置(可选)
114
+ - 以此类推...
115
+ - 可选配置:
116
+ - `password`: 访问密码
117
+
118
+ ## 🔒 安全说明
119
+
120
+ - 建议在部署到Hugging Face时设置访问密码
121
+ - 在Hugging Face上配置时,请使用Secrets来存储敏感信息
app.py CHANGED
The diff for this file is too large to render. See raw diff
 
requirements.txt CHANGED
Binary files a/requirements.txt and b/requirements.txt differ