dsh-tool-hackernews
English | 中文
Hacker News tool suite for DeepSeek Harness (DSH) agents: hn_top_stories, hn_search, and hn_item. Built on the free Algolia HN search API — no API key required.
Tools
| Tool | Args | Behavior |
|---|---|---|
hn_top_stories | limit (optional, 1–30) | The current Hacker News front page: titles, links, scores, comment counts, authors, relative times. |
hn_search | query (required), tag (story/comment/poll/ask_hn/show_hn), since_hours (1–8760), limit (1–30) | Keyword search over HN, optionally restricted to a tag or to the last N hours. |
hn_item | id (required), max_comments (0–100) | One story with a bounded top-level comment tree (HTML stripped, depth-indented) so context stays safe. |
All three tools are read-only and concurrency-safe, so DSH may schedule sibling calls in parallel. Each request carries the deployment's cooperative timeout budget and forwards the caller's AbortSignal.
Install
DSH plugins install into a profile via dsh plugin (pnpm under the hood). From this GitHub repository:
dsh plugin --profile <name> add "github:tanf1ng/dsh-tool-hackernews"Or from a local checkout with pnpm:
pnpm install
pnpm build
# then in the profile that should load it:
dsh plugin --profile <name> add "file:../../dsh-tool-hackernews"Enable the plugin in the profile's cordis.patch.yml (or a product bundle):
- id: tool-hackernews
name: dsh-tool-hackernewsConfig
All keys optional:
| Key | Default | Meaning |
|---|---|---|
registerTopStories | true | Register hn_top_stories. |
registerSearch | true | Register hn_search. |
registerItem | true | Register hn_item. |
topStoriesLimit | 10 | Default result bound for hn_top_stories. |
searchLimit | 8 | Default result bound for hn_search. |
maxComments | 20 | Default comment bound for hn_item. |
fetchTimeoutMs | 15000 | Per-request timeout budget (ms). |
Development
pnpm install
pnpm build # tsc -> lib/
pnpm test # smoke test against a stub fetch (no network needed)The package follows the official DSH tool-plugin pattern: a Cordis plugin (name / inject / Config / apply) that registers defineTool definitions on ctx.tools, with full parameter schemas, canonical output schemas, text renderers, and presentCall UI cards.
License
MIT