Plugin directory / Developer / deepseek-harness-sdk-rs
deepseek-harness-sdk-rs
Verified · install-tested on dsh Loner1024
What it does
Rust SDK for DeepSeek Harness: drive the harness JSON-RPC runtime as a subprocess
Works — verified, early-stage project
Rust SDK for DeepSeek Harness: drive the harness JSON-RPC runtime as a subprocess It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
DeepSeek Harness Rust SDK
English | 锟斤拷锟斤拷
Rust SDK for driving DeepSeek Harness. The SDK spawns the harness runtime as a subprocess and speaks the line-delimited JSON-RPC 2.0 protocol over its stdio. The runtime is the single-file executable distributed with the Python SDK; the Rust client is a clean-room reimplementation of the protocol, mirroring the Python SDK's layering.
Packages
| Directory | Crate | Responsibility |
|---|---|---|
| sdk | deepseek-harness-sdk-rs |
High-level turn API, low-level JSON-RPC client, and the runtime downloader |
Behavior
The SDK launches the runtime lazily and owns it across run() calls. With no explicit launch channel, the runtime-download feature (default) fetches the platform runtime wheel from a PyPI-style index, verifies its digest, and caches the executable; explicit runtime_bin or command/args callers can disable the feature. Low-level parity with the Python SDK includes per-call request timeout overrides (request_with_timeout), timeout diagnostics from the runtime's stderr tail, symlink-resolved cwd/runtime_cwd handling, and notification-filter failure containment. SDK reference covers lifecycle, results, notifications, runtime selection, configuration, and errors.
Examples
| Example | What it shows |
|---|---|
simple |
Zero-config one-task run. |
resolve |
Resolve the platform runtime through the downloader and print its paths. |
deep_research |
Deep research: web_search/web_fetch plus the subagent tool, with subagent reports rendered from the notification stream. |
export DEEPSEEK_API_KEY=sk-your-key-here
cargo run --example deep_research -- "self-hosted vector databases"
Relationship to DeepSeek Harness
This repository is the standalone home of the Rust SDK. The runtime it drives is the single-file executable published as deepseek-harness-runtime-bin by the DeepSeek Harness project; the SDK speaks that runtime's documented stdio JSON-RPC protocol and pins its own version of the runtime wheel for testing. Contributions land as pull requests to this repository, which also owns crates.io publication of deepseek-harness-sdk-rs through Trusted Publishing.
Contributor workflow
Build and test with cargo fmt --all, cargo clippy --all-targets --features test-support -- -D warnings, and cargo test --features test-support; the test-support feature builds the dsh-fake-runtime binary the mechanism-tier tests drive. CI runs the keyless smoke tier against the real runtime executable downloaded from PyPI; locally it self-skips without the runtime environment variables.
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install deepseek-harness-sdk-rs for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:Loner1024/deepseek-harness-sdk-rs Headless (CLI) profile:
dsh plugin --profile headless add github:Loner1024/deepseek-harness-sdk-rs Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.
Who it's for
Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.
For developers — extending it
The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.