HTTP/API 调试工具集:全参数 HTTP 请求(method/headers/body/auth)、curl 命令解析与一步执行、会话内请求历史与响应并排对比、分页 Link 头透出;配合可选 dsh-http-tools-ui 提供 DeepSeek 风格工具卡片。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-http-tools
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:lussey820/dsh-http-tools
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
为 DeepSeek Harness(DSH)打造的 HTTP / API 调试工具集。
dsh-http-tools 让你的 DSH agent 拥有一个完整的 REST 客户端:可以发送任意请求(完整控制 method、headers、body 与认证),粘贴一段 curl 命令让 agent 直接解析或改造后重发,还可以在会话内回顾、对比历史请求——全程都在对话里完成。
附带一个可选的 UI 配套包(dsh-http-tools-ui),在 Web UI 中把每一次 http_request / curl_parse 调用渲染成 DeepSeek 品牌风格的工具卡片。
功能特性
http_request— 完整 REST 客户端:GET/POST/PUT/PATCH/DELETE/HEAD、自定义 headers、body、Basic/Bearer 认证。返回状态码、耗时、大小、响应头、截断后的响应体,以及脱敏后的等价curl命令。curl_parse— 把curl命令解析为结构化请求,或一步解析并发送(execute: true)。request_history— 查询会话内历史请求、查看详情、并排对比两次响应。- 分页友好 —
Link响应头会透出给模型,让它无需再读原始 headers 就能跟进rel="next"/rel="last"。 - 预览瘦身日志 — 持久化的会话日志只保留 6000 字符的 body 预览,日志随请求量增长依然可读。
- DeepSeek 品牌 UI 卡片(配合
dsh-http-tools-ui)— 鲸鱼 logo、品牌色方法徽章、官方状态点(含运行中动画)、跟随主题配色、可折叠 JSON 响应体(JsonTree)、一键复制响应体 / curl。
工具
| 工具 | 说明 |
|---|---|
http_request |
发送 HTTP 请求(GET/POST/PUT/PATCH/DELETE/HEAD),支持自定义 headers、body 与认证。返回状态码、耗时、大小、响应头、截断后的响应体,以及等价的 curl 命令。 |
curl_parse |
把 curl 命令解析为结构化请求(method、URL、headers、body、auth),可加 execute: true 一步解析并发送。 |
request_history |
查询当前会话内的历史请求,查看某次请求的详情,或并排对比两次响应。 |
安装
dsh plugin --profile web add dsh-http-tools
# 可选:Web 客户端的 DeepSeek 品牌 UI 卡片
dsh plugin --profile web add dsh-http-tools-ui
零配置开箱即用。需要 Node.js >= 22(使用原生 fetch)。
UI 卡片
dsh-http-tools-ui 是独立包,为 http_request 与 curl_parse 注册专属工具视图。安装后,每次调用都会在对话里渲染成卡片:
- 鲸鱼 logo + 品牌色方法徽章(
GET/POST/ …) - 官方状态点:成功绿、非 2xx 琥珀、错误红、运行中为像素追逐动画
- 行头摘要:状态 · 耗时 · 大小 · 是否截断
- 可展开的响应:关键 headers 内联展示,JSON 响应体为可折叠树(带复制操作),非 JSON 为纯文本
- 复制响应体 / 复制 curl 按钮,全部颜色跟随主题(
--dsw-*token)
试试
直接对你的 agent 说:
用 http_request 调 https://api.github.com/repos/deepseek-ai/deepseek-harness 看看 star 数
POST https://httpbin.org/post,body 传 {"hello":"world"},看看返回什么
粘贴这个 curl 命令解析一下,然后改个 header 再重发:
curl -X POST https://api.example.com/v1/users -H "Content-Type: application/json" -d '{"name":"ada"}'
用 request_history 对比 #1 和 #3 两次请求的响应差异
配置
所有配置项都可选。在 profile 的 cordis.patch.yml 中设置:
- id: http-tools
name: dsh-http-tools
config:
maxBodyChars: 524288 # 返回给模型的响应体字符上限
timeoutMs: 10000 # 单请求超时(毫秒)
blockedHosts: [] # 禁止访问的主机名(例如 ['169.254.169.254'])
localOnly: false # true = 只允许访问回环 / 私网地址
historyLimit: 50 # 会话内请求历史保留条数
auditHeader: true # 为每个请求附加 X-DSH-Request 审计头
安全模型
- 默认允许访问任意 URL;每个请求都会带上
X-DSH-Request审计头,便于服务端识别 agent 流量。 blockedHosts会在任何网络 I/O 之前拒绝精确主机名及其子域(例如拦截云元数据端点169.254.169.254)。localOnly: true将请求限制在回环与私网范围——一键"本地调试模式"。- 响应体默认截断在
maxBodyChars(512 KB),请求默认超时timeoutMs(10 秒),失控调用不会淹没模型上下文。 - 凭据(Bearer token、Basic 认证串)只作为请求头发送;生成的
curl命令会把authorization、cookie、proxy-authorization、x-api-key的值脱敏为***,避免密钥泄漏进会话日志与请求历史。
开发
pnpm install
pnpm test # vitest 单元测试
pnpm run typecheck
pnpm run build # tsdown -> lib/
pnpm --filter dsh-http-tools-ui run build # UI client bundle -> ui/lib/
针对本地 DeepSeek Harness 检出做冒烟测试,用引用构建产物的 patch 覆盖层挂载插件:
pnpm run build
# http-tools.patch.yml —— 引用构建后的入口
# (Windows 上绝对路径必须是 file:// URL,并做百分号编码)
- insert:
- id: http-tools
name: /绝对路径/dsh-http-tools/lib/index.js # POSIX
# name: file:///C:/Users/.../dsh-http-tools/lib/index.js # Windows
# 在 deepseek-harness 仓库根目录执行:
pnpm dsh web --patch /绝对路径/http-tools.patch.yml
许可证
MIT
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31292
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3854
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1128
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 499
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 474
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 438
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。