Bundle
dsh-github-sidebar
A DSH (DeepSeek Harness) client plugin that adds a GitHub info sidebar to the chat window's right details column: the top pane lists repositories under a GitHub topic (e.g. dsh-plugin) sorted by stars, the bottom pane lists a repository's discussions with time / comments / pinned sorting.
- Source
- Olympianz
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# dsh-github-sidebar A [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) **client plugin** that adds a GitHub info sidebar to the chat window's right `details` column, with two stacked panes: - **Top pane — topic repos by stars**: lists repositories under a GitHub topic (default `dsh-plugin`), sorted by stars descending, 10 per page with pagination. Uses the public GitHub REST Search API (no token needed). - **Bottom pane — discussions**: lists a repository's discussions (default `deepseek-ai/deepseek-harness`), sortable by **newest** (server-side, near → far), **most comments**, and **pinned first** (client-side, fetches the full list then sorts), 10 per page with pagination. Uses the GitHub GraphQL API (a token is required). ## Features - ✨ Right-side GitHub sidebar inside the DSH chat window (auto-opens the details column). - ⭐ Topic repos sorted by stars, pageable. - 💬 Discussions with 3 sort dimensions + pagination. - 🔑 Token entered in the panel itself (stored in `localStorage`, sent only to `api.github.com`). ## Installation Install into your DSH profile (installs the host bundle and registers the client plugin): ```sh dsh plugin --profile web add dsh-github-sidebar # or, when running dsh from a source checkout: pnpm dsh plugin --profile web add dsh-github-sidebar ``` Or install directly from this repository: ```sh dsh plugin --profile web add https://github.com/Olympianz/dsh-github-sidebar ``` Then **restart dsh** (`dsh web`) and refresh the page — the client plugin set is scanned at startup. ## Usage 1. Open a session. 2. The right `details` column auto-opens showing **GitHub Sidebar**. 3. **Top pane**: browse topic repositories sorted by stars; use pagination buttons to flip pages. 4. **Bottom pane**: - Switch sort with **Newest / Most comments / Pinned first**. - Paste a GitHub token (GraphQL requires one) and press **Save**. ## Configuration All defaults are hardcoded in the panel for now; the host half exposes a `Config` schema (`topic`, `owner`, `repo`, `pageSize`) that can be overridden in `cordis.yml`, but the browser half does not read it yet. The token is entered in the panel (per-user, persisted in `localStorage`). ## Development ```sh pnpm install pnpm run bundle # build lib/client.js (tsdown) pnpm run watch # rebuild on change pnpm run typecheck # tsc --noEmit (best-effort) ``` `lib/client.js` is committed so that installing from GitHub works without a build step. Regenerate it after changing `src/client`. ## Publishing See [CONTRIBUTING.md](./CONTRIBUTING.md#publishing) for the full guide. Short version: 1. Create a GitHub repository (e.g. `dsh-github-sidebar`), push this directory, and add the topics **`dsh-plugin`**, `deepseek-harness`, `dsh` on the repo's Topics page. 2. Publish to npm so users can `dsh plugin add dsh-github-sidebar`: ```sh npm login npm publish ``` ## Known limitations - The `details` column is a single-occupant slot: the GitHub panel **replaces** the default call/trajectory details in the right column. A true "coexist toggle" would require modifying DSH's `ui-conversation` `DetailsPanel` (a DSH source change). - Sorting discussions by comments/pinned fetches the full discussion list first (more GraphQL requests; watch rate limits on large repos). - The token lives in `localStorage` (exposed in the browser). A server-side host proxy would keep it out of the browser; not implemented yet. - Details-column visibility is maintained by auto-opening it; some layout transitions (session switches) may briefly close it before the plugin re-opens it. ## License [MIT](./LICENSE)
Install
dsh plugin --profile web add github:Olympianz/dsh-github-sidebar#1edd39343d8ed07dcd24afb8bb2fa32aadd232cd
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-github-sidebar from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.