@wang-junjian/dsh-github-trending
A DeepSeek Harness bundle plugin that exposes a github_trending tool backed by
https://github.com/trending.
What it does
The plugin registers one model-facing tool, github_trending, that fetches the
public GitHub Trending page for a given language and time window and returns a
structured list of trending repositories.
Each result includes:
rank — 1-based position on the page
owner / name / fullName
url — absolute GitHub repository URL
description — repository tagline
language — primary language
stars — total star count
forks — fork count
starsToday — stars gained today (or this week/month)
Installation
Install the plugin into a DeepSeek Harness profile. The plugin does not modify
the deepseek-harness repository itself.
# From a local checkout
dsh plugin --profile headless add /Users/junjian/GitHub/wang-junjian/github-trending
# Or from a registry, once published
dsh plugin --profile headless add @wang-junjian/dsh-github-trending
The bundle is appended to dsh.profile.bundles automatically.
Usage
Ask the agent to list trending repositories:
Show me today's trending Python repositories.
Tool parameters
| Parameter | Type | Required | Description |
|---|
language | string | no | Programming language filter, e.g. python, typescript, go. |
since | string | no | daily (default), weekly, or monthly. |
maxResults | integer | no | Maximum repositories to return (1–25, default 10). |
Cordis config
The bundle patch inserts one row by default. You can override its config in your
profile's cordis.patch.yml:
- id: github-trending
config:
enabled: true
timeoutMs: 30000
maxResults: 10
Development
pnpm install
pnpm run build
pnpm run test
Known limitations
- GitHub Trending has no official API. The parser targets the current
server-rendered HTML layout and may need updates if GitHub changes markup.
- Unauthenticated requests are subject to GitHub's IP rate limits.
- The plugin fetches GitHub directly rather than through
ctx.web, so it does
not inherit the harness web capability's fetch policies.