用 Z.AI 密钥为 GLM 路由提供原生联网搜索
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Canary-Builds/dsh-web-search-zai该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · search
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求index.js:180
response = await fetch(ENDPOINT, {
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 提供原生联网搜索
- 零依赖配置档包
README
由 DeepSeek 最新模型翻译生成DSH Web Search Z.AI
为模型路由为 Z.AI / GLM 的 DeepSeek Harness(DSH)安装提供原生体验的 web_search,以单个无依赖的 Cordis 插件形式交付,用于宿主 web 接缝(ctx.web)。
随附的 harness 选择 deepseek-official 作为其搜索提供方,这需要一个真实的 DeepSeek API 密钥。在通过 zai 提供方运行 GLM 的安装中,只存在 ZAI_API_KEY——因此每次 web_search 都会以 HTTP 401 失败。本包注册了一个 zai-official 搜索提供方,它通过 Z.AI 的 Anthropic 兼容 Messages API 使用原生 web_search_20250305 服务器工具(glm-5.3)执行搜索,并使用你已有的 ZAI_API_KEY 凭据进行认证,同时将 web 接缝的选择切换为它。Profile Bundle 补丁同时携带这两行;全新安装无需手动编辑组合配置。
工作原理
- 每次搜索发送一个 Messages 请求:模型 glm-5.3、web_search_20250305 服务器工具(max_uses: 3)、max_tokens: 512——来源来自工具结果块,因此补全预算保持很小,并处于 web 工具 60 秒超时之内。
展开完整文档(README 剩余 1 节)
DSH Web Search Z.AI
为模型路由为 Z.AI / GLM 的 DeepSeek Harness(DSH)安装提供原生体验的 web_search,以单个无依赖的 Cordis 插件形式交付,用于宿主 web 接缝(ctx.web)。
随附的 harness 选择 deepseek-official 作为其搜索提供方,这需要一个真实的 DeepSeek API 密钥。在通过 zai 提供方运行 GLM 的安装中,只存在 ZAI_API_KEY——因此每次 web_search 都会以 HTTP 401 失败。本包注册了一个 zai-official 搜索提供方,它通过 Z.AI 的 Anthropic 兼容 Messages API 使用原生 web_search_20250305 服务器工具(glm-5.3)执行搜索,并使用你已有的 ZAI_API_KEY 凭据进行认证,同时将 web 接缝的选择切换为它。Profile Bundle 补丁同时携带这两行;全新安装无需手动编辑组合配置。
工作原理
- 每次搜索发送一个 Messages 请求:模型 glm-5.3、web_search_20250305 服务器工具(max_uses: 3)、max_tokens: 512——来源来自工具结果块,因此补全预算保持很小,并处于 web 工具 60 秒超时之内。
- Z.AI 的 Anthropic 方言将工具结果返回为 tool_result 块,其内容是字符串化的 Python-repr/JSON 混合体,而非标准的 web_search_tool_result 块(这正是随附的 web-search-deepseek 提供方无法简单地重新指向 Z.AI 的原因)。一个引号感知的扫描器从两种形态中提取 title / link / content 记录,也包括标准块以保持向前兼容。
- 瞬态上游故障(Internal Network Failure、5xx、超时)最多重试 3 次;永久性错误会原样呈现,并附带 HTTP 状态。
- 每个请求都会作为 web/zai-search-llm-request 追加到发起会话日志中以便观测,与随附提供方保持一致。
- 注册通过 web.registerSearchProvider 进行,其 disposer 由 fiber 拥有——移除插件行会干净地注销该提供方,并且(在重新应用基础配置时)恢复先前的选择。
要求
- 带有 web 接缝的 DeepSeek Harness(标准 web profile;任何基于 base 的 profile 均可)。
- 一个存储为 ZAI_API_KEY 凭据的 Z.AI API 密钥——web Models 页面会写入它,或直接使用你的凭据存储。无需其他凭据、环境变量或 npm 依赖。
成本说明: 每次搜索都是一次带服务器端搜索的 GLM 模型回合。它的计费类似一次小型模型调用,而不是一次免费的搜索 API 命中。
安装
安装到你的 web profile 中(该包自带其 Profile Bundle 补丁——无需手动添加组合行):
dsh plugin --profile web add @canary-builds/dsh-web-search-zai
重启 DSH。要更新,请再次运行同一命令并重启。
如果你的配置文件的 cordis.patch.yml 已经覆盖了 web 行(任何手动选择的 searchProvider),请移除该覆盖——配置文件补丁在 bundle 补丁之后应用,因此会胜出。同样,在切换到 bundle 安装之前,请移除任何手动插入的 web-search-zai 行;两行具有相同 id 会冲突。
从 git 检出安装(预发布版)
在首次 npm 发布之前,请从克隆安装:
git clone https://github.com/Canary-Builds/dsh-web-search-zai \
~/.dsh/profiles/web/plugins/dsh-web-search-zai
ln -sfn ../plugins/dsh-web-search-zai \
~/.dsh/profiles/web/node_modules/dsh-web-search-zai
然后将这些行添加到 ~/.dsh/profiles/web/cordis.patch.yml(内容与本包的 cordis.patch.yml 相同,行名 dsh-web-search-zai 与未加作用域的符号链接匹配):
- insert:
- id: web-search-zai
name: dsh-web-search-zai
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: zai-official
fetchProvider: http
使用 patchReload: live 的配置文件无需重启即可应用更改;否则请重启 DSH。
切换回 DeepSeek
将真实的 DeepSeek 密钥存储为 DEEPSEEK_API_KEY,移除此包(dsh plugin --profile web remove @canary-builds/dsh-web-search-zai),并在 web 行中恢复 searchProvider: deepseek-official。在安装期间,此 bundle 的补丁永远不会触及随附的 provider 行——但移除该 bundle 后,基础配置将在下次启动时恢复。
配置
没有设置卡片,也没有 schema 依赖——这是有意为之,以便让该包在零 npm 依赖的情况下可安装。可调项是 index.js 顶部的常量:
| 常量 | 默认值 | 含义 |
| MODEL | glm-5.3 | 执行搜索轮次的模型 |
| MAX_USES | 3 | 每个请求的服务器工具搜索轮数 |
| MAX_TOKENS | 512 | 补全预算(来源在工具块中返回) |
| MAX_ATTEMPTS / RETRY_DELAY_MS | 3 / 700 | 瞬时失败重试策略 |
| REQUEST_TIMEOUT_MS | 45000 | 每次尝试的超时,在 web 工具的预算内 |
| API_KEY_REF | ZAI_API_KEY | 凭据存储引用 |
兼容性
- 面向 0.1.x 中随附的 DSH web 接缝契约(registerSearchProvider / WebSearchProvider);该接缝是稳定的,但未来若 DSH 更改 provider 契约,则需要重新测试。
- Z.AI 工具结果方言以宽容方式解析(Python-repr 和 JSON 形式,嵌套或扁平)。如果 Z.AI 完全更改了结构,搜索将失败并抛出描述性的 WEB_PROVIDER_ERROR,其中指明端点——请提交 issue。
行为说明
- 仅当凭据服务存在时,provider 才会报告 available();当 ZAI_API_KEY 未设置时,搜索会抛出 WEB_PROVIDER_CREDENTIAL_MISSING 并附带设置说明。
- 在一次请求中的多次搜索遍历之间,URL 会被去重;摘要片段上限为 400 个字符;接缝的 maxResults 截断会在下游生效。
- 取消操作会端到端地得到响应(WEB_ABORTED),包括在抓取过程中。
许可证
MIT
开发
单文件 ESM 插件,无构建步骤,无依赖:编辑 index.js,重启 DSH(或在修改 cordis.patch.yml 后依赖实时 profile 补丁重载)。功能冒烟测试:导入 apply,将其挂载到暴露 web.registerSearchProvider 和凭据接缝的模拟 ctx 上,然后调用 provider.search({ query })。报告问题 · Canary Builds预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Canary-Builds/dsh-web-search-zai
用 Z.AI 密钥为 GLM 路由提供原生联网搜索
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6