← 返回列表
✓ 可直接安装
面向 DeepSeek Harness 的 GitHub Copilot 登录与模型路由插件。
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/10 · 已提供中文文档
GitHub Copilot OAuth 登录及 DeepSeek Harness 的模型路由
综合分
29.5
GitHub 分
29.5
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-oauth-copilotnpm 包 dsh-oauth-copilot 已校验归属本仓库,走 npm 安装最省事
信任档位:需留意实装验证未通过
- 是什么
- dsh 原生插件 · market
- 装得上吗
- 实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 15 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-oauth-copilot @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 08:34:41
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-attachment@deepseek-ai/dsh-authorization@deepseek-ai/dsh-credentials@deepseek-ai/dsh-credentials-local@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-pi-ai@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-oauth-copilot npm · GitHub 面向 DeepSeek Harness 的 GitHub Copilot 登录与模型路由插件。 通过设备码流程登录 GitHub,把 Copilot 授权存入 harness 凭据记录,并注册基于 pi-ai Copilot 模型目录的 github-copilot LLM 路由——全部走官方 seam(ctx.credentials / ctx.authorization / ctx.llm),不依赖第三方 OAuth 基座。 状态:0.2.0 —— 已针对 dsh 0.1.5-rc.1 / pi-ai 0.85.1 构建并验证(typecheck/build/14 tests 全绿,含一条复现 rc.1 modelErrors 契约崩溃的组合级目录解析回归测试)。English: README.md。 为什么不基于社区 dsh-oauth 当前 dsh-oauth(0.2.0)构建于 0.1.0-rc.6/rc.8 包线,其 peer 与出货版 dsh 0.1.x 线在 semver 上互斥(npm 拒绝同 profile 安装)。因此本插件直接对接官方 seam(凭据记录、授权 flow、LLM 适配器),dsh-llm-pi-ai 已注册的 Copilot flow 可直接复用。 安装 发布形态(无需 clone 与构建): dsh plugin --profile web add dsh-oauth-copilot 重启 dsh web 生效。插件的 cordis.patch.yml(llm-github-copilot)经 dsh.bundle.patch 自动加载;profile patch 中的 authorization 服务条目激活登录机制(见兼容性注记)。 开发形态(仓库检出): npm install && npm run build dsh plugin --profile web add /path/to/dsh-oauth-copilot 使用 —— 人工 CLI 为主路径 认证是纯人工终端操作,全程不经过 LLM——非官方模型即使被提示注入,也无法发起或撤销授权。 CLI 随 npm 包提供。可全局安装…… npm install -g dsh-oauth-copilot dsh-copilot-auth login # 打印设备码 URL 与代码;浏览器完成授权 ……或直接用 npx 免安装运行: npx -y dsh-oauth-copilot login dsh-copilot-auth status # grant 过期时间与可用模型 dsh-copilot-auth refresh # 重新拉取账号可用模型清单并写入 grant dsh-copilot-auth logout # 移除本地 grant 仅支持 github.com(GitHub Enterprise 不支持,见"已知限制")。命令绝不回显密钥;provider 错误先脱敏;凭据文件以 0600 原子写落盘。 模型选择器说明 选择器列出 pi-ai 的 advisory 目录(29 个 Copilot 模型),并非每个模型在账号下都可用:选择不可用模型会得到 HTTP 400 "model not supported"。dsh-copilot-auth refresh 会把账号可用清单(policy=enabled)写入 grant,此后选择器只显示可用项;刷新失败/为空时仍是全量 advisory 列表——重试 refresh,或按 status 输出里的模型选择。 可选:模型端工具(默认关闭) 模型可执行的工具(github_copilot_login / github_copilot_status / github_copilot_logout)默认不注册,仅在 authorization 服务已挂载 且 配置 enableModelTools: true 时出现。工具错误在进入模型上下文前一律脱敏。 - id: llm-github-copilot config: enableModelTools: true # 显式开启;默认 false loginWindowMs: 180000 # 登录工具等待授权的最长时间(毫秒) streamIdleTimeoutMs: 300000 已知限制 - GitHub Enterprise 不支持。 凭据白名单仅接受官方端点(proxy.individual.githubcopilot.com),模型登录工具与 CLI 均显式拒绝企业域。这是安全决策:伪造的 enterpriseUrl 会把 pi-ai 的自动 token 刷新指向攻击者服务器。 - 绑定 0.1.5-rc.1 包线。 peer 范围为 ^0.1.5-rc.1,pi-ai 依赖为 ^0.85.1;未来 dsh 0.2.0 会随适配器契约一起扩展。modelErrors 成员是附加字段,不读取它的宿主会直接忽略。 - CLI 输出为中文(欢迎双语 PR)。 - 请勿在另一进程正在写凭据文件时执行 dsh-copilot-auth login/logout:CLI 使用 0600 原子写,但未持有 dsh 的跨进程写锁。 FAQ - dsh-copilot-auth: command not found —— npm 全局安装包(npm install -g dsh-oauth-copilot),或直接用 npx -y dsh-oauth-copilot login。 - 模型请求返回 HTTP 400 "model not supported" —— 先运行 dsh-copilot-auth refresh,再按 status 输出选模型。 - 如何彻底撤销授权? dsh-copilot-auth logout 移除本地 grant;GitHub → Settings → Applications 撤销 Copilot 授权。 - Web UI 里登录按钮在哪? 没有(dsh 0.1.5-rc.1 的 Models 页不暴露 OAuth 入口);CLI 即登录路径。 - 如何更新插件? npm install -g dsh-oauth-copilot@latest && dsh plugin --profile web add dsh-oauth-copilot(或更新 profile package.json 版本),然后重启 dsh web。 安全姿态 已对照社区实现(dsh-oauth / dsh-oauth-openai)并完成多轮对抗性评审;既定决策: - 凭据校验(src/credential-store.ts 与 CLI):存储载荷做 schema 校验;proxy-ep 端点仅接受官方主机,且任何非空 enterpriseUrl 都会拒绝记录——同时封堵流量重定向与 refresh token 外泄两条路径。 - 设备码流程固定在 github.com:无 redirect_uri、无本地回调端口、scope 固定最小 read:user、每 key 单一授权尝试。 - 错误脱敏:provider 错误先做 JWT/token 正则脱敏再截断展示。 - 模型端权限:登录/注销工具默认关闭;CLI 路径完全不需要模型参与。 - 凭据 0600 存储,不进入 settings/describe/环境变量,CLI 绝不回显。 工作原理 | 部件 | 文件 | 职责 | |---|---|---| | 模型路由 | src/adapter.ts | 以 PiAiAdapter 注册 github-copilot;请求级 apiKey 留空,交由 pi-ai 原生 OAuth 认证 | | 凭据桥 | src/credential-store.ts | 严格校验的 harness 记录 llm-pi-ai/github-copilot(kind grant)↔ pi-ai CredentialStore + 环境 AuthContext | | 人工 CLI | scripts/dsh-copilot-auth.mjs | 纯人工设备码登录/状态/刷新/注销,写入同一凭据记录 | | 登录工具 | src/login-tool.ts | 可选模型工具,驱动 ctx.authorization flow(仅显式开启时注册) | 开发 npm install npm run typecheck npm test # 单元 + 组合 + 凭据校验 npm run build scripts/ 只随仓库发布,不含在 npm 包内:请在仓库检出后运行 node scripts/smoke.mjs # 在临时 DSH_HOME 中把构建产物挂到真实 seam 上冒烟 node scripts/smoke-noauth.mjs # 验证无 authorization 服务时插件树照常启动 node scripts/verify-live.mjs # 真实 grant 端到端探测(使用真实 grant,发送一个最小请求) node scripts/verify-vision.mjs # opencode-go 视觉路由探测(REASONING_EFFORT=low|high|max|off) 兼容性注记 模型路由始终激活;登录工具需要 authorization 服务挂载 + 显式开启。出货版 dsh-base profile 默认不挂该服务——profile patch 已补充挂载。服务缺失绝不能拖垮整个插件树。 License MIT