deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ZhenMoon/dsh-http
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A generic HTTP/API client plugin for DeepSeek Harness (DSH), built as a dynamic Cordis plugin. It gives the agent one http_request model tool for arbitrary HTTP calls — any method, custom headers, JSON or text bodies, timeouts, redirect policies, and response truncation.
No npm dependencies. Requests run in a tiny subprocess driver that uses Node's built-in fetch (Node ≥ 22), speaking a JSON-lines protocol on stdio.
| Piece | Where | Role |
|---|---|---|
http-driver.mjs |
spawned subprocess | One request at a time over Node's global fetch; returns status, headers, body, byte count, elapsed time |
Host half (host-half.js) |
DSH host process | Spawns/restarts the driver, registers the http_request tool |
DSH agent ──http_request──▶ host half ──stdio JSON──▶ http-driver.mjs ──fetch──▶ any HTTP(S) endpoint
cordis_define / cordis_run tools)fetch)Place this repo somewhere on the machine, e.g. C:\dsh-http.
In host-half.js, set the DRIVER constant to the absolute path of http-driver.mjs on your machine:
const DRIVER = 'C:\\dsh-http\\http-driver.mjs'
In your DSH session, define the plugin — paste the entire content of host-half.js into code.host (there is no Client half, so code.client is omitted and no approval is needed):
cordis_define(plugin: { kind: "new", idPrefix: "http" },
name: "dsh-http",
purpose: "Generic HTTP/API client: http_request tool",
code: { host: <host-half.js> })
cordis_run(pluginId, packageId, mode: "run")
Smoke-test the driver standalone any time:
node http-driver.mjs --selftest
| Tool | What it does |
|---|---|
http_request |
Arbitrary HTTP call. Params: method (GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS), url, headers (object), json (serialized to body, sets Content-Type) or body (raw text), timeoutMs (default 30 s, max 120 s), maxBytes (response truncation, default 100 KB, max 2 MB), redirect (follow/manual/error). Returns {status, statusText, finalUrl, headers, body, bytes, truncated, elapsedMs} |
truncated: true.process/env, so the driver path must be a literal in host-half.js.MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。