Loner1024/deepseek-harness-sdk-rs
Rust SDK for DeepSeek Harness: drive the harness JSON-RPC runtime as a subprocess
项目介绍Project Overview
这是 DeepSeek Harness 的 Rust SDK 插件,通过子进程启动 harness 运行时,并经 stdio 使用行分隔 JSON-RPC 2.0 通信。它提供高层 turn API、低层客户端、超时控制与运行时下载缓存,适合零配置运行任务、深度研究及自定义 runtime_bin/command 场景。注意:默认会从 PyPI 风格索引下载运行时并校验摘要,离线或受控环境需显式指定运行时或禁用下载特性。
This is a Rust SDK plugin for driving DeepSeek Harness. It launches the harness runtime as a subprocess and communicates over stdio using line-delimited JSON-RPC 2.0, offering a high-level turn API, low-level client, timeout controls, diagnostics, and runtime download/caching. Use it for zero-config task runs, deep research, or custom runtime/command setups. Caveat: by default it downloads the runtime from a PyPI-style index and verifies its digest; offline or controlled environments must specify a runtime binary or disable the download feature.
请帮我了解并安装插件:【deepseek-harness-sdk-rs】【https://github.com/Loner1024/deepseek-harness-sdk-rs】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:Loner1024/deepseek-harness-sdk-rs
把 Loner1024/deepseek-harness-sdk-rs 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
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.
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS