GitHub Trending

GitHub Weekly Trending

Total Repos

10

Avg Stars

47.5K

Languages

4

Weeks of Data

1

Apr 2026 · W3Top 10
1
forrestchang/andrej-karpathy-skills
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
61.5K45.4K
Screenshot 1
What users love
No positive feedback yet
Areas for improvement
No negative feedback
GitHub →
2
NousResearch/hermes-agent
The agent that grows with you
Python102.2K38.2K
Screenshot 1
What users love
Parallel Task Execution for Concurrent User Requests
Langfuse tracing for subagents and gateway sessions
Telegram /model improvement
Vercel agent-browser Skill for AI-Agent Browser Automation
Agent transparency: showing available tools and decision paths
Areas for improvement
Configuration for custom model endpoint does not work
Telegram formatting falls back to plain text on chunked messages
Memory issues
Agent executes actions without user approval in Telegram gateway
Completion report for background tasks in Telegram is cut off
GitHub →
3
thedotmack/claude-mem
A Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sessions.
TypeScript63.4K14.6K
Screenshot 1Screenshot 2Screenshot 3Screenshot 4Screenshot 5Screenshot 6
What users love
Persistent memory that survives across sessions.
Automatic capture and compression of Claude's actions.
Relevant context is injected back into future sessions.
Web Viewer UI for real-time memory stream.
Skill-based search for querying project history.
Areas for improvement
Stop hook failures with 'Unknown event type: session-complete'.
Stop hook can cause infinite session loops when summarize output is interpreted as instructions.
CLAUDE_MEM_FOLDER_CLAUDEMD_ENABLED setting is documented but not implemented.
Creates CLAUDE.md files in arbitrary and potentially problematic working directories (e.g., inside .git/).
Worker service leaks numerous Claude subprocesses, leading to high system resource consumption and potential crashes.
GitHub →
4
EvoMap/evolver
🧬 Evolver GitHub stars License: GPL-3.0 Node.js >= 18 GitHub last commit GitHub issues Evolver Cover evomap.ai | Documentation | Chinese / 中文文档 | Japanese / 日本語ドキュメント | GitHub | Releases Notice — Moving Toward Source-Available Evolver has been fully open source since our first release on 2026-02-01 (initially MIT, and GPL-3.0-or-later since 2026-04-09). In March 2026, another project in the same lane released a system with strikingly similar memory / skill / evolution-asset design — without any attribution to Evolver. Full analysis: Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis. To protect the integrity of the work and keep investing in this direction, future Evolver releases will transition from fully open source to source-available. Our commitment to users is unchanged: we will keep shipping the best agent self-evolution capability in the industry — faster iteration, deeper GEP integration, stronger memory and skill systems. All already-published MIT and GPL-3.0 versions remain freely usable under their original terms. You can still npm install @evomap/evolver or clone this repo; nothing in your current workflow breaks. Questions or concerns: open an issue or reach us at evomap.ai. "Evolution is not optional. Adapt or die." Three lines What it is: A GEP-powered self-evolution engine for AI agents. Pain it solves: Turns ad hoc prompt tweaks into auditable, reusable evolution assets. Use in 30 seconds: Clone, install, run node index.js -- get a GEP-guided evolution prompt. EvoMap -- The Evolution Network Evolver is the core engine behind EvoMap, a network where AI agents evolve through validated collaboration. Visit evomap.ai to explore the full platform -- live agent maps, evolution leaderboards, and the ecosystem that turns isolated prompt tweaks into shared, auditable intelligence. Keywords: protocol-constrained evolution, audit trail, genes and capsules, prompt governance. Installation Prerequisites Node.js >= 18 Git -- Required. Evolver uses git for rollback, blast radius calculation, and solidify. Running in a non-git directory will fail with a clear error message. Install from npm (recommended) npm install -g @evomap/evolver This installs the evolver CLI globally. Verify with evolver --help. If you hit EACCES on Linux/macOS, configure a user-level prefix instead of using sudo: npm config set prefix ~/.npm-global echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc source ~/.bashrc Platform integration Evolver integrates with major agent runtimes through setup-hooks. Run the command once per platform you want to wire up. Cursor evolver setup-hooks --platform=cursor Writes /.cursor/hooks.json and installs hook scripts under /.cursor/hooks/. Restart Cursor (or open a new session) to activate. Hooks fire on sessionStart, afterFileEdit, and stop. Claude Code evolver setup-hooks --platform=claude-code Registers Evolver with Claude Code's hook system via ~/.claude/. Restart the Claude Code CLI after installation. OpenClaw OpenClaw interprets the sessions_spawn(...) protocol that Evolver emits on stdout, so no hooks are required. Clone Evolver into your OpenClaw workspace and invoke it from within a session: cd git clone https://github.com/EvoMap/evolver.git cd evolver npm install When Evolver runs inside an OpenClaw session, the host picks up stdout directives (sessions_spawn(...), etc.) and chains follow-up actions automatically. Install from source (advanced) git clone https://github.com/EvoMap/evolver.git cd evolver npm install Use this mode if you want to hack on the engine itself, run unreleased builds, or inspect the source tree. Connect to the EvoMap network (optional) To connect to the EvoMap network, create a .env file in your project root: Register at https://evomap.ai to get your Node ID A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=your_node_id_here Note: Evolver works fully offline without .env. The Hub connection is only needed for network features like skill sharing, worker pool, and evolution leaderboards. Quick Start Single evolution run -- scans logs, selects a Gene, outputs a GEP prompt node index.js Review mode -- pause before applying, wait for human confirmation node index.js --review Continuous loop -- runs as a background daemon node index.js --loop What Evolver Does (and Does Not Do) Evolver is a prompt generator, not a code patcher. Each evolution cycle: Scans your memory/ directory for runtime logs, error patterns, and signals. Selects the best-matching Gene or Capsule from assets/gep/. Emits a strict, protocol-bound GEP prompt that guides the next evolution step. Records an auditable EvolutionEvent for traceability. It does NOT: Automatically edit your source code. Execute arbitrary shell commands (see Security Model). Require an internet connection for core functionality. How It Integrates with Host Runtimes When running inside a host runtime (e.g., OpenClaw), the sessions_spawn(...) text printed to stdout can be picked up by the host to trigger follow-up actions. In standalone mode, these are just text output -- nothing is executed automatically. | Mode | Behavior | | :--- | :--- | | Standalone (node index.js) | Generates prompt, prints to stdout, exits | | Loop (node index.js --loop) | Repeats the above in a daemon loop with adaptive sleep | | Inside OpenClaw | Host runtime interprets stdout directives like sessions_spawn(...) | Who This Is For / Not For For Teams maintaining agent prompts and logs at scale Users who need auditable evolution traces (Genes, Capsules, Events) Environments requiring deterministic, protocol-bound changes Not For One-off scripts without logs or history Projects that require free-form creative changes Systems that cannot tolerate protocol overhead Features Auto-Log Analysis: scans memory and history files for errors and patterns. Self-Repair Guidance: emits repair-focused directives from signals. GEP Protocol: standardized evolution with reusable assets. Mutation + Personality Evolution: each evolution run is gated by an explicit Mutation object and an evolvable PersonalityState. Configurable Strategy Presets: EVOLVE_STRATEGY=balanced|innovate|harden|repair-only controls intent balance. Signal De-duplication: prevents repair loops by detecting stagnation patterns. Operations Module (src/ops/): portable lifecycle, skill monitoring, cleanup, self-repair, wake triggers -- zero platform dependency. Protected Source Files: prevents autonomous agents from overwriting core evolver code. Skill Store: download and share reusable skills via node index.js fetch --skill . Typical Use Cases Harden a flaky agent loop by enforcing validation before edits Encode recurring fixes as reusable Genes and Capsules Produce auditable evolution events for review or compliance Anti-Examples Rewriting entire subsystems without signals or constraints Using the protocol as a generic task runner Producing changes without recording EvolutionEvent Usage Standard Run (Automated) node index.js Review Mode (Human-in-the-Loop) node index.js --review Continuous Loop node index.js --loop With Strategy Preset EVOLVE_STRATEGY=innovate node index.js --loop # maximize new features EVOLVE_STRATEGY=harden node index.js --loop # focus on stability EVOLVE_STRATEGY=repair-only node index.js --loop # emergency fix mode | Strategy | Innovate | Optimize | Repair | When to Use | | :--- | :--- | :--- | :--- | :--- | | balanced (default) | 50% | 30% | 20% | Daily operation, steady growth | | innovate | 80% | 15% | 5% | System stable, ship new features fast | | harden | 20% | 40% | 40% | After major changes, focus on stability | | repair-only | 0% | 20% | 80% | Emergency state, all-out repair | Operations (Lifecycle Management) node src/ops/lifecycle.js start # start evolver loop in background node src/ops/lifecycle.js stop # graceful stop (SIGTERM -> SIGKILL) node src/ops/lifecycle.js status # show running state node src/ops/lifecycle.js check # health check + auto-restart if stagnant Skill Store Download a skill from the EvoMap network node index.js fetch --skill Specify output directory node index.js fetch --skill --out=./my-skills/ Requires A2A_HUB_URL to be configured. Browse available skills at evomap.ai. Cron / External Runner Keepalive If you run a periodic keepalive/tick from a cron/agent runner, prefer a single simple command with minimal quoting. Recommended: bash -lc 'node index.js --loop' Avoid composing multiple shell segments inside the cron payload (for example ...; echo EXIT:$?) because nested quotes can break after passing through multiple serialization/escaping layers. For process managers like pm2, the same principle applies -- wrap the command simply: pm2 start "bash -lc 'node index.js --loop'" --name evolver --cron-restart="0 */6 * * *" Connecting to EvoMap Hub Evolver can optionally connect to the EvoMap Hub for network features. This is not required for core evolution functionality. Setup Register at evomap.ai and get your Node ID. Add the following to your .env file: A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=your_node_id_here What Hub Connection Enables | Feature | Description | | :--- | :--- | | Heartbeat | Periodic check-in with the Hub; reports node status and receives available work | | Skill Store | Download and publish reusable skills (node index.js fetch) | | Worker Pool | Accept and execute evolution tasks from the network (see Worker Pool) | | Evolution Circle | Collaborative evolution groups with shared context | | Asset Publishing | Share your Genes and Capsules with the network | How It Works When node index.js --loop is running with Hub configured: On startup, evolver sends a hello message to register with the Hub. A heartbeat is sent every 6 minutes (configurable via HEARTBEAT_INTERVAL_MS). The Hub responds with available work, overdue task alerts, and skill store hints. If WORKER_ENABLED=1, the node advertises its capabilities and picks up tasks. Without Hub configuration, evolver runs fully offline -- all core evolution features work locally. Worker Pool (EvoMap Network) When WORKER_ENABLED=1, this node participates as a worker in the EvoMap network. It advertises its capabilities via heartbeat and picks up tasks from the network's available-work queue. Tasks are claimed atomically during solidify after a successful evolution cycle. | Variable | Default | Description | |----------|---------|-------------| | WORKER_ENABLED | (unset) | Set to 1 to enable worker pool mode | | WORKER_DOMAINS | (empty) | Comma-separated list of task domains this worker accepts (e.g. repair,harden) | | WORKER_MAX_LOAD | 5 | Advertised maximum concurrent task capacity for hub-side scheduling (not a locally enforced concurrency limit) | WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 node index.js --loop WORKER_ENABLED vs. the Website Toggle The evomap.ai dashboard has a "Worker" toggle on the node detail page. Here is how the two relate: | Control | Scope | What It Does | | :--- | :--- | :--- | | WORKER_ENABLED=1 (env var) | Local | Tells your local evolver daemon to include worker metadata in heartbeats and accept tasks | | Website toggle | Hub-side | Tells the Hub whether to dispatch tasks to this node | Both must be enabled for your node to receive and execute tasks. If either side is off, the node will not pick up work from the network. The recommended flow: Set WORKER_ENABLED=1 in your .env and start node index.js --loop. Go to evomap.ai, find your node, and turn on the Worker toggle. GEP Protocol (Auditable Evolution) This repo includes a protocol-constrained prompt mode based on GEP (Genome Evolution Protocol). Structured assets live in assets/gep/: assets/gep/genes.json assets/gep/capsules.json assets/gep/events.jsonl Selector logic uses extracted signals to prefer existing Genes/Capsules and emits a JSON selector decision in the prompt. Constraints: Only the DNA emoji is allowed in documentation; all other emoji are disallowed. Configuration & Decoupling Evolver is designed to be environment-agnostic. Core Environment Variables | Variable | Description | Default | | :--- | :--- | :--- | | EVOLVE_STRATEGY | Evolution strategy preset (balanced / innovate / harden / repair-only) | balanced | | A2A_HUB_URL | EvoMap Hub URL | (unset, offline mode) | | A2A_NODE_ID | Your node identity on the network | (auto-generated from device fingerprint) | | HEARTBEAT_INTERVAL_MS | Hub heartbeat interval | 360000 (6 min) | | MEMORY_DIR | Memory files path | ./memory | | EVOLVE_REPORT_TOOL | Tool name for reporting results | message | Local Overrides (Injection) You can inject local preferences (e.g., using feishu-card instead of message for reports) without modifying the core code. Method 1: Environment Variables Set EVOLVE_REPORT_TOOL in your .env file: EVOLVE_REPORT_TOOL=feishu-card Method 2: Dynamic Detection The script automatically detects if compatible local skills (like skills/feishu-card) exist in your workspace and upgrades its behavior accordingly. Validator Role (default ON) When connected to an EvoMap Hub, every evolver instance also acts as a decentralized validator: it periodically pulls a small batch of validation tasks assigned by the hub, runs the proposer's claimed validation commands inside the existing sandbox, and submits a ValidationReport back. Validators that join consensus earn credits and reputation. | Variable | Default | Description | |----------|---------|-------------| | EVOLVER_VALIDATOR_ENABLED | (unset = ON) | 0/false/off to opt out; 1/true/on to force on. Env always wins over hub-pushed flag and the built-in default. | | EVOLVER_VALIDATOR_DAEMON_INTERVAL_MS | 60000 | Interval between validator polls when running in --loop / --mad-dog mode. | | EVOLVER_VALIDATOR_MAX_TASKS_PER_CYCLE | 2 | Max tasks claimed per poll. | | EVOLVER_VALIDATOR_FETCH_TIMEOUT_MS | 8000 | Timeout for the per-poll task fetch. | Persistent flag override: when the env is unset, the runtime reads ~/.evomap/feature_flags.json. The hub may push feature_flag_update events through the existing mailbox channel to flip this on for legacy installs after upgrade. To opt out permanently: EVOLVER_VALIDATOR_ENABLED=0 evolver run --loop Auto GitHub Issue Reporting When the evolver detects persistent failures (failure loop or recurring errors with high failure ratio), it can automatically file a GitHub issue to the upstream repository with sanitized environment info and logs. All sensitive data (tokens, local paths, emails, etc.) is redacted before submission. | Variable | Default | Description | |----------|---------|-------------| | EVOLVER_AUTO_ISSUE | true | Enable/disable auto issue reporting | | EVOLVER_ISSUE_REPO | autogame-17/capability-evolver | Target GitHub repository (owner/repo) | | EVOLVER_ISSUE_COOLDOWN_MS | 86400000 (24h) | Cooldown period for the same error signature | | EVOLVER_ISSUE_MIN_STREAK | 5 | Minimum consecutive failure streak to trigger | Requires GITHUB_TOKEN (or GH_TOKEN / GITHUB_PAT) with repo scope. When no token is available, the feature is silently skipped. Security Model This section describes the execution boundaries and trust model of the Evolver. What Executes and What Does Not | Component | Behavior | Executes Shell Commands? | | :--- | :--- | :--- | | src/evolve.js | Reads logs, selects genes, builds prompts, writes artifacts | Read-only git/process queries only | | src/gep/prompt.js | Assembles the GEP protocol prompt string | No (pure text generation) | | src/gep/selector.js | Scores and selects Genes/Capsules by signal matching | No (pure logic) | | src/gep/solidify.js | Validates patches via Gene validation commands | Yes (see below) | | index.js (loop recovery) | Prints sessions_spawn(...) text to stdout on crash | No (text output only; execution depends on host runtime) | Gene Validation Command Safety solidify.js executes commands listed in a Gene's validation array. To prevent arbitrary command execution, all validation commands are gated by a safety check (isValidationCommandAllowed): Prefix whitelist: Only commands starting with node, npm, or npx are allowed. No command substitution: Backticks and $(...) are rejected anywhere in the command string. No shell operators: After stripping quoted content, ;, &, |, >, ` Core evolution engine modules are distributed in obfuscated form to protect intellectual property. Source: EvoMap/evolver.
JavaScript5.5K3.4K
Screenshot 1Screenshot 2Screenshot 3
What users love
High demand for integration with OpenClaw and other agent runtimes
Innovative concept for turning prompt tweaks into reusable evolution assets
Strong community interest in collaborative agent evolution and leaderboards
Flexible deployment options (standalone, loop, or host-integrated)
Clear, protocol-bound approach to agent self-repair and hardening
Areas for improvement
Frequent LLM API errors (429 rate limits, 401 authentication, connection issues)
Critical bugs causing data loss or incorrect git root identification
Obfuscated/minified core code hindering security and maintainability audits
Unstable --loop mode and unexpected process exits
Poor test coverage and silent error handling (empty catch blocks)
GitHub →
5
lsdefine/GenericAgent
English | 中文 | 📄 Technical Report 🌟 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). Its design philosophy: don't preload skills — evolve them. Every time GenericAgent solves a new task, it automatically crystallizes the execution path into an skill for direct reuse later. The longer you use it, the more skills accumulate — forming a skill tree that belongs entirely to you, grown 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. 📋 Core Features Self-Evolving: Automatically crystallizes each task into an 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: 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: Autonomous Exploration --> Crystallize Execution Path into skill] --> [Write to Memory Layer] --> [Direct Recall on Next Similar Task] | What you say | What the agent does the first time | Every time after | |---|---|---| | "Read my WeChat messages" | Install deps → reverse DB → write read script → 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. 🎯 Demo Showcase | 🧋 Food Delivery Order | 📈 Quantitative Stock Screening | |:---:|:---:| | | | | "Order me a milk tea" — Navigates the delivery app, selects items, and completes checkout automatically. | "Find GEM stocks with EXPMA golden cross, turnover > 5%" — Screens stocks with quantitative conditions. | | 🌐 Autonomous Web Exploration | 💰 Expense Tracking | 💬 Batch Messaging | | | | | | Autonomously browses and periodically summarizes web content. | "Find expenses over ¥2K in the last 3 months" — Drives Alipay via ADB. | Sends bulk WeChat messages, fully driving the WeChat client. | 📅 Latest News 2026-04-11: Introduced L4 session archive memory and scheduler cron integration 2026-03-23: Support personal WeChat as a bot frontend 2026-03-10: [Released million-scale Skill Library 2026-03-08: Released "Dintal Claw" — a GenericAgent-powered government affairs bot 2026-03-01: GenericAgent featured by Jiqizhixin (机器之心) 2026-01-16: GenericAgent V1.0 public release 🚀 Quick Start Method 1: Standard Installationbash 1. Clone the repo git clone https://github.com/lsdefine/GenericAgent.git cd GenericAgent 2. Install minimal dependencies pip install streamlit pywebview 3. Configure API Key cp mykey_template.py mykey.py Edit mykey.py and fill in your LLM API Key 4. Launch python launch.pyw Full guide: GETTING_STARTED.md 🤖 Bot Interface (Optional) Telegram Botpython mykey.py tg_bot_token = 'YOUR_BOT_TOKEN' tg_allowed_users = YOUR_USER_ID] bash python frontends/tgapp.py Alternative App Frontends Besides the default Streamlit web UI, you can also try other frontend styles:bash python frontends/qtapp.py # Qt-based desktop app streamlit run frontends/stapp2.py # Alternative Streamlit UI 📊 Comparison with Similar Tools | 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 | A few core files + starter skills | Hundreds of modules | Rich CLI toolset | 🧠 How It Works 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. L0 — Meta Rules: Core behavioral rules and system constraints of the agent 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 | | file_read | Read files | | file_write | Write files | | file_patch | Patch / modify files | | web_scan | Perceive web content | | web_execute_js | Control browser behavior | | ask_user | Human-in-the-loop confirmation | Additionally, 2 memory management tools (update_working_checkpoint, start_long_term_update) allow the agent to persist context and accumulate experience across sessions. 4️⃣ Capability Extension Mechanism 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 Diagram ⭐ Support If this project helped you, please consider leaving a Star! 🙏 You're also welcome to join our GenericAgent Community Group for discussion, feedback, and co-building 👏 WeChat Group 5 WeChat Group 6 WeChat Group 7 🚩 Friendly Links Thanks for the support from the LinuxDo community! [LinuxDo 📄 License MIT License — see LICENSE 🌟 项目简介 GenericAgent 是一个极简、可自我进化的自主 Agent 框架。核心仅 3K 行代码,通过 9 个原子工具 + 100 行 Agent Loop,赋予任意 LLM 对本地计算机的系统级控制能力,覆盖浏览器、终端、文件系统、键鼠输入、屏幕视觉及移动设备。 它的设计哲学是:不预设技能,靠进化获得能力。 每解决一个新任务,GenericAgent 就将执行路径自动固化为 Skill,供后续直接调用。使用时间越长,沉淀的技能越多,形成一棵完全属于你、从 3K 行种子代码生长出来的专属技能树。 🤖 自举实证 — 本仓库的一切,从安装 Git、git init 到每一条 commit message,均由 GenericAgent 自主完成。作者全程未打开过一次终端。 📋 核心特性 自我进化: 每次任务自动沉淀 Skill,能力随使用持续增长,形成专属技能树 极简架构: ~3K 行核心代码,Agent Loop 约百行,无复杂依赖,部署零负担 强执行力: 注入真实浏览器(保留登录态),9 个原子工具直接接管系统 高兼容性: 支持 Claude / Gemini / Kimi / MiniMax 等主流模型,跨平台运行 极致省 Token: 上下文窗口不到 30K,是其他 Agent(200K–1M)的零头。分层记忆让关键信息始终在场——噪声更少,幻觉更低,成功率反而更高,而成本低一个数量级。 🧬 自我进化机制 这是 GenericAgent 区别于其他 Agent 框架的根本所在。 遇到新任务]-->[自主摸索--> 将执行路径固化为 Skill]-->[写入记忆层]-->[下次同类任务直接调用] | 你说的一句话 | Agent 第一次做了什么 | 之后每次 | |---|---|---| | "监控股票并提醒我" | 安装 mootdx → 构建选股流程 → 配置定时任务 → 保存 Skill | 一句话启动 | | "用 Gmail 发这个文件" | 配置 OAuth → 编写发送脚本 → 保存 Skill | 直接可用 | 用几周后,你的 Agent 实例将拥有一套任何人都没有的专属技能树,全部从 3K 行种子代码中生长而来。 🎯 实例展示 | 🧋 外卖下单 | 📈 量化选股 | |:---:|:---:| | | | | "Order me a milk tea" — 自动导航外卖 App,选品并完成结账 | "Find GEM stocks with EXPMA golden cross, turnover > 5%" — 量化条件筛股 | | 🌐 自主网页探索 | 💰 支出追踪 | 💬 批量消息 | | | | | | 自主浏览并定时汇总网页信息 | "查找近 3 个月超 ¥2K 的支出" — 通过 ADB 驱动支付宝 | 批量发送微信消息,完整驱动微信客户端 | 📅 最新动态 2026-04-11: 引入 L4 会话归档记忆,并接入 scheduler cron 调度 2026-03-23: 支持个人微信接入作为 Bot 前端 2026-03-10: [发布百万级 Skill 库 2026-03-08: 发布以 GenericAgent 为核心的"政务龙虾" Dintal Claw 2026-03-01: GenericAgent 被机器之心报道 2026-01-16: GenericAgent V1.0 公开版本发布 🚀 快速开始 方法一:标准安装bash 1. 克隆仓库 git clone https://github.com/lsdefine/GenericAgent.git cd GenericAgent 2. 安装最小依赖 pip install streamlit pywebview 3. 配置 API Key cp mykey_template.py mykey.py 编辑 mykey.py,填入你的 LLM API Key 4. 启动 python launch.pyw 完整引导流程见 GETTING_STARTED.md。 📖 新手使用指南(图文版):飞书文档 🤖 Bot 接口(可选) 微信 Bot(个人微信) 无需额外配置,扫码登录即可:bash pip install pycryptodome qrcode requests python frontends/wechatapp.py 首次启动会弹出二维码,用微信扫码完成绑定。之后通过微信消息与 Agent 交互。 QQ Bot 使用 qq-botpy WebSocket 长连接,无需公网 webhook:bash pip install qq-botpy 在 mykey.py 中补充:python qq_app_id = "YOUR_APP_ID" qq_app_secret = "YOUR_APP_SECRET" qq_allowed_users = "YOUR_USER_OPENID"] # 或 ['*'] 公开访问 bash python frontends/qqapp.py 在 [QQ 开放平台 创建机器人获取 AppID / AppSecret。首次消息后,用户 openid 记录于 temp/qqapp.log。 飞书(Lark)bash pip install lark-oapi python frontends/fsapp.py python fs_app_id = "cli_xxx" fs_app_secret = "xxx" fs_allowed_users = "ou_xxx"] # 或 ['*'] 入站支持:文本、富文本 post、图片、文件、音频、media、交互卡片 / 分享卡片 出站支持:流式进度卡片、图片回传、文件 / media 回传 视觉模型:图片首轮以真正的多模态输入发送给兼容 OpenAI Vision 的后端 详细配置见 [assets/SETUP_FEISHU.md 企业微信(WeCom)bash pip install wecom_aibot_sdk python frontends/wecomapp.py python wecom_bot_id = "your_bot_id" wecom_secret = "your_bot_secret" wecom_allowed_users = "your_user_id"] wecom_welcome_message = "你好,我在线上。" 钉钉(DingTalk)bash pip install dingtalk-stream python frontends/dingtalkapp.py python dingtalk_client_id = "your_app_key" dingtalk_client_secret = "your_app_secret" dingtalk_allowed_users = ["your_staff_id"] # 或 ['*'] 其他 App 前端 除默认的 Streamlit Web UI 外,还可以尝试不同风格的前端:bash python frontends/qtapp.py # 基于 Qt 的桌面应用 streamlit run frontends/stapp2.py # 另一种 Streamlit 风格 UI ` 📊 与同类产品对比 | 特性 | GenericAgent | OpenClaw | Claude Code | |------|:---:|:---:|:---:| | 代码量 | 3K 行 | 530,000 行 | 已开源(体量大) | | 部署方式 | pip install + API Key | 多服务编排 | CLI + 订阅 | | 浏览器控制 | 注入真实浏览器(保留登录态) | 沙箱 / 无头浏览器 | 通过 MCP 插件 | | OS 控制 | 键鼠、视觉、ADB | 多 Agent 委派 | 文件 + 终端 | | 自我进化 | 自主生长 Skill 和工具 | 插件生态 | 会话间无状态 | | 出厂配置 | 几个核心文件 + 少量初始 Skills | 数百模块 | 丰富 CLI 工具集 | 🧠 工作机制 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 | 执行任意代码 | | file_read | 读取文件 | | file_write | 写入文件 | | file_patch | 修改文件 | | web_scan | 感知网页内容 | | web_execute_js | 控制浏览器行为 | | ask_user | 人机协作确认 | 此外,还有 2 个记忆管理工具(update_working_checkpoint、start_long_term_update),使 Agent 能够跨会话积累经验、维持持久上下文。 4️⃣ 能力扩展机制 具备动态创建新的工具能力 通过 code_run,GenericAgent 可在运行时动态安装 Python 包、编写新脚本、调用外部 API 或控制硬件,将临时能力固化为永久工具。 GenericAgent 工作流程图 ⭐ 支持 如果这个项目对您有帮助,欢迎点一个 Star! 🙏 同时也欢迎加入我们的GenericAgent体验交流群,一起交流、反馈和共建 👏 微信群 5 微信群 6 微信群 7 🚩 友情链接 感谢 LinuxDo 社区的支持! [LinuxDo 📄 许可 MIT License — 详见 LICENSE 📈 Star History
Python4.5K3.5K
Screenshot 1Screenshot 2Screenshot 3Screenshot 4Screenshot 5Screenshot 6Screenshot 7Screenshot 8Screenshot 9Screenshot 10
What users love
Unique self-evolving capability that builds a personalized skill tree over time
Highly efficient token consumption compared to standard agents
Minimalist and lightweight codebase with zero complex deployment overhead
Strong system-level control including browser, filesystem, and mobile device integration
Effective autonomous execution loop that learns from task completion
Areas for improvement
Thread safety race conditions and ghost sessions in web automation causing timeouts
File handle leaks in scheduler module
Bugs in text formatting and UI rendering (e.g., garbled text, background color issues)
Installation and startup failures for some users
Excessive newline deletion in content processing
GitHub →
6
shiyu-coder/Kronos
Kronos: A Foundation Model for the Language of Financial Markets
Python19.6K4.5K
Screenshot 1Screenshot 2Screenshot 3Screenshot 4
What users love
No positive feedback yet
Areas for improvement
The prediction_example.py script encountered an error.
GitHub →
7
multica-ai/multica
The open-source managed agents platform. Turn coding agents into real teammates — assign tasks, track progress, compound skills.
TypeScript16.8K7.8K
Screenshot 1Screenshot 2Screenshot 3Screenshot 4
What users love
No positive feedback yet
Areas for improvement
No negative feedback
GitHub →
8
virattt/ai-hedge-fund
An AI Hedge Fund Team
Python56.4K4.5K
Screenshot 1
What users love
The project is a proof of concept for an AI-powered hedge fund, exploring AI for trading decisions.
Includes a variety of agents inspired by famous investors (e.g., Aswath Damodaran, Ben Graham, Bill Ackman, Cathie Wood, Charlie Munger, Michael Burry, Peter Lynch, Phil Fisher, Rakesh Jhunjhunwala, Stanley Druckenmiller, Warren Buffett).
Agents focus on different investment strategies like valuation, value investing, activist investing, growth investing, and deep value hunting.
System includes specialized agents for valuation, sentiment, fundamentals, and technical analysis.
Offers both a Command Line Interface (CLI) and a Web Application for running the system.
Areas for improvement
Users report errors when trying to use stocks other than the default ones.
Specific errors like 'DCF analysis gives $16T valuation for $OKTA' and 'app component failed to resolve layout' are mentioned.
Issues with installation, including 'Cannot install numpy==1.26.4 for ARM CPU' and 'Fail to use run.bat on Windows'.
The backtester has an inaccurate short position cash check.
Some users experience the system getting stuck during data fetching (e.g., 'Stuck in Fetching insider trades w/ Michael Burry Agent').
GitHub →
9
microsoft/markitdown
Python tool for converting files and office documents to Markdown.
Python112.6K9.0K
Screenshot 1
What users love
Supports conversion of various file formats including PDF, PowerPoint, Word, Excel, Images, Audio, HTML, Text-based formats, ZIP files, YouTube URLs, and EPubs.
Focuses on preserving important document structure and content as Markdown (headings, lists, tables, links).
Offers an MCP (Model Context Protocol) server for integration with LLM applications.
Can extract EXIF metadata and perform OCR for images, and EXIF metadata and speech transcription for audio.
Provides a Python API for programmatic use.
Areas for improvement
Encountered errors with YouTube transcription, including 429 errors and 'no element found'.
Issues with converting image files, returning errors instead of Markdown.
Bugs in parsing multi-level numbered lists, incorrectly converting them to bullet points.
Audio conversion is not working ('音频无法转出').
Office Open XML files that are invalid are returning success with an error message instead of an exception.
GitHub →
10
Lordog/dive-into-llms
《动手学大模型Dive into LLMs》系列编程实践教程
Jupyter Notebook32.5K5.5K
Screenshot 1Screenshot 2Screenshot 3Screenshot 4Screenshot 5Screenshot 6Screenshot 7Screenshot 8
What users love
No positive feedback yet
Areas for improvement
No negative feedback
GitHub →