dsh-http
by ZhijiangTang
DSH 结构化 HTTP 请求工具插件。注册一个 http request 工具,基于 Node 内置 fetch ,把每次请求的结果规范化为一个结构化 JSON 对象,供模型与 Code Mode 程序化调用。 零依赖、纯 ESM、无构建 。
DSH plugin: structured HTTP request tool — status/timing/size, auth helpers, JSON parsing
安装
dsh plugin --profile web add github:ZhijiangTang/dsh-httpGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
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
参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
url |
string | ✅ | — | 目标 URL,仅允许 http/https |
method |
enum | — | GET |
GET/POST/PUT/PATCH/DELETE/HEAD |
headers |
object | — | — | 额外请求头,key → string |
body |
string | — | — | 原始请求体;与 json 互斥 |
json |
JSON | — | — | 任意 JSON 值,自动 JSON.stringify 并置 content-type: application/json;与 body 互斥 |
timeoutMs |
number | — | 10000 |
请求超时(毫秒) |
maxBodyChars |
number | — | 4000 |
响应体返回上限(字符数) |
auth |
object | — | — | 认证便捷参数,见下 |
body 与 json 同时提供会返回 { ok: false, error: { stage: 'request', message: ... } }。
输出字段
成功(ok: true):
| 字段 | 类型 | 说明 |
|---|---|---|
status |
number | HTTP 状态码 |
statusText |
string | 状态文本 |
durationMs |
number | 往返耗时(毫秒) |
sizeBytes |
number | 响应体字节数 |
contentType |
string | 响应 content-type,存在时给出 |
headers |
object | 仅存在的响应头:content-type/content-length/location/server |
redirectTo |
string | 3xx 时标注 location 跳转目标 |
json |
object | 响应体 JSON 解析成功时给出;受 maxBodyChars 截断则为 null 且 truncated: true |
text |
string | 非 JSON 响应体的(截断后)文本 |
truncated |
boolean | 响应体是否被截断 |
失败(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://localhost、http://127.0.0.1、http://10.x、http://192.168.x、http://172.16–31.x、http://169.254.x等内网/回环地址。如果模型(或共享给模型的 Code Mode 程序)被诱导发起请求,可能扫描内网、访问本机服务或向云元数据端点(如169.254.169.254)发起请求。不要在不可信的 prompt 或不可信的多租户环境中使用本插件;如确有内网隔离需求,请在插件上游叠加
tools/pre-execute策略进行 URL 门禁。
License
MIT
原始 README: https://github.com/ZhijiangTang/dsh-http/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent