DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Zgit — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
Z

dsh-zgit

Zgit

Zero-git:通过普通 HTTPS 从 git 主机获取源代码和二进制发布版本——无需 git 二进制文件,无需克隆。为 DeepSeek Harness 模拟 git。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:zukunftsholz/dsh-zgit#04984a3375bd31012faffa36b562fc5940b1636f
README兼容性版本

兼容性与来源证明

Zgit 以 dsh-zgit 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/14

版本

0.2.2stable
2026/9/14
0.2.0stable
2026/9/14
0.1.1stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/14
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-zgit

English | 中文

[!TIP] 第一个《世界计划》本地化知识库,为同人作者和考据党而生:SekaiSync
The first Project SEKAI localization knowledge base, built for fan creators and lore enthusiasts: SekaiSync

即将面向 DeepSeek Harness 插件生态针对性适配,欢迎各位豆腐人 Star 和共建。
Targeted adaptation for the DeepSeek Harness plugin ecosystem is coming soon. Fellow Tofus are welcome to star and contribute!

dsh-zgit (the /zgit plugin) is a DeepSeek Harness (dsh) plugin for when the first thought about fetching source code or binary releases from a git host should not be git clone.

It fetches over plain HTTPS, with no git binary and zero runtime dependencies:

Docs: https://zukunftsholz.github.io/dsh-zgit/

  • Source code → downloaded as a forge archive (codeload-style tar.gz/zip), extracted into a simulated checkout with .zerogit metadata — a git-like directory you can inspect, status-check, and refresh.
  • Binary releases → release assets listed or downloaded straight from GitHub/GitLab/Gitee releases, with sha256 verification against shipped checksum files.
  • git, simulated → zgit_ls_remote, zgit_show, zgit_ls_tree, zgit_log, zgit_diff, zgit_status reimplement the read side of git over the forge APIs.
  • Anything else → zgit_download fetches any direct URL (mirrors, toolchains) into the workspace with a byte cap and optional sha256.
dsh plugin --profile web add dsh-zgit
# …or from Git (no npm account needed):
# dsh plugin --profile web add github:zukunftsholz/dsh-zgit
# …or from a local checkout:
# dsh plugin --profile web add ./dsh-zgit

Tools

Toolgit analogWhat it does
zgit_ls_remotegit ls-remoteBranches, tags, ref→sha resolution, default branch, latest release tag.
zgit_clonegit clone / git archiveDownloads the source archive at a ref, extracts it into the workspace as a simulated checkout (.zerogit/meta.json), supports subdir sparse extraction and explicit archive URLs (mirrors).
zgit_fetch_releasegh release downloadLists or downloads release assets (latest or a tag) with glob patterns and sha256 verification.
zgit_showgit showFetches one raw file at a ref (optionally saved into the workspace).
zgit_ls_treegit ls-treeLists files/dirs at a ref via the forge API.
zgit_loggit logRecent commits at a ref.
zgit_diffgit diffCompare two refs: changed-files summary or a single-file unified diff.
zgit_statusgit status + git fetchChecks a simulated checkout against the remote: moved ref, commits behind.
zgit_downloadcurlAny direct HTTPS download into the workspace, capped, with optional sha256.

Plus the human-plane command /zgit (Web UI slash menu / TUI): clone, get, show, ls, log, diff, resolve, status, download — the same operations without the model in the loop.

Forge support

  • GitHub (github.com + api.github.com + codeload.github.com + raw.githubusercontent.com)
  • GitLab (gitlab.com + API v4), including nested groups
  • Gitee (gitee.com + API v5)
  • Generic GitHub-style hosts: archive/raw URL guessing works (self-hosted Gitea/GitHub Enterprise); API-backed operations report a clear error — use archiveUrl or zgit_download.

Repo references accept owner/repo, owner/repo@ref, full https:// URLs (with @ref or /tree/ref), git@host:owner/repo.git, and ssh:// URLs.

Configuration

All config lives in the plugin row ($DSH_HOME/cordis.patch.yml, the profile patch, or an overlay):

- id: zgit
  config:
    clone: true          # per-tool toggles: lsRemote, clone, release, show,
    command: true        #   lsTree, log, diff, status, download, command
    timeoutMs: 120000
    maxArchiveBytes: 536870912      # 512 MiB clone cap
    maxDownloadBytes: 1073741824    # 1 GiB download cap
    maxFileBytes: 262144            # 256 KiB zgit_show cap
    maxTreeEntries: 5000
    maxLogCommits: 30
    maxDiffChars: 100000
    maxExtractedEntries: 100000
    workspaceRoot: ''               # fallback root (defaults to process.cwd()); tool calls prefer the calling session workspace
    userAgent: dsh-zgit/0.2.2
    tokenEnv: { github: GITHUB_TOKEN, gitlab: '', gitee: '' }   # env var names
    tokens:   { github: '', gitlab: '', gitee: '' }             # or direct values

Tokens raise API rate limits and enable private repos; the env-var name wins over a direct value.

The simulated checkout

zgit_clone produces a normal directory plus:

<dir>/
├── .zerogit/
│   ├── meta.json   # origin, ref, sha, archive URL, fetched-at, file counts
│   └── HEAD        # the pinned commit sha
└── ...             # the extracted source (root folder stripped)

zgit_status <dir> re-resolves the pinned ref remotely and reports how far the checkout fell behind. Refresh with zgit_clone (replace: true).

Safety properties

  • Workspace confinement — every write is resolved inside the calling session's workspace (exec.agent.session.header.cwd), falling back to workspaceRoot for agentless callers; paths escaping the root are rejected.
  • Archive hardening — path traversal (.., absolute paths, Windows reserved names) is rejected; case-insensitive collisions error; entries are capped by count and total bytes; zip entries are CRC32-verified; gzip is decompressed under a hard cap (bomb guard); symlinks are recorded and skipped (not materialized), hardlinks are copied.
  • Byte caps everywhere — downloads stream with early abort when a cap is exceeded.
  • No execution — archives are never executed, only extracted.

Development

The package has zero runtime dependencies (pure Node builtins: node:zlib, node:crypto, node:fs, node:http). It targets DSH 0.1.5-rc.2 (cordis 4.0.2, schemastery 3.18.2) and tests run against the installed DSH profile packages:

npm run build      # scripts/build.sh (DSH checkout + junctions + tsc) via node wrapper
npm run typecheck
npm test           # vitest: parser/glob units, tar.gz+zip extractors, forge fixtures, real-HTTP e2e, Cordis mount

FAQ

What is dsh-zgit? dsh-zgit (zgit) is a DeepSeek Harness plugin that fetches source archives and release assets from git hosts over plain HTTPS. It needs no git binary and adds no runtime dependencies.

Do I need git installed? No. Everything runs over HTTPS against the forge's archive, raw-file, and release endpoints.

Which git hosts are supported? GitHub, GitLab (API v4, nested groups), and Gitee (API v5). Generic GitHub-style self-hosted hosts (Gitea, GitHub Enterprise) work for archive/raw URL guessing; API-backed operations return a clear error and fall back to archiveUrl or zgit_download.

How do I install it? dsh plugin --profile web add dsh-zgit — the package is on npm. The Git form (github:zukunftsholz/dsh-zgit) and a local checkout (./dsh-zgit) work too.

Is it a git replacement? It reimplements the read side of git (ls-remote, show, ls-tree, log, diff, status) over the forge APIs, plus release-asset download. It does not do writes or pushes.

Are downloads verified? Release assets and zgit_download support sha256 verification against shipped checksum files. Zip entries are CRC32-verified; gzip is decompressed under a hard cap (bomb guard).

Which DSH version does it target? DSH 0.1.5-rc.2 (cordis 4.0.2, schemastery 3.18.2).

What license? MIT.

License

MIT