Zhihu Reader

approved

by ZHENG ANYUAN

Read Zhihu questions and answers inside Obsidian. - This plugin has not been manually reviewed by Obsidian staff.

26 downloadsUpdated 19d agoMIT

Zhihu Reader

中文版README

Read Zhihu questions and answers in a native reader view, then save only the answers worth keeping as Markdown notes.

Zhihu Reader is an unofficial project and is not affiliated with Zhihu. Changes to Zhihu APIs, authentication, or risk-control systems may temporarily affect some features.

Features

  • Render questions and answers through Obsidian's Markdown renderer.
  • Search Zhihu answers, browse personalized recommendations, and view the daily hot list.
  • Keep a local history of successfully opened questions.
  • Read answer comments.
  • Click an author avatar to browse that author's public answers.
  • Vote for or unvote an answer.
  • Save one answer per Markdown file.

Screenshots

image

Installation

Community plugins

Once Zhihu Reader is available in the community plugin directory:

  1. Open Settings → Community plugins.
  2. Select Browse and search for Zhihu Reader.
  3. Install and enable the plugin.

Manual installation

  1. Download main.js, manifest.json, and styles.css from a release.

  2. Create this directory inside your vault:

    <your-vault>/.obsidian/plugins/zhihu-reader/
    
  3. Copy the three files into that directory.

  4. Reload Obsidian.

  5. Enable Zhihu Reader under Settings → Community plugins.

Getting started

  1. Enable Web viewer under Settings → Core plugins.
  2. Open Settings → Zhihu Reader.
  3. Sign in using one of the available methods.
  4. Select the Zhihu Reader ribbon icon.
  5. Select Open link in the reader toolbar and paste a supported URL.
  6. Read the answer, move through the answer queue, or save the current answer.

You can also copy a supported URL and run the Open from clipboard command.

Supported URL formats:

https://www.zhihu.com/question/QUESTION_ID
https://www.zhihu.com/question/QUESTION_ID/answer/ANSWER_ID

Reading shortcuts

KeyAction
HPrevious answer
JScroll down
KScroll up
LNext answer

Settings

SettingDefaultDescription
Answers per request6Requests between 1 and 20 answers per feed page
Default answer orderDefault rankingControls the initial question feed order
History limit50Maximum number of question history entries
Answer save folderZhihu ReaderFolder relative to the vault root
Note path templateQuestion/author/answer IDControls generated note paths
Open after savingEnabledOpens the generated Markdown note
Download images to the vaultDisabledDownloads images only when saving

When image downloading is enabled, attachments can follow the global attachment setting or use a dedicated folder.

Commands

The command palette provides commands for:

  • Opening a Zhihu question or answer URL.
  • Opening a Zhihu URL from the clipboard.
  • Searching Zhihu answers.
  • Opening the personalized recommendation feed.
  • Opening the daily hot list.
  • Opening question history.
  • Saving the currently displayed answer.

Obsidian hotkeys can be assigned to any of these commands under Settings → Hotkeys.

Development

The project uses TypeScript, the Obsidian Plugin API, React, esbuild, Zod, Turndown, Vitest, ESLint, and GitHub Actions.

Install dependencies and start a development build:

npm install
npm run dev

Run all checks before submitting a change:

npm run check

Releasing

The release script requires a clean worktree. It synchronizes package.json, package-lock.json, manifest.json, and versions.json, runs the complete check suite, then creates a release commit and an annotated Git tag.

Create a patch release locally:

npm run release -- patch

You can also use minor, major, or an explicit version such as 1.2.3. Add --push to push the commit and tag immediately:

npm run release -- patch --push

Pushing the tag triggers the GitHub Actions release workflow, which rebuilds the plugin, creates artifact attestations, and publishes main.js, manifest.json, and styles.css to GitHub Releases.

Project documentation:

License

Zhihu Reader is released under the MIT License.

Acknowledgements

Special thanks to Zhihu++ for its open-source work. Its implementation was an important reference for understanding Zhihu API request flows and helped make this project possible.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.