Foreword

The plugin-based architecture of DeepSeek Harness (DSH) allows custom components to be embedded in the Web UI. OpenBook is a local-first RSS reader and knowledge collector, refactored as a DSH plugin. It addresses the need to directly manage feeds, read full articles, and organize notes within agent workflows, running all features in the dsh plugin runtime as a native Cordis service.

Core Features

OpenBook provides an RSS tab in the session view cycle, using a three-column reader layout. Key features include:

  • Three-column reading interface: Includes a feed sidebar, supports a date-grouped article queue, full article reading, favorites, and notes.
  • Quick navigation: The sidebar provides a quick entry to the RSS tab; click it to navigate directly.
  • Notes and status: Provides Notes (notes/highlights) and Status (sync statistics, activity stream) tabs.
  • Environment awareness: When an article is opened, its content is injected into the session’s Agent context, allowing the model to understand the reading state without additional polling.
  • Discussion interaction: Supports summarizing, translating, or extracting key points from articles. The action pushes the article into the conversation flow, and the view automatically switches back to the Chat tab to view the reply. Selected text can be attached as a highlighted paragraph.
  • Sync node: Sync execution results are presented as compact cards in the chat stream.
  • Agent tools and commands:
    • Tools: The Agent can invoke rss_list_feeds, rss_sync, rss_search, rss_read_article, rss_materialize, rss_save_note, rss_export_review, as well as book_index, book_recent, book_article, and book_search.
    • Commands: Provides commands such as /feeds, /read, /search, /recent, /notes, /favorites, /stats, /open, /materialize, /sync, /export-review, /review, /activity, /book, and /doctor.

Installation and Enablement

Install via the DSH plugin CLI. You can install it via tarball without an npm account.

dsh plugin add https://github.com/rocklau/dsh-rss-reader/releases/download/v0.1.0-rc.1/openbook-dsh-rss-reader-0.1.0-rc.1.tgz

This command injects the openbook-rss entry into the web sidebar. The plugin automatically declares dsh.bundle and dsh.client, and loads in the dsh web runtime without additional configuration.

Typical Usage

  1. Open reader: Click the RSS shortcut in the sidebar to go directly to the RSS tab and browse articles.
  2. Discuss an article: In the RSS view, click the discussion action for an article. The article content is pushed into the conversation, the view automatically returns to the Chat tab, and the model generates a reply based on the article content.
  3. View sync status: In the Chat stream, sync operations are displayed as cards, providing an overview of sync progress and results.

Use Cases and Notes

  • Runtime environment: The plugin runs in the DSH plugin runtime as a native Cordis service and does not require a separate HTTP service process.
  • Data storage: Data is stored in a SQLite database (openbook.db) and Markdown files. The storage directory is determined by the dataDir configuration.
  • Security restrictions: SSRF protection is enabled by default and blocks feeds in private DNS ranges (such as localhost, 192.168.x.x, etc.), unless allowPrivateFeeds is explicitly enabled in the configuration.

Conclusion

OpenBook deeply integrates traditional RSS reader logic with DSH agent workflows. Through native services and environment awareness, it provides a standardized plugin solution for local knowledge collection.