
GenericAgent
github.com/lsdefine/genericagent- Category
- AI Agents
- Rank
- No. 188Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Agent Building
- Interfaces
- CLI · SDK
- Builder
- lsdefine
- GitHub
- 14.2k stars
- Latest release
- desktop-portable-v0.2.0
- Date
About
A minimal, self-evolving autonomous agent framework that grants LLMs system-level control over local computers. Starting from just 3K lines of code, it automatically crystallizes each task into reusable skills, building a personalized skill tree over time.
What it does
GenericAgent turns model responses into actions across files, shells, browsers, desktop input, and Android devices. It can use existing browser sessions, maintain layered memory, and retain successful workflows for later tasks. Users interact through terminal, web, desktop, command-line, or supported chat frontends.
Why it's ranked here
The appeal is unusually broad local execution with a small Python core and several practical interfaces. Real-session browser control, provider choice, and persistent task knowledge make it useful beyond coding. The caution is equally concrete: arbitrary code execution, writable files, stored credentials, and self-installed dependencies demand a trusted environment and active supervision.
What's good
The core dependency set is modest, while optional extras isolate graphical and messaging features. Browser automation works with an existing session instead of requiring downloaded browser binaries. It supports OpenAI-compatible and native Anthropic protocols, streams task output, queues work, preserves conversation history, and offers explicit interruption for human input.
Tradeoffs
This is not a low-risk sandbox. The agent can run arbitrary Python or shell commands, overwrite files, control browsers, and operate mobile devices. Advanced capabilities may install tools and alter the local environment. Setup requires an API key, some browser automation needs manual extension loading, Windows terminal rendering can be unreliable, and desktop Linux needs native GTK and WebKit packages.
How to use it well
It best suits technical users who want one supervised local operator for repetitive browser, filesystem, shell, desktop, or Android work. Start with the minimal installation, enable capabilities only when needed, review installer scripts, protect credentials, and keep recoverable backups. It does not replace isolated execution, permission controls, or a managed multi-user automation service.
Technical notes+
pyproject.toml defines a setuptools Python package requiring Python 3.10 through 3.13, five core dependencies, optional UI and frontend groups, and the ga console entry point. agentmain.py loads tool definitions, provider sessions, task queues, streaming output, abort handling, memory-backed prompts, and the embeddable GenericAgent class. ga.py implements subprocess execution, browser inspection and JavaScript control, file reading and patching, timeouts, and output truncation. llmcore.py implements configuration reloads, native Anthropic and OpenAI-compatible sessions, streaming parsers, retries, context compression, and mixin failover. simphtml.py reduces live DOM state for model consumption. docs/installation.md documents editable installation, isolated installers, key configuration, frontend verification, and platform-specific troubleshooting.
Observed
- License
- MIT
- Primary language
- Python
- Packaging
- setuptools package with an editable source installation; the documentation says it is not distributed as a PyPI package
- Interfaces
- Python library class, command-line entry point, terminal UI, Streamlit UI, desktop app, and messaging frontends
- Platform support
- Windows 10/11, macOS 12+, and modern Linux distributions
- Model protocols
- OpenAI-compatible APIs and native Anthropic Claude APIs
- Dependency surface
- Five core packages, with UI and messaging integrations separated into optional dependency groups
Read from README.md, pyproject.toml, docs/SETUP_FEISHU.md, docs/installation.md, docs/GETTING_STARTED.md, docs/installation_zh.md, docs/macos_desktop_installation_zh.md, ga.py, llmcore.py, simphtml.py, agentmain.py.
What it can do
Execute terminal commands on local computer
Natural language instructions → Command execution results
Control web browser for automation tasks
Web automation instructions → Browser actions and extracted data
Manage filesystem operations
File management commands → File system changes and responses
Control mobile devices
Mobile device control instructions → Mobile device actions and responses
Learn and crystallize new skills from completed tasks
Task execution history and outcomes → Reusable skill definitions
Build personalized skill tree over time
Accumulated skills and usage patterns → Organized skill hierarchy and recommendations
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.