@libai168/dsh-tool-gitlab
GitLab tools for DeepSeek Harness: MR lifecycle with approvals, CI/CD pipelines, group & member governance, todos, and project search
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-tool-gitlab
面向 DeepSeek Harness(dsh)的 Cordis 工具插件,为 Agent 提供企业级 GitLab 能力:端到端的合并请求(MR)评审(变更、讨论、批准)、CI/CD 流水线观测与触发、组/项目成员与权限审计、个人 Todo 工作台——全部通过自然语言完成。
基于官方"一切皆插件"架构(ctx.tools.register(defineTool(...))),遵循官方 adding-a-tool 契约。专门为 自托管 GitLab(通过 baseUrl 覆盖)和 企业治理工作流 设计。
安装
直接从 GitHub 安装(无需发布 npm):
npm install github:LJH-snow/dsh-tool-gitlab
# 或指定分支/标签
npm install github:LJH-snow/dsh-tool-gitlab#main
或从本地安装:
git clone https://github.com/LJH-snow/dsh-tool-gitlab
cd dsh-tool-gitlab
npm install && npm run build # 构建到 lib/
npm install /path/to/dsh-tool-gitlab
发布到 npm 后也可通过
npm install @libai168/dsh-tool-gitlab安装。
需要 @deepseek-ai/cordis(^4.0.1)和 @deepseek-ai/dsh-tools(^0.1.0-rc.6)作为 peer 依赖,由 dsh 运行时提供。
配置
在 dsh 组合配置(cordis.yml)中加载插件:
- name: 'dsh-tool-gitlab'
config:
token: 'glpat_xxx' # GitLab PAT(可选;写操作、MR 批准、CI 触发、个人工具需要)
baseUrl: 'https://gitlab.com/api/v4' # 可选;自托管时指向你的实例,如 https://gitlab.example.com/api/v4
timeoutMs: 15000 # 可选,请求超时毫秒数(默认 15000)
完整示例见 examples/cordis.yml。
安全:只读工具无需 token;写工具、MR 批准、流水线触发、私仓代码搜索、当前用户与 Todo 需要 token。建议使用最小权限 PAT(按需选择
api、read_repository等 scope),切勿提交到仓库。
与 GitHub 插件的差异化(企业向)
| 领域 | 本插件(GitLab) | GitHub 插件 |
|---|---|---|
| MR 全生命周期 | gitlab_get_mr_changes(逐文件 diff)、gitlab_list_mr_discussions(评审讨论线)、gitlab_approve_mr、gitlab_merge_mr(squash) | 仅 PR 草稿 + 合并 |
| CI/CD | gitlab_list_pipelines、(stages)、(完整日志)、 |