DeepSeek Harness follows a plugin-based core design philosophy. When building agents, the tools and skills available to a model are often very large in number. Directly exposing all capabilities to the model can lead to context bloat and selection confusion. rangeking/dsh-iris aims to solve this specific problem by implementing a progressive capability selection mechanism.
Plugin Introduction¶
rangeking/dsh-iris is a plugin that provides progressive capability routing for DeepSeek Harness and is maintained by RangeKing. Its core logic is: the current model reads brief descriptions, selects a capability ID, and then uses DSH’s normal loading and execution path.
Core Features¶
The plugin mainly provides the following capabilities:
- Progressive Capability Selection: Allows the model to select capabilities based on descriptions.
- Adaptive Modes: Provides multiple operating modes to fit different scenarios.
- MCP Support: Supports the
iris_searchandiris_activateinterfaces. - Native Persona Retention: Does not rely on an additional routing model during routing, preserving the native persona.
Installation and Configuration¶
Install the plugin using the officially provided command.
dsh plugin --profile web add dsh-iris
After installation, you can find the Iris control toggle in the DeepSeek Harness interface. Configure it and telemetry settings via Settings → Iris.
The default card budget parameters are as follows (initial product parameters, not token estimates):
iris:
enabled: true
policy: auto
legacyInterface: false
cards:
maxCards: 8
descriptionChars: 200
totalChars: 1800
Typical Usage¶
At the code level, you can directly activate a specific capability by calling iris_activate. For example:
iris_activate({ capabilityId: "tool:text_word_count" })
This approach triggers the import, application, validation, and disclosure process, and ultimately invokes the native ToolRuntime to execute.
Modes and Boundaries¶
The DSH plugin provides four adaptive modes, with the following behavior under different modes:
- Minimal / Preserve: Preserves the native persona, tools, and order; does not enable Iris controls, cards, or automatic activation. Unknown custom modes default to Preserve.
- Standard: Provides core tools and budget cards; hidden or unmounted capabilities require explicit activation; long-tail capabilities are obtained through search.
- Code / PTC: Uses the native
run_codeand the DSH SDK. Running programs remain bound; newly activated capabilities wait for subsequent host steps. - Cordis / creation: Preserves the native persona, creation restrictions, and creation entries, including
cordis_mount/cordis_unmount. A failed search does not authorize plugin creation.
Regarding permissions and runtime boundaries, note the following:
- Metadata Read Safety: Metadata reads never import Providers, load Skill bodies, connect to MCP servers, or execute business tools.
- No Permission Grants from Descriptions: Description text does not grant any permissions.
- No Additional Runtime: Iris does not install community plugins, nor does it create a second Skill/MCP runtime.
- Local Capability Activation: Configured local capabilities require explicit activation and policy checks.
- Native Description Ownership: Native Skill descriptions retain their native owners to avoid generating duplicate cards.
The runtime identity of MCP tools uses the full registered name, such as mcp__github__create_issue, rather than the short display name.
Summary¶
rangeking/dsh-iris helps developers control tool exposure and invocation more precisely in DeepSeek Harness agents through progressive capability routing. Without relying on an additional model, it enables on-demand capability loading via iris_search and iris_activate.
For more technical details and source code, please visit the GitHub repository.