🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Copilot 登录 lujianjun19/dsh-llm-github-copilot

DeepSeek Harnessv0.4.11
lujianjun199 天前有提交已提供中文文档扫描:未发现敏感能力

为 DeepSeek Harness 提供 GitHub Copilot 登录。

42.7/100
综合分
12
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:engines.node 要求 >=24,不满足 Node 22.19.0。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add lujianjun19/dsh-llm-github-copilot
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · platform
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

engines.node 要求 >=24,不满足 Node 22.19.0

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@lujianjun19/dsh-llm-github-copilot @ 0.4.11
✗Node 引擎要求 >=24 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 22:57:43

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/index.js:80
    const ProxyAgent = undici.ProxyAgent;
  • 发起网络请求
    lib/index.js:117
    if (dispatcher === void 0) return fetch(url, init);
  • 发起网络请求
    lib/index.js:118
    return fetch(url, { ...init, dispatcher });
  • 发起网络请求
    lib/client.js:144
    const response = await fetch(`${API}${path}`, {
  • 写入剪贴板
    lib/client.js:237
    const copy = async () => { if (await writeClipboard(state.userCode)) setCopied(true); };
  • 写入剪贴板
    lib/client.js:325
    if (await writeClipboard(status?.userCode ?? "")) setCopied(true);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cosmokit@deepseek-ai/schemastery@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-credentials@deepseek-ai/dsh-credentials-local@deepseek-ai/dsh-settings@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-commands@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-connection
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-llm-github-copilot 为 DeepSeek Harness 提供 GitHub Copilot 登录。 本插件提供 GitHub OAuth 设备流登录页面和斜杠命令,并写入 Harness 内置 github-copilot 提供方使用的凭据。它不注册 LLM 适配器,也不维护模型目录:token 交换与刷新、模型可用性、请求、图片和流式处理均由 Harness 的 @deepseek-ai/dsh-llm-pi-ai 路由负责。可用模型取决于该路由的目录和账号权限,而不只取决于 Copilot 订阅。参见 ADR-0002。 依赖要求 - 支持的 Harness 版本: 0.1.7-rc.1 至 0.1.7-rc.2、0.2.0-rc.1 至 0.2.0-rc.2,以及 0.2.1-rc.2 至 0.2.1-rc.3,搭配 @deepseek-ai/cordis ^4.0.4。开发基线为 0.2.1-rc.3。 - 声明的 Harness peer 范围: ^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.2(见 package.json)。不能把 npm 持续变化的 latest/next 标签当成支持承诺。验证范围见 0.2.1 兼容性评估。
展开完整文档(README 剩余 1 节)
dsh-llm-github-copilot

为 DeepSeek Harness 提供 GitHub Copilot 登录。

本插件提供 GitHub OAuth 设备流登录页面和斜杠命令,并写入 Harness 内置 github-copilot 提供方使用的凭据。它不注册 LLM 适配器,也不维护模型目录:token 交换与刷新、模型可用性、请求、图片和流式处理均由 Harness 的 @deepseek-ai/dsh-llm-pi-ai 路由负责。可用模型取决于该路由的目录和账号权限,而不只取决于 Copilot 订阅。参见 ADR-0002。

依赖要求

- 支持的 Harness 版本: 0.1.7-rc.1 至 0.1.7-rc.2、0.2.0-rc.1 至 0.2.0-rc.2,以及 0.2.1-rc.2 至 0.2.1-rc.3,搭配 @deepseek-ai/cordis ^4.0.4。开发基线为 0.2.1-rc.3。
- 声明的 Harness peer 范围: ^0.1.7-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.2(见 package.json)。不能把 npm 持续变化的 latest/next 标签当成支持承诺。验证范围见 0.2.1 兼容性评估。
- Harness 自带的 @deepseek-ai/dsh-llm-pi-ai 路由,以及 dsh-credentials-local 等凭据服务。默认 Web profile 已提供这些组件,自定义组合需自行挂载。
- 一个有 Copilot 使用权限的 GitHub 账号。
- Node.js ≥ 24;执行 dsh plugin 命令时,PATH 中须有 pnpm ≥ 9。

安装

以下命令均针对 web profile。其默认目录是 ~/.dsh/profiles/web;设置了 DSH_HOME 时则为 $DSH_HOME/profiles/web。

从 npm 安装(推荐)

dsh plugin --profile web add @lujianjun19/dsh-llm-github-copilot -w

从 GitHub 安装

dsh plugin --profile web add github:lujianjun19/dsh-llm-github-copilot -w

这会安装仓库默认分支,可能包含尚未发布的变更。如果 pnpm 提示需要批准构建,请将提示中的精确键名加入 profile 的 pnpm-workspace.yaml 中的 allowBuilds,然后重新执行安装命令。不要根据仓库名猜测键名。

dsh plugin 会将本包注册到 profile 的 dsh.profile.bundles,并加载包内的 cordis.patch.yml。不要再向 profile patch 添加本插件的 insert 条目。 如果旧安装保留了手动注册,请在采用 bundle 安装时移除重复条目。

停止正在运行的实例,然后重新启动该 profile:

dsh web

更新插件的客户端 bundle 后,对已打开的浏览器标签页执行硬刷新。

更新

通过 Harness 的包管理入口更新,以保持 profile 的 pnpm lockfile 和 bundle 列表同步:

dsh plugin --profile web update @lujianjun19/dsh-llm-github-copilot --latest -w

如需指定版本,将 X.Y.Z 替换为目标版本号:

dsh plugin --profile web add @lujianjun19/dsh-llm-github-copilot@X.Y.Z -w

profile 的 pnpm minimumReleaseAge 策略可能延迟新版本的安装。如果实际安装版本偏旧,请检查该策略;确需放行时,仅将目标包和版本加入 minimumReleaseAgeExclude,再按精确版本安装。不要假设 @latest 一定选中了目标版本,也不要在 pnpm 管理的 profile 中混用 npm install。

重启 DSH 并硬刷新浏览器。在 设置 → GitHub Copilot 页面底部确认安装版本,或执行:

dsh plugin --profile web list @lujianjun19/dsh-llm-github-copilot

登录

打开 设置 → GitHub Copilot 并点击登录,也可以在 Harness 对话框中运行:

/copilot-login

在浏览器中打开提示的 GitHub 验证链接,输入设备码,并授权 GitHub App(VS Code)。Host 会在后台持续轮询,授权完成后自动保存凭据。Web 登录界面会自动更新,聊天命令弹出的登录对话框会在检测到登录成功后关闭。

查看已保存的凭据状态:

/copilot-status

authenticated 仅表示存在长期 token,不代表已通过实际 API 请求验证。只有下游路由已记录 availableModelIds 时,该命令才报告模型数量;它不会请求或列出模型。路由首次交换 token 前,可能没有数量信息。

删除本机凭据:

/copilot-logout

Web 界面会要求确认。退出登录会删除 grant 和可写的 token 引用,但不会撤销 GitHub 上的授权,也不会删除已配置的模型提供方。如果只读引用或环境变量/.env fallback 仍提供 token,界面和命令会明确提示退出尚未完成,需要移除外部 token 并重启。此时状态 API 返回 credentialRemaining: true,不会返回 token 本身。

使用已有 OAuth token

可以用长期 GitHub OAuth token 代替设备流登录:

export GITHUB_COPILOT_OAUTH_TOKEN='<your-github-oauth-token>'
dsh web

凭据服务就绪后,插件仅在 grant 尚不存在时将该 token 写入 grant。已有 grant 的优先级高于环境变量或凭据引用。在将环境变量引用视为只读的 Harness 版本中,沿用过程只写入 grant,不尝试覆盖环境变量。

应使用兼容 Copilot OAuth 流程取得的 token,而不是短期 Copilot API token。本插件不校验 token 前缀,也不保证任意 PAT 或 gh auth login 取得的 token 都有 Copilot 权限。

使用环境变量 token 时,如需退出登录,请先从启动环境移除该变量,在没有它的环境中重启 DSH,再执行 /copilot-logout。否则旧版 Harness 会拒绝清除只读引用;新版虽可删除文件中的覆盖值,仍会回退到环境变量 token。后续启动时还可能被重新沿用。

选择模型

登录只发布凭据,不会添加提供方配置。

1. 打开 设置 → 模型,注意这与本插件的登录页面不同。
2. 如果尚未配置,选择添加提供方,从内置目录选择 github-copilot。使用已保存的 grant 时,无需自定义 endpoint 或粘贴 API key。
3. 保存后重新打开聊天输入框的模型选择器,在 github-copilot 下选择模型。
4. 发起请求。Harness 路由会按需将长期 GitHub token 交换为短期 Copilot token、自动刷新,并推导账号对应的端点。

在已验证的 Harness 基线上,模型选择器来自路由的配置目录。打开选择器不代表已经按账号动态发现模型或验证认证成功;退出登录后,目录条目也可能仍然可见。插件既不会过滤这些条目,也不会补充下游目录中没有的模型。参见模型列表跟踪问题。

如果从旧适配器版本(截至 0.4.5)升级,请把设置和会话中已移除的 github-copilot-official 提供方改为 github-copilot,并选择当前目录中可用的模型。已有 token 引用会被自动沿用;只要 token 仍然有效,就无需再次登录。

配置

本插件无需配置即可使用。唯一选项 oauthTokenEnv 指定读取已有 token 的凭据引用/环境变量名,并在该引用可写时保存一份登录后的 token:

- id: llm-github-copilot
config:
oauthTokenEnv: GITHUB_COPILOT_OAUTH_TOKEN

将这段覆盖配置写入活动 profile 的 cordis.patch.yml,不要再添加 insert。实时设置使用该 profile patch,不使用单独的 settings.yaml 设置段。

路由实际读取的 grant 始终位于 llm-pi-ai/github-copilot;修改 oauthTokenEnv 不会移动它,也不会创建第二个账号或提供方。模型、端点和请求行为均在 Harness 路由的 llm-pi-ai 条目下配置,不在本插件中。

开发

需要 Node.js ≥ 24 和 npm。在仓库根目录操作,修改 src/host/ 和 src/client/,不要编辑生成的 lib/ 文件。

npm ci
npm run build # 合并源码分片 → lib/index.js 和 lib/client.js
npm test # 测试生成产物、凭据交接、i18n、元数据和 README 契约
npm run check # 构建 + 产物测试 + npm pack 演练(prepack 会执行完整测试集)

针对所支持 RC 版本运行打包安装和真实浏览器检查:

npx playwright install chromium
npm run test:harness -- 0.2.1-rc.2
npm run test:harness -- 0.2.1-rc.3

这些检查使用独立临时 DSH_HOME 和模拟 GitHub 响应,不使用你的凭据,也不发起真实 Copilot 请求。CI 还覆盖 0.2.0-rc.2。测试选项以及分支、PR、发布规则见开发工作流。

全部检查通过后,可选择部署到本地 Web profile:

npm run deploy # 构建 → 产物测试 → 原子部署,保留回滚备份

该命令直接复制发布文件和运行时依赖,不执行 npm install,也不会替 profile 注册尚未存在的 bundle。首次安装当前 checkout 时,先构建,再执行:

dsh plugin --profile web add . -w

修改 Host 代码后需重启 DSH;仅修改 Client 代码时,硬刷新(Ctrl+Shift+R)通常就足够了。

回滚本地部署

npm run deploy 会将已有安装备份到 ${DSH_HOME:-$HOME/.dsh}/plugin-backups/dsh-llm-github-copilot/,最多保留五份备份。目录名包含版本号和时间戳。

停止 DSH,选定备份后替换安装目录,不要将备份复制到一个已存在的插件目录内部:

PLUGIN="${DSH_HOME:-$HOME/.dsh}/profiles/web/node_modules/@lujianjun19/dsh-llm-github-copilot"
BACKUP="${DSH_HOME:-$HOME/.dsh}/plugin-backups/dsh-llm-github-copilot/<backup-directory>"
执行以下命令前,先替换上面的 <backup-directory>。
test -d "$BACKUP" && mv "$PLUGIN" "${PLUGIN}.before-rollback-$(date +%Y%m%d%H%M%S)" && cp -a "$BACKUP" "$PLUGIN"
dsh web

这只恢复本地部署的包文件,不恢复 profile manifest 或 lockfile。对于 npm/GitHub 管理的安装,应改用 dsh plugin --profile web add …@X.Y.Z -w 安装目标版本。

常见问题

已登录,但没有 GitHub Copilot 模型

确认已在 设置 → 模型 中配置 github-copilot(见选择模型)。如果连插件设置页都没有,请检查安装版本和 bundle 注册,重启 DSH 并硬刷新。反复登录不会添加提供方。

缺少某个模型,或可见模型无法请求

检查 Harness 路由的目录/配置、账号及组织的模型策略,以及实际请求错误。选择器不是实时权限校验。本插件无法扩展目录,也不能将所有模型缺失都归因于 IP 限制。

/copilot-login 报网络错误或一直等待

检查能否访问 GitHub。设备流请求读取 https_proxy/HTTPS_PROXY/http_proxy/HTTP_PROXY(HTTP(S) 代理 URL)以及按主机名匹配的 no_proxy/NO_PROXY。这只适用于本插件的设备流,不是 Harness 模型请求的代理配置。轮询会对临时失败持续重试,直到设备码过期。流程尚在等待时,重复执行 /copilot-login 会复用同一设备码;过期或拒绝后再重新发起登录。关闭对话框不会取消 Host 轮询。

token 交换失败,或 token 已被吊销

/copilot-status 只检查 token 是否已保存。短期 Copilot token 由 Harness 路由刷新;长期 GitHub token 被吊销或不可用时,需要重新登录。先按上文移除环境变量 token,退出登录,再执行 /copilot-login。

启动时报 configurable provider "github-copilot" is already declared

本插件不注册模型提供方。请检查重复的提供方配置、旧适配器注册,以及 bundle 之外遗留的手动插件 insert。本插件只保留一份 bundle 注册,内置提供方也只配置一次。

退出登录后模型仍出现在选择器中

删除凭据不会删除提供方配置。目录可见性和基于凭据的过滤属于 Harness 路由,见跟踪问题。

许可证

MIT
预览分享卡片长什么样 ↓lujianjun19/dsh-llm-github-copilot
分享 · DeepSeek Harness Hub
lujianjun19/dsh-llm-github-copilot

为 DeepSeek Harness 提供 GitHub Copilot 登录。

回到顶部