dshbase

插件目录 / Developer / dsh-web-search-tokenrhythm

dsh-web-search-tokenrhythm

已验证 · 实测可装 Joeytisaly

✓ 持续维护 基于 6 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-15最近推送
跨平台平台

功能简介

Developer 类别的 DeepSeek Harness 插件。

✅
我们的评价
可用 — 实测通过,早期项目

Developer 类别的 DeepSeek Harness 插件。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-web-search-tokenrhythm

npm version
license

A web-search provider for DeepSeek Harness that turns the built-in web_search tool into real searches through the Token Rhythm (基元律动) gateway's OpenAI Responses API (web_search tool). No extra account, no new API key — it reuses the key you already store for chat.

Quick start (3 steps)

Run these inside your dsh profile directory (e.g. %USERPROFILE%\.dsh\profiles\web):

# 1. Install the package
pnpm add dsh-web-search-tokenrhythm
// 2. Register the bundle in profiles/web/package.json
"dsh": {
  "profile": {
    "bundles": [
      "@deepseek-ai/dsh-base",
      "@deepseek-ai/dsh-web-app",
      "dsh-web-search-tokenrhythm"   // ← add this line
    ]
  }
}
# 3. Restart dsh web

That's it. The bundle mounts the provider and switches web_search to it automatically — no cordis.patch.yml editing required.

Prerequisites

  • Your gateway must support the OpenAI Responses API with the native web_search tool. Token Rhythm does (deepseek-v4-flash-0731, which declares webSearch: true). Other gateways: check their model metadata before switching.
  • Store an API key so the provider can authenticate. The default credential reference is DEEPSEEK_API_KEY — save it through the web UI (Settings → Models) or your credentials file. Point the provider at another reference with apiKeyEnv if you prefer.

Verify it works

In any chat, ask: “帮我搜一下 XXX” or “search the web for XXX”. The response will include real source links.

Configuration

Key Default Meaning
apiKeyEnv DEEPSEEK_API_KEY Credential reference resolved for each search.
baseURL https://tokenrhythm.studio/v1 OpenAI-compatible endpoint base; /responses is appended.
model deepseek-v4-flash-0731 Search model; must declare webSearch: true on your gateway.
maxTokens 2048 Upper bound on generated answer tokens.
maxRetries 2 Retries for transient gateway 503 responses.

Switching to another gateway

Override the row from your own profile cordis.patch.yml (later layers win):

- id: web-search-tokenrhythm
  name: dsh-web-search-tokenrhythm
  config:
    apiKeyEnv: MY_GATEWAY_API_KEY
    baseURL: https://my-gateway.example/v1
    model: my-web-search-model

Or edit the web-search-tokenrhythm section in the GUI Settings page — it takes effect on the next search without a restart.

Not using a gateway with web_search?

This provider cannot help. Install a different search backend instead (e.g. @deepseek-ai/dsh-web-search-exa or @deepseek-ai/dsh-web-search-perplexity) and set searchProvider to its id.

Troubleshooting

Symptom Cause / Fix
WEB_PROVIDER_CREDENTIAL_MISSING No key for apiKeyEnv. Save it in Settings → Models or set apiKeyEnv to a reference you have.
tools.0.input_schema 类型错误 / invalid tool type The gateway does not support the web_search tool. Switch gateway or provider.
SERVICE_BUSY (HTTP 503) Gateway overloaded; retried automatically up to maxRetries. Retry the search later if it still fails.
Search works but sources have no titles Expected: this gateway returns opened-page URLs plus a generated answer; no structured title/snippet.

How it works

One search issues a full Responses model call with tools: [{ type: 'web_search' }]. The gateway runs server-side retrieval; the model may open several pages (web_search_call items). The provider:

  • collects opened-page URLs as citeable sources[] (deduplicated, #ws_call_id= tracking fragments stripped);
  • takes the model's final_answer text as content;
  • retries transient 503 responses.

Failures surface as WEB_PROVIDER_ERROR; caller cancellation as WEB_ABORTED. MIT licensed.

Development

# Build (TypeScript → lib/)
pnpm exec tsc -b .

# Test (Vitest, 16 cases)
pnpm exec vitest run tests/provider.spec.ts

# Package
npm pack

The package follows the DeepSeek Harness plugin conventions: a Cordis plugin exporting name / inject / apply / Config, plus a bundle patch (cordis.patch.yml) that mounts itself when the package is listed in a profile's dsh.profile.bundles.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-web-search-tokenrhythm」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Joeytisaly/dsh-web-search-tokenrhythm

Headless(CLI)profile:

dsh plugin --profile headless add github:Joeytisaly/dsh-web-search-tokenrhythm

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →