dsh-plugin-github-issues 0.5.0 → 0.7.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 +15 -17
- package/assets/panel.png +0 -0
- package/docs/README.zh.md +10 -14
- package/lib/client.js +3727 -329
- package/lib/controller.js +2 -37
- package/lib/controller.js.map +1 -1
- package/lib/github/client.js +33 -12
- package/lib/github/client.js.map +1 -1
- package/lib/github/list-request.js +62 -0
- package/lib/github/list-request.js.map +1 -0
- package/lib/github/queries.js +17 -5
- package/lib/github/queries.js.map +1 -1
- package/lib/github/types.js.map +1 -1
- package/lib/types/controller.d.ts +3 -3
- package/lib/types/controller.d.ts.map +1 -1
- package/lib/types/github/client.d.ts.map +1 -1
- package/lib/types/github/list-request.d.ts +31 -0
- package/lib/types/github/list-request.d.ts.map +1 -0
- package/lib/types/github/queries.d.ts +2 -0
- package/lib/types/github/queries.d.ts.map +1 -1
- package/lib/types/github/types.d.ts +3 -3
- package/lib/types/github/types.d.ts.map +1 -1
- package/lib/types/vm.d.ts +8 -0
- package/lib/types/vm.d.ts.map +1 -1
- package/lib/vm.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ English | [中文](docs/README.zh.md)
|
|
|
8
8
|
[](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
|
|
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
|
-
-
|
|
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 →
|
|
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 the **full issue body rendered as sanitized GitHub-flavored Markdown**, 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
|
|
80
|
-
|
|
81
|
-
|
|
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,14 @@ Settings → GitHub → Prompt template. Variables: `{{repo}}`, `{{number}}`, `{
|
|
|
117
112
|
## Limitations
|
|
118
113
|
|
|
119
114
|
- Read-only: no comments, label/assignee/state writes.
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
|
|
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
|
+
- The detail body is the complete issue body, rendered with Markdown (headings, lists, code blocks,
|
|
119
|
+
tables, links, images) and sanitized before display; it is not an excerpt and it is not capped to a
|
|
120
|
+
small fixed-height box.
|
|
121
|
+
- Milestone choices come from the selected repository's full milestone list (open and closed).
|
|
122
|
+
- Priority falls back organization Issue Field → `P0`–`P4` labels when no project field is present.
|
|
125
123
|
- The list polls every 60–120 s while visible; use **Refresh** for an immediate update.
|
|
126
124
|
- The detail pane first asks for the body only and lazily loads cross-referenced PRs, so the slow
|
|
127
125
|
timeline never blocks the pane.
|
package/assets/panel.png
CHANGED
|
Binary file
|
package/docs/README.zh.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](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
|
-
按组织 /
|
|
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
|
-
-
|
|
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 面板 | 左侧栏图标 → 主面板 | 组织 →
|
|
59
|
+
| GitHub 面板 | 左侧栏图标 → 主面板 | 组织 → 仓库 → **里程碑** → assignee → 状态 级联筛选(记住上次选择)固定在一行;组织和仓库会自动选中默认项,里程碑下拉只列当前仓库的里程碑;只有列表滚动,搜索在列表上方固定;详情栏独立滚动(**完整正文按 GitHub 风格 Markdown 渲染并做安全过滤**、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.
|
|
76
|
-
|
|
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,11 @@ dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues
|
|
|
106
100
|
## 限制
|
|
107
101
|
|
|
108
102
|
- 只读:不发评论、不改标签/指派/状态。
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
-
|
|
103
|
+
- 列表使用仓库的 `issues` 连接,状态、assignee、里程碑都由 GitHub 服务端过滤(总数也是权威的);
|
|
104
|
+
里程碑通过 `filterBy.milestoneNumber` 按编号过滤。
|
|
105
|
+
- 详情展示完整正文(不是摘要、也不再限制在固定高度的小框里),按 Markdown 渲染并过滤危险 HTML。
|
|
106
|
+
- 里程碑的可选项来自当前仓库的完整里程碑列表(含已关闭)。
|
|
107
|
+
- 优先级回退顺序:组织 Issue Field → `P0`–`P4` 标签(不再读取 Projects v2 项目字段)。
|
|
112
108
|
- 列表可见时每 60–120 秒轮询一次;需要立刻更新点「刷新」。
|
|
113
109
|
- 详情先请求正文,交叉引用 PR 懒加载,慢的 timeline 不阻塞面板。
|
|
114
110
|
- "发送时卡片转提示词"依赖 composer 的 DOM(原生发送按钮 / 回车),DSH 升级后需要重新核对。
|