DSH Web 的 Git 与 GitHub 面板:暂存/撤销/丢弃/差异、分支、提交、推送/拉取/同步、日志、文件浏览、工作流看板,以及带 PR 创建的 GitHub OAuth。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:JFWaskin/dsh-git-nexus
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
A single, self-contained DeepSeek Harness (DSH) web plugin that merges the
git-management features of the popular dsh-web-ui plugin (SCM change panel +
branch management) with GitHub access, a workflow board, and file browsing —
one panel instead of several plugins.
Features
- Changes (SCM) — working-tree status, per-file diff, stage / unstage / discard, commit.
- Branches — list, switch, create, delete.
- Remote — push, pull, sync (pull then push), fetch.
- Log — bounded, structured commit history.
- Files — list tracked files with search, read any text file.
- Workflow — persistent step board (Claude Code-style plan tracking).
- GitHub — OAuth Device Flow login (full
repoaccess, revocable), scope seal, PR creation.
Install
dsh plugin --profile web add "file:/absolute/path/to/dsh-git-nexus"
# then restart the web profile
dsh web
The plugin appears under Settings → Plugins and the panel pill appears in the session header of git-managed workspaces.
Compatibility
Targets DSH 0.1.0-rc.6 (web profile). The plugin ships a strict
Typert host manifest
(./typert) and mounts strict client codecs, matching the conventions of the
plugins inside the official repository.
This is a community plugin published under the dsh-plugin
topic — the channel the DeepSeek Harness
maintainers ask community extensions to use (see the project's
CONTRIBUTING.md).
GitHub OAuth
GitHub auth uses the device flow, so no long-lived PAT is written to disk. You need a GitHub OAuth App client id:
- Go to GitHub → Settings → Developer settings → OAuth Apps → New OAuth App.
- Any name / homepage / callback will do (device flow ignores the callback).
- Paste the resulting Client ID into the panel's GitHub tab, click Connect, then open the printed URL and enter the user code.
The resulting token requests the repo, workflow, read:user and user:email
scopes and is stored with 0600 permissions under
~/.dsh/storages/dsh-git-nexus/. If the gh CLI is already authenticated, the
plugin uses it automatically and no client id is required.
Security notes
- Every git/file command runs through a fresh
/bin/sh -cchild process with a 30s timeout and a 2 MiB output cap. The web profile scopes DSH'sshellservice to per-session agent realms, so the host-plane gateway executes directly instead of injecting it. - Branch names, paths, and commit messages are shell-quoted; control characters are rejected.
- GitHub tokens live only under
~/.dsh/storages/dsh-git-nexus/settings.json(mode0600).
License
MIT
链接
同类插件
strukto-ai/mirage#dsh★ 3453
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
hust-open-atom-club/oh-dsh★ 203
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Jayden-X-L/forkprobe★ 66
同一任务并行试跑多个技能,对比结果选出最优。
vlln/plugin-registry★ 44
插件生态基建:浏览器面板管理官方 repository 插件(0 patch)+ make-dsh-plugin 插件开发引导技能。
forrestchang/dsh-multica-runtime★ 38
让 dsh 运行时跑在 Multica 上。
omdsh-dev/dsh-plugin-check★ 21
插件健康检查:扫描清单协议/patch 格式/构建陷阱,零依赖只读。