前言¶
在 DeepSeek Harness (DSH) 的开发流程中,智能体经常需要直接与外部 API 交互。在没有直接网络访问的情况下,调试这些 HTTP 请求、查看响应头、对比历史记录或执行 curl 命令变得非常繁琐。dsh-http-tools 为 DSH 智能体提供了一个完整的 REST 客户端,使其能够在对话中发送任意请求、解析 curl 命令并管理会话内的历史记录。
它是什么¶
dsh-http-tools 是一个 HTTP/API 调试工具集,由 lussey820 维护,采用 MIT 许可证。它为 DSH 插件体系增加了网络请求能力,解决智能体无法直接调用外部接口的问题。
核心功能¶
该插件提供了三个核心工具以及配套的日志与 UI 支持。
-
http_request
全功能的 REST 客户端。支持 GET/POST/PUT/PATCH/DELETE/HEAD 等方法。你可以自定义请求头、Body 和认证信息。返回结果包含状态码、耗时、大小、响应头、截断的 Body 以及一个去除了敏感信息的等效curl命令。 -
curl_parse
解析 curl 命令的工具。可以将 curl 命令解析为结构化参数,或者直接执行它(通过设置execute: true)。 -
request_history
管理会话内请求的工具。可以查询当前会话中的所有请求,查看单条请求的详情,或者对比两条请求的响应差异。 -
Pagination-aware
分页感知。插件会自动提取响应头中的Link字段,暴露rel='next'和rel='last'信息,方便智能体进行分页导航而无需手动解析原始 Header。 -
Preview-slimmed logging
日志瘦身。会话日志在持久化时会保留 6000 字符的 Body 预览,确保随着请求量的增加,日志依然保持可读性。 -
DeepSeek-branded UI cards
(通过可选的 UI 包) 提供 DeepSeek 品牌化的 UI 卡片展示。包含鱼形 logo、方法徽章、状态指示点(带动画)、以及可折叠的 JSON Body。
安装与启用¶
安装过程不需要额外配置,但需要确保运行环境满足依赖要求。
- 确保系统已安装 Node.js,版本需大于等于 22(插件依赖原生
fetch)。 - 执行以下命令安装插件:
dsh plugin --profile web add dsh-http-tools
- 若希望在 Web 界面获得 DeepSeek 品牌的 UI 卡片展示,可同时安装 UI 伴侣包:
dsh plugin --profile web add dsh-http-tools-ui
典型用法¶
以下是基于工具功能的典型操作示例。
- 调用 API 检查状态
指令示例:
用 http_request 调 https://api.github.com/repos/deepseek-ai/deepseek-harness 看看 star 数
- 发送 POST 请求
指令示例:
POST https://httpbin.org/post,body 传 {"hello":"world"},看看返回什么
- 解析并重发 curl 命令
指令示例:
粘贴这个 curl 命令解析一下,然后改个 header 再重发:
curl -X POST https://api.example.com/v1/users -H "Content-Type: application/json" -d '{"name":"ada"}'
- 对比历史请求
指令示例:
用 request_history 对比两次请求的响应差异
注意事项¶
- 零配置运行:插件开箱即用,默认允许所有 URL 的访问。
- 安全与审计:默认情况下,每个请求都会被标记
X-DSH-Request审计头,以便服务器识别代理流量。敏感凭证(如 Bearer Token、Cookie)会在生成的curl命令和日志中被屏蔽。 - 运行环境:插件在 DSH 进程的当前权限下运行,安装前请检查源码与许可证。