DeepSeek Harness plugin

dsh-host-kimi-search

Registers a kimi-coding web search provider (api.kimi.com/coding/v1/search) into ctx.web, zero-config via the local kimi-coding credentials.

Jump to install

Source facts

Repository
quei4r/dsh-host-kimi-search
Latest update
Aug 19, 2026
Category
Docs & Rendering
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/quei4r/dsh-host-kimi-search
Plugin: dsh-host-kimi-search
Author: quei4r

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-host-kimi-search

中文 | English

DeepSeek Harness (DSH) host plugin: zero-config web search via Kimi Coding.

Registers a kimi-coding search provider on ctx.web that POSTs the built-in web_search tool's requests to https://api.kimi.com/coding/v1/search. Credentials reuse the same key as your local kimi-coding model provider — anyone with a Kimi Coding plan can install it and go, no extra setup.

How it works

  • Credentials are resolved fresh on every search, in this order:

1. DSH credential service (startup env → persistent store ~/.dsh/.credentials.yaml): KIMI_CODING_API_KEYDEEPSEEK_API_KEYKIMI_API_KEY 2. File fallback: api_key from ~/.kimi-code/config.toml or ~/.kimi/config.toml

  • search_results from the response are mapped to standard sources (url / title / snippet / publishedAt), honoring maxResults truncation with a truncated flag
  • 401 and network errors are thrown with explicit messages for easy diagnosis
  • Hardening (v0.2.0): result URLs are restricted to http(s) (a compromised endpoint cannot inject javascript:/data: links into rendered results); response bodies over 5 MB are rejected before parsing (no unbounded reads); unsignaled calls fall back to a 60s timeout

Install

dsh plugin --profile web add dsh-host-kimi-search

Restart dsh web after installing (the plugin entry and the provider both mount at startup).

The bundled patch does two things on install:

1. Inserts the kimi-search plugin entry (registers the provider); 2. Sets the web plugin's searchProvider to kimi-coding (i.e. it takes over the built-in web_search immediately after install — no manual config needed).

> To switch back to official search: edit ~/.dsh/profiles/web/cordis.patch.yml and add a user-layer override (user layer wins over plugin layer): > > ``yaml > - id: web > config: > searchProvider: deepseek-official > ``

Configuration

Env varPurpose
KIMI_CODING_API_KEY / DEEPSEEK_API_KEY / KIMI_API_KEYCredential sources (highest priority first)
KIMI_SEARCH_BASE_URLOverride the search endpoint (for gateway compatibility; default https://api.kimi.com/coding/v1/search)

Files

FilePurpose
package.jsonPackage manifest with the dsh.bundle declaration
index.jsAll host-side logic (apply(ctx) registers the provider, inject: ['web'])
cordis.patch.ymlBundle patch: inserts the plugin entry + switches searchProvider

Compatibility: tested against @deepseek-ai/dsh 0.1.0-rc.6. No third-party runtime dependencies (Node stdlib + global fetch only).

License

MIT