Listen to DevDocs

CastReader reads DevDocs.io's combined API documentation aloud — Python, Node, Rust, Go, React, any language you've enabled — without leaving the offline-first reader.

100% FreeAny Language in DevDocsCode Examples Announced40+ Languages
devdocs.io / python~3.13 / asyncio
Openasyncio.gather — 并发运行 awaitable
kevin-merge added labels `bug` `high-priority` · 3h ago
KPython docs · devdocscommented 2h ago

我追到了 token-bucket 实现的问题 —— Redis INCR 与过期重置不是原子操作, 高并发下两个请求都认为自己拿到了最后一个 token。修复要么用 Lua 脚本, 要么改用带 TTL 保护的 INCRBY 重写。

rate-limiter.ts · 4 additions, 1 deletion
- await redis.incr(key);
+ await redis.eval(TOKEN_BUCKET_LUA, 1, key, now);
1.5x

只读 devdocs 内容 — 跳过代码示例和版本选择器

How CastReader Works with DevDocs

Built for quick reference reading in audio

Any Stack

🔊 Python, Node, Rust, Go, React, Any

DevDocs combines 100+ offline-first reference docs into one clean reader. CastReader works on every stack — click Listen on a Python doc, a Rust doc, a React API, they all work. The extractor handles DevDocs' consistent layout regardless of the underlying stack.

Any stack supported

Side-Panel Navigation Skipped

Docs Body Only

DevDocs has a left sidebar with the entire API tree. Reading that aloud would be nonsense. CastReader skips navigation and reads just the current documentation page's body.

Sidebar skipped

Version Aware

Reads Docs for the Version You Selected

DevDocs lets you pin specific versions (Python 3.13, Node 22, React 19). CastReader reads whichever version you've selected — the URL identifies the version and the extractor respects it.

Version-aware

Offline Also Works

DevDocs' Offline Mode Still Narrates

DevDocs supports downloading doc sets for offline access. CastReader works with the offline cached versions — same extractor, same read-aloud experience when you're on a plane or in a tunnel.

Offline supported

Frequently Asked Questions

Everything you need to know about listening to DevDocs with CastReader

Does DevDocs have a built-in read-aloud feature?

No. CastReader adds one for free.

Does it work when DevDocs is loaded offline?

Yes. CastReader reads whatever text is rendered in the browser tab — online or offline DevDocs both show rendered HTML, so the extractor works in both cases.

Does it read code examples?

No — code examples get announced ('Python example, N lines') and skipped. The surrounding explanation prose reads normally.

What about markdown tables and signature grids?

Tables get announced briefly ('table with 3 columns') rather than read cell-by-cell. Signature grids (parameter lists) read as prose rather than as grid.

Is it free?

Completely free. No API key, no usage limits, no account required.

Start Listening Now

Completely free. Install and start listening to DevDocs API references.