告别离线 Agent:deepseek-kit 内置 Web Search:零配置联网搜索
deepseek-kit 针对 DeepSeek API 打造轻量 Agent 框架,核心处理思考模式下的 reasoning_content 管理、缓存优化与结构化输出等适配痛点。
背景
在 v0.1.4 版本中,我们新增了一个内置工具:webSearch。

为什么需要内置 Web Search
Agent 的能力边界主要由信息获取范围决定。由于 DeepSeek 训练数据存在时效性限制,模型难以回应实时事件、最新文档或当前数据等查询。
以往实现联网搜索,需要自行对接 Google、Bing 或 Tavily 等搜索 API,并编写工具定义、处理返回结果及格式化输出,每个项目都需重复这些样板代码。
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 的工作流程如下:
- 用户查询被发送至 DeepSeek Anthropic 兼容端点(
)。 - 采用 Anthropic 的
web_search_20250305工具执行搜索操作。 - 模型依据搜索结果生成摘要式回答。
- 输出格式化后的搜索结果,内容包含摘要及来源链接。
返回结果由两部分组成:
- 搜索结果摘要:模型根据搜索结果综合生成的回答。
- 来源列表:包含搜索到的网页标题、链接及页面日期。
与其他工具组合
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 理念,充分利用现有能力完成适配封装,让 Agent 联网无需额外配置,一行代码即可实现。