npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ayumedaze/dsh-git

v0.1.0

Published

Fork-style Git GUI packaged as a DeepSeek Harness plugin (Express backend + browser frontend).

Readme

dsh-git

把 Fork 风格 Git 图形界面(Express 后端 + 浏览器前端)打包成 DeepSeek Harness(DSH)插件,可在 DSH 桌面端 / Web 端内嵌使用。

目录结构

.
  package.json          # DSH 插件清单(dsh.bundle + dsh.client)
  cordis.patch.yml      # bundle patch:把本插件插入 profile 层级栈
  lib/
    index.js            # 宿主端入口:启动 Git GUI 服务 + 注册 /api/git-gui/info
    git-gui-server.js   # Express 后端(从原项目 server.js 重构为可嵌入 ESM 模块)
    client.js           # 客户端入口:侧边栏按钮 + shell.overlay 内嵌 iframe
  public/
    index.html          # 前端(与原项目一致)
    style.css
    app.js

工作原理

  • 宿主端(lib/index.js):插件被加载时在本机回环地址 127.0.0.1:<port> 启动 Express 后端(默认端口 3417,可用环境变量 GIT_GUI_PORT 覆盖),并在 DSH 的 webServer 上注册 GET /api/git-gui/info,返回当前 Git GUI 的 { running, url, port }。
  • 客户端(lib/client.js):在 DSH 侧边栏底部注册一个 Git 按钮,点击后通过 shell.overlay 弹出浮层,用 <iframe> 内嵌 Git GUI;浮层同时提供 “在新窗口打开”的兜底入口(桌面端会交给系统浏览器打开)。

Git GUI 前端保持原样,仍通过 /api/... 访问同一后端,功能与原项目一致。

安装

需要本机已安装 Node.js(≥22)和 git。用 dsh 自带的插件管理(本质是 pnpm add 到目标 profile,再把它计入 dsh.profile.bundles):

# 克隆本仓库后,在仓库根目录执行
dsh plugin --profile <profile-name> add .

也可以从 npm 安装(发布到插件市场后):

dsh plugin --profile <profile-name> add @ayumedaze/dsh-git

或者指定绝对路径:

dsh plugin --profile <profile-name> add file:C:/path/to/dsh-git

安装完成后 重启 DSH(桌面端或 dsh --profile <profile-name> 重新启动), 侧边栏底部即出现 Git 按钮。

如果 profile 不存在,dsh plugin 会先初始化它。桌面端的 profile 名可在 DSH 桌面端的设置/插件管理中查看。

使用

  1. 打开 DSH,点击左侧边栏底部的 Git(⏣)按钮。
  2. 在弹出的 Git GUI 浮层中点击 Open…,粘贴一个本地 git 仓库路径即可。

最近打开过的仓库会写入插件目录下的 repos.json,下次启动自动恢复。

配置

| 环境变量 | 默认值 | 说明 | | -------------- | ----------- | -------------------------- | | GIT_GUI_PORT | 3417 | Git GUI 后端监听端口 |

端口仅绑定 127.0.0.1,不会对局域网开放。

开发说明

  • 宿主端插件导出 name / inject / apply,inject = ['webServer'],与 dsh-community-market 等官方插件一致。
  • 客户端为 window.__ModuleLoader__.load({ id, factory }) 形式的模块包,仅依赖 react 与 @deepseek-ai/dsh-client-runtime/client(defineStore),因此无需 额外构建步骤即可被 DSH 的浏览器模块系统加载。
  • 独立(非 DSH)运行的原版 Web Git GUI 位于原 git-gui 项目;本插件的 lib/git-gui-server.js 是其可嵌入重构版本,二者功能一致。