DeepSeek-kit联网搜索:零配置一键在线检索

2026-06-18阅读 0热度 0
ps

项目背景

对于熟悉 DeepSeek 生态的开发者来说,deepseek-kit 并不陌生——它是一款专为 DeepSeek API 设计的轻量级 Agent 框架。与 LangChain、AI SDK 等通用框架不同,它深度针对 DeepSeek 在"思考模式"下的痛点:reasoning_content 的管控、缓存命中率的提升、结构化输出的兼容等问题,都做了针对性优化。

告别离线 Agent:deepseek-kit 内置 Web Search,零配置联网搜索

最新发布的 v0.1.4 版本中,我们新增了一个内置工具:webSearch。它本质上是一个开箱即用的联网搜索模块,无需额外配置即可集成。

为什么需要内置 Web Search

Agent 的能力上限,取决于它能获取信息的广度与时效性。DeepSeek 的训练数据存在截止日期,面对实时新闻、最新文档、当前行情等需求,模型自身无法直接应对。

过去要实现联网搜索,开发者必须自行对接搜索 API(Google、Bing、Ta vily 等),编写工具定义、处理返回结果、再格式化输出——这些样板代码在每个项目中重复出现,极其繁琐。

webSearch 将整个流程封装成一个即插即用的内置工具。它基于 DeepSeek 的 Anthropic 兼容端点实现,无需申请第三方搜索 API,直接使用现有 DeepSeek API Key 即可运行。

使用方式

用法极其简洁——一行代码创建工具,传递给 Agent 即可:

复制代码import { createAgent, createModel, webSearch } from 'deepseek-kit'const model = createModel({ model: 'deepseek-v4-flash' })const agent = createAgent({
  model,
  tools: [webSearch()],
})const result = await agent.generate({
  prompt: 'deepseek-kit是什么东西?',
})console.log(result.text)

仅此而已。无需额外配置,无需注册搜索服务。

配置选项

若需微调行为,webSearch() 也接受一个可选的配置对象:

复制代码const searchTool = webSearch({
  thinking: 'enabled',  // 是否启用思考模式,默认 enabled
  maxTokens: 32768,     // 搜索响应的最大 token 数,默认 32768
})
  • thinking:启用后,模型会在搜索前进行"思考"——优化搜索关键词,提升结果质量。默认开启,与 deepseek-kit 整体的思考模式适配逻辑一致。
  • maxTokens:控制搜索响应返回的最大 token 数,可根据实际需求调整。

这两个参数覆盖了绝大多数场景,大多数情况下保持默认即可。

工作原理

为了更直观地理解,这里梳理一下 webSearch 的完整工作流程:

  1. 将用户查询发送至 DeepSeek Anthropic 兼容端点(
  2. 调用 Anthropic 的 web_search_20250305 工具执行实际的搜索
  3. 模型获取搜索结果后,生成一个摘要式回答
  4. 返回格式化的搜索结果,包含摘要和来源链接

返回结果包含两部分:

  • 搜索结果摘要——模型基于搜索结果生成的综合回答,相当于自动阅读网页并提炼要点
  • 来源列表——搜索到的网页标题、链接及页面日期,方便核验原文

简而言之:你提问,它自动联网搜索,并将结果整理清晰后返回。

与其他工具组合

webSearch 并非孤立存在,它可以与任意其他工具协同工作。模型会根据上下文自主判断何时搜索、何时执行其他操作:

复制代码import { createAgent, createModel, tool, webSearch } from 'deepseek-kit'
import { z } from 'zod'const calculatorTool = tool({
  name: 'calculator',
  description: '执行数学计算',
  schema: z.object({ expression: z.string().describe('数学表达式') }),
  execute: async (input) => evaluate(input.expression),
})const agent = createAgent({
  model,
  tools: [webSearch(), calculatorTool],
})const result = await agent.generate({
  prompt: '2026年世界杯在哪里举办?另外帮我算一下 123 * 456。',
})

上例中,同时涉及事实查询和数学计算,模型会自动选择调用搜索工具或计算器工具,无需手动调度。

取消支持

另一个实用的特性:搜索请求支持通过 AbortSignal 取消。当用户等待时间过长,或你设置了超时机制时,可直接中断搜索:

复制代码const controller = new AbortController()const result = await agent.generate({
  prompt: '搜索最新的 AI 新闻',
  signal: controller.signal,
})// 5 秒后取消搜索
setTimeout(() => controller.abort(), 5000)

在网络不稳定或用户取消操作时,此功能极为有用,避免无谓的资源消耗。

总结

webSearch 的设计哲学与 deepseek-kit 一脉相承:不重复造轮子,充分利用 DeepSeek 现有能力,做好适配与封装。无需额外搜索 API Key,无需手写工具定义,一行代码即可让 Agent 接入实时信息。

如果你已在用 deepseek-kit,升级到 v0.1.4 后,只需添加 webSearch()——你的 Agent 将彻底摆脱离线局限。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策