dsh-plugin-github-issues 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@ English | [中文](docs/README.zh.md)
8
8
  [![license](https://img.shields.io/npm/l/dsh-plugin-github-issues.svg)](LICENSE)
9
9
 
10
10
  Adds a GitHub Issues work surface to [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness):
11
- browse issues from your repositories and Projects v2 boards, read their details, and hand one to the
11
+ browse issues from your repositories, read their details, and hand one to the
12
12
  agent. A handoff opens a new Session in the matching Workspace and stages the issue as an
13
13
  attachment-style card inside the composer; sending turns that card into the issue's task prompt.
14
14
  Handed-over issues show which Sessions own them, can be entered, and can be unlinked; one issue may be
@@ -54,19 +54,14 @@ tarball (`dsh-plugin-github-issues.tgz`), installable by path.
54
54
  - DSH Desktop with a Web GUI (developed and verified against `0.2.1-rc.3`).
55
55
  - A [`gh`](https://cli.github.com/) CLI logged in for the GitHub host you use:
56
56
  `gh auth login`. The token stays in the OS keychain and is never written into this package's config.
57
- - Projects v2 support additionally needs the `read:project` scope, once:
58
-
59
- ```sh
60
- gh auth refresh -h github.com -s read:project
61
- ```
62
-
63
- Without it the panel still works; the project picker explains what is missing.
57
+ - The panel is repository-scoped: pick an organization and a repository (a default is selected for
58
+ you), then narrow by milestone, assignee and state.
64
59
 
65
60
  ## What you get
66
61
 
67
62
  | Surface | Where | What |
68
63
  |---|---|---|
69
- | GitHub panel | left rail icon → main panel | organization → project/repository → **milestone** → assignee → state cascade (remembered across restarts) in one fixed toolbar; only the list scrolls, search sits above it, and the detail pane scrolls independently (body, milestone progress, labels, priority, assignees, linked/mentioned PRs with checks and review state) |
64
+ | GitHub panel | left rail icon → main panel | organization → repository → **milestone** → assignee → state cascade (remembered across restarts) in one fixed toolbar; a default organization/repository is selected for you, the milestone dropdown lists only that repository's milestones, and only the list scrolls (search stays above it, the detail pane scrolls independently with body, milestone progress, labels, priority, assignees, linked/mentioned PRs and checks) |
70
65
  | Issues right column | right sidebar tab | the same filtered issue list beside the Conversation, for drag-and-drop handoff |
71
66
  | Composer card | inside the input box | the staged issue: `[GitHub] owner/repo#number ×`. Type extra instructions or nothing; send converts the card into the issue prompt |
72
67
  | Linked chip | composer dock under the input | the Session's linked issue: state dot (green open / red closed) + `owner/repo#number`; click for a detail popover, remove to unlink |
@@ -76,9 +71,9 @@ tarball (`dsh-plugin-github-issues.tgz`), installable by path.
76
71
  ## Use
77
72
 
78
73
  1. Click the **GitHub** icon in the left rail.
79
- 2. Pick an organization, a Projects v2 board or a repository, then a milestone (when the scope is a
80
- repository) and an assignee/state filter. The selection is remembered in the profile's UI state
81
- (not in the plugin config).
74
+ 2. Pick an organization and a repository (the first one is selected automatically), then a milestone,
75
+ assignee and state. The selection is remembered in the profile's UI state (not in the plugin
76
+ config).
82
77
  3. Click a row for the detail pane. `owner/repo#number` opens GitHub in the browser.
83
78
  4. Hand an issue over:
84
79
  - **One-click** in the detail: **Hand to agent** / **New session for this issue** opens a new
@@ -117,11 +112,11 @@ Settings → GitHub → Prompt template. Variables: `{{repo}}`, `{{number}}`, `{
117
112
  ## Limitations
118
113
 
119
114
  - Read-only: no comments, label/assignee/state writes.
120
- - Projects v2 needs `read:project`; priority falls back project field → organization Issue Field →
121
- `P0`–`P4` labels. The milestone filter is disabled on a board because Projects v2 item filters have
122
- no milestone equivalent.
123
- - Milestone choices come from the selected repository's full milestone list; in an all-repositories
124
- scope they are accumulated from the issues already loaded.
115
+ - The list uses the repository's exact `issues` connection, so state, assignee and milestone filters
116
+ are applied by GitHub (and the total is authoritative); milestone filtering sends the milestone
117
+ number through `filterBy.milestoneNumber`.
118
+ - Milestone choices come from the selected repository's full milestone list (open and closed).
119
+ - Priority falls back organization Issue Field → `P0`–`P4` labels when no project field is present.
125
120
  - The list polls every 60–120 s while visible; use **Refresh** for an immediate update.
126
121
  - The detail pane first asks for the body only and lazily loads cross-referenced PRs, so the slow
127
122
  timeline never blocks the pane.
package/assets/panel.png CHANGED
Binary file
package/docs/README.zh.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![npm](https://img.shields.io/npm/v/dsh-plugin-github-issues.svg)](https://www.npmjs.com/package/dsh-plugin-github-issues)
7
7
 
8
8
  给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 增加一个 GitHub Issue 工作区:
9
- 按组织 / Projects v2 项目 / 仓库浏览 Issue,查看详情,并把 Issue 交给 Agent。交办会在匹配的
9
+ 按组织 / 仓库浏览 Issue,查看详情,并把 Issue 交给 Agent。交办会在匹配的
10
10
  Workspace 里新开一个 Session,并在输入框内以"附件卡片"的形式暂存这个 Issue;点击发送时卡片会
11
11
  转成 Issue 的提示词。已交办的 Issue 会显示处理它的 Session,可以进入,也可以解除关联;同一个
12
12
  Issue 可以关联多个 Session。
@@ -50,19 +50,13 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
50
50
 
51
51
  - DSH Desktop(Web GUI;开发与验证于 `0.2.1-rc.3`)。
52
52
  - 已登录的 `gh` CLI:`gh auth login`。token 留在系统钥匙串,不会写进插件配置。
53
- - 需要 Projects v2 时一次性补权限:
54
-
55
- ```sh
56
- gh auth refresh -h github.com -s read:project
57
- ```
58
-
59
- 没有该权限时面板照常工作,项目选择器会说明缺什么。
53
+ - 面板以仓库为范围:先选组织、再选仓库(会自动选中默认项),然后按里程碑、assignee、状态收窄。
60
54
 
61
55
  ## 功能
62
56
 
63
57
  | 界面 | 位置 | 内容 |
64
58
  |---|---|---|
65
- | GitHub 面板 | 左侧栏图标 → 主面板 | 组织 → 项目/仓库 → **里程碑** → assignee → 状态 级联筛选(记住上次选择)固定在一行;只有列表滚动,搜索在列表上方固定;详情栏独立滚动(正文、Milestone 进度、标签、优先级、assignee、关联/提及 PR 的 checks 与 review) |
59
+ | GitHub 面板 | 左侧栏图标 → 主面板 | 组织 → 仓库 → **里程碑** → assignee → 状态 级联筛选(记住上次选择)固定在一行;组织和仓库会自动选中默认项,里程碑下拉只列当前仓库的里程碑;只有列表滚动,搜索在列表上方固定;详情栏独立滚动(正文、Milestone 进度、标签、优先级、assignee、关联/提及 PR 的 checks 与 review) |
66
60
  | Issues 右栏 | 右侧栏页签 | 与对话同屏的同一份筛选列表,用于拖拽交办 |
67
61
  | 输入框卡片 | 输入框内部 | 暂存的 Issue:`[GitHub] owner/repo#number ×`。可以补充自己的文字,也可以不写;发送时卡片转成提示词 |
68
62
  | 已关联 chip | 输入框下方 dock | 当前 Session 关联的 Issue:状态圆点(open 绿 / closed 红)+ `owner/repo#number`;点击看详情,× 解除关联 |
@@ -72,8 +66,8 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
72
66
  ## 使用
73
67
 
74
68
  1. 点击左侧栏 **GitHub** 图标。
75
- 2. 选择组织、Projects v2 板或仓库,再选里程碑(仓库范围时)和 assignee/状态。选择会记在 profile
76
- 的 UI 状态里(不在插件配置中)。
69
+ 2. 选择组织和仓库(默认自动选中第一个),再选里程碑、assignee 和状态。选择会记在 profile 的
70
+ UI 状态里(不在插件配置中)。
77
71
  3. 点一行查看详情;点 `owner/repo#number` 在浏览器打开 GitHub。
78
72
  4. 交办:
79
73
  - 详情里点「交给 Agent」/「再开一个 Session」:在匹配的 Workspace 新开 Session,输入框内出现
@@ -106,9 +100,10 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
106
100
  ## 限制
107
101
 
108
102
  - 只读:不发评论、不改标签/指派/状态。
109
- - Projects v2 需要 `read:project`;优先级回退顺序:项目字段 → 组织 Issue Field → `P0`–`P4` 标签。
110
- Projects v2 的条目筛选没有里程碑等价物,因此选中项目板时里程碑筛选会禁用。
111
- - 里程碑的可选项:选中仓库时取该仓库的完整里程碑列表;全部仓库范围时从已加载的 Issue 中累积。
103
+ - 列表使用仓库的 `issues` 连接,状态、assignee、里程碑都由 GitHub 服务端过滤(总数也是权威的);
104
+ 里程碑通过 `filterBy.milestoneNumber` 按编号过滤。
105
+ - 里程碑的可选项来自当前仓库的完整里程碑列表(含已关闭)。
106
+ - 优先级回退顺序:组织 Issue Field → `P0`–`P4` 标签(不再读取 Projects v2 项目字段)。
112
107
  - 列表可见时每 60–120 秒轮询一次;需要立刻更新点「刷新」。
113
108
  - 详情先请求正文,交叉引用 PR 懒加载,慢的 timeline 不阻塞面板。
114
109
  - "发送时卡片转提示词"依赖 composer 的 DOM(原生发送按钮 / 回车),DSH 升级后需要重新核对。