Skip to content

Commit a3676b5

Browse files
committed
factory-proxy改为factory-proxy-openai
factory-proxy改为factory-proxy-openai
1 parent 22fef78 commit a3676b5

13 files changed

Lines changed: 277 additions & 99 deletions

.github/workflows/ci.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
name: codecov-umbrella
4747

4848
- name: Build (Anthropic mode)
49-
run: go build -v -o factory-proxy .
49+
run: go build -v -o factory-proxy-openai .
5050

5151
- name: Build (OpenAI mode)
5252
run: go build -v -tags openai -o factory-proxy-openai .
@@ -74,30 +74,30 @@ jobs:
7474
- name: Build binaries
7575
run: |
7676
# Linux AMD64
77-
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-linux-amd64 .
77+
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-openai-linux-amd64 .
7878
GOOS=linux GOARCH=amd64 go build -tags openai -ldflags="-s -w" -o factory-proxy-openai-linux-amd64 .
7979
8080
# Linux ARM64
81-
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o factory-proxy-linux-arm64 .
81+
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o factory-proxy-openai-linux-arm64 .
8282
GOOS=linux GOARCH=arm64 go build -tags openai -ldflags="-s -w" -o factory-proxy-openai-linux-arm64 .
8383
8484
# macOS AMD64
85-
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-darwin-amd64 .
85+
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-openai-darwin-amd64 .
8686
GOOS=darwin GOARCH=amd64 go build -tags openai -ldflags="-s -w" -o factory-proxy-openai-darwin-amd64 .
8787
8888
# macOS ARM64
89-
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o factory-proxy-darwin-arm64 .
89+
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o factory-proxy-openai-darwin-arm64 .
9090
GOOS=darwin GOARCH=arm64 go build -tags openai -ldflags="-s -w" -o factory-proxy-openai-darwin-arm64 .
9191
9292
# Windows AMD64
93-
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-windows-amd64.exe .
93+
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-openai-windows-amd64.exe .
9494
GOOS=windows GOARCH=amd64 go build -tags openai -ldflags="-s -w" -o factory-proxy-openai-windows-amd64.exe .
9595
9696
- name: Create Release
9797
uses: softprops/action-gh-release@v1
9898
with:
9999
files: |
100-
factory-proxy-*
100+
factory-proxy-openai-*
101101
draft: false
102102
prerelease: false
103103
env:

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Binaries
2-
factory-proxy
2+
factory-proxy-openai
33
factory-proxy-openai
44
*.exe
55
*.exe~

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
- **修复 Docker 构建失败** - 解决 `docker compose up -d` 时找不到 `main-openai.go` 文件的问题
2020
- 修正 [`Dockerfile`](Dockerfile:19) 复制文件路径,使用实际存在的 [`main_multimodel.go`](main_multimodel.go:1)
2121
- 添加必要的配置文件和目录复制:`config/`, `transformers/`, `config.json`, `docs.html`
22-
- 统一两个运行阶段的二进制文件为 `factory-proxy`
22+
- 统一两个运行阶段的二进制文件为 `factory-proxy-openai`
2323
- 更新 [`docker-compose.yml`](docker-compose.yml:1) 环境变量配置,使用 `FACTORY_API_KEY``PROXY_API_KEY`
2424

2525
### 📚 文档

Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ COPY config.json ./
2323
COPY docs.html ./
2424

2525
# 构建应用
26-
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy main_multimodel.go
26+
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o factory-proxy-openai main_multimodel.go
2727

2828
# 第二阶段:运行(Anthropic 原生模式)
2929
FROM alpine:latest AS anthropic
@@ -38,7 +38,7 @@ RUN addgroup -g 1000 app && \
3838
WORKDIR /app
3939

4040
# 从构建阶段复制二进制文件和配置文件
41-
COPY --from=builder /build/factory-proxy .
41+
COPY --from=builder /build/factory-proxy-openai .
4242
COPY --from=builder /build/config.json .
4343
COPY --from=builder /build/docs.html .
4444

@@ -56,7 +56,7 @@ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
5656
CMD wget --no-verbose --tries=1 --spider http://localhost:8000/health || exit 1
5757

5858
# 启动命令
59-
ENTRYPOINT ["./factory-proxy"]
59+
ENTRYPOINT ["./factory-proxy-openai"]
6060

6161
# 第三阶段:运行(OpenAI 兼容模式)
6262
FROM alpine:latest AS openai
@@ -71,7 +71,7 @@ RUN addgroup -g 1000 app && \
7171
WORKDIR /app
7272

7373
# 从构建阶段复制二进制文件和配置文件
74-
COPY --from=builder /build/factory-proxy .
74+
COPY --from=builder /build/factory-proxy-openai .
7575
COPY --from=builder /build/config.json .
7676
COPY --from=builder /build/docs.html .
7777

@@ -89,4 +89,4 @@ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
8989
CMD wget --no-verbose --tries=1 --spider http://localhost:8003/v1/health || exit 1
9090

9191
# 启动命令
92-
ENTRYPOINT ["./factory-proxy"]
92+
ENTRYPOINT ["./factory-proxy-openai"]

Makefile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ start: run-openai
99
# 构建 Anthropic 原生模式
1010
build:
1111
@echo "🔨 构建 Anthropic 原生模式..."
12-
go build -ldflags="-s -w" -o factory-proxy main.go
13-
@echo "✅ 构建完成: factory-proxy"
12+
go build -ldflags="-s -w" -o factory-proxy-openai main.go
13+
@echo "✅ 构建完成: factory-proxy-openai"
1414

1515
# 构建 OpenAI 兼容模式
1616
build-openai:
@@ -28,7 +28,7 @@ install:
2828
# 运行 Anthropic 原生模式
2929
run: build
3030
@echo "🚀 启动 Anthropic 原生模式..."
31-
./factory-proxy
31+
./factory-proxy-openai
3232

3333
# 运行 OpenAI 兼容模式
3434
run-openai: build-openai
@@ -67,7 +67,7 @@ lint:
6767
# 清理构建文件
6868
clean:
6969
@echo "🧹 清理构建文件..."
70-
rm -f factory-proxy factory-proxy-openai
70+
rm -f factory-proxy-openai factory-proxy-openai
7171
rm -f *.log *.pid
7272
rm -f coverage.txt
7373
go clean -cache
@@ -78,19 +78,19 @@ build-all:
7878
@echo "🔨 构建所有平台..."
7979
@mkdir -p dist
8080
# Linux AMD64
81-
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-linux-amd64 main.go
81+
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-linux-amd64 main.go
8282
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-linux-amd64 main-openai.go
8383
# Linux ARM64
84-
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-linux-arm64 main.go
84+
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-linux-arm64 main.go
8585
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-linux-arm64 main-openai.go
8686
# macOS AMD64
87-
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-darwin-amd64 main.go
87+
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-darwin-amd64 main.go
8888
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-darwin-amd64 main-openai.go
8989
# macOS ARM64
90-
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-darwin-arm64 main.go
90+
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-darwin-arm64 main.go
9191
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-darwin-arm64 main-openai.go
9292
# Windows AMD64
93-
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-windows-amd64.exe main.go
93+
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-windows-amd64.exe main.go
9494
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o dist/factory-proxy-openai-windows-amd64.exe main-openai.go
9595
@echo "✅ 所有平台构建完成,文件位于 dist/ 目录"
9696

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ version: '3.8'
22

33
services:
44
# Anthropic 原生模式
5-
factory-proxy-anthropic:
5+
factory-proxy-openai-anthropic:
66
build:
77
context: .
88
target: anthropic
9-
container_name: factory-proxy-anthropic
9+
container_name: factory-proxy-openai-anthropic
1010
ports:
1111
- "8001:8000"
1212
environment:

docker-test-guide.md

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# Docker 部署测试指南
2+
3+
## 当前状态
4+
❌ Docker Desktop 未找到或未安装
5+
6+
## 安装步骤
7+
8+
### 1. 安装 Docker Desktop for Mac
9+
10+
请按照以下步骤安装 Docker Desktop:
11+
12+
1. 访问 Docker 官网下载页面:
13+
- Apple Silicon (M1/M2/M3): https://desktop.docker.com/mac/main/arm64/Docker.dmg
14+
- Intel 芯片: https://desktop.docker.com/mac/main/amd64/Docker.dmg
15+
16+
2. 下载后双击 `.dmg` 文件
17+
18+
3. 将 Docker 图标拖到 Applications 文件夹
19+
20+
4. 从 Applications 文件夹启动 Docker Desktop
21+
22+
5. 首次启动需要授权并等待 Docker 引擎启动完成
23+
24+
### 2. 验证 Docker 安装
25+
26+
安装完成后,在终端运行:
27+
28+
```bash
29+
# 检查 Docker 版本
30+
docker --version
31+
docker-compose --version
32+
33+
# 检查 Docker 是否运行
34+
docker ps
35+
```
36+
37+
## 测试计划
38+
39+
安装完成后,将执行以下测试:
40+
41+
### ✅ 已完成
42+
- [x] 检查 Docker 环境
43+
44+
### 📋 待执行
45+
- [ ] 启动 Docker Desktop
46+
- [ ] 验证 Docker 环境
47+
- [ ] 测试 Docker 镜像构建(OpenAI 模式)
48+
- [ ] 测试 Docker Compose 启动服务
49+
- [ ] 验证服务健康状态
50+
- [ ] 测试 API 接口
51+
- [ ] 清理测试资源
52+
53+
## 快速测试命令
54+
55+
安装完成后,执行以下命令进行完整测试:
56+
57+
### 方式1: 使用 Docker Compose (推荐)
58+
59+
```bash
60+
# 构建并启动 OpenAI 兼容模式
61+
docker-compose up -d factory-proxy-openai
62+
63+
# 查看服务状态
64+
docker-compose ps
65+
66+
# 查看日志
67+
docker-compose logs -f factory-proxy-openai
68+
69+
# 测试健康检查
70+
curl http://localhost:8003/v1/health
71+
72+
# 测试 API 文档页面
73+
curl http://localhost:8003/
74+
75+
# 停止服务
76+
docker-compose down
77+
```
78+
79+
### 方式2: 使用纯 Docker 命令
80+
81+
```bash
82+
# 构建镜像
83+
docker build --target openai -t factory-proxy-openai .
84+
85+
# 运行容器
86+
docker run -d \
87+
--name factory-proxy-openai \
88+
-p 8003:8003 \
89+
-e PORT=8003 \
90+
factory-proxy-openai
91+
92+
# 查看容器状态
93+
docker ps
94+
95+
# 查看日志
96+
docker logs -f factory-proxy-openai
97+
98+
# 测试健康检查
99+
curl http://localhost:8003/v1/health
100+
101+
# 停止并删除容器
102+
docker stop factory-proxy-openai
103+
docker rm factory-proxy-openai
104+
105+
# 删除镜像
106+
docker rmi factory-proxy-openai
107+
```
108+
109+
## 测试 Anthropic 原生模式
110+
111+
```bash
112+
# 使用 Docker Compose
113+
docker-compose up -d factory-proxy-openai-anthropic
114+
115+
# 测试
116+
curl http://localhost:8001/health
117+
118+
# 停止
119+
docker-compose down
120+
```
121+
122+
## 同时测试两种模式
123+
124+
```bash
125+
# 启动所有服务
126+
docker-compose up -d
127+
128+
# 测试 OpenAI 模式
129+
curl http://localhost:8003/v1/health
130+
131+
# 测试 Anthropic 模式
132+
curl http://localhost:8001/health
133+
134+
# 查看所有容器
135+
docker-compose ps
136+
137+
# 停止所有服务
138+
docker-compose down
139+
```
140+
141+
## 常见问题
142+
143+
### 1. Docker 命令未找到
144+
确保 Docker Desktop 已启动,可以在 macOS 顶部菜单栏看到 Docker 图标
145+
146+
### 2. 端口被占用
147+
如果端口 8003 或 8001 被占用,可以修改 `docker-compose.yml` 中的端口映射:
148+
```yaml
149+
ports:
150+
- "9003:8003" # 将主机端口改为 9003
151+
```
152+
153+
### 3. 构建失败
154+
检查网络连接,确保可以访问 Go 模块代理和 Docker Hub
155+
156+
### 4. 容器启动失败
157+
查看容器日志:
158+
```bash
159+
docker logs factory-proxy-openai
160+
```
161+
162+
## 性能测试
163+
164+
部署成功后,可以进行性能测试:
165+
166+
```bash
167+
# 使用 Apache Bench (需要安装)
168+
ab -n 100 -c 10 http://localhost:8003/v1/health
169+
170+
# 或使用 curl 循环测试
171+
for i in {1..10}; do
172+
curl -w "\nTime: %{time_total}s\n" http://localhost:8003/v1/health
173+
done
174+
```
175+
176+
## 下一步
177+
178+
请先安装 Docker Desktop,然后我可以继续帮您完成自动化测试。

0 commit comments

Comments
 (0)