DeepSeek Harness Hub
← 返回列表

paulalesius/dsh-openai-api

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

在运行中的 dsh web 服务器上提供一个与 OpenAI 兼容的端点:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/24 · 已提供中文文档

DSH Web 服务器上兼容 OpenAI 的 /v1/chat/completions(流式和非流式)以及 /v1/models 端点。

综合分
27.4
GitHub 分
27.4
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add paulalesius/dsh-openai-api
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-openai-api

在运行中的 dsh web 服务器上提供一个与 OpenAI 兼容的端点:

GET  /v1/models
POST /v1/chat/completions        (非流式与 SSE 流式)

安装

安装插件:

dsh plugin --profile web add /path/to/openai-api

(从 DSH 源码检出中,同样的命令是 pnpm dsh plugin …。
直接使用路径会链接源码,因此编辑后重启即可生效。全新
检出此仓库时:先重新创建 node_modules —
ln -s /path/to/deepseek-harness/apps/cli/node_modules node_modules。)

卸载插件:

dsh plugin --profile web remove dsh-plugin-openai-api

两者之后都需重启 dsh web。

配置

追加到 ~/.dsh/profiles/web/cordis.patch.yml(安装时附带
disabled: true):

- id: openai-api
disabled: false
config:
model: default
apiKeys:
- local-key

config 块会整体替换插件的默认值。设置
disabled: true 可关闭该端点。更改后重启 dsh web。所有键均为可选:

| 键 | 默认值 | 作用 |
| --- | --- | --- |
| model | default | 在 /v1/models 中公布的模型 id。请求中的 model(缺省,或为此 id)→ 使用宿主机的默认模型选择;任何其他 id 会透传给会话。 |
| provider | 宿主机默认 | 创建的会话所使用的 provider 路由。 |
| apiKeys | 未设置(无认证) | 客户端密钥的非空数组。设置后,请求必须提供其中之一(Authorization: Bearer ),否则返回 401。密钥用于标识调用方;它不选择预设。 |
| cwd | dsh web 进程的工作目录 | 所创建会话的工作目录。必须以 / 开头。 |

使用 API

契约就是 OpenAI 的——开箱即用。

import OpenAI from 'openai'

const client = new OpenAI({
baseURL: 'http://127.0.0.1:3080/v1',
apiKey: 'local-key', // one of the config's apiKeys
})

// The agent preset rides a header; omit it for the default preset.
const preset = { 'X-Agent-Preset': 'custom-agent-preset' }

const reply = await client.chat.completions.create(
{
model: 'default',
messages: [
{ role: 'user', content: 'What are you? ' },
{ role: 'assistant', content: "I'm a DSH agent." },
{ role: 'user', content: 'Write a haiku about that.' },
],
},
{ headers: preset },
)
console.log(reply.choices[0].message.content)

同样的操作,不使用 SDK(仅当你设置了
apiKeys 时才需要 Bearer 头):

curl -s http://127.0.0.1:3080/v1/chat/completions \
-H 'content-type: application/json' -H 'Authorization: Bearer local-key' \
-H 'X-Agent-Preset: custom-agent-preset' \
-d '{"messages":[{"role":"user","content":"hello"}]}'

请求头

X-Agent-Preset

会话所加入的 agent 预设 id——可以是
~/.dsh/.agent-presets/ 中的任何 id,以及随附的预设。

- 缺省 → 默认预设(standard)。
- 未知 id → 返回 400 及名单;重复或逗号连接 → 返回 400。
- 仅在会话创建时解析:相同的 (key, preset) 对始终
恢复同一会话;不同的值则是不同的会话。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(paulalesius)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群