xoperator is designed for high-quality replies, NOT suitable for:
- Bulk marketing and spamming
- Low-quality automated replies
- Indiscriminate interactions
Suitable for you if you:
- Have a clear persona and topic direction
- Are willing to invest time in screening candidates and refining writing
- Prioritize quality over quantity (better to skip than to spam)
File Location: PROJECT.md §1 (Account Positioning & Quality Gates)
This is the foundation of your entire operations strategy, directly determining your content style and audience positioning.
- Persona: First-person, young female tech practitioner; switches between English/Japanese following original tweet; natural, actionable tone.
- Content scope: Focus on hot topics that attract users and provide high-value insights; emphasize AI, tech, social phenomena, life philosophy. Avoid politics, economics, gossip, NSFW, unverifiable rumors, and avoid specialized technical theory outside AI (low traffic).Case 1: Web3 Founder Perspective
- Persona: First-person, Web3 founder; primarily English; pragmatic, critical thinking tone.
- Content scope: Focus on DeFi/DAO/NFT practical cases; crypto-economic mechanism design, community governance, tokenomics. Avoid pure speculation topics, airdrop hunting content, political stances.Case 2: Japanese Native Creator
- Persona: First-person, Japanese tech observer; primarily Japanese, occasional English; gentle, nuanced tone.
- Content scope: Japanese tech industry, AI applications in Japan, East-West tech culture comparisons. Avoid politically sensitive topics, West-centric discussions.Case 3: Product Manager Perspective
- Persona: First-person, B2B SaaS product manager; English; analytical, data-driven tone.
- Content scope: Product design methodology, user research, growth strategies, PLG models. Avoid pure technical implementation details, startup platitudes, unvalidated theories.- Open
PROJECT.md - Search for "## 1. 账号定位与质量闸" or navigate to §1
- Modify the
PersonaandContent scopeitems - Save file
Tip: These two lines will be used by PEERB to judge candidate suitability and as style guidance during writing.
File Location: CONFIG.json
These parameters control technical gates for candidate screening. Tools automatically read after modification.
{
"candidate_search": {
"baseline": {
"min_followers": 20000, // Minimum author followers (hard floor)
"max_age_hours": 12, // Maximum tweet age (hours)
"min_comments": 5, // Minimum comments (avoid no interaction)
"max_comments": 100, // Maximum comments (avoid drowning)
"min_views": 20000 // Minimum views (need exposure)
},
"sweep_strategy": {
"follower_steps": [20000, 30000, 40000, 50000], // Gradient sweep range
"age_steps": [12, 10, 8, 6], // Time window tightening
"views_steps": [20000, 50000, 80000] // View count escalation
}
}
}Lower Thresholds (Get More Candidates):
{
"baseline": {
"min_followers": 10000, // 20k → 10k
"max_age_hours": 12, // ⚠️ Fixed at 12h (hot tweet freshness is critical)
"min_comments": 3, // 5 → 3
"max_comments": 100, // Keep 100 (anti-drowning)
"min_views": 10000 // 20k → 10k
}
}Raise Thresholds (Stricter Filtering):
{
"baseline": {
"min_followers": 50000, // Focus on bigger accounts only
"max_age_hours": 6, // Only freshest tweets
"min_comments": 10, // Need some interaction
"max_comments": 50, // Stricter anti-drowning
"min_views": 50000 // High exposure required
}
}max_comments: 100is critical for anti-drowning, recommend keeping- Gradient sweep tightens from baseline to sweep_strategy upper limits
- Minimum candidate count
floor_min_rows: 2, <2 triggers "sample too cold" warning
File Location: PROJECT.md §6.0 (Writing Principles section)
Default quality framework is relatively complex, including:
- S4 Standards: Sharp / Surprising / Supported / Significant
- Insight Wedges: Frame-Shift / Trade-off / Why-Now / Synthesis / Name-It / Exit
- Hook / Proof / H2H: Three-question mandatory check
If too complex, can simplify to:
-
Open
PROJECT.md -
Find §6.0 "Writing Principles" section
-
Simplify focus to:
Only do three things: 1) Contextual response: Mention core content of original tweet 2) One real insight: Provide new angle or observation 3) Clean expression: ≤240 chars, no emoji, no CTA
-
Optional: Comment out §6.6 mandatory Hook/Proof/H2H checks
File Location: PROJECT.md §3 (Heartbeat section) + CONFIG.json
In PROJECT.md §0+ (One-Page Execution Card):
- microtopic 12h ≤2 # Same topic max 2 within 12h
- Same author 60min ≤1 # Same author max 1 reply per 60min
- Post interval ≥10min # Minimum 10min between posts
- Rolling 60min ≤6 posts # Max 6 per hourAdjust these numbers as needed.
In PROJECT.md §3 (Heartbeat section):
Heartbeat = 30 minutes/beat, split into three 10-minute Time BoxesCan adjust to faster or slower rhythm:
- Fast:
Heartbeat = 20 minutes(source 7min / consensus 6min / write 7min) - Slow:
Heartbeat = 60 minutes(source 20min / consensus 20min / write 20min)
File Location: PROJECT.md §4.2 (Content Inclination) and §10 (Default Parameters)
Current config:
Reply as main mode, Original requires explicit authorizationFile Location: CONFIG.json
{
"allow_lang": ["en", "ja"] // Allowed languages
}Can modify to:
["en"]- English only["ja"]- Japanese only["en", "ja", "zh"]- Add Chinese support (need sync changes in PROJECT.md language docs)
File Location: INFLUENCER_POOL.json
Default includes 273 accounts (avg 400k followers, from influx project).
-
Method 1: Derive from Existing Pool
# Edit INFLUENCER_POOL.jsonl (source data) # Then regenerate python3 tools/xop-influencer-derive.py
-
Method 2: Manual Edit
[ { "handle": "@yourTargetAccount", "author_id": "123456789", "followers_count": 500000, "lang_primary": "en", "topic_tags": ["AI", "Tech"], "score": 90.0, "banned": false, "note": "Your note" } ]
Files: BANNED_HANDLES.txt and BANNED_PHRASES.txt
BANNED_HANDLES.txt: One @handle per line, these accounts will be filteredBANNED_PHRASES.txt: One phrase per line (case-insensitive), tweets containing these will be filtered
Quick add tool:
python3 tools/xop-ban.py --handle @spammer_accountFile Location: PROJECT.md §6.3 (Writing Examples section)
Provides English/Japanese writing examples reflecting specific style features:
- Concise and sharp
- Technically oriented
- Observational rather than preachy
You can:
- Replace these examples with your own style
- Add more examples for reference
- Use these examples as standards during PEERB review
Tip: These examples are mainly for human/Aux reference, not hard templates.
Following are core quality assurance mechanisms, not recommended for modification:
-
§0 RED FLAGS (Real-Ops Pledge section)
- Comments ≥100 must stop - prevent drowning
- Prohibit reply-of-reply - maintain content quality
- Publication time >12h baseline - ensure timeliness
-
Provenance Validation Logic
- All candidates must come from real fetches
- Prohibit manual table filling - prevent data fabrication
xop-lint.pyvalidation rules
-
Data Integrity Checks
- 10 slice file completeness requirement
- DQF (Data Quality Firewall)
- Sample statistics audit
These are project's core design principles. Modifications may lead to quality degradation or system failure.
After customization, run these checks to ensure config correctness:
# 1. Syntax check
make test
# 2. Config diagnostics
make diagnose
# 3. Complete system diagnostics
python3 tools/xop-preflight.py --diagnose
# 4. Lint check (if candidate lists exist)
python3 tools/xop-lint.py- Persona: First-person, B2B SaaS product manager; English; analytical, data-driven tone.
- Content scope: Product design, user research, PLG growth, SaaS metrics analysis. Avoid pure technical implementation, unvalidated theories, startup platitudes.Edit INFLUENCER_POOL.json, keep/add SaaS-related accounts:
- @lennysan (Lenny's Newsletter)
- @joulee (Julie Zhuo)
- @shreyas (Shreyas Doshi)
- @gokulrajaram (Gokul Rajaram)
- etc.
{
"baseline": {
"min_followers": 30000, // SaaS circle relatively niche, can raise slightly
"max_age_hours": 12,
"min_comments": 5,
"max_comments": 100,
"min_views": 20000
}
}Add product manager style examples:
- English Example (Product):
"Retention isn't a feature problem—it's an onboarding promise problem. If your D7 falls off a cliff, audit what you showed vs. what you delivered in Week 1."make diagnose
python3 tools/xop-setup.py --checkA: Need multiple modifications:
CONFIG.json:"allow_lang": ["zh"]PROJECT.md§1: Modify language docs in personaPROJECT.md§6.1: Add Chinese lint rules- Prepare Chinese Influencer pool
A: Not recommended, but if necessary:
- Comment out
PROJECT.md§6.6 check rules - Simplify §6.0 to basic "contextual+insight+clean"
- Risk: Easy to produce low-quality content
A: Yes, but not recommended:
- Modify
PROJECT.md§0+ rate limit rules - Risk: High-frequency posting easily perceived as bot, affecting account safety
A: Run diagnostic tool:
make diagnose # Will check JSON format and key fields- Documentation: See
PROJECT.md(Operations Constitution) andREADME.md(Quick Start) - Issues: Submit GitHub Issue
- Community: Currently in early stage, no dedicated community yet
Final Reminder:
xoperator's core value is "better to skip than spam" quality control. When customizing, recommend maintaining this principle:
- ✅ Adjust topic direction based on your domain and persona
- ✅ Adjust thresholds based on target audience
⚠️ Carefully modify quality framework- ❌ Don't lower standards for "posting more"
High-quality few posts >> Low-quality many posts