前言¶
DSH 的扩展方式偏向插件化:不同能力可以按 profile 安装,而不是全部写进主程序。对于 DSH Web profile,如果需要在页面中处理外部 provider 的 OAuth 登录入口,@edge-sky/dsh-oauth-adapter 是一个针对性组件。
下面介绍它的定位、安装方式和适用边界。先说明,它提供的是 OAuth 账户页和 provider 登录入口,不负责管理凭据或维护登录状态。
这是什么¶
@edge-sky/dsh-oauth-adapter 是 edge-sky 维护的 DSH 插件,许可证为 MIT。
它为 DSH Web profile 提供 OAuth 账户页,并通过 DSH Authorization Service 暴露 pi-ai 已有的 provider 登录流程。由于 DSH 当前未挂载 ctx.authorization 服务,该插件会手动挂载该服务。
核心功能¶
该插件支持以下 provider 的 OAuth 登录路径:
- OpenAI Codex:browser callback 或 device code。
- GitHub Copilot:GitHub 或 GitHub Enterprise device code。
- Anthropic:browser callback,并支持 manual code/redirect fallback。
- Kimi For Coding:device code。
- OpenRouter:browser PKCE callback。
- xAI:device code。
需要注意,插件本身不管理 OAuth 凭据,也不维护登录状态。它解决的是在 DSH Web profile 中提供一个可操作 OAuth 登录的账户页。
安装与启用¶
先安装到 DSH Web profile:
dsh plugin --profile web add @edge-sky/dsh-oauth-adapter
如果没有直接安装 dsh 命令,也可以使用:
npx @deepseek-ai/dsh plugin --profile web add @edge-sky/dsh-oauth-adapter
安装完成后,启动 DSH Web:
npx @deepseek-ai/dsh web
典型用法¶
- 执行安装命令,将
@edge-sky/dsh-oauth-adapter安装到webprofile。 - 运行
npx @deepseek-ai/dsh web启动 DSH。 - 在 DSH Web profile 的 OAuth 账户页选择需要登录的 provider。
- 根据 provider 支持的登录路径完成浏览器回调、device code 或手动 code/redirect 回退。
经过上面的步骤,即可在 Web profile 中使用该插件提供的 OAuth 账户页。
适用场景与注意¶
适合使用 DSH Web profile,并希望把 pi-ai 已有 provider 登录入口暴露到页面中的开发者。
使用前需要注意:
- 该插件只提供 OAuth 账户页和登录流程入口,不保存凭据,也不维护登录状态。
- 资料中说明它只在 DSH
0.1.1-rc.2上测试过;升级 DSH 版本前,应先做兼容性检查。 - 作为 DSH 插件,它会随当前
dsh进程权限运行。安装前应检查源码,并确认 MIT 许可符合内部要求。 - DSH 社区目录是独立站点,不是官方应用商店。
链接¶
- GitHub:https://github.com/edge-sky/dsh-oauth-adapter
- 目录页:以 DSH 社区目录站点检索
@edge-sky/dsh-oauth-adapter为准