In the DeepSeek Harness (DSH) ecosystem, ctx.web is the entry point for extending web capabilities. Typically, web search and web fetch require configuring providers separately and often require different credentials. The dsh-web-kimi plugin solves this pain point by registering the Kimi Coding API under both ctx.web entry points, allowing a single coding-plan key to cover both search and fetch scenarios.
Plugin Positioning¶
dsh-web-kimi is a DSH plugin designed to integrate Kimi Coding’s capabilities directly into Harness’s Web module. It registers two providers to the ctx.web seam, unifying the authentication logic.
The plugin registers the following two providers:
* kimi-coding: Serves as WebSearchProvider and connects to Kimi Coding’s search interface (POST /v1/search). Returned results include url, title, snippet, and publishedAt.
* kimi-coding-fetch: Serves as WebFetchProvider and connects to Kimi Coding’s fetch interface (POST /v1/fetch). Supports server-side JavaScript rendering and returns clean Markdown-formatted content.
Both share the same coding-plan key and support a read-only fallback from the Kimi CLI configuration file.
Installation¶
Install the plugin using DSH’s CLI tool:
dsh plugin --profile web add dsh-web-kimi
After installation, the plugin automatically selects kimi-coding as the search provider and kimi-coding-fetch as the fetch provider.
Configuration and Usage¶
GUI Configuration¶
In DSH’s graphical interface, open Settings → Web Search (Kimi) to complete basic configuration:
- API Key: Enter the Kimi Coding API key. This value is stored in DSH’s credential service.
- Base URL: Configure the base API address (default is
https://api.kimi.com/coding/v1). - Page Crawling: Controls whether page crawling is enabled. This setting is passed to the search interface.
After saving, the configuration takes effect immediately without restarting Harness.
Credential Priority¶
If not configured in the GUI, the plugin attempts to obtain credentials in the following order:
- Value stored in the GUI card
- Environment variable
KIMI_CODING_API_KEY - Environment variable
KIMI_API_KEY ~/.kimi/config.toml(Kimi CLI configuration file, read-only)
Functional Description¶
Web Search¶
Search results are mapped to DSH’s WebSearchSource structure. The plugin forwards and displays only absolute URLs that start with http(s). The search response body has a processing limit of 5 MB.
Web Fetch¶
The fetch feature supports server-side JavaScript rendering and is well suited for retrieving dynamically loaded web content.
* Limits: The size limit for a single fetch is 2 MB. If the content exceeds this size, the result includes a truncated flag indicating that the content has been truncated.
* Tool Gating: The web_fetch tool is disabled by default and is gated by dsh-tool-web. This is to address SSRF (Server-Side Request Forgery) security risks. Fetch operations only take effect after the tool is enabled.
Notes¶
- Configuration File Safety: The plugin never writes any data to
~/.kimi/config.toml. It only reads this file as a fallback credential source. - Credential Type: Ensure you are using a Kimi Coding API Key, not a general Chat API Key or platform key.
- Service Permissions: If a 403 error occurs, the current coding-plan subscription may not have search/fetch services enabled. Verify in the Kimi console that the services are enabled.
Summary¶
dsh-web-kimi provides a unified entry point that allows DeepSeek Harness to directly use a Kimi Coding subscription to perform search and fetch tasks. It uses server-side rendering and reasonable limiting strategies to retrieve dynamic content while controlling risk.
- GitHub Repository: https://github.com/kenny2077/dsh-web-kimi
- Ecosystem Directory: https://www.skillhub.cn/plugins/kenny2077/dsh-web-kimi