前言¶
DSH 生態裏,“一切皆插件”是一個很常見的擴展思路。對開發者來說,如果讓智能體直接處理 GitHub 倉庫、Issues、Pull Requests、文件內容和搜索,往往會遇到兩類問題:一類是 API 請求散落在提示詞或臨時命令裏,另一類是手動管理令牌不夠順手。
dsh-github-bridge 做的事情比較具體:給 DSH/dwsh 增加 GitHub OAuth 登錄認證,並提供一組 github_* 工具,讓 DSH 可以按已授權範圍調用 GitHub 能力。
這是什麼¶
dsh-github-bridge 是一個連接 DSH/dwsh 與 GitHub 的插件,主要包含三塊內容:
- 基於 OAuth 2.0 設備碼流程的 GitHub 登錄認證;
- 一組覆蓋倉庫、Issues、Pull Requests、文件內容和搜索的
github_*工具; - 插件配置頁中的
dsh-github-bridge認證卡片。
倉庫地址顯示爲 gaolei-mark43/dsh-github-bridge,許可證爲 MIT。已抓取資料中未單獨署名維護者,因此本文不把某個具體維護關係當作確定事實。
核心功能¶
認證相關¶
- 使用 OAuth 2.0 設備碼流程完成 GitHub 登錄。
- 令牌存入 DSH 憑據服務,模型永遠不會看到令牌本身。
- 提供
github_auth_status查看登錄狀態。 - 提供
github_logout退出登錄。
工具能力¶
插件提供的工具包括:
- 通用 GitHub REST API 調用:
github_request - 用戶與倉庫:
github_get_user、github_list_repos、github_get_repo - Issues:
github_list_issues、github_get_issue、github_create_issue - Pull Requests:
github_list_pull_requests - 文件內容:
github_get_file - 搜索:
github_search_repositories - 認證輔助:
github_auth_status、github_logout
安裝與啓用¶
先在本地拿到插件目錄,然後執行安裝命令:
cd /path/to/dsh-github-bridge
dsh plugin --profile web add .
這條命令會把當前目錄作爲插件安裝到 web profile 中。
安裝完成後,需要重啓一次 DSH。重啓後,插件配置卡片會出現在 設置 → 插件 中。
配置與登錄¶
先準備 GitHub OAuth App¶
使用 OAuth 登錄時,需要配置 GitHub OAuth App 的 Client ID。設備碼流程不需要 client_secret。
創建或檢查 OAuth App 時,注意以下幾點:
- 必須勾選
Enable Device Flow,否則登錄會報device_flow_disabled。 - 建議取消勾選
Expire user access tokens。該插件只存 access token,暫未支持 refresh token 刷新;如果開啓令牌過期,過期後登錄會失效。 scopes默認爲repo,可選public_repo等;權限按所填範圍生效。oauthBaseUrl默認爲https://github.com,GitHub Enterprise 場景下可以修改。baseUrl默認爲https://api.github.com。defaultOwner/defaultRepo是可選便利項;不填時,相關工具會要求顯式給出owner/repo參數。
在配置頁面完成登錄¶
登錄可以先在插件配置頁完成:
- 打開 設置 → 插件,進入
dsh-github-bridge卡片。 - 填入 Client ID,並保存。
- 點擊卡片上的 Login with GitHub。
- 按卡片展示的驗證 URL 和一次性代碼完成授權。
配置頁面填入的值優先級高於 patch 層配置;清空某個字段後,會回退到 patch 層配置的值。
也可以在同一張卡片裏手動粘貼令牌。這裏只接受訪問令牌,例如 ghp_... 或 github_pat_...;Client ID 不是訪問令牌,粘貼後會被拒絕。
典型用法¶
安裝並登錄後,可以直接對 DSH 提出這些請求:
- 列出我的 GitHub 倉庫
- 讀取
my-org/my-repo的 README - 列出
my-org/my-repo的 open issues - 在
my-org/my-repo創建 issue,標題是……,內容是…… - 搜索 GitHub 上關於 dsh 的 TypeScript 插件
- 我的 GitHub 登錄狀態怎麼樣?(
github_auth_status) - 退出 GitHub 登錄(
github_logout)
DSH 會根據請求調用對應的 github_* 工具。
適用場景與注意¶
適合需要讓 DSH/dwsh 直接查詢 GitHub 倉庫、Issues、Pull Requests、文件內容或執行搜索的開發者。
使用前注意幾點:
- 插件以當前 DSH 進程權限運行。
- 安裝前建議檢查源碼與許可證。
- 本項目許可證爲 MIT。
- 社區目錄是獨立站點,不是 DeepSeek 官方應用商店。
結尾¶
dsh-github-bridge 的價值不在於替換 GitHub 本身,而是把 GitHub 登錄認證和常用 github_* 操作收進 DSH 插件裏,減少手工管理令牌和拼接 API 請求的成本。
相關鏈接:
- GitHub:https://github.com/gaolei-mark43/dsh-github-bridge
- 目錄頁(來自插件線索,未在本次覈對資料中確認):https://www.skillhub.cn/plugins/gaolei-mark43/dsh-github-bridge