把任意一套 HTTP 接口注册成 agent 可用的文档查询与请求双工具。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-apis-plugin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xianmua/dsh-apis-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
通用接口管理插件(DSH 插件):把任意一套 HTTP 接口注册成 agent 可用的文档查询 + 请求调用双工具。
核心约定:api.cfg 是接口的唯一权威范围——范围外的请求一律拒绝。
版本兼容
需要 DSH >=0.1.7-rc.2(详情页徽章据此显示)。DSH 0.1.5 / 0.1.6 请用旧版 dsh-apis-plugin@0.2.3。
安装
dsh plugin --profile web add dsh-apis-plugin@0.3.1
配置
「API配置」指向一个集合父目录,插件递归扫描其下所有 *.cfg,每个 cfg 是一个集合(集合名取 cfg 的 host 字段):
config/
├── site-a.example.com/
│ ├── api.cfg # host=site-a.example.com
│ └── api_doc.md # 该集合的接口文档
└── site-b.example.com/
├── api.cfg
└── api_doc.md
api.cfg(每个集合一份,必需)
# 集合标识(如域名),用于展示与「集合名/路径」消歧
host=site-a.example.com
# 集合用途说明(可选),展示在接口目录与手风琴中
title=xxx
# 该集合的接口服务前缀
baseUrl=http://your-host/api
# 接口白名单:逐行一个,支持 {param} 模板段
apis=
/users/page
/users/{id}
改 cfg 后点插件详情页的「扫描」(或重启)生效。
api_doc.md(接口文档,建议提供)
与 api.cfg 放在一起,用 --- 分节,每节描述一个接口,节内用反引号标注路径(如 `/users/page`)。agent 调用 {prefix}_api_doc 时按路径命中对应小节返回。
部署侧 cordis.patch.yml(可选)
- insert:
- id: dsh-apis-plugin
name: dsh-apis-plugin
config:
domain: "用户中心" # 领域名:拼进工具描述 prompt
toolPrefix: api # 工具名前缀:生成 api_api_doc / api_api_request
apiDir: "" # 集合父目录默认值(留空则在 UI 里填)
endpoints: [] # 额外固定接口(不随扫描回写)
baseUrl: "" # 服务前缀兜底(api.cfg 优先)
使用
Web UI(设置 → 接口管理)

| 操作 | 说明 |
|---|---|
| API配置 | 填集合父目录,失焦或回车自动保存 |
| 扫描 | 重扫目录;目录留空点击则清空列表 |
| 集合手风琴 | 展示集合名、用途、接口数、baseUrl 与接口列表(只读,增删请在 cfg 中操作) |
Agent 工具
| 工具 | 用途 |
|---|---|
api_api_doc |
查接口文档:传 path 返回该接口的参数与响应说明;不传返回全部接口目录 |
api_api_request |
调用接口:path 必须在白名单内,GET 用 query,POST 用 body |
- path 默认写接口路径(如
/users/page);跨集合同名接口用「集合名/路径」消歧(如site-a.example.com/users/page) - 安全机制:
DELETE需二次确认(首次只返回确认提示,确认后带confirm=true再调);写操作返回结果附带警告块
排查
dsh 控制台日志:
[dsh-apis-plugin] loaded; apiDir=/path/to/config, endpoints=N, collections=a.com,b.com
endpoints=0:检查 apiDir 是否正确、其下是否有含 apis 的*.cfg- 列表与 cfg 不一致:点「扫描」或重启
License
MIT
链接
同类插件
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36599
dsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
Tencent/WeKnora#dsh-weknora★ 36302
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 7042
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 5074
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1575
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1155
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。