DeepSeek Harness 插件:dsh-kanban | 将 Jira + GitLab 转化为 Agent 可操作看板

前言

DeepSeek Harness (DSH) 提供了 Agent 工作流的框架,但在实际落地中,管理外部工具(如 Jira 和 GitLab)往往需要手动操作。静态的看板视图无法直接驱动 Agent,导致 Agent 无法基于项目状态进行决策。

dsh-kanban 插件解决了这个问题。它由 JianwuYang 维护,是一个 DeepSeek Harness 插件,旨在将 Jira Server / Data Center 和 GitLab 转化为 Agent 可操作的看板。每个 DSH 工作区被映射为一个项目,Agent 通过工具驱动看板,同时提供浮动面板供人工查看。

核心功能

该插件提供了以下已核实功能:

  • Agent 可操作看板:将 Jira/GitLab 看板转化为 Agent 可操作的工作流。
  • DSH 工作区即项目:每个 DSH 工作区对应一个项目,包含 Jira 连接、GitLab 连接和本地仓库配置。
  • 浮动面板:跟随当前会话,自动切换项目并重新加载,支持状态分组、分类高亮、折叠和搜索。
  • 完整问题详情:渲染描述(包含 Jira 图片代理)、附件链接、转换按钮、评论(支持粘贴/上传图片)和 Lightbox。
  • 创建问题:使用 Jira 的 createmeta API,支持必填标记、自动选择类型、优先级、指派人搜索和多值字段(组件/标签)。
  • GitLab 工作区:支持 Issues 和 Merge Requests 的过滤、搜索、链接、创建 MR,以及从 Jira Issue 创建 MR。
  • 分支切换:点击带有已打开 MR 的 Jira 卡片上的分支芯片,可在本地仓库执行 git fetch + git checkout。
  • 发送到会话分析:从问题详情发送分析请求到当前会话或新会话,支持附件作为图片内容传递。
  • Agent 工具:提供 15 个模型调用工具,结果直接在对话中渲染。
  • 双语 UI:支持中英文切换。

安装与启用

安装插件时,请使用以下命令:

dsh plugin --profile demo add /path/to/dsh-ui-kanban

如果从 Git 仓库安装,命令如下:

dsh plugin --profile demo add github:owner/dsh-ui-kanban

注意:如果使用 pnpm >= 10,第一次 Git 依赖的 prepare 脚本可能会被拒绝。此时需要在 pnpm-workspace.yaml 中添加 allowBuilds 配置,然后重试。

若需使用 Web GUI 配置卡片,请使用 web profile:

dsh plugin --profile web add /path/to/dsh-ui-kanban

配置

插件使用 YAML 配置文件。配置命名空间为 dsh-kanban。默认设置会从 schema 读取,然后合并 cordis.yml 基础配置,最后应用用户文档配置。

- insert:
    - id: dsh-kanban
      name: dsh-kanban
      config:
        dataDir: ''            # 留空则使用 ~/.dsh/kanban
        allowSelfSigned: true  # 通用默认值,用于 GitLab 自签名 TLS
        verbose: false
        jira:                  # 全局 Jira 主机 + 令牌,被每个工作区继承
          baseUrl: 'https://jira.example.com'
          apiToken: ''
        gitlab:                # 全局 GitLab 主机 + 令牌
          baseUrl: ''          # 例如 https://gitlab.example.com
          apiToken: ''
        projects:              # 每个工作区覆盖(以工作区 ID 为键)
          - id: default        # 工作区 ID
            name: Default      # 可选显示覆盖
            jira:
              projectKey: 'PROJ'
              jql: ''          # 会自动前置 `project = <key>`
            gitlab:
              project: ''      # 组/仓库或完整 URL
              mrAutoLink: true      # 从 MR 描述自动推导 MR <-> Issue 链接
              mrLinkKeywords: ''    # 闭合关键词(逗号分隔;留空则使用 GitLab 官方列表)
              mrLinkMentions: true  # 普通 #123 提及也视为链接
            localRepo:
              directory: ''    # 留空则使用工作区自身路径

权限与安全:Jira 和 GitLab Token 使用 role('secret'),Web GUI 仅编辑主机/令牌,不会在界面上回显密钥。

典型用法

  1. 打开面板:从会话头部「看板」按钮打开浮动面板。
  2. 配置连接:配置 Jira/GitLab 全局连接和项目覆盖。
  3. 查看与搜索:在面板中搜索问题(支持按键/摘要/指派人/状态)。
  4. 操作问题:点击问题查看详情,执行转换或评论。
  5. 分析请求:从问题详情发送「丢进会话分析」请求。
  6. 创建问题:使用 Jira 的 createmeta API 创建问题。
  7. GitLab 集成:配置 GitLab MR 链接关键词,支持从看板切换分支。

适用场景与注意

  • 适用场景:需要将 Jira 和 GitLab 集成到 DSH 工作流中,让 Agent 能够基于项目状态进行决策和操作的开发者。
  • 注意:
    • 许可证:MIT。
    • Web GUI 使用 web profile。
    • Token 为 role('secret')。

总结

dsh-kanban 通过提供 Agent 工具和可视化面板,将 Jira/GitLab 集成到 DSH 工作流中,实现了 Agent 对项目状态的直接操作。

  • 目录页:https://www.skillhub.cn/plugins/JianwuYang/dsh-ui-kanban
  • GitHub 仓库:https://github.com/JianwuYang/dsh-ui-kanban
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜