dsh-plugin-zsxq
知识星球知识库工具:同步帖子与附件、抽取 docx/PDF 正文、重建索引、检索与自检,纯 JS 无 Python 依赖
一句话定位
知识星球知识库工具:同步帖子与附件、抽取 docx/PDF 正文、重建索引、检索与自检,纯 JS 无 Python 依赖
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-plugin-zsxq@0.1.0
兼容的 DSH 版本
>=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0
作者与热度
zhangcaiqian · ★ 2 · 更新于 2026-11-09
关于这个插件
dsh-plugin-zsxq
[中文](README.zh.md) | English
Turn the Knowledge Planet (知识星球 / zsxq) planets you subscribe to into a searchable local Markdown knowledge base — from inside DeepSeek Harness.
Sync posts and attachments, extract docx / PDF text and images, rebuild an index, and search it — all in pure JavaScript. No Python, no external services, no telemetry.
sync posts ──▶ download attachments ──▶ extract docx/PDF text + images ──▶ Markdown
│
ask your agent ◀── search ◀── build index ◀── enrich categories/summary/quotes (skill)
Why
Knowledge Planet content is awkward to keep: posts live behind an app, the substantial parts are attachments (docx, PDF, audio), and there is no full-text search across your own history. If you read on a computer — or want an agent to work with what you paid for — you end up exporting files by hand.
This plugin makes your own subscription local and queryable:
- 📥 One call to sync — today, a date, a whole month, a count, or a hashtag
- 📄 Attachments become text —
docxparagraphs and embedded images,PDFtext and page images, all written into the Markdown next to the post - 🔎 Search that respects your subscription — keyword / tag / channel / category / date over a local index
- 🧠 Agent-friendly — seven typed tools; pair with the
dsh-skill-zsxqskill for the enrichment conventions (category, summary, quotes) - 🔒 Local first — everything lives in a folder you choose; your Cookie never leaves
config.json - 🐍 No Python — this is a from-scratch JS port of the Python skill, validated byte-for-byte
Install
# npm (recommended) dsh plugin --profile web add dsh-plugin-zsxq # or straight from GitHub source dsh plugin --profile web add github:zhangcaiqian/dsh-plugin-zsxq # local checkout while developing dsh plugin --profile web add link:/path/to/dsh-plugin-zsxq
Restart DSH after installing (plugin modules are not hot-reloaded).
> DSH Desktop users: install from Settings → Plugins, or point DSH_HOME at the desktop's harness directory when using the CLI, otherwise the plugin lands in a different profile.
Optional companion skill
The plugin executes; the skill teaches the agent how to enrich what was synced (topic category, ≤50-character summary, quote extraction, enrichment workflow). Install it for the full experience:
dsh plugin --profile web add github:zhangcaiqian/zsxq-skill
Without it, the tools still work — the agent just follows the tool descriptions instead of the full playbook.
Quick start
1. Initialize a data directory
Ask the agent: “initialize the zsxq knowledge base” → zsxq_init creates
$DSH_HOME/zsxq-kb/{channels,assets,data,index} and a config.json template
(the default location; a configured dataDir wins).
2. Add your Cookie
1. Open , log in, and confirm your planets render;
2. F12 → Network → filter api.zsxq.com → reload → click any request;
3. Headers → Request Headers → Cookie → copy the whole value after the colon
(usually zsxq_access_token=…; abtest_env=product; more than one pair is normal);
4. Write it into config.json in the data directory — default
$DSH_HOME/zsxq-kb/config.json, or /config.json when dataDir is configured:
{ "zsxq_cookie": "zsxq_access_token=…; abtest_env=product", "channels": {}, "tag_to_category": {} }
- The Cookie is the account credential: do not commit it, and do not paste it into
chats, screenshots, or issues;
- It lasts about a month in practice; expiry shows up as HTTP 401
(ZSXQ_COOKIE_EXPIRED from the tools) — copy a fresh one and overwrite the value;
- Verify with
zsxq_doctor: it makes one real API call and only reports whether the Cookie
works, never echoing it.
3. Pick your planets
Ask: “check the zsxq setup” → zsxq_doctor validates the Cookie against the live API and reports
which planets your account can reach. Add the ones you want to config.json:
{
"channels": {
"my-channel": {同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| thoughtdag | chenxiachan | 763 | 0.2.2 | 2026-11-08 |
| graph-memory | adoresever | 675 | 1.5.8 | 2026-10-01 |
| dsh-Mimir-Academic-research | 1692775560 | 562 | 0.0.0 | 2026-11-04 |
| memtrace-public | syncable-dev | 515 | 0.0.0 | 2026-11-09 |
| marketingdashboard | theBigGavin | 459 | 0.1.0 | 2026-10-29 |