Loner1024/deepseek-harness-sdk-rs

插件Plugin ⭐ 2 MIT

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.

或使用命令行安装(适合开发者)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.

上一个 Prev dsh-vision-plugin 下一个 Next dsh-Bio-image-dup-check