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。
  • 安全性:该工具设计为仅输出业务数据,私钥和令牌绝不会出现在日志或输出中。

相关资源

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

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

小夜