wuqingzhong2020/dsh-multi-git-repo-manager ↗★ 0

dsh-multi-git-repo-manager

Shared Git repository and non-Git directory management for DeepSeek Harness plugins. 适合在 DSH 中需要同时管理和切换多个代码仓库的开发者。

パッケージ
dsh-multi-git-repo-manager
互換性
未検証
Harness ピア範囲
>=0.2.0 || 0.2.0-rc.2
Cordis ピア範囲
^4.0.4
バージョン
0.1.4
ライセンス
MIT
最終更新
2026/10/06

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wuqingzhong2020/dsh-multi-git-repo-manager

ドキュメント

README 全文を読む ↗

使用文档

首次使用请阅读 中文使用手册 或 English user guide,其中说明原生 Tab 入口、类型选择、目录发现、保存、重载、临时目标和常见问题,并配有实际 Desktop 截图。

实际 Desktop 中的多代码仓管理 Tab

进入工程会话,打开右侧栏,从「开始」页点击 多代码仓管理。右侧「+」打开的新标签页同样提供此入口;管理页支持切换、分栏和全屏,切换 Tab 时保留未保存表单。原会话顶部的管理页签已移除。当前管理页未提供单独的「操作指南」按钮,手册从本 README 打开。

配置工程

  1. 在目标工程的会话中,从右侧「开始」页打开「多代码仓管理」。工程目录和项目名称由会话确定,只读显示。
  2. 点击 添加仓库或目录,选择 Git 或 非 Git 目录,填写名称与路径,或用 打开 选择目录。
  3. 选择是否启用多目标管理、是否包含工程根目录。没有项目文件时,点击 生成新配置文件;已有文件时点击 保存配置。
  4. 检查下方两类目标的数量、来源和状态。直接编辑磁盘 JSON 后,点击 重新加载已保存配置;重载会用保存内容替换当前表单。

启用工程根目录时,根目录按自身元数据自动分类。工程根不是 Git 时,它会成为普通目录;其下独立 Git 子仓仍作为更深目标分别管理。只管理指定子目标时取消根目录选项。

配置示例

工程配置文件为 dsh-multi-git-repo.json。包含普通目录与发现容器的 v2 示例:

{
  "version": 2,
  "enabled": true,
  "includeProjectRoot": false,
  "repositories": [{ "name": "Core", "path": "core" }],
  "directories": [
    { "name": "LocalComponent", "path": "project/LocalComponent" },
    { "name": "LocalPlugin", "path": "project/plugins/LocalPlugin" }
  ],
  "discovery": { "containers": ["project", "project/plugins"] }
}

Git 条目放在 repositories,普通目录放在 directories。工程根从配置文件位置推导。配置仅支持 v2,不导入历史清单或进行格式升级;未知字段、不合法路径或陈旧修订拒绝覆盖。

发现与临时目标

在发现容器中每行填写一个工程内路径,点击 预览发现结果。只检查直接子目录,逐项点击 添加到列表 后还需保存;容器本身不自动纳管,嵌套容器避免重复列为候选。

工程内目标保存相对路径;工程外目标,包括父目录、兄弟目录、跨盘目录和逃出工程的目录联接,须显式作为当前会话临时目标使用,路径为绝对路径,不写入 JSON。先生成工程配置,才能添加临时目标。移除条目只移除配置或会话引用,插件不会 clone、pull、初始化 Git 或删除源码。

配置限制为 1 MiB、512 个目标、32 个发现容器。具体状态、路径规则和排查步骤见 使用手册。

配置示例

工程配置文件为 dsh-multi-git-repo.json。包含普通目录与发现容器的 v2 示例:

{
  "version": 2,
  "enabled": true,
  "includeProjectRoot": false,
  "repositories": [{ "name": "Core", "path": "core" }],
  "directories": [
    { "name": "LocalComponent", "path": "project/LocalComponent" },
    { "name": "LocalPlugin", "path": "project/plugins/LocalPlugin" }
  ],
  "discovery": { "containers": ["project", "project/plugins"] }
}

Git 条目放在 repositories,普通目录放在 directories。工程根从配置文件位置推导。配置仅支持 v2,不导入历史清单或进行格式升级;未知字段、不合法路径或陈旧修订拒绝覆盖。