gitwtfhub

wtf is openweread?

ceelog/openweread — explained in plain English

Analysis updated 2026-05-18

15TypeScriptAudience · developerComplexity · 2/5LicenseSetup · moderate

TL;DR

TypeScript SDK and CLI for the WeChat Read Skills API. Inspect your bookshelf, highlights, notes, and reading stats from the terminal or your own code.

Mindmap

mindmap
  root((OpenWeRead))
    Inputs
      API key wrk
      Book search query
      Book ID
    Outputs
      Book metadata
      Reading progress
      Highlights and notes
      JSON via --json
    Use Cases
      Export reading data
      Build personal stats dashboard
      Automate bookshelf scripts
    Tech Stack
      TypeScript
      Node
      pnpm
      vitest
      biome

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Export your WeChat Read highlights and notes to JSON for backup

REASON 2

Build a personal reading stats dashboard from your monthly WeChat Read activity

REASON 3

Script bookshelf and progress queries from the terminal using the openweread CLI

REASON 4

Embed WeChat Read data in a TypeScript app via the SDK client

What's in the stack?

TypeScriptNodepnpmvitestbiome

How it stacks up

ceelog/openwereadaredotna/api-examplesellismosss/strip-silence
Stars151515
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatehard
Complexity2/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

You need a personal wrk-xxxxxxxx API key from the WeChat Read Skills website before any command works.

MIT license, free to use, modify, and redistribute, even commercially, as long as the copyright notice is kept.

Wtf does this do

OpenWeRead is a TypeScript toolkit for talking to WeChat Read, a popular Chinese e-reader app made by Tencent. WeChat Read recently published an official set of public endpoints called Skills, and this project wraps those endpoints in two ways: a software development kit, or SDK, that other TypeScript programs can pull in, and a command-line tool that you run in your terminal to get information out of your account. The README is written in Chinese. To use either tool you first need a personal API key, formatted like wrk-xxxxxxxx, which you obtain from the WeChat Read Skills website linked in the README. The key is then stored in an environment variable called WEREAD_API_KEY. Installation is one npm command for the global command-line tool, or pnpm add openweread inside an existing project to use the SDK. The command-line tool covers most of what a reader would want to inspect: searching for books, fetching a book's metadata or chapter list, checking reading progress, showing your bookshelf including audio books, monthly reading stats, your bookmarks and highlights for a given book, your personal notes and reviews, the popular highlights other users have made on a book, recommended and similar books, and your overall profile. Any command can be given a --json flag to print the raw JSON for piping to other tools. The SDK exposes the same features as JavaScript methods on a client object, and includes a lower-level call function for endpoints that the high-level wrappers do not cover yet. The project uses vitest for tests, biome for linting, and is released under the MIT license.

Yoink these prompts

Prompt 1
Install the openweread CLI, set WEREAD_API_KEY, and dump my bookshelf to JSON
Prompt 2
Use OpenWeRead in a Node script to export all highlights for one book and write them as Markdown
Prompt 3
Show me how to call an endpoint OpenWeRead does not wrap yet using its low-level call function
Prompt 4
Build a small dashboard that reads monthly reading stats from OpenWeRead and renders charts

Frequently asked questions

wtf is openweread?

TypeScript SDK and CLI for the WeChat Read Skills API. Inspect your bookshelf, highlights, notes, and reading stats from the terminal or your own code.

What language is openweread written in?

Mainly TypeScript. The stack also includes TypeScript, Node, pnpm.

What license does openweread use?

MIT license, free to use, modify, and redistribute, even commercially, as long as the copyright notice is kept.

How hard is openweread to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is openweread for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.