Preface¶
In the DeepSeek Harness (DSH) plugin ecosystem, for access to specific web resources, dsh-nga-reader provides a Cordis-based persistent Host/Client bundle. It not only addresses the experience issues when reading the NGA forum directly in a browser, but also connects forum content to AI conversation scenarios through a dedicated Electron window and Agent tools.
Core Capabilities¶
- Forum Browsing and Discovery: Supports board discovery and filtering, topic lists, search, paginated reading, as well as avatar and image display.
- Login and Credential Management: Supports QR code login (NGA App scan authorization), account/password login, and manually entering
access_uid/tokenas a fallback. Account/password values are not stored; credentials are persisted in a local YAML file. - Standalone Reading Window: The sidebar launcher pushes
GET /nga-readerto a separate Electron application window. If there is no desktop IPC parent process, the window remains closed. - AI Interaction Integration: Supports selecting “Explain” or “Summarize” from the right-click menu after selecting text, opening a canonical Session in a standalone window. Provides Agent tools for forum discovery, topic reading, and retrieving UI context.
- MNGA Feature Parity: Supports daily check-in, notifications (replies/mentions/votes/DMs), short messages (conversations, reading, replying), favorites (boards/folders/topics), hot topics (daily/weekly/monthly), user profiles, follow lists, voting, and other features.
Installation and Configuration¶
In DeepDeck, open Settings → Apps, and paste the installation source at Install an App plugin:
https://github.com/jo32/dsh-nga-reader.git
Select Inspect source to check the package information, then select Confirm install after confirmation. Restart DeepDeck after installation, and open Apps → NGA Reader from the sidebar.
For local development, clone the repository and build:
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 is used to mount the Cordis bundle and must be run in a profile managed by DeepDeck to ensure the App runtime exists.
Usage Examples¶
- Basic Reading: Open a forum board, select a topic, and browse paginated posts in the focused reader.
- Text Analysis: Select a piece of text in the reader or right-click a post, then choose “Explain” or “Summarize.” The plugin will open the corresponding session at
~/DeepDeck/Apps/nga-reader. - Agent Invocation: Provide a prompt to the DeepDeck Agent, for example, “List the current hot topics on NGA, grouped by board” or “Read this post and extract the main consensus, disputed points, and useful links.”
- Account Linkage: Connect an account only when favorites, notifications, DMs, check-in, voting, or replies are needed. Publishing operations triggered by the Agent still require approval.
Technical Details and Limitations¶
- Runtime Environment: The plugin requires the DeepDeck App runtime service when mounted.
- Authentication Mechanism: Guest browsing is supported; authentication is required only for personal actions. Credentials are stored in
$DSH_HOME/.credentials.yaml(default~/.dsh/.credentials.yaml). - Dependencies: Requires Node.js >= 22; Python is not required.
- Communication: The reader window and the main window communicate via BroadcastChannel IPC.