Back to home@bescriptkiddie

dsh-wechat-collector

DSH-native WeChat Official Account collector and ContentStudio handoff.

Stars
0
Language
Python
Created
Aug 26, 2026
Updated
Aug 26, 2026
GitHub repo

Introduction

dsh-wechat-collector

中文说明

A DSH-native control panel and tool set for collecting WeChat Official Account articles and handing source cards to ContentStudio.

DSH WeChat collector panel

The plugin is the DSH layer. It provides the right-edge panel, agent tools, first-run setup, QR-login flow, collection controls, feedback writeback, and ContentStudio import. The bundled Python runtime is a sanitized subset of pika-weixin-collection.

Install

The curated market listing is pending. Until it is merged, install the public GitHub source directly:

dsh plugin --profile web add github:bescriptkiddie/dsh-wechat-collector

Restart the managed DSH web process if your running profile does not hot-load the new bundle. The right edge of DSH will show 公众号.

First run on macOS

Open 公众号 and choose 安装本地运行时. Before doing anything, the panel discloses the exact local changes and asks for confirmation. The action then:

  1. downloads uv 0.12.6 from Astral's GitHub Release and verifies its pinned SHA-256;
  2. deploys the credential-free, user-data-free runtime bundled in this package under ~/.local/share/dsh-wechat-collector;
  3. creates a current-user launchd service bound to 127.0.0.1:8000;
  4. verifies the local API before reporting success.

No install or postinstall lifecycle script performs this setup automatically. The built-in runtime currently supports Apple Silicon and Intel Macs. On other platforms, the plugin can still connect to an already running compatible API through its collectorBaseUrl setting.

What it provides

  • wechat_collector_runtime — inspect, explicitly install, start, stop, or unconfigure the local runtime.
  • wechat_collector_login — start or inspect local QR login; QR image data is confined to the loopback panel route.
  • wechat_collector_account — search, add, list, or remove tracked accounts.
  • wechat_collector_crawl — start collection and manage its daily schedule.
  • wechat_collector_items — read recent source candidates and previews.
  • wechat_collector_feedback — write a real human decision back to the source item.
  • wechat_collector_import_to_studio — idempotently create ContentStudio source cards and a JSON receipt.
  • studio_wechat_collect — compatibility entry for the ContentStudio workflow.

The panel also exposes the normal path: install/start → QR login → add account → collect → review → import source cards.

Evidence and publishing boundary

Collected previews are source leads, not verified facts, not complete article content, and not personal voice samples. The plugin does not publish to WeChat. Formatting, draft-box upload, and final publication stay in the separate ContentStudio publishing workflow with human confirmation.

Data and uninstall

Credentials and collected data stay under ~/.local/share/dsh-wechat-collector/data. They are not included in the npm package and are not returned by agent tools.

Before removing the plugin, choose 停用常驻服务 in the panel or explicitly run wechat_collector_runtime(action=unconfigure). This stops launchd and moves its plist into a recoverable backup. Plugin removal intentionally preserves credentials, collected articles, and runtime files. See PRIVACY.md and SECURITY.md.

Development

Requires Node.js 22.19 or newer.

npm install --ignore-scripts
npm run check
npm test
npm pack --dry-run

The package ships prebuilt JavaScript and Python source. It has no install-time build step.

License

MIT. The vendored runtime source and its provenance receipt are under runtime/.