Git 服务器:内嵌 ts-gogs(Gogs 的 TypeScript 平替),独立端口跑完整 Git 服务(HTTP clone/push、网页端、issue/PR/wiki),可复用 user-management 的用户名密码,设置页一键启停。
安装
# npm 包(预构建)
dsh plugin --profile web add @weibaohui/dsh-git-server
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:weibaohui/dsh-git-server
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
Git 服务器插件:把一套完整的自助 Git 服务装进 dsh——HTTP clone/push、工单、PR、wiki、发版、标签、里程碑、webhook 全功能,网页侧全程是 dsh 原生界面,账号可复用 user-management。
核心功能
- 完整自助 Git 服务:HTTP clone/push 开箱即用,仓库/工单/PR/wiki/发版/标签/里程碑一条龙,崩溃自动拉起
- dsh 原生管理页:侧栏底部「Git」进全屏页——建仓(或从 URL 导入/镜像)删仓/克隆地址,仓库浏览多标签(文件树+语法高亮、提交历史、分支、工单、PR、Wiki、发版、标签、里程碑、设置);React + dsh 主题(亮暗自动跟随)、zh/en 双语
- 协作闭环:通知中心(评论/指派/@提及未读 + 侧栏角标)、跨仓库「我的工单/PR」聚合、PR 评审(通过/请求修改)、
fixes #Npush 自动关单、提交与工单互相跳转 - 工程能力:分支保护(禁删/禁强推)、协作者只读/可写/管理三档、发版二进制附件、仓库内代码搜索、webhook 测试投递与投递记录、文件永久链接深链
- 账号打通:账户来源 = user-management(必装)——git 凭据与页面登录均走 user-management 校验,免另记一套账号;网页注册关闭,账号只由 dsh 管理
- 一键启停:启用/停用/端口/数据目录全在设置页,改完即生效
- 局域网 git:默认监听
0.0.0.0,局域网内机器可直接git clone/push - 数据自持:数据目录 = 仓库 + 数据库 + 日志,备份整个目录即备份全部
安装
本插件依赖 user-management 提供登录与账户,必须先装:
dsh plugin --profile web add @weibaohui/user-management -w
dsh plugin --profile web add @weibaohui/dsh-git-server -w
装完重启 dsh web 即生效。
使用
打开 Web UI → 设置 → Git 服务器——默认已启用(监听
0.0.0.0:3400,无需勾选;要停用在设置页取消勾选),可在此改端口/数据目录/查看root密码侧栏底部点「Git」进全屏管理页:新建仓库(或导入已有),照常开发
git clone/push走子进程端口,凭据用 user-management 的用户名密码:git clone http://127.0.0.1:3400/root/drill-repo.git cd drill-repo && git checkout -b feature && ... && git push origin feature仓库浏览、工单、PR、wiki、发版、标签、里程碑等日常操作全部在原生管理页完成
联系我 :飞书群
版本兼容性
本插件与 DeepSeek Harness(@deepseek-ai/dsh)的版本对应关系:
| 插件版本 | 适配 dsh 版本 | 备注 |
|---|---|---|
| 0.2.3 | 0.1.7-rc.2 | 当前版本;修复 Config 降级导出 null——宿主 settings schema() 不排除 null,会炸 settings.describe() 拖垮整份设置文档(同 dsh-continue#4) |
| 0.2.0 | 0.1.7-rc.2 | 已在 @deepseek-ai/dsh@0.1.7-rc.2 下验证运行 |
| 0.1.3 | 0.1.7-rc.2 | 已在 @deepseek-ai/dsh@0.1.7-rc.2 下验证运行 |
发版约定:每次发布新版本时,请在上表追加一行,记录该插件版本实际验证所用的
@deepseek-ai/dsh版本。package.json的engines.dsh声明最低支持版本;本表记录实际验证版本,二者配合使用。
功能巡览
主页
| 仓库列表 | 从 URL 导入/镜像 |
|---|---|
代码浏览
| 文件树+README | 语法高亮 | Blame | 文件历史 | 空仓库推送引导 |
|---|---|---|---|---|
| 提交历史 | 提交 diff | 仓库内代码搜索 |
|---|---|---|
| 分支概况 | 分支与标签 |
|---|---|
工单 / PR / 协作
| 工单列表 | 工单详情 | 新工单 |
|---|---|---|
| 标签管理 | 里程碑 | PR 列表 |
|---|---|---|
| PR 评审与合并 | 已合并 PR(评审记录) |
|---|---|
| 通知中心 | 我的工单聚合 | 星标/复刻弹层 |
|---|---|---|
Wiki / 发版
| Wiki 页面 | 发版(含二进制附件) |
|---|---|
仓库设置
| 协作者(三档权限) | 分支保护 | Webhook 与投递记录 | 镜像同步 | 危险区域 |
|---|---|---|---|---|
全局页面
| 探索 | 组织 | 用户主页 | 管理面板 |
|---|---|---|---|
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-git-graph★ 9321
输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
Akimiya-z/codex-guard#dsh★ 133
在 DeepSeek Harness 内做提交前的 Pull Request 卫生检查:扫描当前改动中的 TODO 残留、硬编码密钥与非规范提交信息。
Cerbur/clutch-dsh#clutch-dsh-worktree★ 34
为 DSH Web UI 增加按 Git Worktree 组织 Session 的视角,同时继续由 DSH 管理原始 Project 和 Session 数据。
lehhair/dsh-diff-viewer★ 26
PiUI 风格 diff 查看器,替换 write/edit 工具调用的默认 DiffBlock。
DamonKoy/dsh-web-ui#dsh-git-graph★ 25
dsh web GUI 会话头部栏的 Git 分支选择器与提交图。
PerryLink/dsh-github★ 24
官方级 GitHub CI 集成:composite action.yml、轮询 PR 评审机器人(幂等行内评论 + status-check 门禁)以及 PR/issue 工具,所有写入走人工审批门。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。