meyaomiao/dsh-github-workbench 预览 preview

meyaomiao/dsh-github-workbench

DSH 插件:在侧边栏使用 GitHub —— 仓库目录树 + Issues/PR/Actions 页签,支持建 Issue/PR、评论、合并、重跑 CI;better-sidebar 页签与独立面板双形态

Project Overview项目介绍

dsh-github-workbench is a DeepSeek Harness sidebar plugin that embeds GitHub as a tab in dsh-better-sidebar, or falls back to a standalone right-side panel. It provides a Code directory tree with line-numbered previews, full Issues, Pull requests, and Actions lists with details, plus write actions: create Issue/PR, comment, edit, close, three-way merge with confirmation, and rerun/cancel CI runs. A repo switcher lists token-visible repos with public search, chat GitHub links are intercepted and opened in the workbench, and an Activity Sentinel polls every 10s to auto-switch tabs. A Personal Access Token is required for write actions and private repos; without it, public browsing is rate-limited to 60 requests/hour. Requires Node ≥22.

dsh-github-workbench 是面向 DeepSeek Harness 的 GitHub 侧边栏工作台插件,可作为 dsh-better-sidebar 页签或独立面板挂载。它提供 Code 目录树预览、Issues / Pull requests / Actions 列表与详情,并支持新建 Issue / PR、评论、合并三法、CI 重跑取消及仓库切换器等写操作,同时聊天中的 GitHub 链接可被接管跳转,活动哨兵每 10 秒轮询自动跟随变更。需填写 Personal Access Token,无 Token 仅能匿名浏览公开仓库,限额 60 次/小时。需 Node ≥22,安装后须在 cordis.patch.yml 启用并重启。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

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

meyaomiao/dsh-github-workbench 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

🐙 dsh-github-workbench · GitHub 工作台

把 GitHub 装进 DeepSeek Harness 的侧边栏:仓库目录树 + Issues / Pull requests / Actions 页签,读之外直接建 Issue、发 PR、评论、合并、重跑 CI。

Awesome DSH Plugin dsh-plugin dsh-better-sidebar npm license node

人在面板里亲自点按钮 = 天然的人类审批,无需任何额外审批链。

0.3.x 页签优先注册 DSH 官方原生右侧栏。

🤝 合作伙伴:米云

米云 MIYUN · 多模型 AI API 聚合平台 momotoken.win

米云 MIYUN —— 多模型 AI API 聚合平台:稳定不降智,模型上线快又多;统一 API 接入、按量使用、余额集中管理。

⭐ 欢迎点星收藏

如果 GitHub 工作台帮到了你,欢迎到 GitHub 仓库 点个 Star ⭐,让更多 DSH 用户看到它。问题与建议请提 Issue。

📋 兼容性

插件版本 状态 对应 DSH
0.3.x(当前主线) 0.1.5-rc.1 / 0.1.5-rc.2(及之后的 0.1.5 线;页签走官方原生右侧栏)
0.2.x 🔧 维护态(仅修 bug) DSH ≤ 0.1.2-rc.1(仍兼容 0.1.1-rc.2 / 0.1.2-alpha.4;better-sidebar 页签或独立面板)

本次升级功能变化

  • 页签宿主迁移:DSH 0.1.5+ 优先注册官方原生右侧栏(ctx.sidebarRightTabs),better-sidebar 降为旧宿主回退,独立面板兜底不变。
  • 官方已有的交给官方:不画赞踩、不画交付文件卡;聊天里的 GitHub 链接接管仍依赖旧宿主,原生形态暂不覆盖。
  • 0.3.x 在 DSH 0.1.2 + better-sidebar 上 页签会退化成独立面板;要旧页签请留在 0.2.x。

✨ 截图速览

Code:远端目录树 + 文件预览 Issues 列表
Code Issues
Issue 详情 + 评论/编辑/关闭 Pull requests(checks 摘要 / 合并三法)
Issue Detail Pulls
Actions(runs 列表,悬停 重跑/取消) 仓库切换弹层(自动拉取 + 公开仓搜索)
Actions Switcher
⚙ 设置(Token / 自动刷新 / 字号) 收件箱(Issues / PR / Actions 三分栏)
Settings Inbox

🚀 核心能力

  • 双形态挂载:已装 dsh-better-sidebar → 注册为侧边栏页签;独立安装 → 自动降级为对话区右侧可展开/收起的自绘面板(同一套组件,运行时自动协商)
  • Code:目录树一次拉取(git/trees?recursive=1)+ 文本文件行号预览(<900KB);二进制/超大文件降级为 GitHub 外链;<600px 时树自动收进「目录」抽屉
  • Issues / PR 全量列表:Search API(is:issue / is:pr)不被 PR 占坑;默认按最新创建排序,可切最近更新;页签角标与工具条显示真实总数;底部「加载更多」翻页;PR 拆成开放 / 已关闭(未合并) / 已合并
  • 写操作全家桶:新建 Issue / 新建 PR(head·base 可选)/ 评论 / 编辑标题正文 / 编辑删除评论 / 关闭重开 —— 关闭与删评有确认门
  • 合并三法强确认:merge / squash / rebase 下拉选择,执行前弹窗展示方法与目标分支
  • CI 控制:runs 列表实时状态图标,行悬停 ⟳ 重跑、✕ 取消(取消需确认),点击直达原 run 页
  • 仓库切换器:打开即列出 Token 可见全部仓库(owner/协作/组织,滤 archived,按推送排序)+ 输入实时过滤 + 公开仓库搜索(≥3 字符去抖触发,⭐ 排序)+ 最近使用置顶 + 首次打开自动识别当前工作区 .git/config;他人的仓可一键从列表移除(本地隐藏,管理页可恢复)
  • 🔗 聊天链接接管:在 ⚙ 开启「接管聊天中的 GitHub 链接」后,对话里出现的任何 github.com 链接点击即在工作台打开——自动切仓、自动落到对应 Issues/PR 详情;每个链接独立实例互不干扰(需 better-sidebar v0.13+,开关位于本插件侧边卡片齿轮内)
  • 收件箱:Issues / PR / Actions 三分栏。Issues·PR 监视 Token 可见公开仓的新建单;Actions 只盯当前仓+最近最多 5 个公开仓。点行跳到对应页签,「返回原仓页」回到进箱前。未读露在头部数字、侧栏 tab 角标、独立竖条
  • ↗ 浏览器直达:顶部工具栏一键在系统浏览器打开当前仓库
  • 原生观感:全站唯一 16px octicon 风格 SVG 图标集;颜色全部消费宿主 --dsw-* 设计令牌,深浅主题与皮肤自动跟随;字号默认跟随 DSH 侧边栏(12px),⚙ 内可调 13/14

🔑 Token 与隐私

⚙ 设置里填 Personal Access Token(仅存浏览器 localStorage / 宿主 pluginSettings,不经过任何服务端、不进会话上下文):

Token 类型 权限
细粒度(推荐) Contents R · Issues RW · Pull requests RW · Actions RW
经典 repo(需要改 workflow 文件时另加 workflow)

无 Token 可浏览公开仓(匿名 60 次/h,不可写);页脚实时显示 core 限额剩余。

📦 安装

# 方式〇:npm 安装(推荐)
npm i -g dsh-github-workbench   # 或 pnpm add -g
dsh plugin --profile web add dsh-github-workbench

# 方式一:从 GitHub 直接装(dsh CLI,免 npm)
dsh plugin --profile web add github:meyaomiao/dsh-github-workbench

# 方式二:克隆后本地挂载
git clone https://github.com/meyaomiao/dsh-github-workbench.git
cd dsh-github-workbench && pnpm install && pnpm build
dsh plugin --profile web add .

# 然后在 ~/.dsh/profiles/web/cordis.patch.yml 启用:
#   - insert:
#       - id: github-workbench
#         name: 'dsh-github-workbench'
# 重启 dsh web + 浏览器硬刷新

也可在 dshmarket 或 better-sidebar「添加插件」中搜索 dsh-github-workbench

🧩 平台集成细节(给插件开发者)

  • 消费 ctx.betterSidebar:inject=['betterSidebar'](cordis 访问授权)+ package.json dsh.client.inject 声明 bundle 依赖 dsh-better-sidebar(loader 加载顺序)——两层缺一不可,否则服务访问被代理拒绝或模块被跳过(踩坑实录见源码注释)
  • 根节点流式撑满 TabContent(不用 absolute inset:0,避免逃逸覆盖侧边栏框架)
  • 容器查询三档自适应(<600 抽屉态 / ≥720 / ≥1000);visible=false 时暂停轮询省配额

🛠 开发

pnpm install
pnpm build        # esbuild 双入口:host(esm) + client(ModuleLoader 包装 cjs)
pnpm typecheck    # tsc --noEmit(strict)
pnpm test         # node:test 纯函数单测

设计文档与交互视觉稿:docs/design.md · design/mockup.html

改仓库前先读 CONTRIBUTING.md(Issue → 分支 → Draft PR)。思考原则见 AI-ISSUE-WORKFLOW.md

License

MIT © meyaomiao

上一个 Prev deepseek-web-import 下一个 Next dsh-speech