DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Gap Feed — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-gap-feed

Gap Feed

dsh plugin: during long agent thinking, posts a hot-news or reminder message directly into the conversation stream.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:faukwaa/dsh-gap-feed#754cb1d3bfa6282ecd40d308e9bdc7ef21dbbdf0
READMECompatibilityVersions
demo

Compatibility and provenance

Gap Feed is published as dsh-gap-feed and currently resolves to version 0.1.9. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/20/2026

Versions

0.1.9stable
8/20/2026
0.1.8stable
8/20/2026
0.1.7stable
8/20/2026
Show 3 more versionsCollapse versions
0.1.3stable
8/19/2026
0.1.2stable
8/19/2026
0.1.1stable
8/19/2026

Related plugins

Loading related plugins…

Latest
0.1.9
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 2
Weekly downloads
140
Last push
8/20/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseIm@xmanrui/dsh-im把十一种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect eleven IM channels and a public AI Office to a local DeepSeek Harness.Pocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.

README

dsh-gap-feed

English | 中文

A DeepSeek Harness (dsh) plugin that posts a hot-news or reminder card directly into the conversation stream while the agent is thinking for a long time. Low-frequency, never intrusive.

demo

Features

  • In-stream injection — when the agent thinks longer than a threshold, the plugin appends an assistant/message directly into the session log (session.append + surfaceOp:'append'), rendered as a card in the conversation stream with a clickable link. If a source fails, it silently degrades — never blocks the conversation.
  • Multiple sources — today's hot news from Toutiao (公开 API, no login), trending GitHub repositories (created this week, sorted by stars), and Bilibili's hot ranking. Sources are fetched in parallel; one failing never affects the others.
  • In-chat reminders — just say "remind me to have a meeting at 18:00" in the conversation; the model calls the gap_feed_reminder_add tool to save it. Due reminders are prioritized over news.
  • Settings page — the dsh settings page renders the gap-feed form automatically from a schema: configure limits, manage reminders (CRUD / enable / done).
  • Rate limiting — configurable thinking threshold + cooldown + per-hour cap, so it stays rare and never spams.
  • Priority — due reminder > upcoming reminder > news; the same content is never injected twice.
  • Persistence-safe — injected messages inherit a valid model source (kind/provider/model) from existing session messages, so the session loads fine after a restart (a forged source is rejected by SessionPersistence validation).

Install

dsh plugin --profile web add dsh-gap-feed

Restart dsh web (or just refresh the page).

Published on npm as dsh-gap-feed — the market prefers prebuilt npm tarballs (no allowBuilds approval needed).

Usage

When does it inject?

All of the following must hold:

  1. enabled is true;
  2. the agent has been thinking for more than minThinkSeconds (default 20s) without idling — detected by polling the agent registry, so it's robust to event timing;
  3. more than cooldownMinutes (default 15) since the last injection;
  4. fewer than maxPerHour (default 4) injections in the last hour.

Otherwise it stays silent and does nothing.

In-chat reminders

Say something with a time + a task, for example:

  • "提醒我 18:00 开会" / "remind me to have a meeting at 18:00"
  • "半小时后提醒我回邮件" / "remind me to reply to emails in half an hour"

The model parses it into text (the task) + dueAt (unix ms timestamp, default = now + 1h) and saves it. Parse failures return a friendly error without blocking the conversation. Due reminders are shown before news on the next injection.

Settings

The dsh settings page automatically renders the gap-feed namespace form. Changes take effect immediately and survive restarts.

Configuration

KeyTypeDefaultDescription
enabledbooleantrueMaster switch
minThinkSecondsnumber20Only inject after this many seconds of continuous thinking
cooldownMinutesnumber15Minimum gap between injections (minutes) — the core rate limiter
maxPerHournumber4Per-hour injection cap (safety net)
blackliststring[][]Title blacklist words; a matching title is filtered out

Defaults live in DEFAULT_CONFIG in src/types.ts.

Reminder storage

$DSH_HOME/profiles/<profile>/data/gap-feed/reminders.json
  • DSH_HOME defaults to ~/.dsh;
  • JSON array of id / text / dueAt / done / enabled / createdAt; missing dirs are created, and read/write failures or corrupt JSON silently fall back to in-memory state — never throws.

Development

npm install        # dev deps
npm test           # vitest: 67 unit + contract tests
npm run typecheck  # tsc --noEmit
npm run build      # tsc -> dist/ (prepack runs it automatically)

Layering discipline: pure-function layers (decision.ts, picker.ts) have zero dsh dependency and full branch coverage; side-effect layers (news.ts network, reminders.ts file I/O) are mockable via the Source interface; the wiring layer (index.ts) only connects the runtime.

Known limitations

  • Bilibili source may be rate-limited (-352) on datacenter IPs; it degrades silently — other sources are unaffected.
  • Reminder cards show via the same in-stream card; reminder UI is in the settings page.
  • In-session dedup is per-plugin-lifetime (no cross-restart dedup).

License

MIT