lsdefine/GenericAgentPublic

Self-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption

AI summary: A minimal, self-evolving autonomous agent framework built on roughly 3K lines of seed code.

Stars
13.7K
+19 today
Forks
1.6K
Watchers
36
Open issues
113
Open PRs
13
Contributors
~74
Commits
1.3K
Branches
1

PythonMITCreated Jan 16, 2026Last push todayLatest release desktop-portable-v0.1.4+75 stars this week+84 this month

Star history

since Mar 8, 2026
05K10KMar 2026Apr 2026Jun 2026Aug 2026
13.7K stars as of Aug 7, 2026, tracked back to Mar 8, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 3 commits2026-01-17: 1 commit2026-01-18: 1 commit2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 1 commit2026-01-29: 6 commits2026-01-30: 1 commit2026-01-31: 1 commit2026-02-01: 9 commits2026-02-02: 3 commits2026-02-03: 3 commits2026-02-04: 2 commits2026-02-05: 2 commits2026-02-06: 3 commits2026-02-07: 1 commit2026-02-08: 2 commits2026-02-09: 9 commits2026-02-10: 1 commit2026-02-11: 1 commit2026-02-12: 5 commits2026-02-13: 6 commits2026-02-14: 5 commits2026-02-15: 4 commits2026-02-16: 5 commits2026-02-17: 2 commits2026-02-18: 3 commits2026-02-19: 3 commits2026-02-20: 2 commits2026-02-21: 1 commit2026-02-22: 6 commits2026-02-23: 3 commits2026-02-24: 5 commits2026-02-25: 2 commits2026-02-26: 8 commits2026-02-27: 8 commits2026-02-28: 2 commits2026-03-01: 1 commit2026-03-02: 7 commits2026-03-03: 1 commit2026-03-04: 5 commits2026-03-05: 2 commits2026-03-06: 6 commits2026-03-07: 3 commits2026-03-08: 1 commit2026-03-09: 3 commits2026-03-10: 2 commits2026-03-11: 4 commits2026-03-12: 4 commits2026-03-13: 11 commits2026-03-14: 13 commits2026-03-15: 1 commit2026-03-16: 3 commits2026-03-17: 1 commit2026-03-18: 1 commit2026-03-19: 1 commit2026-03-20: 1 commit2026-03-21: 2 commits2026-03-22: 6 commits2026-03-23: 7 commits2026-03-24: 6 commits2026-03-25: 5 commits2026-03-26: 3 commits2026-03-27: 5 commits2026-03-28: 2 commits2026-03-29: 12 commits2026-03-30: 8 commits2026-03-31: 3 commits2026-04-01: 5 commits2026-04-02: 1 commit2026-04-03: 8 commits2026-04-04: 1 commit2026-04-05: 0 commits2026-04-06: 4 commits2026-04-07: 5 commits2026-04-08: 3 commits2026-04-09: 1 commit2026-04-10: 4 commits2026-04-11: 8 commits2026-04-12: 4 commits2026-04-13: 6 commits2026-04-14: 10 commits2026-04-15: 14 commits2026-04-16: 13 commits2026-04-17: 8 commits2026-04-18: 11 commits2026-04-19: 12 commits2026-04-20: 9 commits2026-04-21: 5 commits2026-04-22: 7 commits2026-04-23: 9 commits2026-04-24: 13 commits2026-04-25: 10 commits2026-04-26: 10 commits2026-04-27: 9 commits2026-04-28: 9 commits2026-04-29: 6 commits2026-04-30: 0 commits2026-05-01: 6 commits2026-05-02: 9 commits2026-05-03: 5 commits2026-05-04: 1 commit2026-05-05: 6 commits2026-05-06: 5 commits2026-05-07: 12 commits2026-05-08: 11 commits2026-05-09: 13 commits2026-05-10: 0 commits2026-05-11: 8 commits2026-05-12: 2 commits2026-05-13: 11 commits2026-05-14: 4 commits2026-05-15: 8 commits2026-05-16: 24 commits2026-05-17: 12 commits2026-05-18: 11 commits2026-05-19: 7 commits2026-05-20: 12 commits2026-05-21: 21 commits2026-05-22: 2 commits2026-05-23: 9 commits2026-05-24: 7 commits2026-05-25: 8 commits2026-05-26: 17 commits2026-05-27: 50 commits2026-05-28: 36 commits2026-05-29: 10 commits2026-05-30: 4 commits2026-05-31: 2 commits2026-06-01: 6 commits2026-06-02: 10 commits2026-06-03: 0 commits2026-06-04: 8 commits2026-06-05: 19 commits2026-06-06: 13 commits2026-06-07: 0 commits2026-06-08: 7 commits2026-06-09: 8 commits2026-06-10: 11 commits2026-06-11: 9 commits2026-06-12: 6 commits2026-06-13: 2 commits2026-06-14: 5 commits2026-06-15: 6 commits2026-06-16: 9 commits2026-06-17: 19 commits2026-06-18: 38 commits2026-06-19: 27 commits2026-06-20: 3 commits2026-06-21: 4 commits2026-06-22: 19 commits2026-06-23: 4 commits2026-06-24: 5 commits2026-06-25: 1 commit2026-06-26: 10 commits2026-06-27: 2 commits2026-06-28: 3 commits2026-06-29: 0 commits2026-06-30: 2 commits2026-07-01: 0 commits2026-07-02: 1 commit2026-07-03: 0 commits2026-07-04: 1 commit2026-07-05: 5 commits2026-07-06: 5 commits2026-07-07: 9 commits2026-07-08: 2 commits2026-07-09: 1 commit2026-07-10: 10 commits2026-07-11: 2 commits2026-07-12: 1 commit2026-07-13: 7 commits2026-07-14: 4 commits2026-07-15: 1 commit2026-07-16: 1 commit2026-07-17: 2 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 4 commits2026-07-21: 1 commit2026-07-22: 5 commits2026-07-23: 3 commits2026-07-24: 0 commits2026-07-25: 2 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 2 commits2026-07-29: 5 commits2026-07-30: 2 commits2026-07-31: 2 commits2026-08-01: 0 commits2026-08-02: 2 commits2026-08-03: 5 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 3 commits2026-08-07: 0 commits2026-08-08: 0 commits
1,133 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    13,690 stars

  • Very active

    1,133 commits in 52 weeks

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What GenericAgent does

GenericAgent is an ultra-lightweight autonomous agent framework designed to grow its own capabilities over time. Starting with a tiny seed codebase of just nine atomic tools and a ~100-line event loop, it is capable of controlling computers and browsers autonomously. Its defining characteristic is its self-evolution mechanism, which automatically crystallizes each solved task into a personal skill tree, allowing the agent to recursively improve itself. It can bootstrap its entire environment, proving its autonomy by handling its own Git initialization and repository management without human intervention.

GenericAgent is targeted at AI researchers, automation enthusiasts, and developers interested in minimal, self-improving LLM systems. It requires Python and a foundational understanding of autonomous agents.

  • Self-Evolution Mechanism: Automatically converts successful task completions into reusable skills appended to its personal skill tree.
  • Minimalist Architecture: Operates on a highly compact codebase of roughly 3,000 lines and a 100-line core loop.
  • Atomic Toolset: Bootstraps from just nine fundamental tools to build increasingly complex capabilities.
  • Complete Autonomous Control: Capable of full desktop and browser automation without requiring manual guidance.
  • Recursive Improvement: Leverages its expanding skill tree to solve progressively harder problems it couldn't handle initially.
  • Self-Bootstrapping Proof: Demonstrates its autonomy by managing its own Git repository and commit history.

Where teams use it

Desktop task automation

Users can command the agent to perform complex computer tasks, like organizing files or scraping data, which it learns to optimize over time.

Autonomous software development

Developers can let the agent manage an entire repository, including initializing Git, writing code, and committing changes autonomously.

Agentic framework research

AI researchers can study the minimal 3K-line codebase to understand how recursive self-improvement algorithms function in practice.

Dynamic skill acquisition

Operators can present the agent with a novel problem, knowing it will permanently memorize the solution for future encounters.

Getting started: Please refer to the technical report and official website for detailed installation and usage instructions.

README

main branch
GenericAgent Banner

GenericAgent

A Minimal, Self-Evolving Autonomous Agent Framework

~3K lines of seed code · 9 atomic tools · ~100-line Agent Loop

Official Website Technical Report Reproduction Repo Tutorial Sophub

Trendshift

English · 中文

📌 Official: GitHub + https://gaagent.ai only. DintalClaw is the sole authorized commercial partner; others are not affiliated.


🌟 Overview

GenericAgent is a minimal, self-evolving autonomous agent framework. Its core is just ~3K lines of code. Through 9 atomic tools + a ~100-line Agent Loop, it grants any LLM system-level control over a local computer — covering browser, terminal, filesystem, keyboard/mouse input, screen vision, and mobile devices (ADB).

Design philosophy — don't preload skills, evolve them.

Every time GenericAgent solves a new task, it automatically crystallizes the execution path into a reusable Skill. The longer you use it, the more skills accumulate — forming a personal skill tree grown entirely from 3K lines of seed code.

🤖 Self-Bootstrap Proof — Everything in this repository, from installing Git and running git init to every commit message, was completed autonomously by GenericAgent. The author never opened a terminal once.

📑 Table of Contents


📋 Key Features

Feature Description
🧬 Self-Evolving Automatically crystallizes each task into a Skill. Capabilities grow with every use, forming your personal skill tree.
🪶 Minimal Architecture ~3K lines of core code. Agent Loop is ~100 lines. No complex dependencies, zero deployment overhead.
Strong Execution TMWebdriver injects into a real browser (preserving login sessions). 9 atomic tools take direct control of the system.
🔌 High Compatibility Supports Claude / Gemini / Kimi / MiniMax and other major models. Cross-platform.
💰 Token Efficient <30K context window — a fraction of the 200K–1M other agents consume. Less noise, fewer hallucinations, higher success rate, lower cost.

🎯 Demo Showcase

🛡️ Real-Browser CAPTCHA Survival 🌐 Autonomous Web Exploration
Discord hCaptcha passed in real browser Web Exploration
While configuring a Discord bot, an hCaptcha "Are you human?" challenge pops up mid-task — GA's real browser session passes it and the task continues. See Browser Realness. Autonomously browses and periodically summarizes web content.
🧋 Food Delivery Order 📈 Quantitative Stock Screening
Order Tea Stock Selection
"Order me a milk tea" — navigates the delivery app, selects items, completes checkout. "Find GEM stocks with EXPMA golden cross, turnover > 5%" — quantitative screening.
💰 Expense Tracking 💬 Batch Messaging
Alipay Expense WeChat Batch
"Find expenses over ¥2K in the last 3 months" — drives Alipay via ADB. Sends bulk WeChat messages, fully driving the WeChat client.

🚀 Quick Start

⚠️ Python version: use Python 3.11 or 3.12. Do not use Python 3.14 — it is incompatible with pywebview and a few other GA dependencies.

📖 Detailed installation guide: installation.md · installation_zh.md(中文)

For LLM Agents

Fetch the installation guide and follow it:

curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/refs/heads/main/docs/installation.md

For Humans

Method 1 — Clone & install (recommended)

git clone https://github.com/lsdefine/GenericAgent.git && cd GenericAgent
uv venv && uv pip install -e ".[ui]"
cp mykey_template_en.py mykey.py   # fill in your LLM API key

Dependencies are deliberately tiered: the agent core needs only requests, plus four lightweight packages (beautifulsoup4, bottle, simple-websocket-server, aiohttp) for TMWebdriver's local server. The [ui] extra pulls in frontend libraries (Streamlit, prompt_toolkit/rich for the TUI, …) — install it for the bundled UIs, or skip it entirely and drive the agent headless. No Playwright, no LangChain, no browser binaries to download.

Then launch:

python frontends/tui_v3.py   # Terminal UI (recommended)
python launch.pyw            # Streamlit web UI

Method 2 — One-line installer (convenience)

Sets up a self-contained directory with an isolated Python environment, Git, and a ready-to-run package. The script is in assets/ if you'd like to read it first.

Windows PowerShell

powershell -ExecutionPolicy Bypass -c "$env:GLOBAL=1; irm https://raw.githubusercontent.com/lsdefine/GenericAgent/main/assets/ga_install.ps1 | iex"

Linux / macOS

GLOBAL=1 bash -c "$(curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/main/assets/ga_install.sh)"

💡 GenericAgent grows its environment through the Agent itself — don't pre-install everything. See Unlocking Advanced Capabilities below.


💻 Usage

Frontends

Terminal UI (recommended)

A lightweight, scrollback-first terminal interface built on prompt_toolkit + rich. Supports multiple concurrent sessions and real-time streaming.

python frontends/tui_v3.py
⚠️ Windows TUI Troubleshooting

TUI rendering on Windows can be flaky depending on terminal + font. Common causes:

  1. prompt_toolkit / rich are not on the latest version — pip install -U prompt_toolkit rich first.
  2. PowerShell / cmd ship with terminals that have rough Unicode + key-binding support. Prefer Git Bash on Windows, which is much better behaved.
  3. If it still looks broken, ask GA itself to fix it:

    "My experience using frontends/tui_v3.py in PowerShell / cmd / Git Bash on Windows is very poor — lots of incompatibility. Please refer to Claude Code's best practices for the Windows terminal and fix all font and rendering incompatibilities."

Streamlit UI

python launch.pyw

Bot Interface (IM)

GenericAgent also supports IM frontends such as Telegram, Discord, and Lark.

Platform Command
Telegram python frontends/tgapp.py
Discord python frontends/dcapp.py
Lark / Feishu python frontends/fsapp.py

WeChat, QQ, WeCom and DingTalk are also supported — see the Chinese section below. For detailed setup, ask GenericAgent itself.


🔓 Unlocking Advanced Capabilities

In GA, advanced capabilities are unlocked by instructing the agent, not by reading docs or installing extras. Each instruction below makes GA read its pre-installed SOPs (battle-tested playbooks in its memory), install whatever is missing, adapt to your OS, and persist the result into its own memory.

Capability Just tell GA
🌐 Web automation "Set up your web automation capability." — GA guides you through the one manual step: dragging the bundled Chrome extension into chrome://extensions.
🔤 OCR "Set up your OCR capability with rapidocr and save it to memory."
👁️ Vision "Set up your vision capability from the template in memory/." — GA copies the template, wires it to your existing LLM keys, and self-tests.
🖱️ Computer use "Probe this system and set up your computer-use capability."

💡 About language: the pre-installed SOPs are written in Chinese — GA reads them natively, so this never blocks you. If you prefer an English knowledge base, just say: "Read your pre-installed SOPs and rewrite them in English (keep code, paths and error strings verbatim)."

🌍 About platforms: the SOPs were honed on Windows, but cross-platform adaptation is itself a GA task — on macOS/Linux, GA swaps in the platform equivalents (window enumeration, input control, screenshots) on its own. Same self-evolution principle.


🧠 Architecture

GenericAgent accomplishes complex tasks through Layered Memory × Minimal Toolset × Autonomous Execution Loop, continuously accumulating experience during execution.

1️⃣ Layered Memory System

Memory crystallizes throughout task execution, letting the agent build stable, efficient working patterns over time.

Layer Name Description
L0 Meta Rules Core behavioral rules and system constraints
L1 Insight Index Minimal memory index for fast routing and recall
L2 Global Facts Stable knowledge accumulated over long-term operation
L3 Task Skills / SOPs Reusable workflows for completing specific task types
L4 Session Archive Archived task records distilled from finished sessions for long-horizon recall

2️⃣ Autonomous Execution Loop

Perceive environment state → Task reasoning → Execute tools → Write experience to memory → Loop

The entire core loop is just ~100 lines of code (agent_loop.py).

3️⃣ Minimal Toolset

GenericAgent provides only 9 atomic tools, forming the foundational capabilities for interacting with the outside world.

Tool Function
code_run Execute arbitrary code (Python / PowerShell)
file_read Read files
file_write Write / create / overwrite files
file_patch Patch / modify files
web_scan Perceive web content
web_execute_js Control browser behavior
ask_user Human-in-the-loop confirmation
update_working_checkpoint (memory) Short-term working notepad
start_long_term_update (memory) Distill long-term memory

4️⃣ Capability Extension

Capable of dynamically creating new tools.

Via code_run, GenericAgent can dynamically install Python packages, write new scripts, call external APIs, or control hardware at runtime — crystallizing temporary abilities into permanent tools.

GenericAgent Workflow
GenericAgent Workflow Diagram

🧬 Self-Evolution Mechanism

This is what fundamentally distinguishes GenericAgent from every other agent framework.

[New Task]
   │
   ▼
[Autonomous Exploration]   ─►  install deps · write scripts · debug · verify
   │
   ▼
[Crystallize into Skill]   ─►  write to memory layer
   │
   ▼
[Direct Recall on Next Similar Task]
What you say First time Every time after
"Read my WeChat messages" Install deps → reverse DB → write read script → save Skill one-line invoke
"Give me a morning digest of Hacker News" Write scraper → build digest → schedule daily run → save Skill one-line invoke
"Monitor stocks and alert me" Install mootdx → build selection flow → configure cron → save Skill one-line start
"Send this file via Gmail" Configure OAuth → write send script → save Skill ready to use

After a few weeks, your agent instance will have a skill tree no one else in the world has — all grown from 3K lines of seed code.


📊 Comparison

Feature GenericAgent OpenClaw Claude Code
Codebase ~3K lines ~530,000 lines Open-sourced (large)
Deployment pip install + API Key Multi-service orchestration CLI + subscription
Browser Control Real browser (session preserved) Sandbox / headless browser Via MCP plugin
OS Control Mouse/kbd, vision, ADB Multi-agent delegation File + terminal
Self-Evolution Autonomous skill growth Plugin ecosystem Stateless between sessions
Out of the Box Few core files + starter skills Hundreds of modules Rich CLI toolset

📈 Evaluation

📂 Full evaluation datasets and results: JinyiHan99/GA-Technical-Report

We evaluate GenericAgent across five dimensions:

# Dimension Question Benchmarks
1 Task Completion & Token Efficiency Can GA complete hard tasks more cheaply than leading agents? SOP-Bench, Lifelong AgentBench, RealFin-Benchmark
2 Tool-Use Efficiency Can a minimal atomic toolset solve what specialized toolsets solve, with less overhead? Tool Efficiency Benchmark (11 simple + 5 long-horizon)
3 Memory System Effectiveness Does condensed hierarchical memory beat full/redundant memory and embedding-based retrievers? SOP-Bench (dangerous goods), LoCoMo, 20-skill stress test
4 Self-Evolution Capability Can the agent distill experience into reusable SOPs and code, without intervention? 9-round LangChain longitudinal study, 8-task cross-task web benchmark
5 Web Browsing Capability Does density-driven design survive the open web? WebCanvas, BrowseComp-ZH, Custom Tasks (22)

Baselines across these dimensions include Claude Code, OpenAI CodeX, and OpenClaw, evaluated under Claude Sonnet 4.6, Claude Opus 4.6, GPT-5.4, and MiniMax M2.7 backbones.

Tool-use efficiency radar
Tool-use efficiency radar. GA dominates token, request, and tool-call axes while preserving quality across four task dimensions.
Cross-task self-evolution convergence
Cross-task self-evolution. Second- and third-run GA executions converge to a stable low-cost regime across eight web tasks, while OpenClaw shows no such convergence.

Browser Realness of GA Web Tools (TMWebdriver)

GA web tools are powered by TMWebdriver — a local WebSocket server plus a Chrome extension — running through a real, persistent Chrome/Chromium session rather than a disposable headless sandbox, preserving cookies, login state, extensions, GPU/WebGL behavior, and normal browser-session fingerprints.

Detection Service / Signal Vanilla Headless Automation GA Web Tools Notes
SannySoft headless test Often detected ✅ 56/56 passed bot.sannysoft.com
bot.incolumitas.com Commonly fails webdriver / CDP checks ✅ 36/36 passed WEBDRIVER, SELENIUM_DRIVER, webDriverAdvanced all OK
BrowserScan bot detection Often abnormal ✅ Normal browserscan.net
Device & Browser Info bot test Multiple bot flags ✅ Human / isBot=false deviceandbrowserinfo.com
FingerprintJS bot detection demo Often detected ✅ Passed Demo flow completed without bot verdict
reCAPTCHA v3 demo Low bot-like score ✅ 0.9 human-like score Score-based risk signal; 0.9 is above typical production thresholds

For reCAPTCHA v3, 0.9 is not a "checkbox solved" result; it is the high-confidence human-like score returned by the risk model, typically sufficient to avoid extra challenges in production flows.


📅 Roadmap & News

  • 2026-05-23 — 🆕 TUI v3 released (frontends/tui_v3.py). Block-based scrollback with proper resize reflow, per-terminal color profile for cross-terminal parity, and feature parity with v2.
  • 2026-05-18 — 🆕 Morphling mode. Project-level skill absorption — extract goal + tests from any external repo, then decide per component: call, rewrite, or discard. See memory/morphling_sop.md.
  • 2026-05-17 — 🆕 Goal Hive mode. Multi-worker cooperative Goal mode — BBS-coordinated master/workers running long-horizon objectives in parallel. See memory/goal_hive_sop.md.
  • 2026-05-15 — 🖥️ Desktop GUI released. One-line installs ship a ready-to-run desktop app (frontends/GenericAgent.exe). Developers launch via python launch.pyw.
  • 2026-05-14 — 🆕 Conductor sub-agent orchestration. Spawn, supervise, and auto-clean parallel sub-agents; first-class delegation primitives complementing /btw side-questions.
  • 2026-05-12 — 🆕 TUI v2 released (frontends/tuiapp_v2.py). Refined Textual frontend with image-paste folding, file paste, block-delete, Ctrl+C copy, history navigation, and /llm / /export / /continue pickers.
  • 2026-05-08 — 🆕 Goal mode (reflect/goal_mode.py). Time-budget-driven self-driven loop — "keep optimizing X for N hours" with no premature delivery.
  • 2026-04-21 — 📄 Technical Report on arXivGenericAgent: A Token-Efficient Self-Evolving LLM Agent via Contextual Information Density Maximization.
  • 2026-04-11 — Introduced L4 session archive memory and scheduler cron integration.
  • 2026-03-23 — Personal WeChat supported as a bot frontend.
  • 2026-03-10Released million-scale Skill Library (Chinese).
  • 2026-03-08Released "Dintal Claw" — a GenericAgent-powered government-affairs bot (Chinese).
  • 2026-03-01Featured by Jiqizhixin (机器之心) (Chinese).
  • 2026-01-16 — GenericAgent V1.0 public release.

⭐ Community & Support

If this project helped you, please consider leaving a Star! 🙏

🚩 Friendly Links

Thanks to the LinuxDo community for the support!

LinuxDo

Community GUIs (independent open-source projects):

  • chilishark27/ga-manager
  • wangjc683/galley — Out-of-the-box local agent workbench with a bundled GA runtime (CPython 3.11 + deps), native GUI/CLI, multi-session + Project orchestration, local-first.
  • FroStorM/A3Agent
  • Fwind43/GenericAgent-Admin — Go + React desktop admin panel: service lifecycle management, native chat, Goal mode, BBS team board, file editor, model config wizard, TMWebDriver monitor, self-update, and Windows tray/desktop-pet integration.

📄 License

Distributed under the MIT License. See LICENSE for full text.

Disclaimer: The official GenericAgent channels are this GitHub repository and https://gaagent.ai. DintalClaw is currently the only officially authorized commercial partner; any other third-party website, organization, or individual using the GenericAgent name is not official unless explicitly listed here.


🌟 项目简介

GenericAgent 是一个极简、可自我进化的自主 Agent 框架。核心仅 ~3K 行代码,通过 9 个原子工具 + ~100 行 Agent Loop,赋予任意 LLM 对本地计算机的系统级控制能力,覆盖浏览器、终端、文件系统、键鼠输入、屏幕视觉及移动设备(ADB)。

设计哲学 —— 不预设技能,靠进化获得能力。

每解决一个新任务,GenericAgent 就将执行路径自动固化为 Skill,供后续直接调用。使用时间越长,沉淀的技能越多,形成一棵完全属于你、从 3K 行种子代码生长出来的专属技能树。

🤖 自举实证 — 本仓库的一切,从安装 Git、git init 到每一条 commit message,均由 GenericAgent 自主完成。作者全程未打开过一次终端。

📑 目录


📋 核心特性

特性 说明
🧬 自我进化 每次任务自动沉淀 Skill,能力随使用持续增长,形成专属技能树
🪶 极简架构 ~3K 行核心代码,Agent Loop 约百行,无复杂依赖,部署零负担
强执行力 注入真实浏览器(保留登录态),9 个原子工具直接接管系统
🔌 高兼容性 支持 Claude / Gemini / Kimi / MiniMax 等主流模型,跨平台运行
💰 极致省 Token 上下文窗口不到 30K,是其他 Agent(200K–1M)的零头;噪声更少、幻觉更低、成功率更高,成本低一个数量级

🎯 实例展示

🧋 外卖下单 📈 量化选股
外卖下单 量化选股
"Order me a milk tea" — 自动导航外卖 App,选品并完成结账 "Find GEM stocks with EXPMA golden cross, turnover > 5%" — 量化条件筛股
🌐 自主网页探索 💰 支出追踪
网页探索 支付宝支出
自主浏览并定时汇总网页信息 "查找近 3 个月超 ¥2K 的支出" — 通过 ADB 驱动支付宝
💬 批量消息
微信批量
批量发送微信消息,完整驱动微信客户端

🚀 快速开始

⚠️ Python 版本: 推荐使用 Python 3.11 或 3.12请不要使用 Python 3.14,与 pywebview 及部分依赖不兼容。

📖 详细安装指南:installation_zh.md(中文) · installation.md (English)

给 LLM Agent 看的

获取安装指南并照做:

curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/refs/heads/main/docs/installation_zh.md

给人类用户看的

方法一 — 一键安装 (推荐)

一键安装会自动准备独立 Python 环境、Git、项目文件和桌面端,不污染系统环境。

Windows PowerShell

powershell -ExecutionPolicy Bypass -c "irm http://fudankw.cn:9000/files/ga_install.ps1 | iex"

Linux / macOS

curl -fsSL http://fudankw.cn:9000/files/ga_install.sh | bash

安装完成后启动:

  • Windows — 双击 frontends/GenericAgent.exe
  • Linux / macOS — 在安装目录运行 python launch.pyw

方法二 — Python 安装 (开发者)

git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent
uv venv
uv pip install -e ".[ui]"          # 核心 + UI 依赖
cp mykey_template.py mykey.py      # 填入你的 LLM API Key
python launch.pyw

💡 GenericAgent 更推荐由 Agent 在使用中自举环境,而不是预先手动装完整依赖。

📖 完整引导流程见 docs/GETTING_STARTED.md 📖 新手图文版:飞书文档 📘 完整入门教程(Datawhale 出品):Hello GenericAgent · GitHub


💻 使用方式

前端启动

桌面端

一键安装自带桌面端(Windows),双击:

frontends/GenericAgent.exe

终端 UI

基于 Textual 的轻量键盘驱动界面。支持多会话并发、实时流式输出,有终端就能跑。

python frontends/tuiapp_v2.py
⚠️ Windows 上 TUI 显示异常的排查思路
  1. textual 版本太旧,先 pip install -U textual
  2. PowerShell / cmd 自带终端对 Unicode 和键位的支持比较糟糕,Windows 上推荐用 Git Bash,体验明显更稳;
  3. 仍然显示异常时,可以让 GA 自己修一遍,参考 Prompt:

    "我在 Windows 的 PowerShell / cmd / Git Bash 中使用 frontends/tuiapp_v2.py 体验非常差,出现了一堆不兼容问题。请参考 Claude Code 在 Windows 终端的最佳配置,把所有字体和显示不兼容的问题修一遍。"

Streamlit UI

python launch.pyw

Bot 接口(IM)

GenericAgent 支持 Telegram、Discord、微信、QQ、飞书 / Lark、企业微信、钉钉等 IM 前端。

平台 启动命令
Telegram python frontends/tgapp.py
Discord python frontends/dcapp.py
微信 python frontends/wechatapp.py
QQ python frontends/qqapp.py
飞书 / Lark python frontends/fsapp.py
企业微信 python frontends/wecomapp.py
钉钉 python frontends/dingtalkapp.py

详细配置直接问 GenericAgent。


🧠 架构设计

GenericAgent 通过 分层记忆 × 最小工具集 × 自主执行循环 完成复杂任务,并在执行过程中持续积累经验。

1️⃣ 分层记忆系统

记忆在任务执行过程中持续沉淀,使 Agent 逐步形成稳定且高效的工作方式。

层级 名称 说明
L0 元规则(Meta Rules) Agent 的基础行为规则和系统约束
L1 记忆索引(Insight Index) 极简索引层,用于快速路由与召回
L2 全局事实(Global Facts) 在长期运行过程中积累的稳定知识
L3 任务 Skills / SOPs 完成特定任务类型的可复用流程
L4 会话归档(Session Archive) 从已完成任务中提炼出的归档记录,用于长程召回

2️⃣ 自主执行循环

感知环境状态 → 任务推理 → 调用工具执行 → 经验写入记忆 → 循环

整个核心循环仅 约百行代码agent_loop.py)。

3️⃣ 最小工具集

GenericAgent 仅提供 9 个原子工具,构成与外部世界交互的基础能力。

工具 功能
code_run 执行任意代码(Python / PowerShell)
file_read 读取文件
file_write 写入 / 创建 / 覆盖文件
file_patch 修改文件
web_scan 感知网页内容
web_execute_js 控制浏览器行为
ask_user 人机协作确认
update_working_checkpoint (记忆) 短期工作记事板
start_long_term_update (记忆) 提炼长期记忆

4️⃣ 能力扩展机制

具备动态创建新工具的能力。

通过 code_run,GenericAgent 可在运行时动态安装 Python 包、编写新脚本、调用外部 API 或控制硬件,将临时能力固化为永久工具。

GenericAgent 工作流程
GenericAgent 工作流程图

🧬 自我进化机制

这是 GenericAgent 区别于其他 Agent 框架的根本所在。

[遇到新任务]
    │
    ▼
[自主摸索]   ─►  安装依赖 · 编写脚本 · 调试验证
    │
    ▼
[执行路径固化为 Skill]   ─►  写入记忆层
    │
    ▼
[下次同类任务直接调用]
你说的一句话 第一次做了什么 之后每次
"监控股票并提醒我" 安装 mootdx → 构建选股流程 → 配置定时任务 → 保存 Skill 一句话启动
"用 Gmail 发这个文件" 配置 OAuth → 编写发送脚本 → 保存 Skill 直接可用

用几周后,你的 Agent 实例将拥有一套任何人都没有的专属技能树,全部从 3K 行种子代码中生长而来。


📊 与同类产品对比

特性 GenericAgent OpenClaw Claude Code
代码量 ~3K 行 ~530,000 行 已开源(体量大)
部署方式 pip install + API Key 多服务编排 CLI + 订阅
浏览器控制 注入真实浏览器(保留登录态) 沙箱 / 无头浏览器 通过 MCP 插件
OS 控制 键鼠、视觉、ADB 多 Agent 委派 文件 + 终端
自我进化 自主生长 Skill 和工具 插件生态 会话间无状态
出厂配置 几个核心文件 + 少量初始 Skills 数百模块 丰富 CLI 工具集

📈 评测

📂 完整的评测数据集以及评测结果见:JinyiHan99/GA-Technical-Report

我们从 五大维度 评测 GenericAgent:

# 维度 核心问题 使用的基准
1 任务完成度与 Token 效率 GA 能否以更低成本完成高难度任务? SOP-Bench、Lifelong AgentBench、RealFin-Benchmark
2 工具使用效率 最小原子工具集能否以更低开销替代专用工具集? Tool Efficiency Benchmark
3 记忆系统有效性 精简分层记忆能否超越冗余记忆和基于 Embedding 的检索器? SOP-Bench、LoCoMo、20-skill 压力测试
4 自我进化能力 Agent 能否在无人干预下将经验提炼为可复用的 SOP 与代码? 9 轮 LangChain 纵向研究、8 任务跨任务 Web 基准
5 网页浏览能力 信息密度驱动设计能否适应开放网页? WebCanvas、BrowseComp-ZH、自定义任务

以上维度的基线包括 Claude CodeOpenAI CodeXOpenClaw,分别在 Claude Sonnet 4.6Claude Opus 4.6GPT-5.4MiniMax M2.7 底座上进行评测。

工具使用效率雷达图
工具使用效率雷达图。GA 在 Token、请求数和工具调用轴上全面领先,同时在四个任务维度上保持质量。
跨任务自我进化收敛曲线
跨任务自我进化。GA 的第二轮和第三轮执行在 8 个 Web 任务上收敛至稳定的低成本区间。

GA Web 工具的浏览器真实性

GA Web 工具运行在真实、持久化的 Chrome/Chromium 会话中,而不是一次性的 headless 沙箱,因此可以保留 Cookie、登录态、扩展、GPU/WebGL 行为以及正常浏览器会话指纹。

检测服务 / 信号 普通 Headless 自动化 GA Web 工具 说明
SannySoft headless test 常被识别 ✅ 56/56 通过 bot.sannysoft.com
bot.incolumitas.com 常在 webdriver / CDP 项异常 ✅ 36/36 通过 WEBDRIVERSELENIUM_DRIVERwebDriverAdvanced 全部 OK
BrowserScan bot detection 常显示异常 ✅ Normal browserscan.net
Device & Browser Info bot test 多个 bot 标记 ✅ Human / isBot=false deviceandbrowserinfo.com
FingerprintJS bot detection demo 常被识别 ✅ 通过 Demo 流程完成,未给出 bot 判定
reCAPTCHA v3 demo 低分 / bot-like ✅ 0.9 真人相似分 v3 是基于分数的风险信号;0.9 高于常见生产阈值

对于 reCAPTCHA v3,0.9 不是“点过验证码”的结果,而是风控模型返回的高置信真人相似分,通常足以通过生产环境中的常见阈值,避免进入更严格挑战。


📅 路线图与最新动态

  • 2026-05-23 — 🆕 TUI v3 正式发布frontends/tui_v3.py)。基于块的滚屏回看 + 正确的 resize 重排,每终端独立配色保证跨终端一致,并与 v2 达成功能对齐。
  • 2026-05-18 — 🆕 Morphling 模式。项目级能力吞噬 —— 从任意外部仓库抽取目标与测例后,对每个核心组件分别决定调用、重写或舍弃。详见 memory/morphling_sop.md
  • 2026-05-17 — 🆕 Goal Hive 模式。多 worker 协作版 Goal —— Master/Worker 通过 BBS 协同推进长程目标。详见 memory/goal_hive_sop.md
  • 2026-05-15 — 🖥️ 桌面 GUI 发布。一键安装会自带可直接运行的桌面端(frontends/GenericAgent.exe),开发者也可用 python launch.pyw 启动。
  • 2026-05-14 — 🆕 Conductor 子 Agent 编排。派发、监督、自动清理并行子 Agent;与 /btw 旁路子 Agent 互补,提供一等公民级的任务委派原语。
  • 2026-05-12 — 🆕 TUI v2 正式发布frontends/tuiapp_v2.py)。重做视觉风格的 Textual 前端,支持图片粘贴折叠、文件粘贴、块删除、Ctrl+C 复制、历史导航,以及 /llm / /export / /continue 选择器。
  • 2026-05-08 — 🆕 Goal 模式reflect/goal_mode.py)。时间预算驱动的自驱循环 —— "持续优化 X N 小时",预算没到不准提前交付。
  • 2026-04-21 — 📄 技术报告已发布至 arXivGenericAgent: A Token-Efficient Self-Evolving LLM Agent via Contextual Information Density Maximization
  • 2026-04-11 — 引入 L4 会话归档记忆,并接入 scheduler cron 调度。
  • 2026-03-23 — 支持个人微信接入作为 Bot 前端。
  • 2026-03-10发布百万级 Skill 库
  • 2026-03-08发布以 GenericAgent 为核心的"政务龙虾" Dintal Claw
  • 2026-03-01被机器之心报道
  • 2026-01-16 — GenericAgent V1.0 公开版本发布。

⭐ 社区与支持

如果这个项目对你有帮助,欢迎点一个 Star! 🙏

也欢迎加入 GenericAgent 体验交流群,一起交流、反馈、共建 👏

微信群 22
微信群 22 二维码

🚩 友情链接

感谢 LinuxDo 社区的支持!

LinuxDo

社区 GUI 客户端 (独立开源项目)

  • chilishark27/ga-manager
  • wangjc683/galley —— 开箱即用的本地 Agent 工作台,自带 GA 内核(内置 CPython 3.11 + 运行依赖),GUI/CLI 双原生、多 session + Project 编排、本地优先。
  • FroStorM/A3Agent
  • Fwind43/GenericAgent-Admin —— Go + React 桌面管理面板:服务生命周期管理、原生 Chat、Goal 模式、BBS 团队看板、文件编辑器、模型配置向导、TMWebDriver 监控、自更新,以及 Windows 托盘/桌面宠物集成。

📄 许可

基于 MIT License 发布,详见 LICENSE

声明:GenericAgent 官方渠道为本 GitHub 仓库和 https://gaagent.ai。DintalClaw 是目前唯一官方授权的商业合作方;除非在此处明确列出,其他使用 GenericAgent 名义的第三方网站、机构、组织或个人均非官方。


📈 Star History

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

5 total
  1. GenericAgent Desktop desktop-portable-v0.1.8desktop-portable-v0.1.8Jul 21, 2026pre-release487 downloads

    GenericAgent Desktop 桌面版 / Desktop 无需自行安装 Python、无需联网安装依赖、无需源码;首次启动会自动准备内置运行环境。 No separate Python install, no internet for dependencies, no source checkout required; the bundled runtime is prepared on first launch. ## 安装方法 / Installation - Windows: 下载 `GenericAgent-Desktop-Windows-Portable.zip`,解压后双击 `GenericAgent.exe` 启动。卸载时先退出应用,再双击包内 `uninstall.bat`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Windows-Portable.zip`, extract it, then double-click `GenericAgent.exe`. To uninstall, quit the app, double-click `uninstall.bat`, then delete the extracted folder. - Linux: 下载 `GenericAgent-Desktop-Linux-Portable.tar.gz`,解压后执行 `chmod +x GenericAgent.AppImage`,再运行 `./GenericAgent.AppImage`。卸载时先退出应用,再运行 `./uninstall.sh`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Linux-Portable.tar.gz`, extract it, run `chmod +x GenericAgent.AppImage`, then launch `./GenericAgent.AppImage`. To uninstall, quit the app, run `./uninstall.sh`, then delete the extracted folder. - macOS: 下载 `GenericAgent-Desktop-macOS.dmg`,双击打开 DMG,把 `GenericAgent.app` 拖入 `Applications`,之后在“应用程序 / Applications”中启动。若出现“无法验证开发者”等提示,先双击 DMG 内的 `open_anyway.command`,再启动。卸载时先退出应用,再从 Applications 删除 `GenericAgent.app`。 Download `

  2. GenericAgent Desktop desktop-portable-v0.1.5desktop-portable-v0.1.5Jul 11, 2026pre-release357 downloads

    GenericAgent Desktop 桌面版 / Desktop 无需自行安装 Python、无需联网安装依赖、无需源码;首次启动会自动准备内置运行环境。 No separate Python install, no internet for dependencies, no source checkout required; the bundled runtime is prepared on first launch. ## 安装方法 / Installation - Windows: 下载 `GenericAgent-Desktop-Windows-Portable.zip`,解压后双击 `GenericAgent.exe` 启动。卸载时先退出应用,再双击包内 `uninstall.bat`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Windows-Portable.zip`, extract it, then double-click `GenericAgent.exe`. To uninstall, quit the app, double-click `uninstall.bat`, then delete the extracted folder. - Linux: 下载 `GenericAgent-Desktop-Linux-Portable.tar.gz`,解压后执行 `chmod +x GenericAgent.AppImage`,再运行 `./GenericAgent.AppImage`。卸载时先退出应用,再运行 `./uninstall.sh`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Linux-Portable.tar.gz`, extract it, run `chmod +x GenericAgent.AppImage`, then launch `./GenericAgent.AppImage`. To uninstall, quit the app, run `./uninstall.sh`, then delete the extracted folder. - macOS: 下载 `GenericAgent-Desktop-macOS.dmg`,双击打开 DMG,把 `GenericAgent.app` 拖入 `Applications`,之后在“应用程序 / Applications”中启动。若出现“无法验证开发者”等提示,先双击 DMG 内的 `open_anyway.command`,再启动。卸载时先退出应用,再从 Applications 删除 `GenericAgent.app`。 Download `

  3. GenericAgent Desktop desktop-portable-v0.1.4desktop-portable-v0.1.4Jun 26, 20261.7K downloads

    GenericAgent Desktop 桌面版 / Desktop 无需自行安装 Python、无需联网安装依赖、无需源码;首次启动会自动准备内置运行环境。 No separate Python install, no internet for dependencies, no source checkout required; the bundled runtime is prepared on first launch. ## 安装方法 / Installation - Windows: 下载 `GenericAgent-Desktop-Windows-Portable.zip`,解压后双击 `GenericAgent.exe` 启动。卸载时先退出应用,再双击包内 `uninstall.bat`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Windows-Portable.zip`, extract it, then double-click `GenericAgent.exe`. To uninstall, quit the app, double-click `uninstall.bat`, then delete the extracted folder. - Linux: 下载 `GenericAgent-Desktop-Linux-Portable.tar.gz`,解压后执行 `chmod +x GenericAgent.AppImage`,再运行 `./GenericAgent.AppImage`。卸载时先退出应用,再运行 `./uninstall.sh`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Linux-Portable.tar.gz`, extract it, run `chmod +x GenericAgent.AppImage`, then launch `./GenericAgent.AppImage`. To uninstall, quit the app, run `./uninstall.sh`, then delete the extracted folder. - macOS: 下载 `GenericAgent-Desktop-macOS.dmg`,双击打开 DMG,把 `GenericAgent.app` 拖入 `Applications`,之后在“应用程序 / Applications”中启动。若出现“无法验证开发者”等提示,先双击 DMG 内的 `open_anyway.command`,再启动。卸载时先退出应用,再从 Applications 删除 `GenericAgent.app`。 Download `

  4. GenericAgent Desktop desktop-portable-v0.1.3desktop-portable-v0.1.3Jun 22, 2026289 downloads

    GenericAgent Desktop 桌面版 / Desktop 无需自行安装 Python、无需联网安装依赖、无需源码;首次启动会自动准备内置运行环境。 No separate Python install, no internet for dependencies, no source checkout required; the bundled runtime is prepared on first launch. ## 安装方法 / Installation - Windows: 下载 `GenericAgent-Desktop-Windows-Portable.zip`,解压后双击 `GenericAgent.exe` 启动。卸载时先退出应用,再双击包内 `uninstall.bat`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Windows-Portable.zip`, extract it, then double-click `GenericAgent.exe`. To uninstall, quit the app, double-click `uninstall.bat`, then delete the extracted folder. - Linux: 下载 `GenericAgent-Desktop-Linux-Portable.tar.gz`,解压后执行 `chmod +x GenericAgent.AppImage`,再运行 `./GenericAgent.AppImage`。卸载时先退出应用,再运行 `./uninstall.sh`,最后删除整个解压目录。 Download `GenericAgent-Desktop-Linux-Portable.tar.gz`, extract it, run `chmod +x GenericAgent.AppImage`, then launch `./GenericAgent.AppImage`. To uninstall, quit the app, run `./uninstall.sh`, then delete the extracted folder. - macOS: 下载 `GenericAgent-Desktop-macOS.dmg`,双击打开 DMG,把 `GenericAgent.app` 拖入 `Applications`,之后在“应用程序 / Applications”中启动。若出现“无法验证开发者”等提示,先双击 DMG 内的 `open_anyway.command`,再启动。卸载时先退出应用,再从 Applications 删除 `GenericAgent.app`。 Download `

  5. v0.1.0 - Desktop Appv0.1.0May 15, 20261.3K downloads

    ## GenericAgent Desktop v0.1.0 ### Downloads | Platform | File | Notes | |----------|------|-------| | Windows x64 | `GenericAgent-windows-x64.exe` | Standalone executable | | macOS Apple Silicon | `GenericAgent_0.1.0_aarch64.dmg` | M1/M2/M3/M4, macOS 12+ | ### Windows 1. Install dependencies via the setup script, then download `GenericAgent-windows-x64.exe` to `frontends/` and rename to `GenericAgent.exe` 2. Double-click to run Options: - Default: no console window - `GenericAgent.exe --console` to show the bridge console (for debugging) Python lookup order: 1. `.portable/uv-python/` (auto-configured by the install script) 2. System PATH ### macOS The app is not Apple-notarized. On first launch, macOS will block it. Run the following before opening: ```bash xattr -cr /Applications/GenericAgent.app ``` See `docs/macos_desktop_installation_zh.md` for detailed instructions (Chinese).

Code frequency

additions and deletions
+52.2K-52.2KWeek of 2026-01-11: +5,876 linesWeek of 2026-01-11: -2,986 linesWeek of 2026-01-18: +67 linesWeek of 2026-01-18: -50 linesWeek of 2026-01-25: +351 linesWeek of 2026-01-25: -439 linesWeek of 2026-02-01: +1,644 linesWeek of 2026-02-01: -1,193 linesWeek of 2026-02-08: +4,269 linesWeek of 2026-02-08: -3,518 linesWeek of 2026-02-15: +1,387 linesWeek of 2026-02-15: -743 linesWeek of 2026-02-22: +498 linesWeek of 2026-02-22: -397 linesWeek of 2026-03-01: +864 linesWeek of 2026-03-01: -456 linesWeek of 2026-03-08: +4,755 linesWeek of 2026-03-08: -2,364 linesWeek of 2026-03-15: +864 linesWeek of 2026-03-15: -340 linesWeek of 2026-03-22: +5,781 linesWeek of 2026-03-22: -2,484 linesWeek of 2026-03-29: +2,286 linesWeek of 2026-03-29: -1,151 linesWeek of 2026-04-05: +1,336 linesWeek of 2026-04-05: -1,401 linesWeek of 2026-04-12: +3,935 linesWeek of 2026-04-12: -1,025 linesWeek of 2026-04-19: +3,155 linesWeek of 2026-04-19: -1,241 linesWeek of 2026-04-26: +2,271 linesWeek of 2026-04-26: -1,189 linesWeek of 2026-05-03: +6,867 linesWeek of 2026-05-03: -2,887 linesWeek of 2026-05-10: +19,868 linesWeek of 2026-05-10: -3,354 linesWeek of 2026-05-17: +52,170 linesWeek of 2026-05-17: -3,904 linesWeek of 2026-05-24: +17,509 linesWeek of 2026-05-24: -5,060 linesWeek of 2026-05-31: +10,112 linesWeek of 2026-05-31: -3,420 linesWeek of 2026-06-07: +3,236 linesWeek of 2026-06-07: -794 linesWeek of 2026-06-14: +11,144 linesWeek of 2026-06-14: -4,092 linesWeek of 2026-06-21: +26,321 linesWeek of 2026-06-21: -8,921 linesWeek of 2026-06-28: +809 linesWeek of 2026-06-28: -760 linesWeek of 2026-07-05: +5,036 linesWeek of 2026-07-05: -1,197 linesWeek of 2026-07-12: +355 linesWeek of 2026-07-12: -277 linesWeek of 2026-07-19: +277 linesWeek of 2026-07-19: -140 linesWeek of 2026-07-26: +441 linesWeek of 2026-07-26: -165 linesWeek of 2026-08-02: +2,138 linesWeek of 2026-08-02: -314 linesJan 11, 2026Aug 2, 2026
+195.6K lines added, -56.3K removed over the last year.

Commits per week

last 52 weeks
1320Week of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 4 commitsWeek of 2026-01-18: 1 commitsWeek of 2026-01-25: 9 commitsWeek of 2026-02-01: 23 commitsWeek of 2026-02-08: 29 commitsWeek of 2026-02-15: 20 commitsWeek of 2026-02-22: 34 commitsWeek of 2026-03-01: 25 commitsWeek of 2026-03-08: 38 commitsWeek of 2026-03-15: 10 commitsWeek of 2026-03-22: 34 commitsWeek of 2026-03-29: 38 commitsWeek of 2026-04-05: 25 commitsWeek of 2026-04-12: 66 commitsWeek of 2026-04-19: 65 commitsWeek of 2026-04-26: 49 commitsWeek of 2026-05-03: 53 commitsWeek of 2026-05-10: 57 commitsWeek of 2026-05-17: 74 commitsWeek of 2026-05-24: 132 commitsWeek of 2026-05-31: 58 commitsWeek of 2026-06-07: 43 commitsWeek of 2026-06-14: 107 commitsWeek of 2026-06-21: 45 commitsWeek of 2026-06-28: 7 commitsWeek of 2026-07-05: 34 commitsWeek of 2026-07-12: 16 commitsWeek of 2026-07-19: 15 commitsWeek of 2026-07-26: 12 commitsWeek of 2026-08-02: 10 commitsAug 9, 2025Aug 2, 2026
1.1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 1 commitsSun 1:00 — 1 commitsSun 2:00 — 5 commitsSun 3:00 — 5 commitsSun 4:00 — 0 commitsSun 5:00 — 2 commitsSun 6:00 — 0 commitsSun 7:00 — 1 commitsSun 8:00 — 2 commitsSun 9:00 — 11 commitsSun 10:00 — 4 commitsSun 11:00 — 3 commitsSun 12:00 — 4 commitsSun 13:00 — 4 commitsSun 14:00 — 6 commitsSun 15:00 — 10 commitsSun 16:00 — 6 commitsSun 17:00 — 8 commitsSun 18:00 — 2 commitsSun 19:00 — 5 commitsSun 20:00 — 7 commitsSun 21:00 — 7 commitsSun 22:00 — 10 commitsSun 23:00 — 11 commitsMon 0:00 — 9 commitsMon 1:00 — 4 commitsMon 2:00 — 4 commitsMon 3:00 — 2 commitsMon 4:00 — 0 commitsMon 5:00 — 1 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 6 commitsMon 9:00 — 6 commitsMon 10:00 — 7 commitsMon 11:00 — 7 commitsMon 12:00 — 10 commitsMon 13:00 — 8 commitsMon 14:00 — 7 commitsMon 15:00 — 15 commitsMon 16:00 — 10 commitsMon 17:00 — 9 commitsMon 18:00 — 11 commitsMon 19:00 — 7 commitsMon 20:00 — 15 commitsMon 21:00 — 11 commitsMon 22:00 — 8 commitsMon 23:00 — 7 commitsTue 0:00 — 8 commitsTue 1:00 — 3 commitsTue 2:00 — 1 commitsTue 3:00 — 3 commitsTue 4:00 — 1 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 4 commitsTue 8:00 — 1 commitsTue 9:00 — 8 commitsTue 10:00 — 8 commitsTue 11:00 — 14 commitsTue 12:00 — 9 commitsTue 13:00 — 5 commitsTue 14:00 — 3 commitsTue 15:00 — 3 commitsTue 16:00 — 5 commitsTue 17:00 — 4 commitsTue 18:00 — 6 commitsTue 19:00 — 6 commitsTue 20:00 — 10 commitsTue 21:00 — 7 commitsTue 22:00 — 13 commitsTue 23:00 — 12 commitsWed 0:00 — 4 commitsWed 1:00 — 0 commitsWed 2:00 — 5 commitsWed 3:00 — 4 commitsWed 4:00 — 1 commitsWed 5:00 — 4 commitsWed 6:00 — 5 commitsWed 7:00 — 2 commitsWed 8:00 — 4 commitsWed 9:00 — 7 commitsWed 10:00 — 8 commitsWed 11:00 — 10 commitsWed 12:00 — 5 commitsWed 13:00 — 7 commitsWed 14:00 — 7 commitsWed 15:00 — 14 commitsWed 16:00 — 15 commitsWed 17:00 — 10 commitsWed 18:00 — 17 commitsWed 19:00 — 10 commitsWed 20:00 — 9 commitsWed 21:00 — 9 commitsWed 22:00 — 13 commitsWed 23:00 — 15 commitsThu 0:00 — 6 commitsThu 1:00 — 3 commitsThu 2:00 — 4 commitsThu 3:00 — 12 commitsThu 4:00 — 7 commitsThu 5:00 — 1 commitsThu 6:00 — 1 commitsThu 7:00 — 1 commitsThu 8:00 — 1 commitsThu 9:00 — 6 commitsThu 10:00 — 3 commitsThu 11:00 — 10 commitsThu 12:00 — 11 commitsThu 13:00 — 9 commitsThu 14:00 — 7 commitsThu 15:00 — 14 commitsThu 16:00 — 11 commitsThu 17:00 — 14 commitsThu 18:00 — 21 commitsThu 19:00 — 10 commitsThu 20:00 — 6 commitsThu 21:00 — 13 commitsThu 22:00 — 15 commitsThu 23:00 — 12 commitsFri 0:00 — 12 commitsFri 1:00 — 4 commitsFri 2:00 — 7 commitsFri 3:00 — 5 commitsFri 4:00 — 4 commitsFri 5:00 — 3 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 3 commitsFri 9:00 — 6 commitsFri 10:00 — 11 commitsFri 11:00 — 9 commitsFri 12:00 — 7 commitsFri 13:00 — 6 commitsFri 14:00 — 9 commitsFri 15:00 — 10 commitsFri 16:00 — 7 commitsFri 17:00 — 15 commitsFri 18:00 — 10 commitsFri 19:00 — 11 commitsFri 20:00 — 7 commitsFri 21:00 — 11 commitsFri 22:00 — 14 commitsFri 23:00 — 21 commitsSat 0:00 — 8 commitsSat 1:00 — 9 commitsSat 2:00 — 1 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 1 commitsSat 8:00 — 5 commitsSat 9:00 — 1 commitsSat 10:00 — 12 commitsSat 11:00 — 6 commitsSat 12:00 — 12 commitsSat 13:00 — 5 commitsSat 14:00 — 7 commitsSat 15:00 — 7 commitsSat 16:00 — 8 commitsSat 17:00 — 11 commitsSat 18:00 — 7 commitsSat 19:00 — 8 commitsSat 20:00 — 13 commitsSat 21:00 — 8 commitsSat 22:00 — 8 commitsSat 23:00 — 8 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits668 (51%)
Community commits643 (49%)

1,311 commits in total over the last year.

DateListRankStars gained
Apr 17, 2026daily#14+116
Apr 16, 2026daily#24+101
  • public-apis/public-apis

    A collective list of free APIs

    454.9K stars · Python

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    362.2K stars · Python

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    277.1K stars · Python

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    238.5K stars · JavaScript

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    234.7K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    227K stars · Python