Skip to content
dsh.fish
Bundle

dsh-gh-search

GitHub issue/PR search and view tools (gh_search / gh_view) for DeepSeek Harness, backed by the GitHub CLI (gh). Personal plugin ported from oh-my-pi's gh-search / gh-view — not official.

Source
ggggggggggz
License
MIT
Updated
Updated 5 days ago

Readme

# dsh-gh-search

> **English** · [中文](README.zh.md)

GitHub issue/PR **search** and **view** tools for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness),
backed by the [GitHub CLI](https://cli.github.com/) (`gh`).

> ⚠️ **Personal / unofficial.** This is a personal plugin **ported from
> [oh-my-pi](https://github.com/can1357/oh-my-pi)'s `gh-search` / `gh-view`
> (via the `pi-gh` extension)**. It is **not** a DeepSeek official plugin and
> intentionally does **not** re-implement the full `gh` CLI — it only packages
> search & view for convenience inside agent sessions.

Registers two tools:

| Tool | Purpose |
|---|---|
| **`gh_search`** | Search GitHub issues / PRs / commits / repos / code with GitHub search syntax |
| **`gh_view`** | View a single issue or PR in detail (title, state, body, author, labels, comments) |

## Dependencies

- **No third-party npm runtime dependency.** The only `peerDependencies`
  (`@deepseek-ai/dsh-tools`, `@deepseek-ai/cordis`) are resolved from the DSH
  environment that already loads this plugin — nothing extra to install.
- **System dependency:** the GitHub CLI (`gh`) must be installed and
  authenticated:

```bash
winget install GitHub.cli
gh auth login
```

`gh` authenticates via the `GITHUB_TOKEN` / `GH_TOKEN` environment variable.
This plugin drops both from the child process so `gh` falls back to its stored
login (and honors `PI_GH_TOKEN` if set).

## Tools

### `gh_search`
- `query` (string, required) — GitHub search syntax, e.g. `repo:owner/name is:open label:bug`.
- `searchType` (string) — `issues` \| `prs` \| `commits` \| `repos` \| `code` (default `issues`).
- `limit` (integer) — max results (default 10, max 50).

### `gh_view`
- `identifier` (string, required) — issue/PR number, `owner/repo#N`, or full URL.
- `objectType` (string) — `issue` \| `pr` (default auto).
- `repo` (string) — owner/repo when `identifier` is a bare number.
- `includeComments` (boolean) — include comments (default true).

## Install

Wired into the `web` profile as `file:./plugins/dsh-gh-search` (`dsh.profile.bundles`
+ `dependencies`). To re-install after a fresh profile:

```sh
dsh plugin --profile web install
```

If you add it to an already-running profile, one `dsh web` restart is needed to
load it (after that, `dsh-reload`'s `/reload dsh-gh-search` hot-mounts new edits
without a restart).

## License

MIT — ported from `pi-gh` (MIT, © ASUS), itself inspired by oh-my-pi's
`gh-search` / `gh-view` (MIT, © Mario Zechner, Can Bölük). Original copyright
notice preserved in [LICENSE](LICENSE).

Install

dsh plugin --profile web add github:ggggggggggz/dsh-gh-search

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source