Files
metona-ollama-desktop/search-proxy/README.md
T

204 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# metona-search-proxy
部署在可直连 Google/Bing/DuckDuckGo/Baidu 的云服务器上,通过 HTTP API 提供搜索引擎代理。
```
本应用(web_search) → HTTP → metona-search-proxy(:7899) → Google/Bing/DDG/Baidu → JSON
```
---
## 前置要求
| 依赖 | 说明 |
|------|------|
| **Go** | 1.21+(编译用,运行不需要) |
| **服务器** | 能直连 Google/Bing/DDG(海外云服务器/VPS |
| **系统** | Linux (Ubuntu/Debian/CentOS) / macOS |
### 安装 Go(服务器上没有的话)
```bash
# Ubuntu/Debian
sudo apt update && sudo apt install -y golang-go
# CentOS/RHEL
sudo yum install -y golang
# 或手动安装最新版
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
```
---
## 安装与编译
```bash
# 1. 克隆仓库
cd /opt
git clone https://gitee.com/thzxx/metona-ollama-desktop.git
cd metona-ollama-desktop/search-proxy
# 2. 编译
go build -o metona-search-proxy .
# 3. 验证
./metona-search-proxy --version
# metona-search-proxy v2.0.0 go/go1.22.0
```
### 本地交叉编译(在本地编译好上传)
```bash
# Windows 上编译 Linux 版本
GOOS=linux GOARCH=amd64 go build -o metona-search-proxy .
# macOS 上编译 Linux 版本
GOOS=linux GOARCH=amd64 go build -o metona-search-proxy .
# 上传到服务器
scp metona-search-proxy user@your-server:/opt/metona-search-proxy/
```
---
## CLI 命令
```bash
./metona-search-proxy [选项]
选项:
-port int 监听端口 (默认 7899)
-cache int 缓存时间/分钟 (默认 5)
-rate int 限流速率 req/s (默认 30)
-burst int 限流突发容量 (默认 60)
-timeout int 搜索引擎超时/秒 (默认 12)
-version 显示版本号
示例:
./metona-search-proxy # 默认配置
./metona-search-proxy -port 7899 -cache 10 # 自定义端口和缓存
./metona-search-proxy -port 7899 -rate 50 -burst 100 # 高并发配置
PORT=7899 ./metona-search-proxy # 也可用环境变量
```
---
## 测试
```bash
# 启动
./metona-search-proxy &
# 健康检查
curl http://localhost:7899/health
# 单引擎搜索
curl "http://localhost:7899/search?q=hello+world&engine=google&n=5"
# 四引擎并行
curl "http://localhost:7899/search?q=今天天气&engine=all&n=10"
# 百度搜索
curl "http://localhost:7899/search?q=春节&engine=baidu&n=5"
```
### 响应格式
```json
{
"success": true,
"query": "hello world",
"engine": "google",
"total": 5,
"results": [
{
"title": "...",
"url": "https://...",
"snippet": "...",
"engine": "google"
}
]
}
```
---
## 安装为系统服务(开机自启)
### 1. 拷贝二进制文件
```bash
sudo mkdir -p /opt/metona-search-proxy
sudo cp metona-search-proxy /opt/metona-search-proxy/
sudo chmod +x /opt/metona-search-proxy/metona-search-proxy
```
### 2. 创建 systemd 服务文件
```bash
sudo tee /etc/systemd/system/metona-search-proxy.service << 'EOF'
[Unit]
Description=Metona Search Proxy - Google/Bing/DDG/Baidu API
After=network.target
[Service]
Type=simple
ExecStart=/opt/metona-search-proxy/metona-search-proxy
Restart=always
RestartSec=5
Environment=PORT=7899
[Install]
WantedBy=multi-user.target
EOF
```
### 3. 启动服务
```bash
sudo systemctl daemon-reload
sudo systemctl enable metona-search-proxy # 开机自启
sudo systemctl start metona-search-proxy # 立即启动
# 查看状态
sudo systemctl status metona-search-proxy
# 查看日志
sudo journalctl -u metona-search-proxy -f
```
### 4. 验证
```bash
curl http://localhost:7899/health
# {"engines":["google","bing","ddg","baidu","all"],"status":"ok","time":"...","version":"2.0.0"}
```
---
## 本应用配置
Metona Ollama Desktop 设置面板 → 代理设置 → 填入:
```
http://你的服务器IP:7899
```
重启应用即可。web_search 的 Google/DDG/Bing/百度 四引擎请求会自动路由到这台服务器。
---
## 常用管理命令
```bash
sudo systemctl start metona-search-proxy # 启动
sudo systemctl stop metona-search-proxy # 停止
sudo systemctl restart metona-search-proxy # 重启
sudo systemctl status metona-search-proxy # 状态
sudo journalctl -u metona-search-proxy -f # 实时日志
sudo journalctl -u metona-search-proxy --since today # 今日日志
```