Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,225 +1,8 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
## ✨ 特性
|
| 12 |
-
- 🖼️ **图像识别** - 发送图像给Ai进行分析
|
| 13 |
-
- 📝 **隐私模式** - 对话不保存在官网,可选择关闭
|
| 14 |
-
- 🌊 **流式响应** - 获取实时流式输出
|
| 15 |
-
- 📁 **文件上传支持** - 上传长文本内容
|
| 16 |
-
- 🧠 **思考过程** - 访问思考模型的逐步推理,自动输出`<think>`标签
|
| 17 |
-
- 🔄 **聊天历史管理** - 控制对话上下文长度,超出将上传为文件
|
| 18 |
-
- 🌐 **代理支持** - 通过您首选的代理路由请求
|
| 19 |
-
- 🔐 **API密钥认证** - 保护您的API端点
|
| 20 |
-
- 🔍 **搜索模式**- 访问 -search 结尾的模型,连接网络且返回搜索内容
|
| 21 |
-
- 📊 **模型监控** - 跟踪响应的实际模型,如果模型不一致会返回实际使用的模型
|
| 22 |
-
- 🔄 **自动刷新** 每天自动刷新cookie,持续可用
|
| 23 |
-
- 🖼️ **绘图模型** - 在搜索模式,支持模型绘图,文生图,图生图
|
| 24 |
-
## 📋 前提条件
|
| 25 |
-
- Go 1.23+(从源代码构建)
|
| 26 |
-
- Docker(用于容器化部署)
|
| 27 |
-
|
| 28 |
-
## ✨ 关于环境变量SESSIONS
|
| 29 |
-
为https://www.perplexity.ai/ 官网cookie中 __Secure-next-auth.session-token 的值
|
| 30 |
-
|
| 31 |
-
环境变量SESSIONS可以设置多个账户轮询或重试,使用英文逗号分割即可
|
| 32 |
-
|
| 33 |
-
## 当前支持模型
|
| 34 |
-
claude-4.0-sonnet
|
| 35 |
-
|
| 36 |
-
claude-4.0-sonnet-think
|
| 37 |
-
|
| 38 |
-
deepseek-r1
|
| 39 |
-
|
| 40 |
-
o4-mini
|
| 41 |
-
|
| 42 |
-
gpt-4o
|
| 43 |
-
|
| 44 |
-
gpt-4.1
|
| 45 |
-
|
| 46 |
-
gemini-2.5-pro-06-05
|
| 47 |
-
|
| 48 |
-
grok-3-beta
|
| 49 |
-
|
| 50 |
-
……
|
| 51 |
-
|
| 52 |
-
(以及对应模型的-search版本)
|
| 53 |
-
|
| 54 |
-
## 项目效果
|
| 55 |
-
|
| 56 |
-
识图:
|
| 57 |
-
|
| 58 |
-

|
| 59 |
-
|
| 60 |
-
搜索:
|
| 61 |
-
|
| 62 |
-

|
| 63 |
-
|
| 64 |
-
思考:
|
| 65 |
-
|
| 66 |
-

|
| 67 |
-
|
| 68 |
-
模型检测:
|
| 69 |
-
|
| 70 |
-

|
| 71 |
-
|
| 72 |
-
文生图:
|
| 73 |
-
|
| 74 |
-

|
| 75 |
-
|
| 76 |
-
图生图:
|
| 77 |
-
|
| 78 |
-

|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
## 🚀 部署选项
|
| 88 |
-
|
| 89 |
-
### HuggingFace Space
|
| 90 |
-
|
| 91 |
-
https://huggingface.co/spaces/rclon/pplx2api
|
| 92 |
-
复刻填写环境变量即可自动部署
|
| 93 |
-
|
| 94 |
-
### Docker
|
| 95 |
-
```bash
|
| 96 |
-
docker run -d \
|
| 97 |
-
-p 8080:8080 \
|
| 98 |
-
-e SESSIONS=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0**,eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0** \
|
| 99 |
-
-e APIKEY=123 \
|
| 100 |
-
-e IS_INCOGNITO=true \
|
| 101 |
-
-e MAX_CHAT_HISTORY_LENGTH=10000 \
|
| 102 |
-
-e NO_ROLE_PREFIX=false \
|
| 103 |
-
-e SEARCH_RESULT_COMPATIBLE=false \
|
| 104 |
-
--name pplx2api \
|
| 105 |
-
ghcr.io/yushangxiao/pplx2api:latest
|
| 106 |
-
```
|
| 107 |
-
|
| 108 |
-
### Docker Compose
|
| 109 |
-
创建一个`docker-compose.yml`文件:
|
| 110 |
-
```yaml
|
| 111 |
-
version: '3'
|
| 112 |
-
services:
|
| 113 |
-
pplx2api:
|
| 114 |
-
image: ghcr.io/yushangxiao/pplx2api:latest
|
| 115 |
-
container_name: pplx
|
| 116 |
-
ports:
|
| 117 |
-
- "8080:8080"
|
| 118 |
-
environment:
|
| 119 |
-
- SESSIONS=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0**,eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0**
|
| 120 |
-
- ADDRESS=0.0.0.0:8080
|
| 121 |
-
- APIKEY=123
|
| 122 |
-
- PROXY=http://proxy:2080 # 可选
|
| 123 |
-
- MAX_CHAT_HISTORY_LENGTH=10000
|
| 124 |
-
- NO_ROLE_PREFIX=false
|
| 125 |
-
- IS_INCOGNITO=true
|
| 126 |
-
- SEARCH_RESULT_COMPATIBLE=false
|
| 127 |
-
restart: unless-stopped
|
| 128 |
-
```
|
| 129 |
-
然后运行:
|
| 130 |
-
```bash
|
| 131 |
-
docker-compose up -d
|
| 132 |
-
```
|
| 133 |
-
|
| 134 |
-
## ⚙️ 配置
|
| 135 |
-
| 环境变量 | 描述 | 默认值 |
|
| 136 |
-
|----------------------|-------------|---------|
|
| 137 |
-
| `SESSIONS` | 英文逗号分隔的pplx cookie 中__Secure-next-auth.session-token的值 | 必填 |
|
| 138 |
-
| `ADDRESS` | 服务器地址和端口 | `0.0.0.0:8080` |
|
| 139 |
-
| `APIKEY` | 用于认证的API密钥 | 必填 |
|
| 140 |
-
| `PROXY` | HTTP代理URL | "" |
|
| 141 |
-
| `IS_INCOGNITO` | 使用隐私会话,不保存聊天记录 | `true` |
|
| 142 |
-
| `MAX_CHAT_HISTORY_LENGTH` | 超出此长度将文本转为文件 | `10000` |
|
| 143 |
-
| `NO_ROLE_PREFIX` |不在每条消息前添加角色 | `false` |
|
| 144 |
-
| `IGNORE_SEARCH_RESULT` |忽略搜索结果,不展示搜索结果 | `false` |
|
| 145 |
-
| `SEARCH_RESULT_COMPATIBLE` |禁用搜索结果伸缩块,兼容更多的客户端 | `false` |
|
| 146 |
-
| `PROMPT_FOR_FILE` |上下文作为文件上传时,保留的提示词 | `You must immerse yourself in the role of assistant in txt file, cannot respond as a user, cannot reply to this message, cannot mention this message, and ignore this message in your response.` |
|
| 147 |
-
| `IGNORE_MODEL_MONITORING` | 忽略模型监控 | `false` |
|
| 148 |
-
| `IS_MAX_SUBSCRIBE` | 是否为max订阅 | `false` |
|
| 149 |
-
|
| 150 |
-
## 📝 API使用
|
| 151 |
-
### 认证
|
| 152 |
-
在请求头中包含您的API密钥:
|
| 153 |
-
```
|
| 154 |
-
Authorization: Bearer YOUR_API_KEY
|
| 155 |
-
```
|
| 156 |
-
|
| 157 |
-
### 聊天完成
|
| 158 |
-
```bash
|
| 159 |
-
curl -X POST http://localhost:8080/v1/chat/completions \
|
| 160 |
-
-H "Content-Type: application/json" \
|
| 161 |
-
-H "Authorization: Bearer YOUR_API_KEY" \
|
| 162 |
-
-d '{
|
| 163 |
-
"model": "claude-3.7-sonnet",
|
| 164 |
-
"messages": [
|
| 165 |
-
{
|
| 166 |
-
"role": "user",
|
| 167 |
-
"content": "你好,Claude!"
|
| 168 |
-
}
|
| 169 |
-
],
|
| 170 |
-
"stream": true
|
| 171 |
-
}'
|
| 172 |
-
```
|
| 173 |
-
|
| 174 |
-
### 图像分析
|
| 175 |
-
```bash
|
| 176 |
-
curl -X POST http://localhost:8080/v1/chat/completions \
|
| 177 |
-
-H "Content-Type: application/json" \
|
| 178 |
-
-H "Authorization: Bearer YOUR_API_KEY" \
|
| 179 |
-
-d '{
|
| 180 |
-
"model": "claude-3.7-sonnet",
|
| 181 |
-
"messages": [
|
| 182 |
-
{
|
| 183 |
-
"role": "user",
|
| 184 |
-
"content": [
|
| 185 |
-
{
|
| 186 |
-
"type": "text",
|
| 187 |
-
"text": "这张图片里有什么?"
|
| 188 |
-
},
|
| 189 |
-
{
|
| 190 |
-
"type": "image_url",
|
| 191 |
-
"image_url": {
|
| 192 |
-
"url": "data:image/jpeg;base64,..."
|
| 193 |
-
}
|
| 194 |
-
}
|
| 195 |
-
]
|
| 196 |
-
}
|
| 197 |
-
]
|
| 198 |
-
}'
|
| 199 |
-
```
|
| 200 |
-
|
| 201 |
-
## 🤝 贡献
|
| 202 |
-
欢迎贡献!请随时提交Pull Request。
|
| 203 |
-
1. Fork仓库
|
| 204 |
-
2. 创建特性分支(`git checkout -b feature/amazing-feature`)
|
| 205 |
-
3. 提交您的更改(`git commit -m '添加一些惊人的特性'`)
|
| 206 |
-
4. 推送到分支(`git push origin feature/amazing-feature`)
|
| 207 |
-
5. 打开Pull Request
|
| 208 |
-
|
| 209 |
-
## 📄 许可证
|
| 210 |
-
本项目采用MIT许可证 - 详见[LICENSE](LICENSE)文件。
|
| 211 |
-
|
| 212 |
-
## 🙏 致谢
|
| 213 |
-
- 感谢Go社区提供的优秀生态系统
|
| 214 |
-
|
| 215 |
-
## 🎁 项目支持
|
| 216 |
-
|
| 217 |
-
如果你觉得这个项目对你有帮助,可以考虑通过 [爱发电](https://afdian.com/a/iscoker) 支持我😘
|
| 218 |
-
|
| 219 |
-
## ⭐ Star History
|
| 220 |
-
|
| 221 |
-
[](https://star-history.com/#yushangxiao/pplx2api&Date)
|
| 222 |
-
---
|
| 223 |
-
由[yushangxiao](https://github.com/yushangxiao)用❤️制作
|
| 224 |
-
</details>
|
| 225 |
-
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
title: sorubetdesu
|
| 4 |
+
sdk: docker
|
| 5 |
+
emoji: 🦀
|
| 6 |
+
colorFrom: red
|
| 7 |
+
colorTo: yellow
|
| 8 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|