DeepSeek Harness 插件介紹:dsh-wsl-github

前言

在 DeepSeek Harness (DSH) 的 WSL 開發環境中,智能體通常需要與 GitHub 交互,例如查詢某個倉庫的開放 PR 數量或最新的 CI Actions 運行狀態。爲了安全起見,開發者通常不希望將個人訪問令牌 (PAT) 暴露在聊天記錄或工具輸出中。

dsh-wsl-github 插件通過 GitHub App 的機制解決了這個問題。它允許 WSL 智能體在內存中籤發短期安裝令牌,從而安全地調用 GitHub API,且工具的輸出永遠不會包含私鑰、JWT 或令牌本身。

這是什麼

這是一個爲 DSH WSL 環境設計的插件,由用戶 173787247 維護。它旨在提供輕量級的 GitHub 交互能力,避免引入龐大的集成庫。

該插件屬於 dsh-wsl-kit 套件的一部分,推薦使用 KIT_SET 環境變量(如 github 或 full)來統一管理依賴。其核心價值在於“零密鑰泄露”:所有敏感信息僅在內存中短暫存在,工具輸出僅包含業務數據(如 PR 列表、Actions 狀態)。

核心功能

插件提供了兩個核心工具:

  • github_app_hint:檢查當前環境是否配置了 GitHub App 憑據或環境文件(~/.dsh/dsh-wsl-github.env)。它僅提示“存在性”,不輸出任何密鑰內容。
  • github_repo_status:獲取當前倉庫(或指定 repo)的信息。返回結果包括最多 5 個開放 PR 和最新的 Actions 運行狀態。

安裝與啓用

通過 DSH 官方插件命令安裝:

dsh plugin --profile web add github:173787247/dsh-wsl-github

安裝完成後,需確保你的 DSH 版本滿足要求(最低 ≥ 0.1.2)。

典型用法

使用該插件的標準流程分爲三步:註冊 App、加載環境、調用工具。

  1. 註冊 GitHub App
    首次使用需要在本地生成並註冊 GitHub App。運行以下命令:
    npm run register-app
此腳本會調用 `github-app-manifest.json` 中的權限配置,在 GitHub 上創建 App,並將 App ID 和私鑰路徑寫入 `~/.dsh/` 目錄,**不會**在終端打印敏感信息。
  1. 加載環境變量
    在啓動 dsh web 之前,需要將環境變量加載到當前進程:
    set -a
    source "$HOME/.dsh/dsh-wsl-github.env"
    set +a
    dsh web
在 Windows PowerShell 中,可以使用類似的管道命令將環境變量注入進程。
  1. 調用工具
    在與智能體對話時,直接發送指令:
    • “Run github_app_hint.”
    • “Run github_repo_status for this repo.”
      智能體會執行相應的工具並返回狀態信息。如果需要打開返回的鏈接,需配合 dsh-wsl-browser 插件使用 win_open_url。

注意事項

  • 配置項邏輯:插件的配置文件中,如果 appId、privateKeyPath 或 installationId 爲空字符串,插件會自動從環境變量中讀取。
  • 依賴:要使用 win_open_url 打開鏈接,需要確保已安裝並啓用了 dsh-wsl-browser 插件。
  • 版本要求:插件運行需要 DSH 版本不低於 0.1.2。
  • 安全性:該工具設計爲僅輸出業務數據,私鑰和令牌絕不會出現在日誌或輸出中。

相關資源

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜