
Degurechaff57/dsh-openapi
40最近提交 2026年8月13日
dsh-openapi DSH 插件
dsh-openapi 索引配置好的 OpenAPI 文档,并暴露三个面向模型的工具:openapi_list、openapi_describe 和 openapi_call。它内置了只读默认、凭证隔离、SSRF 检查和输出限制等安全机制,无需修改 Harness 代理循环。
如何安装 dsh-openapi DSH 插件
dsh plugin --profile web add github:Degurechaff57/dsh-openapi复制不会执行命令。安装 dsh-openapi DSH 插件前请核对仓库和版本。
dsh-openapi DSH 插件数据来源
dsh-openapi DSH 插件快照日期:2026年8月16日
discovered
dsh-openapi DSH 插件能做什么
- 提供 openapi_list、openapi_describe 和 openapi_call 工具,用于 API 发现、参数检查和验证调用
- 支持 OpenAPI 3.0 和 3.1 规范的 JSON/YAML 格式,并解析本地 $ref 引用
- 强制安全默认值:默认只允许 GET/HEAD 操作,凭证从环境变量注入,阻止私有网络请求,响应体有大小限制
- 支持配置多个 API、静态请求头、方法限制和每个 API 的凭证映射
- 包含 SSRF 防护:阻止私有 IP、localhost,重新检查重定向目标;跨域重定向时剥离凭证
dsh-openapi DSH 插件适合哪些场景
- 让 AI 助手在受控权限下安全地查询公共 API(如 Petstore、天气服务)
- 将内部 REST API 集成到 DeepSeek Harness 工作流中,通过环境变量管理认证令牌
- 从大型 OpenAPI 规范中发现和调用操作,无需将整个文档加载到模型上下文中
- 通过单一对话中的发现、描述和调用工具链,实现 API 测试或数据检索的自动化
dsh-openapi DSH 插件适合谁
- 使用 DeepSeek Harness 的开发者,想要让代理以受控方式访问外部 HTTP API
- 构建基于 AI 的自动化流程的团队,需要消费 OpenAPI 定义的服务,特别是需要凭证管理和安全边界的情况
dsh-openapi DSH 插件的限制
- 仅支持 OpenAPI 3.x(3.0 和 3.1),不支持 OpenAPI 2.x
- 远程 $ref 文档和复杂序列化样式(如 deepObject)尚未实现;插件会直接报错,不会发出模糊请求
- DeepSeek Harness 本身处于开发者预览阶段(已测试 0.1.0-rc.5/6),上游变更可能导致兼容性问题
- 规范必须由管理员配置,模型无法在运行时加载任意规范
dsh-openapi DSH 插件的仓库 README 摘录
以下文字摘自 dsh-openapi DSH 插件的上游仓库 Degurechaff57/dsh-openapi 的 README,版权归原作者,仅作引用。
**Give DeepSeek Harness a safe, structured doorway into any OpenAPI 3.x API.** [中文说明](README.zh-CN.md) · [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) `dsh-openapi` is a native DeepSeek Harness bundle that indexes configured OpenAPI documents and adds three model-facing tools: - `openapi_list` discovers APIs and searches operations. - `openapi_describe` returns parameters, request bodies, servers, and responses for one operation. - `openapi_call` validates and invokes an operation with bounded output. It is plain ESM JavaScript, so installing from GitHub does **not** run a build or `prepare` script. ## Why this plugin Harness already gives an agent a shell. APIs still benefit from a narrower interface: operation discovery without reading a huge spec into the model context, declared-parameter validation, environment-backed credentials, read-only defaults, SSRF checks, and response limits. This plugin provides those controls without patching the Harness agent loop. ## Install ```sh dsh plugin --profile web add github:Degurechaff57/dsh-openapi ``` The bundle installs with an empty API catalog. Add API entries to your profile's `cordis.patch.yml`: ```yam
阅读完整 README仓库许可: MIT
dsh-openapi DSH 插件常见问题
如何在 DeepSeek Harness 中安装 dsh-openapi?
在终端中执行 `dsh plugin --profile web add github:Degurechaff57/dsh-openapi`。该插件是纯 ESM JavaScript,无需构建步骤。安装后,你需要在配置文件 `cordis.patch.yml` 的 `apis` 部分添加 API 条目。
这个插件能让模型调用任意 API 吗?
不能。插件只允许调用你在 `cordis.patch.yml` 中明确配置的 API。模型无法在运行时加载任意 OpenAPI 规范。此外,你还可以限制允许的 HTTP 方法、阻止私有网络目标,并要求使用环境变量凭证。
如何安全地传递 API 令牌或密钥?
使用 API 配置中的 `credentials` 字段。将请求头映射到环境变量。例如,设置 `credentials: [{ header: 'Authorization', env: 'INTERNAL_API_TOKEN', prefix: 'Bearer ' }]`。值在调用时从环境读取,永远不会出现在工具结果中或暴露给模型。
插件支持 OpenAPI 2.x(Swagger)吗?
不支持。目前仅支持 OpenAPI 3.0 和 3.1。如果你有 Swagger 2.0 规范,需要先将其转换为 OpenAPI 3.x 才能使用此插件。
如果 API 返回很大的响应怎么办?
插件会限制响应体大小为 `maxResponseBytes`(默认 256 KB)。超过此限制的响应会被截断。此外,像 `set-cookie` 这样的敏感响应头会从工具结果中剥离以保护用户隐私。