dsh-plugin-github-issues 0.4.7 → 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,12 +8,14 @@ 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
15
15
  worked in several Sessions.
16
16
 
17
+ ![The GitHub panel with the fixed cascade toolbar and the detail pane](assets/panel.png)
18
+
17
19
  It is **read-only**: the plugin never writes to GitHub.
18
20
 
19
21
  ## Install
@@ -52,19 +54,14 @@ tarball (`dsh-plugin-github-issues.tgz`), installable by path.
52
54
  - DSH Desktop with a Web GUI (developed and verified against `0.2.1-rc.3`).
53
55
  - A [`gh`](https://cli.github.com/) CLI logged in for the GitHub host you use:
54
56
  `gh auth login`. The token stays in the OS keychain and is never written into this package's config.
55
- - Projects v2 support additionally needs the `read:project` scope, once:
56
-
57
- ```sh
58
- gh auth refresh -h github.com -s read:project
59
- ```
60
-
61
- 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.
62
59
 
63
60
  ## What you get
64
61
 
65
62
  | Surface | Where | What |
66
63
  |---|---|---|
67
- | GitHub panel | left rail icon → main panel | organization → project/repository → assignee → state cascade (remembered across restarts), search, list, and a detail pane (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) |
68
65
  | Issues right column | right sidebar tab | the same filtered issue list beside the Conversation, for drag-and-drop handoff |
69
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 |
70
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 |
@@ -74,8 +71,9 @@ tarball (`dsh-plugin-github-issues.tgz`), installable by path.
74
71
  ## Use
75
72
 
76
73
  1. Click the **GitHub** icon in the left rail.
77
- 2. Pick an organization, a Projects v2 board or a repository, then an assignee/state filter. The
78
- selection is remembered in the profile's UI state (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).
79
77
  3. Click a row for the detail pane. `owner/repo#number` opens GitHub in the browser.
80
78
  4. Hand an issue over:
81
79
  - **One-click** in the detail: **Hand to agent** / **New session for this issue** opens a new
@@ -114,8 +112,11 @@ Settings → GitHub → Prompt template. Variables: `{{repo}}`, `{{number}}`, `{
114
112
  ## Limitations
115
113
 
116
114
  - Read-only: no comments, label/assignee/state writes.
117
- - Projects v2 needs `read:project`; priority falls back project field → organization Issue Field →
118
- `P0`–`P4` labels.
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.
119
120
  - The list polls every 60–120 s while visible; use **Refresh** for an immediate update.
120
121
  - The detail pane first asks for the body only and lazily loads cross-referenced PRs, so the slow
121
122
  timeline never blocks the pane.
Binary file
package/docs/README.zh.md CHANGED
@@ -6,11 +6,13 @@
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。
13
13
 
14
+ ![GitHub 面板:固定筛选栏 + 独立滚动的详情栏](../assets/panel.png)
15
+
14
16
  插件对 GitHub **只读**,不会写入任何内容。
15
17
 
16
18
  ## 安装
@@ -48,19 +50,13 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
48
50
 
49
51
  - DSH Desktop(Web GUI;开发与验证于 `0.2.1-rc.3`)。
50
52
  - 已登录的 `gh` CLI:`gh auth login`。token 留在系统钥匙串,不会写进插件配置。
51
- - 需要 Projects v2 时一次性补权限:
52
-
53
- ```sh
54
- gh auth refresh -h github.com -s read:project
55
- ```
56
-
57
- 没有该权限时面板照常工作,项目选择器会说明缺什么。
53
+ - 面板以仓库为范围:先选组织、再选仓库(会自动选中默认项),然后按里程碑、assignee、状态收窄。
58
54
 
59
55
  ## 功能
60
56
 
61
57
  | 界面 | 位置 | 内容 |
62
58
  |---|---|---|
63
- | GitHub 面板 | 左侧栏图标 → 主面板 | 组织 → 项目/仓库 → assignee → 状态 级联筛选(记住上次选择)、搜索、列表、详情(正文、Milestone 进度、标签、优先级、assignee、关联/提及 PR 的 checks 与 review) |
59
+ | GitHub 面板 | 左侧栏图标 → 主面板 | 组织 → 仓库 → **里程碑** → assignee → 状态 级联筛选(记住上次选择)固定在一行;组织和仓库会自动选中默认项,里程碑下拉只列当前仓库的里程碑;只有列表滚动,搜索在列表上方固定;详情栏独立滚动(正文、Milestone 进度、标签、优先级、assignee、关联/提及 PR 的 checks 与 review) |
64
60
  | Issues 右栏 | 右侧栏页签 | 与对话同屏的同一份筛选列表,用于拖拽交办 |
65
61
  | 输入框卡片 | 输入框内部 | 暂存的 Issue:`[GitHub] owner/repo#number ×`。可以补充自己的文字,也可以不写;发送时卡片转成提示词 |
66
62
  | 已关联 chip | 输入框下方 dock | 当前 Session 关联的 Issue:状态圆点(open 绿 / closed 红)+ `owner/repo#number`;点击看详情,× 解除关联 |
@@ -70,8 +66,8 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
70
66
  ## 使用
71
67
 
72
68
  1. 点击左侧栏 **GitHub** 图标。
73
- 2. 选择组织、Projects v2 板或仓库,再选 assignee/状态。选择会记在 profile 的 UI 状态里(不在插件
74
- 配置中)。
69
+ 2. 选择组织和仓库(默认自动选中第一个),再选里程碑、assignee 和状态。选择会记在 profile 的
70
+ UI 状态里(不在插件配置中)。
75
71
  3. 点一行查看详情;点 `owner/repo#number` 在浏览器打开 GitHub。
76
72
  4. 交办:
77
73
  - 详情里点「交给 Agent」/「再开一个 Session」:在匹配的 Workspace 新开 Session,输入框内出现
@@ -104,7 +100,10 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
104
100
  ## 限制
105
101
 
106
102
  - 只读:不发评论、不改标签/指派/状态。
107
- - Projects v2 需要 `read:project`;优先级回退顺序:项目字段 → 组织 Issue Field → `P0`–`P4` 标签。
103
+ - 列表使用仓库的 `issues` 连接,状态、assignee、里程碑都由 GitHub 服务端过滤(总数也是权威的);
104
+ 里程碑通过 `filterBy.milestoneNumber` 按编号过滤。
105
+ - 里程碑的可选项来自当前仓库的完整里程碑列表(含已关闭)。
106
+ - 优先级回退顺序:组织 Issue Field → `P0`–`P4` 标签(不再读取 Projects v2 项目字段)。
108
107
  - 列表可见时每 60–120 秒轮询一次;需要立刻更新点「刷新」。
109
108
  - 详情先请求正文,交叉引用 PR 懒加载,慢的 timeline 不阻塞面板。
110
109
  - "发送时卡片转提示词"依赖 composer 的 DOM(原生发送按钮 / 回车),DSH 升级后需要重新核对。