No description
Find a file
2026-07-18 22:48:03 +08:00
.github/workflows fix: remove attestations and id-token permissions from release workflow 2026-07-17 14:39:33 +08:00
docs feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
scripts feat: add release script and update release process in package.json 2026-07-17 03:34:41 +08:00
src feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
tests feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
.gitignore feat: initialize Zhihu Answers Obsidian plugin with core functionality 2026-07-13 19:04:38 +08:00
.npmrc feat: initialize Zhihu Answers Obsidian plugin with core functionality 2026-07-13 19:04:38 +08:00
esbuild.config.mjs feat: initialize Zhihu Answers Obsidian plugin with core functionality 2026-07-13 19:04:38 +08:00
eslint.config.mjs feat: initialize Zhihu Answers Obsidian plugin with core functionality 2026-07-13 19:04:38 +08:00
LICENSE feat: add MIT License and update license information in package files 2026-07-16 16:37:41 +08:00
manifest.json chore: release 0.1.7 2026-07-18 22:48:03 +08:00
package-lock.json chore: release 0.1.7 2026-07-18 22:48:03 +08:00
package.json chore: release 0.1.7 2026-07-18 22:48:03 +08:00
README.md feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
README_CN.md feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
styles.css feat: add recommendation feature with API integration 2026-07-18 22:32:48 +08:00
tsconfig.json feat: initialize Zhihu Answers Obsidian plugin with core functionality 2026-07-13 19:04:38 +08:00
versions.json chore: release 0.1.7 2026-07-18 22:48:03 +08:00
vitest.config.ts feat: implement Web viewer login for Zhihu authentication and enhance login options 2026-07-17 01:47:41 +08:00

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

Key Action
H Previous answer
J Scroll down
K Scroll up
L Next answer

Settings

Setting Default Description
Answers per request 6 Requests between 1 and 20 answers per feed page
Default answer order Default ranking Controls the initial question feed order
History limit 50 Maximum number of question history entries
Answer save folder Zhihu Reader Folder relative to the vault root
Note path template Question/author/answer ID Controls generated note paths
Open after saving Enabled Opens the generated Markdown note
Download images to the vault Disabled Downloads 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.