PivotStackIntelligence/dsh-github 预览 preview

PivotStackIntelligence/dsh-github

插件Plugin 原生Native ⭐ 39 MIT

项目介绍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.

或使用命令行安装(适合开发者)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, Amend checkbox, Commit button 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: A green, M brown-yellow, D red, R/C blue, U green, ! 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.

上一个 Prev dsh-codex-desktop 下一个 Next dsh-deepread