dsh-oauth-newapi
已验证dsh-oauth-newapi · v0.2.0 · MIT · Web 界面
New API OAuth provider, account configuration, model discovery, and model adapter for DeepSeek Harness
安装
dsh plugin add dsh-oauth-newapi 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
说明文档
dsh-oauth-newapi
面向 DeepSeek Harness 的 New API OAuth 提供方插件。它依赖 dsh-oauth 保存 OAuth 凭据,自己负责站点实例、账号选择、分组、令牌、模型发现和模型路由。
配置
- id: llm-newapi-oauth
name: dsh-oauth-newapi
config:
instances:
- id: company
displayName: Company New API
issuer: https://newapi.example.com
Cordis 配置中的实例是只读预置。用户界面创建的实例保存在 $DSH_HOME/oauth/newapi.json;相同 ID 下预置实例优先。
New API 会通过 discovery 公布站点的唯一公开 DSH 客户端,普通配置只需站点地址。旧站点或特殊部署可在高级设置中覆盖 clientId 和 redirectUri;回调地址必须与 OAuth 应用登记值完全一致,并使用当前机器可监听的固定 loopback 端口。
协议约定
- OAuth:Authorization Code + PKCE S256,仅公开客户端。
- scopes:
openid profile offline_access newapi:groups.read newapi:tokens.read newapi:tokens.create newapi:inference。 - 推理鉴权:
Authorization: Bearer <OAuth access token>与New-Api-Token-Id: <token id>。 - discovery 文档必须包含顶层
newapi_endpoints扩展;可选的newapi_default_client公布唯一默认公开客户端,字段定义见src/discovery.ts。 - access token 和 refresh token 仅由
dsh-oauthHost 管理,不进入本插件状态文件或 Remote。
首次完成账号、分组和令牌配置后,Host 自动获取一次模型;自动尝试在请求前持久化,因此失败或重启不会重复触发。后续由用户手动刷新,失败时保留上一次成功模型列表。
开发验证
pnpm run typecheck
pnpm test
pnpm run build
pnpm run pack:check