Introduction¶
In the development workflow for DeepSeek Harness (DSH), agents often need to interact directly with external APIs. Without direct network access, debugging these HTTP requests, inspecting response headers, comparing history records, or running curl commands can be very cumbersome. dsh-http-tools provides DSH agents with a full-featured REST client, allowing them to send arbitrary requests during conversations, parse curl commands, and manage request history within a session.
What It Is¶
dsh-http-tools is an HTTP/API debugging toolkit maintained by lussey820 under the MIT License. It adds network request capabilities to the DSH plugin system, addressing the problem that agents cannot directly call external interfaces.
Core Features¶
The plugin provides three core tools along with supporting logging and UI capabilities.
-
http_request
A full-featured REST client. Supports methods such as GET/POST/PUT/PATCH/DELETE/HEAD. You can customize request headers, body, and authentication information. The returned result includes the status code, elapsed time, size, response headers, truncated body, and an equivalentcurlcommand with sensitive information redacted. -
curl_parse
A tool for parsing curl commands. It can parse a curl command into structured parameters, or execute it directly (by settingexecute: true). -
request_history
A tool for managing requests within a session. It can query all requests in the current session, view details of a single request, or compare response differences between two requests. -
Pagination-aware
Pagination awareness. The plugin automatically extracts theLinkfield from response headers and exposesrel='next'andrel='last'information, making it easy for agents to navigate pagination without manually parsing raw headers. -
Preview-slimmed logging
Streamlined logging. When session logs are persisted, they retain a 6000-character body preview, ensuring logs remain readable as request volume increases. -
DeepSeek-branded UI cards
(via the optional UI package) Provides DeepSeek-branded UI card display. Includes a fish-shaped logo, method badge, animated status indicator dot, and collapsible JSON body.
Installation and Enablement¶
Installation requires no additional configuration, but ensure the runtime environment meets the dependency requirements.
- Ensure Node.js is installed on the system, with a version greater than or equal to 22 (the plugin relies on native
fetch). - Run the following command to install the plugin:
dsh plugin --profile web add dsh-http-tools
- If you want to use the DeepSeek-branded UI cards in the Web interface, you can also install the UI companion package:
dsh plugin --profile web add dsh-http-tools-ui
Typical Usage¶
The following are typical operation examples based on the tool features.
- Call an API and check status
Instruction example:
用 http_request 调 https://api.github.com/repos/deepseek-ai/deepseek-harness 看看 star 数
- Send a POST request
Instruction example:
POST https://httpbin.org/post,body 传 {"hello":"world"},看看返回什么
- Parse and resend a curl command
Instruction example:
粘贴这个 curl 命令解析一下,然后改个 header 再重发:
curl -X POST https://api.example.com/v1/users -H "Content-Type: application/json" -d '{"name":"ada"}'
- Compare historical requests
Instruction example:
用 request_history 对比两次请求的响应差异
Notes¶
- Zero-configuration operation: The plugin works out of the box and allows access to all URLs by default.
- Security and auditing: By default, each request is marked with an
X-DSH-Requestaudit header so servers can identify agent traffic. Sensitive credentials (such as Bearer Tokens and Cookies) are masked in generatedcurlcommands and logs. - Runtime environment: The plugin runs with the current permissions of the DSH process. Review the source code and license before installing.