GenericAgent:3K行代码实现自进化Agent,你的电脑越用越聪明
你是不是也遇到过这些问题? 每次让 AI 帮你做事,都得从头交代——上回教过它的操作方法,下次又要重说一遍。用 Claude Code 写代码,会话一关,经验全丢;用 OpenClaw 编排 Agent,几十万行代码、十几个微服务,光部署就折腾一天。更别提想让 AI 帮你在淘宝下单、在微信发
你是不是也遇到过这些问题?
每次让 AI 帮你做事,都得从头交代——上回教过它的操作方法,下次又要重说一遍。用 Claude Code 写代码,会话一关,经验全丢;用 OpenClaw 编排 Agent,几十万行代码、十几个微服务,光部署就折腾一天。更别提想让 AI 帮你在淘宝下单、在微信发消息、看支付宝账单了——不是登不上,就是操作不了。
有没有一种 Agent,装完就能用、越用越强、还真的能操作中国人的日常 App?
GenericAgent 是什么?
GenericAgent 是一个自进化的自主 Agent 框架,核心代码仅约 3000 行,通过 9 个原子工具 + 约 100 行 Agent Loop,赋予任意大模型对本地电脑的系统级控制能力。 它不预设技能,而是每完成一次任务就自动沉淀 Skill,下次直接调用——你用得越久,它就越懂你。
核心功能一览
- 🔬 自进化机制:每次完成任务后,自动将执行路径固化为 Skill,形成你的专属技能树。用几周后,你的 Agent 实例将拥有任何人都没有的独特能力
- 🪶 极简架构:核心约 3K 行代码,Agent Loop 仅约 100 行,
pip install streamlit pywebview就能跑起来 - 🔧 9 个原子工具:
coderun(执行任意代码)、fileread(读文件)、filewrite(写文件)、filepatch(修改文件)、webscan(感知网页)、webexecutejs(控制浏览器)、askuser(人机协作确认)、updateworkingcheckpoint(记忆检查点)、startlongterm_update(长期记忆更新) - 🌐 真浏览器控制:注入你正在使用的真实浏览器,保留所有登录态——淘宝、B站、支付宝,不用重新登录就能操作
- 💬 全面覆盖中国场景:微信个人 Bot、QQ、飞书、企业微信、钉钉、Telegram 全部原生支持
- 🧠 分层记忆系统:L0 元规则 → L1 记忆索引 → L2 全局事实 → L3 任务 Skills/SOPs → L4 会话归档,五层记忆层层沉淀,关键信息始终在场
- 💰 极致省 Token:上下文窗口不到 30K,是其他 Agent(200K–1M)的零头,噪声更少、幻觉更低、成功率反而更高
- 🤖 多模型即插即用:Claude / Gemini / Kimi / MiniMax / OpenAI 兼容格式全支持,变量命名决定接口格式,改个名字就能切模型
- 📖 代码即文档:Agent 能读自己的源码,任何功能直接问它——"查看你的代码,告诉我你的 reflect 模式怎么启用"就行
- 🏗️ 完全自举证明:整个仓库从
git init到所有 commit,都是 Agent 自主完成的,作者全程没开过终端
自进化:GenericAgent 的灵魂
这是 GenericAgent 区别于所有其他 Agent 框架的根本所在:
[遇到新任务] → [自主摸索](安装依赖、编写脚本、调试验证)→
[将执行路径固化为 Skill] → [写入记忆层] → [下次同类任务直接调用]举个具体例子:
| 你说的一句话 | Agent 第一次做了什么 | 之后每次 |
|---|---|---|
| "帮我监控股票,有金叉就提醒我" | 安装 mootdx → 构建选股流程 → 配置定时任务 → 保存 Skill | 一句话启动 |
| "用 Gmail 发这个文件" | 配置 OAuth → 编写发送脚本 → 保存 Skill | 直接可用 |
| "帮我点一杯奶茶" | 打开外卖 App → 导航搜索 → 选品下单 → 保存 Skill | 一键复用 |
你不需要管理这些 Skill,Agent 自动处理。使用时间越长,积累的技能越多,最终形成一棵完全属于你的专属技能树——从 3000 行种子代码中生长而来。
安装步骤(手把手)
下面从零开始,Mac 和 Windows 通用。
第 1 步:安装 Python
Mac 用户:打开终端,执行:
brew install python如果提示 brew: command not found,先装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Windows 用户:
- 去 python.org/downloads 下载
- 安装时一定要勾选底部的 "Add Python to PATH"
- 点 "Install Now"
⚠️ 推荐使用 Python 3.11 或 3.12,不要用 3.14(与 pywebview 等依赖不兼容)。
验证安装:
python3 --version
# 看到 Python 3.x.x 就 OK第 2 步:克隆项目并安装依赖
# 克隆仓库
git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent
# 安装最小依赖
pip install streamlit pywebview第 3 步:配置 API Key
# 复制模板
cp mykey_template.py mykey.py
# 用任意文本编辑器打开 mykey.py,填入你的 API Key配置示例(选一种填就行,不用的配置删掉或留着不管都可以):
OpenAI 兼容格式(大多数 API 服务都用这种,包括国内中转站):
# 变量名含 'oai' → 走 OpenAI 兼容格式
oai_config = {
'apikey': 'sk-你的密钥',
'apibase': 'http://你的API地址:端口',
'model': '模型名称',
}Claude 兼容格式(Anthropic 原生接口):
# 变量名含 'claude'(不含 'native')→ 走 Claude 兼容格式
claude_config = {
'apikey': 'sk-ant-你的密钥',
'apibase': 'https://api.anthropic.com',
'model': 'claude-sonnet-4-20250514',
}推荐:Native 格式(适合 Claude / OpenAI 原生工具调用,效果最好):
# 变量名含 'native' + 'claude' → Claude 原生工具调用
native_claude_config0 = {
'name': 'cc-relay-1',
'apikey': 'sk-你的密钥',
'apibase': 'https://你的中转地址/claude/office',
'model': 'claude-opus-4-6',
'fake_cc_system_prompt': True, # CC 中转站必须置 True
}MiniMax(走 OpenAI 兼容接口):
oai_minimax_config = {
'apikey': 'eyJh...',
'apibase': 'https://api.minimax.io/v1',
'model': 'MiniMax-M2.7',
}关键规则:变量命名决定接口格式(不是模型名决定的):
| 变量名包含 | 触发的 Session | 适用场景 |
|---|---|---|
oai | OpenAI 兼容 | 大多数 API 服务 |
claude(不含 native) | Claude 兼容 | Claude API 服务 |
native + claude | Claude 原生工具调用 | 推荐首选,效果最佳 |
native + oai | OpenAI 原生工具调用 | GPT/o 系列推荐 |
apibase 拼接规则:
| 你填的内容 | 系统行为 |
|---|---|
http://host:2001 | 自动补 /v1/chat/completions |
http://host:2001/v1 | 自动补 /chat/completions |
http://host:2001/v1/chat/completions | 直接使用,不拼接 |
更省心:Mixin 故障转移——配多个 API 源,一个挂了自动切下一个:
mixin_config = {
'llm_nos': ['cc-relay-1', 'cc-relay-2', 'gpt-native'],
'max_retries': 10,
'base_delay': 0.5,
}第 4 步:启动
# 命令行模式(推荐新手先试这个)
python3 agentmain.py
# 图形界面模式(依赖装好后可用)
python3 launch.pyw懒人方案:启动后直接对 Agent 说:
请查看你的代码,安装所有用得上的 python 依赖它会自己读代码、找依赖、全部装好。然后你就可以用 GUI 模式了。
使用方法
方法一:命令行对话
最简单的用法,终端里跟 Agent 直接对话:
帮我在桌面创建一个 hello.txt,内容是 Hello WorldAgent 会读取你的指令,调用 file_write 工具完成任务。第一次可能需要几步,但完成后就会固化成 Skill。
方法二:浏览器自动化
先解锁 Web 工具(只需一次):
执行 web setup sop,解锁 web 工具之后你就可以让 Agent 操控真实浏览器了:
打开淘宝,搜索 iPhone 16,按价格排序
去 B 站,查看我最近看过的历史视频
帮我点一杯奶茶它注入的是你正在使用的真实浏览器,所有 Cookie、登录态都保留——不需要扫码重登,不需要无头浏览器。
方法三:聊天平台接入
想让 Agent 随时随地接收指令?接一个聊天平台就行:
看你的代码,帮我配置微信的机器人接入支持的平台和启动方式:
| 平台 | 安装依赖 | 启动命令 |
|---|---|---|
| 微信个人 Bot | pip install pycryptodome qrcode requests | python frontends/wechatapp.py |
| QQ Bot | pip install qq-botpy | python frontends/qqapp.py |
| 飞书 | pip install lark-oapi | python frontends/fsapp.py |
| 企业微信 | pip install wecomaibotsdk | python frontends/wecomapp.py |
| 钉钉 | pip install dingtalk-stream | python frontends/dingtalkapp.py |
| Telegram | — | python frontends/tgapp.py |
以微信为例——扫码绑定后,你在外面对着微信说一句"帮我查一下今天的科技新闻",电脑上的 Agent 就开始工作了。
完整工作原理
GenericAgent 通过 分层记忆 × 最小工具集 × 自主执行循环 完成复杂任务:
五层记忆系统
Agent 的记忆不是一锅粥,而是分五层精确组织:
- L0 元规则(Meta Rules):Agent 的基础行为规则和系统约束,相当于"宪法"
- L1 记忆索引(Insight Index):极简索引层,用于快速路由与召回,相当于"目录"
- L2 全局事实(Global Facts):长期运行中积累的稳定知识,相当于"百科全书"
- L3 任务 Skills / SOPs:可复用的任务流程,相当于"操作手册"——这正是自进化的核心
- L4 会话归档(Session Archive):从已完成任务中提炼的归档记录,支持长程回忆
这五层设计确保了 Agent 始终在 <30K Token 内完成推理——其他 Agent 动辄塞入 200K 甚至 1M 的上下文,大部分是噪声。GenericAgent 用分层记忆精准定位关键信息,噪声更少、幻觉更低、成本更低,成功率反而更高。
自主执行循环
感知环境状态 → 任务推理 → 调用工具执行 → 经验写入记忆 → 循环整个核心循环仅约 100 行代码(agent_loop.py),简洁到你能一眼看完所有逻辑。
能力扩展机制
通过 code_run 工具,Agent 可以在运行时动态安装 Python 包、编写新脚本、调用外部 API 甚至控制硬件——临时能力固化为永久工具,这就是"自进化"的实现路径。
实际场景举例
| 场景 | 怎么用 | 背后的能力 |
|---|---|---|
| 🧋 点外卖 | "帮我点一杯奶茶" → Agent 自动导航外卖 App,选品,下单 | 浏览器操控 + 自进化 Skill |
| 📈 选股 | "找 EXPMA 金叉、换手率 > 5% 的创业板股票" → 安装 mootdx,构建选股流程 | code_run 动态安装 + Skill 固化 |
| 💬 批量发微信消息 | "给以下 10 个人群发这条消息" → 控制微信客户端批量发送 | ADB + 微信 Bot 前端 |
| 💰 支出统计 | "找出最近 3 个月超过 2000 元的支出" → 操控支付宝查看账单 | ADB 驱动 App |
| 🌐 网页探索 | "帮我每天浏览科技新闻并总结" → 自主浏览网页,提炼摘要 | web_scan + 定时任务 |
| 📧 发邮件 | "把这个文件用 Gmail 发给张三" → 配置 OAuth → 发送 → 保存 Skill | 首次配置,之后一键复用 |
与同类产品对比
| 特性 | GenericAgent | OpenClaw | Claude Code |
|---|---|---|---|
| 代码量 | ~3K 行 | ~530,000 行 | 已开源(体量大) |
| 部署难度 | pip install + 填 API Key | 多服务编排 | CLI + 订阅 |
| 浏览器控制 | 真实浏览器(保留登录态) | 沙箱 / 无头浏览器 | 通过 MCP 插件 |
| OS 控制 | 键鼠、视觉、ADB | 多 Agent 委派 | 文件 + 终端 |
| 自进化 | 自主生长 Skill 和工具 | 插件生态 | 会话间无状态 |
| 出厂配置 | 几个核心文件 + 少量初始 Skills | 数百模块 | 丰富 CLI 工具集 |
| Token 消耗 | <30K 上下文 | 动辄 200K+ | 200K+ |
| 中国场景 | 微信/QQ/飞书/钉钉/企业微信原生支持 | 有限 | 有限 |
| 技能积累 | 使用越久越强 | 靠插件生态 | 无状态,不积累 |
简短对比总结:
- vs OpenClaw:GenericAgent 代码量仅 OpenClaw 的 1/177,部署从零到运行只需 3 条命令(OpenClaw 需要多服务编排)。关键是 GenericAgent 不依赖预装技能——它靠使用进化,越用越强。
- vs Claude Code:Claude Code 是无状态的,会话关了经验就丢了。GenericAgent 每次任务都沉淀 Skill,跨会话积累。同时 GenericAgent 还多出了浏览器操控、ADB 手机控制等 Claude Code 做不到的事。
- 通用优势:GenericAgent 上下文不到 30K,Token 成本是其他 Agent 的一个零头。分层记忆确保关键信息精准召回,噪声更少、幻觉更低,成功率反而更高。
高级模式解锁
所有高级模式都是自文档化的——不用翻手册,直接问 Agent:
| 模式 | 对 Agent 说 |
|---|---|
| Reflect(反射) | "查看你的代码,告诉我你的 reflect 模式怎么启用" |
| 计划任务 | "查看你的代码,告诉我你的计划任务模式怎么启用" |
| Plan(规划) | "查看你的代码,告诉我你的 plan 模式怎么启用" |
| SubAgent(子代理) | "查看你的代码,告诉我你的 subagent 模式怎么启用" |
| 自主探索 | "查看你的代码,告诉我你的自主探索模式怎么启用" |
这就是 GenericAgent 的核心设计理念:代码即文档。Agent 能读懂自己的源码,任何功能你都可以直接问它。
关于自举证明
值得一提的是,GenericAgent 整个仓库——从安装 Git、执行 git init 到每一条 commit message——都是 Agent 自主完成的。作者全程未打开过一次终端。这不仅是"dogfooding",而是完整的 self-bootstrap:Agent 用自己写自己的代码,证明了这个极简框架的可行性。
小结
GenericAgent 用 3K 行核心代码证明了一件事:Agent 不需要几十万行代码和复杂编排,9 个原子工具 + 100 行循环就够了。真正让 Agent 变强的不是预装多少技能,而是能不能持续进化。
从点外卖到量化选股,从微信 Bot 到自主网页探索,GenericAgent 都能做到。而且你用得越久,它就越懂你——每次任务都在积累经验,最终长出一棵完全属于你的技能树。
如果你受够了每次都要从零开始的 Agent,或者只想花 3 条命令就部署一个真正能用的 AI 助手,GenericAgent 值得一试。
🔗 项目地址:https://github.com/lsdefine/GenericAgent
📖 新手图文教程:飞书文档
⭐ 目前约 30K Star,今日 +872 星——说明社区在快速增长,值得跟进。
读者评论
0 条暂无评论,来分享你的看法吧
相关推荐
结合当前内容、你的浏览习惯和搜索偏好推荐。
OpenCode:145K星的开源AI编程Agent,Claude Code的最佳平替
你是不是也受够了? 写代码写到凌晨两点,debug一个接口返回值的问题翻了三天日志还没头绪;接手别人的项目,看着满屏的 utils.js 和 helpers.ts 完全不知道从哪看起;每次想用AI辅助写代码,不是被Claude Code的订阅价格劝退,就是怕代码上传到别人服务器不安全。如果你
Omi:能看屏幕、能听对话的开源AI第二大脑,300K+用户的选择
你有没有这样的经历? 开了一整天会,到下午三点已经记不清早上讨论了什么;浏览器开了二十多个标签页,重要信息淹没在信息海里根本找不到;跟客户聊了半小时需求,回头写文档时只想得起一半内容。我们每天看过的、听过的、聊过的信息量巨大,但真正能记住的少之又少。 笔记工具记不全,截图工具太碎片化,AI

