跳过主要内容
A

dsh-github

andyfan1094/dsh-github

Web GUI 的 GitHub 账号与本地 Git 工作流插件,支持 clone、快进 pull、status、commit、push,推送默认关闭并有宿主侧开关保护。

安装

dsh plugin --profile web add github:andyfan1094/dsh-github

README

dsh-github

DSH Web UI 的 GitHub 与本地 Git 工作流插件。

Features

  • GitHub Personal Access Token account management with secret-free summaries.
  • GitHub REST repository listing for github.com and GitHub Enterprise API URLs.
  • Local Git operations: clone, fast-forward pull, status, commit, push, and force-with-lease.
  • Sidebar panel with account, repository, local Git, and settings tabs.
  • Push and force push are disabled by default and are guarded on the Host side.
  • Token storage uses ~/.dsh/dsh-github.json with an atomic write and mode 0600.
  • Git HTTP authentication uses an ephemeral http.extraheader environment configuration; tokens are not placed in clone URLs or process arguments.

Install in a profile

Download the newest dsh-github-*.tgz from Releases and add it to the profile:

dsh plugin --profile web add D:\downloads\dsh-github-0.1.2.tgz

For local development, build and install from a checkout instead:

pnpm install
pnpm run build
dsh plugin --profile web add link:D:\项目\dsh-github

Restart the existing DSH Web process after installation. Open the GitHub sidebar entry and add a replacement token there. The plugin deliberately does not ship a token in source, package metadata, logs, or documentation.

Agent tools

  • github_auth_list, github_auth_test
  • github_repo_list
  • github_clone, github_pull, github_status
  • github_commit, github_push

Compatibility

  • DSH Host 0.1.0-rc.8 or newer compatible release.
  • Node.js 22.19.0 or newer.
  • Git must be available through the configured executable.

Security

The account file is local configuration, not a system secret vault. Use a fine-grained GitHub token with only the repositories and permissions needed by DSH. Revoke any token pasted into chat or source control and create a new one through the panel.

相关插件