Disclaimer: This tool is for learning and research purposes only. The distillation output is a style simulation reference and does not constitute any investment advice. All generated content must be marked "AI style simulation, does not constitute investment advice".
📝 Overview
An automated public account investment blogger style distillation tool. Input the public account WeChat ID and number of articles, automatically collect articles and extract a seven-dimensional DNA investment style profile, and output a complete structured analysis report covering trading system, market judgment, expression style, and more.
✨ Features
| Function Module | Capability Description | Core Value |
|---|---|---|
| Automatic article collection | Batch-pull historical articles from a public account via WeChat ID, supporting three tiers: 20/60/100 articles | No manual organization needed; get complete source material in one click |
| Seven-dimensional DNA distillation | Extract trading system, market judgment, expression style, content depth, interaction characteristics, hot topic map, and persona genes | Structured profile, reusable and comparable |
| Dual-layer feature extraction | Surface layer (terminology/stock frequency) + thinking layer (analysis tools/argumentation patterns/tone quantification) | Not only like what the blogger says, but more like how the blogger thinks |
| Quality verification loop | Three-dimensional scoring (stocks/style/system), pass threshold ≥80%, dual-layer audit | Profile accuracy is guaranteed |
| Stylized simulation | Generate style-consistent stock/market analysis based on the profile, including data source attribution and disclaimer | Reproducible analysis output in the blogger's style |
⚠️ Iron Rules for Distillation Quality
Must extract article by article from the raw full text; relying on any clean/NER intermediate layer is prohibited.
Distillation accuracy directly determines profile quality. Experience shows that the stock NER extraction pipeline in the clean stage omits a large amount of information (for example, an article mentioning 6 stocks may extract only 0-2), causing the profile to be built on incomplete data. Therefore:
- Raw full-text principle: All extraction (stocks/phrases/sectors/style) must directly traverse the raw article body, without any preprocessing filtering
- Dictionary + alias matching: Stock extraction uses a complete dictionary (including colloquial aliases, such as "Shanghai Composite Index" → "Shanghai/da pan/Hu zhi/A-shares"), ensuring broad but accurate coverage
- Article-level sector counting: Sector attention is counted at the article level (each article counted only once), which reflects the blogger's true focus more accurately than word frequency
- Domain-specific phrases: Use an investment-domain-specific keyword list to extract key phrases, which is more precise than general sentence frequency statistics
- Verification loop: After distillation is completed, accuracy verification must be performed (
--validate), and only outputs with ≥80% may pass
Seven-dimensional DNA distillation structure
| # | Dimension | What it answers | Key fields |
|---|---|---|---|
| 1 | Trading system | How does TA trade? | Core model, stock selection logic, buy/sell signals, position management |
| 2 | Market judgment | How does TA view the market? | Trading schools, sector preferences, holding period, long/short conditions |
| 3 | Expression style | How does TA write/speak? | Article structure, signature expressions, title/opening/ending patterns, tone |
| 4 | Content depth | How much does TA write? | Average word count, information density, review detail level, forecast clarity |
| 5 | Interaction characteristics | How does TA interact? | Reader interaction, performance display, controversy handling, disclaimer |
| 6 | Hotspot map | What does TA focus on? | Core tracks, leader memory, commonly used indicators, focus on capital flows |
| 7 | Persona DNA | Who is TA? | Investment experience, philosophical evolution, milestone events, mentors/influences |
Distillation dimension branches
Before distillation, first determine whether the blogger is a long-term or short-term trader, then extract with emphasis according to the corresponding dimensions:
| Dimension | Long-term | Short-term |
|---|---|---|
| Investment philosophy | Value investing/swing trading | Leader strategy/sentiment cycle/theme-driven |
| Core capability | Business essence + valuation + moat | Hotspot capture + sentiment cycle + volume-price relationship + sector rotation |
| Analysis cycle | Year level (10-year holding perspective) | Day level (next day to 2 weeks) |
| Data-driven | Financial statements + industry data | Market data + capital flows + news |
Two-layer extraction framework
Distillation not only extracts "what words were used" (surface layer), but also "how to think" (thinking layer). Neither is dispensable:
Surface features(automatically quantified, script output):
- Frequency statistics of individual stocks/sectors/terms/phrases
- Title/opening/ending pattern recognition
- Basic statistics of word count/publishing frequency/disclaimer
Thinking-layer features(script detection + AI deep analysis):
| Analysis dimension | Script detection content | AI deep supplement |
|---|---|---|
| Core analysis tools | Scoring of 8 types of thinking frameworks: macroeconomy/industry chain/financial reports/technicals/capital flows/sentiment/policy | Extract the blogger's unique analysis chain (such as "event→industry breakdown→A-share impact") |
| Argumentation chain pattern | 6 types of patterns: event-driven/data-driven/logical deduction/analogical reasoning/industry chain analysis/contrarian thinking | Reconstruct the blogger's typical argumentation steps and reasoning logic |
| Tone quantification | Average per-article values of four types of markers: exclamatory sentences/interrogative sentences/first person/colloquialism, automatically classified | Judge the temperature of the writing style (high/medium/low), extract emotional expression strategies |
| Data citation density | Number of data citations per thousand words, automatically classified (data-driven type/subjective judgment type) | Analyze data citation scenarios and methods |
| Cross-market perspective | Citation detection across four major markets: US stocks/HK stocks/A-shares/commodities | Determine whether it is a global perspective, multi-market linkage, or a single market |
| Information density | Assessment of the proportion of investment content (substantive vs. fluff) | Distinguish between in-depth analysis and superficial commentary |
Multi-dimensional data collection (beyond the article itself)
| Data type | Source | Which dimension it enriches |
|---|---|---|
| Persona background | Bio/pinned post/self-introduction | Persona gene DNA |
| Evolution of investment philosophy | Analyze early vs. recent content along a timeline | Persona gene DNA + trading system DNA |
| Milestone events | Publicly mentioned major profits/losses/turning points | Persona gene DNA |
| Mentors/sources of influence | Masters/books mentioned/citation frequency | Persona gene DNA |
| Social interaction profile | Comments/replies/arguments/community relationships | Interaction trait DNA |
| Historical prediction tracking | Comparison of past predictions with actual trends | Market judgment DNA |
| Consistency of views | Evolution of views on the same topic at different times | Market judgment DNA |
🔑 Authentication
Go to Red Fox hub to get an API Key, and configure it in the following way:
# 方式一:配置文件(如 OpenClaw 的 ~/.openclaw/openclaw.json)
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
# 方式二:终端环境变量
export REDFOX_API_KEY="ak_xxxx..."
Registration address:redfox.hk/login
Credit consumption reference:
| Number of articles | Approximate credit consumption | Accuracy assessment |
|---|---|---|
| 20 articles | ~8 credits | Basic understanding, rough profile |
| 60 articles | ~25 credits | Recommended tier, relatively complete profile |
| 100 articles | ~50 credits | High-accuracy profile, stable features |
Prerequisites
- Python 3.9+
- Dependencies:
pip install requests
Execution flow
Phase 0: Environment preparation
python "$SKILL_PATH/scripts/distill.py" --check-env
Automatically check for and prompt installation of missing dependencies (requests, etc.).
Phase 0.5: Pre-interaction
Before triggering distillation, the user must specify the following information:
- Official account WeChat ID(e.g.,
zxgbtz)- How to obtain: Open the official account → tap the top-right
···→ More Information → WeChat ID - Note: The WeChat ID is not the official account name; it is a unique alphanumeric ID
- How to obtain: Open the official account → tap the top-right
- Article count tier(20 / 60 / 100)
- Note: The more articles, the more credits consumed, but the more accurate the distillation. 60 articles is recommended; 100 articles gives the best accuracy (about 50 credits)
Automatic supplementation: The blogger's background information (investment experience, mentors, milestone events, etc.) is automatically collected by AI via WebSearch and does not need to be provided by the user.
Phase 1: Official account article collection
Two-step API process:
Step 1: Get the article UUID list
Call POST https://redfox.hk/story/api/gzh/data/queryWorkList, which returns 20 items per page, with offset stepping by 20, looping through pagination until the target number is reached.
Parameters:account(WeChat ID),sortType: "2"、offset(starting from 0, +20 per page).
Step 2: Retrieve complete data article by article
For each UUID, call POST https://redfox.hk/story/api/gzh/data/workDetail to retrieve complete data such as the main text, summary, word cloud, etc.
# 采集60篇文章
python "$SKILL_PATH/scripts/distill.py" --account "zshbtz" --count 60
# 采集100篇(高精度)
python "$SKILL_PATH/scripts/distill.py" --account "zshbtz" --count 100
Output standardized data to output/{博主名}/。
Phase 2: Multi-dimensional data integration and analysis
The script automatically completes basic statistical analysis (21 items), and AI performs multi-dimensional data integration on this basis:
Information richness grading(automatically assessed by the script):
| Level | Characteristics | Response strategy |
|---|---|---|
| Level A(abundant information) | ≥60 articles, high information density, sufficient multi-dimensional data | Counter-testing: When the blogger is bullish, why are smart people bearish? |
| Level B(moderate information) | 20-59 articles, insufficient data in some dimensions | Annotate each inferred conclusion with a confidence level |
| Level C(scarce information) | <20 articles, low information density | First-principles questioning, do not piece together a "seemingly complete" profile |
Analysis dimensions executed in parallel:
- Surface content analysis — statistics + word cloud + structural analysis + trading terminology + individual stock/sector frequency
- Thinking-level analysis — core analysis tools + argument chain patterns + tone quantification + data citation density + cross-market perspective + information density
- Social interaction analysis — comments/replies/debate style/community relationships
- Persona background analysis — bio/milestones/mentorship/evolution of investment philosophy/recommended books
- Investment opinion tracking — historical predictions/accuracy/opinion consistency/ways of admitting and correcting mistakes
Phase 3: Seven-dimensional DNA distillation
Step A: Generate the data draft
Script outputs:
output/{博主名}_统计数据.json— structured statistical analysis resultsoutput/{博主名}_数据底稿.md— structured statistical dataoutput/{博主名}_蒸馏任务.md— AI distillation task listoutput/{博主名}_画像.json— structured JSON profile (for validation)
Step B: AI generates the style profile
AI reads the distillation task and generates the final product according to the seven-dimensional DNA framework:
Style profile file:output/{博主名}_风格画像.md
Contains 7 major chapters, and each chapter must include:
- Specific characteristic descriptions (not empty talk)
- Citations of original text evidence (at least 2)
- Reusable rules/templates
- Distillation confidence annotation (high/medium/low)
Step C: Stylized analysis output specification
When using the distilled profile to generate stylized individual stock/market analysis, the output must include the following two parts:
1. Data sources and limitations table
| Data item | Source | Description |
|---|---|---|
| (Example) Stock price XX yuan, change ±XX% | East Money/Xueqiu (date) | Closing price, not real-time intraday data; different platforms may have minute-level delays |
| (Example) PE XX times / EPS XX | China Finance Network/financial report (quarterly) | Based on the latest available financial report data, may be distorted due to changes in performance |
| (Example) Private placement of XX billion | Company announcement (date) | Still at the preliminary plan stage, with approval uncertainty |
| (Example) Liabilities of XX billion | Financial report point-in-time data | The current debt situation may have changed |
And attach a limitation statement:
The above market data is aggregated data from public platforms, not real-time data directly connected to exchanges; fundamental data is based on the latest available financial reports and may differ from the current actual operating conditions.
2. ⚠️ AI style simulation disclaimer paragraph
⚠️ AI style simulation, does not constitute investment advice. This article is style simulation content generated by AI based on the seven-dimensional DNA distillation profile of the WeChat public account "{Blogger Name}", and is unrelated to the original influencer. All views, judgments, and recommendations in the article do not represent the personal stance of {Blogger Name}, nor do they constitute any buy/sell/hold advice. The stock market carries risks, and investment requires caution.
Phase 4: Quality verification
Distillation accuracy verification (mandatory exit criteria)
python "$SKILL_PATH/scripts/distill.py" --validate --author "博主名" --sample 10
Three-dimensional scoring system:
| Verification dimension | Description | Weight |
|---|---|---|
| A. Individual stock mentions | Whether the frequently mentioned individual stocks declared in the profile actually appear in the article | 40% |
| B. Style characteristics | Whether signature expressions, title patterns, opening/ending patterns, and word count range match | 35% |
| C. Investment system | Whether the core school, holding period, and sector preferences are consistent with the article | 25% |
Exit criteria: comprehensive accuracy ≥ 80%
- ≥ 80%: distillation passed, the profile can be used for style simulation
- < 80%: supplementary distillation required — carefully read the full raw text, update inaccurate fields in the profile, and re-verify
- If any dimension is below 60%: that dimension needs to be completely rewritten
Soft check for distillation quality (two-layer audit)
The audit is divided into two layers:Surface featuresWeight 60%,Thinking-layer featuresWeight 40%. Both are indispensable — the surface layer ensures "it sounds like what the blogger says," and the thinking layer ensures "it resembles the blogger's thinking."
Surface check (60%):
| Check item | Pass standard | Weight | Layer |
|---|---|---|---|
| Signature expression hit rate | > 40% | 10% | Surface |
| Trading system coverage | > 70% | 10% | Surface |
| Article structure matching degree | > 60% | 10% | Surface |
| Market indicator coverage | > 50% | 10% | Surface |
| Tone consistency | Deviation < 20% | 10% | Surface |
| Trading terminology coverage | > 50% | 10% | Surface |
Thinking-layer check (40%):
| Check item | Pass standard | Weight | Layer |
|---|---|---|---|
| Core thinking matching degree | > 60% (core analysis tool keyword coverage) | 15% | Thinking layer |
| Argumentation method matching | > 60% (argumentation chain keyword coverage) | 15% | Thinking layer |
| Embodiment of philosophical values | > 50% (investment maxims naturally integrated into the analysis logic) | 10% | Thinking layer |
Comprehensive score > 70 points to pass (soft criterion); < 70 points is sent back for re-distillation.
Validation execution rules
- After each profile updateValidation must be executed
- MonthlyFull validation of all blogger profiles
- After incremental synchronization to obtain new articles, if the new articles involve individual stocks/sectors not covered by the profile, the profile needs to be updated
Usage method
Natural language trigger (recommended)
Directly tell the AI:
蒸馏公众号 zshbtz
The AI will automatically execute the complete Phase 0 → 4 workflow.
Command line
# 蒸馏(60篇文章,推荐档位)
python "$SKILL_PATH/scripts/distill.py" --account "zshbtz" --count 60
# 高精度蒸馏(100篇)
python "$SKILL_PATH/scripts/distill.py" --account "zshbtz" --count 100
# 蒸馏后校验画像准确性(≥80%准出)
python "$SKILL_PATH/scripts/distill.py" --validate --author "财躺平" --sample 10
# 环境检查
python "$SKILL_PATH/scripts/distill.py" --check-env
Data and compliance principles
- LLM fabrication prohibitedTrading records, position data, settlement statements, and other non-public information
- Strictly distinguishOriginal text/original postandAI distillation conclusions
- Cross-validate article descriptions against actual market data (if any)
- All distillation outputs must be labeled with distillation confidence
- Market data must be collected in real time,LLM fabrication of data such as price limits and capital flows is prohibited
- All user-facing AI-generated investment analysis outputs must include two fixed statements:
- [Data sources and limitations] Table — item-by-item labeling of the source platforms and specific limitations for key data cited, such as stock prices, PE, private placements, and liabilities (see Phase 3 Step C for details)
- [AI style simulation, not investment advice] Paragraph — clearly labeled as an AI style simulation based on the distilled profile, unrelated to the original influencer themselves, and not constituting any buy/sell/hold advice (see the fixed template in Phase 3 Step C for details)
File structure
investor-distiller/
├── SKILL.md # 本文件
├── scripts/
│ ├── distill.py # 主蒸馏脚本(调度+统计+校验)
│ └── gzh.py # 公众号数据采集(queryWorkList + workDetail)
├── assets/
│ └── profile_template.md # 七维DNA风格画像输出模板
├── references/
│ └── 蒸馏维度规范.md # 七维DNA详细规范
└── output/ # 蒸馏产物输出目录
├── {博主名}_uuids.json # UUID 缓存(避免重复扣积分)
├── {博主名}_统计数据.json # 脚本统计分析结果
├── {博主名}_完整文章.json # 完整正文落盘(供校验/AI精读)
├── {博主名}_数据底稿.md # 结构化数据底稿
├── {博主名}_蒸馏任务.md # AI蒸馏任务清单
├── {博主名}_画像.json # 结构化JSON画像(校验用)
├── {博主名}_风格画像.md # AI生成的七维DNA画像
└── {博主名}_校验报告_YYYYMMDD.json # 准确性校验报告
Dependencies
pip install requests