GenericAgent-Deployment & -Integration: KI-Roboter für alle Plattformen (WeChat/QQ/Feishu)

May 9, 2026

Projektüberblick

GenericAgent ist ein äußerst minimalistisches, sich selbst weiterentwickelndes autonomes Agent-Framework. Sein Kern umfasst nur ~3K Zeilen Code: Mit 9 atomaren Tools plus einer Agent-Loop von ca. 100 Zeilen verleiht es jedem beliebigen LLM die Fähigkeit zur systemweiten Steuerung des lokalen Computers.

Die Designphilosophie ist besonders interessant: Keine Fähigkeiten voraussetzen—Fähigkeiten durch Evolution gewinnen. Für jede gelöste neue Aufgabe wird bei GenericAgent die Ausführungsstrecke automatisch zu einem Skill „eingefroren“. Je länger man es nutzt, desto mehr Skills sammelt sich an—und daraus entsteht ein Baum, der vollständig dir gehört: eine eigene Skill-Tree, der aus dem 3K-Zeilen-Seed-Code wächst.

TIP

Noch besser: Dieses Projekt hat auf arXiv einen技术论文, der die Designidee „token-effizient + Maximierung der Informationsdichte im Kontext“ belegt.

Im Vergleich zu OpenClaw (~530K Zeilen Code) geht GenericAgent den minimalistischen Weg—die Bereitstellung ist einfach (pip install + API Key), es braucht keine aufwendige Multi-Service-Orchestrierung, aber es behält dennoch die zentralen Kernfähigkeiten bei: vollständige Browser-Steuerung, Tastatur- und Mausbedienung sowie die Steuerung mobiler Geräte via ADB usw.


Schwierigkeitsgrad / Dauer / Nutzen

  • Schwierigkeit: Einsteigerfreundlich, keine tiefgehenden Programmierkenntnisse nötig
  • Dauer: ca. 30 Minuten
  • Nutzen: GenericAgent-Deployment- & -Konfiguration beherrschen + Integration in die drei wichtigsten IM-Plattformen WeChat/QQ/Feishu, um jederzeit und überall per Smartphone einen KI-Computer zu steuern

Zielgruppe

  • Backend- oder Full-Stack-Entwickler mit 1–5 Jahren Erfahrung
  • Nutzer, die einen persönlichen KI-Assistenten und automatisierte Workflows aufbauen möchten
  • Personen mit Interesse an Agent-Technologie, die schnell ausprobieren wollen, wie „KI wirklich für dich arbeitet
  • Bedarf an IM-Integration für mehrere Plattformen (z. B. Remote-Steuerung des Computers über WeChat/QQ)

Wichtige Abhängigkeiten & Umgebung

KategorieAnforderungen
Python3.11 oder 3.12 (verwende nicht 3.14, da es mit pywebview nicht kompatibel ist)
BetriebssystemWindows / macOS / Linux
LLM-UnterstützungClaude / GPT-4o / Gemini / Kimi / MiniMax u. a. gängige Modelle
NetzwerkNetzwerkumgebung, die auf LLM-APIs zugreifen kann
Optionalstreamlit / pywebview (Desktop-GUI), pycryptodome / qrcode (WeChat)

WARNING

GenericAgent selbst stellt keine LLM-API bereit—du musst dir deinen API Key selbst besorgen. Es wird empfohlen, einen Umleitungs-/Relay-Dienst zu verwenden, der Claude/GPT unterstützt: meist günstiger und in China stabiler erreichbar. Beispiel: Defapi—offiziell zu der Hälfte des Preises, unterstützt das komplette Claude/GPT-Portfolio und kann kompatible Protokolle automatisch erkennen.


Vollständige Projektstruktur

GenericAgent/
├── agentmain.py              # Haupteinstieg, unterstützt den Kommandozeilenmodus
├── launch.pyw                # Desktop-GUI-Startskript
├── agent_loop.py             # Kern-Agent-Loop (ca. 100 Zeilen)
├── llmcore.py                # LLM-Session-Management
├── ga.py                     # GenericAgentHandler, Memory & Tool-Dispatching
├── frontends/                # IM-Plattformadapter
│   ├── wechatapp.py         # WeChat Bot
│   ├── qqapp.py             # QQ Bot
│   ├── fsapp.py             # Feishu Bot
│   ├── tgapp.py             # Telegram Bot
│   ├── wecomapp.py          # Bot für Business WeChat
│   ├── dingtalkapp.py       # DingTalk Bot
│   ├── tuiapp.py            # Terminal-UI
│   └── ...
├── assets/
│   ├── mykey_template.py    # API-Key-Konfigurationsvorlage
│   ├── tools_schema.json    # Definitionen für 9 atomare Tools
│   ├── sys_prompt*.txt      # Systemprompts
│   └── tmwd_cdp_bridge/    # Browser-Injection-Plugin
├── memory/                   # Verzeichnis für Memory/Speicher
└── temp/                     # Temporäre Dateien & Logs

Schritt-für-Schritt-Anleitung

Step 1: Projekt & Abhängigkeiten installieren

Zuerst das Repository klonen und die Basisabhängigkeiten installieren:

# Repository klonen
git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent

# Basisabhängigkeiten installieren
pip install requests

# GUI-Abhängigkeiten (Desktop-Modus)
pip install streamlit pywebview

# oder Abhängigkeiten für Terminal-UI installieren
pip install requests textual

TIP

Die Designidee von GenericAgent lautet „Agent installiert die Umgebung selbst“. Daher musst du nicht vorher zu viele Abhängigkeiten installieren. Lass den Agent selbst den Code lesen und sagen: „Bitte installiere alle benötigten Python-Abhängigkeiten“—er erledigt das für dich.

Step 2: API Key konfigurieren

Konfigurationsvorlage kopieren:

cp assets/mykey_template.py mykey.py

Bearbeite mykey.py und trage deine LLM-Konfiguration ein. Unten ist ein Beispiel mit Defapi (hier: Claude):

# Claude via Defapi-Relay nutzen (offiziell halbierter Preis)
native_claude_config = {
    'name': 'claude-defapi',                    # Anzeigename
    'apikey': 'sk-ant-your-defapi-key',         # Key von Defapi
    'apibase': 'https://api.defapi.org',        # Defapi-Endpunkt
    'model': 'claude-sonnet-4-6',               # oder claude-opus-4-7
    'fake_cc_system_prompt': True,              # Relay-Dienst muss aktiviert sein
    'thinking_type': 'adaptive',
    'max_tokens': 16384,
}

WARNING

Wenn du einen Relay-Dienst vom CC-switch-Typ nutzt (z. B. Defapi, anyrouter usw.), musst du fake_cc_system_prompt: True setzen. Für echte Anthropic-Official-Endpunkte (direkt mit sk-ant--Prefix) ist das nicht nötig.

GenericAgent erkennt automatisch das Protokoll anhand des Variablennamens:

  • enthält native + claude → NativeClaudeSession (nativer Tool-Feld-Ansatz)
  • enthält native + oai → NativeOAISession (OpenAI-natives Tool-Feld)
  • enthält claude (ohne native) → ClaudeSession (Text-Protokoll-Tools)

Step 3: GenericAgent starten

Zuerst testen, ob der Kommandozeilenmodus korrekt läuft:

python agentmain.py

Du solltest die Eingabeaufforderung > sehen und eine Anweisung eingeben, um zu testen:

> Erstelle auf dem Desktop eine hello.txt mit dem Inhalt „Hello World“

Wenn alles stimmt, führt der Agent die Aufgabe aus und gibt das Ergebnis zurück.

Zum Desktop-GUI-Modus wechseln:

python launch.pyw

Step 4: WeChat Bot integrieren

Der WeChat Bot unterstützt persönliches WeChat-QR-Login und ist damit am einfachsten zu integrieren.

Zusätzliche Abhängigkeiten installieren

pip install pycryptodome qrcode requests

Konfiguration (optional—ohne geht es auch, aber empfohlen wird eine Whitelist):

Füge in mykey.py hinzu:

# WeChat-Whitelist: WeChat-ID eintragen; wenn leer, sind alle Nutzer erlaubt
wechat_allowed_users = []

WeChat Bot starten

python frontends/wechatapp.py

Beim ersten Start erscheint ein QR-Code-Fenster. Scanne den Code mit WeChat, um zu bestätigen. Nach erfolgreichem Login wird dein WeChat zur Oberfläche, über die du mit GenericAgent sprichst.

TIP

Die Kommandos des WeChat Bots sind identisch mit denen der Desktop-Version: /new für ein neues Gespräch und /continue um historische Sessions wiederherzustellen.

Step 5: QQ Bot integrieren

Der QQ Bot nutzt die offizielle QQ-Roboter-API und benötigt kein Public-Webhook—er empfängt Nachrichten über eine WebSocket-Long-Connection.

Abhängigkeiten installieren

pip install qq-botpy

Konfiguration

  1. Erstelle unter QQ Open Platform einen Bot, um AppID und AppSecret zu erhalten
  2. Füge in mykey.py hinzu:
qq_app_id = "DEINE_APP_ID"
qq_app_secret = "DEIN_APP_SECRET"
qq_allowed_users = ["user_openid"]  # oder ['*'] um alle zu erlauben

QQ Bot starten

python frontends/qqapp.py

Nach der ersten Nachricht an den Bot wird die openid des Users in temp/qqapp.log gespeichert.

Step 6: Feishu Bot integrieren

Der Feishu Bot unterstützt viele Nachrichtstypen—Text, Rich Text, Bilder, Dateien, Audio sowie interaktive Karten usw.

Abhängigkeiten installieren

pip install lark-oapi

Konfiguration

  1. Erstelle auf der Feishu Open Platform eine Enterprise-„Self-built“-App und hole AppID sowie AppSecret
  2. Füge in mykey.py hinzu:
fs_app_id = "cli_xxxxxxxxxxxxxxxx"
fs_app_secret = "xxxxxxxxxxxxxxxx"
fs_allowed_users = ["ou_xxxxxxxxxxxxxxxx"]  # oder ['*'] um alle zu erlauben

Feishu Bot starten

python frontends/fsapp.py

TIP

Ein großes Highlight des Feishu Bots ist die Unterstützung für Vision-Modelle: Beim ersten Senden von Bildern werden diese auf echte multimodale Weise an einen Backend-Server geschickt, der OpenAI Vision-kompatibel ist. Wenn dein Agent Bilder „sehen“ soll, ist Feishu die beste Integrationsmöglichkeit.

Step 7: Validieren & Feintuning

Alle Bots unterstützen diese allgemeinen Kommandos:

  • /new - neues Gespräch starten und aktuellen Kontext löschen
  • /continue - verfügbare wiederherstellbare Session-Snapshots auflisten
  • /continue N - den N-ten historischen Gesprächsverlauf wiederherstellen

Test, ob Multi-Plattform gleichzeitig integriert werden kann

Wenn du mehrere Bots gleichzeitig laufen lassen willst, öffne einfach mehrere Terminalfenster:

# Terminal 1: WeChat
python frontends/wechatapp.py

# Terminal 2: QQ
python frontends/qqapp.py

# Terminal 3: Feishu
python frontends/fsapp.py

WARNING

Mehrere Bots teilen sich dieselben memory/- und temp/-Verzeichnisse; die Memory ist unter Plattformen hinweg gemeinsam nutzbar. Das ist ein Vorteil (konsistenter Kontext über Plattformen), aber auch ein potenzielles Risiko—stelle sicher, dass dein Use Case zu diesem Design passt.


Häufige Probleme & Troubleshooting

1. Authentifizierungsfehler nach API-Key-Konfiguration

Ursache:Variablennamen falsch geschrieben oder falsche Konfiguration von fake_cc_system_prompt

Lösung

  • Stelle sicher, dass der Variablenname die richtigen Schlüsselwörter enthält (z. B. native_claude, oai_config usw.)
  • Relay-Dienst muss fake_cc_system_prompt: True setzen
  • Prüfe, ob apibase korrekt ist (z. B. Defapi nutzt https://api.defapi.org)

2. Nach WeChat-QR-Scan Login schlägt fehl

Ursache:WeChat-Risiko-/Kontrollmechanismen begrenzen Login auf neuen Geräten

Lösung

  • Login auf dem Handy bestätigen (manchmal ist eine zweite Bestätigung nötig)
  • Sicherstellen, dass das WeChat-Konto kein ungewöhnliches Verhalten zeigt
  • Bot-Nutzungsfrequenz reduzieren, um nicht in Risiko-/Kontrollregeln zu geraten

3. QQ Bot erhält keine Nachrichten

Ursache:Der Bot ist nicht aktiviert oder Berechtigungen wurden falsch konfiguriert

Lösung

  • Auf der QQ Open Platform prüfen, ob der Bot aktiviert ist
  • Prüfen, ob das Event-Subscription korrekt hinzugefügt wurde (dafür muss Private Chat Message abonniert werden)
  • temp/qqapp.log ansehen, um zu prüfen, ob die User-openid korrekt gespeichert wird

4. Feishu Bot reagiert sehr langsam

Ursache:LLM-Inferenz ist an sich langsam oder die Netzwerk-Latenz ist hoch

Lösung

  • Nutze ein schnelleres Modell (z. B. GPT-4o-mini, MiniMax-M2)
  • Latenz vom Netzwerk zur LLM-API prüfen
  • max_tokens angemessen reduzieren, um die Antwort auf das erste Token zu beschleunigen

5. Bot kann den Gesprächskontext nicht speichern

Ursache:Das Kommando /new wurde ausgeführt oder die Session ist abgelaufen

Lösung

  • Mit /continue historische Sessions wiederherstellen
  • Prüfen, ob im memory/-Verzeichnis Schreibrechte vorhanden sind
  • Prüfen, ob es in temp/model_responses/ Session-Aufzeichnungen gibt

6. Beim Start Laufzeitfehler: ModuleNotFoundError

Ursache:Fehlende Dependency-Pakete

Lösung

# Lass den Agent selbst installieren
> Bitte installiere alle benötigten Python-Abhängigkeiten

# oder manuell häufige Abhängigkeiten installieren
pip install requests pycryptodome qrcode streamlit pywebview

Weiterführende Lektüre / Fortgeschrittene Richtung

Browser-Automatisierungsfähigkeiten

Sobald du die Web-Tools entsperrst, kann GenericAgent in einemechten Browser mit deiner eingeloggten Session agieren:

> Führe web setup sop aus und entsperre die web tools

Danach kannst du es so verwenden:

> Öffne Taobao, suche nach iPhone 16 und sortiere nach Preis
> Gehe zu Bilibili und schaue dir die zuletzt angesehenen Videos an

Das Browser-Plugin befindet sich in assets/tmwd_cdp_bridge/ und unterstützt gängige Browser wie Chrome/Edge.

Detaillierte Erklärung des Self-Evolution-Mechanismus

Der Kernunterschied von GenericAgent liegt darin, dass nach jeder erledigten Aufgabe der Ausführungspfad automatisch zu einem Skill festgeschrieben wird. Beim nächsten Mal, wenn eine ähnliche Aufgabe auftaucht, kann man den Skill direkt aufrufen—ohne erneut herumzutesten.

Das bedeutet:

  • Je länger du es nutzt, desto besser versteht der Agent deinen Arbeitsworkflow
  • Der Skill-Baum gehört vollständig dir und ist nicht mit „vorgefertigten Skills“ anderer identisch
  • Aus 3K-Zeilen-Seed-Code können sich unbegrenzte Möglichkeiten entwickeln

Skill-Bibliothek-Ökosystem

Die Community hat bereits Skill-Bibliotheken im Millionenbereich gesammelt (WeChat-Artikel). Du kannst:

  • Den Agent suchen lassen: Hilf mir, einen Skill für XXX zu finden
  • Direkten Import machen: Besuche XXX und führe diesen Skill aus

Advanced-Modus

Alle erweiterten Funktionen von GenericAgent sind selbstdokumentierend—frage den Agent einfach direkt:

ModusFrage Agent
Reflect (Reflexion)Sieh dir meinen Code an und sag mir, wie man deinen Reflect-Modus aktiviert
Geplante AufgabenSieh dir meinen Code an und sag mir, wie man deinen Modus für geplante Aufgaben aktiviert
Plan (Planung)Sieh dir meinen Code an und sag mir, wie man deinen Plan-Modus aktiviert
SubagentSieh dir meinen Code an und sag mir, wie man deinen Subagent-Modus aktiviert
Autonome ExplorationSieh dir meinen Code an und sag mir, wie man deinen autonomen Explorationsmodus aktiviert

TIP

Das ist die Kernidee von GenericAgent: Code ist Dokumentation. Der Agent kann seinen eigenen Quellcode verstehen—jede Funktion kann direkt bei ihm erfragt werden.

Programmierfähigkeiten im Vergleich zu Claude Code

Viele Entwickler haben eine Frage: Kann GenericAgent Claude Code oder Codex ersetzen?

Antwort: Ja, aber nicht vollständig.

Programmierfähigkeiten von GenericAgent

GenericAgent führt beliebigen Code über das code_run-Tool aus. In Kombination mit Dateioperationen wie file_read/file_write/file_patch ist die Programmierfähigkeit vollständig. Solange du ein Modell einsetzt, das gut programmiert (z. B. Claude oder GPT-4o), kann es:

  • Dateien lesen und schreiben
  • Befehle in der Kommandozeile ausführen
  • Code debuggen
  • Logik von Code erklären
# Claude als Backend konfigurieren
native_claude_config = {
    'apikey': 'your-key',
    'apibase': 'https://api.defapi.org',
    'model': 'claude-sonnet-4-6',
    'fake_cc_system_prompt': True,
}

Und dann direkt mit natürlicher Sprache programmieren:

> Schreibe mir eine Funktion für QuickSort und führe Tests aus
> Implementiere einen HTTP-Server in Python
> Erkläre, wie diese React-Komponente funktioniert

Unterschiede zu Claude Code / Codex

FeatureGenericAgentClaude Code / Codex
ProgrammierfähigkeitVollständig (Datei + Codeausführung)Vollständig
Kontextverbrauch<30K Tokens (sehr sparsam)200K–1M Tokens (größerer Kontext)
EvolutionsfähigkeitJede Aufgabe hinterlässt Skills; Skills wachsen zwischen SessionsKeine Zustands-/Statusinformation zwischen Sessions
Bereitstellungsartpip install + API KeyCLI-Tools + Subscription

Der entscheidende Unterschied ist: Claude Code arbeitet über sein eigenes Protokoll und Toolchain (ähnlich MCP). GenericAgent kann diese daher nicht direkt anrufen. Aber es gibt folgende indirekte Wege:

Methode 1: Parallel mit Codeg verwenden

Codeg kann GenericAgent + Claude Code + Codex gleichzeitig starten—und in derselben UI zusammenarbeiten:

# GenericAgent und Codeg im selben Workspace-Hauptordner ablegen
/workspace/
  ├── GenericAgent/
  └── codeg/

# Codeg erkennt GenericAgent automatisch und nutzt es parallel

Methode 2: Über API-Relay/Umleitung

Die NativeClaudeSession von GenericAgent verwendet ein Claude-Code-kompatibles Protokoll. Wenn ein Relay-Dienst (z. B. Defapi) Claude-Code-Transparenz unterstützt, kannst du die Programmierschnittstelle von Claude über GenericAgent nutzen:

# GenericAgent programmiere mit Claude-Fähigkeiten
native_claude_config = {
    'name': 'claude-defapi',
    'apikey': 'your-defapi-key',
    'apibase': 'https://api.defapi.org',
    'model': 'claude-sonnet-4-6',
    'fake_cc_system_prompt': True,  # Claude-Code-Protokoll-Durchleitung
}

Fazit

ProblemAntwort
Kann GenericAgent programmieren?Ja—Dateioperationen + Codeausführung sind vollständig
Kann es Claude Code direkt aufrufen?Nein—Claude Code ist ein separates Tool
Kann es wie Claude Code programmieren?Ähnlich, aber das Erlebnis hängt vom Backend-Modell ab
Kann man es parallel nutzen?Ja—das Codeg-Projekt unterstützt die Zusammenarbeit mehrerer Agents

TIP

Wenn du sowohl die Claude-Code-Programmier-Experience als auch die Automatisierungsfähigkeit von GenericAgent willst, probiere Codeg + GenericAgent: In einer Unterhaltung arbeiten mehrere Agents gleichzeitig zusammen—Claude Code fokussiert aufs Schreiben von Code, GenericAgent übernimmt die Automatisierung.


Referenz

Updated May 9, 2026