前言¶
在 DeepSeek Harness(DSH)里让 agent 操作 Jira、Confluence,常见做法是走 MCP。DSH 自带的 dsh-mcp-client 不支持 OAuth;若改用 API token,往往每次工具调用都要显式传 cloudId,站点信息也要自己维护。Atlassian 官方提供了远程 MCP 服务器,产品覆盖 Jira、Confluence、Jira Service Management、Bitbucket 与 Compass,授权模型是 OAuth 2.1。
下面介绍社区插件 dsh-plugin-atlassian(维护者 zhenyong97,分类:联网工具)。它把上述官方远程 MCP 接到 DSH,一次浏览器授权后,工具以 mcp__atlassian__<名称> 的形式出现在 agent 工具列表里,站点由授权决定,不需要再传 cloudId。
这是什么¶
dsh-plugin-atlassian 是 DeepSeek Harness 的 Cordis 插件:通过 OAuth 2.1 连接 Atlassian 官方远程 MCP 服务器,把 Jira、Confluence、JSM、Bitbucket、Compass 等产品的 MCP 工具桥接到当前 DSH profile。
许可证为 MIT;当前 package 版本为 0.1.0。插件在 DSH 社区目录 skillhub.cn 收录,源码与说明见 GitHub。
核心功能¶
MCP 工具桥接¶
授权成功后,agent 可直接调用例如:
mcp__atlassian__getJiraIssue
mcp__atlassian__createJiraIssue
mcp__atlassian__searchConfluenceUsingCql
实际可用工具集合取决于你在授权站点里的产品权限。README 中列出的典型工具包括:JQL 搜索与读写工单、可见项目列表、工单状态流转查询;Confluence 的 CQL 搜索与页面读写;以及 atlassianUserInfo、getAccessibleAtlassianResources 等账号与站点信息类接口。
插件只桥接 MCP Tools,Resources 与 Prompts 暂不支持;图片类结果会渲染为占位文本。
设置页与 OAuth¶
在 DSH 设置 → Atlassian 完成连接:点「连接 Atlassian」,在 Atlassian 授权页选择站点并批准,状态变为「已连接」后,设置页会显示站点与可用工具数量。授权信息保存在 $DSH_HOME/.dsh-atlassian/。
内置 Jira 看板¶
授权后侧边栏会出现 Jira 图标,打开的是与 MCP 同一条连接的看板,无需额外 token 或 cloudId。
看板支持按 Jira 状态分列、按项目与状态类别(待办 / 进行中 / 完成)筛选、客户端子串搜索、进行中与全部视图切换,以及可编辑的 JQL(回车生效)。卡片详情抽屉展示 Markdown 描述、优先级、负责人、项目,以及服务端返回的状态流转按钮;README 明确要求 agent 不要自行改工单状态,变更应在看板抽屉里由你确认。
右键卡片可把工单「投递」到当前或新建会话,或复制提示词;支持 Shift+点击 多选与批量投递,多个工单会合成一条提示词。指令模板可通过 board.promptTemplate 自定义,默认模板约束 agent 先读代码、限定任务范围,并再次强调不要自行变更 Jira 状态。
安装与启用¶
推荐安装 Release 上的预构建包(含已编译 lib/,安装时不跑构建,可避免 pnpm 默认拦截构建脚本):
dsh plugin --profile desktop add https://github.com/zhenyong97/dsh-plugin-atlassian/releases/latest/download/dsh-plugin-atlassian.tgz
装完后重启该 profile。把 desktop 换成你实际使用的 profile 名。
若要从源码安装并本地编译,可用仓库地址(会执行 prepare 构建,pnpm 可能要求你在该 profile 的 pnpm-workspace.yaml 里授权构建脚本):
dsh plugin --profile desktop add github:zhenyong97/dsh-plugin-atlassian
运行环境要求 Node ^22.19.0 || >=24.0.0(见 package.json 的 engines)。
连接 Atlassian¶
- 打开 设置 → Atlassian
- 点 连接 Atlassian
- 在授权页选择要授权的站点并批准
- 状态变为 已连接,页面列出站点与可用工具数
授权页未自动打开时,设置页会提供可点击的授权链接。若流程卡住,可点 断开连接 后重连。redirectPort 被占用时插件会退回临时端口并重新注册。
典型用法¶
连上之后,可直接用自然语言驱动 agent,README 中的示例包括:
- 「列出 PROJ 项目里分配给我的、还没关闭的工单」
- 「把这段需求拆成 5 个子任务,挂到 PROJ-123 下面」
- 「把这次会议的结论写成 Confluence 页面,放到 Engineering 空间」
- 「搜一下 Confluence 里带 release-notes 标签的页面,汇总成本周发布说明」
日常也可先看板筛选工单,再右键投递到会话,让 agent 在明确任务边界下改代码或写文档。
配置¶
默认配置开箱可用。需要覆盖时,在该 profile 的 cordis.patch.yml 里按 id: atlassian 写配置。注意:补丁会整体替换该行的 config,不是字段级合并,覆盖时需把其余字段一并写上。
| 字段 | 默认值 | 含义 |
|---|---|---|
serverName |
atlassian |
工具名前缀:mcp__<serverName>__<tool> |
redirectPort |
3334 |
OAuth 回调端口,尽量保持不变 |
expectedSite |
空 | 授权后校验站点,不一致时提示(非硬阻断) |
autoOpenBrowser |
true |
点连接时是否自动打开浏览器 |
board.jql |
空 | 看板默认 JQL,留空用内置「进行中」视图 |
board.limit |
50 |
每次刷新工单上限(服务端单页最多 100) |
board.timeoutMs |
90000 |
单次看板读取超时 |
board.promptTemplate |
空 | 投递 agent 的指令模板,留空用内置 |
完整字段与默认值见仓库中的 cordis.patch.yml。
卸载¶
dsh plugin --profile desktop remove dsh-plugin-atlassian
删除 $DSH_HOME/.dsh-atlassian/ 可一并清除授权信息。
适用场景与注意¶
适合谁: 已在 Atlassian Cloud 上使用 Jira / Confluence 等,希望在 DSH agent 里用官方远程 MCP、且希望用 OAuth 一次授权代替反复传 cloudId 与 API token 的开发者或团队。
常见问题(摘自 README): profile 无 web server 或未重启会导致设置里没有 Atlassian 页;连接成功但工具数为 0 多为站点产品权限问题;expectedSite 与实际授权站点不一致时仅提示,工具仍可用。
安全与信任: 插件以当前 DSH 进程的权限运行,OAuth token 落在本机 $DSH_HOME/.dsh-atlassian/。安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的合规要求。
DSH 生态强调「一切皆插件」;skillhub.cn 上的社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-plugin-atlassian 补上了 DSH 侧 OAuth 2.1 与 Atlassian 官方远程 MCP 之间的桥,并在 UI 里提供连接设置与 Jira 看板,方便从工单到 agent 会话的衔接。若要安装或查更新,可看社区目录页与 GitHub 仓库:
- 目录页:https://www.skillhub.cn/plugins/zhenyong97/dsh-plugin-atlassian
- GitHub:https://github.com/zhenyong97/dsh-plugin-atlassian