nomid2 commited on
Commit
d490dae
·
verified ·
1 Parent(s): 2de6ea0

Upload 4 files

Browse files
Files changed (4) hide show
  1. .env.example +21 -0
  2. Dockerfile +27 -17
  3. README.md +147 -13
  4. package.json +2 -1
.env.example ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 服务端口
2
+ PORT=3000
3
+
4
+ # Mammouth账号Cookie(多个账号用逗号分隔)
5
+ COOKIES=your_mammouth_cookies_here
6
+
7
+ # API认证密钥
8
+ AUTH_TOKEN=sk-your-auth-token-here
9
+
10
+ # Imgbb图床API密钥
11
+ IMGBB_API_KEY=78f0c4360135e80c46b24b44e1e20a20
12
+
13
+ # 图片处理配置
14
+ # 最大图片尺寸(像素)
15
+ IMAGE_MAX_SIZE=8000
16
+
17
+ # 图片裁切重叠像素数
18
+ IMAGE_OVERLAP_PIXELS=75
19
+
20
+ # 是否使用Imgbb图床(true/false)
21
+ USE_IMGBB=true
Dockerfile CHANGED
@@ -1,17 +1,27 @@
1
- FROM node:18-alpine
2
-
3
- WORKDIR /app
4
-
5
- # 复制依赖文件并安装
6
- COPY package*.json ./
7
- RUN npm install
8
-
9
- # 复制源代码
10
- COPY . .
11
-
12
- # Hugging Face Spaces 标准端口
13
- ENV PORT=7860
14
-
15
- EXPOSE 7860
16
-
17
- CMD ["npm", "start"]
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:lts-alpine
2
+
3
+ # 安装Sharp所需的系统依赖
4
+ RUN apk add --no-cache \
5
+ vips-dev \
6
+ build-base \
7
+ python3 \
8
+ make \
9
+ g++
10
+
11
+ # 设置工作目录
12
+ WORKDIR /app
13
+
14
+ # 复制package.json和package-lock.json
15
+ COPY package*.json ./
16
+
17
+ # 安装依赖
18
+ RUN npm install
19
+
20
+ # 复制源代码
21
+ COPY . .
22
+
23
+ # 暴露端口
24
+ EXPOSE 3000
25
+
26
+ # 启动命令
27
+ CMD ["npm", "start"]
README.md CHANGED
@@ -1,13 +1,147 @@
1
- ---
2
- title: MammouthProxy
3
- emoji: 🚀
4
- colorFrom: blue
5
- colorTo: green
6
- sdk: docker
7
- app_port: 7860
8
- pinned: false
9
- suggested_hardware: cpu-basic
10
- suggested_storage: small
11
- ---
12
-
13
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Mamm Enhanced
3
+ emoji: 🖼️
4
+ colorFrom: blue
5
+ colorTo: gray
6
+ sdk: docker
7
+ pinned: false
8
+ app_port: 3000
9
+ ---
10
+
11
+ # 🚀 Mammouth API 代理服务 (增强版)
12
+
13
+ [![GitHub stars](https://img.shields.io/github/stars/rfym21/mammouth-proxy?style=social)](https://github.com/rfym21/mammouth-proxy) [![Docker Pulls](https://img.shields.io/docker/pulls/rfym21/mammouth-proxy)](https://hub.docker.com/r/rfym21/mammouth-proxy)
14
+
15
+ _一个强大的 API 代理服务,将 OpenAI 格式请求转发到 Mammouth AI 平台,支持智能大图片处理和外部图床存储_
16
+
17
+ ## ✨ 新增功能特点
18
+
19
+ ### 🖼️ **智能图片处理**
20
+ - **自动裁切**:超过8000x8000像素的大图片自动智能裁切
21
+ - **重叠区域**:裁切时添加50-100像素重叠,保持内容连续性
22
+ - **外部图床**:集成Imgbb图床,图片存储在外部,不占用本地空间
23
+ - **批量处理**:支持裁切后的多个图片片段按序上传和识别
24
+
25
+ ### 🔧 **原有功能**
26
+ - **OpenAI 兼容接口**:接收标准 OpenAI 格式的 API 请求
27
+ - **多模型支持**:支持 Claude、Grok、Gemini 和 GPT-4o-mini 等多种模型
28
+ - **流式响应**:支持 SSE 格式的流式响应处理与转发
29
+ - **API 认证**:内置 API 密钥验证机制
30
+ - **账号轮换**:自动在多个账号间轮换,解决使用限制问题
31
+
32
+ ## 🤖 支持的模型
33
+
34
+ | OpenAI 格式模型名称 | Mammouth 平台对应模型 | 稳定性 |
35
+ |-------------------|---------------------|-------|
36
+ | `claude-sonnet-4-20250514` | `anthropic-claude-4-2025-05-14` | 高 |
37
+ | `gpt-4o-mini` | `openai-gpt-4o-mini` | 中 |
38
+ | `o4-mini` | `openai-o4-mini` | 中 |
39
+ | `gemini-2.5-pro-preview-05-06` | `google-gemini-2.5-pro` | 高 |
40
+ | `grok-3` | `xai-grok-3-beta` | 低 |
41
+
42
+ ## ⚙️ 环境变量配置
43
+
44
+ ### 必需配置
45
+ ```bash
46
+ COOKIES=你的mammouth账号cookie(多个用逗号分隔)
47
+ AUTH_TOKEN=你的API认证密钥
48
+ ```
49
+
50
+ ### 可选配置(有默认值)
51
+ ```bash
52
+ # 服务端口
53
+ PORT=3000
54
+
55
+ # Imgbb图床API密钥
56
+ IMGBB_API_KEY=78f0c4360135e80c46b24b44e1e20a20
57
+
58
+ # 图片处理配置
59
+ IMAGE_MAX_SIZE=8000 # 最大图片尺寸(像素)
60
+ IMAGE_OVERLAP_PIXELS=75 # 裁切重叠像素数
61
+ USE_IMGBB=true # 是否使用Imgbb图床
62
+ ```
63
+
64
+ ## 🔍 Cookie 获取方法
65
+
66
+ 1. 登录 Mammouth 平台 (https://mammouth.ai)
67
+ 2. 打开浏览器开发者工具 (F12) 并切换到"应用"或"存储"选项卡
68
+ 3. 在 Cookies 中找到 `auth_session` 的值
69
+ 4. 复制该值并设置为环境变量
70
+
71
+ ## 📖 使用说明
72
+
73
+ ### 大图片处理示例
74
+
75
+ 当你上传一张超过8000x8000像素的图片时,系统会:
76
+
77
+ 1. **自动检测**图片尺寸
78
+ 2. **智能裁切**为多个8000x8000以内的片段
79
+ 3. **添加重叠**区域保持内容连续性
80
+ 4. **批量上传**到Imgbb图床
81
+ 5. **按序传递**给AI模型进行识别
82
+
83
+ ### API调用示例
84
+
85
+ ```bash
86
+ curl -X POST "https://your-space.hf.space/v1/chat/completions" \
87
+ -H "Authorization: Bearer your-auth-token" \
88
+ -H "Content-Type: application/json" \
89
+ -d '{
90
+ "model": "claude-sonnet-4-20250514",
91
+ "messages": [
92
+ {
93
+ "role": "user",
94
+ "content": [
95
+ {
96
+ "type": "text",
97
+ "text": "请分析这张图片"
98
+ },
99
+ {
100
+ "type": "image_url",
101
+ "image_url": {
102
+ "url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ..."
103
+ }
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ }'
109
+ ```
110
+
111
+ ## 🚀 部署到 Hugging Face
112
+
113
+ 1. 创建新的 Hugging Face Space,选择 Docker SDK
114
+ 2. 上传所有项目文件
115
+ 3. 在 Settings → Variables 中设置环境变量
116
+ 4. 等待自动构建完成
117
+
118
+ ## 💡 技术架构
119
+
120
+ - **Node.js + Express**:轻量级服务器框架
121
+ - **Sharp**:高性能图片处理库
122
+ - **Imgbb API**:外部图床服务
123
+ - **智能裁切算法**:保持内容连续性的图片分割
124
+ - **Docker Alpine**:优化的容器环境
125
+
126
+ ## 📝 更新日志
127
+
128
+ ### v2.2.0 (Enhanced)
129
+ - ✅ 新增智能大图片裁切功能
130
+ - ✅ 集成Imgbb外部图床
131
+ - ✅ 添加图片重叠区域处理
132
+ - ✅ 优化Docker构建支持Sharp
133
+ - ✅ 增强错误处理和重试机制
134
+
135
+ ### v2.1.0 (Original)
136
+ - ✅ OpenAI兼容接口
137
+ - ✅ 多模型支持
138
+ - ✅ 账号轮换机制
139
+ - ✅ 流式响应支持
140
+
141
+ ## 💬 交流与支持
142
+
143
+ [![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/nodejs_project)
144
+
145
+ ---
146
+
147
+ **注意**:本项目基于原版 [mammouth-proxy](https://github.com/rfym21/mammouth-proxy) 进行增强,添加了智能图片处理功能。
package.json CHANGED
@@ -17,6 +17,7 @@
17
  "express": "^5.1.0",
18
  "form-data": "^4.0.2",
19
  "nodemon": "^3.1.10",
20
- "uuid": "^11.1.0"
 
21
  }
22
  }
 
17
  "express": "^5.1.0",
18
  "form-data": "^4.0.2",
19
  "nodemon": "^3.1.10",
20
+ "uuid": "^11.1.0",
21
+ "sharp": "^0.33.0"
22
  }
23
  }