Introduction

A common issue when configuring DeepSeek Harness (DSH) with Trae credits or WorkBuddy credits is: model chat works normally, but web_search keeps returning 401 errors. This happens because DSH’s built-in search module only accepts a DEEPSEEK_API_KEY, which does not exist in credit-based configurations.

The dsh-web-search-nokey plugin fixes this issue by registering a credential-free WebSearchProvider on ctx.web and forwarding queries directly to public search pages.

Overview

  • Name: dsh-web-search-nokey
  • One-liner: Keyless web search for DeepSeek Harness
  • Author: a1435473620
  • Category: Web tools
  • License: MIT

Core Features

  • Keyless search: No API key configuration is required; it calls public search interfaces directly.
  • Fixes 401 errors: Specifically resolves the issue where web_search returns 401 under Trae / WorkBuddy credit configurations.
  • Multiple backend support: Uses Bing RSS, Bing HTML, and 360 Search as search backends.
  • Environment variable support: Parameters can be configured via environment variables prefixed with DSH_WEB_SEARCH_NOKEY_*.
  • Proxy support: Proxies can be configured through a config file or environment variables.

Installation

Install it using DSH’s plugin command. It takes effect immediately after installation without modifying configuration or restarting.

dsh plugin --profile web add github:a1435473620/dsh-web-search-nokey

After installing on npm, you can also use the short name:

dsh plugin --profile web add dsh-web-search-nokey

Uninstall:

dsh plugin --profile web remove dsh-web-search-nokey

Configuration and Usage

Call web_search directly, and requests will be automatically routed to this plugin.

The plugin package includes cordis.patch.yml, which pins web.searchProvider to this plugin to prevent conflicts with DSH’s built-in backend from causing search failures.

Usually, no configuration changes are required. If adjustments are needed, you can edit cordis.patch.yml in the profile (or set environment variables instead):

Field Default Description
engines bing-rss, bing-html, so360 Backend order, i.e., fallback order
maxResults 8 Maximum number of search results per request
timeoutMs 12000 Timeout for a single upstream request
proxy empty Fill in when a proxy is required, for example http://127.0.0.1:7897

The environment variable override format is DSH_WEB_SEARCH_NOKEY_ plus the configuration item name (for example, DSH_WEB_SEARCH_NOKEY_PROXY). System environment variables HTTPS_PROXY / HTTP_PROXY are also supported.

Notes

  • 360 Search behavior: 360 Search results are redirect shells, meaning a click is required to reach the actual page. It is only used as a fallback backend.
  • Missing dates: Most results do not include a publication date (Bing RSS returns fetch time rather than publication time), so older pages may appear more recent.
  • Rate-limit risk: This uses public search pages, not an official API. Excessive usage may be rate-limited. Logs record engine=xxx failed and the plugin automatically switches backends.
  • Zero dependencies: No extra tools or UI are included, and it does not depend on any external libraries.

Conclusion

For DSH users who use Trae or WorkBuddy credits, this is a practical solution to web_search 401 errors. It does not add extra features; it focuses on solving the core pain point: searching without an API key.