Skip to content

Releases: anysearch-team/anysearch-dsh

v0.1.1 — AnySearch for DeepSeek Harness

Choose a tag to compare

@anysearch-ai anysearch-ai released this 14 Aug 11:47

🧭 What is this?

@anysearch/anysearch-dsh is the official AnySearch web search plugin for DeepSeek Harness.

After installation, AnySearch becomes the search provider behind Harness's existing web_search tool. Models can continue using the native search interface while gaining AnySearch results, live capability discovery, vertical search, parameterized search, and concurrent batch search.

The bundled profile layer automatically selects AnySearch as the existing ctx.web provider and mounts the advanced tools. No configuration changes are required by default.

🛰️ What you get

  • Native AnySearch results through Harness's built-in web_search.
  • Search sources with titles, URLs, and snippets that Harness can display and cite.
  • Live discovery of available domains, vertical tags, and parameter definitions.
  • Vertical and parameterized search with region and language support.
  • Concurrent execution of one to five independent searches.
  • Stable input ordering and partial results when individual batch items fail.
  • Optional cleaned page content with bounded canonical and model-visible output.
  • Request IDs and search metadata for diagnostics and support.
  • Anonymous access without an API key.
  • Optional account-level quota through a managed AnySearch API key.

🧰 Available tools

Use case Harness tool
Ordinary web search web_search
Discover available domains, tags, and parameters anysearch_capabilities
Run vertical or parameterized searches anysearch_search
Run one to five searches concurrently anysearch_batch_search

For ordinary prompts, models should use web_search.

For specialized searches, models can first call anysearch_capabilities to discover the current AnySearch catalog, then pass the returned tags and parameters to anysearch_search.

🪜 Installation

Windows, Linux, and macOS use the same installation command.

Before installing, ensure that Node.js, npx, and pnpm are directly available from PATH.

npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh

Start DeepSeek Harness:

npx -y @deepseek-ai/dsh web

The plugin is installed into the web profile and automatically replaces the profile's web search provider with AnySearch.

🗺️ Installation for AI agents

AI agents can fetch the complete installation guide and follow it step by step:

# Fetch the complete installation guide, read it end to end, and then follow it step by step:
curl -fsSL https://raw.githubusercontent.com/anysearch-team/anysearch-dsh/refs/heads/main/docs/agent-installation.md

The guide includes prerequisite checks, installation, profile verification, optional credential setup, startup, and completion reporting.

🪪 Optional API key

No API key is required for initial use. Without one, requests use AnySearch's anonymous quota.

For account-level quota:

  1. Sign up or sign in at [anysearch.com](https://anysearch.com/).
  2. Open the AnySearch API Keys console.
  3. Store the key in DSH's managed credential file at $DSH_HOME/.credentials.yaml, whose default location is ~/.dsh/.credentials.yaml.
ANYSEARCH_API_KEY: "as_sk_your_key"

The plugin resolves the managed credential for every operation. Rotating the key in the credential file therefore takes effect on the next request without restarting DSH.

The real credential is not stored in the plugin configuration and should never be placed in source files, commands, logs, screenshots, Git history, or model context.

🧱 Reliability and safety boundaries

  • Caller cancellation propagates to active AnySearch requests.
  • HTTP requests have a 55-second deadline within a 60-second tool budget.
  • HTTP redirects are rejected to prevent credentials from being forwarded to another origin.
  • Upstream responses are validated before entering Harness.
  • Upstream-controlled error details are marked as untrusted external data, JSON-quoted, and bounded.
  • Placeholder credential values are rejected before an upstream request is sent.
  • Cleaned page content is retained only when explicitly requested.
  • Canonical cleaned content is limited to 200,000 characters per search response.
  • Model-visible cleaned content uses a separate configurable rendering limit.
  • Batch search preserves successful results when individual items fail.

🧪 Verification

This release includes:

  • Unit and integration coverage for the Provider and advanced tools.
  • Anonymous and credential-aware request coverage.
  • An opt-in live AnySearch E2E suite.
  • Release package-content validation.
  • Full-history secret scanning in CI.
  • Validation on Node.js 22.19 and Node.js 24.
  • Detailed user, manual-testing, integration, and AI-agent documentation.

🧩 Requirements and current limitations

Requirements:

  • Node.js 22.19 or Node.js 24+
  • pnpm 11.7
  • DeepSeek Harness

Current limitations:

  • DeepSeek Harness is in developer preview and may introduce compatibility-breaking changes.
  • This release does not provide anysearch_extract.
  • The DSH Web settings page does not currently provide a third-party Provider credential field. Configure the optional API key through DSH-managed credentials or an environment variable.

🧭 这是什么?

@anysearch/anysearch-dsh 是 AnySearch 面向 DeepSeek Harness 的官方网页搜索插件。

安装后,AnySearch 会成为 Harness 现有 web_search 工具背后的搜索 Provider。模型继续使用原生搜索入口,同时获得 AnySearch 搜索结果、实时能力发现、垂直搜索、参数化搜索和并发批量搜索能力。

随包提供的 profile 层会自动将 AnySearch 设为现有 ctx.web Provider,并挂载高级工具,默认无需修改配置。

🛰️ 提供什么?

  • 通过 Harness 内置的 web_search 返回 AnySearch 搜索结果。
  • 返回可供 Harness 展示和引用的标题、URL 与摘要。
  • 实时发现可用领域、垂直标签和参数定义。
  • 支持带地区和语言选项的垂直搜索与参数化搜索。
  • 并发执行一至五个独立搜索。
  • 保持批量输入顺序,并在单项失败时保留其他成功结果。
  • 按需提供具有明确边界的清洗网页正文。
  • 保留请求 ID 和搜索元数据,便于诊断与支持。
  • 无需 API Key 即可使用匿名额度。
  • 可通过受管 API Key 使用账号级额度。

🧰 可用工具

使用场景 Harness 工具
普通网页搜索 web_search
发现可用领域、标签和参数 anysearch_capabilities
执行垂直搜索或参数化搜索 anysearch_search
并发执行一至五个搜索 anysearch_batch_search

普通联网查询应继续使用 web_search

需要专门搜索时,模型可以先调用 anysearch_capabilities 获取 AnySearch 当前能力目录,再将返回的标签和参数传给 anysearch_search

🪜 安装

Windows、Linux 和 macOS 使用相同的安装命令。

安装前请确保 Node.js、npxpnpm 均可从 PATH 直接运行。

npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh

启动 DeepSeek Harness:

npx -y @deepseek-ai/dsh web

插件会安装到 web profile,并自动将该 profile 的网页搜索 Provider 替换为 AnySearch。

🗺️ 面向 AI Agent 的安装方式

AI Agent 可以获取完整安装指南,通读全文,然后严格按步骤执行:

# 获取完整安装指南,通读全文,然后严格按步骤执行:
curl -fsSL https://raw.githubusercontent.com/anysearch-team/anysearch-dsh/refs/heads/main/docs/agent-installation.md

指南包含前置依赖检查、插件安装、profile 验证、可选凭据配置、启动和完成情况汇报。

🪪 可选 API Key

首次使用不需要 API Key。未配置时,请求使用 AnySearch 匿名额度。

如需账号级额度:

  1. 访问 [anysearch.com](https://anysearch.com/) 注册并登录。
  2. 前往 AnySearch API Keys 控制台获取 Key。
  3. 将 Key 保存到 DSH 管理的 $DSH_HOME/.credentials.yaml;默认位置为 ~/.dsh/.credentials.yaml
ANYSEARCH_API_KEY: "as_sk_your_key"

插件会在每次操作时重新解析受管凭据,因此在凭据文件中轮换 Key 后,下一次请求即可使用新值,无需重启 DSH。

真实凭据不会存入插件配置,也不应出现在源码、命令、日志、截图、Git 历史或模型上下文中。

🧱 可靠性与安全边界

  • Agent 取消操作时会中止正在执行的 AnySearch 请求。
  • HTTP 请求设置 55 秒 deadline,高级工具设置 60 秒执行预算。
  • 拒绝 HTTP 重定向,避免凭据被转发到其他来源。
  • 上游响应必须通过结构校验才能进入 Harness。
  • 上游控制的错误详情会被标记为不可信外部数据,并经过 JSON 引号包装和长度限制。
  • 在发送上游请求前拒绝占位符形式的凭据。
  • 仅在调用方明确请求时保留清洗后的网页正文。
  • 单次搜索响应最多保留 200,000 个字符的清洗正文。
  • 向模型展示的正文使用独立且可配置的字符限制。
  • 批量搜索中的单项失败不会丢弃其他成功结果。

🧪 验证情况

本次发布包含:

  • Provider 和高级工具的单元及集成测试。
  • 匿名与凭据模式的请求测试。
  • 可选的 AnySearch 真实 E2E 测试。
  • npm 发布包内容校验。
  • CI 全量 Git 历史敏感信息扫描。
  • Node.js 22.19 和 Node.js 24 环境验证。
  • 用户指南、手工测试指南、集成方式对比和 AI Agent 安装指南。

🧩 环境要求与当前限制

环境要求:

  • Node.js 22.19 或 Node.js 24+
  • pnpm 11.7
  • DeepSeek Harness

当前限制:

  • DeepSeek Harness 仍处于开发预览阶段,后续可能引入不兼容变更。
  • 本版本暂不提供 anysearch_extract
  • DSH Web 设置页当前不提供第三方 Provider 凭据输入项;可选 API Key 需要通过 DSH 受管凭据文件或环境变量配置。