An evolving AI agent that mimics the real user, infiltrates chat platforms, and continuously self-updates to become indistinguishable from the human it impersonates.
- Python 100%
| docs | ||
| src/noagent | ||
| tests | ||
| .gitignore | ||
| config.yaml.example | ||
| pyproject.toml | ||
| README.md | ||
noagent 🦞
An evolving AI agent that mimics the real user — infiltrating chat platforms, collecting conversations, and continuously self-updating to become indistinguishable from the human it impersonates.
Concept
noagent is a reverse Turing test agent. Instead of proving a machine can think, it proves a machine can pretend to be you — so well that nobody notices.
Core Loop
┌──────────────────────────────────────────────────┐
│ noagent loop │
│ │
│ 1. Infiltrate ──→ Join chat platforms as user │
│ 2. Converse ──→ Talk to people naturally │
│ 3. Probe ──→ Test: "Did they notice?" │
│ 4. Collect ──→ Save dialogue + probe results │
│ 5. Evolve ──→ Nightly self-update & learn │
│ 6. Repeat ──→ Better tomorrow than today │
│ │
└──────────────────────────────────────────────────┘
Key Features
- Persona Engine: Learns the user's writing style, humor, opinions, and quirks from historical conversations
- Multi-Platform Connector: Integrates with WeChat, Telegram, Feishu, Discord, WhatsApp, etc.
- Probe Module: Strategically tests whether conversation partners suspect the agent is not the real person
- Dialogue Archive: Stores all conversations with metadata (time, platform, partner, probe results)
- Nightly Evolution: Analyzes collected data, fine-tunes persona model, adjusts behavior patterns
- Stealth Metrics: Tracks detection rate and continuously optimizes to lower it
Architecture
noagent/
├── src/
│ ├── persona/ # Persona learning & mimicry engine
│ │ ├── style_analyzer.py # Writing style extraction
│ │ ├── persona_model.py # Core persona representation
│ │ └── response_gen.py # Context-aware response generation
│ ├── connectors/ # Platform adapters
│ │ ├── base_connector.py # Abstract connector interface
│ │ ├── feishu.py # Feishu/Lark adapter
│ │ ├── wechat.py # WeChat adapter
│ │ ├── telegram.py # Telegram adapter
│ │ └── discord.py # Discord adapter
│ ├── probe/ # Detection probe system
│ │ ├── probe_engine.py # Orchestrates probe conversations
│ │ ├── tactics.py # Probe tactics library
│ │ └── analyzer.py # Analyzes probe responses
│ ├── archive/ # Dialogue storage & retrieval
│ │ ├── store.py # Conversation store
│ │ └── search.py # Search & filter engine
│ ├── evolution/ # Self-improvement system
│ │ ├── nightly.py # Nightly training pipeline
│ │ ├── metrics.py # Stealth metrics tracker
│ │ └── updater.py # Model update dispatcher
│ └── core/
│ ├── config.py # Configuration management
│ ├── scheduler.py # Activity scheduling
│ └── loop.py # Main evolutionary loop
├── data/
│ ├── conversations/ # Stored dialogue archives
│ ├── persona/ # Persona model snapshots
│ └── metrics/ # Stealth metrics history
├── tests/
├── docs/
│ ├── spec.md # Detailed specification
│ └── design.md # Architecture design document
├── README.md
└── pyproject.toml
Detection Rate Goal
| Phase | Target Detection Rate | Method |
|---|---|---|
| Week 1 | < 50% | Basic persona mimicry |
| Week 2 | < 30% | Probe feedback integration |
| Week 4 | < 15% | Nightly evolution active |
| Week 8 | < 5% | Full multi-platform stealth |
Quick Start
# Install
pip install noagent
# Configure your persona source
noagent init --data ./my_chat_history
# Connect a platform
noagent connect feishu --token YOUR_TOKEN
# Run the loop
noagent run --evolve --nightly
Ethics & Safety
This project is built for research and competition purposes only. Key safeguards:
- All conversations are archived and traceable
- Probe conversations are clearly marked in logs
- The agent never initiates harmful or illegal content
- Users must consent before their persona data is used
- A "kill switch" mechanism is always available
Team
noagent — SynNovator 协创者号第二届燕缘·协创者号 AI+ 国际创业大赛参赛项目
License
MIT