中文EN

dsh-hacker-news

toolsnpmMIT

用于获取 Hacker News 榜单、讨论串、搜索和用户资料的工具。

下载量 / Downloads
627

安装

dsh plugin --profile web add dsh-hacker-news

沙箱测试

这个插件还没测过。提交测试 →

README

hacker-news — DeepSeek Harness plugin

Hacker News tools for DeepSeek Harness: browse the ranked feeds, read a thread with its reply tree, search the Algolia index, and look up a user.

Plain ESM JavaScript, no build step and no runtime dependency on the hn binary — it talks to the public HN APIs directly (https://hacker-news.firebaseio.com/v0 and https://hn.algolia.com/api/v1).

Tools

Tool · Arguments · Returns

hn_stories · feed (top/new/best/ask/show/job), limit, offset · Ranked stories with id, score, comment count, URLs

hn_item · id (required), comment_limit, max_depth · The item plus its reply tree in reading order, with depth and truncated

hn_search · query (required), sort (relevance/date), tags, limit · Algolia hits normalised to the story shape

hn_user · id (required) · found, karma, account age, bio, submission count

Comment HTML is converted to plain text (links keep their label plus target) and clipped at maxTextLength. Reply loading is breadth-first, so a small comment_limit returns the top of the thread rather than one deep branch; truncated reports whether anything was left out.

Use

Ask naturally; the plugin guides the agent to the matching tool:

What's popular on Hacker News right now?
Search Hacker News for SQLite WASM.
Read HN item 49322107 and summarize the discussion.
Look up the HN user dang.

Install

dsh plugin --profile <name> add -w github:heartleo/hn-cli#path:/plugins/hacker-news

The package ships runnable JavaScript, so no prepare build and no pnpm allowBuilds entry is needed. A local checkout works too:

dsh plugin --profile <name> add -w /absolute/path/to/hn-cli/plugins/hacker-news
dsh --profile <name> --dump-config   # shows the "# == dsh-hacker-news" layer

To load it from source without installing, point a patch overlay at the entry file:

- insert:
    - id: hacker-news
      name: '/absolute/path/to/hn-cli/plugins/hacker-news/index.js'
pnpm dsh web --patch ./scratch/hacker-news.cordis.yml

Configuration

Every tunable is a config field, overridable per profile in cordis.patch.yml:

- id: hacker-news
  name: dsh-hacker-news
  config:
    defaultStoryLimit: 30
    defaultCommentLimit: 100
    requestTimeoutMs: 20000

Field · Default · Meaning

firebaseBaseUrl · https://hacker-news.firebaseio.com/v0 · Official HN API root

algoliaBaseUrl · https://hn.algolia.com/api/v1 · Search API root

requestTimeoutMs · 15000 · Per-request timeout

concurrency · 20 · Maximum in-flight item fetches

defaultStoryLimit / maxStoryLimit · 20 / 100 · Story and search result counts

defaultCommentLimit / maxCommentLimit · 50 / 400 · Replies loaded per hn_item call

defaultCommentDepth / maxCommentDepth · 5 / 10 · Reply nesting followed

maxTextLength · 2000 · Clip length for story, comment, and bio text

userAgent · dsh-hacker-news/0.1.0 … · Sent on every request

Checking it locally

npm test first runs the offline routing and presentation tests, then load-check.mjs registers the tools against a stub context, runs every tool against the live API, validates each result with the registry's own output-schema validator, and exercises the rejection paths:

cd plugins/hacker-news
npm install --no-package-lock
npm test

The final integration phase needs network access.

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:1,最后更新 2026-08-18

链接

GitHub · Homepage · npm

同类插件