PivotStackIntelligence/dsh-github
项目介绍Project Overview
dsh-github 是 DeepSeek Harness 的源代码管理与 GitHub 仓库面板,在会话视图环中新增"源代码管理"标签页,复刻 VS Code 原生 Git 视图。能力涵盖工作区状态、分组变更、暂存与丢弃、行号与并排/内联差异、提交历史、分支、远程、标签、Stash、合并/变基操作,以及通过 Compare 页面跳转发起 Pull Request。使用场景:在 Web Harness 中直接完成本地 Git 提交流程与日常仓库管理。需注意:插件不调用 GitHub API、不存储令牌,写入操作均需用户显式触发,且需预先配置 Git 远程与凭据助手。
dsh-github is a source control and GitHub repository panel for DeepSeek Harness that adds a third "Source Control" tab to the session view ring, mirroring VS Code's native Git view. It provides workspace status, grouped changes, staging and discard, side-by-side and inline diffs, commit history, branches, remotes, tags, stashes, merge/rebase actions, and a Compare-page handoff for opening pull requests. Use it to manage local Git workflows inside the Web Harness without leaving the chat. Caveat: it never calls the GitHub API or stores tokens, all writes require explicit user action, and a configured Git remote and credential helper are required.
请帮我了解并安装插件:【dsh-github】【https://github.com/PivotStackIntelligence/dsh-github】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:PivotStackIntelligence/dsh-github
把 PivotStackIntelligence/dsh-github 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-github
A Source Control and GitHub repository panel for DeepSeek Harness that mirrors the VS Code native Git Source Control view.
Features
- Source Control tab — a third "Source Control" tab in the session view ring (alongside chat and trajectory); when active it fills the main area and splits into the SCM panel (left) and the diff viewer (right) with no overlay, shows only the current session's workspace, and switching back to chat restores the conversation.
- Repository header — repository (workspace) name, current branch, ahead/behind counts, GitHub link, and refresh button.
- Commit bar — multi-line commit message,
Amendcheckbox,Commitbutton with a dropdown (Commit / Commit & Push / Commit & Sync / Undo Last Commit), and a round Sync/Publish button with ↑n ↓n counts. - Change groups — STAGED CHANGES / CHANGES / MERGE CHANGES (untracked files live inside CHANGES), collapsible, with count badges and group actions (+ stage all / − unstage all / ↶ discard all). File status badges use VS Code colors:
Agreen,Mbrown-yellow,Dred,R/Cblue,Ugreen,!yellow. - Diff viewer — side-by-side and inline modes with line numbers and added/removed coloring; the file header shows old path → new path. Conflict files expose Accept Current / Accept Incoming / Accept Both.
- Discard with confirmation — discard a single file or all changes through an inline confirmation dialog (never a bare
window.confirm). - Commits — searchable history (message/author), short SHA + subject + author + relative date + refs badges; expand a commit for full details and per-file diffs, with Copy SHA, Checkout Commit, Create Branch, and Create Tag.
- Branches — current branch highlighted; checkout, rename, delete, merge-into-current, and rebase-onto.
- Remotes — fetch/push URLs per remote; fetch, fetch (prune), add, and remove.
- Tags — list, create, push, and delete.
- Stashes — list, apply, apply & drop, drop, and view diff.
- Merge / rebase state — continue and abort an in-progress merge or rebase from the panel.
- Git output — a collapsible section of recent git commands and their (redacted) output.
- Auto-refresh — refreshes on open, every 3 seconds while the tab is active (paused when switched away), and on window focus / visibility change; the lazy sections (commits, branches, remotes, tags, stashes) load on first expand and refresh with each status poll.
The plugin uses the repository's normal local Git configuration, SSH keys, HTTPS credential helpers, and Git remotes. It does not call the GitHub API, store GitHub tokens, implement OAuth, depend on GitHub CLI, or expose arbitrary shell commands. GitHub links open the corresponding browser pages; the Compare page is the handoff for creating a pull request. Git writes require an explicit user action, and repository state is reloaded after each operation.
Design notes
See docs/ANALYSIS.md for the state model, VS Code Git alignment, local authentication boundary, and GitHub browser handoff design. The panel's visual design follows the DeepSeek design spec — see docs/UI_DESIGN.md.
Requirements
- DeepSeek Harness
>=0.1.0-rc.6 - Git available on
PATH - A configured Git remote and credential helper for push/fetch/pull operations
Install from a local checkout
pnpm install
pnpm run build
dsh plugin --profile web add .
Restart the Web Harness after rebuilding the plugin. A third "Source Control" tab appears in the session view ring (next to chat and trajectory).
Development
- Node.js
>= 22.19 - pnpm
>= 9
pnpm run check
pnpm run check runs typecheck, lint, test, and build. CI runs the same command after pnpm install --frozen-lockfile.
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/distilly
titanwings/colleague-skill