편집자 노트

FlutterSoul/dsh-git-workbench

Git and GitHub pull-request workbench for DeepSeek Harness, with agent tools and an integrated Web UI.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

dsh-git-workbench

面向 DeepSeek Harness 的 Git 与 GitHub 拉取请求工作台,同时提供模型工具和集成在 DSH Web 侧栏中的操作界面。

状态:实验性。DeepSeek Harness 当前仍为开发者预览版,插件接口可能变化。本版本以 DSH 0.1.0-rc.6 为兼容基线。

English

功能

  • 查看仓库状态、暂存/未暂存差异、提交历史和本地/远程分支
  • 暂存、取消暂存、安全还原、提交、创建/切换/安全删除分支
  • Fetch、默认仅快进的 Pull,以及不提供强推参数的 Push
  • GitHub PR:列表、详情、创建、编辑、检出、合并和评论
  • DSH Web 侧栏工作台:变更、文本文件编辑、提交、分支、历史、PR
  • 与界面共用同一实现的模型工具:git_statusgit_diffgit_loggit_stagegit_commitgit_branchgit_syncgithub_pr

本项目对齐的是 Codex 等编程代理中的 Git/GitHub 工作流,不宣称复刻与 Git 无关的 Codex 专有能力。

环境要求

  • Node.js ^22.19.0>=24
  • DeepSeek Harness 0.1.0-rc.6
  • PATH 中可用的 Git
  • PR 功能需要 PATH 中可用的 GitHub CLI,并已执行 gh auth login

插件不保存 GitHub Token,认证始终由 Git 和 gh 管理。

从 GitHub 安装

在 npm 正式发布前,可从 GitHub 仓库安装:

dsh plugin --profile web add github:FlutterSoul/dsh-git-workbench

Git 源码安装会执行本项目的 prepare 构建。pnpm 10 及以上版本会在首次安装时按设计拒绝执行。审阅仓库后,将 DSH 报错中打印的精确 package key 写入 $DSH_HOME/profiles/web/pnpm-workspace.yaml,再重试安装。pnpm 11.19 及以上版本可使用仓库级配置:

allowBuilds:
  'dsh-git-workbench@git+https://github.com/FlutterSoul/dsh-git-workbench.git': true

这只授权该 Git 仓库执行构建,不要全局关闭 pnpm 的构建保护。若要求可复现安装,请在 GitHub specifier 后附加已审阅的 commit 或 tag。

启动 DSH Web:

dsh --profile web

侧栏底部会出现 Git 入口,工作台自动跟随当前任务已注册的工作区。

配置

cordis.patch.yml 会用默认配置插入插件。如需调整,可在 DSH profile 的 Loader 条目中配置:

配置项默认值作用
gitBinarygitGit 可执行文件
ghBinaryghGitHub CLI 可执行文件
commandTimeoutMs120000单个进程超时
maxOutputBytes4194304命令输出上限
maxFileBytes1048576编辑器可打开的文件大小上限
maxRequestBytes2097152Web API 请求体上限
defaultRemoteorigin默认远端
defaultPullModeff-onlyff-onlyrebasemerge
pushBeforePrCreatetrue创建 PR 前推送当前分支
mutationApprovalall模型工具审批策略:alldestructivenone
allowedRoots[]允许界面访问的附加绝对根目录

界面默认只接受 DSH 已注册工作区。只有部署方确实需要暴露额外工作区树时,才应配置 allowedRoots

安全设计

  • 子进程使用 spawnshell: false,不会把参数拼接成 Shell 命令。
  • 关闭 Git 与 GitHub CLI 的交互式凭据提示和分页器。
  • 同一仓库的写操作串行执行。
  • 模型发起的写操作默认要求审批;没有审批服务时自动拒绝。
  • 浏览器调用要求同源,并限制在已注册或显式配置的工作区。
  • 文本保存携带预期 SHA-256;打开后文件被外部修改时拒绝覆盖。
  • 不暴露强推、强制删分支、git clean、任意 Git 参数或任意 gh 参数。
  • “丢弃”只对明确的已跟踪路径执行 git restore --worktree,不会删除未跟踪文件。

界面按钮本身是用户直接操作;丢弃变更、删除分支和合并 PR 还会再次确认。

开发与验证

pnpm install --ignore-scripts
pnpm check
pnpm pack --dry-run

本地接入 DSH:

dsh plugin --profile web add ./path/to/dsh-git-workbench
npx @deepseek-ai/dsh web

自动测试会创建一次性 Git 仓库,不访问 GitHub。PR 的在线验证需要使用你有权限控制的仓库和已登录的 gh

边界

  • 编辑器只处理 UTF-8 文本。二进制文件或超过 maxFileBytes 的文件只展示差异。
  • PR 当前通过 GitHub CLI 实现,不支持其他代码托管平台。
  • 可以查看冲突状态并编辑冲突文件,但不包含语义化三方合并编辑器。
  • 插件不负责创建仓库、改写历史、管理凭据或绕过分支保护。

许可证

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

prepare이(가) 감지되었습니다. 설치 전에 스크립트를 검토하세요.

주의 사항lifecycle-scripts