Chuyển đến nội dung chính

dsh-oauth-newapi

Đã xác minh

dsh-oauth-newapi · v0.2.0 · MIT · Giao diện web

New API OAuth provider, account configuration, model discovery, and model adapter for DeepSeek Harness

Cài đặt

dsh plugin add dsh-oauth-newapi

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Thẻ

Readme

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 客户端,普通配置只需站点地址。旧站点或特殊部署可在高级设置中覆盖 clientIdredirectUri;回调地址必须与 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-oauth Host 管理,不进入本插件状态文件或 Remote。

首次完成账号、分组和令牌配置后,Host 自动获取一次模型;自动尝试在请求前持久化,因此失败或重启不会重复触发。后续由用户手动刷新,失败时保留上一次成功模型列表。

开发验证

pnpm run typecheck
pnpm test
pnpm run build
pnpm run pack:check