# DeepSeek 搜索 API

> 只改 Search / Fetch API 基础地址和密钥，就能把 DeepSeek Harness 内置的网页搜索换成 Search1API，无需安装任何东西。

Canonical URL: https://s1.dev/zh/docs/compatibility/deepseek

Search1API 兼容 DeepSeek 的 Search 与 Fetch API——`POST /search` 和 `POST /fetch`。基础地址填：

```text
https://api.search1api.com/compat/deepseek
```

DeepSeek Harness 会在这个地址后追加 `/search` 和 `/fetch`，并以 `Authorization: Bearer YOUR_API_KEY` 携带你的 Search1API 密钥。

## 配置 DeepSeek Harness

[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的网页能力层自带 DeepSeek 搜索 API 提供方，因此这是改设置，不是装插件：

1. 打开 **插件 → 内置插件设置 → 网页搜索**。
2. 打开 **使用新版 Web 搜索 API**。
3. 把 **Search / Fetch API 基础地址** 填成 `https://api.search1api.com/compat/deepseek`。
4. 在 **API Key** 里粘贴你的 Search1API 密钥并保存。

下一次搜索起，Agent 的 `web_search` 和 `web_fetch` 工具就走 Search1API。改动对下一次操作生效，不需要重启。

> **info:** Harness 会把这里填的密钥存成 `DEEPSEEK_API_KEY` 这条凭据。用 DeepSeek 账号模型的对话依然能搜索：它不是 `api.deepseek.com` 的域名时不会使用账号 token，会自动回落到你配置的密钥。想换回 DeepSeek 自己的搜索，恢复基础地址并重新填 DeepSeek 的密钥即可。

## 搜索

`POST /compat/deepseek/search`

| 字段 | 行为 |
| --- | --- |
| `query` | 必填。 |
| `count` | 返回条数，`1` 到 `50`，默认 `10`。DeepSeek Harness 会传它自己的结果上限，通常是 `8`。 |
| `need_content` | 接受但忽略；结果不包含正文。需要正文请用 `/fetch`。 |
| `ori_question` | 接受但忽略。 |

响应按排名列出结果：

```json
{
  "results": [
    {
      "url": "https://hono.dev/docs/",
      "title": "Hono",
      "snippet": "Fast, lightweight web framework…",
      "date": "2026-11-04T00:00:00.000Z"
    }
  ]
}
```

`date` 一定存在：ISO 8601 格式的发布时间，引擎没有提供时为 `null`。空结果是一次成功响应，返回 `{"results": []}`。

## 抓取

`POST /compat/deepseek/fetch`

| 字段 | 行为 |
| --- | --- |
| `url` | 必填。公开的 HTTP 或 HTTPS 页面。 |

响应返回 Markdown 正文：

```json
{ "content": "# Hono\n\nFast, lightweight web framework…" }
```

## 请求如何处理

每次调用都会被转换为对应的 Search1API 请求（`/search` 或 `/crawl`），所以**积分和限制与原生 API 一致**：一次搜索 1 积分，读取一个页面 1 积分。错误使用 DeepSeek 的格式——`{"error": {"message": "…", "type": "…", "code": 401}}`——状态码沿用 Search1API 的：密钥无效 `401`，积分耗尽 `402`，触发速率限制 `429`。

Harness 的解码很严格：任何一条结果字段不合法，整次搜索都会被判为失败。因此本端点会丢弃没有 URL 的结果，并始终返回 `snippet`、`title` 和 `date`。本页的契约已用 DeepSeek Harness 0.2.2 自带的 `mapSearchResponse` 解码器验证过。

## 限制

- **搜索结果不含正文。** `need_content: true` 会被接受但忽略；需要正文请接着调用 `/fetch`。
- **没有引擎、时间范围或站点过滤。** DeepSeek 的搜索请求只带 `query` 和 `count`，所以通过这个端点无法指定搜索引擎或时间范围。需要这些参数时，直接调用原生 [`/search`](https://s1.dev/zh/docs/basic/search) 或使用 [SDK](https://s1.dev/zh/docs/integrations/sdks)。
- **不提供生成式答案。** 不返回 DeepSeek `web_search` 的模型正文，只返回可引用的来源。