🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Jira 看板插件 JianwuYang/dsh-ui-kanban

DeepSeek Harnessv0.2.10
JianwuYang49 天前有提交已提供中文文档扫描:含敏感能力

把 Jira 与 GitLab 看板变成 agent 能直接干活的工具

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:npm 同名包「dsh-kanban」归属 karoc/dsh-kanban,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JianwuYang/dsh-ui-kanban
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/01·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 49 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-kanban」归属 karoc/dsh-kanban,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-kanban @ 0.2.10
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 08:15:18

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 发起网络请求
    src/backend/gitlab.ts:60
    return axios.create({
  • 发起网络请求
    src/backend/jira.ts:272
    return await fetch(url, { ...init, signal: controller.signal })
  • 写入本地文件
    src/backend/jira.ts:409
    await writeFile(tempPath, buffer)
  • 写入本地文件
    src/backend/storage.ts:53
    await mkdir(path.dirname(file), { recursive: true })
  • 写入本地文件
    src/backend/storage.ts:55
    await writeFile(tmp, JSON.stringify(value, null, 2), 'utf8')
  • 写入本地文件
    src/backend/storage.ts:56
    await rename(tmp, file)
  • 读取本地文件
    src/backend/storage.ts:61
    const raw = await readFile(file, 'utf8')
  • 发起网络请求
    src/client/api.ts:57
    const res = await fetch(`/kanban-api${path}`, { ...init, ...(headers === undefined ? {} : { headers }) })
  • 写入剪贴板
    src/client/copy.ts:57
    await navigator.clipboard.writeText(text)
  • 发起网络请求
    src/http.ts:171
    resp = await fetch(target.toString(), {
  • 执行外部命令固定命令
    src/service.ts:695
    execFile('git', ['-C', dir, ...args], { timeout: timeoutMs }, (error, stdout, stderr) => {
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • Jira看板操作
  • GitLab看板操作
  • agent直接干活

让智能体直接干 Jira/GitLab 的活 · DSH 看板插件 | 一个 dsh 插件,把 Jira + GitLab 变成智能体能干活的看板

README

由 DeepSeek 最新模型翻译生成
dsh-kanban 一个 DeepSeek Harness(dsh)插件,把 Jira Server / Data Center + GitLab 看板变成 agent 真正能干活 的看板——每个 DSH 工作区就是一个看板项目,模型通过工具驱动看板,会话标题旁的悬浮面板给你人类的视角。 截图 | 悬浮看板 | Issue 详情 | 新建 issue | | GitLab 工作区 | 设置 | 亮点 - 一个工作区 = 一个项目。 看板从每个工作区自动派生一个项目:独立的 Jira 连接、GitLab 连接、本地仓库配置,以及各自的 issue 缓存。 - 面板跟随你的工作区。 从会话标题旁的「看板」按钮打开面板后,面板实时跟踪当前选中的会话并自动加载对应工作区的项目——切换会话,看板跟着切。 - 打开即自动同步。 每次打开面板,每个项目自动从 Jira 同步一次(先展示缓存数据,同步在后台进行);刚配置好 Jira 也会自动同步一次。 - 为窄面板设计的分组列表。 按状态分组、类目色条、可折叠分组、数量徽标、本地搜索;移动 issue 走「点击卡片 → 详情 → 流转按钮」(键盘友好)。 - 完整的 issue 详情。 渲染后的描述(Jira 图片经 host 代理,浏览器无需 token)、附件链接、流转按钮、评论(支持粘贴/选择图片上传)、图片灯箱。
展开完整文档(README 剩余 1 节)
dsh-kanban

一个 DeepSeek Harness(dsh)插件,把 Jira Server / Data Center + GitLab 看板变成 agent 真正能干活 的看板——每个 DSH 工作区就是一个看板项目,模型通过工具驱动看板,会话标题旁的悬浮面板给你人类的视角。

截图

| 悬浮看板 | Issue 详情 | 新建 issue |

| GitLab 工作区 | 设置 |

亮点

- 一个工作区 = 一个项目。 看板从每个工作区自动派生一个项目:独立的 Jira 连接、GitLab 连接、本地仓库配置,以及各自的 issue 缓存。
- 面板跟随你的工作区。 从会话标题旁的「看板」按钮打开面板后,面板实时跟踪当前选中的会话并自动加载对应工作区的项目——切换会话,看板跟着切。
- 打开即自动同步。 每次打开面板,每个项目自动从 Jira 同步一次(先展示缓存数据,同步在后台进行);刚配置好 Jira 也会自动同步一次。
- 为窄面板设计的分组列表。 按状态分组、类目色条、可折叠分组、数量徽标、本地搜索;移动 issue 走「点击卡片 → 详情 → 流转按钮」(键盘友好)。
- 完整的 issue 详情。 渲染后的描述(Jira 图片经 host 代理,浏览器无需 token)、附件链接、流转按钮、评论(支持粘贴/选择图片上传)、图片灯箱。
- 用 Jira 自己的元数据建 issue。 表单由 Jira createmeta 接口驱动:必填标记、问题类型自动选中、类型与优先级并排、负责人搜索、模块/标签等数组字段的芯片式多值输入(可点建议、可自由输入)、Jira 错误原因内联展示。
- GitLab 工作区。 议题与合并请求、状态筛选、搜索、打开 GitLab 链接、从选中的 Jira 事项创建议题、链接 Jira、创建合并请求(现有/新建分支、分支预览、关联议题)。MR ↔ 议题的关联来自面板记录的显式链接加上从 MR 描述解析出的交叉引用(Closes #12、普通 #12 提及——可在设置里配置);带关联议题创建 MR 时会把 Closes #iid 写回描述,GitLab 网页上同样显示原生关联。
- 看板上一键切分支。 关联了 opened 合并请求的 Jira 卡片会显示分支小按钮:一键在工作区本地仓库执行 git fetch + git checkout (多个 MR 时先弹列表选择),git 报错原样显示在 toast 里。
- 丢进会话分析。 从 issue 详情一键把「只分析、不修改」的请求发进当前会话或在当前工作区新建会话——走官方 ISession.prompt /
uiWorkspace.startSession() 入口;图片附件以 image content part(base64)随消息
发出,支持视觉的模型能真正看到图;指令要求 agent 用 kanban-issue 拉取最新数据、只分析不做任何修改。
- 带富渲染的工具。 工具结果在对话里直接渲染成看板列、issue 详情、项目列表、同步统计。
- 双语 UI。 所有界面跟随 harness 的语言设置(中文 / English),切换语言即时生效。

以 bundle 方式安装(面向用户)

dsh plugin --profile demo add /path/to/dsh-ui-kanban
或从 git 安装
dsh plugin --profile demo add github:you/dsh-ui-kanban

pnpm ≥10 上首次 git 依赖的 prepare 会被拒绝;把该包加进 profile 的
pnpm-workspace.yaml allowBuilds 后重试。

验证配置层并启动:

dsh --profile demo --dump-config # 应能看到 "# == dsh-kanban" 配置层
dsh --profile demo

要使用 Web GUI 和配置卡片,用 web profile:

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

配置

dsh-kanban settings 命名空间的解析顺序:*schema 默认值 → cordis.yml base → 用户文档。公共配置在顶层,项目嵌套在 projects 里。

- insert:
- id: dsh-kanban
name: dsh-kanban
config:
dataDir: '' # 留空 => ~/.dsh/kanban(环境变量 KANBAN_DATA_DIR 优先)
allowSelfSigned: true # GitLab 自签名 TLS 的公共默认值 verbose: false jira: # 全局 Jira host + token,所有工作区继承 baseUrl: 'https://jira.example.com' apiToken: '' gitlab: # 全局 GitLab host + token,所有工作区继承 baseUrl: '' # 例如 https://gitlab.example.com apiToken: '' projects: # 按工作区 id 的覆盖项
- id: default # 工作区 id name: Default # 可选显示名覆盖(默认 = 工作区标题) jira: projectKey: 'PROJ' jql: '' # 自动前置 project = gitlab: project: '' # group/repo 或完整 URL(自动归一化) mrAutoLink: true # 自动从 MR 描述识别议题关联 mrLinkKeywords: '' # 关闭关键词(逗号分隔;留空 = GitLab 官方词表) mrLinkMentions: true # 普通 #123 提及也算关联(不关闭) localRepo:
directory: '' # 留空 => 工作区自身路径

看板自动派生每个 DSH 工作区一个项目(id = 工作区 id,name = 工作区标题, localRepo.directory 默认 = 工作区路径)。所有工作区继承全局 Jira / GitLab host + token;projects 只放用户改过的覆盖项。「当前项目」跟随当前会话的工作区,不存在全局 activeProject。

Jira / GitLab token 都是 role('secret');GUI 卡片只编辑全局 host/token (密码留空 = 保留 host 侧密钥),工作区级连接覆盖用 kanban-configure 工具管理。

悬浮面板

从会话标题旁的「看板」按钮打开(conversation.session.header.utilities → shell.overlay)。面板:

- 实时跟随当前选中会话的工作区(无选中时回退到打开按钮所属会话),变化时自动重载;
- 每个项目在面板打开期间自动同步一次,随后静默刷新;
- 展示按状态分组的 issue 列表:类目色条、可折叠分组、数量徽标、本地搜索(key / 摘要 / 负责人 / 状态名);关联了 opened MR 的卡片带分支小按钮,一键把工作区仓库切到 MR 分支;
- 点击卡片打开详情(Enter/Space 可键盘操作):渲染后的描述、附件链接、流转按钮、支持粘贴图片的评论框,以及「丢进会话分析」操作;
- 承载 GitLab 工作区(议题/合并请求、从 Jira 创建、链接 Jira、创建 MR)和设置弹窗(Jira / GitLab 连接)。

给 agent 的能力

host 半边注册了 15 个模型可调用的工具。真实的 Jira/GitLab 操作(以及磁盘上的 issue 缓存)都在 host 半边完成——浏览器拿不到任何 Jira/GitLab 凭据,token 是
role('secret'),Web 侧永远不会回显。

| 工具 | 用途 |
| kanban-projects | 列出项目(工作区)、Jira key、同步状态、当前项目。 |
| kanban-set-active-project | 设置工具的默认操作项目。 |
| kanban-configure | 设置项目的 Jira / GitLab / 本地仓库连接。 |
| kanban-sync | 从 Jira 拉取 issue 到本地缓存(新增/更新计数)。 |
| kanban-issues | 读取缓存看板,按状态列分组。 |
| kanban-issue | 实时详情:描述、附件、流转、评论、canDelete。 |
| kanban-move | 通过工作流流转移动 issue。 |
| kanban-create | 创建 Jira issue(并写入缓存)。 |
| kanban-comment | 评论 issue。 |
| kanban-assign | 把 issue 分配给用户(Jira 用户名),可顺带添加评论。 |
| kanban-gitlab-issues | GitLab 议题(含链接的 Jira key 与 MR)。 |
| kanban-gitlab-mrs | GitLab 合并请求(含关联 issue 与 Jira key)。 |
| kanban-gitlab-create-issue | 从一个或多个 Jira 事项创建 GitLab 议题。 |
| kanban-gitlab-create-mr | 创建 GitLab 合并请求(可选从新分支创建)。 |
| kanban-gitlab-link-jira | 把 Jira key 链接到 GitLab 议题。 |

丢进会话分析

issue 详情里有「丢进会话分析」操作。确认弹窗选择发送位置(当前会话 / 在当前工作区新建会话)后:

1. 面板通过官方 ISession.prompt 入口发送提示词(新建会话走
uiWorkspace.startSession(),在当前工作区创建并打开新会话);
2. 消息只带 issue key + 指令:调用 kanban-issue 拉取最新详情、只做分析不做任何修改——agent 通过工具拿实时数据,聊天里用同一套 toolview 富渲染;
3. 图片附件经 host 代理拉取后以 image content part(base64)随消息发出,支持视觉的模型能直接看到;纯文本模型优雅降级(harness 会替换成文本占位提示)。

本地开发

在 deepseek-harness 源码根目录,用 overlay 直接加载本仓库源码(只有 host 半边,不用安装):

cp dev/cordis.example.yml dev/cordis.yml # 首次使用:模板 → 本地文件(已 gitignore)
编辑 dev/cordis.yml,把 name 改成本仓库的绝对路径
pnpm dsh web --patch /absolute/path/to/dsh-ui-kanban/dev/cordis.yml

要测试浏览器半边,请把包安装进 profile(见上)。

运行检查:

pnpm install
pnpm typecheck
pnpm build
node test/smoke.mjs

test/smoke.mjs 验证:host 模块加载并注册工具、settings 命名空间接线、后端离线解析项目列表、浏览器 lib/client.js 的 __ModuleLoader__ 握手可执行。

浏览器半边的工作原理

- package.json 声明 dsh.client: { platform: "web" } + exports["./client"];
dsh 的 client-modules 把 lib/client.js 作为浏览器插件加载。
- src/client/index.ts 注册各 UI 面——配置卡片(settings.plugin.item)、工具结果自定义渲染(按 kanban 工具名 keyed 的 tool.call.toolview)、会话标题旁「看板」按钮打开的悬浮面板(conversation.session.header.utilities → shell.overlay,交互式看板的唯一入口)。详见 docs/ui-surfaces.md。
- 看板渲染来自 host 半边在每个工具调用上输出的结构化 output.presentationMeta,不需要向 host 发任意 RPC。
- 客户端运行时只依赖 react,其余(图标、弹窗、toast)全部内联;所有颜色走 host 主题变量(--dsw-alias-),深浅色自动适配。

改成你自己的插件

一致地重命名:package.json 的 name、src/index.ts 的 name/NAMESPACE、 cordis.patch.yml 的 id/name、tsdown.config.ts 里的客户端 bundle id、 src/client/constants.ts。在 src/config.ts(Config + schema)里增删字段,并在配置卡片里镜像标量字段。

发布

- npm:pnpm publish
- tarball:pnpm pack,然后 dsh plugin add ./dsh-kanban-0.1.0.tgz
- git:dsh plugin add github:you/dsh-ui-kanban

License

MIT
预览分享卡片长什么样 ↓JianwuYang/dsh-ui-kanban
分享 · DeepSeek Harness Hub
JianwuYang/dsh-ui-kanban

把 Jira 与 GitLab 看板变成 agent 能直接干活的工具

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部