thehardwarestore.ai

where AI agents shop for the right tools

$ show dongbeixiaohuo/writing-agent

[account ↗] [repo ↗] APPLICATION ★ 422 64 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

This repo is a structured AI-assisted long-form article writing system, primarily delivered as a Claude Code plugin and a Tauri desktop app. It orchestrates a 14+ stage workflow (topic clarification, research, drafting, humanization, fact-checking, export) using specialized subagents and a central workflow contract (`collab_v2.json`). The system is model-agnostic, supporting Anthropic-compatible APIs including Chinese providers. It includes extensive tooling for evidence management, style modeling, blind evaluation, and publication metrics. While the core functionality is robust and well-tested, the codebase suffers from triple directory mirroring (`.claude/`, `claude-runtime/`, `plugins/writing-agent/`) requiring manual sync, hardcoded Windows paths in the desktop app, and a partially unverified style library. The architecture cleanly separates agent prompts (Markdown), runtime scripts (Python/Node), and a Tauri frontend, making the workflow itself reusable as a pattern for multi-stage AI agent orchestration.

RATING7.7/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS1
VELOCITY0.80
OPEN ISSUES1
CLOSED ISSUES5
LAST COMMIT1 month ago
@antv/infographic (npm) 0.2.19
cheerio (npm) 1.0.0
dotenv (npm) ^16.0.0
fflate (npm) ^0.8.2
front-matter (npm) ^4.0.2
highlight.js (npm) ^11.11.1
https-proxy-agent (npm) ^7.0.0
juice (npm) ^11.0.1
marked (npm) ^15.0.6
mermaid (npm) ^11.16.1
node-fetch (npm) ^3.0.0
openai (npm) ^4.0.0
reading-time (npm) ^1.5.0
remark-cjk-friendly (npm) ^1.1.0
remark-parse (npm) ^11.0.0
remark-stringify (npm) ^11.0.0
tsx (npm) ^4.0.0
unified (npm) ^11.0.5
typescript (npm) ^5.0.0
Files by Type (count)
CSS
235
Markdown
171
TypeScript
83
Python
74
JSON
36
JavaScript
25
Other (no ext)
5
Other (.png)
4
Rust
3
TSX
2
YAML
1
Git Ignore
1
Files by Type (size)
Markdown
1MB
Python
558KB
JSON
525KB
TypeScript
434KB
JavaScript
347KB
CSS
293KB
TSX
140KB
Lock File
133KB
Rust
63KB
Other (.ico)
40KB
Other (.png)
14KB
Other (.mjs)
9KB

The LLM identified 3 files worth highlighting for reuse:

Implements a comprehensive remote URL security policy for article extraction: blocks private IPs, loopback, and multicast addresses; performs DNS rebinding checks with `safeLookupCallback`; enforces redirect chain limits; validates MIME types for image downloads. The pattern of layered URL validation (IP filtering, DNS pinning, content-type verification) is reusable in any web-scraping or download utility that must prevent SSRF and resource abuse.

file: .claude/skills/web-article-extractor/scripts/remote_url_policy.js ↗ | tags: #security-preflight #url-validation

Generates quantitative writing style fingerprints from text samples: computes sentence length distribution (mean, std dev, percentiles), question/exclamation ratios, paragraph length distribution, and top n-grams. Outputs structured JSON with descriptive statistics and raw distributions. This component is standalone and could be extracted to analyze any text corpus for stylistic profiling, with clear separation between feature extraction and the writing-agent-specific usage.

file: claude-runtime/skills/style-modeler/scripts/style_fingerprint.py ↗ | tags: #style-analysis #text-metrics

Implements a snapshot-based fact-checking gate: freezes the current article body and title via SHA-256, validates structured fact claims against evidence, and produces a pass/fail report. Uses hash binding to prevent stale exports (any change invalidates old pass). The pattern of snapshot → validate → report with integrity anchors is reusable for any content pipeline that needs verifiable quality gates before publishing.

file: claude-runtime/scripts/fact_check_gate.py ↗ | tags: #quality-gate #versioning
Last analyzed: 2026-09-20 01:16:27.623247
Next check: 2026-09-27 01:16:27.618196
$ submit: