dsh-github-workbench:在 DSH 侧边栏使用 GitHub 工作台

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在智能体开发与代码协作的工作流中,开发者常在 DSH 对话窗口与 GitHub 仓库之间频繁切换。dsh-github-workbench 旨在解决这一问题,将 GitHub 的核心工作台集成到 DSH 的侧边栏中,提供与浏览器体验接近的交互,同时保持 DSH 工作流的连贯性。

介绍

该插件由 meyaomiao 维护,目前 GitHub 仓库获得 3 星。它主要解决开发者在 DSH 内无法直接操作 GitHub 仓库的问题,提供仓库目录树、Issues/PR/Actions 页签,并支持建 Issue、发 PR、评论、合并以及重跑 CI。

核心能力

挂载形态

插件支持双形态挂载,运行时自动协商:
* 页签:若安装了 dsh-better-sidebar,插件优先注册为侧边栏页签(DSH 0.3.x)。
* 独立面板:若未安装 dsh-better-sidebar,自动降级为对话区右侧可展开/收起的自绘面板。

代码浏览

  • 目录树:支持 git/trees?recursive=1 递归拉取仓库结构。
  • 文件预览:文本文件支持行号预览,限制 <900KB;二进制或超大文件降级为 GitHub 外链。
  • 响应式:容器宽度 <600px 时,目录树自动收进“目录”抽屉。

Issues / PR 管理

  • 列表:支持搜索、排序(默认按最新创建,可切最近更新)、翻页。PR 拆分为开放、已关闭(未合并)、已合并。
  • 写操作:支持新建 Issue/PR、评论、编辑标题正文、编辑/删除评论、关闭/重开。
  • 合并:支持 merge / squash / rebase 三种合并方式,执行前有强确认弹窗。
  • CI 控制:Actions runs 列表显示实时状态图标。悬停可触发重跑或取消(取消需确认),点击直达原 run 页。

仓库切换与搜索

  • 仓库切换器:打开即列出 Token 可见仓库(含 owner/协作/组织,过滤 archived,按推送排序)。支持输入实时过滤。
  • 公开搜索:输入 ≥3 字符去抖触发公开仓库搜索,支持按 ⭐ 排序。
  • 本地管理:可移除他人的仓库(本地隐藏),在管理页可恢复。

收件箱

  • 提供 Issues / PR / Actions 三分栏视图。
  • Issues/PR 监视 Token 可见公开仓的新建单;Actions 仅盯当前仓 + 最近最多 5 个公开仓。
  • 点行跳转对应页签,“返回原仓页”回到进箱前。未读状态显示在头部数字、侧栏 tab 角标及独立竖条。

链接接管与浏览器直达

  • 链接接管:在设置中开启“接管聊天中的 GitHub 链接”后,对话中的 github.com 链接点击即在工作台打开,自动切仓并落到对应详情页。
  • 浏览器直达:工具栏提供一键在系统浏览器打开当前仓库的入口。

原生观感

  • 使用 16px Octicon 风格 SVG 图标集。
  • 颜色消费宿主 --dsw-* 设计令牌,自动跟随深浅主题与皮肤。
  • 字号默认跟随 DSH 侧边栏(12px),设置中可调 13/14。

安装与启用

安装

使用官方 CLI 安装:

dsh plugin --profile web add dsh-github-workbench

也可通过 npm 安装:

npm i -g dsh-github-workbench
# 或
pnpm add -g dsh-github-workbench

或直接从 GitHub 装载:

dsh plugin --profile web add github:meyaomiao/dsh-github-workbench

本地挂载方式(需 git clone 后 pnpm install/build):

git clone https://github.com/meyaomiao/dsh-github-workbench.git
cd dsh-github-workbench && pnpm install && pnpm build
dsh plugin --profile web add .

启用

安装完成后,需要在配置文件中启用该插件。

  1. 编辑 ~/.dsh/profiles/web/cordis.patch.yml 文件。
  2. 添加以下内容:
# cordis.patch.yml 示例
- insert:
    - id: github-workbench
      name: 'dsh-github-workbench'
  1. 重启 DSH Web 进程,并执行浏览器硬刷新。

注意事项与兼容性

Token 与隐私

  • Token 仅存浏览器 localStorage 或宿主 pluginSettings,不上传服务端,不进会话上下文。
  • 权限要求:细粒度 Token 需 Contents R · Issues RW · Pull requests RW · Actions RW。经典 Token 需 repo,改 workflow 需另加 workflow。
  • 匿名访问:无 Token 可浏览公开仓,匿名限制 60 次/h,不可写。页脚实时显示 core 限额剩余。

兼容性

  • 0.3.x(当前主线):优先注册 DSH 官方原生右侧栏。兼容 DSH 0.1.5-rc.1 / 0.1.5-rc.2 及之后的 0.1.5 线。
  • 0.2.x:仅维护态,修复 bug。兼容 DSH ≤ 0.1.2-rc.1。
  • 已知问题:在 DSH 0.1.2 + better-sidebar 环境下,0.3.x 的页签会退化成独立面板。若需旧页签形态,请使用 0.2.x。

依赖要求

  • better-sidebar:聊天链接接管功能需要 better-sidebar v0.13+。
  • 合并/删评/取消 CI:上述操作均有确认弹窗。

总结

dsh-github-workbench 通过侧边栏挂载,为 DSH 用户提供了接近原生 IDE 或浏览器体验的 GitHub 访问方式。它不仅解决了频繁切换窗口的痛点,还通过全量的列表管理和直接操作能力,提升了代码审查与 CI 流程的效率。

  • 仓库地址:https://github.com/meyaomiao/dsh-github-workbench
  • 目录页:https://www.skillhub.cn/plugins/meyaomiao/dsh-github-workbench
羽毛球分组比赛记分
小程序二维码

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

小夜