DeepSeek Harness 插件

dsh-http

DSH plugin: structured HTTP request tool (http_request) built on the Node built-in fetch.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
ZhijiangTang/dsh-http
最近更新
2026年8月16日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/ZhijiangTang/dsh-http
插件名:dsh-http
作者:ZhijiangTang

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-http

DSH 结构化 HTTP 请求工具插件。注册一个 http_request 工具,基于 Node 内置 fetch,把每次请求的结果规范化为一个结构化 JSON 对象,供模型与 Code Mode 程序化调用。零依赖、纯 ESM、无构建

简介

  • 工具名:http_request
  • 能力:任意 http/https 请求(GET/POST/PUT/PATCH/DELETE/HEAD)、自定义请求头、原始 body、JSON 自动序列化、Bearer/Basic 认证便捷参数、超时与响应体截断。
  • 行为:永不抛异常。网络错误、超时、参数错误都折叠为 { ok: false, error: { stage, message } };成功返回 { ok: true, status, statusText, durationMs, sizeBytes, ... }

安装

dsh plugin --profile <name> add file:./plugins/dsh-http
# 或发布后:
dsh plugin --profile <name> add dsh-http

参数

参数类型必填默认说明
urlstring目标 URL,仅允许 http/https
methodenumGETGET/POST/PUT/PATCH/DELETE/HEAD
headersobject额外请求头,key → string
bodystring原始请求体;与 json 互斥
jsonJSON任意 JSON 值,自动 JSON.stringify 并置 content-type: application/json;与 body 互斥
timeoutMsnumber10000请求超时(毫秒)
maxBodyCharsnumber4000响应体返回上限(字符数)
authobject认证便捷参数,见下

bodyjson 同时提供会返回 { ok: false, error: { stage: 'request', message: ... } }

输出字段

成功(ok: true):

字段类型说明
statusnumberHTTP 状态码
statusTextstring状态文本
durationMsnumber往返耗时(毫秒)
sizeBytesnumber响应体字节数
contentTypestring响应 content-type,存在时给出
headersobject仅存在的响应头:content-type/content-length/location/server
redirectTostring3xx 时标注 location 跳转目标
jsonobject响应体 JSON 解析成功时给出;受 maxBodyChars 截断则为 nulltruncated: true
textstring非 JSON 响应体的(截断后)文本
truncatedboolean响应体是否被截断

失败(ok: false):{ ok: false, error: { stage: 'request', message } }

认证用法

auth 参数在内存中生成 Authorization 头(不落盘、不进日志参数):

// Bearer
{ "auth": { "type": "bearer", "token": "<token>" } }
// Basic
{ "auth": { "type": "basic", "username": "user", "password": "pass" } }

token / username / password 缺失时返回 { ok: false, error: { stage: 'request', message: ... } }

安全与内网访问风险提示

> ⚠️ 本工具是本地个人工具不内置 SSRF 拦截。唯一的安全校验是 URL scheme 必须是 http/https。 > > 这意味着它可以访问 http://localhosthttp://127.0.0.1http://10.xhttp://192.168.xhttp://172.16–31.xhttp://169.254.x 等内网/回环地址。如果模型(或共享给模型的 Code Mode 程序)被诱导发起请求,可能扫描内网、访问本机服务或向云元数据端点(如 169.254.169.254)发起请求。 > > 不要在不可信的 prompt 或不可信的多租户环境中使用本插件;如确有内网隔离需求,请在插件上游叠加 tools/pre-execute 策略进行 URL 门禁。

License

MIT