Preface¶
When developing agents with DeepSeek Harness (DSH), configuration-level changes (such as registering new tools, modifying the system prompt, or adjusting sampling parameters) can easily cause call behavior drift. Developers typically need to verify, during local debugging or in CI environments, that request parameters match expectations.
dsh-modelprint focuses on answering whether the configuration fingerprint of the current request matches the last known-good configuration. It does not rely on network requests or model loading; it only compares by reading local files.
What This Is¶
This is a DSH plugin that fingerprints the configuration of each request and uses the modelprint_check tool to compare the current live card with the pinned card to detect configuration drift.
The plugin is maintained by jwilson411 and is open source under the MIT license. Its core value is providing a lightweight configuration consistency check, helping developers confirm whether the Harness uses the expected provider, model ID, sampling settings, tool schemas, and system-prompt prefix when assembling requests.
Core Features¶
1. Request Fingerprinting¶
The plugin normalizes requests issued by DSH and generates a “card” containing the following fields:
* provider: provider name.
* model: actual model ID sent.
* temperature: sampling temperature.
* top_p: sampling nucleus value.
* tools_hash: SHA-256 hash of the tool list.
* system_prompt_prefix_hash: SHA-256 hash of the system prompt prefix.
2. Configuration Comparison and Drift Detection¶
Using the modelprint_check tool, the generated live card is compared with the local pinned card. If differences exist, the tool returns all inconsistent field names.
3. Zero Dependencies and Lightweight¶
- No network requests are involved.
- No model loading is required.
- No API key is required.
- I/O only requires reading the pin file.
4. Flexible Pin File Paths¶
The pin file location can be configured via pinPath in cordis.patch.yml, or specified using the environment variable DSH_MODELPRINT_PIN or the default path modelprint.pin.json.
Installation and Enablement¶
Install the plugin with the official CLI command:
dsh plugin --profile web add github:jwilson411/dsh-modelprint
After installation, the plugin automatically appends its dsh.bundle.patch declaration to the profile manifest and loads the cordis.patch.yml configuration layer.
Typical Usage¶
1. Configure the Pin File Path¶
Configure the pin file path in cordis.patch.yml. The priority is: config.pinPath in the configuration file > environment variable DSH_MODELPRINT_PIN > default modelprint.pin.json.
- id: modelprint
config:
pinPath: ./modelprint.pin.json
2. Generate the Pin File¶
On first use, you can call modelprint_check with a non-existent pin path, copy the live field from the returned PIN_MISSING result, and use it to create the pin file.
{
"provider": "deepseek",
"model": "deepseek-chat",
"temperature": 0.2,
"top_p": null,
"tools_hash": "841e5f22...",
"system_prompt_prefix_hash": "d2c86f05..."
}
3. Invoke the Check Tool¶
Invoke the modelprint_check tool in code or the CLI. If the pin parameter is not specified, the configured path is used; if request_json is specified, only the current request is fingerprinted and compared, without overwriting the pin file.
Use Cases and Notes¶
Use Cases¶
- Verify Harness configuration changes in CI/CD workflows.
- Confirm during local development whether tool registration order or the system prompt has been accidentally modified.
- Quickly investigate debugging contexts where request parameters appear abnormal.
Notes¶
- Not an authentication product: This plugin is not a watermark detection, weight-exchange detection, or model authentication tool. It can only prove that the configuration on the requesting side has not changed; it cannot prove that the model itself has not been replaced.
- Intentional false positives: The plugin intentionally produces false positives when deliberate changes are detected in the tool list or system prompt. This is by design, intended to distinguish “intentional configuration changes” from “unintended configuration drift.”
- Environment requirement: Node.js version >= 22.14.0 is required.
- Dependency: The plugin depends on
@deepseek-ai/dsh-toolsversion^0.1.1-rc.2.
Summary¶
dsh-modelprint provides a configuration-fingerprint-based drift detection mechanism. By pinning request parameters in a pin file and comparing them periodically, developers can better track Harness behavior changes.
For more details, please refer to the project homepage: GitHub | Skillhub community directory