DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-plugin-github-issues

c

dsh-plugin-github-issues

Discovered

Browse GitHub issues, milestones, labels, priority and linked PR status inside DeepSeek Harness, and hand an issue to the agent.

dsh-plugin-github-issues

English | 中文

ci release npm license

Adds a GitHub Issues work surface to DeepSeek Harness: browse issues from your repositories and Projects v2 boards, read their details, and hand one to the agent. A handoff opens a new Session in the matching Workspace and stages the issue as an attachment-style card inside the composer; sending turns that card into the issue's task prompt. Handed-over issues show which Sessions own them, can be entered, and can be unlinked; one issue may be worked in several Sessions.

It is read-only: the plugin never writes to GitHub.

Install

From the npm registry (recommended — the package ships the built Host half and browser bundle):

dsh plugin --profile <name> add dsh-plugin-github-issues

Pin a version when you want reproducible profiles:

dsh plugin --profile <name> add dsh-plugin-github-issues@0.4.7

Restart the harness afterwards: a profile is composed at startup. Remove it with:

dsh plugin --profile <name> remove dsh-plugin-github-issues

From a checkout (a linked install: rebuild and restart after edits):

npm install
npm run build
dsh plugin --profile <name> add /path/to/dsh-plugin-github-issues

Every release also carries a packed tarball (dsh-plugin-github-issues.tgz), installable by path.

Requirements

  • DSH Desktop with a Web GUI (developed and verified against 0.2.1-rc.3).

  • A gh CLI logged in for the GitHub host you use: gh auth login. The token stays in the OS keychain and is never written into this package's config.

  • Projects v2 support additionally needs the read:project scope, once:

    gh auth refresh -h github.com -s read:project
    

    Without it the panel still works; the project picker explains what is missing.

What you get

SurfaceWhereWhat
GitHub panelleft rail icon → main panelorganization → 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)
Issues right columnright sidebar tabthe same filtered issue list beside the Conversation, for drag-and-drop handoff
Composer cardinside the input boxthe staged issue: [GitHub] owner/repo#number ×. Type extra instructions or nothing; send converts the card into the issue prompt
Linked chipcomposer dock under the inputthe Session's linked issue: state dot (green open / red closed) + owner/repo#number; click for a detail popover, remove to unlink
Handoff actionsissue detailone-click enter Session (latest link), new Session for this issue, plus a linked-Session list with per-Session enter/unlink
GitHub settingsSettings → GitHubgh auth status and scopes, handoff behavior, prompt template

Use

  1. Click the GitHub icon in the left rail.
  2. Pick an organization, a Projects v2 board or a repository, then an assignee/state filter. The selection is remembered in the profile's UI state (not in the plugin config).
  3. Click a row for the detail pane. owner/repo#number opens GitHub in the browser.
  4. Hand an issue over:
    • One-click in the detail: Hand to agent / New session for this issue opens a new Session in the matching Workspace with the issue staged inside the composer.
    • Drag a row from the right-column Issues tab into the composer: it stages into the current Session.
    • Type whatever context you want, then send. The card is converted into the issue's task prompt (the template from Settings) plus your text; the issue ↔ Session link is recorded at that moment.
  5. The linked chip appears under the composer. Reopen the issue later to enter that Session, start another one, or unlink it. Unlinking never deletes the Session.
  6. Open the right column from the panel header (Right column) or from the right sidebar's own add menu (page type Issues).

Which Session does a handoff use?

  • If the issue is already linked: enter Session opens the most recent link; the linked-Session list lets you enter any of them.
  • A new handoff picks a Workspace by this priority: the Workspace of the current Session → the Workspace of a Session already linked to the same repository → a Workspace whose directory/title matches the repository name → the Host's current/most-recent Workspace.

Prompt template

Settings → GitHub → Prompt template. Variables: {{repo}}, {{number}}, {{title}}, {{url}}, {{state}}, {{milestone}}, {{priority}}, {{assignees}}, {{labels}}, {{prs}}.

Privacy and tokens

  • The token is resolved by the Host process from gh and lives only in memory. It never reaches the page, the plugin config, or logs.
  • GitHub requests are made by the Host; the browser only receives view models.
  • Persisted UI state is limited to filter preferences, the prompt template, and issue ↔ Session links, stored at $DSH_HOME/github-issues/state.json (mode 0600).
  • The plugin is read-only toward GitHub.

Limitations

  • Read-only: no comments, label/assignee/state writes.
  • Projects v2 needs read:project; priority falls back project field → organization Issue Field → P0–P4 labels.
  • The list polls every 60–120 s while visible; use Refresh for an immediate update.
  • The detail pane first asks for the body only and lazily loads cross-referenced PRs, so the slow timeline never blocks the pane.
  • Converting the composer card into the prompt intercepts the native send button / Enter, which relies on the composer DOM of the verified DSH version; re-check after a DSH upgrade.
  • Workspace matching for a new handoff is the heuristic priority above, not a fixed mapping.

Development

npm install
npm run typecheck      # Host + browser halves
npm test               # node --test (queries, VM mapping, prompt, state, workspace rules)
npm run test:render    # offline react-dom/server smoke of the panel, dock, sidebar, drop target
npm run build          # Host (tsc) + browser bundle (esbuild)
npm run verify:client  # loader contract + slot/Remote registration of the browser bundle
npm run verify:package # what npm publish would ship (host, client, bundle patch, locale, icon)
npm run check          # all of the above, in order

Releases

ci.yml runs on every push and pull request. release.yml runs on a v* tag (or by hand): it repeats every CI check, publishes the new version to npm (a repository NPM_TOKEN secret, or npm trusted publishing), and records a GitHub Release carrying dsh-plugin-github-issues.tgz. Maintainer notes: docs/RELEASING.md.

License

MIT © Kanner

Comments

Loading…

Similar plugins

dsh-github

by moxingovo

DeepSeek Harness plugin: GitHub repository & issue search, repo/issue details, and file reading tools (github_search / github_get) · DeepSeek Harness 插件:GitHub 仓库与 issue 检索、详情与文件读取,匿名可用,可选只读 token 解锁代码搜索

Development & InfrastructureManifest valid

★ 3

MIT

TypeScript

Oct 15, 2026

dsh plugin --profile web add dsh-plugin-github

by Dayi-Z

GitHub-connected visual git panel for DeepSeek Harness - branch switcher, file-level approval cards, PR/issue workspace

Development & InfrastructureManifest valid

★ 1

↓ 374/wk

MIT

TypeScript

Sep 17, 2026

dsh plugin --profile web add dsh-git-manager

by loker66fan

DeepSeek Harness 插件商城:启动页入口 + GitHub topic:dsh-plugin 实时搜索、一键安装/重启 · In-harness plugin market with real-time GitHub search

Development & InfrastructureManifest valid

★ 3

NOASSERTION

TypeScript

Aug 16, 2026

dsh plugin --profile web add dsh-market-github

by PerryLink

Official-grade GitHub CI for DeepSeek Harness: composite action.yml, PR review bot with idempotent inline comments and a status-check gate, plus PR/issues tools with every write gated by human approva

Tools & CapabilitiesManifest valid

★ 28

↓ 775/wk

Apache-2.0

TypeScript

Oct 27, 2026

dsh plugin --profile web add @perrylink/dsh-github

DSH GitHub connector: review PRs, triage issues, debug CI, prepare changes (18 tools, gh-first + REST fallback, approval-gated writes).

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 0

dsh plugin --profile web add harness-github

by kaziii

DeepSeek Harness (dsh) 的 GitHub 连接器:一键授权,对话内创建/AI 审查/合并 PR | GitHub connector for dsh: one-click connect, create/review/merge PRs from the conversation

Tools & CapabilitiesManifest valid

★ 10

↓ 51/wk

MIT

TypeScript

Aug 17, 2026

dsh plugin --profile web add dsh-github-connect