DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

cnHuaShao /

cnHuaShao/dsh-gitee-enterprise

Verified

Gitee Enterprise work-item workbench for DeepSeek Harness

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@f5c730bf

Gitee 企业工作台(DSH 插件)

在 Harness Web UI 中管理 Gitee 企业版项目里的任务、需求与缺陷。

安装

在 DSH 的插件管理 / Bundle 安装中安装:

dsh-gitee-enterprise

安装后重启或刷新 DSH,再从左侧栏打开「Gitee 工作台」并配置自己的 Gitee 令牌。

首次使用

  1. 点击左侧栏的 Gitee 工作台 图标。
  2. 粘贴令牌:
    • 私人令牌:https://gitee.com/profile/personal_access_tokens 生成,需勾选 projects / issues 相关权限。
    • 企业 MCP 令牌:在 https://gitee.com/profile/mcp_gitee_ent_access_tokens 生成,填写企业的数字 ID(例如 1234567)。这不是普通私人令牌,也不是个人版 MCP 令牌。
  3. 点击 识别并连接。插件会探测令牌实际可用的 API,并显示能力徽标。

令牌保存在 %DSH_PROFILE_DIR%\gitee-enterprise\state.json(POSIX 权限 0600),不会返回给浏览器。

能力差异

能力 私人令牌(v5 API) 企业 MCP 令牌(v8 API)
浏览项目 / 工作项 支持(项目由可见工作项归纳) 支持(完整项目列表)
工作项分页 支持(服务端 page / per_page) 支持
父子层级 支持(读取 parent_id / parent_url / depth) 支持
优先级 支持(priority 0–4) 支持
负责人筛选 支持(企业成员列表 + 服务端 assignee) 支持
工作项范围限制 支持(负责人 / 协作人,作用于列表和 @ 引用) 支持
评论 视企业 v5 评论接口是否开放 支持(读取和发表)
排序 创建/更新时间服务端排序;其余字段本地扫描排序 七个字段均由 v8 服务端排序
查看 / 更新 支持 支持
新建 不支持 支持
删除 不支持 支持
删除安全自检 跳过,不改动数据 创建 [DSH-TEST] 项后仅删除该项

私人令牌的 Gitee v5 企业接口只提供列取、详情和更新,不提供企业工作项的创建/删除;这不是插件限制,而是 API 权限边界。需要完整增删改时,请在连接设置中换用企业 MCP 令牌。

私人令牌已经足够完成分页浏览和父子层级展示。 v5 接口原生支持 state=all、page、per_page,并通过响应头 Link rel="last" 返回总页数;工作项 JSON 也包含 parent_id、parent_url 和 depth。企业 MCP 令牌主要补充的是新建/删除,以及 v8 更完整的项目和类型筛选能力。

分页与父子层级

  • 工作项列表底部有「上一页 / 下一页」和每页条数选择(20 / 50 / 100)。
  • 页大小上限由 Gitee 接口决定,单页最多 100 条;插件已经改为真正的服务端分页,不再只取每个状态的前 100 条。
  • 「全部」状态直接使用 v5 的 state=all,不再分别拉取四个状态再合并。
  • 工作台默认状态为「全部」,与项目计数口径一致;只看进行中的工作项时再切换到「开启」或「进行中」。
  • 左侧项目栏会列出当前账号可见的全部项目:私人令牌没有企业项目列表接口,插件会扫描 state=all 的工作项分页并按 program 去重,而不是只看第一页的 100 条;因此项目较多时首次加载会略慢,之后使用 30 分钟缓存。
  • 项目栏的计数是本次扫描到的工作项数,用于排序和参考;Gitee 页面上的项目总数仍以线上为准。
  • 启用「工作项范围」后,项目栏和「全部项目」后的数字会按该范围重新统计(企业令牌会扫描该成员的负责人 / 协作人工作项并去重),不再显示项目全量总数;统计结果缓存 5 分钟。符合范围的工作项会缓存 2 分钟,点击项目时直接在这个集合里按项目 / 状态 / 类型筛选和分页,不会再出现“有计数但列表为空”。
  • 「全部项目」的数字包含未归属项目的工作项,因此可能略大于各项目数字之和。
  • 子工作项在列表中带 ↳ 缩进,并显示「父工作项 #编号」。
  • 带子项的工作项前有折叠箭头,可以收起 / 展开它的子工作项。
  • 企业令牌下按 parent_id 解析父子关系;父项不在当前页时,会在子项前显示一条可折叠的「父工作项 #编号」分组行,避免子项没有折叠入口。
  • 折叠只影响当前列表已加载的行;跨页的父项不会自动把其所有子项一次性加载进来。
  • 详情页显示父工作项;点击父工作项编号可以继续打开父项详情。
  • 负责人通过服务端 assignee 参数过滤,因此选中负责人后分页结果只包含该负责人。
  • 类型 / 项目 / 关键词筛选由 Gitee v5 企业接口在服务端忽略(实测只接受 state、page、per_page、assignee,以及 sort=created/updated),因此这些筛选是在当前页数据拉取后应用;如果当前页匹配较少,翻页即可继续查找。

优先级、负责人与排序

  • 列表新增「优先级」列,按 Gitee 原始优先级显示 P0、P1、P2、P3;P0 最高,「无优先级」显示为 —。企业 v8 接口直接读取 priority_human,不再把数字 4 误显示成 P4 紧急。
  • 负责人是可搜索下拉框,数据来自企业成员接口,支持按姓名、登录名搜索,也可以选「全部负责人」清除筛选;企业令牌会把登录名解析成成员 ID,并用 v8 assignee_id 在服务端过滤,因此选中负责人后不会出现空页。
  • 类型用列表上方的标签过滤,状态用状态下拉框过滤。
  • 工作项列表上方的搜索框支持标题模糊匹配(不区分大小写的子串;空格分隔多个关键词时要求全部命中),同时可以搜工作项编号、负责人姓名/登录名;不再因为项目名命中而返回标题无关的工作项。企业令牌会先拉取匹配结果再本地过滤,避免标题筛选后出现空页。
  • 状态标签按状态着色;「已完成」「已取消」所在的整行统一置灰(标题、优先级、类型、状态和负责人一起变灰),其他关闭态/拒绝态仍保留原颜色。
  • 标题前会显示类型图标:任务为清单图标、需求为分层图标、缺陷为虫子图标,便于快速区分。
  • 列表标题按「类型图标 → 工作项编号 → 名称」排列;所属项目不在列表中展示,详情页仍可查看。
  • 排序字段:
    • 创建时间、更新时间:使用 Gitee 服务端排序,翻页结果全局有序。
    • 实际开始时间、实际结束时间、优先级、计划开始时间、计划结束时间:Gitee v5 不支持这些排序字段,插件会先扫描当前状态最近 20 页(最多 2000 条)再本地排序。
    • 选择「全部」状态且数据超过 2000 条时,界面会提示「已扫描最近 2000 条」;选择具体状态通常可以完整排序。
    • 「实际开始时间」读取 v5 的 scheduled_time 字段;该字段在现有数据里大多为空,因此排序时这些工作项会排在最后。v5 没有稳定的 started_at 字段。
    • 「实际结束时间」读取 finished_at;计划开始/结束分别读取 plan_started_at / deadline。

评论

  • 打开任务、需求或缺陷详情后,编辑区下方会显示该工作项的评论列表和发表框。
  • 企业 MCP 令牌使用 v8 的 GET/POST /enterprises/{id}/issues/{issue_id}/notes;读取时按创建时间正序,每页 20 条,超过后可点「加载更多评论」。
  • 发表评论后立即追加到列表并更新总数;Ctrl / ⌘ + Enter 也可以提交。
  • 评论正文按 Markdown 渲染,链接仍只允许安全协议。

从对话框左侧打开

  • 输入框左下角的工具区新增 Gitee 按钮,点击后会切换到完整的 Gitee 工作台主面板,不需要先回到侧栏图标。
  • 如果安装了 dsh-better-sidebar,它的侧栏“+”菜单里也会出现 Gitee 工作台,可以像“文件 / Git / 上下文”一样把 Gitee 作为侧栏页签打开。
  • 未安装 dsh-better-sidebar 时,只保留输入框左侧按钮和侧栏图标,不影响其他功能。

空间收起

  • 工作台左上角的 ‹ 按钮可以收起项目栏,只保留工作项列表,给列表更多横向空间;状态会被记住,刷新后保持。
  • 完整工作台右上角的 › 按钮可以收起 Harness 右侧栏,让 Gitee 工作台占用更宽的区域。
  • 侧栏页签里的 Gitee 是精简版,不显示“收起右侧栏”按钮,避免把承载自己的侧栏关掉。

工作项范围限制

在「连接设置」里可以开启 工作项范围:

  • 选择指定人员,以及匹配方式:
    • 负责人或协作人
    • 仅负责人
    • 仅协作人
  • 开启后,工作台列表只显示符合条件的工作项;分页、排序和状态筛选都在这个范围内进行。
  • 同一个限制也作用于对话框里的 @Gitee[...] 引用候选,不会引用范围外的工作项。
  • 关闭后恢复原来的行为,显示当前账号可见的全部工作项。
  • 设置保存在 Harness profile 的插件状态文件里,重启后仍然有效;断开连接会同时清空该限制。

接口层面:Gitee v5 只支持按 assignee 在服务端过滤;「仅负责人」会直接使用服务端过滤,分页连续。「协作人」和「负责人或协作人」需要先扫描当前状态最近 20 页(最多 2000 条)再在本地过滤;选择具体状态通常可以完整筛选,选择「全部」超过 2000 条时会提示扫描范围。

使用说明

  • 点击工作项标题或整行会打开详情框(默认只读),里面有「详情 / 子任务」两个 tab;子任务 tab 直接列出该工作项的子工作项,点击子项可继续打开它的详情。
  • 详情框右下角的「编辑」按钮进入编辑表单;描述默认按 Markdown 渲染,支持标题、列表、表格、代码块、引用、链接和图片。
  • 详情里的描述有「预览 / 编辑 Markdown」切换,保存时仍写入原始 Markdown。

在对话中引用工作项

在对话框输入 @,候选菜单会出现 Gitee 工作项 分组。可以直接搜索编号、标题、项目、负责人或状态,选中后会在输入框中插入一个引用标记:

@Gitee[IKQGQK]

发送时,插件会自动读取该工作项的最新详情,把标题、类型、状态、项目、负责人、父工作项、链接和描述展开成模型上下文,再和你的提示词一起发送。即使只写了 @Gitee[IKQGQK] 帮我分析这个问题,模型也能看到完整任务内容。

候选菜单默认加载最近约 400 条工作项(4 页 × 100 条);更早的工作项可以在工作台里翻页或缩小状态范围后查看。如果开启了「工作项范围」限制,候选菜单同样只包含负责人/协作人符合条件的工作项。引用内容的描述超过 12000 字符时会截断;读取失败时会在消息中留下提示,不会阻止发送。工作项正文按不可信背景资料处理,不会被当作指令执行。

缓存

  • 项目列表缓存 30 分钟,工作项列表缓存 2 分钟,详情缓存 1 分钟。
  • 页面内切换筛选、切换面板后再回来,会先显示内存缓存,不会重复请求 Gitee。
  • 点击「刷新」会强制绕过缓存;新建、更新、删除后会立即清空缓存。
  • 缓存只保存在 Harness 进程内存中,不会把工作项内容写入磁盘。

安全约束

  • 所有删除操作都要求二次确认。
  • 运行删除安全自检 只会新建带 [DSH-TEST] 前缀的测试项,并只删除它刚创建的那一条;不会遍历或删除现有工作项。
  • 自检接口在执行前后都不会修改现有项目、任务、需求或缺陷。

开发验证

node --check index.js
node --check client.js

安装后在 Harness 中打开面板,配置令牌即可。接口前缀为 /gitee-enterprise。

—/ 5

No ratings yet

Verified DSH bundle

Commit f5c730bf2af7

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout