Open-source project
iniwap/AIWriteX avatar
iniwap/AIWriteX

AIWriteX: A CrewAI Pipeline for Chinese Self-Media Publishing, and Where It Stops Being the Right Tool

AIWriteX - 微信公众号全自动AI工具:全网热搜舆情聚合+趋势分析+爆款选题+文章采集+一键生成排版发布 | AI自动配图 | 去AI味、过朱雀检测 | 支持小红书/百家号/头条等多平台 | 洗稿润色支持多账号 | 专家赛道 | 短视频文案 | 手机控制 | 小说连载 | 爆文10w+神器

1,978 stars399 forksPythonApache-2.0

At a glance

What is it?
AIWriteX chains topic discovery, article collection, multi-agent drafting, de-AI-flavored rewriting, image generation and one-click publishing to WeChat, Xiaohongshu, Baijiahao, Toutiao and Fanqie. It is aimed at operators running Chinese content accounts at volume, and its own README admits the anti-detector feature is not stable.
Who is it for?
Adopt AIWriteX if you already run Chinese-language accounts on WeChat, Xiaohongshu, Baijiahao or Toutiao and you are willing to read config.yaml and aiforge.toml rather than click through a wizard. Do not adopt it if your output is English, if you need a stable guarantee that text passes a specific detector, or if you cannot accept that scraping other public accounts is part of the intended workflow.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem AIWriteX is built around: Chinese self-media production volume

Running a WeChat public account as a business means producing a publishable article on a schedule, with a headline that matches whatever is trending that morning, images that do not look recycled, and formatting that survives the platform's editor. The repository describes a pipeline that covers that whole chain in one program: hot-topic aggregation across Weibo, Douyin and Xiaohongshu, article collection from other public accounts, topic selection, drafting, de-AI-flavored rewriting, image generation, layout, and publishing. The target user is not a novelist or a documentation writer. It is an operator who runs several accounts, possibly across several platforms, and who currently stitches together a search tab, a chat model, an image generator and a manual upload. The README is explicit that the project now targets Xiaohongshu, Baijiahao, Toutiao, Fanqie Novel and Weibo alongside WeChat, so the unit of work is a piece of content that gets reshaped per platform rather than a single article for a single site. That framing explains most of the design choices, including the ones I think are weak.

The CrewAI role split and what actually flows between the stages

The core mechanism named in the README is a CrewAI crew with four roles: researcher, writer, reviewer, designer. The README describes the sequence as research feeding writing, writing feeding review, and review feeding layout and image generation. Upstream of the crew sits what the project calls AIForge, a search and collection layer: the README says it performs multi-strategy search and borrows from competitor articles, and the badges pin aiforge-engine at 0.0.19 or later. Downstream sits the publishing layer, with per-platform support listed separately for WeChat, Xiaohongshu, Baijiahao and Toutiao (text plus images, drafts, scheduled publishing, long-image mode) and for Fanqie Novel (chapter publishing, automatic volume creation). The de-AI-flavor stage is described as sitting between generation and layout, and the README names four techniques: extracting a reference article's vocabulary and injecting it into the output, breaking up list and paragraph regularity, injecting subjective and rhetorical phrasing, and scoring each attempt to feed back into later runs. The interface layer is a PyWebView desktop shell with GrapesJS for layout, Monaco for editing and FastAPI behind it. None of this is unusual individually. What is unusual is that all of it ships as one installable program rather than a set of scripts an operator assembles.

Installing it: two modes, two config files, and the keys that matter

The README splits installation into a software mode, described as a one-click install for non-developers, and a development mode for people who want to modify it. The development path requires Python 3.10 or later, and the badge list pins CrewAI at 0.102.0 or later, aiforge-engine at 0.0.19 or later, PyWebView at 4.0.0 or later, FastAPI at 0.116.1 or later, GrapesJS at 0.22.13 or later, Monaco Editor at 0.45.0 or later and Marked at 11.1.1 or later. Configuration lives in two files, config.yaml and aiforge.toml, and the README recommends editing them through the GUI rather than by hand. From the documented table, the keys you cannot skip are api.api_key, since a model provider credential is required, and wechat.appid, wechat.appsecret and wechat.author, which the README marks as mandatory for automatic publishing. To switch providers you change api.api_type, for example to OpenRouter, and then set api.OpenRouter.model_index to pick the model inside that provider. The wechat.credentials block contains call_sendall, sendall and tag_id, and the README states these apply only to certified accounts. The platforms key sets sampling weights for hot-topic selection across platforms. The README does not, in the material available, give a full config.yaml example, so the exact nesting of the credentials block is something you should confirm from the repository's own sample file rather than from the documentation table.

The anti-detector claim is the weakest part, and the README says so

The project markets a de-AI-flavor engine and names Zhuque as a detector it tries to defeat. Read the fine print and the authors themselves write that as detectors like Zhuque keep evolving, getting a full AI-generated long article past detection will become harder, and they recommend AI-assisted rather than AI-generated writing, with a human substantially rewriting and supplementing the draft. They describe their own measured result as good but not stable. That is an unusually candid admission and it should shape how you evaluate the feature. Treat the de-AI-flavor stage as a rewriting pass that changes vocabulary, sentence rhythm and rhetorical stance, not as a compliance control. Any workflow that depends on a specific detector returning a specific verdict is built on something the maintainers describe as unstable. The same section also mentions automatic handling of AIGC labeling and anti-template interaction rules, which is a platform-compliance concern rather than a detection-evasion one, and that part is more defensible: putting a label on generated content is a policy requirement, not a technical race.

Where the pipeline breaks: scraping, platform limits and the certification wall

Several constraints are visible in the documentation. First, the WeChat group-send options (call_sendall, sendall, tag_id) are marked as applying only to certified accounts, so an unverified personal subscription account cannot use that path and is limited to what the draft and article APIs allow. Second, the article collection feature downloads other public accounts' articles and stores images and text locally; the README frames this as building a private material library, and the content-mining feature explicitly offers to take several collected articles, deduplicate and restructure them into a new draft. Whether that is acceptable depends on your jurisdiction and on how much of the source survives, and the project does not offer guidance on it. Third, the hot-topic radar claims it can surface topics with zero current heat that it predicts will spike within twelve hours, using what the README calls local algorithms plus model verification; a prediction of that kind is inherently probabilistic and the README provides no accuracy figures, so treat it as a candidate generator rather than a forecast. Fourth, the multi-platform support is uneven: Fanqie Novel is listed for text and chapter structure only, while WeChat, Baijiahao and Toutiao get the full treatment including long-image mode. If your main platform is not on the richer list, you are getting less than the feature table suggests.

How it differs from wiring a general agent framework to a CMS yourself

The obvious alternative is to assemble the same pipeline from a general multi-agent framework plus a publishing client. If you build on CrewAI directly, you get the same role abstraction but you write the researcher's search tool, the writer's prompt, the reviewer's criteria and the platform-specific publisher yourself. AIWriteX's value is that those pieces are already coupled: the topic radar output feeds the crew input, the crew output feeds the de-AI-flavor pass, that feeds layout, and layout feeds the publish call, with a content library and an image library persisting between runs. The cost of that coupling is that you inherit the project's choices. If you want a different reviewer policy, or you want to publish to a platform the project does not list, you are modifying its code rather than swapping a module. A narrower alternative for teams whose only need is drafting is to use a chat model with a saved prompt and publish manually; that removes the Python 3.10 requirement, the config files and the certification constraint entirely, at the cost of doing the topic discovery and the layout by hand. The honest comparison is between an integrated pipeline you configure and a loose set of tools you operate.

Maintenance, release cadence and what Apache-2.0 does and does not cover

The release history shows a steady cadence: V2.4.8 in July 2026, V2.4.9 in early August, V2.5.0 in mid-August, with the last push to the repository in September 2026. Each release names a theme (templates, image generation, the scenario library), which suggests feature work is ongoing rather than maintenance-only. For an operator, that cadence cuts both ways: new capability arrives regularly, and so does the chance that a config key or a template format shifts under you. The dependency list is also long and version-pinned in the badges, including aiforge-engine and CrewAI, both of which are themselves moving projects. Budget time for dependency upgrades, not just for the tool's own releases. On licensing: the repository is Apache-2.0, which permits commercial use and modification and requires that you preserve notices and state changes; it also includes an explicit patent grant and a termination clause. The README separately points to a commercial stable version on the project's website, so the open repository and the paid offering are distinct, and the Apache-2.0 terms apply to what is in the repository. I am not a lawyer and this is not legal advice; if you are shipping this inside a product, read the LICENSE file and the NOTICE requirements yourself, and check whether the commercial version has separate terms.

Editorial conclusion

Adopt AIWriteX if you already run Chinese-language accounts on WeChat, Xiaohongshu, Baijiahao or Toutiao and you are willing to read config.yaml and aiforge.toml rather than click through a wizard. Do not adopt it if your output is English, if you need a stable guarantee that text passes a specific detector, or if you cannot accept that scraping other public accounts is part of the intended workflow. Before committing, verify three things against your own setup: that the API provider you intend to use is reachable through the api_type and model_index keys in config.yaml, that your WeChat account is the certified type required by the call_sendall and tag_id options, and that your Python environment satisfies the 3.10+ floor plus the CrewAI and aiforge-engine versions pinned in the README badges.

Official sources

  1. iniwap/AIWriteX on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes