Introduction¶
The core advantage of DeepSeek Harness (DSH) lies in its plugin architecture. When integrating external free models into a local environment, maintaining an additional proxy service or subprocess is usually required. The kilo-zen2dsh plugin uses native adapters to directly provide access to free models from Kilo Gateway and OpenCode Zen inside DSH, without requiring extra local ports or process overhead.
What It Is¶
kilo-zen2dsh is a DSH plugin maintained by Xyanxhu. It registers two independent native LlmAdapter implementations:
* kilo2dsh: Connects to Kilo Gateway.
* opencode2dsh: Connects to OpenCode Zen.
This plugin aims to reduce the configuration complexity when DSH users integrate free models, while also providing automatic model metadata population and automatic context limit calibration.
Core Features¶
- Native adapter operation: The plugin is integrated natively, does not spawn subprocesses, and does not occupy local ports.
- Dynamic model discovery: Uses Kilo’s
isFree/is_freeflags to dynamically discover free models, supportingkilo-auto/freeand the:freesuffix. - Standalone Zen support: Provides a separate OpenCode Zen adapter (
opencode2dsh) and supports retrieving model metadata (such as context window and output limits) from the public capability catalog (models.opencode.ai/api.json), improving availability. - Model filtering mechanism: By default, it only shows models with text output and tool capabilities, making it suitable for DSH agent interaction scenarios.
- Stability assurance: Includes built-in startup retries, periodic refreshing, a 7-day disk cache, and health snapshot mechanisms.
Installation and Activation¶
Install it using the official npm package name:
dsh plugin --profile web add @huanx/kilo-zen2dsh
After installation, restart the dsh web service.
Usage¶
- Open the DSH model selector.
- Select a model from the
kilo2dsh(Kilo) oropencode2dsh(Zen) provider group. - If you want to use Kilo only, or if the Zen gateway returns an
anonymous-lane 429error, you can setzenEnabled: falsein the configuration. - If you need to use an authenticated gateway token, explicitly set the environment variable
upstreamApiKeyEnv.
Notes¶
- Keyless mechanism: Free requests to Kilo actively suppress the
Authorizationheader during transmission, and Zen’s anonymous compatibility lane uses aBearer publicplaceholder. Neither is a workaround for authentication or billing. - Context limit handling: The adapter merges context limit declarations from different sources and uses the smallest positive value as the limit to prevent HTTP 400 errors caused by requests that are too large.
- Model types: Currently, only models with text output and tool capabilities are supported.
- Environment requirements: Node.js 20 or higher is required.
- Authentication configuration: Account tokens are not enabled by default. To use one, explicitly set
upstreamApiKeyEnvorzenApiKeyEnvin the configuration.
Conclusion¶
This plugin solves the pain point of directly integrating free open-source model endpoints in a DSH environment. For more technical details and updates, visit the plugin catalog or view the source repository.