zhepamagod commited on
Commit
835301b
·
verified ·
1 Parent(s): 8d5ba1e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +233 -0
README.md CHANGED
@@ -8,4 +8,237 @@ pinned: false
8
  app_port: 17080
9
  ---
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
8
  app_port: 17080
9
  ---
10
 
11
+
12
+
13
+
14
+ 好的,这是将您提供的 HTML 转换为 Markdown 的结果。
15
+
16
+ ---
17
+
18
+ ## 项目介绍
19
+
20
+ Trae2API 是一个将 Trae API 转换为 OpenAI API 格式的服务,仅用于技术交流学习,不可用于任何商业行为!
21
+
22
+ 声明:本项目未进行任何逆向、破解,仅提供基于明文HTTP API的包装服务。
23
+
24
+ 提示:使用该项目可能会导致您的Trae账号被识别、标记或封禁,请酌情使用!
25
+
26
+ ### 功能特点
27
+
28
+ * 获取模型列表
29
+ * 多轮对话支持
30
+ * 流式/非流式输出
31
+ * 思考类模型思考内容展示
32
+ * RefreshToken自动刷新/持久化
33
+
34
+ ### 不会支持
35
+
36
+ * 代理访问,请部署在非国内的其他亚洲区域服务器
37
+ * 多账号轮询永远不会支持,虽然很简单
38
+
39
+ ## 环境变量获取指南
40
+
41
+ 要使用 Trae2API最新版本,您需要获取以下环境变量。请按照对应指南获取:
42
+
43
+ ### Mac|Windows 平台
44
+
45
+ 使用搜索工具查询获取:
46
+
47
+ 1. 安装 `everything|mac使用其他工具` 搜索工具
48
+ 2. 退出Trae重新登录
49
+ 3. 登录Trae之后,回到显示Login Successful的网页上,复制上面的这个地址栏内容,里面可以获取到 ClientID
50
+ 4. 进入Trae发起一次对话
51
+ 5. 使用搜索工具在电脑中全局搜索 `storage.json` 文件获取 RefreshToken、UserID
52
+ 6. AppID 固定使用: `6eefa01c-1036-4c7e-9ca5-d891f63bfcd8`
53
+ 7. 提示:上述信息获取后请妥善保存,除了RefreshToken,其他可以一直使用
54
+
55
+ ### 生成随机 AUTH_TOKEN
56
+
57
+ 您可以使用以下随机生成的 Token 作为 AUTH_TOKEN。
58
+
59
+ *(注:此处原为交互式 Token 生成器,Markdown 中无法实现。请自行生成一个安全的随机字符串。)*
60
+
61
+ ## 必需的环境变量
62
+
63
+ ### APP_ID
64
+
65
+ Trae API 应用 ID,可从 ai_1_stdout.log 文件中获取
66
+
67
+ ### CLIENT_ID
68
+
69
+ OAuth Client ID,可从 main.log 文件中获取
70
+
71
+ ### REFRESH_TOKEN
72
+
73
+ OAuth Refresh Token,可从 storage.json 文件中获取
74
+
75
+ ### USER_ID
76
+
77
+ User ID,可从 main.log 文件中获取
78
+
79
+ ### AUTH_TOKEN
80
+
81
+ API 访问鉴权 Token,可自定义设置
82
+ 建议使用数字+字母生成的字符串确保安全性,不要包含特殊字符
83
+
84
+ ## 可选的环境变量
85
+
86
+ ### BASE_URL
87
+
88
+ 获取模型、对话、获取文件上传Token的基本路径(如果你是亚洲区域,可以忽略此变量)
89
+ 默认值:`https://trae-api-sg.mchost.guru`
90
+
91
+ ### REFRESH_TOKEN_URL
92
+
93
+ 刷新RefreshToken和Token的基本路径(如果你是亚洲区域,可以忽略此变量)
94
+ 默认值:`https://api-sg-central.trae.ai`
95
+
96
+ ### REFRESH_TOKEN_CACHE_ENABLED **v1.0.7**
97
+
98
+ 是否开启Redis缓存RefreshToken,开启并配置链接地址后,最新的RefreshToken会被缓存到Redis中,避免误容器重启导致RefreshToken失效
99
+ 默认值:false
100
+
101
+ ### REDIS_CONN_STRING **v1.0.7**
102
+
103
+ Redis链接地址,和REFRESH_TOKEN_CACHE_ENABLED搭配使用(推荐白嫖upstash免费额度)
104
+ 格式:`redis://:password@redis.example.com:6379`(upstash请使用`rediss//`开头的配置)
105
+
106
+ ### AUTO_CONTINUE_ENABLED **v1.0.8**
107
+
108
+ 是否开启Claude3.7自动继续对话,开启后如果对话因为token限制而截断,会自动发起继续请求并维持长链接回复直到内容全部回复完成(继续对话内容中可能包含一些AI回复的无用数据,需要手动删除)
109
+ 默认值:false
110
+
111
+ ### GET_FILE_ID_URL(暂未使用)
112
+
113
+ 获取上传文件ID的基础路径(如果你是亚洲区域,可以忽略此变量)
114
+ 默认值:`https://imagex-ap-singapore-1.bytevcloudapi.com`
115
+
116
+ ### UPLOAD_FILE_URL(暂未使用)
117
+
118
+ 上传文件的基础路径(如果你是亚洲区域,可以忽略此变量)
119
+ 默认值:`https://tos-sg16-share.vodupload.com`
120
+
121
+ ## API 使用示例
122
+
123
+ ### 获取模型列表
124
+
125
+ ```http
126
+ GET http://localhost:17080/v1/models
127
+ Authorization: Bearer your_auth_token
128
+ ```
129
+
130
+ ```bash
131
+ curl http://localhost:17080/v1/models -H "Authorization: Bearer your_auth_token"
132
+ ```
133
+
134
+ ### 发起对话
135
+
136
+ ```http
137
+ POST http://localhost:17080/v1/chat/completions
138
+ Authorization: Bearer your_auth_token
139
+ Content-Type: application/json
140
+
141
+ {
142
+ "model": "gpt-4o",
143
+ "messages": [
144
+ {
145
+ "role": "user",
146
+ "content": "你好"
147
+ }
148
+ ],
149
+ "stream": false
150
+ }
151
+ ```
152
+
153
+ ```bash
154
+ curl http://localhost:17080/v1/chat/completions \
155
+ -H "Authorization: Bearer your_auth_token" \
156
+ -H "Content-Type: application/json" \
157
+ -d '{"model":"gpt-4o","messages":[{"role":"user","content":"你好"}],"stream":false}'
158
+ ```
159
+
160
+ ### 流式对话
161
+
162
+ ```http
163
+ POST http://localhost:17080/v1/chat/completions
164
+ Authorization: Bearer your_auth_token
165
+ Content-Type: application/json
166
+
167
+ {
168
+ "model": "gpt-4o",
169
+ "messages": [
170
+ {
171
+ "role": "user",
172
+ "content": "你好"
173
+ }
174
+ ],
175
+ "stream": true
176
+ }
177
+ ```
178
+
179
+ ```bash
180
+ curl http://localhost:17080/v1/chat/completions \
181
+ -H "Authorization: Bearer your_auth_token" \
182
+ -H "Content-Type: application/json" \
183
+ -d '{"model":"gpt-4o","messages":[{"role":"user","content":"你好"}],"stream":true}'
184
+ ```
185
+
186
+ ## ���求地址环境变量参考
187
+
188
+ 根据你注册时使用的节点区域来决定使用哪种环境变量
189
+
190
+ ### 亚洲区域环境变量(默认)
191
+
192
+ ```bash
193
+ BASE_URL=https://trae-api-sg.mchost.guru
194
+ REFRESH_TOKEN_URL=https://api-sg-central.trae.ai
195
+ ```
196
+
197
+ ### 美区域环境变量
198
+
199
+ ```bash
200
+ BASE_URL=https://trae-api-us.mchost.guru
201
+ REFRESH_TOKEN_URL=https://api-us-east.trae.ai
202
+ ```
203
+
204
+ ## 常见问题解决方案
205
+
206
+ ### 为什么AI不回答我的问题?
207
+
208
+ Trae的Claude3.5被写入了系统提示词,仅会回复代码类问题,可尝试使用claude3.7模型。
209
+
210
+ ### 开启claude3.7续答功能返回的代码为什么不能直接运行?
211
+
212
+ 续答过程中AI会在开头回复一些无用或者重复内容,需要手动删除。
213
+
214
+ ### 为什么我没有找到环境变量?
215
+
216
+ 请先向AI发起一次对话,然后再查找相关日志文件。
217
+
218
+ ### 为什么我的Trae登录失效/无法使用了?
219
+
220
+ Trae2api会使用本地的refreshToken来刷新Token,而refreshToken使用一次之后立即失效,会导致Trae本身记录的refreshToken失效无法刷新Token,如果你有Trae本身的使用需求,建议放弃使用本项目,或者在虚拟机或其他电脑中额外开启一个Trea用来提供2api服务。
221
+
222
+ ### refreshToken有效期是多久?
223
+
224
+ 目前已知refreshToken可持续刷新,理论字节不调整,可以持续使用。
225
+
226
+ ### 为什么容器启动报错refreshToken invalid?
227
+
228
+ 当前配置的refreshToken失效了,请退出Trae的账号,重新登录,然后获取最新的refreshToken填入环境变量中,获取之后就不需要再打开Trae了。
229
+
230
+ ### 为什么我本地测试接口没问题,用容器启动就会报错?
231
+
232
+ Trae在不同的区域调用的是不同的接口地址,目前已知有sg(新加坡)和us(美国)两个不同的地址,默认使用sg的接口,你可以更换地址相关的环境变量以使用指定的接口地址。
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference