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.

Nga Reader Plugin — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
N

dsh-nga-reader-plugin

Nga Reader Plugin

Persistent NGA reader with app-scoped AI conversations for DeepSeek Harness

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

npx -y @deepseek-ai/dsh plugin --profile web add github:jo32/dsh-nga-reader#41fcc959d856db74daab2d607d87ca3d7499394f
READMECompatibilityVersions

Compatibility and provenance

Nga Reader Plugin is published as dsh-nga-reader-plugin and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/24/2026

Versions

0.1.3stable
8/24/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/25/2026
View source ↗
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 memory-context.

Contextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.Mnemondsh-mnemonComposable three-tier memory control plane for DeepSeek Harness: persistent runtime context, searchable project documents, pluggable long-term memory, guarded strategies, WebUI, and headless tools.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.Memory@furongjun1999/dsh-memoryLingshu (Lingshu·líng shū) DeepSeek Harness plugin: a complete brain—long-term memory/knowledge flywheel/self-awareness/recursive reflection integrated with DSH, with conversations automatically distilled into the md_cg cognitive graph (md documents)

README

dsh-nga-reader

A persistent dsh-plugin Cordis Host/Client bundle for browsing NGA, reading discussions and using selected content in AI conversations.

Best used with DeepDeck. DeepDeck supplies the Apps launcher, standalone reader window, app-scoped Workspace, settings and canonical conversations used by Explain and Summarize. This plugin expects DeepDeck's App runtime service when it is mounted.

Screenshot

NGA Reader supports guest browsing and keeps authentication optional until a personal or write action needs it. QR, account/password and existing token sign-in are available. The screenshot below is captured from the standalone DeepDeck desktop App window—not a browser tab. It uses an isolated Guest session to open the public 音乐影视 forum and read a discussion without an account, so no account identifier or credential is present.

NGA Reader browsing a public forum as a guest in DeepDeck

Install with DeepDeck (recommended)

  1. Open Settings → Apps in DeepDeck.
  2. Paste https://github.com/jo32/dsh-nga-reader.git into Install an App plugin.
  3. Choose Inspect source, review the detected package and build command, then choose Confirm install.
  4. Restart DeepDeck when prompted.
  5. Open Apps → NGA Reader from the sidebar.

For local development, build the checkout and install the resulting local bundle into the active DeepDeck web profile:

git clone https://github.com/jo32/dsh-nga-reader.git
cd dsh-nga-reader
npm install
npm run typecheck && npm test
dsh plugin --profile web add "$PWD"

The last command only mounts the Cordis bundle; run it in a DeepDeck-managed profile so the required App runtime is present.

Usage examples

  • Open a forum, select a topic and read paginated posts in the focused reader.
  • Select text or right-click a post, then choose Explain or Summarize to open a canonical Session in ~/DeepDeck/Apps/nga-reader.
  • Ask the DeepDeck agent: 列出 NGA 当前热门主题,并按版面分组。
  • Ask about a selected topic: 阅读这个帖子,提炼主要共识、争议点和有用链接。
  • Connect an account only when you need favorites, notifications, messages, check-in, voting or replies. Agent-triggered publishing remains approval-gated.

Features

  • NGA forum discovery and filtering
  • Topic lists, topic search, pagination, post reading, icons, avatars and images
  • QR scan login (NGA App scan-to-authorize) and account password login
  • Manual access_uid/token entry as a fallback
  • Persistent local credential storage; explicit reply publishing
  • Agent tools for forum discovery, topic reading and current UI context
  • Reader window: the sidebar launcher promotes GET /nga-reader (a self-contained reader document) into a real secondary Electron app window through the desktop shell's deepdeck:open-app-window IPC request; without a desktop IPC parent it stays closed; the Client contains no embedded reader
  • Text selection -> right-click -> Explain or Summarize in the standalone window; a same-origin BroadcastChannel starts a canonical app Session and opens that conversation directly in the main DeepDeck window

Extended NGA support

MNGA feature parity (ported from logic/service/src contracts):

  • Daily check-in, notifications (typed: replies / mentions / votes / PMs)
  • Short messages: conversations, thread reader with paging, reply and new messages to one or more recipients
  • Favorites: forum favorites (list/add/remove), topic folders (list/create/ rename/set-default/delete), favorite topics per folder, favor/unfavor a topic
  • Hot topics per forum with day/week/month range and reply sorting
  • User profiles by uid or name (stats, signature, mute/ip, follow state, avatar fallback), follow/unfollow, follow list, follow activity feed
  • Per-user topic lists and per-user post search (searchpost)
  • Post voting (topic recommend up/down), reply draft fetch (quote/reply/modify verbatim incl. attachment auth), report post, subforum filter block/show
  • Signature update; notification read-state tracked client-side in the session
  • Standalone-window UI: drawer panels for notifications / messages / favorites / user cards, clock-in and hot-topics buttons, vote and favor actions on posts

Agent tools added for agentic access: nga_clock_in, nga_notifications, nga_short_messages, nga_read_message, nga_send_message (approval-gated), nga_favorite_forums, nga_hot_topics, nga_user, nga_user_topic_list, nga_vote_post. The full action set is also exposed on /api/nga-reader (clock-in, notis, msg-*, fav-*, user*, follow-*, vote, reply-draft, report, signature, subforum-filter).

Authentication and credential storage

Login implementation notes:

  • QR keys come from nuke.php?__act=qrlogin_gen; the QR encodes the official qrlogin_ui URL, and __act=login with qrkey/hiddenkey exchanges the authorization for uid/token (pending state: "license not found").
  • Passwords are RSA (PKCS#1 v1.5) encrypted with the official web public key before submission, matching the passport page behavior.
  • The QR image is generated locally by the vendored Nayuki QR encoder (src/vendor/qrcodegen.py, copied to lib/ during builds, MIT); no third-party QR service is used.

The Host persists only the NGA uid and access token as the plugin-owned dsh-nga-reader-plugin/nga-account grant in the Harness credential document $DSH_HOME/.credentials.yaml (default: ~/.dsh/.credentials.yaml). Account passwords are never stored. The mounted credentials-local service owns atomic writes, cross-process locking, private file permissions and durable reloads. The plugin reads the record for each NGA operation instead of caching the token as plugin state, and its Sign out action deletes that record.

Development

npm install
npm run typecheck
npm test
npm run build

The plugin is authored in strict TypeScript under src/ and compiled to the ESM/runtime artifacts under lib/. The Python helper remains an implementation detail for NGA HTTP requests and local QR generation. Generated lib/ output is not committed.

License

MIT. The vendored Nayuki QR Code generator in src/vendor/qrcodegen.py retains its included MIT notice.