跪拜 Guibai
← All articles
GitHub · Developer

A Local-First AI Workbench That Refuses to Ghostwrite Your WeChat Posts

By 橙序员小站 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

Most AI writing tools optimize for speed and end up laundering model-generated prose as authorial voice. This workbench inverts that relationship: the AI is structurally prevented from making editorial decisions, and every artifact is locally auditable, making it a credible alternative for writers who need AI assistance without surrendering control or data.

Summary

WeChat-newsroom-workbench is an MIT-licensed, Windows-only desktop tool that keeps the entire content pipeline on localhost. It chains hotspot collection, fact assessment, a conversational editorial meeting that forces the author to lock in a proposition before drafting, multi-stage AI drafting with quality gates, and a deterministic markdown-to-inline-style renderer that pastes directly into the WeChat editor without breaking. A parallel graphic pipeline produces 375×667 storyboard cards for Xiaohongshu, with a layout auditor that pinpoints overflow or cropping problems and opens the offending page for manual correction. The runtime ships 31 built-in skills, 8 tool plugins, and a declarative remote-plugin manifest system that forbids executable code distribution. An LLM gateway handles multiple providers, reasoning-effort controls, context-budget management with no silent truncation, and full audit logging of every model call. Background tasks use fine-grained concurrency with a global cap and FIFO queue. The project listens only on 127.0.0.1, carries no telemetry, and includes a threat model document; a zero-config demo mode lets users explore the interface with fictional data before wiring up an API key.

Takeaways
Hotspot collection feeds into an event-assessment stage that clusters, groups by dimension, pre-selects, and scores candidates before any drafting begins.
The editorial-meeting stage asks one question at a time and decomposes responses into public facts, author opinion, evidence, opposing angles, unresolved questions, and prohibited items; it refuses to draft until the proposition is locked.
Formatting uses a deterministic markdownToHtml renderer keyed to theme tokens, producing inline styles that copy-paste directly into the WeChat editor without an external helper page.
Images follow a gated path: local upload, explicit user click to push to CDN, and only then does the system allow formal formatting with the real HTTPS URL.
The graphic pipeline generates 375×667 storyboard cards; a layout auditor checks utilization, overflow, and cropping, and on failure opens the specific problem page for manual editing rather than issuing a generic error.
The LLM gateway supports DeepSeek, MiniMax, and Kimi providers with per-provider context windows, reasoning-effort controls, and a context-budget strategy that summarizes old messages before ever silently truncating.
Remote plugins are declarative manifests only — HTTPS, timeout, response cap, intranet rejection — with no executable code distribution permitted.
The project uses Node.js 24 native HTTP and node:sqlite with zero native compilation dependencies, and its 25-table schema migrates idempotently via additive-only column detection.
A demo mode writes a fully fictional batch to an isolated database so users can evaluate the interface without configuring an LLM key.
Conclusions

Structuring the editorial meeting as a Socratic, single-question dialogue that decomposes answers into epistemic categories is a concrete mechanism against AI ghostwriting, not a prompt-engineering trick.

Deterministic rendering for WeChat formatting sidesteps the fragility of asking an LLM to produce HTML, which is a recurring failure mode in AI-to-publishing pipelines.

The layout auditor's behavior — falling back to composition retries, then auto-navigating to the exact problem page — treats the human as the final authority in a repair loop rather than dumping them at an error log.

Shipping a threat model document and explicitly refusing public-network deployment signals a design philosophy where security boundaries are architectural, not aspirational, which is rare in solo open-source AI tools.

The remote-plugin system's ban on executable code distribution while still allowing third-party extension is a pragmatic security stance that acknowledges supply-chain risk without sacrificing extensibility.

Concepts & terms
Stage Contract
A fixed sequence of processing stages where each stage's output must satisfy a defined schema before the next stage can begin, enforced in code rather than by prompt instructions.
Reasoning Effort Control
A per-call configuration that sets the intensity of an LLM's internal chain-of-thought reasoning, with a fallback to retry without reasoning if the model exceeds output limits during extended thinking.
Context Budget with Summarization Fallback
A strategy that, when a conversation exceeds the model's context window, first asks the model to summarize older messages without adding facts, and only drops the oldest unprotected messages if the budget is still exceeded — avoiding silent truncation.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗